]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Generalize HangingNodes 12560/head
authorPeter Munch <peterrmuench@gmail.com>
Fri, 16 Jul 2021 17:03:49 +0000 (19:03 +0200)
committerPeter Munch <peterrmuench@gmail.com>
Wed, 28 Jul 2021 18:26:06 +0000 (20:26 +0200)
16 files changed:
include/deal.II/matrix_free/cuda_matrix_free.templates.h
include/deal.II/matrix_free/dof_info.h
include/deal.II/matrix_free/dof_info.templates.h
include/deal.II/matrix_free/evaluation_kernels.h
include/deal.II/matrix_free/evaluation_template_factory.h
include/deal.II/matrix_free/evaluation_template_factory.templates.h
include/deal.II/matrix_free/fe_evaluation.h
include/deal.II/matrix_free/hanging_nodes_internal.h
include/deal.II/matrix_free/matrix_free.templates.h
include/deal.II/matrix_free/tools.h
source/matrix_free/dof_info.cc
source/matrix_free/evaluation_template_factory.inst.in
tests/matrix_free/compress_constraints.output
tests/matrix_free/compute_diagonal_util.h
tests/matrix_free/hanging_node_kernels_01.cc [new file with mode: 0644]
tests/matrix_free/hanging_node_kernels_01.output [new file with mode: 0644]

index 9fa25263118e53ae665164122e1ead1a33484c88..3252ccabd683dba1d4531c2bb33f0bce6792112a 100644 (file)
@@ -947,7 +947,7 @@ namespace CUDAWrappers
         Assert(
           my_id < static_cast<int>(mf_n_concurrent_objects),
           ExcMessage(
-            "Maximum number of concurrents MatrixFree objects reached. Increase mf_n_concurrent_objects"));
+            "Maximum number of concurrent MatrixFree objects reached. Increase mf_n_concurrent_objects"));
         bool f = false;
         found_id =
           internal::used_objects[my_id].compare_exchange_strong(f, true);
index 90e346f0314f232f7dee9aa5b0f1913bef8adf0f..b4b2aaceaf3f6a7ebccba6d29fcd0cea0350a62b 100644 (file)
 
 DEAL_II_NAMESPACE_OPEN
 
+#ifndef DOXYGEN
+namespace internal
+{
+  namespace MatrixFreeFunctions
+  {
+    template <int dim>
+    class HangingNodes;
+  }
+} // namespace internal
+#endif
+
 namespace internal
 {
   namespace MatrixFreeFunctions
@@ -197,11 +208,25 @@ namespace internal
       read_dof_indices(
         const std::vector<types::global_dof_index> &local_indices_resolved,
         const std::vector<types::global_dof_index> &local_indices,
+        const bool                                  cell_has_hanging_nodes,
         const dealii::AffineConstraints<number> &   constraints,
         const unsigned int                          cell_number,
         ConstraintValues<double> &                  constraint_values,
         bool &                                      cell_at_boundary);
 
+      /**
+       * For a given cell, determine if it has hanging node constraints. If yes,
+       * adjust the dof indices, store the mask, and return true as indication.
+       */
+      template <int dim>
+      bool
+      process_hanging_node_constraints(
+        const HangingNodes<dim> &        hanging_nodes,
+        const std::vector<unsigned int> &lexicographic_mapping,
+        const unsigned int               cell_number,
+        const TriaIterator<DoFCellAccessor<dim, dim, false>> &cell,
+        std::vector<types::global_dof_index> &                dof_indices);
+
       /**
        * This method assigns the correct indices to ghost indices from the
        * temporary numbering employed by the @p read_dof_indices function. The
index bc688a086bdfd652713c797db60844338beb5d90..1ea3d41022bd1e154af3ef3ebf7475bf0b88f05c 100644 (file)
@@ -28,6 +28,7 @@
 #include <deal.II/lac/sparsity_pattern.h>
 
 #include <deal.II/matrix_free/dof_info.h>
+#include <deal.II/matrix_free/hanging_nodes_internal.h>
 #include <deal.II/matrix_free/mapping_info.h>
 #include <deal.II/matrix_free/task_info.h>
 
@@ -106,6 +107,7 @@ namespace internal
     DoFInfo::read_dof_indices(
       const std::vector<types::global_dof_index> &local_indices_resolved,
       const std::vector<types::global_dof_index> &local_indices,
+      const bool                                  cell_has_hanging_nodes,
       const dealii::AffineConstraints<number> &   constraints,
       const unsigned int                          cell_number,
       ConstraintValues<double> &                  constraint_values,
@@ -246,6 +248,7 @@ namespace internal
               (row_starts.size() - 1) / n_components + 1);
           row_starts_plain_indices[cell_number] = plain_dof_indices.size();
           const bool cell_has_constraints =
+            cell_has_hanging_nodes ||
             (row_starts[(cell_number + 1) * n_components].second >
              row_starts[cell_number * n_components].second);
           if (cell_has_constraints == true)
@@ -271,6 +274,26 @@ namespace internal
 
 
 
+    template <int dim>
+    bool
+    DoFInfo::process_hanging_node_constraints(
+      const HangingNodes<dim> &        hanging_nodes,
+      const std::vector<unsigned int> &lexicographic_mapping,
+      const unsigned int               cell_number,
+      const TriaIterator<DoFCellAccessor<dim, dim, false>> &cell,
+      std::vector<types::global_dof_index> &                dof_indices)
+    {
+      const ArrayView<unsigned int> mask_view(
+        hanging_node_constraint_masks.data() +
+          cell_number * cell->get_fe().n_components(),
+        cell->get_fe().n_components());
+
+      return hanging_nodes.setup_constraints(
+        cell, {}, lexicographic_mapping, dof_indices, mask_view);
+    }
+
+
+
     template <int length>
     void
     DoFInfo::compute_face_index_compression(
index 8a978f403d48521eaa73b7474fcf0e7e00d0fbe9..2d87ded745aa7b75ea206667d50aec8d79ddbe24 100644 (file)
 #include <deal.II/base/utilities.h>
 #include <deal.II/base/vectorization.h>
 
+#include <deal.II/fe/fe_q.h>
+
 #include <deal.II/matrix_free/dof_info.h>
 #include <deal.II/matrix_free/evaluation_flags.h>
+#include <deal.II/matrix_free/hanging_nodes_internal.h>
 #include <deal.II/matrix_free/shape_info.h>
 #include <deal.II/matrix_free/tensor_product_kernels.h>
 #include <deal.II/matrix_free/type_traits.h>
@@ -4418,6 +4421,662 @@ namespace internal
     }
   };
 
+
+
+  template <int dim, typename Number, bool is_face>
+  struct FEEvaluationImplHangingNodes
+  {
+    template <int fe_degree, int n_q_points_1d>
+    static bool
+    run(const unsigned int                              n_desired_components,
+        const FEEvaluationBaseData<dim,
+                                   typename Number::value_type,
+                                   is_face,
+                                   Number> &            fe_eval,
+        const bool                                      transpose,
+        const std::array<unsigned int, Number::size()> &c_mask,
+        Number *                                        values)
+    {
+      if (transpose)
+        run_internal<fe_degree, true>(n_desired_components,
+                                      fe_eval,
+                                      c_mask,
+                                      values);
+      else
+        run_internal<fe_degree, false>(n_desired_components,
+                                       fe_eval,
+                                       c_mask,
+                                       values);
+
+      return false;
+    }
+
+  private:
+    template <int fe_degree, unsigned int side, bool transpose>
+    static void
+    interpolate_2D(const unsigned int given_degree,
+                   bool               is_subface_0,
+                   const unsigned int v,
+                   const Number *     weight,
+                   Number *           values)
+    {
+      if (is_subface_0)
+        interpolate_2D<fe_degree, side, transpose, true>(given_degree,
+                                                         v,
+                                                         weight,
+                                                         values);
+      else
+        interpolate_2D<fe_degree, side, transpose, false>(given_degree,
+                                                          v,
+                                                          weight,
+                                                          values);
+    }
+
+    template <int          fe_degree,
+              unsigned int side,
+              bool         transpose,
+              bool         is_subface_0>
+    static void
+    interpolate_2D(const unsigned int given_degree,
+                   const unsigned int v,
+                   const Number *     weight,
+                   Number *           values)
+    {
+      typename Number::value_type temp[40];
+
+      const unsigned int points =
+        (fe_degree != -1 ? fe_degree : given_degree) + 1;
+
+      AssertIndexRange(points, 40);
+
+      const unsigned int d = side / 2; // direction
+      const unsigned int s = side % 2; // left or right surface
+
+      const unsigned int offset = dealii::Utilities::pow(points, d + 1);
+      const unsigned int stride =
+        (s == 0 ? 0 : (points - 1)) * dealii::Utilities::pow(points, d);
+
+      const unsigned int r1 = dealii::Utilities::pow(points, dim - d - 1);
+      const unsigned int r2 = dealii::Utilities::pow(points, d);
+
+      // copy result back
+      for (unsigned int i = 0, k = 0; i < r1; ++i)
+        for (unsigned int j = 0; j < r2; ++j, ++k)
+          temp[k] = values[i * offset + stride + j][v];
+
+      // perform interpolation point by point (note: r1 * r2 == points^(dim-1))
+      for (unsigned int i = 0, k = 0; i < r1; ++i)
+        for (unsigned int j = 0; j < r2; ++j, ++k)
+          {
+            typename Number::value_type sum = 0.0;
+            for (unsigned int h = 0; h < points; ++h)
+              sum += weight[((transpose ? 1 : points) *
+                             (is_subface_0 ? k : (points - 1 - k))) +
+                            ((transpose ? points : 1) *
+                             (is_subface_0 ? h : (points - 1 - h)))][v] *
+                     temp[h];
+            values[i * offset + stride + j][v] = sum;
+          }
+    }
+
+    template <int          fe_degree,
+              unsigned int direction,
+              unsigned int side,
+              bool         transpose>
+    static void
+    interpolate_3D_face(const unsigned int dof_offset,
+                        const unsigned int given_degree,
+                        bool               is_subface_0,
+                        const unsigned int v,
+                        const Number *     weight,
+                        Number *           values)
+    {
+      if (is_subface_0)
+        interpolate_3D_face<fe_degree, direction, side, transpose, true>(
+          dof_offset, given_degree, v, weight, values);
+      else
+        interpolate_3D_face<fe_degree, direction, side, transpose, false>(
+          dof_offset, given_degree, v, weight, values);
+    }
+
+    template <int          fe_degree,
+              unsigned int direction,
+              unsigned int side,
+              bool         transpose,
+              bool         is_subface_0>
+    static void
+    interpolate_3D_face(const unsigned int dof_offset,
+                        const unsigned int given_degree,
+                        const unsigned int v,
+                        const Number *     weight,
+                        Number *           values)
+    {
+      typename Number::value_type temp[40];
+
+      const unsigned int points =
+        (fe_degree != -1 ? fe_degree : given_degree) + 1;
+
+      AssertIndexRange(points, 40);
+
+      const unsigned int stride = Utilities::pow(points, direction);
+      const unsigned int d      = side / 2;
+
+      // direction   side0   side1   side2
+      // 0             -      p^2      p
+      // 1            p^2      -       1
+      // 2             p       -       1
+      const unsigned int stride2 =
+        ((direction == 0 && d == 1) || (direction == 1 && d == 0)) ?
+          (points * points) :
+          (((direction == 0 && d == 2) || (direction == 2 && d == 0)) ? points :
+                                                                        1);
+
+      for (unsigned int g = 1; g < points - 1; ++g)
+        {
+          // copy result back
+          for (unsigned int k = 0; k < points; ++k)
+            temp[k] = values[dof_offset + k * stride + stride2 * g][v];
+
+          // perform interpolation point by point
+          for (unsigned int k = 0; k < points; ++k)
+            {
+              typename Number::value_type sum = 0.0;
+              for (unsigned int h = 0; h < points; ++h)
+                sum += weight[((transpose ? 1 : points) *
+                               (is_subface_0 ? k : (points - 1 - k))) +
+                              ((transpose ? points : 1) *
+                               (is_subface_0 ? h : (points - 1 - h)))][v] *
+                       temp[h];
+              values[dof_offset + k * stride + stride2 * g][v] = sum;
+            }
+        }
+    }
+
+    template <int fe_degree, unsigned int direction, bool transpose>
+    static void
+    interpolate_3D_edge(const unsigned int p,
+                        const unsigned int given_degree,
+                        bool               is_subface_0,
+                        const unsigned int v,
+                        const Number *     weight,
+                        Number *           values)
+    {
+      if (is_subface_0)
+        interpolate_3D_edge<fe_degree, direction, transpose, true>(
+          p, given_degree, v, weight, values);
+      else
+        interpolate_3D_edge<fe_degree, direction, transpose, false>(
+          p, given_degree, v, weight, values);
+    }
+
+    template <int          fe_degree,
+              unsigned int direction,
+              bool         transpose,
+              bool         is_subface_0>
+    static void
+    interpolate_3D_edge(const unsigned int p,
+                        const unsigned int given_degree,
+                        const unsigned int v,
+                        const Number *     weight,
+                        Number *           values)
+    {
+      typename Number::value_type temp[40];
+
+      const unsigned int points =
+        (fe_degree != -1 ? fe_degree : given_degree) + 1;
+
+      AssertIndexRange(points, 40);
+
+      const unsigned int stride = Utilities::pow(points, direction);
+
+      // copy result back
+      for (unsigned int k = 0; k < points; ++k)
+        temp[k] = values[p + k * stride][v];
+
+      // perform interpolation point by point
+      for (unsigned int k = 0; k < points; ++k)
+        {
+          typename Number::value_type sum = 0.0;
+          for (unsigned int h = 0; h < points; ++h)
+            sum += weight[((transpose ? 1 : points) *
+                           (is_subface_0 ? k : (points - 1 - k))) +
+                          ((transpose ? points : 1) *
+                           (is_subface_0 ? h : (points - 1 - h)))][v] *
+                   temp[h];
+          values[p + k * stride][v] = sum;
+        }
+    }
+
+    template <int fe_degree, bool transpose>
+    static void
+    run_internal(
+      const unsigned int                              n_desired_components,
+      const FEEvaluationBaseData<dim,
+                                 typename Number::value_type,
+                                 is_face,
+                                 Number> &            fe_eval,
+      const std::array<unsigned int, Number::size()> &constraint_mask,
+      Number *                                        values)
+    {
+      const Number *weights = fe_eval.get_shape_info()
+                                .data.front()
+                                .subface_interpolation_matrix.data();
+
+      const unsigned int given_degree =
+        fe_degree != -1 ? fe_degree :
+                          fe_eval.get_shape_info().data.front().fe_degree;
+
+      const auto is_set = [](const unsigned int a, const unsigned int b) {
+        return (a & b) == b;
+      };
+
+      const auto not_set = [](const unsigned int a, const unsigned int b) {
+        return (a & b) == 0;
+      };
+
+      const unsigned int points = given_degree + 1;
+
+      for (unsigned int c = 0; c < n_desired_components; ++c)
+        {
+          for (unsigned int v = 0; v < Number::size(); ++v)
+            {
+              if (constraint_mask[v] == 0)
+                continue;
+
+              const auto mask = constraint_mask[v];
+
+              if (dim == 2) // 2D: only faces
+                {
+                  // direction 0:
+                  if (mask & MatrixFreeFunctions::ConstraintTypes::face_y)
+                    {
+                      const bool is_subface_0 =
+                        mask & MatrixFreeFunctions::ConstraintTypes::type_x;
+                      if (is_set(mask,
+                                 MatrixFreeFunctions::ConstraintTypes::type_y))
+                        interpolate_2D<fe_degree, 2, transpose>(
+                          given_degree,
+                          is_subface_0,
+                          v,
+                          weights,
+                          values); // face 2
+                      else
+                        interpolate_2D<fe_degree, 3, transpose>(
+                          given_degree,
+                          is_subface_0,
+                          v,
+                          weights,
+                          values); // face 3
+                    }
+
+                  // direction 1:
+                  if (mask & MatrixFreeFunctions::ConstraintTypes::face_x)
+                    {
+                      const bool is_subface_0 =
+                        mask & MatrixFreeFunctions::ConstraintTypes::type_y;
+                      if (is_set(mask,
+                                 MatrixFreeFunctions::ConstraintTypes::type_x))
+                        interpolate_2D<fe_degree, 0, transpose>(
+                          given_degree,
+                          is_subface_0,
+                          v,
+                          weights,
+                          values); // face 0
+                      else
+                        interpolate_2D<fe_degree, 1, transpose>(
+                          given_degree,
+                          is_subface_0,
+                          v,
+                          weights,
+                          values); // face 1
+                    }
+                }
+              else if (dim == 3) // 3D faces and edges
+                {
+                  const unsigned int p0 = 0;
+                  const unsigned int p1 = points - 1;
+                  const unsigned int p2 = points * points - points;
+                  const unsigned int p3 = points * points - 1;
+                  const unsigned int p4 =
+                    points * points * points - points * points;
+                  const unsigned int p5 =
+                    points * points * points - points * points + points - 1;
+                  const unsigned int p6 = points * points * points - points;
+
+                  const bool is_face_0 =
+                    is_set(mask,
+                           MatrixFreeFunctions::ConstraintTypes::face_x) &&
+                    is_set(mask, MatrixFreeFunctions::ConstraintTypes::type_x);
+                  const bool is_face_1 =
+                    is_set(mask,
+                           MatrixFreeFunctions::ConstraintTypes::face_x) &&
+                    not_set(mask, MatrixFreeFunctions::ConstraintTypes::type_x);
+                  const bool is_face_2 =
+                    is_set(mask,
+                           MatrixFreeFunctions::ConstraintTypes::face_y) &&
+                    is_set(mask, MatrixFreeFunctions::ConstraintTypes::type_y);
+                  const bool is_face_3 =
+                    is_set(mask,
+                           MatrixFreeFunctions::ConstraintTypes::face_y) &&
+                    not_set(mask, MatrixFreeFunctions::ConstraintTypes::type_y);
+                  const bool is_face_4 =
+                    is_set(mask,
+                           MatrixFreeFunctions::ConstraintTypes::face_z) &&
+                    is_set(mask, MatrixFreeFunctions::ConstraintTypes::type_z);
+                  const bool is_face_5 =
+                    is_set(mask,
+                           MatrixFreeFunctions::ConstraintTypes::face_z) &&
+                    not_set(mask, MatrixFreeFunctions::ConstraintTypes::type_z);
+
+                  const bool is_edge_2 =
+                    is_set(mask,
+                           MatrixFreeFunctions::ConstraintTypes::edge_yz) &&
+                    is_set(mask,
+                           MatrixFreeFunctions::ConstraintTypes::type_y) &&
+                    is_set(mask, MatrixFreeFunctions::ConstraintTypes::type_z);
+                  const bool is_edge_3 =
+                    is_set(mask,
+                           MatrixFreeFunctions::ConstraintTypes::edge_yz) &&
+                    not_set(mask,
+                            MatrixFreeFunctions::ConstraintTypes::type_y) &&
+                    is_set(mask, MatrixFreeFunctions::ConstraintTypes::type_z);
+                  const bool is_edge_6 =
+                    is_set(mask,
+                           MatrixFreeFunctions::ConstraintTypes::edge_yz) &&
+                    is_set(mask,
+                           MatrixFreeFunctions::ConstraintTypes::type_y) &&
+                    not_set(mask, MatrixFreeFunctions::ConstraintTypes::type_z);
+                  const bool is_edge_7 =
+                    is_set(mask,
+                           MatrixFreeFunctions::ConstraintTypes::edge_yz) &&
+                    not_set(mask,
+                            MatrixFreeFunctions::ConstraintTypes::type_y) &&
+                    not_set(mask, MatrixFreeFunctions::ConstraintTypes::type_z);
+
+                  const bool is_edge_0 =
+                    is_set(mask,
+                           MatrixFreeFunctions::ConstraintTypes::edge_zx) &&
+                    is_set(mask,
+                           MatrixFreeFunctions::ConstraintTypes::type_x) &&
+                    is_set(mask, MatrixFreeFunctions::ConstraintTypes::type_z);
+                  const bool is_edge_1 =
+                    is_set(mask,
+                           MatrixFreeFunctions::ConstraintTypes::edge_zx) &&
+                    not_set(mask,
+                            MatrixFreeFunctions::ConstraintTypes::type_x) &&
+                    is_set(mask, MatrixFreeFunctions::ConstraintTypes::type_z);
+                  const bool is_edge_4 =
+                    is_set(mask,
+                           MatrixFreeFunctions::ConstraintTypes::edge_zx) &&
+                    is_set(mask,
+                           MatrixFreeFunctions::ConstraintTypes::type_x) &&
+                    not_set(mask, MatrixFreeFunctions::ConstraintTypes::type_z);
+                  const bool is_edge_5 =
+                    is_set(mask,
+                           MatrixFreeFunctions::ConstraintTypes::edge_zx) &&
+                    not_set(mask,
+                            MatrixFreeFunctions::ConstraintTypes::type_x) &&
+                    not_set(mask, MatrixFreeFunctions::ConstraintTypes::type_z);
+
+                  const bool is_edge_8 =
+                    is_set(mask,
+                           MatrixFreeFunctions::ConstraintTypes::edge_xy) &&
+                    is_set(mask,
+                           MatrixFreeFunctions::ConstraintTypes::type_x) &&
+                    is_set(mask, MatrixFreeFunctions::ConstraintTypes::type_y);
+                  const bool is_edge_9 =
+                    is_set(mask,
+                           MatrixFreeFunctions::ConstraintTypes::edge_xy) &&
+                    not_set(mask,
+                            MatrixFreeFunctions::ConstraintTypes::type_x) &&
+                    is_set(mask, MatrixFreeFunctions::ConstraintTypes::type_y);
+                  const bool is_edge_10 =
+                    is_set(mask,
+                           MatrixFreeFunctions::ConstraintTypes::edge_xy) &&
+                    is_set(mask,
+                           MatrixFreeFunctions::ConstraintTypes::type_x) &&
+                    not_set(mask, MatrixFreeFunctions::ConstraintTypes::type_y);
+                  const bool is_edge_11 =
+                    is_set(mask,
+                           MatrixFreeFunctions::ConstraintTypes::edge_xy) &&
+                    not_set(mask,
+                            MatrixFreeFunctions::ConstraintTypes::type_x) &&
+                    not_set(mask, MatrixFreeFunctions::ConstraintTypes::type_y);
+
+                  // direction 0:
+                  {
+                    const bool is_subface_0 =
+                      mask & MatrixFreeFunctions::ConstraintTypes::type_x;
+
+                    // ... faces
+                    if (is_face_2)
+                      interpolate_3D_face<fe_degree, 0, 2, transpose>(
+                        p0,
+                        given_degree,
+                        is_subface_0,
+                        v,
+                        weights,
+                        values); // face 2
+                    else if (is_face_3)
+                      interpolate_3D_face<fe_degree, 0, 3, transpose>(
+                        p2,
+                        given_degree,
+                        is_subface_0,
+                        v,
+                        weights,
+                        values); // face 3
+                    if (is_face_4)
+                      interpolate_3D_face<fe_degree, 0, 4, transpose>(
+                        p0,
+                        given_degree,
+                        is_subface_0,
+                        v,
+                        weights,
+                        values); // face 4
+                    else if (is_face_5)
+                      interpolate_3D_face<fe_degree, 0, 5, transpose>(
+                        p4,
+                        given_degree,
+                        is_subface_0,
+                        v,
+                        weights,
+                        values); // face 5
+
+                    // ... edges
+                    if (is_face_2 || is_face_4 || is_edge_2)
+                      interpolate_3D_edge<fe_degree, 0, transpose>(
+                        p0,
+                        given_degree,
+                        is_subface_0,
+                        v,
+                        weights,
+                        values); // edge 2
+                    if (is_face_3 || is_face_4 || is_edge_3)
+                      interpolate_3D_edge<fe_degree, 0, transpose>(
+                        p2,
+                        given_degree,
+                        is_subface_0,
+                        v,
+                        weights,
+                        values); // edge 3
+                    if (is_face_2 || is_face_5 || is_edge_6)
+                      interpolate_3D_edge<fe_degree, 0, transpose>(
+                        p4,
+                        given_degree,
+                        is_subface_0,
+                        v,
+                        weights,
+                        values); // edge 6
+                    if (is_face_3 || is_face_5 || is_edge_7)
+                      interpolate_3D_edge<fe_degree, 0, transpose>(
+                        p6,
+                        given_degree,
+                        is_subface_0,
+                        v,
+                        weights,
+                        values); // edge 7
+                  }
+
+                  // direction 1:
+                  {
+                    const bool is_subface_0 =
+                      mask & MatrixFreeFunctions::ConstraintTypes::type_y;
+
+                    // ... faces
+                    if (is_face_0)
+                      interpolate_3D_face<fe_degree, 1, 0, transpose>(
+                        p0,
+                        given_degree,
+                        is_subface_0,
+                        v,
+                        weights,
+                        values); // face 0
+                    else if (is_face_1)
+                      interpolate_3D_face<fe_degree, 1, 1, transpose>(
+                        p1,
+                        given_degree,
+                        is_subface_0,
+                        v,
+                        weights,
+                        values); // face 1
+                    if (is_face_4)
+                      interpolate_3D_face<fe_degree, 1, 4, transpose>(
+                        p0,
+                        given_degree,
+                        is_subface_0,
+                        v,
+                        weights,
+                        values); // face 4
+                    else if (is_face_5)
+                      interpolate_3D_face<fe_degree, 1, 5, transpose>(
+                        p4,
+                        given_degree,
+                        is_subface_0,
+                        v,
+                        weights,
+                        values); // face 5
+
+                    // ... edges
+                    if (is_face_0 || is_face_4 || is_edge_0)
+                      interpolate_3D_edge<fe_degree, 1, transpose>(
+                        p0,
+                        given_degree,
+                        is_subface_0,
+                        v,
+                        weights,
+                        values); // edge 0
+                    if (is_face_1 || is_face_4 || is_edge_1)
+                      interpolate_3D_edge<fe_degree, 1, transpose>(
+                        p1,
+                        given_degree,
+                        is_subface_0,
+                        v,
+                        weights,
+                        values); // edge 1
+                    if (is_face_0 || is_face_5 || is_edge_4)
+                      interpolate_3D_edge<fe_degree, 1, transpose>(
+                        p4,
+                        given_degree,
+                        is_subface_0,
+                        v,
+                        weights,
+                        values); // edge 4
+                    if (is_face_1 || is_face_5 || is_edge_5)
+                      interpolate_3D_edge<fe_degree, 1, transpose>(
+                        p5,
+                        given_degree,
+                        is_subface_0,
+                        v,
+                        weights,
+                        values); // edge 5
+                  }
+
+                  // direction 2:
+                  {
+                    const bool is_subface_0 =
+                      mask & MatrixFreeFunctions::ConstraintTypes::type_z;
+
+                    // ... faces
+                    if (is_face_0)
+                      interpolate_3D_face<fe_degree, 2, 0, transpose>(
+                        p0,
+                        given_degree,
+                        is_subface_0,
+                        v,
+                        weights,
+                        values); // face 0
+                    else if (is_face_1)
+                      interpolate_3D_face<fe_degree, 2, 1, transpose>(
+                        p1,
+                        given_degree,
+                        is_subface_0,
+                        v,
+                        weights,
+                        values); // face 1
+                    if (is_face_2)
+                      interpolate_3D_face<fe_degree, 2, 2, transpose>(
+                        p0,
+                        given_degree,
+                        is_subface_0,
+                        v,
+                        weights,
+                        values); // face 2
+                    else if (is_face_3)
+                      interpolate_3D_face<fe_degree, 2, 3, transpose>(
+                        p2,
+                        given_degree,
+                        is_subface_0,
+                        v,
+                        weights,
+                        values); // face 3
+
+                    // ... edges
+                    if (is_face_0 || is_face_2 || is_edge_8)
+                      interpolate_3D_edge<fe_degree, 2, transpose>(
+                        p0,
+                        given_degree,
+                        is_subface_0,
+                        v,
+                        weights,
+                        values); // edge 8
+                    if (is_face_1 || is_face_2 || is_edge_9)
+                      interpolate_3D_edge<fe_degree, 2, transpose>(
+                        p1,
+                        given_degree,
+                        is_subface_0,
+                        v,
+                        weights,
+                        values); // edge 9
+                    if (is_face_0 || is_face_3 || is_edge_10)
+                      interpolate_3D_edge<fe_degree, 2, transpose>(
+                        p2,
+                        given_degree,
+                        is_subface_0,
+                        v,
+                        weights,
+                        values); // edge 10
+                    if (is_face_1 || is_face_3 || is_edge_11)
+                      interpolate_3D_edge<fe_degree, 2, transpose>(
+                        p3,
+                        given_degree,
+                        is_subface_0,
+                        v,
+                        weights,
+                        values); // edge 11
+                  }
+                }
+              else
+                {
+                  Assert(false, ExcNotImplemented());
+                }
+            }
+
+          values += fe_eval.get_shape_info().dofs_per_component_on_cell;
+        }
+    }
+  };
+
+
 } // end of namespace internal
 
 
index 9299bd4921ec6dacf53fd3cf810ca4ab290f56e4..e3447620581eaf2a4731ed50fe09a69db2588f37 100644 (file)
@@ -187,6 +187,38 @@ namespace internal
       VectorizedArrayType *      out_array);
   };
 
+  template <int dim,
+            typename Number,
+            typename VectorizedArrayType = VectorizedArray<Number>>
+  struct FEEvaluationHangingNodesFactory
+  {
+    /**
+     * For cells.
+     */
+    static void
+    apply(const unsigned int n_components,
+          const unsigned int fe_degree,
+          const FEEvaluationBaseData<dim, Number, false, VectorizedArrayType>
+            &        fe_eval,
+          const bool transpose,
+          const std::array<unsigned int, VectorizedArrayType::size()> &c_mask,
+          VectorizedArrayType *                                        values);
+
+    /**
+     * For faces.
+     *
+     * @note Not implemented.
+     */
+    static void
+    apply(const unsigned int n_components,
+          const unsigned int fe_degree,
+          const FEEvaluationBaseData<dim, Number, true, VectorizedArrayType>
+            &        fe_eval,
+          const bool transpose,
+          const std::array<unsigned int, VectorizedArrayType::size()> &c_mask,
+          VectorizedArrayType *                                        values);
+  };
+
 } // end of namespace internal
 
 DEAL_II_NAMESPACE_CLOSE
index 027aa939997c18e7b82217575e4a5ed007a31f93..73ab1e7fa0e8fcc1d2ac4482086a6cede9069ab9 100644 (file)
@@ -402,6 +402,55 @@ namespace internal
       fe_degree, n_q_points_1d, n_components, fe_eval, in_array, out_array);
   }
 
+
+
+  template <int dim, typename Number, typename VectorizedArrayType>
+  void
+  FEEvaluationHangingNodesFactory<dim, Number, VectorizedArrayType>::apply(
+    const unsigned int n_components,
+    const unsigned int fe_degree,
+    const FEEvaluationBaseData<dim, Number, false, VectorizedArrayType>
+      &                                                          fe_eval,
+    const bool                                                   transpose,
+    const std::array<unsigned int, VectorizedArrayType::size()> &c_mask,
+    VectorizedArrayType *                                        values)
+  {
+    instantiation_helper_run<
+      1,
+      FEEvaluationImplHangingNodes<dim, VectorizedArrayType, false>>(
+      fe_degree,
+      fe_degree + 1,
+      n_components,
+      fe_eval,
+      transpose,
+      c_mask,
+      values);
+  }
+
+
+
+  template <int dim, typename Number, typename VectorizedArrayType>
+  void
+  FEEvaluationHangingNodesFactory<dim, Number, VectorizedArrayType>::apply(
+    const unsigned int n_components,
+    const unsigned int fe_degree,
+    const FEEvaluationBaseData<dim, Number, true, VectorizedArrayType> &fe_eval,
+    const bool                                                   transpose,
+    const std::array<unsigned int, VectorizedArrayType::size()> &c_mask,
+    VectorizedArrayType *                                        values)
+  {
+    instantiation_helper_run<
+      1,
+      FEEvaluationImplHangingNodes<dim, VectorizedArrayType, true>>(
+      fe_degree,
+      fe_degree + 1,
+      n_components,
+      fe_eval,
+      transpose,
+      c_mask,
+      values);
+  }
+
 } // end of namespace internal
 
 DEAL_II_NAMESPACE_CLOSE
index c1eb1afd98fa577c7d83a7409e9ec76807de48ab..93aeaaef9fb4513a612a84ce21af945d012f7480 100644 (file)
@@ -1378,6 +1378,13 @@ private:
    */
   void
   set_data_pointers();
+
+  /**
+   * Apply hanging-node constraints.
+   */
+  template <bool transpose>
+  void
+  apply_hanging_node_constraints() const;
 };
 
 
@@ -4454,6 +4461,23 @@ FEEvaluationBase<dim, n_components_, Number, is_face, VectorizedArrayType>::
          ExcNotImplemented("Masking currently not implemented for "
                            "non-contiguous DoF storage"));
 
+  unsigned int n_vectorization_actual =
+    this->dof_info
+      ->n_vectorization_lanes_filled[this->dof_access_index][this->cell];
+
+  bool has_hn_constraints = false;
+
+  if (is_face == false)
+    {
+      for (unsigned int v = 0; v < n_vectorization_actual; ++v)
+        if (this->dof_info->hanging_node_constraint_masks.size() > 0 &&
+            this->dof_info
+                ->hanging_node_constraint_masks[(this->cell * n_lanes + v) *
+                                                  n_fe_components +
+                                                first_selected_component] != 0)
+          has_hn_constraints = true;
+    }
+
   std::integral_constant<bool,
                          internal::is_vectorizable<VectorType, Number>::value>
     vector_selector;
@@ -4461,10 +4485,11 @@ FEEvaluationBase<dim, n_components_, Number, is_face, VectorizedArrayType>::
   const unsigned int dofs_per_component =
     this->data->dofs_per_component_on_cell;
   if (this->dof_info->index_storage_variants
-        [is_face ? this->dof_access_index :
-                   internal::MatrixFreeFunctions::DoFInfo::dof_access_cell]
-        [this->cell] ==
-      internal::MatrixFreeFunctions::DoFInfo::IndexStorageVariants::interleaved)
+          [is_face ? this->dof_access_index :
+                     internal::MatrixFreeFunctions::DoFInfo::dof_access_cell]
+          [this->cell] == internal::MatrixFreeFunctions::DoFInfo::
+                            IndexStorageVariants::interleaved &&
+      (has_hn_constraints == false))
     {
       const unsigned int *dof_indices =
         this->dof_info->dof_indices_interleaved.data() +
@@ -4500,11 +4525,9 @@ FEEvaluationBase<dim, n_components_, Number, is_face, VectorizedArrayType>::
   // to the dof indices of the cells on all lanes
   unsigned int        cells_copied[n_lanes];
   const unsigned int *cells;
-  unsigned int        n_vectorization_actual =
-    this->dof_info
-      ->n_vectorization_lanes_filled[this->dof_access_index][this->cell];
-  bool               has_constraints   = false;
+  bool                has_constraints  = false;
   const unsigned int n_components_read = n_fe_components > 1 ? n_components : 1;
+
   if (is_face)
     {
       if (this->dof_access_index ==
@@ -4552,6 +4575,15 @@ FEEvaluationBase<dim, n_components_, Number, is_face, VectorizedArrayType>::
           if (my_index_start[n_components_read].second !=
               my_index_start[0].second)
             has_constraints = true;
+
+          if (this->dof_info->hanging_node_constraint_masks.size() > 0 &&
+              this->dof_info
+                  ->hanging_node_constraint_masks[(this->cell * n_lanes + v) *
+                                                    n_fe_components +
+                                                  first_selected_component] !=
+                0)
+            has_hn_constraints = true;
+
           Assert(my_index_start[n_components_read].first ==
                      my_index_start[0].first ||
                    my_index_start[0].first < this->dof_info->dof_indices.size(),
@@ -4567,7 +4599,7 @@ FEEvaluationBase<dim, n_components_, Number, is_face, VectorizedArrayType>::
 
   // Case where we have no constraints throughout the whole cell: Can go
   // through the list of DoFs directly
-  if (!has_constraints)
+  if (!has_constraints && apply_constraints)
     {
       if (n_vectorization_actual < n_lanes)
         for (unsigned int comp = 0; comp < n_components; ++comp)
@@ -4620,9 +4652,11 @@ FEEvaluationBase<dim, n_components_, Number, is_face, VectorizedArrayType>::
       // For read_dof_values_plain, redirect the dof_indices field to the
       // unconstrained indices
       if (apply_constraints == false &&
-          this->dof_info->row_starts[cell_dof_index].second !=
-            this->dof_info->row_starts[cell_dof_index + n_components_read]
-              .second)
+          (this->dof_info->row_starts[cell_dof_index].second !=
+             this->dof_info->row_starts[cell_dof_index + n_components_read]
+               .second ||
+           (this->dof_info->hanging_node_constraint_masks.size() > 0 &&
+            this->dof_info->hanging_node_constraint_masks[cell_dof_index] > 0)))
         {
           Assert(this->dof_info->row_starts_plain_indices[cell_index] !=
                    numbers::invalid_unsigned_int,
@@ -5260,6 +5294,78 @@ namespace internal
 
 
 
+template <int dim,
+          int n_components_,
+          typename Number,
+          bool is_face,
+          typename VectorizedArrayType>
+template <bool transpose>
+inline void
+FEEvaluationBase<dim, n_components_, Number, is_face, VectorizedArrayType>::
+  apply_hanging_node_constraints() const
+{
+  if (this->dof_info == nullptr ||
+      this->dof_info->hanging_node_constraint_masks.size() == 0)
+    return; // nothing to do with faces
+
+  unsigned int n_vectorization_actual =
+    this->dof_info
+      ->n_vectorization_lanes_filled[this->dof_access_index][this->cell];
+
+  constexpr unsigned int            n_lanes = VectorizedArrayType::size();
+  std::array<unsigned int, n_lanes> constraint_mask;
+
+  bool hn_available = false;
+
+  unsigned int        cells_copied[n_lanes];
+  const unsigned int *cells;
+
+  if (is_face)
+    {
+      if (this->dof_access_index ==
+          internal::MatrixFreeFunctions::DoFInfo::dof_access_cell)
+        for (unsigned int v = 0; v < n_vectorization_actual; ++v)
+          cells_copied[v] = this->cell * VectorizedArrayType::size() + v;
+      cells =
+        this->dof_access_index ==
+            internal::MatrixFreeFunctions::DoFInfo::dof_access_cell ?
+          &cells_copied[0] :
+          (this->is_interior_face ?
+             &this->matrix_info->get_face_info(this->cell).cells_interior[0] :
+             &this->matrix_info->get_face_info(this->cell).cells_exterior[0]);
+    }
+
+  for (unsigned int v = 0; v < n_vectorization_actual; ++v)
+    {
+      const unsigned int cell_index =
+        is_face ? cells[v] : this->cell * n_lanes + v;
+      const unsigned int cell_dof_index =
+        cell_index * n_fe_components + first_selected_component;
+
+      const auto mask =
+        this->dof_info->hanging_node_constraint_masks[cell_dof_index];
+      constraint_mask[v] = mask;
+
+      hn_available |= (mask != 0);
+    }
+
+  if (hn_available == false)
+    return; // no hanging node on cell batch -> nothing to do
+
+  for (unsigned int v = n_vectorization_actual; v < n_lanes; ++v)
+    constraint_mask[v] = 0;
+
+  internal::FEEvaluationHangingNodesFactory<dim, Number, VectorizedArrayType>::
+    apply(n_components,
+          this->data->data.front().fe_degree,
+          *this,
+          transpose,
+          constraint_mask,
+          values_dofs[0]);
+}
+
+
+
 template <int dim,
           int n_components_,
           typename Number,
@@ -5285,6 +5391,8 @@ FEEvaluationBase<dim, n_components_, Number, is_face, VectorizedArrayType>::
                        std::bitset<VectorizedArrayType::size()>().flip(),
                        true);
 
+  apply_hanging_node_constraints<false>();
+
 #  ifdef DEBUG
   dof_values_initialized = true;
 #  endif
@@ -5342,6 +5450,8 @@ FEEvaluationBase<dim, n_components_, Number, is_face, VectorizedArrayType>::
          internal::ExcAccessToUninitializedField());
 #  endif
 
+  apply_hanging_node_constraints<true>();
+
   const auto dst_data = internal::get_vector_data<n_components_>(
     dst,
     first_index,
index daf01606ccb0f65f2b50fe42ccf8172ec9c8b680..97421e7f3afe591029b6cc1ce9b701cf280f53c9 100644 (file)
@@ -113,6 +113,8 @@ namespace internal
      */
     enum ConstraintTypes : unsigned int
     {
+      unconstrained = 0,
+
       type_x = 1 << 0,
       type_y = 1 << 1,
       type_z = 1 << 2,
@@ -133,8 +135,10 @@ namespace internal
     inline HangingNodes<dim>::HangingNodes(
       const Triangulation<dim> &triangulation)
     {
-      // Set up line-to-cell mapping for edge constraints (only if dim = 3)
-      setup_line_to_cell(triangulation);
+      // Set up line-to-cell mapping for edge constraints (only if dim = 3 and
+      // for pure hex meshes)
+      if (triangulation.all_reference_cells_are_hyper_cube())
+        setup_line_to_cell(triangulation);
     }
 
 
@@ -238,6 +242,10 @@ namespace internal
     {
       bool cell_has_hanging_node_constraints = false;
 
+      // for simplex or mixed meshes: nothing to do
+      if (dim == 3 && line_to_cells.size() == 0)
+        return cell_has_hanging_node_constraints;
+
       const auto &fe = cell->get_fe();
 
       std::vector<std::vector<unsigned int>>
@@ -531,7 +539,7 @@ namespace internal
                         // For each cell which share that edge
                         const unsigned int line =
                           cell->line(local_line)->index();
-                        for (const auto edge_neighbor : line_to_cells[line])
+                        for (const auto &edge_neighbor : line_to_cells[line])
                           {
                             // If one of them is coarser than us
                             const auto neighbor_cell = edge_neighbor.first;
index 66f560eb7c044cd92a364d0e823f96da4f9a84e5..27f818e8fb27845ec493230fa77fb6139cf6ec6d 100644 (file)
@@ -40,6 +40,7 @@
 
 #include <deal.II/matrix_free/face_info.h>
 #include <deal.II/matrix_free/face_setup_internal.h>
+#include <deal.II/matrix_free/hanging_nodes_internal.h>
 #include <deal.II/matrix_free/matrix_free.h>
 
 #ifdef DEAL_II_WITH_TBB
@@ -1173,6 +1174,19 @@ namespace internal
     // extract all the global indices associated with the computation, and form
     // the ghost indices
     std::vector<unsigned int> subdomain_boundary_cells;
+    std::unique_ptr<dealii::internal::MatrixFreeFunctions::HangingNodes<dim>>
+      hanging_nodes;
+
+    if (dim > 1 && mg_level == numbers::invalid_unsigned_int)
+      {
+        hanging_nodes = std::make_unique<
+          dealii::internal::MatrixFreeFunctions::HangingNodes<dim>>(tria);
+        for (unsigned int no = 0; no < n_dof_handlers; ++no)
+          if (dof_handler[no]->get_fe_collection().size() == 1)
+            dof_info[no].hanging_node_constraint_masks.resize(
+              n_active_cells * dof_handler[no]->get_fe().n_components());
+      }
+
     for (unsigned int counter = 0; counter < n_active_cells; ++counter)
       {
         bool cell_at_subdomain_boundary =
@@ -1207,12 +1221,31 @@ namespace internal
                   local_dof_indices[i] =
                     local_dof_indices_resolved[lexicographic[no][fe_index][i]];
 
-                dof_info[no].read_dof_indices(local_dof_indices,
-                                              local_dof_indices,
-                                              *constraint[no],
-                                              counter,
-                                              constraint_values,
-                                              cell_at_subdomain_boundary);
+                bool cell_has_hanging_node_constraints = false;
+
+                if (dim > 1 && dofh->get_fe_collection().size() == 1)
+                  {
+                    local_dof_indices_resolved = local_dof_indices;
+
+                    cell_has_hanging_node_constraints =
+                      dof_info[no].process_hanging_node_constraints(
+                        *hanging_nodes,
+                        lexicographic[no][0],
+                        counter,
+                        cell_it,
+                        local_dof_indices_resolved);
+                  }
+
+                dof_info[no].read_dof_indices(
+                  cell_has_hanging_node_constraints ?
+                    local_dof_indices_resolved :
+                    local_dof_indices,
+                  local_dof_indices,
+                  cell_has_hanging_node_constraints,
+                  *constraint[no],
+                  counter,
+                  constraint_values,
+                  cell_at_subdomain_boundary);
                 if (dofh->get_fe_collection().size() == 1 &&
                     cell_categorization_enabled)
                   {
@@ -1244,6 +1277,7 @@ namespace internal
 
                 dof_info[no].read_dof_indices(local_dof_indices,
                                               local_dof_indices,
+                                              false,
                                               *constraint[no],
                                               counter,
                                               constraint_values,
@@ -1266,6 +1300,17 @@ namespace internal
           subdomain_boundary_cells.push_back(counter);
       }
 
+    // clear hanging_node_constraint_masks if there are no hanging nodes
+    if (dim > 1 && mg_level == numbers::invalid_unsigned_int)
+      for (unsigned int no = 0; no < n_dof_handlers; ++no)
+        {
+          auto &vec = dof_info[no].hanging_node_constraint_masks;
+          if (std::all_of(vec.begin(), vec.end(), [](const auto i) {
+                return i == 0;
+              }))
+            vec.clear();
+        }
+
     task_info.n_active_cells = cell_level_index_end_local;
     task_info.n_ghost_cells  = n_active_cells - cell_level_index_end_local;
 
index f1c7188de578940005d3d37df13c11bc102fcfa5..a0fda74183cca245872250674262d6a6e70e16b6 100644 (file)
@@ -421,16 +421,16 @@ namespace MatrixFreeTools
                   }
               }
 
-            // STEP 2b: transpose COO
+            // STEP 2b: sort and make unique
 
-            // presort vector for transposed access
+            // sort vector
             std::sort(locally_relevant_constrains.begin(),
                       locally_relevant_constrains.end(),
                       [](const auto &a, const auto &b) {
-                        if (std::get<1>(a) < std::get<1>(b))
+                        if (std::get<0>(a) < std::get<0>(b))
                           return true;
-                        return (std::get<1>(a) == std::get<1>(b)) &&
-                               (std::get<0>(a) < std::get<0>(b));
+                        return (std::get<0>(a) == std::get<0>(b)) &&
+                               (std::get<1>(a) < std::get<1>(b));
                       });
 
             // make sure that all entries are unique
@@ -443,7 +443,189 @@ namespace MatrixFreeTools
                      }),
               locally_relevant_constrains.end());
 
-            // STEP 2c: translate COO to CRS
+            // STEP 2c: apply hanging-node constraints
+            if (dof_info.hanging_node_constraint_masks.size() > 0)
+              {
+                const auto mask =
+                  dof_info
+                    .hanging_node_constraint_masks[(cell * n_lanes + v) *
+                                                     n_fe_components +
+                                                   first_selected_component];
+
+                // cell has hanging nodes
+                if (mask != 0)
+                  {
+                    // check if hanging node internpolation matrix has been set
+                    // up
+                    if (locally_relevant_constrains_hn_map.find(mask) ==
+                        locally_relevant_constrains_hn_map.end())
+                      {
+                        // 1) collect hanging-node constraints for cell assuming
+                        // scalar finite element
+                        AlignedVector<VectorizedArrayType> values_dofs(
+                          dofs_per_component);
+
+                        std::array<unsigned int, VectorizedArrayType::size()>
+                          constraint_mask;
+                        constraint_mask[0] = mask;
+
+                        std::vector<
+                          std::tuple<unsigned int, unsigned int, Number>>
+                          locally_relevant_constrains_hn;
+
+                        for (unsigned int i = 0; i < dofs_per_component; ++i)
+                          {
+                            for (unsigned int j = 0; j < dofs_per_component;
+                                 ++j)
+                              values_dofs[j][0] = static_cast<Number>(i == j);
+
+                            dealii::internal::FEEvaluationHangingNodesFactory<
+                              dim,
+                              Number,
+                              VectorizedArrayType>::apply(1,
+                                                          phi.get_shape_info()
+                                                            .data.front()
+                                                            .fe_degree,
+                                                          phi,
+                                                          false,
+                                                          constraint_mask,
+                                                          values_dofs.data());
+
+                            for (unsigned int j = 0; j < dofs_per_component;
+                                 ++j)
+                              if (1e-10 <
+                                  std::abs(values_dofs[j][0] &&
+                                           (j != i ||
+                                            1e-10 < std::abs(values_dofs[j][0] -
+                                                             1.0))))
+                                locally_relevant_constrains_hn.emplace_back(
+                                  j, i, values_dofs[j][0]);
+                          }
+
+
+                        std::sort(locally_relevant_constrains_hn.begin(),
+                                  locally_relevant_constrains_hn.end(),
+                                  [](const auto &a, const auto &b) {
+                                    if (std::get<0>(a) < std::get<0>(b))
+                                      return true;
+                                    return (std::get<0>(a) == std::get<0>(b)) &&
+                                           (std::get<1>(a) < std::get<1>(b));
+                                  });
+
+                        // 1b) extend for multiple components
+                        const unsigned int n_hn_constraints =
+                          locally_relevant_constrains_hn.size();
+                        locally_relevant_constrains_hn.resize(n_hn_constraints *
+                                                              n_components);
+
+                        for (unsigned int c = 0; c < n_components; ++c)
+                          for (unsigned int i = 0; i < n_hn_constraints; ++i)
+                            locally_relevant_constrains_hn[c *
+                                                             n_hn_constraints +
+                                                           i] =
+                              std::tuple<unsigned int, unsigned int, Number>{
+                                std::get<0>(locally_relevant_constrains_hn[i]) +
+                                  c * dofs_per_component,
+                                std::get<1>(locally_relevant_constrains_hn[i]) +
+                                  c * dofs_per_component,
+                                std::get<2>(locally_relevant_constrains_hn[i])};
+
+
+                        locally_relevant_constrains_hn_map[mask] =
+                          locally_relevant_constrains_hn;
+                      }
+
+                    const auto &locally_relevant_constrains_hn =
+                      locally_relevant_constrains_hn_map[mask];
+
+                    // 2) perform vmult with other constraints
+                    std::vector<std::tuple<unsigned int, unsigned int, Number>>
+                      locally_relevant_constrains_temp;
+
+                    for (unsigned int i = 0;
+                         i < dofs_per_component * n_components;
+                         ++i)
+                      {
+                        const auto lower_bound_fu = [](const auto &a,
+                                                       const auto &b) {
+                          return std::get<0>(a) < b;
+                        };
+
+                        const auto upper_bound_fu = [](const auto &a,
+                                                       const auto &b) {
+                          return a < std::get<0>(b);
+                        };
+
+                        const auto i_begin = std::lower_bound(
+                          locally_relevant_constrains_hn.begin(),
+                          locally_relevant_constrains_hn.end(),
+                          i,
+                          lower_bound_fu);
+                        const auto i_end = std::upper_bound(
+                          locally_relevant_constrains_hn.begin(),
+                          locally_relevant_constrains_hn.end(),
+                          i,
+                          upper_bound_fu);
+
+                        if (i_begin == i_end)
+                          {
+                            // dof is not constrained by hanging-node constraint
+                            // (identity matrix): simply copy constraints
+                            const auto j_begin = std::lower_bound(
+                              locally_relevant_constrains.begin(),
+                              locally_relevant_constrains.end(),
+                              i,
+                              lower_bound_fu);
+                            const auto j_end = std::upper_bound(
+                              locally_relevant_constrains.begin(),
+                              locally_relevant_constrains.end(),
+                              i,
+                              upper_bound_fu);
+
+                            for (auto v = j_begin; v != j_end; ++v)
+                              locally_relevant_constrains_temp.emplace_back(*v);
+                          }
+                        else
+                          {
+                            // dof is constrained: build transitive closure
+                            for (auto v0 = i_begin; v0 != i_end; ++v0)
+                              {
+                                const auto j_begin = std::lower_bound(
+                                  locally_relevant_constrains.begin(),
+                                  locally_relevant_constrains.end(),
+                                  std::get<1>(*v0),
+                                  lower_bound_fu);
+                                const auto j_end = std::upper_bound(
+                                  locally_relevant_constrains.begin(),
+                                  locally_relevant_constrains.end(),
+                                  std::get<1>(*v0),
+                                  upper_bound_fu);
+
+                                for (auto v1 = j_begin; v1 != j_end; ++v1)
+                                  locally_relevant_constrains_temp.emplace_back(
+                                    std::get<0>(*v0),
+                                    std::get<1>(*v1),
+                                    std::get<2>(*v0) * std::get<2>(*v1));
+                              }
+                          }
+                      }
+
+                    locally_relevant_constrains =
+                      locally_relevant_constrains_temp;
+                  }
+              }
+
+            // STEP 2d: transpose COO
+            std::sort(locally_relevant_constrains.begin(),
+                      locally_relevant_constrains.end(),
+                      [](const auto &a, const auto &b) {
+                        if (std::get<1>(a) < std::get<1>(b))
+                          return true;
+                        return (std::get<1>(a) == std::get<1>(b)) &&
+                               (std::get<0>(a) < std::get<0>(b));
+                      });
+
+            // STEP 2e: translate COO to CRS
             auto &c_pool = c_pools[v];
             {
               if (locally_relevant_constrains.size() > 0)
@@ -582,6 +764,10 @@ namespace MatrixFreeTools
       // note: may be larger then dofs_per_cell in the presence of
       // constraints!
       std::array<std::vector<Number>, n_lanes> diagonals_local_constrained;
+
+      std::map<unsigned int,
+               std::vector<std::tuple<unsigned int, unsigned int, Number>>>
+        locally_relevant_constrains_hn_map;
     };
 
   } // namespace internal
index b6b25f2320719db304888c3ba9bb3d62bd1fc7b1..0d78a5ad5fa2d6cf47be54d4712dd603009d65ad 100644 (file)
@@ -103,7 +103,9 @@ namespace internal
           // shift for this cell within the block as compared to the next
           // one
           const bool has_constraints =
-            row_starts[ib].second != row_starts[ib + n_fe_components].second;
+            (hanging_node_constraint_masks.size() != 0 &&
+             hanging_node_constraint_masks[ib] != 0) ||
+            (row_starts[ib].second != row_starts[ib + n_fe_components].second);
 
           auto do_copy = [&](const unsigned int *begin,
                              const unsigned int *end) {
@@ -221,8 +223,19 @@ namespace internal
               // now the same procedure for plain indices
               if (store_plain_indices == true)
                 {
-                  if (row_starts[boundary_cells[i] * n_components].second !=
-                      row_starts[(boundary_cells[i] + 1) * n_components].second)
+                  bool has_hanging_nodes = false;
+
+                  if (hanging_node_constraint_masks.size() > 0)
+                    for (unsigned int comp = 0; comp < n_components; ++comp)
+                      has_hanging_nodes |=
+                        hanging_node_constraint_masks[boundary_cells[i] *
+                                                        n_components +
+                                                      comp] > 0;
+
+                  if (has_hanging_nodes ||
+                      row_starts[boundary_cells[i] * n_components].second !=
+                        row_starts[(boundary_cells[i] + 1) * n_components]
+                          .second)
                     {
                       unsigned int *data_ptr =
                         plain_dof_indices.data() +
@@ -322,6 +335,11 @@ namespace internal
       unsigned int              position_cell = 0;
       new_dof_indices.reserve(dof_indices.size());
       new_constraint_indicator.reserve(constraint_indicator.size());
+
+      std::vector<unsigned int> new_hanging_node_constraint_masks;
+      new_hanging_node_constraint_masks.reserve(
+        new_hanging_node_constraint_masks.size());
+
       if (store_plain_indices == true)
         {
           new_rowstart_plain.resize(vectorization_length *
@@ -350,6 +368,9 @@ namespace internal
             {
               const unsigned int cell_no =
                 renumbering[position_cell + j] * n_components;
+
+              bool has_hanging_nodes = false;
+
               for (unsigned int comp = 0; comp < n_components; ++comp)
                 {
                   new_row_starts[(i * vectorization_length + j) * n_components +
@@ -359,6 +380,14 @@ namespace internal
                                  comp]
                     .second = new_constraint_indicator.size();
 
+                  if (hanging_node_constraint_masks.size() > 0)
+                    {
+                      const auto mask =
+                        hanging_node_constraint_masks[cell_no + comp];
+                      new_hanging_node_constraint_masks.push_back(mask);
+                      has_hanging_nodes |= mask > 0;
+                    }
+
                   new_dof_indices.insert(
                     new_dof_indices.end(),
                     dof_indices.data() + row_starts[cell_no + comp].first,
@@ -370,8 +399,9 @@ namespace internal
                       constraint_indicator[index]);
                 }
               if (store_plain_indices &&
-                  row_starts[cell_no].second !=
-                    row_starts[cell_no + n_components].second)
+                  ((row_starts[cell_no].second !=
+                    row_starts[cell_no + n_components].second) ||
+                   has_hanging_nodes))
                 {
                   new_rowstart_plain[i * vectorization_length + j] =
                     new_plain_indices.size();
@@ -393,6 +423,9 @@ namespace internal
                 new_row_starts[(i * vectorization_length + j) * n_components +
                                comp]
                   .second = new_constraint_indicator.size();
+
+                if (hanging_node_constraint_masks.size() > 0)
+                  new_hanging_node_constraint_masks.push_back(0);
               }
           position_cell += n_vect;
         }
@@ -414,6 +447,7 @@ namespace internal
       new_constraint_indicator.swap(constraint_indicator);
       new_plain_indices.swap(plain_dof_indices);
       new_rowstart_plain.swap(row_starts_plain_indices);
+      new_hanging_node_constraint_masks.swap(hanging_node_constraint_masks);
 
 #ifdef DEBUG
       // sanity check 1: all indices should be smaller than the number of dofs
@@ -1460,6 +1494,7 @@ namespace internal
     DoFInfo::read_dof_indices<double>(
       const std::vector<types::global_dof_index> &,
       const std::vector<types::global_dof_index> &,
+      const bool cell_has_hanging_node_constraints,
       const dealii::AffineConstraints<double> &,
       const unsigned int,
       ConstraintValues<double> &,
@@ -1469,11 +1504,34 @@ namespace internal
     DoFInfo::read_dof_indices<float>(
       const std::vector<types::global_dof_index> &,
       const std::vector<types::global_dof_index> &,
+      const bool cell_has_hanging_node_constraints,
       const dealii::AffineConstraints<float> &,
       const unsigned int,
       ConstraintValues<double> &,
       bool &);
 
+    template bool
+    DoFInfo::process_hanging_node_constraints<1>(
+      const HangingNodes<1> &                           hanging_nodes,
+      const std::vector<unsigned int> &                 lexicographic_mapping,
+      const unsigned int                                cell_number,
+      const TriaIterator<DoFCellAccessor<1, 1, false>> &cell,
+      std::vector<types::global_dof_index> &            dof_indices);
+    template bool
+    DoFInfo::process_hanging_node_constraints<2>(
+      const HangingNodes<2> &                           hanging_nodes,
+      const std::vector<unsigned int> &                 lexicographic_mapping,
+      const unsigned int                                cell_number,
+      const TriaIterator<DoFCellAccessor<2, 2, false>> &cell,
+      std::vector<types::global_dof_index> &            dof_indices);
+    template bool
+    DoFInfo::process_hanging_node_constraints<3>(
+      const HangingNodes<3> &                           hanging_nodes,
+      const std::vector<unsigned int> &                 lexicographic_mapping,
+      const unsigned int                                cell_number,
+      const TriaIterator<DoFCellAccessor<3, 3, false>> &cell,
+      std::vector<types::global_dof_index> &            dof_indices);
+
     template void
     DoFInfo::compute_face_index_compression<1>(
       const std::vector<FaceToCellTopology<1>> &);
index 468f6f3724e30c90ebe5a4f7c991b248970fd710..f3e05fbf096b3b4aa4d8e936c65b891adb286bbd 100644 (file)
@@ -32,4 +32,10 @@ for (deal_II_dimension : DIMENSIONS;
       deal_II_dimension,
       deal_II_scalar_vectorized::value_type,
       deal_II_scalar_vectorized>;
+
+    // inverse mass
+    template struct dealii::internal::FEEvaluationHangingNodesFactory<
+      deal_II_dimension,
+      deal_II_scalar_vectorized::value_type,
+      deal_II_scalar_vectorized>;
   }
index 07c81371ed0a96011ab7593590acf67a41d4e349..fe40d3e815bb466332aacca48e12bc0ca452c565 100644 (file)
@@ -1,5 +1,5 @@
 
 DEAL:2d::Number of hanging nodes: 2211
-DEAL:2d::Number of different constraint weights: 4
+DEAL:2d::Number of different constraint weights: 1
 DEAL:3d::Number of hanging nodes: 9295
-DEAL:3d::Number of different constraint weights: 10
+DEAL:3d::Number of different constraint weights: 1
index 53a266d452f0ec2e38a78dd95d47d118e1252a9f..bdddbcac365291d30dd6a9021e1fc38dac0178fe 100644 (file)
@@ -128,7 +128,7 @@ public:
       deallog << error_local_2 << std::endl;
     }
 
-    Assert(std::abs(error_local_1 - error_local_2) < 1e-7, ExcInternalError());
+    Assert(std::abs(error_local_1 - error_local_2) < 1e-6, ExcInternalError());
 
     if (test_matrix)
       {
@@ -189,7 +189,7 @@ public:
       deallog << diagonal_global_reference.l2_norm() << std::endl;
     }
 
-    Assert(std::abs(error_local_1 - error_global) < 1e-7, ExcInternalError());
+    Assert(std::abs(error_local_1 - error_global) < 1e-6, ExcInternalError());
 
     if (test_matrix)
       {
diff --git a/tests/matrix_free/hanging_node_kernels_01.cc b/tests/matrix_free/hanging_node_kernels_01.cc
new file mode 100644 (file)
index 0000000..dec80c3
--- /dev/null
@@ -0,0 +1,662 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2021 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE.md at
+// the top level directory of deal.II.
+//
+// ---------------------------------------------------------------------
+
+
+
+// Compare the result of FEEvaluationImplHangingNodes with the CPU version
+// of GPU implementation.
+
+#include <deal.II/dofs/dof_tools.h>
+
+#include <deal.II/fe/fe_q.h>
+
+#include <deal.II/grid/grid_generator.h>
+
+#include <deal.II/matrix_free/fe_evaluation.h>
+#include <deal.II/matrix_free/matrix_free.h>
+
+#include <deal.II/numerics/vector_tools.h>
+
+#include "../tests.h"
+
+
+namespace dealii
+{
+  namespace internal
+  {
+    /**
+     * Evaluation kernels similar to them used in the GPU implementation
+     * (see include/deal.II/matrix_free/hanging_nodes_internal.h).
+     */
+    template <int dim, typename Number, bool is_face>
+    struct FEEvaluationImplHangingNodesReference
+    {
+      template <int fe_degree, int n_q_points_1d>
+      static bool
+      run(const FEEvaluationBaseData<dim,
+                                     typename Number::value_type,
+                                     is_face,
+                                     Number> &            fe_eval,
+          const bool                                      transpose,
+          const std::array<unsigned int, Number::size()> &c_mask,
+          Number *                                        values)
+      {
+        Assert(is_face == false, ExcInternalError());
+
+        if (dim == 2)
+          {
+            if (transpose)
+              {
+                run_2D<fe_degree, 0, true>(fe_eval, c_mask, values);
+                run_2D<fe_degree, 1, true>(fe_eval, c_mask, values);
+              }
+            else
+              {
+                run_2D<fe_degree, 0, false>(fe_eval, c_mask, values);
+                run_2D<fe_degree, 1, false>(fe_eval, c_mask, values);
+              }
+          }
+        else if (dim == 3)
+          {
+            if (transpose)
+              {
+                run_3D<fe_degree, 0, true>(fe_eval, c_mask, values);
+                run_3D<fe_degree, 1, true>(fe_eval, c_mask, values);
+                run_3D<fe_degree, 2, true>(fe_eval, c_mask, values);
+              }
+            else
+              {
+                run_3D<fe_degree, 0, false>(fe_eval, c_mask, values);
+                run_3D<fe_degree, 1, false>(fe_eval, c_mask, values);
+                run_3D<fe_degree, 2, false>(fe_eval, c_mask, values);
+              }
+          }
+
+        return false; // TODO
+      }
+
+    private:
+      static unsigned int
+      index2(unsigned int size, unsigned int i, unsigned int j)
+      {
+        return i + size * j;
+      }
+
+      static inline unsigned int
+      index3(unsigned int size, unsigned int i, unsigned int j, unsigned int k)
+      {
+        return i + size * j + size * size * k;
+      }
+
+      template <int fe_degree_, unsigned int direction, bool transpose>
+      static void
+      run_2D(const FEEvaluationBaseData<dim,
+                                        typename Number::value_type,
+                                        is_face,
+                                        Number> &            fe_eval,
+             const std::array<unsigned int, Number::size()> &constraint_mask,
+             Number *                                        values)
+      {
+        const auto &constraint_weights =
+          fe_eval.get_shape_info().data.front().subface_interpolation_matrix;
+
+        const unsigned int fe_degree =
+          fe_degree_ != -1 ? fe_degree_ :
+                             fe_eval.get_shape_info().data.front().fe_degree;
+
+        const unsigned int n_dofs =
+          Utilities::pow<unsigned int>(fe_degree + 1, 2);
+
+        AlignedVector<Number> values_temp(n_dofs);
+
+        for (unsigned int i = 0; i < n_dofs; ++i)
+          values_temp[i] = values[i];
+
+        for (unsigned int v = 0; v < Number::size(); ++v)
+          {
+            if (constraint_mask[v] == 0)
+              continue;
+
+            const unsigned int this_type =
+              (direction == 0) ?
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_x :
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_y;
+
+            const bool constrained_face =
+              (constraint_mask[v] &
+               (((direction == 0) ? dealii::internal::MatrixFreeFunctions::
+                                      ConstraintTypes::face_y :
+                                    dealii::internal::MatrixFreeFunctions::
+                                      ConstraintTypes::unconstrained) |
+                ((direction == 1) ? dealii::internal::MatrixFreeFunctions::
+                                      ConstraintTypes::face_x :
+                                    dealii::internal::MatrixFreeFunctions::
+                                      ConstraintTypes::unconstrained)));
+
+            const bool type = constraint_mask[v] & this_type;
+
+            for (unsigned int x_idx = 0; x_idx < fe_degree + 1; ++x_idx)
+              for (unsigned int y_idx = 0; y_idx < fe_degree + 1; ++y_idx)
+                {
+                  const unsigned int interp_idx =
+                    (direction == 0) ? x_idx : y_idx;
+
+                  typename Number::value_type t = 0.0;
+                  // Flag is true if dof is constrained for the given direction
+                  // and the given face.
+
+                  // Flag is true if for the given direction, the dof is
+                  // constrained with the right type and is on the correct side
+                  // (left (= 0) or right (= fe_degree))
+                  const bool constrained_dof =
+                    ((direction == 0) &&
+                     ((constraint_mask[v] &
+                       dealii::internal::MatrixFreeFunctions::ConstraintTypes::
+                         type_y) ?
+                        (y_idx == 0) :
+                        (y_idx == fe_degree))) ||
+                    ((direction == 1) &&
+                     ((constraint_mask[v] &
+                       dealii::internal::MatrixFreeFunctions::ConstraintTypes::
+                         type_x) ?
+                        (x_idx == 0) :
+                        (x_idx == fe_degree)));
+
+                  if (constrained_face && constrained_dof)
+                    {
+                      const unsigned int real_idx =
+                        index2(fe_degree + 1, x_idx, y_idx);
+
+                      // deallog << "dir=" << direction << " real=" << real_idx
+                      // << std::endl;
+
+
+                      if (type)
+                        {
+                          for (unsigned int i = 0; i <= fe_degree; ++i)
+                            {
+                              const unsigned int real_idx =
+                                (direction == 0) ?
+                                  index2(fe_degree + 1, i, y_idx) :
+                                  index2(fe_degree + 1, x_idx, i);
+
+                              const auto w =
+                                transpose ?
+                                  constraint_weights[i * (fe_degree + 1) +
+                                                     interp_idx][v] :
+                                  constraint_weights[interp_idx *
+                                                       (fe_degree + 1) +
+                                                     i][v];
+                              t += w * values_temp[real_idx][v];
+                            }
+                        }
+                      else
+                        {
+                          for (unsigned int i = 0; i <= fe_degree; ++i)
+                            {
+                              const unsigned int real_idx =
+                                (direction == 0) ?
+                                  index2(fe_degree + 1, i, y_idx) :
+                                  index2(fe_degree + 1, x_idx, i);
+
+                              const auto w =
+                                transpose ?
+                                  constraint_weights[(fe_degree - i) *
+                                                       (fe_degree + 1) +
+                                                     fe_degree - interp_idx]
+                                                    [v] :
+                                  constraint_weights[(fe_degree - interp_idx) *
+                                                       (fe_degree + 1) +
+                                                     fe_degree - i][v];
+                              t += w * values_temp[real_idx][v];
+                            }
+                        }
+
+                      values[index2(fe_degree + 1, x_idx, y_idx)][v] = t;
+                    }
+                }
+          }
+      }
+
+      template <int fe_degree_, unsigned int direction, bool transpose>
+      static void
+      run_3D(const FEEvaluationBaseData<dim,
+                                        typename Number::value_type,
+                                        is_face,
+                                        Number> &            fe_eval,
+             const std::array<unsigned int, Number::size()> &constraint_mask,
+             Number *                                        values)
+      {
+        const auto &constraint_weights =
+          fe_eval.get_shape_info().data.front().subface_interpolation_matrix;
+
+        const unsigned int fe_degree =
+          fe_degree_ != -1 ? fe_degree_ :
+                             fe_eval.get_shape_info().data.front().fe_degree;
+
+        const unsigned int n_dofs =
+          Utilities::pow<unsigned int>(fe_degree + 1, 3);
+
+        AlignedVector<Number> values_temp(n_dofs);
+
+        for (unsigned int i = 0; i < n_dofs; ++i)
+          values_temp[i] = values[i];
+
+        const unsigned int this_type =
+          (direction == 0) ?
+            dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_x :
+          (direction == 1) ?
+            dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_y :
+            dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_z;
+        const unsigned int face1_type =
+          (direction == 0) ?
+            dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_y :
+          (direction == 1) ?
+            dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_z :
+            dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_x;
+        const unsigned int face2_type =
+          (direction == 0) ?
+            dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_z :
+          (direction == 1) ?
+            dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_x :
+            dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_y;
+
+        // If computing in x-direction, need to match against
+        // dealii::internal::MatrixFreeFunctions::ConstraintTypes::face_y or
+        // dealii::internal::MatrixFreeFunctions::ConstraintTypes::face_z
+        const unsigned int face1 =
+          (direction == 0) ?
+            dealii::internal::MatrixFreeFunctions::ConstraintTypes::face_y :
+          (direction == 1) ?
+            dealii::internal::MatrixFreeFunctions::ConstraintTypes::face_z :
+            dealii::internal::MatrixFreeFunctions::ConstraintTypes::face_x;
+        const unsigned int face2 =
+          (direction == 0) ?
+            dealii::internal::MatrixFreeFunctions::ConstraintTypes::face_z :
+          (direction == 1) ?
+            dealii::internal::MatrixFreeFunctions::ConstraintTypes::face_x :
+            dealii::internal::MatrixFreeFunctions::ConstraintTypes::face_y;
+        const unsigned int edge =
+          (direction == 0) ?
+            dealii::internal::MatrixFreeFunctions::ConstraintTypes::edge_yz :
+          (direction == 1) ?
+            dealii::internal::MatrixFreeFunctions::ConstraintTypes::edge_zx :
+            dealii::internal::MatrixFreeFunctions::ConstraintTypes::edge_xy;
+
+        for (unsigned int v = 0; v < Number::size(); ++v)
+          {
+            if (constraint_mask[v] == 0)
+              continue;
+
+            const unsigned int constrained_face =
+              constraint_mask[v] & (face1 | face2 | edge);
+
+            const bool type = constraint_mask[v] & this_type;
+
+            for (unsigned int x_idx = 0; x_idx < fe_degree + 1; ++x_idx)
+              for (unsigned int y_idx = 0; y_idx < fe_degree + 1; ++y_idx)
+                for (unsigned int z_idx = 0; z_idx < fe_degree + 1; ++z_idx)
+                  {
+                    const unsigned int interp_idx = (direction == 0) ? x_idx :
+                                                    (direction == 1) ? y_idx :
+                                                                       z_idx;
+                    const unsigned int face1_idx  = (direction == 0) ? y_idx :
+                                                    (direction == 1) ? z_idx :
+                                                                       x_idx;
+                    const unsigned int face2_idx  = (direction == 0) ? z_idx :
+                                                    (direction == 1) ? x_idx :
+                                                                       y_idx;
+
+                    typename Number::value_type t = 0;
+                    const bool on_face1 = (constraint_mask[v] & face1_type) ?
+                                            (face1_idx == 0) :
+                                            (face1_idx == fe_degree);
+                    const bool on_face2 = (constraint_mask[v] & face2_type) ?
+                                            (face2_idx == 0) :
+                                            (face2_idx == fe_degree);
+                    const bool constrained_dof =
+                      (((constraint_mask[v] & face1) && on_face1) ||
+                       ((constraint_mask[v] & face2) && on_face2) ||
+                       ((constraint_mask[v] & edge) && on_face1 && on_face2));
+
+                    if (constrained_face && constrained_dof)
+                      {
+                        if (type)
+                          {
+                            for (unsigned int i = 0; i <= fe_degree; ++i)
+                              {
+                                const unsigned int real_idx =
+                                  (direction == 0) ?
+                                    index3(fe_degree + 1, i, y_idx, z_idx) :
+                                  (direction == 1) ?
+                                    index3(fe_degree + 1, x_idx, i, z_idx) :
+                                    index3(fe_degree + 1, x_idx, y_idx, i);
+
+                                const auto w =
+                                  transpose ?
+                                    constraint_weights[i * (fe_degree + 1) +
+                                                       interp_idx][v] :
+                                    constraint_weights[interp_idx *
+                                                         (fe_degree + 1) +
+                                                       i][v];
+                                t += w * values_temp[real_idx][v];
+                              }
+                          }
+                        else
+                          {
+                            for (unsigned int i = 0; i <= fe_degree; ++i)
+                              {
+                                const unsigned int real_idx =
+                                  (direction == 0) ?
+                                    index3(fe_degree + 1, i, y_idx, z_idx) :
+                                  (direction == 1) ?
+                                    index3(fe_degree + 1, x_idx, i, z_idx) :
+                                    index3(fe_degree + 1, x_idx, y_idx, i);
+
+                                const auto w =
+                                  transpose ?
+                                    constraint_weights[(fe_degree - i) *
+                                                         (fe_degree + 1) +
+                                                       fe_degree - interp_idx]
+                                                      [v] :
+                                    constraint_weights[(fe_degree -
+                                                        interp_idx) *
+                                                         (fe_degree + 1) +
+                                                       fe_degree - i][v];
+                                t += w * values_temp[real_idx][v];
+                              }
+                          }
+
+                        values[index3(fe_degree + 1, x_idx, y_idx, z_idx)][v] =
+                          t;
+                      }
+                  }
+          }
+      }
+    };
+  } // namespace internal
+} // namespace dealii
+
+template <int dim>
+void
+test(const unsigned int degree, const unsigned int mask_value)
+{
+  Triangulation<dim> tria;
+  GridGenerator::subdivided_hyper_cube(tria, 2);
+  tria.begin()->set_refine_flag();
+  tria.execute_coarsening_and_refinement();
+
+  QGauss<dim>    quad(degree + 1);
+  FE_Q<dim>      fe(degree);
+  MappingQ1<dim> mapping;
+
+  DoFHandler<dim> dof_handler;
+  dof_handler.reinit(tria);
+  dof_handler.distribute_dofs(fe);
+
+  AffineConstraints<double> constraints;
+
+  typename MatrixFree<dim, double, VectorizedArray<double>>::AdditionalData
+    additional_data;
+  additional_data.mapping_update_flags = update_values | update_gradients |
+                                         update_JxW_values |
+                                         dealii::update_quadrature_points;
+
+  MatrixFree<dim, double, VectorizedArray<double>> matrix_free;
+  matrix_free.reinit(mapping, dof_handler, constraints, quad, additional_data);
+
+  FEEvaluation<dim, -1, 0, 1, double> eval(matrix_free);
+  eval.reinit(0);
+
+  std::array<unsigned int, VectorizedArray<double>::size()> cmask;
+  std::fill(cmask.begin(), cmask.end(), 0);
+  cmask[0] = mask_value;
+
+  for (unsigned int b = 0; b < 2; ++b)
+    {
+      AlignedVector<VectorizedArray<double>> values1(fe.n_dofs_per_cell());
+      AlignedVector<VectorizedArray<double>> values2(fe.n_dofs_per_cell());
+
+      for (unsigned int i = 0; i < values1.size(); ++i)
+        {
+          values1[i][0] = i;
+          values2[i][0] = i;
+        }
+
+      for (const auto i : values1)
+        deallog << i[0] << " ";
+      deallog << std::endl;
+
+      internal::FEEvaluationImplHangingNodesReference<
+        dim,
+        VectorizedArray<double>,
+        false>::template run<-1, -1>(eval, b == 1, cmask, values1.data());
+      internal::FEEvaluationImplHangingNodes<
+        dim,
+        VectorizedArray<double>,
+        false>::template run<-1, -1>(1, eval, b == 1, cmask, values2.data());
+
+      for (const auto i : values1)
+        deallog << i[0] << " ";
+      deallog << std::endl;
+
+      for (const auto i : values2)
+        deallog << i[0] << " ";
+      deallog << std::endl;
+      deallog << std::endl;
+
+      for (unsigned int i = 0; i < values1.size(); ++i)
+        Assert(std::abs(values1[i][0] - values2[i][0]) < 1e-5,
+               ExcInternalError());
+    }
+}
+
+int
+main(int argc, char **argv)
+{
+  Utilities::MPI::MPI_InitFinalize mpi_initialization(argc, argv, 1);
+  MPILogInitAll                    all;
+
+  using namespace dealii::internal;
+
+  for (unsigned int degree = 1; degree <= 3; ++degree)
+    {
+      test<2>(degree, 0);
+      deallog << std::endl;
+
+      test<2>(degree,
+              0 |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::face_x |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_x |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::
+                  type_y); // face 0/0
+      test<2>(degree,
+              0 |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::face_x |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::
+                  type_x); // face 0/1
+      test<2>(degree,
+              0 |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::face_x |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::
+                  type_y); // face 1/0
+      test<2>(degree,
+              0 | dealii::internal::MatrixFreeFunctions::ConstraintTypes::
+                    face_x); // face 1/1
+      deallog << std::endl;
+
+      test<2>(degree,
+              0 |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::face_y |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_y |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::
+                  type_x); // face 2/0
+      test<2>(degree,
+              0 |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::face_y |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::
+                  type_y); // face 2/1
+      test<2>(degree,
+              0 |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::face_y |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::
+                  type_x); // face 3/0
+      test<2>(degree,
+              0 | dealii::internal::MatrixFreeFunctions::ConstraintTypes::
+                    face_y); // face 3/1
+      deallog << std::endl;
+    }
+
+  for (unsigned int degree = 1; degree <= 3; ++degree)
+    {
+      // edge 2
+      test<3>(degree,
+              dealii::internal::MatrixFreeFunctions::ConstraintTypes::edge_yz |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_y |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_z);
+      test<3>(degree,
+              dealii::internal::MatrixFreeFunctions::ConstraintTypes::edge_yz |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_y |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_z |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_x);
+
+      // edge 3
+      test<3>(degree,
+              dealii::internal::MatrixFreeFunctions::ConstraintTypes::edge_yz |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_z);
+      test<3>(degree,
+              dealii::internal::MatrixFreeFunctions::ConstraintTypes::edge_yz |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_z |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_x);
+
+      // edge 6
+      test<3>(degree,
+              dealii::internal::MatrixFreeFunctions::ConstraintTypes::edge_yz |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_y);
+      test<3>(degree,
+              dealii::internal::MatrixFreeFunctions::ConstraintTypes::edge_yz |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_y |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_x);
+
+      // edge 7
+      test<3>(degree,
+              dealii::internal::MatrixFreeFunctions::ConstraintTypes::edge_yz);
+      test<3>(degree,
+              dealii::internal::MatrixFreeFunctions::ConstraintTypes::edge_yz |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_x);
+
+
+      // edge 0
+      test<3>(degree,
+              dealii::internal::MatrixFreeFunctions::ConstraintTypes::edge_zx |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_x |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_z);
+      test<3>(degree,
+              dealii::internal::MatrixFreeFunctions::ConstraintTypes::edge_zx |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_x |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_z |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_y);
+
+      // edge 1
+      test<3>(degree,
+              dealii::internal::MatrixFreeFunctions::ConstraintTypes::edge_zx |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_z);
+      test<3>(degree,
+              dealii::internal::MatrixFreeFunctions::ConstraintTypes::edge_zx |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_z |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_y);
+
+      // edge 4
+      test<3>(degree,
+              dealii::internal::MatrixFreeFunctions::ConstraintTypes::edge_zx |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_x);
+      test<3>(degree,
+              dealii::internal::MatrixFreeFunctions::ConstraintTypes::edge_zx |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_x |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_y);
+
+      // edge 5
+      test<3>(degree,
+              dealii::internal::MatrixFreeFunctions::ConstraintTypes::edge_zx);
+      test<3>(degree,
+              dealii::internal::MatrixFreeFunctions::ConstraintTypes::edge_zx |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_y);
+
+
+      // edge 8
+      test<3>(degree,
+              dealii::internal::MatrixFreeFunctions::ConstraintTypes::edge_xy |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_x |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_y);
+      test<3>(degree,
+              dealii::internal::MatrixFreeFunctions::ConstraintTypes::edge_xy |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_x |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_y |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_z);
+
+      // edge 9
+      test<3>(degree,
+              dealii::internal::MatrixFreeFunctions::ConstraintTypes::edge_xy |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_y);
+      test<3>(degree,
+              dealii::internal::MatrixFreeFunctions::ConstraintTypes::edge_xy |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_y |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_z);
+
+      // edge 10
+      test<3>(degree,
+              dealii::internal::MatrixFreeFunctions::ConstraintTypes::edge_xy |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_x);
+      test<3>(degree,
+              dealii::internal::MatrixFreeFunctions::ConstraintTypes::edge_xy |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_x |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_z);
+
+      // edge 11
+      test<3>(degree,
+              dealii::internal::MatrixFreeFunctions::ConstraintTypes::edge_xy);
+      test<3>(degree,
+              dealii::internal::MatrixFreeFunctions::ConstraintTypes::edge_xy |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_z);
+
+
+      // face 0
+      test<3>(degree,
+              dealii::internal::MatrixFreeFunctions::ConstraintTypes::face_x |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_x);
+
+      // face 1
+      test<3>(degree,
+              dealii::internal::MatrixFreeFunctions::ConstraintTypes::face_x);
+
+      // face 2
+      test<3>(degree,
+              dealii::internal::MatrixFreeFunctions::ConstraintTypes::face_y |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_y);
+
+      // face 3
+      test<3>(degree,
+              dealii::internal::MatrixFreeFunctions::ConstraintTypes::face_y);
+
+      // face 4
+      test<3>(degree,
+              dealii::internal::MatrixFreeFunctions::ConstraintTypes::face_z |
+                dealii::internal::MatrixFreeFunctions::ConstraintTypes::type_z);
+
+      // face 5
+      test<3>(degree,
+              dealii::internal::MatrixFreeFunctions::ConstraintTypes::face_z);
+    }
+}
diff --git a/tests/matrix_free/hanging_node_kernels_01.output b/tests/matrix_free/hanging_node_kernels_01.output
new file mode 100644 (file)
index 0000000..8faa83c
--- /dev/null
@@ -0,0 +1,946 @@
+
+DEAL:0::0.00000 1.00000 2.00000 3.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 
+DEAL:0::
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 
+DEAL:0::0.00000 1.00000 1.00000 3.00000 
+DEAL:0::0.00000 1.00000 1.00000 3.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 
+DEAL:0::1.00000 1.00000 1.00000 3.00000 
+DEAL:0::1.00000 1.00000 1.00000 3.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 
+DEAL:0::1.00000 1.00000 2.00000 3.00000 
+DEAL:0::1.00000 1.00000 2.00000 3.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 
+DEAL:0::0.00000 1.00000 2.00000 2.00000 
+DEAL:0::0.00000 1.00000 2.00000 2.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 
+DEAL:0::0.00000 2.50000 2.00000 1.50000 
+DEAL:0::0.00000 2.50000 2.00000 1.50000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 
+DEAL:0::0.00000 2.00000 2.00000 3.00000 
+DEAL:0::0.00000 2.00000 2.00000 3.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 
+DEAL:0::0.00000 0.500000 2.00000 3.50000 
+DEAL:0::0.00000 0.500000 2.00000 3.50000 
+DEAL:0::
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 
+DEAL:0::0.00000 0.500000 2.00000 3.00000 
+DEAL:0::0.00000 0.500000 2.00000 3.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 
+DEAL:0::0.500000 0.500000 2.00000 3.00000 
+DEAL:0::0.500000 0.500000 2.00000 3.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 
+DEAL:0::0.500000 1.00000 2.00000 3.00000 
+DEAL:0::0.500000 1.00000 2.00000 3.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 
+DEAL:0::0.00000 1.00000 2.00000 2.50000 
+DEAL:0::0.00000 1.00000 2.00000 2.50000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 
+DEAL:0::0.00000 1.00000 3.50000 1.50000 
+DEAL:0::0.00000 1.00000 3.50000 1.50000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 
+DEAL:0::0.00000 1.00000 2.50000 3.00000 
+DEAL:0::0.00000 1.00000 2.50000 3.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 
+DEAL:0::0.00000 1.00000 1.00000 4.00000 
+DEAL:0::0.00000 1.00000 1.00000 4.00000 
+DEAL:0::
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::0.00000 1.00000 2.00000 1.50000 4.00000 5.00000 3.00000 7.00000 8.00000 
+DEAL:0::0.00000 1.00000 2.00000 1.50000 4.00000 5.00000 3.00000 7.00000 8.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::1.12500 1.00000 2.00000 8.25000 4.00000 5.00000 -0.375000 7.00000 8.00000 
+DEAL:0::1.12500 1.00000 2.00000 8.25000 4.00000 5.00000 -0.375000 7.00000 8.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::3.00000 1.00000 2.00000 4.50000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::3.00000 1.00000 2.00000 4.50000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::-0.375000 1.00000 2.00000 2.25000 4.00000 5.00000 7.12500 7.00000 8.00000 
+DEAL:0::-0.375000 1.00000 2.00000 2.25000 4.00000 5.00000 7.12500 7.00000 8.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 3.50000 6.00000 7.00000 5.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 3.50000 6.00000 7.00000 5.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::0.00000 1.00000 3.87500 3.00000 4.00000 11.7500 6.00000 7.00000 -0.625000 
+DEAL:0::0.00000 1.00000 3.87500 3.00000 4.00000 11.7500 6.00000 7.00000 -0.625000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::0.00000 1.00000 5.00000 3.00000 4.00000 6.50000 6.00000 7.00000 8.00000 
+DEAL:0::0.00000 1.00000 5.00000 3.00000 4.00000 6.50000 6.00000 7.00000 8.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::0.00000 1.00000 -0.625000 3.00000 4.00000 5.75000 6.00000 7.00000 9.87500 
+DEAL:0::0.00000 1.00000 -0.625000 3.00000 4.00000 5.75000 6.00000 7.00000 9.87500 
+DEAL:0::
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::0.00000 0.500000 1.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::0.00000 0.500000 1.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::0.375000 2.75000 -0.125000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::0.375000 2.75000 -0.125000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::1.00000 1.50000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::1.00000 1.50000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::-0.125000 0.750000 2.37500 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::-0.125000 0.750000 2.37500 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 6.50000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 6.50000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 8.62500 13.2500 -0.875000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 8.62500 13.2500 -0.875000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 7.00000 7.50000 8.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 7.00000 7.50000 8.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 -0.875000 11.2500 10.6250 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 -0.875000 11.2500 10.6250 
+DEAL:0::
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 2.31672 5.00000 6.00000 7.00000 4.82918 9.00000 10.0000 11.0000 6.00000 13.0000 14.0000 15.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 2.31672 5.00000 6.00000 7.00000 4.82918 9.00000 10.0000 11.0000 6.00000 13.0000 14.0000 15.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::-0.894427 1.00000 2.00000 3.00000 18.0902 5.00000 6.00000 7.00000 8.52786 9.00000 10.0000 11.0000 -1.72361 13.0000 14.0000 15.0000 
+DEAL:0::-0.894427 1.00000 2.00000 3.00000 18.0902 5.00000 6.00000 7.00000 8.52786 9.00000 10.0000 11.0000 -1.72361 13.0000 14.0000 15.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::6.00000 1.00000 2.00000 3.00000 7.17082 5.00000 6.00000 7.00000 9.68328 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::6.00000 1.00000 2.00000 3.00000 7.17082 5.00000 6.00000 7.00000 9.68328 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::0.223607 1.00000 2.00000 3.00000 -0.590170 5.00000 6.00000 7.00000 9.97214 9.00000 10.0000 11.0000 14.3944 13.0000 14.0000 15.0000 
+DEAL:0::0.223607 1.00000 2.00000 3.00000 -0.590170 5.00000 6.00000 7.00000 9.97214 9.00000 10.0000 11.0000 14.3944 13.0000 14.0000 15.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 5.31672 8.00000 9.00000 10.0000 7.82918 12.0000 13.0000 14.0000 9.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 5.31672 8.00000 9.00000 10.0000 7.82918 12.0000 13.0000 14.0000 9.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::0.00000 1.00000 2.00000 2.48057 4.00000 5.00000 6.00000 25.1057 8.00000 9.00000 10.0000 10.5123 12.0000 13.0000 14.0000 -2.09861 
+DEAL:0::0.00000 1.00000 2.00000 2.48057 4.00000 5.00000 6.00000 25.1057 8.00000 9.00000 10.0000 10.5123 12.0000 13.0000 14.0000 -2.09861 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::0.00000 1.00000 2.00000 9.00000 4.00000 5.00000 6.00000 10.1708 8.00000 9.00000 10.0000 12.6833 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::0.00000 1.00000 2.00000 9.00000 4.00000 5.00000 6.00000 10.1708 8.00000 9.00000 10.0000 12.6833 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::0.00000 1.00000 2.00000 -0.151393 4.00000 5.00000 6.00000 1.39425 8.00000 9.00000 10.0000 16.9877 12.0000 13.0000 14.0000 17.7694 
+DEAL:0::0.00000 1.00000 2.00000 -0.151393 4.00000 5.00000 6.00000 1.39425 8.00000 9.00000 10.0000 16.9877 12.0000 13.0000 14.0000 17.7694 
+DEAL:0::
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::0.00000 0.579180 1.20729 1.50000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::0.00000 0.579180 1.20729 1.50000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::-0.223607 4.52254 2.13197 -0.430902 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::-0.223607 4.52254 2.13197 -0.430902 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::1.50000 1.79271 2.42082 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::1.50000 1.79271 2.42082 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::0.0559017 -0.147542 2.49303 3.59861 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::0.0559017 -0.147542 2.49303 3.59861 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 12.5792 13.2073 13.5000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 12.5792 13.2073 13.5000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 13.2764 32.5848 10.0697 -1.93090 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 13.2764 32.5848 10.0697 -1.93090 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 13.5000 13.7927 14.4208 15.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 13.5000 13.7927 14.4208 15.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 -1.44410 7.79015 30.5553 17.0986 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 -1.44410 7.79015 30.5553 17.0986 
+DEAL:0::
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.500000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.500000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 0.500000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 0.500000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.500000 0.500000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.500000 0.500000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.50000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.50000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 1.00000 4.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 1.00000 4.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 2.50000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 2.50000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 3.50000 1.50000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 3.50000 1.50000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.50000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.50000 5.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 2.00000 7.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 2.00000 7.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 4.50000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 4.50000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 6.50000 2.50000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 6.50000 2.50000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.50000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.50000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 3.00000 10.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 3.00000 10.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 6.50000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 6.50000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 9.50000 3.50000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 9.50000 3.50000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::1.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::1.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 1.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 1.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::1.00000 1.00000 1.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::1.00000 1.00000 1.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 2.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 2.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 0.500000 2.00000 3.50000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 0.500000 2.00000 3.50000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 2.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 2.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 2.50000 2.00000 1.50000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 2.50000 2.00000 1.50000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 5.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 5.00000 5.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 2.00000 5.00000 8.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 2.00000 5.00000 8.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 5.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 5.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 7.00000 5.00000 3.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 7.00000 5.00000 3.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 6.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 6.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 2.50000 6.00000 9.50000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 2.50000 6.00000 9.50000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 6.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 6.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 8.50000 6.00000 3.50000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 8.50000 6.00000 3.50000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::2.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::2.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 2.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 2.00000 5.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::2.00000 1.00000 2.00000 3.00000 2.00000 5.00000 6.00000 7.00000 
+DEAL:0::2.00000 1.00000 2.00000 3.00000 2.00000 5.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 3.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 3.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 0.500000 2.00000 3.00000 4.00000 5.50000 6.00000 7.00000 
+DEAL:0::0.00000 0.500000 2.00000 3.00000 4.00000 5.50000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 3.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 3.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 3.50000 2.00000 3.00000 4.00000 2.50000 6.00000 7.00000 
+DEAL:0::0.00000 3.50000 2.00000 3.00000 4.00000 2.50000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 4.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 4.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 1.00000 3.00000 4.00000 5.00000 7.00000 7.00000 
+DEAL:0::0.00000 1.00000 1.00000 3.00000 4.00000 5.00000 7.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 4.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 4.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 5.00000 3.00000 4.00000 5.00000 3.00000 7.00000 
+DEAL:0::0.00000 1.00000 5.00000 3.00000 4.00000 5.00000 3.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 5.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 5.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 1.50000 4.00000 5.00000 6.00000 8.50000 
+DEAL:0::0.00000 1.00000 2.00000 1.50000 4.00000 5.00000 6.00000 8.50000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 5.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 5.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 6.50000 4.00000 5.00000 6.00000 3.50000 
+DEAL:0::0.00000 1.00000 2.00000 6.50000 4.00000 5.00000 6.00000 3.50000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::3.00000 1.00000 4.00000 3.00000 5.00000 5.00000 6.00000 7.00000 
+DEAL:0::3.00000 1.00000 4.00000 3.00000 5.00000 5.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 1.00000 3.00000 2.00000 5.00000 9.00000 7.00000 
+DEAL:0::0.00000 1.00000 1.00000 3.00000 2.00000 5.00000 9.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 4.00000 2.00000 5.00000 4.00000 6.00000 6.00000 7.00000 
+DEAL:0::0.00000 4.00000 2.00000 5.00000 4.00000 6.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 0.250000 2.00000 1.75000 4.00000 2.75000 6.00000 11.2500 
+DEAL:0::0.00000 0.250000 2.00000 1.75000 4.00000 2.75000 6.00000 11.2500 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::2.50000 3.00000 2.00000 3.00000 4.50000 5.00000 6.00000 7.00000 
+DEAL:0::2.50000 3.00000 2.00000 3.00000 4.50000 5.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 0.500000 2.00000 3.00000 2.00000 7.50000 6.00000 7.00000 
+DEAL:0::0.00000 0.500000 2.00000 3.00000 2.00000 7.50000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 4.50000 5.00000 4.00000 5.00000 6.50000 7.00000 
+DEAL:0::0.00000 1.00000 4.50000 5.00000 4.00000 5.00000 6.50000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 0.500000 2.00000 4.00000 5.00000 3.50000 12.0000 
+DEAL:0::0.00000 1.00000 0.500000 2.00000 4.00000 5.00000 3.50000 12.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::1.50000 2.00000 2.50000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::1.50000 2.00000 2.50000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 0.500000 1.00000 4.50000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 0.500000 1.00000 4.50000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 5.50000 6.00000 6.50000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 5.50000 6.00000 6.50000 7.00000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 1.00000 3.50000 4.00000 13.5000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 1.00000 3.50000 4.00000 13.5000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::1.00000 1.50000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::1.00000 1.50000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::-0.125000 0.750000 2.37500 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::-0.125000 0.750000 2.37500 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 0.500000 1.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 0.500000 1.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.375000 2.75000 -0.125000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.375000 2.75000 -0.125000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 7.00000 7.50000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 7.00000 7.50000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 -0.875000 11.2500 10.6250 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 -0.875000 11.2500 10.6250 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 6.50000 7.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 6.50000 7.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 8.62500 13.2500 -0.875000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 8.62500 13.2500 -0.875000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 19.0000 19.5000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 19.0000 19.5000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 -2.37500 32.2500 27.1250 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 -2.37500 32.2500 27.1250 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 18.5000 19.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 18.5000 19.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 25.1250 34.2500 -2.37500 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 25.1250 34.2500 -2.37500 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 25.0000 25.5000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 25.0000 25.5000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 -3.12500 42.7500 35.3750 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 -3.12500 42.7500 35.3750 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 24.5000 25.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 24.5000 25.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 33.3750 44.7500 -3.12500 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 33.3750 44.7500 -3.12500 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::3.00000 1.00000 2.00000 4.50000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::3.00000 1.00000 2.00000 4.50000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::-0.375000 1.00000 2.00000 2.25000 4.00000 5.00000 7.12500 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::-0.375000 1.00000 2.00000 2.25000 4.00000 5.00000 7.12500 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 1.50000 4.00000 5.00000 3.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 1.50000 4.00000 5.00000 3.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::1.12500 1.00000 2.00000 8.25000 4.00000 5.00000 -0.375000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::1.12500 1.00000 2.00000 8.25000 4.00000 5.00000 -0.375000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 5.00000 3.00000 4.00000 6.50000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 5.00000 3.00000 4.00000 6.50000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 -0.625000 3.00000 4.00000 5.75000 6.00000 7.00000 9.87500 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 -0.625000 3.00000 4.00000 5.75000 6.00000 7.00000 9.87500 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 3.50000 6.00000 7.00000 5.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 3.50000 6.00000 7.00000 5.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 3.87500 3.00000 4.00000 11.7500 6.00000 7.00000 -0.625000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 3.87500 3.00000 4.00000 11.7500 6.00000 7.00000 -0.625000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 21.0000 19.0000 20.0000 22.5000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 21.0000 19.0000 20.0000 22.5000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 -2.62500 19.0000 20.0000 33.7500 22.0000 23.0000 31.8750 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 -2.62500 19.0000 20.0000 33.7500 22.0000 23.0000 31.8750 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 19.5000 22.0000 23.0000 21.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 19.5000 22.0000 23.0000 21.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 25.8750 19.0000 20.0000 39.7500 22.0000 23.0000 -2.62500 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 25.8750 19.0000 20.0000 39.7500 22.0000 23.0000 -2.62500 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 23.0000 21.0000 22.0000 24.5000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 23.0000 21.0000 22.0000 24.5000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 -2.87500 21.0000 22.0000 37.2500 24.0000 25.0000 34.6250 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 -2.87500 21.0000 22.0000 37.2500 24.0000 25.0000 34.6250 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 21.5000 24.0000 25.0000 23.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 21.5000 24.0000 25.0000 23.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 28.6250 21.0000 22.0000 43.2500 24.0000 25.0000 -2.87500 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 28.6250 21.0000 22.0000 43.2500 24.0000 25.0000 -2.87500 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::9.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 13.5000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::9.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 13.5000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::-1.12500 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 6.75000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 21.3750 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::-1.12500 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 6.75000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 21.3750 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 4.50000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 9.00000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 4.50000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 9.00000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::3.37500 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 24.7500 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 -1.12500 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::3.37500 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 24.7500 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 -1.12500 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 11.0000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 15.5000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 11.0000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 15.5000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 -1.37500 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 10.2500 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 24.1250 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 -1.37500 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 10.2500 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 24.1250 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 6.50000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 11.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 6.50000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 11.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 6.12500 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 28.2500 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 -1.37500 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 6.12500 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 28.2500 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 -1.37500 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 15.0000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 19.5000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 15.0000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 19.5000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 -1.87500 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 17.2500 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 29.6250 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 -1.87500 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 17.2500 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 29.6250 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 10.5000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 15.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 10.5000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 15.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 11.6250 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 35.2500 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 -1.87500 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 11.6250 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 35.2500 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 -1.87500 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 17.0000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 21.5000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 17.0000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 21.5000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 -2.12500 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 20.7500 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 32.3750 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 -2.12500 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 20.7500 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 32.3750 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 12.5000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 17.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 12.5000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 17.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 14.3750 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 38.7500 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 -2.12500 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 14.3750 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 38.7500 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 -2.12500 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::12.0000 1.00000 2.00000 13.5000 4.00000 5.00000 15.0000 7.00000 8.00000 16.5000 10.0000 11.0000 18.0000 13.0000 14.0000 19.5000 16.0000 17.0000 21.0000 19.0000 20.0000 22.5000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::12.0000 1.00000 2.00000 13.5000 4.00000 5.00000 15.0000 7.00000 8.00000 16.5000 10.0000 11.0000 18.0000 13.0000 14.0000 19.5000 16.0000 17.0000 21.0000 19.0000 20.0000 22.5000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.187500 1.00000 2.00000 -2.25000 4.00000 5.00000 -2.43750 7.00000 8.00000 -1.50000 10.0000 11.0000 15.7500 13.0000 14.0000 21.7500 16.0000 17.0000 -3.18750 19.0000 20.0000 40.5000 22.0000 23.0000 39.1875 25.0000 26.0000 
+DEAL:0::0.187500 1.00000 2.00000 -2.25000 4.00000 5.00000 -2.43750 7.00000 8.00000 -1.50000 10.0000 11.0000 15.7500 13.0000 14.0000 21.7500 16.0000 17.0000 -3.18750 19.0000 20.0000 40.5000 22.0000 23.0000 39.1875 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 14.0000 3.00000 4.00000 15.5000 6.00000 7.00000 17.0000 9.00000 10.0000 18.5000 12.0000 13.0000 20.0000 15.0000 16.0000 21.5000 18.0000 19.0000 23.0000 21.0000 22.0000 24.5000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 14.0000 3.00000 4.00000 15.5000 6.00000 7.00000 17.0000 9.00000 10.0000 18.5000 12.0000 13.0000 20.0000 15.0000 16.0000 21.5000 18.0000 19.0000 23.0000 21.0000 22.0000 24.5000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 0.218750 3.00000 4.00000 -2.68750 6.00000 7.00000 -2.78125 9.00000 10.0000 -1.93750 12.0000 13.0000 21.8750 15.0000 16.0000 26.5625 18.0000 19.0000 -3.53125 21.0000 22.0000 45.3125 24.0000 25.0000 42.9688 
+DEAL:0::0.00000 1.00000 0.218750 3.00000 4.00000 -2.68750 6.00000 7.00000 -2.78125 9.00000 10.0000 -1.93750 12.0000 13.0000 21.8750 15.0000 16.0000 26.5625 18.0000 19.0000 -3.53125 21.0000 22.0000 45.3125 24.0000 25.0000 42.9688 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::10.0000 10.5000 11.0000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 14.5000 15.0000 15.5000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 19.0000 19.5000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::10.0000 10.5000 11.0000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 14.5000 15.0000 15.5000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 19.0000 19.5000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.156250 -2.06250 -1.84375 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 -1.06250 13.1250 13.4375 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 -2.84375 38.4375 32.6562 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.156250 -2.06250 -1.84375 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 -1.06250 13.1250 13.4375 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 -2.84375 38.4375 32.6562 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 16.0000 16.5000 17.0000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 20.5000 21.0000 21.5000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 25.0000 25.5000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 16.0000 16.5000 17.0000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 20.5000 21.0000 21.5000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 25.0000 25.5000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 0.250000 -3.37500 -2.87500 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 -2.37500 31.5000 27.8750 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 -3.87500 52.8750 44.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 0.250000 -3.37500 -2.87500 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 -2.37500 31.5000 27.8750 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 -3.87500 52.8750 44.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::4.00000 4.50000 5.00000 5.50000 6.00000 6.50000 7.00000 7.50000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::4.00000 4.50000 5.00000 5.50000 6.00000 6.50000 7.00000 7.50000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.0625000 -0.750000 -0.812500 -0.500000 5.25000 7.25000 -1.06250 13.5000 13.0625 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.0625000 -0.750000 -0.812500 -0.500000 5.25000 7.25000 -1.06250 13.5000 13.0625 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 22.0000 22.5000 23.0000 23.5000 24.0000 24.5000 25.0000 25.5000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 22.0000 22.5000 23.0000 23.5000 24.0000 24.5000 25.0000 25.5000 26.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 0.343750 -4.68750 -3.90625 -4.43750 60.3750 50.5625 -4.15625 56.8125 47.0938 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 0.343750 -4.68750 -3.90625 -4.43750 60.3750 50.5625 -4.15625 56.8125 47.0938 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::1.50000 1.79271 2.42082 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::1.50000 1.79271 2.42082 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.0559017 -0.147542 2.49303 3.59861 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.0559017 -0.147542 2.49303 3.59861 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 0.579180 1.20729 1.50000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 0.579180 1.20729 1.50000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::-0.223607 4.52254 2.13197 -0.430902 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::-0.223607 4.52254 2.13197 -0.430902 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 13.5000 13.7927 14.4208 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 13.5000 13.7927 14.4208 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 -1.44410 7.79015 30.5553 17.0986 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 -1.44410 7.79015 30.5553 17.0986 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 12.5792 13.2073 13.5000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 12.5792 13.2073 13.5000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 13.2764 32.5848 10.0697 -1.93090 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 13.2764 32.5848 10.0697 -1.93090 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 49.5000 49.7927 50.4208 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 49.5000 49.7927 50.4208 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 -5.94410 31.6032 114.742 57.5986 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 -5.94410 31.6032 114.742 57.5986 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 48.5792 49.2073 49.5000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 48.5792 49.2073 49.5000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 53.7764 116.772 33.8827 -6.43090 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 53.7764 116.772 33.8827 -6.43090 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 61.5000 61.7927 62.4208 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 61.5000 61.7927 62.4208 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 -7.44410 39.5409 142.805 71.0986 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 -7.44410 39.5409 142.805 71.0986 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 60.5792 61.2073 61.5000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 60.5792 61.2073 61.5000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 67.2764 144.834 41.8204 -7.93090 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 67.2764 144.834 41.8204 -7.93090 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::6.00000 1.00000 2.00000 3.00000 7.17082 5.00000 6.00000 7.00000 9.68328 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::6.00000 1.00000 2.00000 3.00000 7.17082 5.00000 6.00000 7.00000 9.68328 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.223607 1.00000 2.00000 3.00000 -0.590170 5.00000 6.00000 7.00000 9.97214 9.00000 10.0000 11.0000 14.3944 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.223607 1.00000 2.00000 3.00000 -0.590170 5.00000 6.00000 7.00000 9.97214 9.00000 10.0000 11.0000 14.3944 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 2.31672 5.00000 6.00000 7.00000 4.82918 9.00000 10.0000 11.0000 6.00000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 2.31672 5.00000 6.00000 7.00000 4.82918 9.00000 10.0000 11.0000 6.00000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::-0.894427 1.00000 2.00000 3.00000 18.0902 5.00000 6.00000 7.00000 8.52786 9.00000 10.0000 11.0000 -1.72361 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::-0.894427 1.00000 2.00000 3.00000 18.0902 5.00000 6.00000 7.00000 8.52786 9.00000 10.0000 11.0000 -1.72361 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 9.00000 4.00000 5.00000 6.00000 10.1708 8.00000 9.00000 10.0000 12.6833 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 9.00000 4.00000 5.00000 6.00000 10.1708 8.00000 9.00000 10.0000 12.6833 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 -0.151393 4.00000 5.00000 6.00000 1.39425 8.00000 9.00000 10.0000 16.9877 12.0000 13.0000 14.0000 17.7694 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 -0.151393 4.00000 5.00000 6.00000 1.39425 8.00000 9.00000 10.0000 16.9877 12.0000 13.0000 14.0000 17.7694 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 5.31672 8.00000 9.00000 10.0000 7.82918 12.0000 13.0000 14.0000 9.00000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 5.31672 8.00000 9.00000 10.0000 7.82918 12.0000 13.0000 14.0000 9.00000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 2.48057 4.00000 5.00000 6.00000 25.1057 8.00000 9.00000 10.0000 10.5123 12.0000 13.0000 14.0000 -2.09861 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 2.48057 4.00000 5.00000 6.00000 25.1057 8.00000 9.00000 10.0000 10.5123 12.0000 13.0000 14.0000 -2.09861 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 54.0000 49.0000 50.0000 51.0000 55.1708 53.0000 54.0000 55.0000 57.6833 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 54.0000 49.0000 50.0000 51.0000 55.1708 53.0000 54.0000 55.0000 57.6833 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 -5.77639 49.0000 50.0000 51.0000 31.1606 53.0000 54.0000 55.0000 122.221 57.0000 58.0000 59.0000 68.3944 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 -5.77639 49.0000 50.0000 51.0000 31.1606 53.0000 54.0000 55.0000 122.221 57.0000 58.0000 59.0000 68.3944 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 50.3167 53.0000 54.0000 55.0000 52.8292 57.0000 58.0000 59.0000 54.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 50.3167 53.0000 54.0000 55.0000 52.8292 57.0000 58.0000 59.0000 54.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 53.1056 49.0000 50.0000 51.0000 130.339 53.0000 54.0000 55.0000 40.2786 57.0000 58.0000 59.0000 -7.72361 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 53.1056 49.0000 50.0000 51.0000 130.339 53.0000 54.0000 55.0000 40.2786 57.0000 58.0000 59.0000 -7.72361 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 57.0000 52.0000 53.0000 54.0000 58.1708 56.0000 57.0000 58.0000 60.6833 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 57.0000 52.0000 53.0000 54.0000 58.1708 56.0000 57.0000 58.0000 60.6833 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 -6.15139 52.0000 53.0000 54.0000 33.1450 56.0000 57.0000 58.0000 129.237 60.0000 61.0000 62.0000 71.7694 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 -6.15139 52.0000 53.0000 54.0000 33.1450 56.0000 57.0000 58.0000 129.237 60.0000 61.0000 62.0000 71.7694 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 53.3167 56.0000 57.0000 58.0000 55.8292 60.0000 61.0000 62.0000 57.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 53.3167 56.0000 57.0000 58.0000 55.8292 60.0000 61.0000 62.0000 57.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 56.4806 52.0000 53.0000 54.0000 137.355 56.0000 57.0000 58.0000 42.2631 60.0000 61.0000 62.0000 -8.09861 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 56.4806 52.0000 53.0000 54.0000 137.355 56.0000 57.0000 58.0000 42.2631 60.0000 61.0000 62.0000 -8.09861 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::24.0000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 28.6833 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 38.7331 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::24.0000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 28.6833 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 38.7331 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.894427 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 -2.36068 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 39.8885 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 57.5777 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.894427 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 -2.36068 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 39.8885 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 57.5777 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 9.26687 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 19.3167 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 24.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 9.26687 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 19.3167 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 24.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::-3.57771 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 72.3607 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 34.1115 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 -6.89443 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::-3.57771 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 72.3607 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 34.1115 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 -6.89443 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 27.0000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 31.6833 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 41.7331 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 27.0000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 31.6833 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 41.7331 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 0.519427 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 -0.376256 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 46.9041 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 60.9527 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 0.519427 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 -0.376256 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 46.9041 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 60.9527 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 12.2669 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 22.3167 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 27.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 12.2669 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 22.3167 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 27.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 -0.202709 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 79.3763 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 36.0959 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 -7.26943 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 -0.202709 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 79.3763 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 36.0959 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 -7.26943 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 36.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 40.6833 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 50.7331 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 36.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 40.6833 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 50.7331 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 -0.605573 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 5.57701 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 67.9508 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 71.0777 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 -0.605573 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 5.57701 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 67.9508 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 71.0777 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 21.2669 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 31.3167 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 36.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 21.2669 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 31.3167 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 36.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 9.92229 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 100.423 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 42.0492 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 -8.39443 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 9.92229 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 100.423 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 42.0492 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 -8.39443 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 39.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 43.6833 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 53.7331 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 39.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 43.6833 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 53.7331 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 -0.980573 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 7.56144 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 74.9664 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 74.4527 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 -0.980573 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 7.56144 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 74.9664 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 74.4527 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 24.2669 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 34.3167 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 39.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 24.2669 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 34.3167 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 39.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 13.2973 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 107.439 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 44.0336 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 -8.76943 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 13.2973 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 107.439 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 44.0336 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 -8.76943 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::30.0000 1.00000 2.00000 3.00000 31.1708 5.00000 6.00000 7.00000 33.6833 9.00000 10.0000 11.0000 36.0000 13.0000 14.0000 15.0000 34.6833 17.0000 18.0000 19.0000 35.8541 21.0000 22.0000 23.0000 38.3666 25.0000 26.0000 27.0000 40.6833 29.0000 30.0000 31.0000 44.7331 33.0000 34.0000 35.0000 45.9039 37.0000 38.0000 39.0000 48.4164 41.0000 42.0000 43.0000 50.7331 45.0000 46.0000 47.0000 54.0000 49.0000 50.0000 51.0000 55.1708 53.0000 54.0000 55.0000 57.6833 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::30.0000 1.00000 2.00000 3.00000 31.1708 5.00000 6.00000 7.00000 33.6833 9.00000 10.0000 11.0000 36.0000 13.0000 14.0000 15.0000 34.6833 17.0000 18.0000 19.0000 35.8541 21.0000 22.0000 23.0000 38.3666 25.0000 26.0000 27.0000 40.6833 29.0000 30.0000 31.0000 44.7331 33.0000 34.0000 35.0000 45.9039 37.0000 38.0000 39.0000 48.4164 41.0000 42.0000 43.0000 50.7331 45.0000 46.0000 47.0000 54.0000 49.0000 50.0000 51.0000 55.1708 53.0000 54.0000 55.0000 57.6833 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::-0.139754 1.00000 2.00000 3.00000 0.665412 5.00000 6.00000 7.00000 0.845124 9.00000 10.0000 11.0000 -0.793073 13.0000 14.0000 15.0000 0.442995 17.0000 18.0000 19.0000 -1.95191 21.0000 22.0000 23.0000 1.07580 25.0000 26.0000 27.0000 6.86578 29.0000 30.0000 31.0000 -4.46316 33.0000 34.0000 35.0000 25.0051 37.0000 38.0000 39.0000 116.600 41.0000 42.0000 43.0000 78.5363 45.0000 46.0000 47.0000 -6.94566 49.0000 50.0000 51.0000 37.4222 53.0000 54.0000 55.0000 145.866 57.0000 58.0000 59.0000 80.9687 61.0000 62.0000 63.0000 
+DEAL:0::-0.139754 1.00000 2.00000 3.00000 0.665412 5.00000 6.00000 7.00000 0.845124 9.00000 10.0000 11.0000 -0.793073 13.0000 14.0000 15.0000 0.442995 17.0000 18.0000 19.0000 -1.95191 21.0000 22.0000 23.0000 1.07580 25.0000 26.0000 27.0000 6.86578 29.0000 30.0000 31.0000 -4.46316 33.0000 34.0000 35.0000 25.0051 37.0000 38.0000 39.0000 116.600 41.0000 42.0000 43.0000 78.5363 45.0000 46.0000 47.0000 -6.94566 49.0000 50.0000 51.0000 37.4222 53.0000 54.0000 55.0000 145.866 57.0000 58.0000 59.0000 80.9687 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 33.0000 4.00000 5.00000 6.00000 34.1708 8.00000 9.00000 10.0000 36.6833 12.0000 13.0000 14.0000 39.0000 16.0000 17.0000 18.0000 37.6833 20.0000 21.0000 22.0000 38.8541 24.0000 25.0000 26.0000 41.3666 28.0000 29.0000 30.0000 43.6833 32.0000 33.0000 34.0000 47.7331 36.0000 37.0000 38.0000 48.9039 40.0000 41.0000 42.0000 51.4164 44.0000 45.0000 46.0000 53.7331 48.0000 49.0000 50.0000 57.0000 52.0000 53.0000 54.0000 58.1708 56.0000 57.0000 58.0000 60.6833 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 33.0000 4.00000 5.00000 6.00000 34.1708 8.00000 9.00000 10.0000 36.6833 12.0000 13.0000 14.0000 39.0000 16.0000 17.0000 18.0000 37.6833 20.0000 21.0000 22.0000 38.8541 24.0000 25.0000 26.0000 41.3666 28.0000 29.0000 30.0000 43.6833 32.0000 33.0000 34.0000 47.7331 36.0000 37.0000 38.0000 48.9039 40.0000 41.0000 42.0000 51.4164 44.0000 45.0000 46.0000 53.7331 48.0000 49.0000 50.0000 57.0000 52.0000 53.0000 54.0000 58.1708 56.0000 57.0000 58.0000 60.6833 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 -0.0928792 4.00000 5.00000 6.00000 0.417359 8.00000 9.00000 10.0000 -0.0318233 12.0000 13.0000 14.0000 -1.21495 16.0000 17.0000 18.0000 0.194942 20.0000 21.0000 22.0000 -0.639266 24.0000 25.0000 26.0000 5.71643 28.0000 29.0000 30.0000 9.09826 32.0000 33.0000 34.0000 -5.34010 36.0000 37.0000 38.0000 29.6458 40.0000 41.0000 42.0000 133.007 44.0000 45.0000 46.0000 86.4289 48.0000 49.0000 50.0000 -7.36753 52.0000 53.0000 54.0000 39.6547 56.0000 57.0000 58.0000 153.758 60.0000 61.0000 62.0000 84.7655 
+DEAL:0::0.00000 1.00000 2.00000 -0.0928792 4.00000 5.00000 6.00000 0.417359 8.00000 9.00000 10.0000 -0.0318233 12.0000 13.0000 14.0000 -1.21495 16.0000 17.0000 18.0000 0.194942 20.0000 21.0000 22.0000 -0.639266 24.0000 25.0000 26.0000 5.71643 28.0000 29.0000 30.0000 9.09826 32.0000 33.0000 34.0000 -5.34010 36.0000 37.0000 38.0000 29.6458 40.0000 41.0000 42.0000 133.007 44.0000 45.0000 46.0000 86.4289 48.0000 49.0000 50.0000 -7.36753 52.0000 53.0000 54.0000 39.6547 56.0000 57.0000 58.0000 153.758 60.0000 61.0000 62.0000 84.7655 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::25.5000 25.7927 26.4208 27.0000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 30.1833 30.4760 31.1041 31.6833 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 40.2331 40.5258 41.1539 41.7331 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 49.5000 49.7927 50.4208 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::25.5000 25.7927 26.4208 27.0000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 30.1833 30.4760 31.1041 31.6833 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 40.2331 40.5258 41.1539 41.7331 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 49.5000 49.7927 50.4208 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::-0.118791 0.610084 1.78001 0.556405 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 0.332063 -1.65913 -3.87143 -0.275378 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 -4.85534 26.0402 99.1104 53.2900 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 -7.13432 37.9202 137.452 68.8234 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::-0.118791 0.610084 1.78001 0.556405 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 0.332063 -1.65913 -3.87143 -0.275378 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 -4.85534 26.0402 99.1104 53.2900 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 -7.13432 37.9202 137.452 68.8234 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 37.5000 37.7927 38.4208 39.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 42.1833 42.4760 43.1041 43.6833 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 52.2331 52.5258 53.1539 53.7331 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 61.5000 61.7927 62.4208 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 37.5000 37.7927 38.4208 39.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 42.1833 42.4760 43.1041 43.6833 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 52.2331 52.5258 53.1539 53.7331 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 61.5000 61.7927 62.4208 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 0.0687089 -0.382128 -1.72778 -1.13110 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 -0.660149 3.59146 14.6911 8.65453 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 -8.36313 44.6027 164.735 84.8601 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 -8.82182 46.8501 169.022 84.0109 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 0.0687089 -0.382128 -1.72778 -1.13110 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 -0.660149 3.59146 14.6911 8.65453 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 -8.36313 44.6027 164.735 84.8601 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 -8.82182 46.8501 169.022 84.0109 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::7.50000 7.79271 8.42082 9.00000 8.67082 8.96353 9.59164 10.1708 11.1833 11.4760 12.1041 12.6833 13.5000 13.7927 14.4208 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::7.50000 7.79271 8.42082 9.00000 8.67082 8.96353 9.59164 10.1708 11.1833 11.4760 12.1041 12.6833 13.5000 13.7927 14.4208 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::-0.0349386 0.166353 0.211281 -0.198268 0.110749 -0.487978 0.268951 1.71645 -1.11579 6.25128 29.1501 19.6341 -1.73641 9.35556 36.4664 20.2422 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::-0.0349386 0.166353 0.211281 -0.198268 0.110749 -0.487978 0.268951 1.71645 -1.11579 6.25128 29.1501 19.6341 -1.73641 9.35556 36.4664 20.2422 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 55.5000 55.7927 56.4208 57.0000 56.6708 56.9635 57.5916 58.1708 59.1833 59.4760 60.1041 60.6833 61.5000 61.7927 62.4208 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 55.5000 55.7927 56.4208 57.0000 56.6708 56.9635 57.5916 58.1708 59.1833 59.4760 60.1041 60.6833 61.5000 61.7927 62.4208 63.0000 
+DEAL:0::
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 51.0000 52.0000 53.0000 54.0000 55.0000 56.0000 57.0000 58.0000 59.0000 60.0000 61.0000 62.0000 63.0000 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 0.715061 -3.80249 -13.8199 -6.94827 -3.85810 20.5144 74.5190 37.4361 -15.1469 80.5013 291.648 145.914 -8.48641 45.0752 162.747 80.9922 
+DEAL:0::0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 0.715061 -3.80249 -13.8199 -6.94827 -3.85810 20.5144 74.5190 37.4361 -15.1469 80.5013 291.648 145.914 -8.48641 45.0752 162.747 80.9922 
+DEAL:0::

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.