From 9012e9cc8642f4eddf238ebdadf68fecb581f436 Mon Sep 17 00:00:00 2001 From: buerg Date: Mon, 1 Nov 2010 13:39:22 +0000 Subject: [PATCH] Fixed some bugs in FE_Nedelec git-svn-id: https://svn.dealii.org/trunk@22571 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/include/deal.II/fe/fe_nedelec.h | 121 +- deal.II/source/fe/fe_nedelec.cc | 12115 +++++++++++++---- tests/deal.II/project_nedelec_02.cc | 6 +- tests/deal.II/project_nedelec_02/cmp/generic | 12 +- tests/fe/internals/cmp/generic | 2044 ++- tests/fe/up_and_down.cc | 1 + tests/fe/up_and_down/cmp/generic | 40 +- 7 files changed, 10977 insertions(+), 3362 deletions(-) diff --git a/deal.II/include/deal.II/fe/fe_nedelec.h b/deal.II/include/deal.II/fe/fe_nedelec.h index db49d30724..89abf472dc 100644 --- a/deal.II/include/deal.II/fe/fe_nedelec.h +++ b/deal.II/include/deal.II/fe/fe_nedelec.h @@ -1,14 +1,3 @@ -//--------------------------------------------------------------------------- -// $Id$ -// -// Copyright (C) 2002, 2003, 2004, 2005, 2006, 2010 by the deal.II authors -// -// This file is subject to QPL and may not be distributed -// without copyright and license information. Please refer -// to the file deal.II/doc/license.html for the text and -// further information on this license. -// -//--------------------------------------------------------------------------- #ifndef __deal2__fe_nedelec_h #define __deal2__fe_nedelec_h @@ -33,42 +22,18 @@ template class MappingQ; /*@{*/ /** - * @warning Several aspects of the implementation are - * experimental. For the moment, it is safe to use the element on - * globally refined meshes with consistent orientation of faces. See - * the todo entries below for more detailed caveats. - * - * Implementation of Nédélec elements, conforming with the + * Implementation of Nédélec elements, conforming with the * space Hcurl. These elements generate vector fields with * tangential components continuous between mesh cells. * - * We follow the convention that the degree of Nédélec elements - * denotes the polynomial degree of the largest complete polynomial subspace - * contained in the Nédélec space. This leads to the - * consistently numbered sequence of spaces - * @f[ - * Q_{k+1} - * \stackrel{\text{grad}}{\rightarrow} - * \text{Nedelec}_k - * \stackrel{\text{curl}}{\rightarrow} - * \text{RaviartThomas}_k - * \stackrel{\text{div}}{\rightarrow} - * DGQ_{k} - * @f] - * Consequently, approximation order of - * the Nedelec space equals the value degree given to the constructor. - * In this scheme, the lowest order element would be created by the call - * FE_Nedelec(0). Note that this follows the convention of Brezzi and - * Raviart, though not the one used in the original paper by Nedelec. + * We follow the usual definition of the degree of Nédélec elements, + * which denotes the polynomial degree of the lowest complete polynomial + * subspace contained in the Nédélec space. Then, approximation order of + * the function itself is degree. * * This class is not implemented for the codimension one case * (spacedim != dim). * - * @todo The constraint matrices for hanging nodes are only - * implemented in 2D. Currently, the 3D version will run without an - * exception being triggered, but results at refinement edges will be - * wrong. - * * @todo Even if this element is implemented for two and three space * dimensions, the definition of the node values relies on * consistently oriented faces in 3D. Therefore, care should be taken @@ -77,7 +42,7 @@ template class MappingQ; *

Interpolation

* * The @ref GlossInterpolation "interpolation" operators associated - * with the Nédélec element are constructed such that interpolation and + * with the Nédélec element are constructed such that interpolation and * computing the curl are commuting operations. We require this * from interpolating arbitrary functions as well as the #restriction * matrices. @@ -86,7 +51,7 @@ template class MappingQ; * * The @ref GlossNodes "node values" on edges are the moments of the * tangential component of the interpolated function with respect to - * the traces of the Nédélec polynomials. Higher-order Nédélec spaces + * the traces of the Nédélec polynomials. Higher-order Nédélec spaces * also have face and interior nodes. * *

Generalized support points

@@ -99,13 +64,13 @@ template class MappingQ; * the interior of the cell (or none for N1). * * - * @author Markus Bürg, 2009 + * @author Markus Bürg, 2009 */ template class FE_Nedelec : public FE_PolyTensor, dim> { public: /** - * Constructor for the Nédélec + * Constructor for the Nédélec * element of degree @p p. */ FE_Nedelec (const unsigned int p); @@ -126,7 +91,8 @@ class FE_Nedelec : public FE_PolyTensor, dim> { * Check whether a shape function * may be non-zero on a face. */ - virtual bool has_support_on_face (const unsigned int shape_index, const unsigned int face_index) const; + virtual bool has_support_on_face (const unsigned int shape_index, + const unsigned int face_index) const; /** * Return whether this element implements its @@ -140,6 +106,12 @@ class FE_Nedelec : public FE_PolyTensor, dim> { */ virtual bool hp_constraints_are_implemented () const; + /** + * Return whether this element dominates the one, + * which is given as argument. + */ + virtual FiniteElementDomination::Domination + compare_for_face_domination (const FiniteElement& fe_other) const; /** * If, on a vertex, several finite elements are * active, the hp code first assigns the degrees @@ -161,19 +133,22 @@ class FE_Nedelec : public FE_PolyTensor, dim> { * second is the corresponding index of the other * finite element. */ - virtual std::vector > hp_vertex_dof_identities (const FiniteElement& fe_other) const; + virtual std::vector > + hp_vertex_dof_identities (const FiniteElement& fe_other) const; /** * Same as hp_vertex_dof_indices(), except that * the function treats degrees of freedom on lines. */ - virtual std::vector > hp_line_dof_identities (const FiniteElement& fe_other) const; + virtual std::vector > + hp_line_dof_identities (const FiniteElement& fe_other) const; /** * Same as hp_vertex_dof_indices(), except that * the function treats degrees of freedom on lines. */ - virtual std::vector > hp_quad_dof_identities (const FiniteElement& fe_other) const; + virtual std::vector > + hp_quad_dof_identities (const FiniteElement& fe_other) const; /** * Return the matrix interpolating from a face of one @@ -188,8 +163,9 @@ class FE_Nedelec : public FE_PolyTensor, dim> { * element, then they must throw an exception of type * FiniteElement::ExcInterpolationNotImplemented. */ - virtual void get_face_interpolation_matrix (const FiniteElement& source, - FullMatrix& matrix) const; + virtual void + get_face_interpolation_matrix (const FiniteElement& source, + FullMatrix& matrix) const; /** * Return the matrix interpolating from a face of one element @@ -204,14 +180,20 @@ class FE_Nedelec : public FE_PolyTensor, dim> { * element, then they must throw an exception of type * ExcInterpolationNotImplemented. */ - virtual void get_subface_interpolation_matrix (const FiniteElement& source, - const unsigned int subface, - FullMatrix& matrix) const; - - virtual void interpolate (std::vector& local_dofs, const std::vector& values) const; - - virtual void interpolate (std::vector& local_dofs, const std::vector >& values, unsigned int offset = 0) const; - virtual void interpolate (std::vector& local_dofs, const VectorSlice > >& values) const; + virtual void + get_subface_interpolation_matrix (const FiniteElement& source, + const unsigned int subface, + FullMatrix& matrix) const; + + virtual void interpolate (std::vector& local_dofs, + const std::vector& values) const; + + virtual void interpolate (std::vector& local_dofs, + const std::vector >& values, + unsigned int offset = 0) const; + virtual void interpolate (std::vector& local_dofs, + const VectorSlice > >& values) + const; virtual unsigned int memory_consumption () const; virtual FiniteElement * clone() const; @@ -226,14 +208,17 @@ class FE_Nedelec : public FE_PolyTensor, dim> { * be passed to the constructor of * @p FiniteElementData. */ - static std::vector get_dpo_vector (const unsigned int degree); + static std::vector + get_dpo_vector (const unsigned int degree); /** * Initialize the @p * generalized_support_points * field of the FiniteElement * class and fill the tables with - * interpolation weights. Called + * interpolation weights + * (#boundary_weights and + * #interior_weights). Called * from the constructor. */ void initialize_support_points (const unsigned int degree); @@ -244,7 +229,7 @@ class FE_Nedelec : public FE_PolyTensor, dim> { * cells onto the father * cell. According to the * philosophy of the - * Nédélec element, this + * Nédélec element, this * restriction operator preserves * the curl of a function * weakly. @@ -336,22 +321,8 @@ template <> void FE_Nedelec<1>::initialize_restriction(); -template <> -void -FE_Nedelec<1>::initialize_support_points (const unsigned int degree); - -template <> -void -FE_Nedelec<2>::initialize_support_points (const unsigned int degree); - -template <> -void -FE_Nedelec<3>::initialize_support_points (const unsigned int degree); - #endif // DOXYGEN -/*@}*/ - DEAL_II_NAMESPACE_CLOSE #endif diff --git a/deal.II/source/fe/fe_nedelec.cc b/deal.II/source/fe/fe_nedelec.cc index 6b1b4b139f..693829b6be 100644 --- a/deal.II/source/fe/fe_nedelec.cc +++ b/deal.II/source/fe/fe_nedelec.cc @@ -62,199 +62,28 @@ deg (p) // Fill prolongation matrices with embedding operators FETools::compute_embedding_matrices (*this, this->prolongation); initialize_restriction (); - - switch (dim) - { - case 2: - this->interface_constraints.reinit ( - GeometryInfo::max_children_per_face * this->dofs_per_face, - this->dofs_per_face); - break; - case 3: - this->interface_constraints.reinit ( - GeometryInfo::max_children_per_face * this->dofs_per_face - - 4 * this->dofs_per_line, - this->dofs_per_face); - break; - default: - Assert(false, ExcNotImplemented()); - break; - } - + FullMatrix face_embeddings[GeometryInfo::max_children_per_face]; - + for (unsigned int i = 0; i < GeometryInfo::max_children_per_face; ++i) - face_embeddings[i].reinit (this->dofs_per_face, this->dofs_per_face); - + face_embeddings[i].reinit (this->dofs_per_face, this->dofs_per_face); + FETools::compute_face_embedding_matrices (*this, face_embeddings, 0, 0); - - // In two space dimensions, things are easy, since the child - // faces do not share any degrees of freedom - Assert (dim<4, ExcNotImplemented()); - if (dim==2) - { - unsigned int target_row = 0; - - for (unsigned int i = 0; i < GeometryInfo::max_children_per_face; ++i) - for (unsigned int j = 0; j < face_embeddings[i].m (); ++j) - { - for (unsigned int k = 0; k < face_embeddings[i].n (); ++k) - this->interface_constraints (target_row, k) - = face_embeddings[i] (j, k); - - ++target_row; - } - } - // Now the 2D case, where the children share degrees of freedom on - // edges. which means, we must go though all edges to reproduce the numbering. - // Lets pray that at least the subfaces are numbered as expected - else - { - unsigned int target_row = 0; - // right edge of lower left child - for (unsigned int jj = 0; jj < this->dofs_per_line; ++jj) - { - const unsigned int j = this->first_face_line_index + this->dofs_per_line + jj; - for (unsigned int k = 0; k < face_embeddings[0].n (); ++k) - this->interface_constraints (target_row, k) - = face_embeddings[0] (j, k); - ++target_row; - } - // right edge of upper left child - for (unsigned int jj = 0; jj < this->dofs_per_line; ++jj) - { - const unsigned int j = this->first_face_line_index + this->dofs_per_line + jj; - for (unsigned int k = 0; k < face_embeddings[0].n (); ++k) - this->interface_constraints (target_row, k) - = face_embeddings[2] (j, k); - ++target_row; - } - // upper edge of lower left child - for (unsigned int jj = 0; jj < this->dofs_per_line; ++jj) - { - const unsigned int j = this->first_face_line_index + 3*this->dofs_per_line + jj; - for (unsigned int k = 0; k < face_embeddings[0].n (); ++k) - this->interface_constraints (target_row, k) - = face_embeddings[0] (j, k); - ++target_row; - } - // upper edge of lower right child - for (unsigned int jj = 0; jj < this->dofs_per_line; ++jj) - { - const unsigned int j = this->first_face_line_index + 3*this->dofs_per_line + jj; - for (unsigned int k = 0; k < face_embeddings[0].n (); ++k) - this->interface_constraints (target_row, k) - = face_embeddings[1] (j, k); - ++target_row; - } - // left edge of lower left child - for (unsigned int jj = 0; jj < this->dofs_per_line; ++jj) - { - const unsigned int j = this->first_face_line_index + jj; - for (unsigned int k = 0; k < face_embeddings[0].n (); ++k) - this->interface_constraints (target_row, k) - = face_embeddings[0] (j, k); - ++target_row; - } - // left edge of upper left child - for (unsigned int jj = 0; jj < this->dofs_per_line; ++jj) - { - const unsigned int j = this->first_face_line_index + jj; - for (unsigned int k = 0; k < face_embeddings[0].n (); ++k) - this->interface_constraints (target_row, k) - = face_embeddings[2] (j, k); - ++target_row; - } - // right edge of lower right child - for (unsigned int jj = 0; jj < this->dofs_per_line; ++jj) - { - const unsigned int j = this->first_face_line_index + this->dofs_per_line + jj; - for (unsigned int k = 0; k < face_embeddings[0].n (); ++k) - this->interface_constraints (target_row, k) - = face_embeddings[1] (j, k); - ++target_row; - } - // right edge of upper right child - for (unsigned int jj = 0; jj < this->dofs_per_line; ++jj) - { - const unsigned int j = this->first_face_line_index + this->dofs_per_line + jj; - for (unsigned int k = 0; k < face_embeddings[0].n (); ++k) - this->interface_constraints (target_row, k) - = face_embeddings[3] (j, k); - ++target_row; - } - // lower edge of lower left child - for (unsigned int jj = 0; jj < this->dofs_per_line; ++jj) - { - const unsigned int j = this->first_face_line_index + 2*this->dofs_per_line + jj; - for (unsigned int k = 0; k < face_embeddings[0].n (); ++k) - this->interface_constraints (target_row, k) - = face_embeddings[0] (j, k); - ++target_row; - } - // lower edge of lower right child - for (unsigned int jj = 0; jj < this->dofs_per_line; ++jj) - { - const unsigned int j = this->first_face_line_index + 2*this->dofs_per_line + jj; - for (unsigned int k = 0; k < face_embeddings[0].n (); ++k) - this->interface_constraints (target_row, k) - = face_embeddings[1] (j, k); - ++target_row; - } - // upper edge of upper left child - for (unsigned int jj = 0; jj < this->dofs_per_line; ++jj) - { - const unsigned int j = this->first_face_line_index + 3*this->dofs_per_line + jj; - for (unsigned int k = 0; k < face_embeddings[0].n (); ++k) - this->interface_constraints (target_row, k) - = face_embeddings[2] (j, k); - ++target_row; - } - // upper edge of upper right child - for (unsigned int jj = 0; jj < this->dofs_per_line; ++jj) - { - const unsigned int j = this->first_face_line_index + 3*this->dofs_per_line + jj; - for (unsigned int k = 0; k < face_embeddings[0].n (); ++k) - this->interface_constraints (target_row, k) - = face_embeddings[3] (j, k); - ++target_row; - } - // Now the interior dofs of each subface - for (unsigned int jj = 0; jj < this->dofs_per_quad; ++jj) - { - const unsigned int j = this->first_face_quad_index + jj; - for (unsigned int k = 0; k < face_embeddings[0].n (); ++k) - this->interface_constraints (target_row, k) - = face_embeddings[0] (j, k); - ++target_row; - } - for (unsigned int jj = 0; jj < this->dofs_per_quad; ++jj) - { - const unsigned int j = this->first_face_quad_index + jj; - for (unsigned int k = 0; k < face_embeddings[0].n (); ++k) - this->interface_constraints (target_row, k) - = face_embeddings[1] (j, k); - ++target_row; - } - for (unsigned int jj = 0; jj < this->dofs_per_quad; ++jj) - { - const unsigned int j = this->first_face_quad_index + jj; - for (unsigned int k = 0; k < face_embeddings[0].n (); ++k) - this->interface_constraints (target_row, k) - = face_embeddings[2] (j, k); - ++target_row; - } - for (unsigned int jj = 0; jj < this->dofs_per_quad; ++jj) - { - const unsigned int j = this->first_face_quad_index + jj; - for (unsigned int k = 0; k < face_embeddings[0].n (); ++k) - this->interface_constraints (target_row, k) - = face_embeddings[3] (j, k); - ++target_row; - } - Assert(target_row == this->interface_constraints.m(), ExcInternalError()); - } + this->interface_constraints.reinit ((1 << (dim - 1)) * this->dofs_per_face, + this->dofs_per_face); + + unsigned int target_row = 0; + + for (unsigned int i = 0; i < GeometryInfo::max_children_per_face; ++i) + for (unsigned int j = 0; j < face_embeddings[i].m (); ++j) + { + for (unsigned int k = 0; k < face_embeddings[i].n (); ++k) + this->interface_constraints (target_row, k) + = face_embeddings[i] (j, k); + + ++target_row; + } } @@ -271,7 +100,7 @@ FE_Nedelec::get_name () const // have to be kept in synch std::ostringstream namebuf; - namebuf << "FE_Nedelec<" << dim << ">(" << this->tensor_degree()-1 << ")"; + namebuf << "FE_Nedelec<" << dim << ">(" << deg << ")"; return namebuf.str(); } @@ -599,2813 +428,9449 @@ template void FE_Nedelec::initialize_restriction () { - // To save some computation time we just - // put in the correct values, which can - // be calculated by projection-based - // interpolation. + // This function does the same as the + // function interpolate further below. + // But since the functions, which we + // interpolate here, are discontinuous + // we have to use more quadrature + // points as in interpolate. + const QGauss<1> edge_quadrature (2 * this->degree); + const std::vector >& edge_quadrature_points + = edge_quadrature.get_points (); + const unsigned int& + n_edge_quadrature_points = edge_quadrature.size (); + switch (dim) { case 2: { - const unsigned int n_boundary_dofs - = GeometryInfo::lines_per_cell * this->degree; - - for (unsigned int ref = RefinementCase::cut_x; - ref <= RefinementCase::isotropic_refinement; ++ref) + for (unsigned int ref = RefinementCase<2>::cut_x; + ref <= RefinementCase<2>::isotropic_refinement; ++ref) { const unsigned int index = ref - 1; switch (ref) { - case RefinementCase::cut_x: - { - for (unsigned int i = 0; i <= deg; ++i) - { - for (unsigned int j = 0; j < 2; ++j) - this->restriction[index][j] (i + j * this->degree, - i + j * this->degree) - = 2.0; - - for (unsigned int j = 2; - j < GeometryInfo::lines_per_cell; ++j) - for (unsigned int k = 0; k < 2; ++k) - this->restriction[index][k] - (i + j * this->degree, i + j * this->degree) - = 1.0; - - for (unsigned int j = 0; j < deg; ++j) - for (unsigned int k = 0; k < 2; ++k) - for (unsigned int child = 0; - child < GeometryInfo::n_children - (RefinementCase (ref)); - ++ child) - this->restriction[index][child] - ((i + k * this->degree) * deg + j - + n_boundary_dofs, - (i + k * this->degree) * deg + j - + n_boundary_dofs) = 1.0; - } - - break; - } - - case RefinementCase::cut_y: - { - for (unsigned int i = 0; i < this->degree; ++i) - { - for (unsigned int j = 0; j < 2; ++j) - { - for (unsigned int k = 0; k < 2; ++k) - this->restriction[index][k] - (i + j * this->degree, i + j * this->degree) - = 1.0; - - this->restriction[index][j] - (i + (j + 2) * this->degree, - i + (j + 2) * this->degree) = 2.0; - } - - for (unsigned int j = 0; j < deg; ++j) - for (unsigned int k = 0; k < 2; ++k) - for (unsigned int child = 0; - child < GeometryInfo::n_children - (RefinementCase (ref)); - ++ child) - this->restriction[index][child] - ((i + k * this->degree) * deg + j - + n_boundary_dofs, - (i + k * this->degree) * deg + j - + n_boundary_dofs) = 1.0; - } - - break; - } - - case RefinementCase::isotropic_refinement: + case RefinementCase<2>::cut_x: { - for (unsigned int i = 0; i < this->degree; ++i) - { - for (unsigned int j = 0; j < 2; ++j) + // First interpolate the shape + // functions of the child cells + // to the lowest order shape + // functions of the parent cell. + for (unsigned int dof = 0; dof < this->dofs_per_cell; + ++dof) + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; ++q_point) + { { - this->restriction[index][j] - (i + j * this->degree, i + j * this->degree) - = 1.0; - this->restriction[index][j] - (i + 2 * this->degree, i + 2 * this->degree) - = 1.0; - this->restriction[index][j + 2] - (i + j * this->degree, i + j * this->degree) - = 1.0; - this->restriction[index][j + 2] - (i + 3 * this->degree, i + 3 * this->degree) - = 1.0; + const double + weight = edge_quadrature.weight (q_point); + + for (unsigned int i = 0; i < 2; ++i) + { + const Point + quadrature_point + (i, edge_quadrature_points[q_point] (0)); + + this->restriction[index][i] + (i * this->degree, dof) + += weight * this->shape_value_component + (dof, quadrature_point, 1); + } } - - for (unsigned int j = 0; j < deg; ++j) - for (unsigned int k = 0; k < 2; ++k) - for (unsigned int child = 0; - child < GeometryInfo::n_children - (RefinementCase (ref)); - ++ child) - this->restriction[index][child] - ((i + k * this->degree) * deg + j - + n_boundary_dofs, - (i + k * this->degree) * deg + j - + n_boundary_dofs) = 0.5; - } - - break; - } - - default: - Assert (false, ExcNotImplemented ()); - } - } - - break; - } - - case 3: - { - const unsigned int n_edge_dofs - = GeometryInfo::lines_per_cell * deg; - const unsigned int n_boundary_dofs - = n_edge_dofs - + 2 * GeometryInfo::faces_per_cell * deg * this->degree; - - for (unsigned int ref = RefinementCase::cut_x; - ref <= RefinementCase::isotropic_refinement; ++ref) - { - const unsigned int index = ref - 1; - - switch (ref) - { - case RefinementCase<3>::cut_x: - { - for (unsigned int i = 0; i <= deg; ++i) - for (unsigned int j = 0; j < 2; ++j) - { - this->restriction[index][j] (i + j * this->degree, - i + j * this->degree) - = 2.0; - this->restriction[index][j] (i + 2 * this->degree, - i + 2 * this->degree) - = 1.0; - this->restriction[index][j] (i + 3 * this->degree, - i + 3 * this->degree) - = 1.0; - this->restriction[index][j] - (i + (j + 4) * this->degree, - i + (j + 4) * this->degree) = 2.0; - this->restriction[index][j] (i + 6 * this->degree, - i + 6 * this->degree) - = 1.0; - this->restriction[index][j] (i + 7 * this->degree, - i + 7 * this->degree) - = 1.0; - this->restriction[index][j] - (i + (j + 8) * this->degree, - i + (j + 8) * this->degree) = 2.0; - this->restriction[index][j] - (i + (j + 10) * this->degree, - i + (j + 10) * this->degree) = 2.0; - } - - for (unsigned int i = 0; i < 2 * this->degree * deg; ++i) - for (unsigned int j = 0; j < 2; ++j) - { - this->restriction[index][j] - (i + j * this->degree * deg + n_edge_dofs, - i + j * this->degree + deg + n_edge_dofs) = 2.0; - - for (unsigned int k = 0; k < 4; ++k) - this->restriction[index][j] - (i + (2 * k + 4) * this->degree * deg - + n_edge_dofs, - i + (2 * k + 4) * this->degree * deg - + n_edge_dofs) = 1.0; + + const double weight + = 2.0 * edge_quadrature.weight (q_point); + + if (edge_quadrature_points[q_point] (0) < 0.5) + for (unsigned int i = 0; i < 2; ++i) + { + const Point + quadrature_point + (2.0 * edge_quadrature_points[q_point] (0), + i); + + this->restriction[index][0] + ((i + 2) * this->degree, dof) + += weight * this->shape_value_component + (dof, quadrature_point, 0); + } + + else + for (unsigned int i = 0; i < 2; ++i) + { + const Point + quadrature_point + (2.0 * edge_quadrature_points[q_point] (0) + - 1.0, i); + + this->restriction[index][1] + ((i + 2) * this->degree, dof) + += weight * this->shape_value_component + (dof, quadrature_point, 0); + } } - - break; - } - - case RefinementCase<3>::cut_y: - { - for (unsigned int i = 0; i <= deg; ++i) - for (unsigned int j = 0; j < 2; ++j) + // Then project the shape functions + // of the child cells to the higher + // order shape functions of the + // parent cell. + if (deg > 0) + { + const std::vector >& + legendre_polynomials + = Polynomials::Legendre::generate_complete_basis + (deg); + FullMatrix system_matrix_inv (deg, deg); + { - this->restriction[index][j] (i, i) = 1.0; - this->restriction[index][j] (i + this->degree, - i + this->degree) - = 1.0; - this->restriction[index][j] - (i + (j + 2) * this->degree, - i + (j + 2) * this->degree) = 2.0; - this->restriction[index][j] (i + 4 * this->degree, - i + 4 * this->degree) - = 1.0; - this->restriction[index][j] (i + 5 * this->degree, - i + 5 * this->degree) - = 1.0; - - for (unsigned int k = 3; k < 6; ++k) - this->restriction[index][j] - (i + (j + 2 * k) * this->degree, - i + (j + 2 * k) * this->degree) = 2.0; + FullMatrix assembling_matrix (deg, + n_edge_quadrature_points); + + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; + ++q_point) + { + const double weight + = std::sqrt (edge_quadrature.weight + (q_point)); + + for (unsigned int i = 0; i < deg; ++i) + assembling_matrix (i, q_point) + = weight + * legendre_polynomials[i + 1].value + (edge_quadrature_points[q_point] (0)); + } + + FullMatrix system_matrix (deg, deg); + + assembling_matrix.mTmult (system_matrix, + assembling_matrix); + system_matrix_inv.invert (system_matrix); } - - for (unsigned int i = 0; i < 2 * this->degree * deg; ++i) - for (unsigned int j = 0; j < 2; ++j) + + FullMatrix solution (deg, 3); + FullMatrix system_rhs (deg, 3); + Vector tmp (3); + + for (unsigned int dof = 0; + dof < this->dofs_per_cell; ++dof) + for (unsigned int i = 0; i < 2; ++i) + { + system_rhs = 0.0; + + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; + ++q_point) + { + const double weight + = edge_quadrature.weight (q_point); + Point quadrature_point_0 (i, + edge_quadrature_points[q_point] + (0)); + + tmp (0) = weight + * (this->shape_value_component + (dof, quadrature_point_0, 1) + - this->restriction[index][i] + (i * this->degree, dof) + * this->shape_value_component + (i * this->degree, + quadrature_point_0, 1)); + quadrature_point_0 + = Point (edge_quadrature_points[q_point] (0), + i); + + if (edge_quadrature_points[q_point] (0) + < 0.5) + { + const Point + quadrature_point_1 (2.0 * edge_quadrature_points[q_point] (0), + i); + + tmp (1) = weight + * (2.0 * this->shape_value_component + (dof, + quadrature_point_1, + 0) + - this->restriction[index][0] + ((i + 2) * this->degree, + dof) + * this->shape_value_component + ((i + 2) * this->degree, + quadrature_point_0, + 0)); + tmp (2) = -1.0 * weight + * this->restriction[index][1] + ((i + 2) * this->degree, + dof) + * this->shape_value_component + ((i + 2) * this->degree, + quadrature_point_0, + 0); + } + + else + { + tmp (1) = -1.0 * weight + * this->restriction[index][0] + ((i + 2) * this->degree, + dof) + * this->shape_value_component + ((i + 2) * this->degree, + quadrature_point_0, + 0); + + const Point + quadrature_point_1 (2.0 * edge_quadrature_points[q_point] (0) + - 1.0, + i); + + tmp (2) = weight + * (2.0 * this->shape_value_component + (dof, + quadrature_point_1, + 0) + - this->restriction[index][1] + ((i + 2) * this->degree, + dof) + * this->shape_value_component + ((i + 2) * this->degree, + quadrature_point_0, + 0)); + } + + for (unsigned int j = 0; j < deg; ++j) + { + const double L_j + = legendre_polynomials[j + 1].value + (edge_quadrature_points[q_point] (0)); + + for (unsigned int k = 0; + k < tmp.size (); ++k) + system_rhs (j, k) += tmp (k) * L_j; + } + } + + system_matrix_inv.mmult (solution, + system_rhs); + + for (unsigned int j = 0; j < deg; ++j) + { + if (std::abs (solution (j, 0)) > 1e-14) + this->restriction[index][i] + (i * this->degree + j + 1, dof) + = solution (j, 0); + + for (unsigned int k = 0; k < 2; ++k) + if (std::abs (solution (j, k + 1)) + > 1e-14) + this->restriction[index][k] + ((i + 2) * this->degree + j + 1, + dof) = solution (j, k + 1); + } + } + + const QGauss quadrature (2 * this->degree); + const std::vector >& + quadrature_points = quadrature.get_points (); + const std::vector >& + lobatto_polynomials = Polynomials::Lobatto::generate_complete_basis + (this->degree); + const unsigned int n_boundary_dofs + = GeometryInfo::faces_per_cell * this->degree; + const unsigned int& n_quadrature_points + = quadrature.size (); + { - this->restriction[index][j] (i + n_edge_dofs, - i + n_edge_dofs) - = 1.0; - this->restriction[index][j] - (i + 2 * this->degree * deg + n_edge_dofs, - i + 2 * this->degree * deg + n_edge_dofs) = 1.0; - this->restriction[index][j] - (i + (2 * j + 4) * this->degree * deg - + n_edge_dofs, - i + (2 * j + 4) * this->degree * deg - + n_edge_dofs) = 2.0; - this->restriction[index][j] - (i + 8 * this->degree * deg + n_edge_dofs, - i + 8 * this->degree * deg + n_edge_dofs) = 1.0; - this->restriction[index][j] - (i + 10 * this->degree * deg + n_edge_dofs, - i + 10 * this->degree * deg + n_edge_dofs) = 1.0; + FullMatrix + assembling_matrix (deg * this->degree, + n_quadrature_points); + + for (unsigned int q_point = 0; + q_point < n_quadrature_points; ++q_point) + { + const double weight + = std::sqrt (quadrature.weight (q_point)); + + for (unsigned int i = 0; i <= deg; ++i) + { + const double L_i + = weight * legendre_polynomials[i].value + (quadrature_points[q_point] (0)); + + for (unsigned int j = 0; j < deg; ++j) + assembling_matrix (i * deg + j, + q_point) + = L_i * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (1)); + } + } + + FullMatrix + system_matrix (assembling_matrix.m (), + assembling_matrix.m ()); + + assembling_matrix.mTmult (system_matrix, + assembling_matrix); + system_matrix_inv.reinit (system_matrix.m (), + system_matrix.m ()); + system_matrix_inv.invert (system_matrix); } - - break; - } - - case RefinementCase<3>::cut_xy: - { - for (unsigned int i = 0; i <= deg; ++i) - { - for (unsigned int j = 0; j < 2; ++j) + + solution.reinit (system_matrix_inv.m (), 4); + system_rhs.reinit (system_matrix_inv.m (), 4); + tmp.reinit (4); + + for (unsigned int dof = 0; + dof < this->dofs_per_cell; ++dof) { - this->restriction[index][2 * j] (i, i) = 1.0; - this->restriction[index][2 * j + 1] - (i + this->degree, i + this->degree) = 1.0; - this->restriction[index][j] - (i + 2 * this->degree, i + 2 * this->degree) - = 1.0; - this->restriction[index][j + 2] - (i + 3 * this->degree, i + 3 * this->degree) - = 1.0; - this->restriction[index][2 * j] - (i + 4 * this->degree, i + 4 * this->degree) - = 1.0; - this->restriction[index][2 * j + 1] - (i + 5 * this->degree, i + 5 * this->degree) - = 1.0; - this->restriction[index][j] - (i + 6 * this->degree, i + 6 * this->degree) - = 1.0; - this->restriction[index][j + 2] - (i + 7 * this->degree, i + 7 * this->degree) - = 1.0; + system_rhs = 0.0; + + for (unsigned int q_point = 0; + q_point < n_quadrature_points; ++q_point) + { + tmp = 0.0; + + if (quadrature_points[q_point] (0) < 0.5) + { + const Point + quadrature_point + (2.0 * quadrature_points[q_point] (0), + quadrature_points[q_point] (1)); + + tmp (0) += 2.0 + * this->shape_value_component + (dof, quadrature_point, 0); + tmp (1) += this->shape_value_component + (dof, quadrature_point, 1); + } + + else + { + const Point + quadrature_point + (2.0 * quadrature_points[q_point] (0) + - 1.0, + quadrature_points[q_point] (1)); + + tmp (2) += 2.0 + * this->shape_value_component + (dof, quadrature_point, 0); + tmp (3) += this->shape_value_component + (dof, quadrature_point, 1); + } + + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j <= deg; ++j) + { + for (unsigned int k = 2; k < 4; ++k) + tmp (2 * i) + -= this->restriction[index][i] + (j + k * this->degree, dof) + * this->shape_value_component + (j + k * this->degree, + quadrature_points[q_point], + 0); + + tmp (2 * i + 1) + -= this->restriction[index][i] + (i * this->degree + j, dof) + * this->shape_value_component + (i * this->degree + j, + quadrature_points[q_point], 1); + } + + tmp *= quadrature.weight (q_point); + + for (unsigned int i = 0; i <= deg; ++i) + { + const double L_i_0 + = legendre_polynomials[i].value + (quadrature_points[q_point] (0)); + const double L_i_1 + = legendre_polynomials[i].value + (quadrature_points[q_point] (1)); + + for (unsigned int j = 0; j < deg; ++j) + { + const double l_j_0 + = L_i_0 * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (1)); + const double l_j_1 + = L_i_1 * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (0)); + + for (unsigned int k = 0; k < 2; + ++k) + { + system_rhs (i * deg + j, 2 * k) + += tmp (2 * k) * l_j_0; + system_rhs (i * deg + j, + 2 * k + 1) + += tmp (2 * k + 1) * l_j_1; + } + } + } + } + + system_matrix_inv.mmult (solution, system_rhs); + + for (unsigned int i = 0; i <= deg; ++i) + for (unsigned int j = 0; j < deg; ++j) + for (unsigned int k = 0; k < 2; ++k) + { + if (std::abs (solution (i * deg + j, + 2 * k)) + > 1e-14) + this->restriction[index][k] + (i * deg + j + n_boundary_dofs, dof) + = solution (i * deg + j, 2 * k); + + if (std::abs (solution (i * deg + j, + 2 * k + 1)) + > 1e-14) + this->restriction[index][k] + (i + (deg + j) * this->degree + + n_boundary_dofs, dof) + = solution (i * deg + j, + 2 * k + 1); + } } - - for (unsigned int j = 0; j < 4; ++j) - this->restriction[index][j] - (i + (j + 8) * this->degree, - i + (j + 8) * this->degree) = 2.0; } - - for (unsigned int i = 0; i < 2 * this->degree * deg; ++i) - for (unsigned int j = 0; j < 2; ++j) - { - this->restriction[index][2 * j] (i + n_edge_dofs, - i + n_edge_dofs) - = 1.0; - this->restriction[index][2 * j + 1] - (i + 2 * this->degree * deg + n_edge_dofs, - i + 2 * this->degree * deg + n_edge_dofs) = 1.0; - this->restriction[index][j] - (i + 4 * this->degree * deg + n_edge_dofs, - i + 4 * this->degree * deg + n_edge_dofs) = 1.0; - this->restriction[index][j + 2] - (i + 6 * this->degree * deg + n_edge_dofs, - i + 6 * this->degree * deg + n_edge_dofs) = 1.0; - - for (unsigned int k = 0; k < 4; ++k) - this->restriction[index][k] - (i + 2 * (j + 4) * this->degree * deg - + n_edge_dofs, - i + 2 * (j + 4) * this->degree * deg - + n_edge_dofs) = 0.5; - } - - break; - } - - case RefinementCase<3>::cut_z: - { - for (unsigned int i = 0; i <= deg; ++i) - for (unsigned int j = 0; j < 4; ++j) - for (unsigned int k = 0; k < 2; ++k) - { - this->restriction[index][k] - (i + (j + 4 * k) * this->degree, - i + (j + 4 * k) * this->degree) = 2.0; - this->restriction[index][k] - (i + (j + 8) * this->degree, - i + (j + 8) * this->degree) = 1.0; - } - - for (unsigned int i = 0; i < 2 * this->degree * deg; ++i) - for (unsigned int j = 0; j < 2; ++j) - { - for (unsigned int k = 0; k < 3; ++k) - this->restriction[index][j] - (i + 2 * k * this->degree * deg + n_edge_dofs, - i + 2 * k * this->degree * deg + n_edge_dofs) - = 1.0; - - this->restriction[index][j] - (i + 2 * (j + 4) * this->degree * deg - + n_edge_dofs, - i + 2 * (j + 4) * this->degree * deg - + n_edge_dofs) = 2.0; - } - + break; } - case RefinementCase<3>::cut_xz: + case RefinementCase<2>::cut_y: { - for (unsigned int i = 0; i <= deg; ++i) - for (unsigned int j = 0; j < 2; ++j) + // First interpolate the shape + // functions of the child cells + // to the lowest order shape + // functions of the parent cell. + for (unsigned int dof = 0; dof < this->dofs_per_cell; + ++dof) + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; ++q_point) { - this->restriction[index][j] (i + j * this->degree, - i + j * this->degree) - = 2.0; - this->restriction[index][j + 2] - (i + (j + 4) * this->degree, - i + (j + 4) * this->degree) = 2.0; - - for (unsigned int k = 0; k < 2; ++k) + { + const double weight + = 2.0 * edge_quadrature.weight (q_point); + + if (edge_quadrature_points[q_point] (0) < 0.5) + for (unsigned int i = 0; i < 2; ++i) + { + const Point quadrature_point (i, + 2.0 * edge_quadrature_points[q_point] (0)); + + this->restriction[index][0] + (i * this->degree, dof) += weight + * this->shape_value_component + (dof, + quadrature_point, + 1); + } + + else + for (unsigned int i = 0; i < 2; ++i) + { + const Point quadrature_point (i, + 2.0 * edge_quadrature_points[q_point] (0) + - 1.0); + + this->restriction[index][1] + (i * this->degree, dof) += weight + * this->shape_value_component + (dof, + quadrature_point, + 1); + } + } + + const double weight + = edge_quadrature.weight (q_point); + + for (unsigned int i = 0; i < 2; ++i) { - this->restriction[index][j] - (i + (k + 2) * this->degree, - i + (k + 2) * this->degree) = 1.0; - this->restriction[index][j + 2] - (i + (k + 6) * this->degree, - i + (k + 6) * this->degree) = 1.0; - this->restriction[index][2 * j] - (i + 2 * (k + 4) * this->degree, - i + 2 * (k + 4) * this->degree) = 1.0; - this->restriction[index][2 * j + 1] - (i + (2 * k + 9) * this->degree, - i + (2 * k + 9) * this->degree) = 1.0; + const Point + quadrature_point (edge_quadrature_points[q_point] (0), + i); + + this->restriction[index][i] + ((i + 2) * this->degree, dof) += weight + * this->shape_value_component + (dof, + quadrature_point, + 0); } } - - for (unsigned int i = 0; i < 2 * this->degree * deg; ++i) - for (unsigned int j = 0; j < 2; ++j) + + // Then project the shape functions + // of the child cells to the higher + // order shape functions of the + // parent cell. + if (deg > 0) + { + const std::vector >& + legendre_polynomials = Polynomials::Legendre::generate_complete_basis + (deg); + FullMatrix system_matrix_inv (deg, deg); + { - this->restriction[index][2 * j] (i + n_edge_dofs, - i + n_edge_dofs) - = 1.0; - this->restriction[index][2 * j + 1] - (i + 2 * this->degree * deg + n_edge_dofs, - i + 2 * this->degree * deg + n_edge_dofs) = 1.0; - - for (unsigned int k = 0; k < 2; ++k) + FullMatrix assembling_matrix (deg, + n_edge_quadrature_points); + + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; + ++q_point) { - this->restriction[index][j + 2 * k] - (i + 4 * this->degree * deg + n_edge_dofs, - i + 4 * this->degree * deg + n_edge_dofs) - = 0.5; - this->restriction[index][j + 2 * k] - (i + 6 * this->degree * deg + n_edge_dofs, - i + 6 * this->degree * deg + n_edge_dofs) - = 0.5; - this->restriction[index][j + 2 * k] - (i + 2 * (k + 4) * this->degree * deg - + n_edge_dofs, - i + 2 * (k + 4) * this->degree * deg - + n_edge_dofs) = 1.0; + const double weight + = std::sqrt (edge_quadrature.weight + (q_point)); + + for (unsigned int i = 0; i < deg; ++i) + assembling_matrix (i, q_point) + = weight * legendre_polynomials[i + 1].value + (edge_quadrature_points[q_point] (0)); } + + FullMatrix system_matrix (deg, deg); + + assembling_matrix.mTmult (system_matrix, + assembling_matrix); + system_matrix_inv.invert (system_matrix); } - - break; - } - - case RefinementCase<3>::cut_yz: - { - for (unsigned int i = 0; i <= deg; ++i) - for (unsigned int j = 0; j < 2; ++j) - for (unsigned int k = 0; k < 2; ++k) - { - for (unsigned int l = 0; l < 2; ++l) - { - this->restriction[index][j + 2 * l] - (i + (k + 4 * l) * this->degree, - i + (k + 4 * l) * this->degree) = 1.0; - this->restriction[index][2 * j + l] - (i + (k + 2 * (l + 4)) * this->degree, - i + (k + 2 * (l + 4)) * this->degree) = 1.0; - } - - this->restriction[index][j + 2 * k] - (i + (j + 4 * k + 2) * this->degree, - i + (j + 4 * k + 2) * this->degree) = 2.0; - } - - for (unsigned int i = 0; i < 2 * this->degree * deg; ++i) - for (unsigned int j = 0; j < 2; ++j) - { - for (unsigned int child = 0; - child < GeometryInfo::n_children - (RefinementCase (ref)); ++child) - this->restriction[index][child] - (i + 2 * j * this->degree * deg + n_edge_dofs, - i + 2 * j * this->degree * deg + n_edge_dofs) - = 0.5; - - for (unsigned int k = 0; k < 2; ++k) + + FullMatrix solution (deg, 3); + FullMatrix system_rhs (deg, 3); + Vector tmp (3); + + for (unsigned int dof = 0; + dof < this->dofs_per_cell; ++dof) + for (unsigned int i = 0; i < 2; ++i) { - this->restriction[index][j + 2 * k] - (i + 2 * (j + 2) * this->degree * deg - + n_edge_dofs, - i + 2 * (j + 2) * this->degree * deg - + n_edge_dofs) = 1.0; - this->restriction[index][2 * j + k] - (i + 2 * (j + 4) * this->degree * deg - + n_edge_dofs, - i + 2 * (j + 4) * this->degree * deg - + n_edge_dofs) = 1.0; + system_rhs = 0.0; + + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; + ++q_point) + { + const double weight + = edge_quadrature.weight (q_point); + Point quadrature_point_0 (i, + edge_quadrature_points[q_point] (0)); + + if (edge_quadrature_points[q_point] (0) + < 0.5) + { + const Point + quadrature_point_1 (i, + 2.0 * edge_quadrature_points[q_point] (0)); + + tmp (0) = weight + * (2.0 * this->shape_value_component + (dof, + quadrature_point_1, + 1) + - this->restriction[index][0] + (i * this->degree, + dof) + * this->shape_value_component + (i * this->degree, + quadrature_point_0, + 1)); + tmp (1) = -1.0 * weight + * this->restriction[index][1] + (i * this->degree, + dof) + * this->shape_value_component + (i * this->degree, + quadrature_point_0, + 1); + } + + else + { + tmp (0) = -1.0 * weight + * this->restriction[index][0] + (i * this->degree, + dof) + * this->shape_value_component + (i * this->degree, + quadrature_point_0, + 1); + + const Point + quadrature_point_1 (i, + 2.0 * edge_quadrature_points[q_point] (0) + - 1.0); + + tmp (1) = weight + * (2.0 * this->shape_value_component + (dof, + quadrature_point_1, + 1) + - this->restriction[index][1] + (i * this->degree, + dof) + * this->shape_value_component + (i * this->degree, + quadrature_point_0, + 1)); + } + + quadrature_point_0 + = Point (edge_quadrature_points[q_point] (0), + i); + tmp (2) = weight + * (this->shape_value_component + (dof, quadrature_point_0, 0) + - this->restriction[index][i] + ((i + 2) * this->degree, + dof) + * this->shape_value_component + ((i + 2) * this->degree, + quadrature_point_0, 0)); + + for (unsigned int j = 0; j < deg; ++j) + { + const double L_j + = legendre_polynomials[j + 1].value + (edge_quadrature_points[q_point] (0)); + + for (unsigned int k = 0; + k < tmp.size (); ++k) + system_rhs (j, k) += tmp (k) * L_j; + } + } + + system_matrix_inv.mmult (solution, + system_rhs); + + for (unsigned int j = 0; j < deg; ++j) + { + for (unsigned int k = 0; k < 2; ++k) + if (std::abs (solution (j, k)) > 1e-14) + this->restriction[index][k] + (i * this->degree + j + 1, dof) + = solution (j, k); + + if (std::abs (solution (j, 2)) > 1e-14) + this->restriction[index][i] + ((i + 2) * this->degree + j + 1, dof) + = solution (j, 2); + } } - } - - break; - } - - case RefinementCase<3>::isotropic_refinement: - { - for (unsigned int i = 0; i <= deg; ++i) - for (unsigned int j = 0; j < 2; ++j) + + const QGauss quadrature (2 * this->degree); + const std::vector >& + quadrature_points = quadrature.get_points (); + const std::vector >& + lobatto_polynomials = Polynomials::Lobatto::generate_complete_basis + (this->degree); + const unsigned int n_boundary_dofs + = GeometryInfo::faces_per_cell * this->degree; + const unsigned int& n_quadrature_points + = quadrature.size (); + { - for (unsigned int k = 0; k < 2; ++k) + FullMatrix + assembling_matrix (deg * this->degree, + n_quadrature_points); + + for (unsigned int q_point = 0; + q_point < n_quadrature_points; ++q_point) { - this->restriction[index][2 * j + k] - (i + k * this->degree, i + k * this->degree) - = 1.0; - this->restriction[index][j + 2 * k] - (i + (k + 2) * this->degree, - i + (k + 2) * this->degree) = 1.0; - this->restriction[index][2 * (j + 2) + k] - (i + (k + 4) * this->degree, - i + (k + 4) * this->degree) = 1.0; - this->restriction[index][j + 2 * (k + 2)] - (i + (k + 6) * this->degree, - i + (k + 6) * this->degree) = 1.0; - this->restriction[index][4 * j + k] - (i + (k + 8) * this->degree, - i + (k + 8) * this->degree) = 1.0; - } - - this->restriction[index][2 * (2 * j + 1)] - (i + 10 * this->degree, i + 10 * this->degree) - = 1.0; - this->restriction[index][4 * j + 3] - (i + 11 * this->degree, i + 11 * this->degree) - = 1.0; + const double weight + = std::sqrt (quadrature.weight (q_point)); + + for (unsigned int i = 0; i <= deg; ++i) + { + const double L_i + = weight * legendre_polynomials[i].value + (quadrature_points[q_point] (0)); + + for (unsigned int j = 0; j < deg; ++j) + assembling_matrix (i * deg + j, q_point) + = L_i * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (1)); + } + } + + FullMatrix + system_matrix (assembling_matrix.m (), + assembling_matrix.m ()); + + assembling_matrix.mTmult (system_matrix, + assembling_matrix); + system_matrix_inv.reinit (system_matrix.m (), + system_matrix.m ()); + system_matrix_inv.invert (system_matrix); } + + solution.reinit (system_matrix_inv.m (), 4); + system_rhs.reinit (system_matrix_inv.m (), 4); + tmp.reinit (4); + + for (unsigned int dof = 0; + dof < this->dofs_per_cell; ++dof) + { + system_rhs = 0.0; + + for (unsigned int q_point = 0; + q_point < n_quadrature_points; ++q_point) + { + tmp = 0.0; + + if (quadrature_points[q_point] (1) < 0.5) + { + const Point + quadrature_point + (quadrature_points[q_point] (0), + 2.0 * quadrature_points[q_point] (1)); + + tmp (0) += this->shape_value_component + (dof, quadrature_point, 0); + tmp (1) += 2.0 + * this->shape_value_component + (dof, quadrature_point, 1); + } + + else + { + const Point + quadrature_point + (quadrature_points[q_point] (0), + 2.0 * quadrature_points[q_point] (1) + - 1.0); + + tmp (2) += this->shape_value_component + (dof, quadrature_point, 0); + tmp (3) += 2.0 + * this->shape_value_component + (dof, quadrature_point, 1); + } + + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j <= deg; ++j) + { + tmp (2 * i) + -= this->restriction[index][i] + ((i + 2) * this->degree + j, + dof) + * this->shape_value_component + ((i + 2) * this->degree + j, + quadrature_points[q_point], 0); + + for (unsigned int k = 0; k < 2; ++k) + tmp (2 * i + 1) + -= this->restriction[index][i] + (j + k * this->degree, dof) + * this->shape_value_component + (j + k * this->degree, + quadrature_points[q_point], + 1); + } + + tmp *= quadrature.weight (q_point); + + for (unsigned int i = 0; i <= deg; ++i) + { + const double L_i_0 + = legendre_polynomials[i].value + (quadrature_points[q_point] (0)); + const double L_i_1 + = legendre_polynomials[i].value + (quadrature_points[q_point] (1)); + + for (unsigned int j = 0; j < deg; ++j) + { + const double l_j_0 + = L_i_0 * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (1)); + const double l_j_1 + = L_i_1 * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (0)); + + for (unsigned int k = 0; k < 2; + ++k) + { + system_rhs (i * deg + j, 2 * k) + += tmp (2 * k) * l_j_0; + system_rhs (i * deg + j, + 2 * k + 1) + += tmp (2 * k + 1) * l_j_1; + } + } + } + } + + system_matrix_inv.mmult (solution, system_rhs); + + for (unsigned int i = 0; i <= deg; ++i) + for (unsigned int j = 0; j < deg; ++j) + for (unsigned int k = 0; k < 2; ++k) + { + if (std::abs (solution (i * deg + j, + 2 * k)) + > 1e-14) + this->restriction[index][k] + (i * deg + j + n_boundary_dofs, dof) + = solution (i * deg + j, 2 * k); + + if (std::abs (solution (i * deg + j, + 2 * k + 1)) + > 1e-14) + this->restriction[index][k] + (i + (deg + j) * this->degree + + n_boundary_dofs, dof) + = solution (i * deg + j, + 2 * k + 1); + } + } + } + + break; + } - for (unsigned int i = 0; i < 2 * this->degree * deg; ++i) + case RefinementCase<2>::isotropic_refinement: + { + // First interpolate the shape + // functions of the child cells + // to the lowest order shape + // functions of the parent cell. + for (unsigned int dof = 0; dof < this->dofs_per_cell; + ++dof) + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; ++q_point) + { + const double weight + = 2.0 * edge_quadrature.weight (q_point); + + if (edge_quadrature_points[q_point] (0) < 0.5) + { + Point quadrature_point (0.0, + 2.0 * edge_quadrature_points[q_point] (0)); + + this->restriction[index][0] (0, dof) + += weight * this->shape_value_component + (dof, quadrature_point, 1); + quadrature_point (0) = 1.0; + this->restriction[index][1] (this->degree, + dof) + += weight * this->shape_value_component + (dof, quadrature_point, 1); + quadrature_point (0) = quadrature_point (1); + quadrature_point (1) = 0.0; + this->restriction[index][0] (2 * this->degree, + dof) + += weight * this->shape_value_component + (dof, quadrature_point, 0); + quadrature_point (1) = 1.0; + this->restriction[index][2] (3 * this->degree, + dof) + += weight * this->shape_value_component + (dof, quadrature_point, 0); + } + + else + { + Point quadrature_point (0.0, + 2.0 * edge_quadrature_points[q_point] (0) + - 1.0); + + this->restriction[index][2] (0, dof) + += weight * this->shape_value_component + (dof, quadrature_point, 1); + quadrature_point (0) = 1.0; + this->restriction[index][3] (this->degree, + dof) + += weight * this->shape_value_component + (dof, quadrature_point, 1); + quadrature_point (0) = quadrature_point (1); + quadrature_point (1) = 0.0; + this->restriction[index][1] (2 * this->degree, + dof) + += weight * this->shape_value_component + (dof, quadrature_point, 0); + quadrature_point (1) = 1.0; + this->restriction[index][3] (3 * this->degree, + dof) + += weight * this->shape_value_component + (dof, quadrature_point, 0); + } + } + + // Then project the shape functions + // of the child cells to the higher + // order shape functions of the + // parent cell. + if (deg > 0) { - for (unsigned int j = 0; j < 4; ++j) + const std::vector >& + legendre_polynomials + = Polynomials::Legendre::generate_complete_basis + (deg); + FullMatrix system_matrix_inv (deg, deg); + + { + FullMatrix assembling_matrix (deg, + n_edge_quadrature_points); + + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; + ++q_point) + { + const double weight + = std::sqrt (edge_quadrature.weight + (q_point)); + + for (unsigned int i = 0; i < deg; ++i) + assembling_matrix (i, q_point) + = weight * legendre_polynomials[i + 1].value + (edge_quadrature_points[q_point] (0)); + } + + FullMatrix system_matrix (deg, deg); + + assembling_matrix.mTmult (system_matrix, + assembling_matrix); + system_matrix_inv.invert (system_matrix); + } + + FullMatrix solution (deg, 4); + FullMatrix system_rhs (deg, 4); + Vector tmp (4); + + for (unsigned int dof = 0; + dof < this->dofs_per_cell; ++dof) + for (unsigned int i = 0; i < 2; ++i) + { + system_rhs = 0.0; + + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; + ++q_point) + { + const double weight + = edge_quadrature.weight (q_point); + const Point quadrature_point_0 (i, + edge_quadrature_points[q_point] (0)); + const Point + quadrature_point_1 + (edge_quadrature_points[q_point] (0), + i); + + if (edge_quadrature_points[q_point] (0) + < 0.5) + { + Point quadrature_point_2 (i, + 2.0 * edge_quadrature_points[q_point] (0)); + + tmp (0) = weight + * (2.0 * this->shape_value_component + (dof, + quadrature_point_2, + 1) + - this->restriction[index][i] + (i * this->degree, + dof) + * this->shape_value_component + (i * this->degree, + quadrature_point_0, + 1)); + tmp (1) = -1.0 * weight + * this->restriction[index][i + 2] + (i * this->degree, + dof) + * this->shape_value_component + (i * this->degree, + quadrature_point_0, + 1); + quadrature_point_2 + = Point (2.0 * edge_quadrature_points[q_point] (0), + i); + tmp (2) = weight + * (2.0 * this->shape_value_component + (dof, + quadrature_point_2, + 0) + - this->restriction[index][2 * i] + ((i + 2) * this->degree, + dof) + * this->shape_value_component + ((i + 2) * this->degree, + quadrature_point_1, + 0)); + tmp (3) = -1.0 * weight + * this->restriction[index][2 * i + 1] + ((i + 2) * this->degree, + dof) + * this->shape_value_component + ((i + 2) * this->degree, + quadrature_point_1, + 0); + } + + else + { + tmp (0) = -1.0 * weight + * this->restriction[index][i] + (i * this->degree, + dof) + * this->shape_value_component + (i * this->degree, + quadrature_point_0, + 1); + + Point quadrature_point_2 (i, + 2.0 * edge_quadrature_points[q_point] (0) + - 1.0); + + tmp (1) = weight + * (2.0 * this->shape_value_component + (dof, + quadrature_point_2, + 1) + - this->restriction[index][i + 2] + (i * this->degree, + dof) + * this->shape_value_component + (i * this->degree, + quadrature_point_0, + 1)); + tmp (2) = -1.0 * weight + * this->restriction[index][2 * i] + ((i + 2) * this->degree, + dof) + * this->shape_value_component + ((i + 2) * this->degree, + quadrature_point_1, + 0); + quadrature_point_2 + = Point (2.0 * edge_quadrature_points[q_point] (0) + - 1.0, i); + tmp (3) = weight + * (2.0 * this->shape_value_component + (dof, + quadrature_point_2, + 0) + - this->restriction[index][2 * i + 1] + ((i + 2) * this->degree, + dof) + * this->shape_value_component + ((i + 2) * this->degree, + quadrature_point_1, + 0)); + } + + for (unsigned int j = 0; j < deg; ++j) + { + const double L_j + = legendre_polynomials[j + 1].value + (edge_quadrature_points[q_point] (0)); + + for (unsigned int k = 0; + k < tmp.size (); ++k) + system_rhs (j, k) += tmp (k) * L_j; + } + } + + system_matrix_inv.mmult (solution, + system_rhs); + + for (unsigned int j = 0; j < deg; ++j) + for (unsigned int k = 0; k < 2; ++k) + { + if (std::abs (solution (j, k)) > 1e-14) + this->restriction[index][i + 2 * k] + (i * this->degree + j + 1, dof) + = solution (j, k); + + if (std::abs (solution (j, k + 2)) + > 1e-14) + this->restriction[index][2 * i + k] + ((i + 2) * this->degree + j + 1, dof) + = solution (j, k + 2); + } + } + + const QGauss quadrature (2 * this->degree); + const std::vector >& + quadrature_points = quadrature.get_points (); + const std::vector >& + lobatto_polynomials + = Polynomials::Lobatto::generate_complete_basis + (this->degree); + const unsigned int n_boundary_dofs + = GeometryInfo::faces_per_cell * this->degree; + const unsigned int& n_quadrature_points + = quadrature.size (); + + { + FullMatrix + assembling_matrix (deg * this->degree, + n_quadrature_points); + + for (unsigned int q_point = 0; + q_point < n_quadrature_points; ++q_point) + { + const double weight + = std::sqrt (quadrature.weight (q_point)); + + for (unsigned int i = 0; i <= deg; ++i) + { + const double L_i + = weight * legendre_polynomials[i].value + (quadrature_points[q_point] (0)); + + for (unsigned int j = 0; j < deg; ++j) + assembling_matrix (i * deg + j, + q_point) + = L_i * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (1)); + } + } + + FullMatrix + system_matrix (assembling_matrix.m (), + assembling_matrix.m ()); + + assembling_matrix.mTmult (system_matrix, + assembling_matrix); + system_matrix_inv.reinit (system_matrix.m (), + system_matrix.m ()); + system_matrix_inv.invert (system_matrix); + } + + solution.reinit (system_matrix_inv.m (), 8); + system_rhs.reinit (system_matrix_inv.m (), 8); + tmp.reinit (8); + + for (unsigned int dof = 0; + dof < this->dofs_per_cell; ++dof) { - this->restriction[index][2 * j] (i + n_edge_dofs, - i + n_edge_dofs) - = 0.5; - this->restriction[index][2 * j + 1] - (i + 2 * this->degree * deg + n_edge_dofs, - i + 2 * this->degree * deg + n_edge_dofs) = 0.5; - this->restriction[index][j] - (i + 8 * this->degree * deg + n_edge_dofs, - i + 8 * this->degree * deg + n_edge_dofs) = 0.5; - this->restriction[index][j + 4] - (i + 10 * this->degree * deg + n_edge_dofs, - i + 10 * this->degree * deg + n_edge_dofs) - = 0.5; + system_rhs = 0.0; + + for (unsigned int q_point = 0; + q_point < n_quadrature_points; ++q_point) + { + tmp = 0.0; + + if (quadrature_points[q_point] (0) < 0.5) + { + if (quadrature_points[q_point] (1) + < 0.5) + { + const Point + quadrature_point + (2.0 * quadrature_points[q_point] (0), + 2.0 * quadrature_points[q_point] (1)); + + tmp (0) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 0); + tmp (1) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 1); + } + + else + { + const Point + quadrature_point + (2.0 * quadrature_points[q_point] (0), + 2.0 * quadrature_points[q_point] (1) + - 1.0); + + tmp (4) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 0); + tmp (5) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 1); + } + } + + else + if (quadrature_points[q_point] (1) < 0.5) + { + const Point + quadrature_point + (2.0 * quadrature_points[q_point] (0) + - 1.0, + 2.0 * quadrature_points[q_point] (1)); + + tmp (2) += 2.0 + * this->shape_value_component + (dof, quadrature_point, 0); + tmp (3) += 2.0 + * this->shape_value_component + (dof, quadrature_point, 1); + } + + else + { + const Point + quadrature_point + (2.0 * quadrature_points[q_point] (0) + - 1.0, + 2.0 * quadrature_points[q_point] (1) + - 1.0); + + tmp (6) += 2.0 + * this->shape_value_component + (dof, quadrature_point, 0); + tmp (7) += 2.0 + * this->shape_value_component + (dof, quadrature_point, 1); + } + + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j <= deg; ++j) + { + tmp (2 * i) + -= this->restriction[index][i] + (j + 2 * this->degree, dof) + * this->shape_value_component + (j + 2 * this->degree, + quadrature_points[q_point], 0); + tmp (2 * i + 1) + -= this->restriction[index][i] + (i * this->degree + j, dof) + * this->shape_value_component + (i * this->degree + j, + quadrature_points[q_point], 1); + tmp (2 * (i + 2)) + -= this->restriction[index][i + 2] + (j + 3 * this->degree, dof) + * this->shape_value_component + (j + 3 * this->degree, + quadrature_points[q_point], 0); + tmp (2 * i + 5) + -= this->restriction[index][i + 2] + (i * this->degree + j, dof) + * this->shape_value_component + (i * this->degree + j, + quadrature_points[q_point], 1); + } + + tmp *= quadrature.weight (q_point); + + for (unsigned int i = 0; i <= deg; ++i) + { + const double L_i_0 + = legendre_polynomials[i].value + (quadrature_points[q_point] (0)); + const double L_i_1 + = legendre_polynomials[i].value + (quadrature_points[q_point] (1)); + + for (unsigned int j = 0; j < deg; ++j) + { + const double l_j_0 + = L_i_0 * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (1)); + const double l_j_1 + = L_i_1 * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (0)); + + for (unsigned int k = 0; k < 4; + ++k) + { + system_rhs (i * deg + j, 2 * k) + += tmp (2 * k) * l_j_0; + system_rhs (i * deg + j, + 2 * k + 1) + += tmp (2 * k + 1) * l_j_1; + } + } + } + } + + system_matrix_inv.mmult (solution, system_rhs); + + for (unsigned int i = 0; i <= deg; ++i) + for (unsigned int j = 0; j < deg; ++j) + for (unsigned int k = 0; k < 4; ++k) + { + if (std::abs (solution (i * deg + j, + 2 * k)) + > 1e-14) + this->restriction[index][k] + (i * deg + j + n_boundary_dofs, dof) + = solution (i * deg + j, 2 * k); + + if (std::abs (solution (i * deg + j, + 2 * k + 1)) + > 1e-14) + this->restriction[index][k] + (i + (deg + j) * this->degree + + n_boundary_dofs, dof) + = solution (i * deg + j, + 2 * k + 1); + } } - - for (unsigned int j = 0; j < 2; ++j) - for (unsigned int k = 0; k < 2; ++k) - for (unsigned int l = 0; l < 2; ++l) - this->restriction[index][j + 2 * (2 * k + l)] - (i + 2 * (l + 2) * this->degree * deg - + n_edge_dofs, - i + 2 * (l + 2) * this->degree * deg - + n_edge_dofs) = 0.5; } - + break; } default: Assert (false, ExcNotImplemented ()); } - - for (unsigned int i = 0; i < 3 * this->degree * deg * deg; ++i) - for (unsigned int child = 0; - child < GeometryInfo::n_children - (RefinementCase (ref)); ++child) - this->restriction[index][child] (i + n_boundary_dofs, - i + n_boundary_dofs) - = 2.0 / GeometryInfo::n_children - (RefinementCase (ref)); } break; } - default: - Assert (false, ExcNotImplemented ()); - } -} - - -#if deal_II_dimension == 1 - -template <> -std::vector -FE_Nedelec<1>::get_dpo_vector (const unsigned int degree) -{ - std::vector dpo (2); - - dpo[0] = 1; - dpo[1] = degree; - return dpo; -} - -#endif - - -template -std::vector -FE_Nedelec::get_dpo_vector (const unsigned int degree) -{ - std::vector dpo (dim + 1); - - dpo[0] = 0; - dpo[1] = degree + 1; - dpo[2] = 2 * degree * (degree + 1); - - if (dim == 3) - dpo[3] = 3 * degree * degree * (degree + 1); - - return dpo; -} - -//--------------------------------------------------------------------------- -// Data field initialization -//--------------------------------------------------------------------------- - - // Chech wheter a given shape - // function has support on a - // given face. - - // We just switch through the - // faces of the cell and return - // true, if the shape function - // has support on the face - // and false otherwise. -template -bool -FE_Nedelec::has_support_on_face (const unsigned int shape_index, - const unsigned int face_index) const -{ - Assert (shape_index < this->dofs_per_cell, - ExcIndexRange (shape_index, 0, this->dofs_per_cell)); - Assert (face_index < GeometryInfo::faces_per_cell, - ExcIndexRange (face_index, 0, GeometryInfo::faces_per_cell)); - - switch (dim) - { - case 2: - switch (face_index) - { - case 0: - if (!((shape_index > deg) && (shape_index < 2 * this->degree))) - return true; - - else - return false; - - case 1: - if ((shape_index > deg) && - (shape_index - < GeometryInfo<2>::lines_per_cell * this->degree)) - return true; - - else - return false; - - case 2: - if (shape_index < 3 * this->degree) - return true; - - else - return false; - - case 3: - if (!((shape_index >= 2 * this->degree) && - (shape_index < 3 * this->degree))) - return true; - - else - return false; - - default: - { - Assert (false, ExcNotImplemented ()); - return false; - } - } - case 3: - switch (face_index) - { - case 0: - if (((shape_index > deg) && (shape_index < 2 * this->degree)) || - ((shape_index >= 5 * this->degree) && - (shape_index < 6 * this->degree)) || - ((shape_index >= 9 * this->degree) && - (shape_index < 10 * this->degree)) || - ((shape_index >= 11 * this->degree) && - (shape_index - < GeometryInfo<3>::lines_per_cell * this->degree)) || - ((shape_index - >= (GeometryInfo<3>::lines_per_cell + 2 * deg) - * this->degree) && - (shape_index - < (GeometryInfo<3>::lines_per_cell + 5 * deg) - * this->degree)) || - ((shape_index - >= (GeometryInfo<3>::lines_per_cell + 6 * deg) - * this->degree) && - (shape_index - < (GeometryInfo<3>::lines_per_cell + 7 * deg) - * this->degree)) || - ((shape_index - >= (GeometryInfo<3>::lines_per_cell + 8 * deg) - * this->degree) && - (shape_index - < (GeometryInfo<3>::lines_per_cell + 9 * deg) - * this->degree)) || - ((shape_index - >= (GeometryInfo<3>::lines_per_cell + 10 * deg) - * this->degree) && - (shape_index - < (GeometryInfo<3>::lines_per_cell + 11 * deg) - * this->degree))) - return false; - - else - return true; + { + for (unsigned int ref = RefinementCase<3>::cut_x; + ref <= RefinementCase<3>::isotropic_refinement; ++ref) + { + const unsigned int index = ref - 1; - case 1: - if (((shape_index > deg) && (shape_index < 4 * this->degree)) || - ((shape_index >= 5 * this->degree) && - (shape_index < 8 * this->degree)) || - ((shape_index >= 9 * this->degree) && - (shape_index < 10 * this->degree)) || - ((shape_index >= 11 * this->degree) && - (shape_index - < GeometryInfo<3>::lines_per_cell * this->degree)) || - ((shape_index - >= (GeometryInfo<3>::lines_per_cell + 2 * deg) - * this->degree) && - (shape_index - < (GeometryInfo<3>::lines_per_cell + 4 * deg) - * this->degree)) || - ((shape_index - >= (GeometryInfo<3>::lines_per_cell + 5 * deg) - * this->degree) && - (shape_index - < (GeometryInfo<3>::lines_per_cell + 6 * deg) - * this->degree)) || - ((shape_index - >= (GeometryInfo<3>::lines_per_cell + 7 * deg) - * this->degree) && - (shape_index - < (GeometryInfo<3>::lines_per_cell + 8 * deg) - * this->degree)) || - ((shape_index - >= (GeometryInfo<3>::lines_per_cell + 9 * deg) - * this->degree) && - (shape_index - < (GeometryInfo<3>::lines_per_cell + 10 * deg) - * this->degree)) || - ((shape_index - >= (GeometryInfo<3>::lines_per_cell + 11 * deg) - * this->degree) && - (shape_index - < (GeometryInfo<3>::lines_per_cell + 12 * deg) - * this->degree))) - return true; - - else - return false; - - case 2: - if ((shape_index < 3 * this->degree) || - ((shape_index >= 4 * this->degree) && - (shape_index < 7 * this->degree)) || - ((shape_index >= 8 * this->degree) && - (shape_index < 10 * this->degree)) || - ((shape_index - >= (GeometryInfo<3>::lines_per_cell + deg) - * this->degree) && - (shape_index - < (GeometryInfo<3>::lines_per_cell + 2 * deg) - * this->degree)) || - ((shape_index - >= (GeometryInfo<3>::lines_per_cell + 3 * deg) - * this->degree) && - (shape_index - < (GeometryInfo<3>::lines_per_cell + 6 * deg) - * this->degree)) || - ((shape_index - >= (GeometryInfo<3>::lines_per_cell + 8 * deg) - * this->degree) && - (shape_index - < (GeometryInfo<3>::lines_per_cell + 9 * deg) - * this->degree)) || - ((shape_index - >= (GeometryInfo<3>::lines_per_cell + 10 * deg) - * this->degree) && - (shape_index - < (GeometryInfo<3>::lines_per_cell + 11 * deg) - * this->degree))) - return true; - - else - return false; - - case 3: - if ((shape_index < 2 * this->degree) || - ((shape_index >= 3 * this->degree) && - (shape_index < 6 * this->degree)) || - ((shape_index >= 7 * this->degree) && - (shape_index < 8 * this->degree)) || - ((shape_index >= 10 * this->degree) && - (shape_index - < GeometryInfo<3>::lines_per_cell * this->degree)) || - ((shape_index - >= (GeometryInfo<3>::lines_per_cell + deg) - * this->degree) && - (shape_index - < (GeometryInfo<3>::lines_per_cell + 2 * deg) - * this->degree)) || - ((shape_index - >= (GeometryInfo<3>::lines_per_cell + 3 * deg) - * this->degree) && - (shape_index - < (GeometryInfo<3>::lines_per_cell + 4 * deg) - * this->degree)) || - ((shape_index - >= (GeometryInfo<3>::lines_per_cell + 6 * deg) - * this->degree) && - (shape_index - < (GeometryInfo<3>::lines_per_cell + 9 * deg) - * this->degree)) || - ((shape_index - >= (GeometryInfo<3>::lines_per_cell + 10 * deg) - * this->degree) && - (shape_index - < (GeometryInfo<3>::lines_per_cell + 11 * deg) - * this->degree))) - return true; - - else - return false; - - case 4: - if ((shape_index < 4 * this->degree) || - ((shape_index >= 8 * this->degree) && - (shape_index - < (GeometryInfo<3>::lines_per_cell + deg) - * this->degree)) || - ((shape_index - >= (GeometryInfo<3>::lines_per_cell + 2 * deg) - * this->degree) && - (shape_index - < (GeometryInfo<3>::lines_per_cell + 3 * deg) - * this->degree)) || - ((shape_index - >= (GeometryInfo<3>::lines_per_cell + 4 * deg) - * this->degree) && - (shape_index - < (GeometryInfo<3>::lines_per_cell + 5 * deg) - * this->degree)) || - ((shape_index - >= (GeometryInfo<3>::lines_per_cell + 6 * deg) - * this->degree) && - (shape_index - < (GeometryInfo<3>::lines_per_cell + 7 * deg) - * this->degree)) || - ((shape_index - >= (GeometryInfo<3>::lines_per_cell + 8 * deg) - * this->degree) && - (shape_index - < (GeometryInfo<3>::lines_per_cell + 10 * deg) - * this->degree))) - return true; - - else - return false; - - case 5: - if (((shape_index >= 4 * this->degree) && - (shape_index - < (GeometryInfo<3>::lines_per_cell + deg) - * this->degree)) || - ((shape_index - >= (GeometryInfo<3>::lines_per_cell + 2 * deg) - * this->degree) && - (shape_index - < (GeometryInfo<3>::lines_per_cell + 3 * deg) - * this->degree)) || - ((shape_index - >= (GeometryInfo<3>::lines_per_cell + 4 * deg) - * this->degree) && - (shape_index - < (GeometryInfo<3>::lines_per_cell + 5 * deg) - * this->degree)) || - ((shape_index - >= (GeometryInfo<3>::lines_per_cell + 6 * deg) - * this->degree) && - (shape_index - < (GeometryInfo<3>::lines_per_cell + 7 * deg) - * this->degree)) || - ((shape_index - >= (GeometryInfo<3>::lines_per_cell + 10 * deg) - * this->degree) && - (shape_index - < (GeometryInfo<3>::lines_per_cell + 12 * deg) - * this->degree))) - return true; - - else - return false; - - default: - { - Assert (false, ExcNotImplemented ()); - return false; - } - } - - default: - { - Assert (false, ExcNotImplemented ()); - return false; - } - } -} - -template -bool -FE_Nedelec::hp_constraints_are_implemented () const -{ - return false;//dim != 2; -} - -template -std::vector > -FE_Nedelec::hp_vertex_dof_identities (const FiniteElement&) -const -{ - // Nedelec elements do not have any dofs - // on vertices, hence return an empty vector. - return std::vector > (); -} - -template -std::vector > -FE_Nedelec::hp_line_dof_identities (const FiniteElement& fe_other) -const -{ - // we can presently only compute these - // identities if both FEs are - // FE_Nedelec or if the other one is an - // FE_Nothing - if (const FE_Nedelec *fe_nedelec_other - = dynamic_cast*> (&fe_other)) - { - // dofs are located on lines, so - // two dofs are identical, if their - // edge shape functions have the - // same polynomial degree. - std::vector > identities; - - for (unsigned int i = 0; - i < std::min (fe_nedelec_other->degree, this->degree); ++i) - identities.push_back (std::make_pair (i, i)); - - return identities; - } - - else - if (dynamic_cast*> (&fe_other) != 0) - { - // the FE_Nothing has no - // degrees of freedom, so there - // are no equivalencies to be - // recorded - return std::vector > (); - } - - else - { - Assert (false, ExcNotImplemented ()); - return std::vector > (); - } -} - -template -std::vector > -FE_Nedelec::hp_quad_dof_identities (const FiniteElement& fe_other) -const -{ - // we can presently only compute - // these identities if both FEs are - // FE_Nedelec or if the other one is an - // FE_Nothing - if (const FE_Nedelec *fe_nedelec_other - = dynamic_cast*> (&fe_other)) - { - // dofs are located on the interior - // of faces, so two dofs are identical, - // if their face shape functions have - // the same polynomial degree. - const unsigned int p = fe_nedelec_other->degree; - const unsigned int q = this->degree; - const unsigned int p_min = std::min (p, q); - std::vector > identities; - - for (unsigned int i = 0; i < p_min; ++i) - for (unsigned int j = 0; j < p_min - 1; ++j) - { - identities.push_back (std::make_pair ((i + 1) * (q + 1) + j, - (i + 1) * (p + 1) + j)); - identities.push_back (std::make_pair (i + (j + q + 2) * q, - i + (j + p + 2) * p)); - } - - return identities; - } - - else - if (dynamic_cast*> (&fe_other) != 0) - { - // the FE_Nothing has no - // degrees of freedom, so there - // are no equivalencies to be - // recorded - return std::vector > (); - } - - else - { - Assert (false, ExcNotImplemented ()); - return std::vector > (); - } -} - - // In this function we compute the face - // interpolation matrix. This is usually - // done by projection-based interpolation, - // but, since one can compute the entries - // easy per hand, we save some computation - // time at this point and just fill in the - // correct values. -template -void -FE_Nedelec::get_face_interpolation_matrix - (const FiniteElement& source, FullMatrix& interpolation_matrix) -const -{ - // this is only implemented, if the - // source FE is also a - // Nedelec element - typedef FE_Nedelec FEN; - typedef FiniteElement FEL; - - AssertThrow ((source.get_name ().find ("FE_Nedelec<") == 0) || - (dynamic_cast (&source) != 0), - typename FEL::ExcInterpolationNotImplemented()); - Assert (interpolation_matrix.m () == source.dofs_per_face, - ExcDimensionMismatch (interpolation_matrix.m (), - source.dofs_per_face)); - Assert (interpolation_matrix.n () == this->dofs_per_face, - ExcDimensionMismatch (interpolation_matrix.n (), - this->dofs_per_face)); - - // ok, source is a Nedelec element, so - // we will be able to do the work - const FE_Nedelec &source_fe - = dynamic_cast&> (source); - - // Make sure, that the element, - // for which the DoFs should be - // constrained is the one with - // the higher polynomial degree. - // Actually the procedure will work - // also if this assertion is not - // satisfied. But the matrices - // produced in that case might - // lead to problems in the - // hp procedures, which use this - // method. - Assert (this->dofs_per_face <= source_fe.dofs_per_face, - typename FEL::ExcInterpolationNotImplemented ()); - interpolation_matrix = 0; - - // On lines we can just identify - // all degrees of freedom. - for (unsigned int i = 0; i <= deg; ++i) - interpolation_matrix (i, i) = 1.0; - - // In 3d we have some lines more - // and a face. The procedure stays - // the same as above, but we have - // to take a bit more care of the - // indices of the degrees of - // freedom. - if (dim == 3) - for (unsigned int i = 0; i <= deg; ++i) - { - for (int j = 1; j < (int) GeometryInfo::lines_per_face; ++j) - interpolation_matrix (j * source_fe.degree + i, - j * this->degree + i) = 1.0; - - for (unsigned int j = 0; j < deg; ++j) - { - interpolation_matrix - (i + (j + GeometryInfo<2>::lines_per_cell) * source_fe.degree, - i + (j + GeometryInfo<2>::lines_per_cell) * this->degree) - = 1.0; - interpolation_matrix - ((i * (source_fe.degree - 1) - + GeometryInfo<2>::lines_per_cell) * source_fe.degree + j, - (i * deg + GeometryInfo<2>::lines_per_cell) * this->degree) - = 1.0; - } - } -} - -#if deal_II_dimension == 1 - -template -void -FE_Nedelec::get_subface_interpolation_matrix( - const FiniteElement&, - const unsigned int, - FullMatrix&) const -{ - Assert (false, ExcNotImplemented ()); -} - -#else - - // In this function we compute the - // subface interpolation matrix. - // This is done by a projection- - // based interpolation. Therefore - // we first interpolate the - // shape functions of the higher - // order element on the lowest - // order edge shape functions. - // Then the remaining part of - // the interpolated shape - // functions is projected on the - // higher order edge shape - // functions, the face shape - // functions and the interior - // shape functions (if they all - // exist). -template -void -FE_Nedelec::get_subface_interpolation_matrix( - const FiniteElement& source, - const unsigned int subface, - FullMatrix& interpolation_matrix) const -{ - // this is only implemented, if the - // source FE is also a - // Nedelec element - typedef FE_Nedelec FEN; - typedef FiniteElement FEL; - - AssertThrow ((source.get_name ().find ("FE_Nedelec<") == 0) || - (dynamic_cast (&source) != 0), - typename FEL::ExcInterpolationNotImplemented ()); - Assert (interpolation_matrix.m () == source.dofs_per_face, - ExcDimensionMismatch (interpolation_matrix.m (), - source.dofs_per_face)); - Assert (interpolation_matrix.n () == this->dofs_per_face, - ExcDimensionMismatch (interpolation_matrix.n (), - this->dofs_per_face)); - - // ok, source is a Nedelec element, so - // we will be able to do the work - const FE_Nedelec &source_fe - = dynamic_cast&> (source); - - // Make sure, that the element, - // for which the DoFs should be - // constrained is the one with - // the higher polynomial degree. - // Actually the procedure will work - // also if this assertion is not - // satisfied. But the matrices - // produced in that case might - // lead to problems in the - // hp procedures, which use this - // method. - Assert (this->dofs_per_face <= source_fe.dofs_per_face, - typename FEL::ExcInterpolationNotImplemented ()); - interpolation_matrix = 0; - // Perform projection-based interpolation - // as usual. - switch (dim) - { - case 2: - { - const QGauss reference_edge_quadrature (this->degree); - const Quadrature& edge_quadrature - = QProjector::project_to_child - (reference_edge_quadrature, subface); - const unsigned int& n_edge_points = edge_quadrature.size (); - const std::vector >& - quadrature_points = edge_quadrature.get_points (); - - // Let us begin with the - // interpolation part. - for (unsigned int q_point = 0; q_point < n_edge_points; ++q_point) - { - const double weight = edge_quadrature.weight (q_point); - - for (unsigned int dof = 0; dof < this->dofs_per_face; ++dof) - interpolation_matrix (0, dof) - += weight - * this->shape_value_component - (dof, Point (0.0, quadrature_points[q_point] (0)), - 1); - } - - // Add the computed values - // to the interpolation - // matrix only, if they are - // not too small. - for (unsigned int dof = 0; dof < this->dofs_per_face; ++dof) - if (std::abs (interpolation_matrix (0, dof)) < 1e-14) - interpolation_matrix (0, dof) = 0.0; - - // If the degree is greater - // than 0, then we have still - // some higher order edge - // shape functions to - // consider. - // Here the projection part - // starts. The dof values - // are obtained by solving - // a linear system of - // equations. - if (deg > 0) - { - // Shift value for scaling - // of quadrature points. - const double shift[2] = {0.0, -1.0}; - const std::vector >& - lobatto_polynomials - = Polynomials::Lobatto::generate_complete_basis - (this->degree); - FullMatrix assembling_matrix (deg, n_edge_points); - std::vector > - lobatto_polynomials_grad (this->degree); - - for (unsigned int i = 0; i < lobatto_polynomials_grad.size (); - ++i) - lobatto_polynomials_grad[i] - = lobatto_polynomials[i + 1].derivative (); - - // Set up the system matrix - // and right hand side - // vector. - for (unsigned int q_point = 0; q_point < n_edge_points; - ++q_point) - { - const double tmp = 2.0 * quadrature_points[q_point] (0) - + shift[subface]; - const double weight - = std::sqrt (edge_quadrature.weight (q_point)); - - for (unsigned int i = 0; i < deg; ++i) - assembling_matrix (i, q_point) - = weight * lobatto_polynomials_grad[i + 1].value (tmp); - } - - FullMatrix system_matrix (deg, deg); - - assembling_matrix.mTmult (system_matrix, assembling_matrix); - - FullMatrix system_matrix_inv (deg, deg); - - system_matrix_inv.invert (system_matrix); - - Vector solution (deg); - Vector system_rhs (deg); - - for (unsigned int dof = 0; dof < this->dofs_per_face; ++dof) + switch (ref) { - system_rhs = 0; + case RefinementCase<3>::cut_x: + { + // First interpolate the shape + // functions of the child cells + // to the lowest order shape + // functions of the parent cell. + for (unsigned int dof = 0; dof < this->dofs_per_cell; + ++dof) + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; ++q_point) + { + { + const double + weight = edge_quadrature.weight (q_point); + + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + { + Point quadrature_point (i, + edge_quadrature_points[q_point] (0), + j); + + this->restriction[index][i] + ((i + 4 * j) * this->degree, dof) + += weight * this->shape_value_component + (dof, quadrature_point, 1); + quadrature_point = Point (i, j, + edge_quadrature_points[q_point] (0)); + this->restriction[index][i] + ((i + 2 * (j + 4)) * this->degree, dof) + += weight * this->shape_value_component + (dof, quadrature_point, 2); + } + } + + const double weight + = 2.0 * edge_quadrature.weight (q_point); + + if (edge_quadrature_points[q_point] (0) < 0.5) + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + { + const Point + quadrature_point + (2.0 * edge_quadrature_points[q_point] (0), + i, j); + + this->restriction[index][0] + ((i + 4 * j + 2) * this->degree, dof) + += weight * this->shape_value_component + (dof, quadrature_point, 0); + } + + else + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + { + const Point + quadrature_point + (2.0 * edge_quadrature_points[q_point] (0) + - 1.0, i, j); + + this->restriction[index][1] + ((i + 4 * j + 2) * this->degree, dof) + += weight * this->shape_value_component + (dof, quadrature_point, 0); + } + } + + // Then project the shape functions + // of the child cells to the higher + // order shape functions of the + // parent cell. + if (deg > 0) + { + const std::vector >& + legendre_polynomials + = Polynomials::Legendre::generate_complete_basis + (deg); + FullMatrix system_matrix_inv (deg, deg); + + { + FullMatrix assembling_matrix (deg, + n_edge_quadrature_points); + + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; + ++q_point) + { + const double weight + = std::sqrt (edge_quadrature.weight + (q_point)); + + for (unsigned int i = 0; i < deg; ++i) + assembling_matrix (i, q_point) + = weight * legendre_polynomials[i + 1].value + (edge_quadrature_points[q_point] (0)); + } + + FullMatrix system_matrix (deg, deg); + + assembling_matrix.mTmult (system_matrix, + assembling_matrix); + system_matrix_inv.invert (system_matrix); + } + + FullMatrix solution (deg, 4); + FullMatrix system_rhs (deg, 4); + Vector tmp (4); + + for (unsigned int dof = 0; + dof < this->dofs_per_cell; ++dof) + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + { + system_rhs = 0.0; + + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; + ++q_point) + { + const double weight + = edge_quadrature.weight (q_point); + Point quadrature_point_0 (i, + edge_quadrature_points[q_point] (0), j); + + tmp (0) + = weight * (this->shape_value_component + (dof, quadrature_point_0, + 1) + - this->restriction[index][i] + ((i + 4 * j) * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j) * this->degree, + quadrature_point_0, + 1)); + + quadrature_point_0 + = Point (edge_quadrature_points[q_point] (0), + i, j); + + if (edge_quadrature_points[q_point] (0) + < 0.5) + { + const Point + quadrature_point_1 + (2.0 * edge_quadrature_points[q_point] (0), + i, j); + + tmp (1) + = weight * (2.0 * this->shape_value_component + (dof, + quadrature_point_1, + 0) + - this->restriction[index][0] + ((i + 4 * j + 2) + * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j + 2) + * this->degree, + quadrature_point_0, + 0)); + tmp (2) = -1.0 * weight + * this->restriction[index][1] + ((i + 4 * j + 2) + * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j + 2) + * this->degree, + quadrature_point_0, + 0); + } + + else + { + tmp (1) = -1.0 * weight + * this->restriction[index][0] + ((i + 4 * j + 2) + * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j + 2) + * this->degree, + quadrature_point_0, + 0); + + const Point + quadrature_point_1 + (2.0 * edge_quadrature_points[q_point] (0) + - 1.0, i, j); + + tmp (2) + = weight * (2.0 * this->shape_value_component + (dof, + quadrature_point_1, + 0) + - this->restriction[index][1] + ((i + 4 * j + 2) + * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j + 2) + * this->degree, + quadrature_point_0, + 0)); + } + + quadrature_point_0 = Point (i, j, + edge_quadrature_points[q_point] (0)); + tmp (3) + = weight * (this->shape_value_component + (dof, quadrature_point_0, + 2) + - this->restriction[index][i] + ((i + 2 * (j + 4)) + * this->degree, dof) + * this->shape_value_component + ((i + 2 * (j + 4)) + * this->degree, + quadrature_point_0, + 2)); + + for (unsigned int k = 0; k < deg; ++k) + { + const double L_k + = legendre_polynomials[k + 1].value + (edge_quadrature_points[q_point] (0)); + + for (unsigned int l = 0; + l < tmp.size (); ++l) + system_rhs (k, l) += tmp (l) + * L_k; + } + } + + system_matrix_inv.mmult (solution, + system_rhs); + + for (unsigned int k = 0; k < deg; ++k) + { + if (std::abs (solution (k, 0)) > 1e-14) + this->restriction[index][i] + ((i + 4 * j) * this->degree + k + 1, + dof) = solution (k, 0); + + for (unsigned int l = 0; l < 2; ++l) + if (std::abs (solution (k, 1)) + > 1e-14) + this->restriction[index][l] + ((i + 4 * j + 2) * this->degree + k + + 1, dof) + = solution (k, l + 1); + + if (std::abs (solution (k, 3)) > 1e-14) + this->restriction[index][i] + ((i + 2 * (j + 4)) * this->degree + k + + 1, dof) + = solution (k, 3); + } + } + + const QGauss<2> face_quadrature (2 * this->degree); + const std::vector >& + face_quadrature_points + = face_quadrature.get_points (); + const std::vector >& + lobatto_polynomials + = Polynomials::Lobatto::generate_complete_basis + (this->degree); + const unsigned int n_edge_dofs + = GeometryInfo::lines_per_cell * this->degree; + const unsigned int& n_face_quadrature_points + = face_quadrature.size (); + + { + FullMatrix + assembling_matrix (deg * this->degree, + n_face_quadrature_points); + + for (unsigned int q_point = 0; + q_point < n_face_quadrature_points; + ++q_point) + { + const double weight + = std::sqrt (face_quadrature.weight + (q_point)); + + for (unsigned int i = 0; i <= deg; ++i) + { + const double L_i + = weight * legendre_polynomials[i].value + (face_quadrature_points[q_point] (0)); + + for (unsigned int j = 0; j < deg; ++j) + assembling_matrix (i * deg + j, q_point) + = L_i * lobatto_polynomials[j + 2].value + (face_quadrature_points[q_point] (1)); + } + } + + FullMatrix + system_matrix (assembling_matrix.m (), + assembling_matrix.m ()); + + assembling_matrix.mTmult (system_matrix, + assembling_matrix); + system_matrix_inv.reinit (system_matrix.m (), + system_matrix.m ()); + system_matrix_inv.invert (system_matrix); + } + + solution.reinit (system_matrix_inv.m (), 10); + system_rhs.reinit (system_matrix_inv.m (), 10); + tmp.reinit (10); + + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int dof = 0; + dof < this->dofs_per_cell; ++dof) + { + system_rhs = 0.0; + + for (unsigned int q_point = 0; + q_point < n_face_quadrature_points; + ++q_point) + { + tmp = 0.0; + + const Point quadrature_point_0 (i, + face_quadrature_points[q_point] (0), + face_quadrature_points[q_point] (1)); + + tmp (0) += this->shape_value_component + (dof, quadrature_point_0, 1); + tmp (1) += this->shape_value_component + (dof, quadrature_point_0, 2); + + if (face_quadrature_points[q_point] (0) + < 0.5) + { + Point + quadrature_point_1 + (2.0 * face_quadrature_points[q_point] (0), + i, + face_quadrature_points[q_point] (1)); + + tmp (2) += 2.0 + * this->shape_value_component + (dof, quadrature_point_1, + 0); + tmp (3) += this->shape_value_component + (dof, quadrature_point_1, + 2); + quadrature_point_1 + = Point (2.0 * face_quadrature_points[q_point] (0), + face_quadrature_points[q_point] (1), + i); + tmp (6) += 2.0 + * this->shape_value_component + (dof, quadrature_point_1, + 0); + tmp (7) += this->shape_value_component + (dof, quadrature_point_1, + 1); + } + + else + { + Point + quadrature_point_1 + (2.0 * face_quadrature_points[q_point] (0) + - 1.0, i, + face_quadrature_points[q_point] (1)); + + tmp (4) += 2.0 + * this->shape_value_component + (dof, quadrature_point_1, + 0); + tmp (5) += this->shape_value_component + (dof, quadrature_point_1, + 2); + quadrature_point_1 + = Point (2.0 * face_quadrature_points[q_point] (0) + - 1.0, + face_quadrature_points[q_point] (1), + i); + tmp (8) += 2.0 + * this->shape_value_component + (dof, quadrature_point_1, + 0); + tmp (9) += this->shape_value_component + (dof, quadrature_point_1, + 1); + } + + const Point + quadrature_point_2 + (face_quadrature_points[q_point] (0), i, + face_quadrature_points[q_point] (1)); + const Point + quadrature_point_3 + (face_quadrature_points[q_point] (0), + face_quadrature_points[q_point] (1), + i); + + for (unsigned int j = 0; j < 2; ++j) + for (unsigned int k = 0; k <= deg; ++k) + { + tmp (0) -= this->restriction[index][i] + ((i + 4 * j) + * this->degree + k, + dof) + * this->shape_value_component + ((i + 4 * j) + * this->degree, + quadrature_point_0, 1); + tmp (1) -= this->restriction[index][i] + ((i + 2 * (j + 4)) + * this->degree + k, + dof) + * this->shape_value_component + ((i + 2 * (j + 4)) + * this->degree, + quadrature_point_0, 2); + tmp (2 * j + 3) -= this->restriction[index][j] + ((2 * (i + 4) + + j) + * this->degree + + k, dof) + * this->shape_value_component + ((2 * (i + 4) + + j) + * this->degree + + k, + quadrature_point_2, + 2); + tmp (2 * j + 7) + -= this->restriction[index][j] + ((4 * i + j) * this->degree + + k, dof) + * this->shape_value_component + ((4 * i + j) * this->degree + k, + quadrature_point_3, 1); + + for (unsigned int l = 0; l < 2; ++l) + { + tmp (2 * (l + 1)) + -= this->restriction[index][l] + ((i + 4 * j + 2) + * this->degree + k, dof) + * this->shape_value_component + ((i + 4 * j + 2) + * this->degree, + quadrature_point_2, 0); + tmp (2 * (l + 3)) + -= this->restriction[index][l] + ((4 * i + j + 2) + * this->degree + k, dof) + * this->shape_value_component + ((4 * i + j + 2) + * this->degree + k, + quadrature_point_3, 0); + } + } + + tmp *= face_quadrature.weight (q_point); + + for (unsigned int j = 0; j <= deg; ++j) + { + const double L_j_0 + = legendre_polynomials[j].value + (face_quadrature_points[q_point] (0)); + const double L_j_1 + = legendre_polynomials[j].value + (face_quadrature_points[q_point] (1)); + + for (unsigned int k = 0; k < deg; ++k) + { + const double l_k_0 + = L_j_0 * lobatto_polynomials[k + 2].value + (face_quadrature_points[q_point] (1)); + const double l_k_1 + = L_j_1 * lobatto_polynomials[k + 2].value + (face_quadrature_points[q_point] (0)); + + for (unsigned int l = 0; l < 5; + ++l) + { + system_rhs (j * deg + k, + 2 * l) + += tmp (2 * l) * l_k_0; + system_rhs (j * deg + k, + 2 * l + 1) + += tmp (2 * l + 1) * l_k_1; + } + } + } + } + + system_matrix_inv.mmult (solution, system_rhs); + + for (unsigned int j = 0; j <= deg; ++j) + for (unsigned int k = 0; k < deg; ++k) + { + if (std::abs (solution (j * deg + k, 0)) + > 1e-14) + this->restriction[index][i] + ((2 * i * this->degree + j) * deg + k + + n_edge_dofs, + dof) = solution (j * deg + k, 0); + + if (std::abs (solution (j * deg + k, 1)) + > 1e-14) + this->restriction[index][i] + (((2 * i + 1) * deg + k) * this->degree + + j + + n_edge_dofs, + dof) = solution (j * deg + k, 1); + + for (unsigned int l = 0; l < 2; ++l) + for (unsigned int m = 0; m < 2; ++m) + { + if (std::abs (solution (j * deg + k, + 2 * (l + 2 * m + 1))) + > 1e-14) + this->restriction[index][l] + ((2 * (i + 2 * (m + 1)) + * this->degree + j) * deg + k + + n_edge_dofs, dof) + = solution (j * deg + k, + 2 * (l + 2 * m + + 1)); + + if (std::abs (solution (j * deg + k, + 2 * (l + 2 * m) + + 3)) + > 1e-14) + this->restriction[index][l] + (((2 * (i + 2 * m) + 5) * deg + k) + * this->degree + j + n_edge_dofs, + dof) = solution (j * deg + k, + 2 * (l + 2 * m) + + 3); + } + } + } + + const QGauss quadrature (2 * this->degree); + const std::vector >& + quadrature_points = quadrature.get_points (); + const unsigned int n_boundary_dofs + = 2 * GeometryInfo::faces_per_cell * deg + * this->degree + n_edge_dofs; + const unsigned int& + n_quadrature_points = quadrature.size (); + + { + FullMatrix assembling_matrix (deg * deg + * this->degree, + n_quadrature_points); + + for (unsigned int q_point = 0; + q_point < n_quadrature_points; ++q_point) + { + const double weight + = std::sqrt (quadrature.weight (q_point)); + + for (unsigned int i = 0; i <= deg; ++i) + { + const double L_i + = weight * legendre_polynomials[i].value + (quadrature_points[q_point] (0)); + + for (unsigned int j = 0; j < deg; ++j) + { + const double l_j + = L_i * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (1)); + + for (unsigned int k = 0; k < deg; ++k) + assembling_matrix ((i * deg + j) + * deg + k, + q_point) + = l_j * lobatto_polynomials[k + 2].value + (quadrature_points[q_point] (2)); + } + } + } + + FullMatrix + system_matrix (assembling_matrix.m (), + assembling_matrix.m ()); + + assembling_matrix.mTmult (system_matrix, + assembling_matrix); + system_matrix_inv.reinit (system_matrix.m (), + system_matrix.m ()); + system_matrix_inv.invert (system_matrix); + } + + solution.reinit (system_matrix_inv.m (), 6); + system_rhs.reinit (system_matrix_inv.m (), 6); + tmp.reinit (6); + + for (unsigned int dof = 0; + dof < this->dofs_per_cell; ++dof) + { + system_rhs = 0.0; + + for (unsigned int q_point = 0; + q_point < n_quadrature_points; ++q_point) + { + tmp = 0.0; + + if (quadrature_points[q_point] (0) < 0.5) + { + const Point + quadrature_point + (2.0 * quadrature_points[q_point] (0), + quadrature_points[q_point] (1), + quadrature_points[q_point] (2)); + + tmp (0) += 2.0 + * this->shape_value_component + (dof, quadrature_point, 0); + tmp (1) += this->shape_value_component + (dof, quadrature_point, 1); + tmp (2) += this->shape_value_component + (dof, quadrature_point, 2); + } + + else + { + const Point + quadrature_point + (2.0 * quadrature_points[q_point] (0) + - 1.0, + quadrature_points[q_point] (1), + quadrature_points[q_point] (2)); + + tmp (3) += 2.0 + * this->shape_value_component + (dof, quadrature_point, 0); + tmp (4) += this->shape_value_component + (dof, quadrature_point, 1); + tmp (5) += this->shape_value_component + (dof, quadrature_point, 2); + } + + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j <= deg; ++j) + { + for (unsigned int k = 0; k < 2; ++k) + { + for (unsigned int l = 0; l < 2; + ++l) + { + tmp (3 * i) + -= this->restriction[index][i] + (j + (k + 4 * l + 2) + * this->degree, dof) + * this->shape_value_component + (j + (k + 4 * l + 2) + * this->degree, + quadrature_points[q_point], + 0); + + for (unsigned int m = 0; + m < deg; ++m) + { + tmp (3 * i) + -= this->restriction[index][i] + ((j + 2 * (k + 2 * (l + 1)) + * this->degree) + * deg + m + + n_edge_dofs, dof) + * this->shape_value_component + ((j + 2 * (k + 2 * (l + 1)) + * this->degree) + * deg + m + + n_edge_dofs, + quadrature_points[q_point], + 0); + } + } + + for (unsigned int l = 0; l < deg; + ++l) + { + tmp (3 * i + 1) + -= this->restriction[index][i] + (j + ((2 * k + 9) * deg + + l) + * this->degree + + n_edge_dofs, dof) + * this->shape_value_component + (j + ((2 * k + 9) * deg + + l) + * this->degree + + n_edge_dofs, + quadrature_points[q_point], + 1); + tmp (3 * i + 2) + -= this->restriction[index][i] + (j + ((2 * k + 5) * deg + + l) + * this->degree + + n_edge_dofs, dof) + * this->shape_value_component + (j * ((2 * k + 5) * deg + + l) + * this->degree + + n_edge_dofs, + quadrature_points[q_point], + 2); + } + + tmp (3 * i + 1) + -= this->restriction[index][i] + ((i + 4 * k) * this->degree + + j, dof) + * this->shape_value_component + ((i + 4 * k) * this->degree + + j, + quadrature_points[q_point], + 1); + tmp (3 * i + 2) + -= this->restriction[index][i] + ((i + 2 * (k + 4)) + * this->degree + j, dof) + * this->shape_value_component + ((i + 2 * (k + 4)) + * this->degree + j, + quadrature_points[q_point], + 2); + } + + for (unsigned int k = 0; k < deg; + ++k) + { + tmp (3 * i + 1) + -= this->restriction[index][i] + ((2 * i * this->degree + j) + * deg + k + n_edge_dofs, + dof) + * this->shape_value_component + ((2 * i * this->degree + j) + * deg + k + n_edge_dofs, + quadrature_points[q_point], + 1); + tmp (3 * i + 2) + -= this->restriction[index][i] + (j + (k + (2 * i + 1) * deg) + * this->degree + + n_edge_dofs, dof) + * this->shape_value_component + (j + (k + (2 * i + 1) * deg) + * this->degree + + n_edge_dofs, + quadrature_points[q_point], + 2); + } + } + + tmp *= quadrature.weight (q_point); + + for (unsigned int i = 0; i <= deg; ++i) + { + const double L_i_0 + = legendre_polynomials[i].value + (quadrature_points[q_point] (0)); + const double L_i_1 + = legendre_polynomials[i].value + (quadrature_points[q_point] (1)); + const double L_i_2 + = legendre_polynomials[i].value + (quadrature_points[q_point] (2)); + + for (unsigned int j = 0; j < deg; ++j) + { + const double l_j_0 + = L_i_0 * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (1)); + const double l_j_1 + = L_i_1 * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (0)); + const double l_j_2 + = L_i_2 * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (0)); + + for (unsigned int k = 0; k < deg; ++k) + { + const double l_k_0 + = l_j_0 * lobatto_polynomials[k + 2].value + (quadrature_points[q_point] (2)); + const double l_k_1 + = l_j_1 * lobatto_polynomials[k + 2].value + (quadrature_points[q_point] (2)); + const double l_k_2 + = l_j_2 * lobatto_polynomials[k + 2].value + (quadrature_points[q_point] (1)); + + for (unsigned int l = 0; l < 2; + ++l) + { + system_rhs ((i * deg + j) + * deg + k, + 3 * l) + += tmp (3 * l) * l_k_0; + system_rhs ((i * deg + j) + * deg + k, + 3 * l + 1) + += tmp (3 * l + 1) + * l_k_1; + system_rhs ((i * deg + j) + * deg + k, + 3 * l + 2) + += tmp (3 * l + 2) + * l_k_2; + } + } + } + } + } + + system_matrix_inv.mmult (solution, system_rhs); + + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j <= deg; ++j) + for (unsigned int k = 0; k < deg; ++k) + for (unsigned int l = 0; l < deg; ++l) + { + if (std::abs (solution ((j * deg + k) + * deg + l, + 3 * i)) + > 1e-14) + this->restriction[index][i] + ((j * deg + k) * deg + l + + n_boundary_dofs, + dof) = solution ((j * deg + k) + * deg + l, + 3 * i); + + if (std::abs (solution ((j * deg + k) + * deg + l, + 3 * i + 1)) + > 1e-14) + this->restriction[index][i] + ((j + (k + deg) * this->degree) + * deg + l + n_boundary_dofs, dof) + = solution ((j * deg + k) * deg + + l, + 3 * i + 1); + + if (std::abs (solution ((j * deg + k) + * deg + l, + 3 * i + 2)) + > 1e-14) + this->restriction[index][i] + (j + ((k + 2 * deg) * deg + l) + * this->degree + n_boundary_dofs, + dof) = solution ((j * deg + k) + * deg + l, + 3 * i + 2); + } + } + } + + break; + } - for (unsigned int q_point = 0; q_point < n_edge_points; - ++q_point) + case RefinementCase<3>::cut_y: { - const double tmp - = 2.0 * quadrature_points[q_point] (0) - + shift[subface]; - const double weight - = edge_quadrature.weight (q_point) - * (this->shape_value_component - (dof, Point (0.0, - quadrature_points[q_point] (0)), - 1) - interpolation_matrix (0, dof)); - - for (unsigned int i = 0; i < deg; ++i) - system_rhs (i) - += weight - * lobatto_polynomials_grad[i + 1].value (tmp); + // First interpolate the shape + // functions of the child cells + // to the lowest order shape + // functions of the parent cell. + for (unsigned int dof = 0; dof < this->dofs_per_cell; + ++dof) + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; ++q_point) + { + { + const double weight + = 2.0 * edge_quadrature.weight (q_point); + + if (edge_quadrature_points[q_point] (0) < 0.5) + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + { + const Point quadrature_point (i, + 2.0 * edge_quadrature_points[q_point] (0), + j); + + this->restriction[index][0] + ((i + 4 * j) * this->degree, dof) + += weight + * this->shape_value_component (dof, + quadrature_point, + 1); + } + + else + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + { + const Point quadrature_point (i, + 2.0 * edge_quadrature_points[q_point] (0) + - 1.0, + j); + + this->restriction[index][1] + ((i + 4 * j) * this->degree, dof) + += weight + * this->shape_value_component (dof, + quadrature_point, + 1); + } + } + + const double weight + = edge_quadrature.weight (q_point); + + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + { + Point + quadrature_point + (edge_quadrature_points[q_point] (0), i, + j); + + this->restriction[index][i] + ((i + 4 * j + 2) * this->degree, dof) + += weight + * this->shape_value_component (dof, + quadrature_point, + 1); + quadrature_point = Point (i, j, + edge_quadrature_points[q_point] (0)); + this->restriction[index][j] + ((i + 2 * (j + 4)) * this->degree, dof) + += weight * this->shape_value_component + (dof, quadrature_point, 2); + } + } + + // Then project the shape functions + // of the child cells to the higher + // order shape functions of the + // parent cell. + if (deg > 0) + { + const std::vector >& + legendre_polynomials + = Polynomials::Legendre::generate_complete_basis + (deg); + FullMatrix system_matrix_inv (deg, deg); + + { + FullMatrix assembling_matrix (deg, + n_edge_quadrature_points); + + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; + ++q_point) + { + const double weight + = std::sqrt (edge_quadrature.weight + (q_point)); + + for (unsigned int i = 0; i < deg; ++i) + assembling_matrix (i, q_point) + = weight * legendre_polynomials[i + 1].value + (edge_quadrature_points[q_point] (0)); + } + + FullMatrix system_matrix (deg, deg); + + assembling_matrix.mTmult (system_matrix, + assembling_matrix); + system_matrix_inv.invert (system_matrix); + } + + FullMatrix solution (deg, 4); + FullMatrix system_rhs (deg, 4); + Vector tmp (4); + + for (unsigned int dof = 0; + dof < this->dofs_per_cell; ++dof) + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + { + system_rhs = 0.0; + + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; + ++q_point) + { + const double weight + = edge_quadrature.weight (q_point); + Point quadrature_point_0 (i, + edge_quadrature_points[q_point] (0), + j); + + if (edge_quadrature_points[q_point] (0) + < 0.5) + { + const Point + quadrature_point_1 (i, + 2.0 * edge_quadrature_points[q_point] (0), + j); + + tmp (0) = weight + * (2.0 * this->shape_value_component + (dof, + quadrature_point_1, + 1) + - this->restriction[index][0] + ((i + 4 * j) + * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j) + * this->degree, + quadrature_point_0, + 1)); + tmp (1) = -1.0 * this->restriction[index][1] + ((i + 4 * j) + * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j) + * this->degree, + quadrature_point_0, + 1); + } + + else + { + tmp (0) = -1.0 * this->restriction[index][0] + ((i + 4 * j) + * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j) + * this->degree, + quadrature_point_0, + 1); + + const Point + quadrature_point_1 (i, + 2.0 * edge_quadrature_points[q_point] (0) + - 1.0, + j); + + tmp (1) = weight + * (2.0 * this->shape_value_component + (dof, + quadrature_point_1, + 1) + - this->restriction[index][1] + ((i + 4 * j) + * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j) + * this->degree, + quadrature_point_0, + 1)); + } + + quadrature_point_0 + = Point (edge_quadrature_points[q_point] (0), + i, j); + tmp (2) = weight + * (this->shape_value_component + (dof, quadrature_point_0, + 0) + - this->restriction[index][i] + ((i + 4 * j + 2) + * this->degree, dof) + * this->shape_value_component + ((i + 4 * j + 2) + * this->degree, + quadrature_point_0, + 0)); + quadrature_point_0 = Point (i, j, + edge_quadrature_points[q_point] (0)); + tmp (3) = weight + * (this->shape_value_component + (dof, quadrature_point_0, + 2) + - this->restriction[index][j] + ((i + 2 * (j + 4)) + * this->degree, dof) + * this->shape_value_component + ((i + 2 * (j + 4)) + * this->degree, + quadrature_point_0, 0)); + + for (unsigned int k = 0; k < deg; ++k) + { + const double L_k + = legendre_polynomials[k + 1].value + (edge_quadrature_points[q_point] (0)); + + for (unsigned int l = 0; + l < tmp.size (); ++l) + system_rhs (k, l) += tmp (l) + * L_k; + } + } + + system_matrix_inv.mmult (solution, + system_rhs); + + for (unsigned int k = 0; k < deg; ++k) + { + for (unsigned int l = 0; l < 2; ++l) + if (std::abs (solution (k, l)) + > 1e-14) + this->restriction[index][l] + ((i + 4 * j) * this->degree + k + + 1, dof) + = solution (k, l); + + if (std::abs (solution (k, 2)) > 1e-14) + this->restriction[index][i] + ((i + 4 * j + 2) * this->degree + k + + 1, dof) + = solution (k, 2); + + if (std::abs (solution (k, 3)) > 1e-14) + this->restriction[index][j] + ((i + 2 * (j + 4)) * this->degree + k + + 1, dof) + = solution (k, 3); + } + } + + const QGauss<2> face_quadrature (2 * this->degree); + const std::vector >& + face_quadrature_points + = face_quadrature.get_points (); + const std::vector >& + lobatto_polynomials + = Polynomials::Lobatto::generate_complete_basis + (this->degree); + const unsigned int n_edge_dofs + = GeometryInfo::lines_per_cell * this->degree; + const unsigned int& n_face_quadrature_points + = face_quadrature.size (); + + { + FullMatrix + assembling_matrix (deg * this->degree, + n_face_quadrature_points); + + for (unsigned int q_point = 0; + q_point < n_face_quadrature_points; + ++q_point) + { + const double weight + = std::sqrt (face_quadrature.weight + (q_point)); + + for (unsigned int i = 0; i <= deg; ++i) + { + const double L_i + = weight + * legendre_polynomials[i].value + (face_quadrature_points[q_point] (0)); + + for (unsigned int j = 0; j < deg; ++j) + assembling_matrix (i * deg + j, + q_point) + = L_i * lobatto_polynomials[j + 2].value + (face_quadrature_points[q_point] (1)); + } + } + + FullMatrix + system_matrix (assembling_matrix.m (), + assembling_matrix.m ()); + + assembling_matrix.mTmult (system_matrix, + assembling_matrix); + system_matrix_inv.reinit (system_matrix.m (), + system_matrix.m ()); + system_matrix_inv.invert (system_matrix); + } + + solution.reinit (system_matrix_inv.m (), 10); + system_rhs.reinit (system_matrix_inv.m (), 10); + tmp.reinit (10); + + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int dof = 0; + dof < this->dofs_per_cell; ++dof) + { + system_rhs = 0.0; + + for (unsigned int q_point = 0; + q_point < n_face_quadrature_points; + ++q_point) + { + tmp = 0.0; + + if (face_quadrature_points[q_point] (0) + < 0.5) + { + Point quadrature_point_0 (i, + 2.0 * face_quadrature_points[q_point] (0), + face_quadrature_points[q_point] (1)); + + tmp (0) += 2.0 + * this->shape_value_component + (dof, quadrature_point_0, + 1); + tmp (1) += this->shape_value_component + (dof, quadrature_point_0, + 2); + quadrature_point_0 + = Point (face_quadrature_points[q_point] (1), + 2.0 * face_quadrature_points[q_point] (0), + i); + tmp (6) += this->shape_value_component + (dof, quadrature_point_0, + 0); + tmp (7) += 2.0 + * this->shape_value_component + (dof, quadrature_point_0, + 1); + } + + else + { + Point quadrature_point_0 (i, + 2.0 * face_quadrature_points[q_point] (0) + - 1.0, + face_quadrature_points[q_point] (1)); + + tmp (2) += 2.0 + * this->shape_value_component + (dof, quadrature_point_0, + 1); + tmp (3) += this->shape_value_component + (dof, quadrature_point_0, + 2); + quadrature_point_0 + = Point (face_quadrature_points[q_point] (1), + 2.0 * face_quadrature_points[q_point] (0) + - 1.0, i); + tmp (8) += this->shape_value_component + (dof, quadrature_point_0, + 0); + tmp (9) += 2.0 + * this->shape_value_component + (dof, quadrature_point_0, + 1); + } + + const Point quadrature_point_1 (i, + face_quadrature_points[q_point] (0), + face_quadrature_points[q_point] (1)); + const Point + quadrature_point_2 + (face_quadrature_points[q_point] (0), i, + face_quadrature_points[q_point] (1)); + + tmp (4) += this->shape_value_component + (dof, quadrature_point_2, 0); + tmp (5) += this->shape_value_component + (dof, quadrature_point_2, 2); + + const Point + quadrature_point_3 + (face_quadrature_points[q_point] (1), + face_quadrature_points[q_point] (0), + i); + + for (unsigned int j = 0; j < 2; ++j) + for (unsigned int k = 0; k <= deg; ++k) + { + for (unsigned int l = 0; l < 2; + ++l) + { + tmp (2 * l) + -= this->restriction[index][l] + ((i + 4 * j) + * this->degree + k, dof) + * this->shape_value_component + ((i + 4 * j) * this->degree + + k, + quadrature_point_1, 1); + tmp (2 * l + 7) + -= this->restriction[index][l] + ((4 * i + j) + * this->degree + k, dof) + * this->shape_value_component + ((4 * i + j) * this->degree + + k, + quadrature_point_3, 1); + } + + tmp (2 * j + 1) + -= this->restriction[index][j] + ((i + 2 * (j + 4)) + * this->degree + k, dof) + * this->shape_value_component + ((i + 2 * (j + 4)) + * this->degree + k, + quadrature_point_1, 2); + tmp (4) -= this->restriction[index][i] + ((i + 4 * j + 2) + * this->degree + k, + dof) + * this->shape_value_component + ((i + 4 * j + 2) + * this->degree + k, + quadrature_point_2, 0); + tmp (5) -= this->restriction[index][i] + ((2 * (i + 4) + j) + * this->degree + k, + dof) + * this->shape_value_component + ((2 * (i + 4) + j) + * this->degree + k, + quadrature_point_2, 2); + tmp (2 * (j + 3)) + -= this->restriction[index][j] + ((4 * i + j + 2) + * this->degree + k, dof) + * this->shape_value_component + ((4 * i + j + 2) * this->degree + + k, + quadrature_point_3, 0); + } + + tmp *= face_quadrature.weight (q_point); + + for (unsigned int j = 0; j <= deg; ++j) + { + const double L_j_0 + = legendre_polynomials[j].value + (face_quadrature_points[q_point] (0)); + const double L_j_1 + = legendre_polynomials[j].value + (face_quadrature_points[q_point] (1)); + + for (unsigned int k = 0; k < deg; + ++k) + { + const double l_k_0 + = L_j_0 * lobatto_polynomials[k + 2].value + (face_quadrature_points[q_point] (1)); + const double l_k_1 + = L_j_1 * lobatto_polynomials[k + 2].value + (face_quadrature_points[q_point] (0)); + + for (unsigned int l = 0; l < 3; + ++l) + { + system_rhs (j * deg + k, + 2 * l) + += tmp (2 * l) * l_k_0; + system_rhs (j * deg + k, + 2 * l + 1) + += tmp (2 * l + 1) * l_k_1; + } + + for (unsigned int l = 3; l < 5; + ++l) + { + system_rhs (j * deg + k, + 2 * l) + += tmp (2 * l) * l_k_1; + system_rhs (j * deg + k, + 2 * l + 1) + += tmp (2 * l + 1) * l_k_0; + } + } + } + } + + system_matrix_inv.mmult (solution, + system_rhs); + + for (unsigned int j = 0; j <= deg; ++j) + for (unsigned int k = 0; k < deg; ++k) + { + for (unsigned int l = 0; l < 2; ++l) + { + if (std::abs (solution (j * deg + k, + 2 * l)) + > 1e-14) + this->restriction[index][l] + (2 * i * this->degree + j * deg + + k + n_edge_dofs, dof) + = solution (j * deg + k, 2 * l); + + if (std::abs (solution (j * deg + k, + 2 * l + 1)) + > 1e-14) + this->restriction[index][l] + (((2 * i + 1) * deg + k) + * this->degree + j + n_edge_dofs, + dof) + = solution (j * deg + k, + 2 * l + 1); + + if (std::abs (solution (j * deg + k, + 2 * (l + 3))) + > 1e-14) + this->restriction[index][l] + (2 * (i + 4) * this->degree + + j * deg + k + n_edge_dofs, + dof) + = solution (j * deg + k, + 2 * (l + 3)); + + if (std::abs (solution (j * deg + k, + 2 * l + 7)) + > 1e-14) + this->restriction[index][l] + (((2 * i + 9) * deg + k) + * this->degree + j + n_edge_dofs, + dof) = solution (j * deg + k, + 2 * l + 7); + } + + if (std::abs (solution (j * deg + k, + 4)) > 1e-14) + this->restriction[index][i] + (2 * (i + 2) * this->degree + j * deg + + k + n_edge_dofs, dof) + = solution (j * deg + k, 4); + + if (std::abs (solution (j * deg + k, + 5)) > 1e-14) + this->restriction[index][i] + (((2 * i + 5) * deg + k) + * this->degree + j + n_edge_dofs, + dof) = solution (j * deg + k, 5); + } + } + + const QGauss quadrature (2 * this->degree); + const std::vector >& + quadrature_points = quadrature.get_points (); + const unsigned int n_boundary_dofs + = 2 * GeometryInfo::faces_per_cell * deg + * this->degree + n_edge_dofs; + const unsigned int& + n_quadrature_points = quadrature.size (); + + { + FullMatrix + assembling_matrix (deg * deg * this->degree, + n_quadrature_points); + + for (unsigned int q_point = 0; + q_point < n_quadrature_points; ++q_point) + { + const double weight + = std::sqrt (quadrature.weight (q_point)); + + for (unsigned int i = 0; i <= deg; ++i) + { + const double L_i + = weight + * legendre_polynomials[i].value + (quadrature_points[q_point] (0)); + + for (unsigned int j = 0; j < deg; ++j) + { + const double l_j + = L_i * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (1)); + + for (unsigned int k = 0; k < deg; ++k) + assembling_matrix ((i * deg + j) + * deg + k, + q_point) + = l_j * lobatto_polynomials[k + 2].value + (quadrature_points[q_point] (2)); + } + } + } + + FullMatrix + system_matrix (assembling_matrix.m (), + assembling_matrix.m ()); + + assembling_matrix.mTmult (system_matrix, + assembling_matrix); + system_matrix_inv.reinit (system_matrix.m (), + system_matrix.m ()); + system_matrix_inv.invert (system_matrix); + } + + solution.reinit (system_matrix_inv.m (), 6); + system_rhs.reinit (system_matrix_inv.m (), 6); + tmp.reinit (6); + + for (unsigned int dof = 0; + dof < this->dofs_per_cell; ++dof) + { + system_rhs = 0.0; + + for (unsigned int q_point = 0; + q_point < n_quadrature_points; + ++q_point) + { + tmp = 0.0; + + if (quadrature_points[q_point] (1) < 0.5) + { + const Point + quadrature_point + (quadrature_points[q_point] (0), + 2.0 * quadrature_points[q_point] (1), + quadrature_points[q_point] (2)); + + tmp (0) += this->shape_value_component + (dof, quadrature_point, 0); + tmp (1) += 2.0 + * this->shape_value_component + (dof, quadrature_point, 1); + tmp (2) += this->shape_value_component + (dof, quadrature_point, 2); + } + + else + { + const Point + quadrature_point + (quadrature_points[q_point] (0), + 2.0 * quadrature_points[q_point] (1) + - 1.0, + quadrature_points[q_point] (2)); + + tmp (3) += this->shape_value_component + (dof, quadrature_point, 0); + tmp (4) += 2.0 + * this->shape_value_component + (dof, quadrature_point, 1); + tmp (5) += this->shape_value_component + (dof, quadrature_point, 2); + } + + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j <= deg; ++j) + { + for (unsigned int k = 0; k < 2; ++k) + { + tmp (3 * i) + -= this->restriction[index][i] + ((i + 4 * k + 2) + * this->degree + j, dof) + * this->shape_value_component + ((i + 4 * k + 2) + * this->degree + j, + quadrature_points[q_point], + 0); + tmp (3 * i + 2) + -= this->restriction[index][i] + ((2 * (i + 4) + k) + * this->degree + j, dof) + * this->shape_value_component + ((2 * (i + 4) + k) + * this->degree + j, + quadrature_points[q_point], + 2); + + for (unsigned int l = 0; l < deg; + ++l) + { + tmp (3 * i) + -= this->restriction[index][i] + ((j + 2 * (k + 4) + * this->degree) + * deg + l + n_edge_dofs, + dof) + * this->shape_value_component + ((j + 2 * (k + 4) + * this->degree) * deg + + l + n_edge_dofs, + quadrature_points[q_point], + 0); + tmp (3 * i + 1) + -= this->restriction[index][i] + ((j + 2 * k + * this->degree) + * deg + l + n_edge_dofs, + dof) + * this->shape_value_component + ((j + 2 * k + * this->degree) + * deg + l + n_edge_dofs, + quadrature_points[q_point], + 1); + tmp (3 * i + 1) + -= this->restriction[index][i] + (j + ((2 * k + 9) * deg + + l) + * this->degree + + n_edge_dofs, dof) + * this->shape_value_component + (j + ((2 * k + 9) * deg + + l) + * this->degree + + n_edge_dofs, + quadrature_points[q_point], + 1); + tmp (3 * i + 2) + -= this->restriction[index][i] + (j + ((2 * k + 1) * deg + + l) + * this->degree + + n_edge_dofs, dof) + * this->shape_value_component + (j + ((2 * k + 1) * deg + + l) * this->degree + + n_edge_dofs, + quadrature_points[q_point], + 2); + } + + for (unsigned int l = 0; l < 2; + ++l) + { + tmp (3 * i + 1) + -= this->restriction[index][i] + (j + (k + 4 * l) + * this->degree, dof) + * this->shape_value_component + (j + (k + 4 * l) + * this->degree, + quadrature_points[q_point], + 1); + } + } + + for (unsigned int k = 0; k < deg; ++k) + { + tmp (3 * i) + -= this->restriction[index][i] + ((2 * (i + 2) * this->degree + + j) * deg + k + + n_edge_dofs, dof) + * this->shape_value_component + ((2 * (i + 2) * this->degree + + j) * deg + k + + n_edge_dofs, + quadrature_points[q_point], + 0); + tmp (3 * i + 2) + -= this->restriction[index][i] + (((2 * i + 5) * deg + k) + * this->degree + j + + n_edge_dofs, + dof) + * this->shape_value_component + (((2 * i + 5) * deg + k) + * this->degree + j + + n_edge_dofs, + quadrature_points[q_point], + 2); + } + } + + tmp *= quadrature.weight (q_point); + + for (unsigned int i = 0; i <= deg; ++i) + { + const double L_i_0 + = legendre_polynomials[i].value + (quadrature_points[q_point] (0)); + const double L_i_1 + = legendre_polynomials[i].value + (quadrature_points[q_point] (1)); + const double L_i_2 + = legendre_polynomials[i].value + (quadrature_points[q_point] (2)); + + for (unsigned int j = 0; j < deg; ++j) + { + const double l_j_0 + = L_i_0 * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (1)); + const double l_j_1 + = L_i_1 * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (0)); + const double l_j_2 + = L_i_2 * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (0)); + + for (unsigned int k = 0; k < deg; + ++k) + { + const double l_k_0 + = l_j_0 * lobatto_polynomials[k + 2].value + (quadrature_points[q_point] (2)); + const double l_k_1 + = l_j_1 * lobatto_polynomials[k + 2].value + (quadrature_points[q_point] (2)); + const double l_k_2 + = l_j_2 * lobatto_polynomials[k + 2].value + (quadrature_points[q_point] (1)); + + for (unsigned int l = 0; l < 2; + ++l) + { + system_rhs ((i * deg + j) + * deg + k, + 3 * l) + += tmp (3 * l) * l_k_0; + system_rhs ((i * deg + j) + * deg + k, + 3 * l + 1) + += tmp (3 * l + 1) + * l_k_1; + system_rhs ((i * deg + j) + * deg + k, + 3 * l + 2) + += tmp (3 * l + 2) + * l_k_2; + } + } + } + } + } + + system_matrix_inv.mmult (solution, system_rhs); + + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j <= deg; ++j) + for (unsigned int k = 0; k < deg; ++k) + for (unsigned int l = 0; l < deg; ++l) + { + if (std::abs (solution ((j * deg + k) + * deg + l, + 3 * i)) + > 1e-14) + this->restriction[index][i] + ((j * deg + k) * deg + l + + n_boundary_dofs, dof) + = solution ((j * deg + k) * deg + + l, + 3 * i); + + if (std::abs (solution ((j * deg + k) + * deg + l, + 3 * i + 1)) + > 1e-14) + this->restriction[index][i] + ((j + (k + deg) * this->degree) + * deg + l + n_boundary_dofs, dof) + = solution ((j * deg + k) * deg + + l, + 3 * i + 1); + + if (std::abs (solution ((j * deg + k) + * deg + l, + 3 * i + 2)) + > 1e-14) + this->restriction[index][i] + (j + ((k + 2 * deg) * deg + l) + * this->degree + n_boundary_dofs, + dof) = solution ((j * deg + k) + * deg + l, + 3 * i + 2); + } + } + } + + break; } - system_matrix_inv.vmult (solution, system_rhs); - - for (unsigned int i = 0; i < deg; ++i) - if (std::abs (solution (i)) > 1e-14) - interpolation_matrix (i + 1, dof) = solution (i); - } - } - - break; - } - - case 3: - { - const QGauss<1> reference_edge_quadrature (this->degree); - - switch (subface) - { - case 0: - { - const Quadrature<1>& edge_quadrature - = QProjector<1>::project_to_child - (reference_edge_quadrature, 0); - const unsigned int n_edge_points = edge_quadrature.size (); - const std::vector >& - edge_quadrature_points = edge_quadrature.get_points (); - - // Let us begin with the - // interpolation part. - for (unsigned int q_point = 0; q_point < n_edge_points; - ++q_point) + case RefinementCase<3>::cut_xy: { - const double - weight = edge_quadrature.weight (q_point); - - for (unsigned int i = 0; i < 2; ++i) - for (unsigned int dof = 0; dof < this->dofs_per_face; - ++dof) + // First interpolate the shape + // functions of the child cells + // to the lowest order shape + // functions of the parent cell. + for (unsigned int dof = 0; dof < this->dofs_per_cell; + ++dof) + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; ++q_point) { - interpolation_matrix (i * source_fe.degree, dof) - += weight - * this->shape_value_component - (this->face_to_cell_index (dof, 4), - Point - (0.5 * i, - edge_quadrature_points[q_point] (0), 0.0), - 1); - interpolation_matrix ((i + 2) * source_fe.degree, - dof) - += weight - * this->shape_value_component - (this->face_to_cell_index (dof, 4), - Point - (edge_quadrature_points[q_point] (0), - 0.5 * i, 0.0), 0); + { + const double weight + = 2.0 * edge_quadrature.weight (q_point); + + if (edge_quadrature_points[q_point] (0) < 0.5) + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + { + Point quadrature_point (i, + 2.0 * edge_quadrature_points[q_point] (0), + j); + + this->restriction[index][i] + ((i + 4 * j) * this->degree, dof) + += weight + * this->shape_value_component (dof, + quadrature_point, + 1); + quadrature_point + = Point (2.0 * edge_quadrature_points[q_point] (0), + i, j); + this->restriction[index][2 * i] + ((i + 4 * j + 2) * this->degree, dof) + += weight + * this->shape_value_component (dof, + quadrature_point, + 0); + } + + else + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + { + Point quadrature_point (i, + 2.0 * edge_quadrature_points[q_point] (0) + - 1.0, + j); + + this->restriction[index][i + 2] + ((i + 4 * j) * this->degree, dof) + += weight + * this->shape_value_component + (dof, quadrature_point, 1); + quadrature_point + = Point (2.0 * edge_quadrature_points[q_point] (0) + - 1.0, i, j); + this->restriction[index][2 * i + 1] + ((i + 4 * j + 2) * this->degree, dof) + += weight + * this->shape_value_component (dof, + quadrature_point, + 0); + } + } + + const double weight + = edge_quadrature.weight (q_point); + + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + { + const Point quadrature_point (i, j, + edge_quadrature_points[q_point] (0)); + + this->restriction[index][i + 2 * j] + ((i + 2 * (j + 4)) * this->degree, dof) + += weight + * this->shape_value_component (dof, + quadrature_point, + 2); + } + } + + // Then project the shape functions + // of the child cells to the higher + // order shape functions of the + // parent cell. + if (deg > 0) + { + const std::vector >& + legendre_polynomials + = Polynomials::Legendre::generate_complete_basis + (deg); + FullMatrix system_matrix_inv (deg, deg); + + { + FullMatrix assembling_matrix (deg, + n_edge_quadrature_points); + + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; + ++q_point) + { + const double weight + = std::sqrt (edge_quadrature.weight + (q_point)); + + for (unsigned int i = 0; i < deg; ++i) + assembling_matrix (i, q_point) + = weight + * legendre_polynomials[i + 1].value + (edge_quadrature_points[q_point] (0)); + } + + FullMatrix system_matrix (deg, deg); + + assembling_matrix.mTmult (system_matrix, + assembling_matrix); + system_matrix_inv.invert (system_matrix); + } + + FullMatrix solution (deg, 5); + FullMatrix system_rhs (deg, 5); + Vector tmp (5); + + for (unsigned int dof = 0; + dof < this->dofs_per_cell; ++dof) + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + { + system_rhs = 0.0; + + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; + ++q_point) + { + const double weight + = edge_quadrature.weight (q_point); + const Point quadrature_point_0 (i, + edge_quadrature_points[q_point] (0), + j); + Point + quadrature_point_1 + (edge_quadrature_points[q_point] (0), + i, j); + + if (edge_quadrature_points[q_point] (0) + < 0.5) + { + Point quadrature_point_2 (i, + 2.0 * edge_quadrature_points[q_point] (0), + j); + + tmp (0) = weight + * (2.0 * this->shape_value_component + (dof, + quadrature_point_2, + 1) + - this->restriction[index][i] + ((i + 4 * j) + * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j) + * this->degree, + quadrature_point_0, + 1)); + tmp (1) + = -1.0 * weight + * this->restriction[index][i + 2] + ((i + 4 * j) + * this->degree, dof) + * this->shape_value_component + ((i + 4 * j) + * this->degree, + quadrature_point_0, + 1); + quadrature_point_2 + = Point (2.0 * edge_quadrature_points[q_point] (0), + i, j); + tmp (2) = weight + * (2.0 * this->shape_value_component + (dof, + quadrature_point_2, + 0) + - this->restriction[index][2 * i] + ((i + 4 * j + 2) + * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j + 2) + * this->degree, + quadrature_point_1, + 0)); + tmp (3) = -1.0 * weight + * this->restriction[index][2 * i + 1] + ((i + 4 * j + 2) + * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j + 2) + * this->degree, + quadrature_point_1, + 0); + } + + else + { + tmp (0) = -1.0 * weight + * this->restriction[index][i] + ((i + 4 * j) + * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j) + * this->degree, + quadrature_point_0, + 1); + + Point quadrature_point_2 (i, + 2.0 * edge_quadrature_points[q_point] (0) + - 1.0, + j); + + tmp (1) = weight + * (2.0 * this->shape_value_component + (dof, + quadrature_point_2, + 1) + - this->restriction[index][i + 2] + ((i + 4 * j) + * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j) + * this->degree, + quadrature_point_0, + 1)); + tmp (2) = -1.0 * weight + * this->restriction[index][2 * i] + ((i + 4 * j + 2) + * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j + 2) + * this->degree, + quadrature_point_1, + 0); + quadrature_point_2 + = Point (2.0 * edge_quadrature_points[q_point] (0) + - 1.0, i, j); + tmp (3) = weight + * (2.0 * this->shape_value_component + (dof, + quadrature_point_2, + 0) + - this->restriction[index][2 * i + 1] + ((i + 4 * j + 2) + * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j + 2) + * this->degree, + quadrature_point_1, + 0)); + } + + quadrature_point_1 = Point (i, j, + edge_quadrature_points[q_point] (0)); + tmp (4) = weight + * (this->shape_value_component + (dof, quadrature_point_1, + 2) + - this->restriction[index][i + 2 * j] + ((i + 2 * (j + 4)) + * this->degree, dof) + * this->shape_value_component + ((i + 2 * (j + 4)) + * this->degree, + quadrature_point_1, 2)); + + for (unsigned int k = 0; k < deg; ++k) + { + const double L_k + = legendre_polynomials[k + 1].value + (edge_quadrature_points[q_point] (0)); + + for (unsigned int l = 0; + l < tmp.size (); ++l) + system_rhs (k, l) += tmp (l) + * L_k; + } + } + + system_matrix_inv.mmult (solution, + system_rhs); + + for (unsigned int k = 0; k < deg; ++k) + { + for (unsigned int l = 0; l < 2; ++l) + { + if (std::abs (solution (k, l)) + > 1e-14) + this->restriction[index][i + 2 * l] + ((i + 4 * j) * this->degree + k + + 1, dof) + = solution (k, l); + + if (std::abs (solution (k, l + 2)) + > 1e-14) + this->restriction[index][2 * i + l] + ((i + 4 * j + 2) * this->degree + + k + 1, dof) + = solution (k, l + 2); + } + + if (std::abs (solution (k, 4)) > 1e-14) + this->restriction[index][i + 2 * j] + ((i + 2 * (j + 4)) * this->degree + k + + 1, dof) + = solution (k, 4); + } + } + + const QGauss<2> face_quadrature (2 * this->degree); + const std::vector >& + face_quadrature_points + = face_quadrature.get_points (); + const std::vector >& + lobatto_polynomials + = Polynomials::Lobatto::generate_complete_basis + (this->degree); + const unsigned int n_edge_dofs + = GeometryInfo::lines_per_cell + * this->degree; + const unsigned int& n_face_quadrature_points + = face_quadrature.size (); + + { + FullMatrix + assembling_matrix (deg * this->degree, + n_face_quadrature_points); + + for (unsigned int q_point = 0; + q_point < n_face_quadrature_points; + ++q_point) + { + const double weight + = std::sqrt (face_quadrature.weight + (q_point)); + + for (unsigned int i = 0; i <= deg; ++i) + { + const double L_i = weight + * legendre_polynomials[i].value + (face_quadrature_points[q_point] (0)); + + for (unsigned int j = 0; j < deg; ++j) + assembling_matrix (i * deg + j, + q_point) + = L_i * lobatto_polynomials[j + 2].value + (face_quadrature_points[q_point] (1)); + } + } + + FullMatrix + system_matrix (assembling_matrix.m (), + assembling_matrix.m ()); + + assembling_matrix.mTmult (system_matrix, + assembling_matrix); + system_matrix_inv.reinit (system_matrix.m (), + system_matrix.m ()); + system_matrix_inv.invert (system_matrix); + } + + solution.reinit (system_matrix_inv.m (), 16); + system_rhs.reinit (system_matrix_inv.m (), 16); + tmp.reinit (16); + + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int dof = 0; + dof < this->dofs_per_cell; ++dof) + { + system_rhs = 0.0; + + for (unsigned int q_point = 0; + q_point < n_face_quadrature_points; + ++q_point) + { + tmp = 0.0; + + if (face_quadrature_points[q_point] (0) + < 0.5) + { + Point quadrature_point_0 (i, + 2.0 * face_quadrature_points[q_point] (0), + face_quadrature_points[q_point] (1)); + + tmp (0) += 2.0 + * this->shape_value_component + (dof, quadrature_point_0, + 1); + tmp (1) += this->shape_value_component + (dof, quadrature_point_0, + 2); + quadrature_point_0 + = Point (2.0 * face_quadrature_points[q_point] (0), + i, + face_quadrature_points[q_point] (1)); + tmp (4) += 2.0 + * this->shape_value_component + (dof, quadrature_point_0, + 0); + tmp (5) += this->shape_value_component + (dof, quadrature_point_0, + 2); + + if (face_quadrature_points[q_point] (1) + < 0.5) + { + quadrature_point_0 + = Point (2.0 * face_quadrature_points[q_point] (0), + 2.0 * face_quadrature_points[q_point] (1), + i); + tmp (8) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, 0); + tmp (9) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, 1); + } + + else + { + quadrature_point_0 + = Point (2.0 * face_quadrature_points[q_point] (0), + 2.0 * face_quadrature_points[q_point] (1) + - 1.0, i); + tmp (12) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, + 0); + tmp (13) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, + 1); + } + } + + else + { + Point quadrature_point_0 (i, + 2.0 * face_quadrature_points[q_point] (0) + - 1.0, + face_quadrature_points[q_point] (1)); + + tmp (2) += 2.0 + * this->shape_value_component + (dof, quadrature_point_0, + 1); + tmp (3) += this->shape_value_component + (dof, quadrature_point_0, + 2); + quadrature_point_0 + = Point (2.0 * face_quadrature_points[q_point] (0) + - 1.0, i, + face_quadrature_points[q_point] (1)); + tmp (6) += 2.0 + * this->shape_value_component + (dof, quadrature_point_0, + 0); + tmp (7) += this->shape_value_component + (dof, quadrature_point_0, + 2); + + if (face_quadrature_points[q_point] (1) + < 0.5) + { + quadrature_point_0 + = Point (2.0 * face_quadrature_points[q_point] (0) + - 1.0, + 2.0 * face_quadrature_points[q_point] (1), + i); + tmp (10) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, + 0); + tmp (11) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, + 1); + } + + else + { + quadrature_point_0 + = Point (2.0 * face_quadrature_points[q_point] (0) + - 1.0, + 2.0 * face_quadrature_points[q_point] (1) + - 1.0, i); + tmp (14) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, + 0); + tmp (15) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, + 1); + } + } + + const Point quadrature_point_1 (i, + face_quadrature_points[q_point] (0), + face_quadrature_points[q_point] (1)); + const Point + quadrature_point_2 + (face_quadrature_points[q_point] (0), i, + face_quadrature_points[q_point] (1)); + const Point + quadrature_point_3 + (face_quadrature_points[q_point] (0), + face_quadrature_points[q_point] (1), + i); + + for (unsigned int j = 0; j < 2; ++j) + for (unsigned int k = 0; k <= deg; ++k) + { + for (unsigned int l = 0; l < 2; + ++l) + { + tmp (2 * l) + -= this->restriction[index][i + 2 * l] + ((i + 4 * j) + * this->degree + k, dof) + * this->shape_value_component + ((i + 4 * j) * this->degree + + k, + quadrature_point_1, 1); + tmp (2 * (l + 2)) + -= this->restriction[index][2 * i + l] + ((i + 4 * j + 2) + * this->degree + k, dof) + * this->shape_value_component + ((i + 4 * j + 2) + * this->degree + k, + quadrature_point_2, 0); + tmp (2 * (2 * j + l + 2)) + -= this->restriction[index][2 * j + l] + ((4 * i + j + 2) + * this->degree + k, dof) + * this->shape_value_component + ((4 * i + j + 2) + * this->degree + k, + quadrature_point_3, 0); + tmp (2 * (2 * j + l) + 9) + -= this->restriction[index][2 * j + l] + ((4 * i + l) + * this->degree + k, dof) + * this->shape_value_component + ((4 * i + l) + * this->degree + k, + quadrature_point_3, 1); + } + + tmp (2 * j + 1) + -= this->restriction[index][i + 2 * j] + ((i + 2 * (j + 4)) + * this->degree + k, dof) + * this->shape_value_component + ((i + 2 * (j + 4)) + * this->degree + k, + quadrature_point_1, 2); + tmp (2 * j + 5) + -= this->restriction[index][2 * i + j] + ((2 * (i + 4) + j) + * this->degree + k, dof) + * this->shape_value_component + ((2 * (i + 4) + j) + * this->degree + k, + quadrature_point_2, 2); + } + + tmp *= face_quadrature.weight (q_point); + + for (unsigned int j = 0; j <= deg; ++j) + { + const double L_j_0 + = legendre_polynomials[j].value + (face_quadrature_points[q_point] (0)); + const double L_j_1 + = legendre_polynomials[j].value + (face_quadrature_points[q_point] (1)); + + for (unsigned int k = 0; k < deg; + ++k) + { + const double l_k_0 = L_j_0 + * lobatto_polynomials[k + 2].value + (face_quadrature_points[q_point] (1)); + const double l_k_1 = L_j_1 + * lobatto_polynomials[k + 2].value + (face_quadrature_points[q_point] (0)); + + for (unsigned int l = 0; l < 8; + ++l) + { + system_rhs (j * deg + k, + 2 * l) + += tmp (2 * l) * l_k_0; + system_rhs (j * deg + k, + 2 * l + 1) + += tmp (2 * l + 1) * l_k_1; + } + } + } + } + + system_matrix_inv.mmult (solution, + system_rhs); + + for (unsigned int j = 0; j < 2; ++j) + for (unsigned int k = 0; k <= deg; ++k) + for (unsigned int l = 0; l < deg; ++l) + { + if (std::abs (solution (k * deg + l, + 2 * j)) + > 1e-14) + this->restriction[index][i + 2 * j] + ((2 * i * this->degree + k) * deg + + l + + n_edge_dofs, + dof) = solution (k * deg + l, + 2 * j); + + if (std::abs (solution (k * deg + l, + 2 * j + 1)) + > 1e-14) + this->restriction[index][i + 2 * j] + (((2 * i + 1) * deg + l) + * this->degree + k + n_edge_dofs, + dof) = solution (k * deg + l, + 2 * j + 1); + + if (std::abs (solution (k * deg + l, + 2 * (j + 2))) + > 1e-14) + this->restriction[index][2 * i + j] + ((2 * (i + 2) * this->degree + k) + * deg + l + n_edge_dofs, dof) + = solution (k * deg + l, + 2 * (j + 2)); + + if (std::abs (solution (k * deg + l, + 2 * j + 5)) + > 1e-14) + this->restriction[index][2 * i + j] + (((2 * i + 5) * deg + l) + * this->degree + k + n_edge_dofs, + dof) = solution (k * deg + l, + 2 * j + 5); + + for (unsigned int m = 0; m < 2; ++m) + { + if (std::abs (solution (k * deg + + l, + 2 * (2 * j + m + 2))) + > 1e-14) + this->restriction[index][2 * j + m] + ((2 * (i + 4) * this->degree + + k) * deg + l + + n_edge_dofs, dof) + = solution (k * deg + l, + 2 * (2 * j + m + + 2)); + + if (std::abs (solution (k * deg + + l, + 2 * (2 * j + m) + 9)) + > 1e-14) + this->restriction[index][2 * j + m] + (((2 * i + 9) * deg + l) + * this->degree + k + + n_edge_dofs, dof) + = solution (k * deg + l, + 2 * (2 * j + m) + + 9); + } + } + } + + const QGauss quadrature (2 * this->degree); + const std::vector >& + quadrature_points = quadrature.get_points (); + const unsigned int n_boundary_dofs + = 2 * GeometryInfo::faces_per_cell * deg + * this->degree + n_edge_dofs; + const unsigned int& + n_quadrature_points = quadrature.size (); + + { + FullMatrix assembling_matrix (deg * deg + * this->degree, + n_quadrature_points); + + for (unsigned int q_point = 0; + q_point < n_quadrature_points; ++q_point) + { + const double weight + = std::sqrt (quadrature.weight (q_point)); + + for (unsigned int i = 0; i <= deg; ++i) + { + const double L_i = weight + * legendre_polynomials[i].value + (quadrature_points[q_point] (0)); + + for (unsigned int j = 0; j < deg; ++j) + { + const double l_j + = L_i * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (1)); + + for (unsigned int k = 0; k < deg; ++k) + assembling_matrix ((i * deg + j) + * deg + k, + q_point) + = l_j * lobatto_polynomials[k + 2].value + (quadrature_points[q_point] (2)); + } + } + } + + FullMatrix + system_matrix (assembling_matrix.m (), + assembling_matrix.m ()); + + assembling_matrix.mTmult (system_matrix, + assembling_matrix); + system_matrix_inv.reinit (system_matrix.m (), + system_matrix.m ()); + system_matrix_inv.invert (system_matrix); } + + solution.reinit (system_matrix_inv.m (), 12); + system_rhs.reinit (system_matrix_inv.m (), 12); + tmp.reinit (12); + + for (unsigned int dof = 0; + dof < this->dofs_per_cell; ++dof) + { + system_rhs = 0.0; + + for (unsigned int q_point = 0; + q_point < n_quadrature_points; ++q_point) + { + tmp = 0.0; + + if (quadrature_points[q_point] (0) < 0.5) + { + if (quadrature_points[q_point] (1) + < 0.5) + { + const Point + quadrature_point (2.0 * quadrature_points[q_point] (0), + 2.0 * quadrature_points[q_point] (1), + quadrature_points[q_point] (2)); + + tmp (0) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 0); + tmp (1) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 1); + tmp (2) + += this->shape_value_component + (dof, quadrature_point, 2); + } + + else + { + const Point + quadrature_point (2.0 * quadrature_points[q_point] (0), + 2.0 * quadrature_points[q_point] (1) + - 1.0, + quadrature_points[q_point] (2)); + + tmp (3) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 0); + tmp (4) += 2.0 + * this->shape_value_component + (dof, quadrature_point, 1); + tmp (5) + += this->shape_value_component + (dof, quadrature_point, 2); + } + } + + else + if (quadrature_points[q_point] (1) < 0.5) + { + const Point + quadrature_point (2.0 * quadrature_points[q_point] (0) + - 1.0, + 2.0 * quadrature_points[q_point] (1), + quadrature_points[q_point] (2)); + + tmp (6) += 2.0 + * this->shape_value_component + (dof, quadrature_point, 0); + tmp (7) += 2.0 + * this->shape_value_component + (dof, quadrature_point, 1); + tmp (8) + += this->shape_value_component (dof, + quadrature_point, + 2); + } + + else + { + const Point + quadrature_point (2.0 * quadrature_points[q_point] (0) + - 1.0, + 2.0 * quadrature_points[q_point] (1) + - 1.0, + quadrature_points[q_point] (2)); + + tmp (9) += 2.0 + * this->shape_value_component + (dof, quadrature_point, 0); + tmp (10) += 2.0 + * this->shape_value_component + (dof, quadrature_point, 1); + tmp (11) + += this->shape_value_component (dof, + quadrature_point, + 2); + } + + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + for (unsigned int k = 0; k <= deg; ++k) + { + for (unsigned int l = 0; l < 2; ++l) + { + tmp (3 * (i + 2 * j)) + -= this->restriction[index][2 * i + j] + ((i + 4 * l + 2) + * this->degree + k, dof) + * this->shape_value_component + ((i + 4 * l + 2) + * this->degree + k, + quadrature_points[q_point], + 0); + tmp (3 * (i + 2 * j) + 1) + -= this->restriction[index][2 * i + j] + (k + (j + 4 * l) + * this->degree, dof) + * this->shape_value_component + (k + (j + 4 * l) + * this->degree, + quadrature_points[q_point], + 1); + + for (unsigned int m = 0; + m < deg; ++m) + { + tmp (3 * (i + 2 * j)) + -= this->restriction[index][2 * i + j] + ((k + 2 * (l + 4) + * this->degree) + * deg + m + + n_edge_dofs, dof) + * this->shape_value_component + ((k + 2 * (l + 4) + * this->degree) + * deg + m + + n_edge_dofs, + quadrature_points[q_point], + 0); + tmp (3 * (i + 2 * j) + 1) + -= this->restriction[index][2 * i + j] + (k + ((2 * l + 9) * deg + + m) + * this->degree + + n_edge_dofs, dof) + * this->shape_value_component + (k + ((2 * l + 9) * deg + + m) + * this->degree + + n_edge_dofs, + quadrature_points[q_point], + 1); + } + } + + for (unsigned int l = 0; l < deg; + ++l) + { + tmp (3 * (i + 2 * j)) + -= this->restriction[index][2 * i + j] + ((2 * (i + 2) + * this->degree + k) + * deg + l + n_edge_dofs, + dof) + * this->shape_value_component + ((2 * (i + 2) + * this->degree + k) + * deg + l + n_edge_dofs, + quadrature_points[q_point], + 0); + tmp (3 * (i + 2 * j) + 1) + -= this->restriction[index][2 * i + j] + ((2 * j * this->degree + k) + * deg + l + n_edge_dofs, + dof) + * this->shape_value_component + ((2 * j * this->degree + k) + * deg + l + n_edge_dofs, + quadrature_points[q_point], + 1); + tmp (3 * (i + 2 * j) + 2) + -= this->restriction[index][2 * i + j] + (((2 * j + 1) * deg + l) + * this->degree + k + + n_edge_dofs, dof) + * this->shape_value_component + (((2 * j + 1) * deg + l) + * this->degree + k + + n_edge_dofs, + quadrature_points[q_point], + 2); + tmp (3 * (i + 2 * j) + 2) + -= this->restriction[index][2 * i + j] + (((2 * i + 5) * deg + l) + * this->degree + k + + n_edge_dofs, dof) + * this->shape_value_component + (((2 * i + 5) * deg + l) + * this->degree + k + + n_edge_dofs, + quadrature_points[q_point], + 2); + } + + tmp (3 * (i + 2 * j) + 2) + -= this->restriction[index][2 * i + j] + ((2 * (i + 4) + j) + * this->degree + k, dof) + * this->shape_value_component + ((2 * (i + 4) + j) + * this->degree + k, + quadrature_points[q_point], + 2); + } + + tmp *= quadrature.weight (q_point); + + for (unsigned int i = 0; i <= deg; ++i) + { + const double L_i_0 + = legendre_polynomials[i].value + (quadrature_points[q_point] (0)); + const double L_i_1 + = legendre_polynomials[i].value + (quadrature_points[q_point] (1)); + const double L_i_2 + = legendre_polynomials[i].value + (quadrature_points[q_point] (2)); + + for (unsigned int j = 0; j < deg; ++j) + { + const double l_j_0 + = L_i_0 * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (1)); + const double l_j_1 + = L_i_1 * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (0)); + const double l_j_2 + = L_i_2 * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (0)); + + for (unsigned int k = 0; k < deg; + ++k) + { + const double l_k_0 + = l_j_0 * lobatto_polynomials[k + 2].value + (quadrature_points[q_point] (2)); + const double l_k_1 + = l_j_1 * lobatto_polynomials[k + 2].value + (quadrature_points[q_point] (2)); + const double l_k_2 + = l_j_2 * lobatto_polynomials[k + 2].value + (quadrature_points[q_point] (1)); + + for (unsigned int l = 0; l < 4; + ++l) + { + system_rhs ((i * deg + j) + * deg + k, + 3 * l) + += tmp (3 * l) * l_k_0; + system_rhs ((i * deg + j) + * deg + k, + 3 * l + 1) + += tmp (3 * l + 1) + * l_k_1; + system_rhs ((i * deg + j) + * deg + k, + 3 * l + 2) + += tmp (3 * l + 2) + * l_k_2; + } + } + } + } + } + + system_matrix_inv.mmult (solution, system_rhs); + + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + for (unsigned int k = 0; k <= deg; ++k) + for (unsigned int l = 0; l < deg; ++l) + for (unsigned int m = 0; m < deg; ++m) + { + if (std::abs (solution + ((k * deg + l) * deg + + m, + 3 * (i + 2 * j))) + > 1e-14) + this->restriction[index][2 * i + j] + ((k * deg + l) * deg + m + + n_boundary_dofs, + dof) + = solution ((k * deg + l) * deg + + m, + 3 * (i + 2 * j)); + + if (std::abs (solution + ((k * deg + l) * deg + + m, + 3 * (i + 2 * j) + 1)) + > 1e-14) + this->restriction[index][2 * i + j] + ((k + (l + deg) * this->degree) + * deg + m + n_boundary_dofs, dof) + = solution ((k * deg + l) * deg + + m, + 3 * (i + 2 * j) + + 1); + + if (std::abs (solution + ((k * deg + l) * deg + + m, + 3 * (i + 2 * j) + 2)) + > 1e-14) + this->restriction[index][2 * i + j] + (k + ((l + 2 * deg) * deg + m) + * this->degree + + n_boundary_dofs, dof) + = solution ((k * deg + l) * deg + + m, + 3 * (i + 2 * j) + + 2); + } + } + } + + break; } - // Add the computed values - // to the interpolation - // matrix only, if they are - // not too small. - for (unsigned int i = 0; i < 2; ++i) - for (unsigned int dof = 0; dof < this->dofs_per_face; - ++dof) - { - if (std::abs (interpolation_matrix - (i * source_fe.degree, dof)) < 1e-14) - interpolation_matrix (i * source_fe.degree, dof) - = 0.0; - - if (std::abs (interpolation_matrix - ((i + 2) * source_fe.degree, dof)) - < 1e-14) - interpolation_matrix ((i + 2) * source_fe.degree, - dof) = 0.0; - } - - // If the degree is greater - // than 0, then we have still - // some higher order edge - // shape functions to - // consider. - // Here the projection part - // starts. The dof values - // are obtained by solving - // a linear system of - // equations. - if (deg > 0) + case RefinementCase<3>::cut_z: { - // We start with projection - // on the higher order edge - // shape function. - const QGauss reference_face_quadrature - (this->degree); - const Quadrature& face_quadrature - = QProjector::project_to_child - (reference_face_quadrature, 0); - const std::vector >& - legendre_polynomials - = Polynomials::Legendre::generate_complete_basis - (deg); - const std::vector >& - lobatto_polynomials - = Polynomials::Lobatto::generate_complete_basis - (this->degree); - const std::vector >& - face_quadrature_points = face_quadrature.get_points (); - const unsigned int& n_face_points - = face_quadrature.size (); - FullMatrix assembling_matrix - (deg, n_edge_points); - FullMatrix system_matrix (deg, deg); - FullMatrix system_matrix_inv (deg, deg); - std::vector > - lobatto_polynomials_grad (this->degree); - - for (unsigned int i = 0; i <= deg; ++i) - lobatto_polynomials_grad[i] - = lobatto_polynomials[i + 1].derivative (); - -//TODO:[Markus Buerg] We should not need those, since the projections -//on each face should just be copies of each other. - - // Shifted and scaled - // quadrature points on - // the four edges of a - // face. - std::vector > > - edge_quadrature_points_full_dim - (GeometryInfo::lines_per_face, - std::vector > (n_edge_points)); - - for (unsigned int q_point = 0; q_point < n_edge_points; - ++q_point) + // First interpolate the shape + // functions of the child cells + // to the lowest order shape + // functions of the parent cell. + for (unsigned int dof = 0; dof < this->dofs_per_cell; + ++dof) + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; ++q_point) + { + { + const double weight + = edge_quadrature.weight (q_point); + + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + { + Point quadrature_point (i, + edge_quadrature_points[q_point] (0), + j); + + this->restriction[index][j] + ((i + 4 * j) * this->degree, dof) + += weight * this->shape_value_component + (dof, quadrature_point, 1); + quadrature_point + = Point (edge_quadrature_points[q_point] (0), + i, j); + this->restriction[index][j] + ((i + 4 * j + 2) * this->degree, dof) + += weight * this->shape_value_component + (dof, quadrature_point, 0); + } + } + + const double weight + = 2.0 * edge_quadrature.weight (q_point); + + if (edge_quadrature_points[q_point] (0) < 0.5) + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + { + const Point quadrature_point (i, j, + 2.0 * edge_quadrature_points[q_point] (0)); + + this->restriction[index][0] + ((i + 2 * (j + 4)) * this->degree, dof) + += weight * this->shape_value_component + (dof, quadrature_point, 2); + } + + else + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + { + const Point quadrature_point (i, j, + 2.0 * edge_quadrature_points[q_point] (0) + - 1.0); + + this->restriction[index][1] + ((i + 2 * (j + 4)) * this->degree, dof) + += weight * this->shape_value_component + (dof, quadrature_point, 2); + } + } + + // Then project the shape functions + // of the child cells to the higher + // order shape functions of the + // parent cell. + if (deg > 0) { - edge_quadrature_points_full_dim[0][q_point] - = Point (0.0, - edge_quadrature_points[q_point] (0), - 0.0); - edge_quadrature_points_full_dim[1][q_point] - = Point (0.5, - edge_quadrature_points[q_point] (0), - 0.0); - edge_quadrature_points_full_dim[2][q_point] - = Point (edge_quadrature_points[q_point] (0), - 0.0, 0.0); - edge_quadrature_points_full_dim[3][q_point] - = Point (edge_quadrature_points[q_point] (0), - 0.5, 0.0); + const std::vector >& + legendre_polynomials + = Polynomials::Legendre::generate_complete_basis + (deg); + FullMatrix system_matrix_inv (deg, deg); + + { + FullMatrix assembling_matrix (deg, + n_edge_quadrature_points); + + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; + ++q_point) + { + const double weight + = std::sqrt (edge_quadrature.weight + (q_point)); + + for (unsigned int i = 0; i < deg; ++i) + assembling_matrix (i, q_point) + = weight + * legendre_polynomials[i + 1].value + (edge_quadrature_points[q_point] (0)); + } + + FullMatrix system_matrix (deg, deg); + + assembling_matrix.mTmult (system_matrix, + assembling_matrix); + system_matrix_inv.invert (system_matrix); + } + + FullMatrix solution (deg, 4); + FullMatrix system_rhs (deg, 4); + Vector tmp (4); + + for (unsigned int dof = 0; + dof < this->dofs_per_cell; ++dof) + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + { + system_rhs = 0.0; + + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; + ++q_point) + { + const double weight + = edge_quadrature.weight (q_point); + Point quadrature_point_0 (i, + edge_quadrature_points[q_point] (0), + j); + + tmp (0) = weight + * (this->shape_value_component + (dof, quadrature_point_0, + 1) + - this->restriction[index][j] + ((i + 4 * j) * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j) * this->degree, + quadrature_point_0, 1)); + quadrature_point_0 + = Point (edge_quadrature_points[q_point] (0), + i, j); + tmp (1) = weight + * (this->shape_value_component + (dof, quadrature_point_0, + 0) + - this->restriction[index][j] + ((i + 4 * j + 2) * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j + 2) * this->degree, + quadrature_point_0, 0)); + quadrature_point_0 + = Point (i, j, + edge_quadrature_points[q_point] (0)); + + if (edge_quadrature_points[q_point] (0) + < 0.5) + { + const Point quadrature_point_1 + (i, j, + 2.0 * edge_quadrature_points[q_point] (0)); + + tmp (2) = weight + * (2.0 * this->shape_value_component + (dof, + quadrature_point_1, + 2) + - this->restriction[index][0] + ((i + 2 * (j + 4)) + * this->degree, + dof) + * this->shape_value_component + ((i + 2 * (j + 4)) + * this->degree, + quadrature_point_0, + 2)); + tmp (3) = -1.0 * weight + * this->restriction[index][1] + ((i + 2 * (j + 4)) + * this->degree, + dof) + * this->shape_value_component + ((i + 2 * (j + 4)) + * this->degree, + quadrature_point_0, + 2); + } + + else + { + tmp (2) = -1.0 * weight + * this->restriction[index][0] + ((i + 2 * (j + 4)) + * this->degree, + dof) + * this->shape_value_component + ((i + 2 * (j + 4)) + * this->degree, + quadrature_point_0, + 2); + + const Point + quadrature_point_1 (i, j, + 2.0 * edge_quadrature_points[q_point] (0) + - 1.0); + + tmp (3) = weight + * (2.0 * this->shape_value_component + (dof, + quadrature_point_1, + 2) + - this->restriction[index][1] + ((i + 2 * (j + 4)) + * this->degree, + dof) + * this->shape_value_component + ((i + 2 * (j + 4)) + * this->degree, + quadrature_point_0, + 2)); + } + + for (unsigned int k = 0; k < deg; ++k) + { + const double L_k + = legendre_polynomials[k + 1].value + (edge_quadrature_points[q_point] (0)); + + for (unsigned int l = 0; + l < tmp.size (); ++l) + system_rhs (k, l) += tmp (l) + * L_k; + } + } + + system_matrix_inv.mmult (solution, + system_rhs); + + for (unsigned int k = 0; k < 2; ++k) + for (unsigned int l = 0; l < deg; ++l) + { + if (std::abs (solution (l, k)) + > 1e-14) + this->restriction[index][j] + ((i + 2 * (2 * j + k)) + * this->degree + l + 1, dof) + = solution (l, k); + + if (std::abs (solution (l, k + 2)) + > 1e-14) + this->restriction[index][k] + ((i + 2 * (j + 4)) * this->degree + + l + 1, dof) + = solution (l, k + 2); + } + } + + const QGauss<2> face_quadrature (2 * this->degree); + const std::vector >& + face_quadrature_points + = face_quadrature.get_points (); + const std::vector >& + lobatto_polynomials + = Polynomials::Lobatto::generate_complete_basis + (this->degree); + const unsigned int n_edge_dofs + = GeometryInfo::lines_per_cell + * this->degree; + const unsigned int& n_face_quadrature_points + = face_quadrature.size (); + + { + FullMatrix + assembling_matrix (deg * this->degree, + n_face_quadrature_points); + + for (unsigned int q_point = 0; + q_point < n_face_quadrature_points; + ++q_point) + { + const double weight + = std::sqrt (face_quadrature.weight + (q_point)); + + for (unsigned int i = 0; i <= deg; ++i) + { + const double L_i = weight + * legendre_polynomials[i].value + (face_quadrature_points[q_point] (0)); + + for (unsigned int j = 0; j < deg; ++j) + assembling_matrix (i * deg + j, q_point) + = L_i * lobatto_polynomials[j + 2].value + (face_quadrature_points[q_point] (1)); + } + } + + FullMatrix + system_matrix (assembling_matrix.m (), + assembling_matrix.m ()); + + assembling_matrix.mTmult (system_matrix, + assembling_matrix); + system_matrix_inv.reinit (system_matrix.m (), + system_matrix.m ()); + system_matrix_inv.invert (system_matrix); + } + + solution.reinit (system_matrix_inv.m (), 10); + system_rhs.reinit (system_matrix_inv.m (), 10); + tmp.reinit (10); + + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int dof = 0; + dof < this->dofs_per_cell; ++dof) + { + system_rhs = 0.0; + + for (unsigned int q_point = 0; + q_point < n_face_quadrature_points; + ++q_point) + { + tmp = 0.0; + + if (face_quadrature_points[q_point] (1) + < 0.5) + { + Point quadrature_point_0 (i, + face_quadrature_points[q_point] (0), + 2.0 * face_quadrature_points[q_point] (1)); + + tmp (0) += this->shape_value_component + (dof, quadrature_point_0, + 1); + tmp (1) += 2.0 + * this->shape_value_component + (dof, quadrature_point_0, + 2); + quadrature_point_0 + = Point (face_quadrature_points[q_point] (0), + i, + 2.0 * face_quadrature_points[q_point] (1)); + tmp (4) += this->shape_value_component + (dof, quadrature_point_0, + 0); + tmp (5) += 2.0 + * this->shape_value_component + (dof, quadrature_point_0, + 2); + } + + else + { + Point quadrature_point_0 (i, + face_quadrature_points[q_point] (0), + 2.0 * face_quadrature_points[q_point] (1) + - 1.0); + + tmp (2) += this->shape_value_component + (dof, quadrature_point_0, + 1); + tmp (3) += 2.0 + * this->shape_value_component + (dof, quadrature_point_0, + 2); + quadrature_point_0 + = Point (face_quadrature_points[q_point] (0), + i, + 2.0 * face_quadrature_points[q_point] (1) + - 1.0); + tmp (6) += this->shape_value_component + (dof, quadrature_point_0, + 0); + tmp (7) += 2.0 + * this->shape_value_component + (dof, quadrature_point_0, + 2); + } + + const Point quadrature_point_1 (i, + face_quadrature_points[q_point] (0), + face_quadrature_points[q_point] (1)); + const Point + quadrature_point_2 + (face_quadrature_points[q_point] (0), i, + face_quadrature_points[q_point] (1)); + const Point + quadrature_point_3 + (face_quadrature_points[q_point] (0), + face_quadrature_points[q_point] (1), + i); + + tmp (8) += this->shape_value_component + (dof, quadrature_point_3, 0); + tmp (9) += this->shape_value_component + (dof, quadrature_point_3, 1); + + for (unsigned int j = 0; j < 2; ++j) + for (unsigned int k = 0; k <= deg; ++k) + { + tmp (2 * j) + -= this->restriction[index][j] + ((i + 4 * j) * this->degree + + k, dof) + * this->shape_value_component + ((i + 4 * j) * this->degree + + k, + quadrature_point_1, 1); + tmp (2 * (j + 2)) + -= this->restriction[index][j] + ((i + 4 * j + 2) + * this->degree + k, dof) + * this->shape_value_component + ((i + 4 * j + 2) * this->degree + + k, + quadrature_point_2, 0); + tmp (8) + -= this->restriction[index][i] + ((4 * i + j + 2) + * this->degree + k, dof) + * this->shape_value_component + ((4 * i + j + 2) * this->degree + + k, + quadrature_point_3, 0); + tmp (9) + -= this->restriction[index][i] + ((4 * i + j) * this->degree + + k, dof) + * this->shape_value_component + ((4 * i + j) * this->degree + + k, + quadrature_point_3, 1); + + for (unsigned int l = 0; l < 2; + ++l) + { + tmp (2 * l + 1) + -= this->restriction[index][l] + ((2 * (j + 4) + i) + * this->degree + k, dof) + * this->shape_value_component + ((2 * (j + 4) + i) + * this->degree + k, + quadrature_point_1, 2); + tmp (2 * l + 5) + -= this->restriction[index][l] + ((j + 2 * (i + 4)) + * this->degree + k, dof) + * this->shape_value_component + ((j + 2 * (i + 4)) + * this->degree + k, + quadrature_point_2, 2); + } + } + + tmp *= face_quadrature.weight (q_point); + + for (unsigned int j = 0; j <= deg; ++j) + { + const double L_j_0 + = legendre_polynomials[j].value + (face_quadrature_points[q_point] (0)); + const double L_j_1 + = legendre_polynomials[j].value + (face_quadrature_points[q_point] (1)); + + for (unsigned int k = 0; k < deg; ++k) + { + const double l_k_0 + = L_j_0 * lobatto_polynomials[k + 2].value + (face_quadrature_points[q_point] (1)); + const double l_k_1 + = L_j_1 * lobatto_polynomials[k + 2].value + (face_quadrature_points[q_point] (0)); + + for (unsigned int l = 0; l < 5; + ++l) + { + system_rhs (j * deg + k, + 2 * l) + += tmp (2 * l) * l_k_0; + system_rhs (j * deg + k, + 2 * l + 1) + += tmp (2 * l + 1) * l_k_1; + } + } + } + } + + system_matrix_inv.mmult (solution, + system_rhs); + + for (unsigned int j = 0; j <= deg; ++j) + for (unsigned int k = 0; k < deg; ++k) + { + for (unsigned int l = 0; l < 2; ++l) + { + if (std::abs (solution (j * deg + k, + 2 * l)) + < 1e-14) + this->restriction[index][l] + ((2 * i * this->degree + j) * deg + + k + + n_edge_dofs, + dof) = solution (j * deg + k, + 2 * l); + + if (std::abs (solution (j * deg + k, + 2 * l + 1)) + < 1e-14) + this->restriction[index][l] + (((2 * i + 1) * deg + k) + * this->degree + j + n_edge_dofs, + dof) = solution (j * deg + k, + 2 * l + 1); + + if (std::abs (solution (j * deg + k, + 2 * (l + 2))) + < 1e-14) + this->restriction[index][l] + ((2 * (i + 2) * this->degree + j) + * deg + k + n_edge_dofs, dof) + = solution (j * deg + k, + 2 * (l + 2)); + + if (std::abs (solution (j * deg + k, + 2 * l + 5)) + < 1e-14) + this->restriction[index][l] + (((2 * i + 5) * deg + k) + * this->degree + j + n_edge_dofs, + dof) = solution (j * deg + k, + 2 * l + 5); + } + + if (std::abs (solution (j * deg + k, 8)) + < 1e-14) + this->restriction[index][i] + ((2 * (i + 4) * this->degree + j) + * deg + k + n_edge_dofs, dof) + = solution (j * deg + k, 8); + + if (std::abs (solution (j * deg + k, 9)) + < 1e-14) + this->restriction[index][i] + (((2 * i + 9) * deg + k) + * this->degree + j + n_edge_dofs, + dof) = solution (j * deg + k, 9); + } + } + + const QGauss quadrature (2 * this->degree); + const std::vector >& + quadrature_points = quadrature.get_points (); + const unsigned int n_boundary_dofs + = 2 * GeometryInfo::faces_per_cell * deg + * this->degree + n_edge_dofs; + const unsigned int& + n_quadrature_points = quadrature.size (); + + { + FullMatrix + assembling_matrix (deg * deg * this->degree, + n_quadrature_points); + + for (unsigned int q_point = 0; + q_point < n_quadrature_points; ++q_point) + { + const double weight + = std::sqrt (quadrature.weight (q_point)); + + for (unsigned int i = 0; i <= deg; ++i) + { + const double L_i = weight + * legendre_polynomials[i].value + (quadrature_points[q_point] (0)); + + for (unsigned int j = 0; j < deg; ++j) + { + const double l_j + = L_i * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (1)); + + for (unsigned int k = 0; k < deg; ++k) + assembling_matrix ((i * deg + j) + * deg + k, + q_point) + = l_j * lobatto_polynomials[k + 2].value + (quadrature_points[q_point] (2)); + } + } + } + + FullMatrix + system_matrix (assembling_matrix.m (), + assembling_matrix.m ()); + + assembling_matrix.mTmult (system_matrix, + assembling_matrix); + system_matrix_inv.reinit (system_matrix.m (), + system_matrix.m ()); + system_matrix_inv.invert (system_matrix); + } + + solution.reinit (system_matrix_inv.m (), 6); + system_rhs.reinit (system_matrix_inv.m (), 6); + tmp.reinit (6); + + for (unsigned int dof = 0; + dof < this->dofs_per_cell; ++dof) + { + system_rhs = 0.0; + + for (unsigned int q_point = 0; + q_point < n_quadrature_points; ++q_point) + { + tmp = 0.0; + + if (quadrature_points[q_point] (2) < 0.5) + { + const Point + quadrature_point + (quadrature_points[q_point] (0), + quadrature_points[q_point] (1), + 2.0 * quadrature_points[q_point] (2)); + + tmp (0) += this->shape_value_component + (dof, quadrature_point, 0); + tmp (1) += this->shape_value_component + (dof, quadrature_point, 1); + tmp (2) += 2.0 + * this->shape_value_component + (dof, quadrature_point, 2); + } + + else + { + const Point + quadrature_point + (quadrature_points[q_point] (0), + quadrature_points[q_point] (1), + 2.0 * quadrature_points[q_point] (2) + - 1.0); + + tmp (3) += this->shape_value_component + (dof, quadrature_point, 0); + tmp (4) += this->shape_value_component + (dof, quadrature_point, 1); + tmp (5) += 2.0 + * this->shape_value_component + (dof, quadrature_point, 2); + } + + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j <= deg; ++j) + { + for (unsigned int k = 0; k < 2; ++k) + { + tmp (3 * i) + -= this->restriction[index][i] + ((4 * i + k + 2) + * this->degree + j, dof) + * this->shape_value_component + ((4 * i + k + 2) + * this->degree + j, + quadrature_points[q_point], + 0); + tmp (3 * i + 1) + -= this->restriction[index][i] + ((4 * i + k) * this->degree + + j, dof) + * this->shape_value_component + ((4 * i + k) * this->degree + + j, + quadrature_points[q_point], + 1); + + for (unsigned int l = 0; l < deg; + ++l) + { + tmp (3 * i) + -= this->restriction[index][i] + ((j + 2 * (k + 2) + * this->degree) * deg + + l + + n_edge_dofs, + dof) + * this->shape_value_component + ((j + 2 * (k + 2) + * this->degree) + * deg + l + n_edge_dofs, + quadrature_points[q_point], + 0); + tmp (3 * i + 1) + -= this->restriction[index][i] + ((j + 2 * k + * this->degree) + * deg + l + n_edge_dofs, + dof) + * this->shape_value_component + ((j + 2 * k * this->degree) + * deg + l + + n_edge_dofs, + quadrature_points[q_point], + 1); + } + + for (unsigned int l = 0; l < 2; + ++l) + { + tmp (3 * i + 2) + -= this->restriction[index][i] + (j + (k + 2 * (l + 4)) + * this->degree, dof) + * this->shape_value_component + (j + (k + 2 * (l + 4)) + * this->degree, + quadrature_points[q_point], + 2); + + for (unsigned int m = 0; + m < deg; ++m) + tmp (3 * i + 2) + -= this->restriction[index][i] + (j + ((2 * (k + 2 * m) + + 1) * deg + + l) + * this->degree + + n_edge_dofs, dof) + * this->shape_value_component + (j + ((2 * (k + 2 * m) + + 1) * deg + l) + * this->degree + + n_edge_dofs, + quadrature_points[q_point], + 2); + } + } + + for (unsigned int k = 0; k < deg; ++k) + { + tmp (3 * i) + -= this->restriction[index][i] + ((2 * (i + 4) * this->degree + + j) * deg + k + + n_edge_dofs, dof) + * this->shape_value_component + ((2 * (i + 4) * this->degree + + j) * deg + k + + n_edge_dofs, + quadrature_points[q_point], + 0); + tmp (3 * i + 1) + -= this->restriction[index][i] + (((2 * i + 9) * deg + k) + * this->degree + j + + n_edge_dofs, dof) + * this->shape_value_component + (((2 * i + 9) * deg + k) + * this->degree + j + + n_edge_dofs, + quadrature_points[q_point], + 1); + } + } + + tmp *= quadrature.weight (q_point); + + for (unsigned int i = 0; i <= deg; ++i) + { + const double L_i_0 + = legendre_polynomials[i].value + (quadrature_points[q_point] (0)); + const double L_i_1 + = legendre_polynomials[i].value + (quadrature_points[q_point] (1)); + const double L_i_2 + = legendre_polynomials[i].value + (quadrature_points[q_point] (2)); + + for (unsigned int j = 0; j < deg; ++j) + { + const double l_j_0 + = L_i_0 * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (1)); + const double l_j_1 + = L_i_1 * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (0)); + const double l_j_2 + = L_i_2 * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (0)); + + for (unsigned int k = 0; k < deg; + ++k) + { + const double l_k_0 + = l_j_0 * lobatto_polynomials[k + 2].value + (quadrature_points[q_point] (2)); + const double l_k_1 + = l_j_1 * lobatto_polynomials[k + 2].value + (quadrature_points[q_point] (2)); + const double l_k_2 + = l_j_2 * lobatto_polynomials[k + 2].value + (quadrature_points[q_point] (1)); + + for (unsigned int l = 0; l < 2; + ++l) + { + system_rhs ((i * deg + j) + * deg + k, + 3 * l) + += tmp (3 * l) * l_k_0; + system_rhs ((i * deg + j) + * deg + k, + 3 * l + 1) + += tmp (3 * l + 1) + * l_k_1; + system_rhs ((i * deg + j) + * deg + k, + 3 * l + 2) + += tmp (3 * l + 2) + * l_k_2; + } + } + } + } + } + + system_matrix_inv.mmult (solution, system_rhs); + + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j <= deg; ++j) + for (unsigned int k = 0; k < deg; ++k) + for (unsigned int l = 0; l < deg; ++l) + { + if (std::abs (solution ((j * deg + k) + * deg + l, + 3 * i)) + > 1e-14) + this->restriction[index][i] + ((j * deg + k) * deg + l + + n_boundary_dofs, + dof) = solution ((j * deg + k) + * deg + l, + 3 * i); + + if (std::abs (solution ((j * deg + k) + * deg + l, + 3 * i + 1)) + > 1e-14) + this->restriction[index][i] + ((j + (k + deg) * this->degree) + * deg + l + n_boundary_dofs, dof) + = solution ((j * deg + k) * deg + + l, + 3 * i + 1); + + if (std::abs (solution ((j * deg + k) + * deg + l, + 3 * i + 2)) + > 1e-14) + this->restriction[index][i] + (j + ((k + 2 * deg) * deg + l) + * this->degree + n_boundary_dofs, + dof) = solution ((j * deg + k) + * deg + l, + 3 * i + 2); + } + } } + + break; + } - // Set up the system matrix. - // This can be used for all - // edges. - for (unsigned int q_point = 0; - q_point < n_edge_points; ++q_point) - { - const double tmp - = 2.0 * edge_quadrature_points[q_point] (0); - const double weight - = std::sqrt (edge_quadrature.weight (q_point)); - - for (unsigned int i = 0; i < deg; ++i) - assembling_matrix (i, q_point) - = weight * lobatto_polynomials_grad[i + 1].value - (tmp); - } - - assembling_matrix.mTmult (system_matrix, - assembling_matrix); - system_matrix_inv.invert (system_matrix); - - Vector solution (deg); - Vector system_rhs (deg); - - for (unsigned int dof = 0; dof < this->dofs_per_face; + case RefinementCase<3>::cut_xz: + { + // First interpolate the shape + // functions of the child cells + // to the lowest order shape + // functions of the parent cell. + for (unsigned int dof = 0; dof < this->dofs_per_cell; ++dof) - for (unsigned int line = 0; - line < GeometryInfo::lines_per_face; - ++line) + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; ++q_point) + { { - // Set up the right hand side. - system_rhs = 0; - + const double weight + = edge_quadrature.weight (q_point); + + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + { + const Point quadrature_point (i, + edge_quadrature_points[q_point] (0), + j); + + this->restriction[index][2 * i + j] + ((i + 4 * j) * this->degree, dof) + += weight * this->shape_value_component + (dof, quadrature_point, 1); + } + } + + const double weight + = 2.0 * edge_quadrature.weight (q_point); + + if (edge_quadrature_points[q_point] (0) < 0.5) + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + { + Point + quadrature_point + (2.0 * edge_quadrature_points[q_point] (0), + i, j); + + this->restriction[index][j] + ((i + 4 * j + 2) * this->degree, dof) + += weight * this->shape_value_component + (dof, quadrature_point, 0); + quadrature_point = Point (i, j, + edge_quadrature_points[q_point] (0)); + this->restriction[index][2 * i] + ((i + 2 * (j + 4)) * this->degree, dof) + += weight * this->shape_value_component + (dof, quadrature_point, 2); + } + + else + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + { + Point + quadrature_point + (2.0 * edge_quadrature_points[q_point] (0) + - 1.0, i, j); + + this->restriction[index][j + 2] + ((i + 4 * j + 2) * this->degree, dof) + += weight * this->shape_value_component + (dof, quadrature_point, 0); + quadrature_point = Point (i, j, + edge_quadrature_points[q_point] (0)); + this->restriction[index][2 * i + 1] + ((i + 2 * (j + 4)) * this->degree, dof) + += weight * this->shape_value_component + (dof, quadrature_point, 2); + } + } + + // Then project the shape functions + // of the child cells to the higher + // order shape functions of the + // parent cell. + if (deg > 0) + { + const std::vector >& + legendre_polynomials + = Polynomials::Legendre::generate_complete_basis + (deg); + FullMatrix system_matrix_inv (deg, deg); + + { + FullMatrix assembling_matrix (deg, + n_edge_quadrature_points); + + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; + ++q_point) + { + const double weight + = std::sqrt (edge_quadrature.weight + (q_point)); + + for (unsigned int i = 0; i < deg; ++i) + assembling_matrix (i, q_point) = weight + * legendre_polynomials[i + 1].value + (edge_quadrature_points[q_point] (0)); + } + + FullMatrix system_matrix (deg, deg); + + assembling_matrix.mTmult (system_matrix, + assembling_matrix); + system_matrix_inv.invert (system_matrix); + } + + FullMatrix solution (deg, 5); + FullMatrix system_rhs (deg, 5); + Vector tmp (5); + + for (unsigned int dof = 0; + dof < this->dofs_per_cell; ++dof) + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + { + system_rhs = 0.0; + + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; + ++q_point) + { + const double weight + = edge_quadrature.weight (q_point); + Point quadrature_point_0 (i, + edge_quadrature_points[q_point] (0), + j); + tmp (0) = weight + * (this->shape_value_component + (dof, quadrature_point_0, + 1) + - this->restriction[index][2 * i + j] + ((i + 4 * j) + * this->degree, dof) + * this->shape_value_component + ((i + 4 * j) + * this->degree, + quadrature_point_0, + 1)); + quadrature_point_0 + = Point (edge_quadrature_points[q_point] (0), + i, j); + + const Point quadrature_point_1 (i, + j, + edge_quadrature_points[q_point] (0)); + + if (edge_quadrature_points[q_point] (0) + < 0.5) + { + Point + quadrature_point_2 (2.0 * edge_quadrature_points[q_point] (0), + i, j); + + tmp (1) = weight + * (2.0 * this->shape_value_component + (dof, + quadrature_point_2, + 0) + - this->restriction[index][j] + ((i + 4 * j + 2) + * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j + 2) + * this->degree, + quadrature_point_0, + 0)); + tmp (2) = -1.0 * weight + * this->restriction[index][j + 2] + ((i + 4 * j + 2) + * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j + 2) + * this->degree, + quadrature_point_0, + 0); + quadrature_point_2 = Point (i, + j, + 2.0 * edge_quadrature_points[q_point] (0)); + tmp (3) = weight + * (2.0 * this->shape_value_component + (dof, + quadrature_point_2, + 2) + - this->restriction[index][2 * i] + ((i + 2 * (j + 4)) + * this->degree, + dof) + * this->shape_value_component + ((i + 2 * (j + 4)) + * this->degree, + quadrature_point_1, + 2)); + tmp (4) = -1.0 * weight + * this->restriction[index][2 * i + 1] + ((i + 2 * (j + 4)) + * this->degree, + dof) + * this->shape_value_component + ((i + 2 * (j + 4)) + * this->degree, + quadrature_point_1, + 2); + } + + else + { + tmp (1) = -1.0 * weight + * this->restriction[index][j] + ((i + 4 * j + 2) + * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j + 2) + * this->degree, + quadrature_point_0, + 0); + + Point + quadrature_point_2 + (2.0 * edge_quadrature_points[q_point] (0) + - 1.0, i, j); + + tmp (2) = weight + * (2.0 * this->shape_value_component + (dof, + quadrature_point_2, + 0) + - this->restriction[index][j + 2] + ((i + 4 * j + 2) + * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j + 2) + * this->degree, + quadrature_point_0, + 0)); + tmp (3) = -1.0 * weight + * this->restriction[index][2 * i] + ((i + 2 * (j + 4)) + * this->degree, + dof) + * this->shape_value_component + ((i + 2 * (j + 4)) + * this->degree, + quadrature_point_1, + 2); + quadrature_point_2 = Point (i, + j, + 2.0 * edge_quadrature_points[q_point] (0) + - 1.0); + tmp (4) = weight + * (2.0 * this->shape_value_component + (dof, + quadrature_point_2, + 2) + - this->restriction[index][2 * i + 1] + ((i + 2 * (j + 4)) + * this->degree, + dof) + * this->shape_value_component + ((i + 2 * (j + 4)) + * this->degree, + quadrature_point_1, + 2)); + } + + for (unsigned int k = 0; k < deg; ++k) + { + const double L_k + = legendre_polynomials[k + 1].value + (edge_quadrature_points[q_point] (0)); + + for (unsigned int l = 0; + l < tmp.size (); ++l) + system_rhs (k, l) += tmp (l) + * L_k; + } + } + + system_matrix_inv.mmult (solution, + system_rhs); + + for (unsigned int k = 0; k < deg; ++k) + { + if (std::abs (solution (k, 0)) + > 1e-14) + this->restriction[index][2 * i + j] + ((i + 4 * j) * this->degree + k + 1, + dof) = solution (k, 0); + + for (unsigned int l = 0; l < 2; ++l) + { + if (std::abs (solution (k, l + 1)) + > 1e-14) + this->restriction[index][j + 2 * l] + ((i + 4 * j + 2) * this->degree + + k + 1, dof) + = solution (k, l + 1); + + if (std::abs (solution (k, l + 3)) + > 1e-14) + this->restriction[index][2 * i + l] + ((i + 2 * (j + 4)) * this->degree + + k + 1, dof) + = solution (k, l + 3); + } + } + } + + const QGauss<2> face_quadrature (2 * this->degree); + const std::vector >& face_quadrature_points + = face_quadrature.get_points (); + const std::vector >& + lobatto_polynomials + = Polynomials::Lobatto::generate_complete_basis + (this->degree); + const unsigned int n_edge_dofs + = GeometryInfo::lines_per_cell + * this->degree; + const unsigned int& n_face_quadrature_points + = face_quadrature.size (); + + { + FullMatrix + assembling_matrix (deg * this->degree, + n_face_quadrature_points); + + for (unsigned int q_point = 0; + q_point < n_face_quadrature_points; + ++q_point) + { + const double weight + = std::sqrt (face_quadrature.weight + (q_point)); + + for (unsigned int i = 0; i <= deg; ++i) + { + const double L_i = weight + * legendre_polynomials[i].value + (face_quadrature_points[q_point] (0)); + + for (unsigned int j = 0; j < deg; ++j) + assembling_matrix (i * deg + j, q_point) + = L_i * lobatto_polynomials[j + 2].value + (face_quadrature_points[q_point] (1)); + } + } + + FullMatrix + system_matrix (assembling_matrix.m (), + assembling_matrix.m ()); + + assembling_matrix.mTmult (system_matrix, + assembling_matrix); + system_matrix_inv.reinit (system_matrix.m (), + system_matrix.m ()); + system_matrix_inv.invert (system_matrix); + } + + solution.reinit (system_matrix_inv.m (), 16); + system_rhs.reinit (system_matrix_inv.m (), 16); + tmp.reinit (16); + + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int dof = 0; + dof < this->dofs_per_cell; ++dof) + { + system_rhs = 0.0; + + for (unsigned int q_point = 0; + q_point < n_face_quadrature_points; + ++q_point) + { + tmp = 0.0; + + if (face_quadrature_points[q_point] (0) + < 0.5) + { + Point quadrature_point_0 (i, + 2.0 * face_quadrature_points[q_point] (0), + face_quadrature_points[q_point] (1)); + + tmp (0) += this->shape_value_component + (dof, quadrature_point_0, + 1); + tmp (1) += 2.0 + * this->shape_value_component + (dof, quadrature_point_0, + 2); + quadrature_point_0 + = Point (2.0 * face_quadrature_points[q_point] (0), + face_quadrature_points[q_point] (1), + i); + tmp (12) += 2.0 + * this->shape_value_component + (dof, quadrature_point_0, + 0); + tmp (13) + += this->shape_value_component (dof, + quadrature_point_0, + 1); + + if (face_quadrature_points[q_point] (1) + < 0.5) + { + quadrature_point_0 + = Point (2.0 * face_quadrature_points[q_point] (0), + i, + 2.0 * face_quadrature_points[q_point] (1)); + tmp (4) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, 0); + tmp (5) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, 2); + } + + else + { + quadrature_point_0 + = Point (2.0 * face_quadrature_points[q_point] (0), + i, + 2.0 * face_quadrature_points[q_point] (1) + - 1.0); + tmp (6) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, 0); + tmp (7) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, 2); + } + } + + else + { + Point quadrature_point_0 (i, + 2.0 * face_quadrature_points[q_point] (0) + - 1.0, + face_quadrature_points[q_point] (1)); + + tmp (2) += this->shape_value_component + (dof, quadrature_point_0, + 1); + tmp (3) += 2.0 + * this->shape_value_component + (dof, quadrature_point_0, + 2); + quadrature_point_0 + = Point (2.0 * face_quadrature_points[q_point] (0) + - 1.0, + face_quadrature_points[q_point] (1), + i); + tmp (14) += 2.0 + * this->shape_value_component + (dof, quadrature_point_0, + 0); + tmp (15) + += this->shape_value_component (dof, + quadrature_point_0, + 1); + + if (face_quadrature_points[q_point] (1) + < 0.5) + { + quadrature_point_0 + = Point (2.0 * face_quadrature_points[q_point] (0) + - 1.0, i, + 2.0 * face_quadrature_points[q_point] (1)); + tmp (8) += 2.0 + * this->shape_value_component + (dof, quadrature_point_0, + 0); + tmp (9) += 2.0 + * this->shape_value_component + (dof, quadrature_point_0, + 2); + } + + else + { + quadrature_point_0 + = Point (2.0 * face_quadrature_points[q_point] (0) + - 1.0, i, + 2.0 * face_quadrature_points[q_point] (1) + - 1.0); + tmp (10) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, + 0); + tmp (11) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, + 2); + } + } + + const Point quadrature_point_1 (i, + face_quadrature_points[q_point] (0), + face_quadrature_points[q_point] (1)); + const Point + quadrature_point_2 + (face_quadrature_points[q_point] (0), i, + face_quadrature_points[q_point] (1)); + const Point + quadrature_point_3 + (face_quadrature_points[q_point] (0), + face_quadrature_points[q_point] (1), + i); + + for (unsigned int j = 0; j < 2; ++j) + for (unsigned int k = 0; k <= deg; ++k) + { + tmp (2 * j) + -= this->restriction[index][2 * i + j] + ((i + 4 * j) * this->degree + + k, dof) + * this->shape_value_component + ((i + 4 * j) * this->degree + k, + quadrature_point_1, 1); + tmp (2 * j + 13) + -= this->restriction[index][i + 2 * j] + ((4 * i + j) * this->degree + + k, dof) + * this->shape_value_component + ((4 * i + j) * this->degree + k, + quadrature_point_3, 1); + + for (unsigned int l = 0; l < 2; ++l) + { + tmp (2 * l + 1) + -= this->restriction[index][2 * i + l] + ((i + 2 * (j + 4)) + * this->degree + k, dof) + * this->shape_value_component + ((i + 2 * (j + 4)) + * this->degree + k, + quadrature_point_1, 2); + tmp (2 * (j + 2 * (l + 1))) + -= this->restriction[index][j + 2 * l] + ((i + 4 * j + 2) + * this->degree + k, dof) + * this->shape_value_component + ((i + 4 * j + 2) + * this->degree, + quadrature_point_2, 0); + tmp (2 * (j + 2 * l) + 5) + -= this->restriction[index][j + 2 * l] + ((2 * (i + 4) + l) + * this->degree + k, dof) + * this->shape_value_component + ((2 * (i + 4) + l) + * this->degree, + quadrature_point_2, 2); + tmp (2 * (l + 6)) + -= this->restriction[index][i + 2 * l] + ((4 * i + j + 2) + * this->degree + k, dof) + * this->shape_value_component + ((4 * i + j + 2) + * this->degree + k, + quadrature_point_3, 0); + } + } + + tmp *= face_quadrature.weight (q_point); + + for (unsigned int j = 0; j <= deg; ++j) + { + const double L_j_0 + = legendre_polynomials[j].value + (face_quadrature_points[q_point] (0)); + const double L_j_1 + = legendre_polynomials[j].value + (face_quadrature_points[q_point] (1)); + + for (unsigned int k = 0; k < deg; ++k) + { + const double l_k_0 + = L_j_0 * lobatto_polynomials[k + 2].value + (face_quadrature_points[q_point] (1)); + const double l_k_1 + = L_j_1 * lobatto_polynomials[k + 2].value + (face_quadrature_points[q_point] (0)); + + for (unsigned int l = 0; l < 8; + ++l) + { + system_rhs (j * deg + k, + 2 * l) + += tmp (2 * l) * l_k_0; + system_rhs (j * deg + k, + 2 * l + 1) + += tmp (2 * l + 1) * l_k_1; + } + } + } + } + + system_matrix_inv.mmult (solution, + system_rhs); + + for (unsigned int j = 0; j < 2; ++j) + for (unsigned int k = 0; k <= deg; ++k) + for (unsigned int l = 0; l < deg; ++l) + { + if (std::abs (solution (k * deg + l, + 2 * j)) + > 1e-14) + this->restriction[index][2 * i + j] + ((2 * i * this->degree + k) * deg + + l + + n_edge_dofs, + dof) = solution (k * deg + l, + 2 * j); + + if (std::abs (solution (k * deg + l, + 2 * j + 1)) + > 1e-14) + this->restriction[index][2 * i + j] + (((2 * i + 1) * deg + l) + * this->degree + k + n_edge_dofs, + dof) = solution (k * deg + l, + 2 * j + 1); + + if (std::abs (solution (k * deg + l, + 2 * (j + 6))) + > 1e-14) + this->restriction[index][i + 2 * j] + ((2 * (i + 4) * this->degree + k) + * deg + l + n_edge_dofs, dof) + = solution (k * deg + l, + 2 * (j + 6)); + + if (std::abs (solution (k * deg + l, + 2 * j + 13)) + > 1e-14) + this->restriction[index][i + 2 * j] + (((2 * i + 9) * deg + l) + * this->degree + k + n_edge_dofs, + dof) = solution (k * deg + l, + 2 * j + 13); + + for (unsigned int m = 0; m < 2; ++m) + { + if (std::abs (solution + (k * deg + l, + 2 * (j + 2 * (m + 1)))) + > 1e-14) + this->restriction[index][j + 2 * m] + ((2 * (i + 2) * this->degree + + k) * deg + l + + n_edge_dofs, dof) + = solution (k * deg + l, + 2 * (j + 2 * (m + 1))); + + if (std::abs (solution + (k * deg + l, + 2 * (j + 2 * m) + 5)) + > 1e-14) + this->restriction[index][j + 2 * m] + (((2 * i + 5) * deg + l) + * this->degree + k + + n_edge_dofs, dof) + = solution (k * deg + l, + 2 * (j + 2 * m) + 5); + } + } + } + + const QGauss quadrature (2 * this->degree); + const std::vector >& + quadrature_points = quadrature.get_points (); + const unsigned int n_boundary_dofs + = 2 * GeometryInfo::faces_per_cell * deg + * this->degree + n_edge_dofs; + const unsigned int& + n_quadrature_points = quadrature.size (); + + { + FullMatrix + assembling_matrix (deg * deg * this->degree, + n_quadrature_points); + + for (unsigned int q_point = 0; + q_point < n_quadrature_points; ++q_point) + { + const double weight + = std::sqrt (quadrature.weight (q_point)); + + for (unsigned int i = 0; i <= deg; ++i) + { + const double L_i = weight + * legendre_polynomials[i].value + (quadrature_points[q_point] (0)); + + for (unsigned int j = 0; j < deg; ++j) + { + const double l_j + = L_i * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (1)); + + for (unsigned int k = 0; k < deg; ++k) + assembling_matrix ((i * deg + j) + * deg + k, + q_point) + = l_j * lobatto_polynomials[k + 2].value + (quadrature_points[q_point] (2)); + } + } + } + + FullMatrix + system_matrix (assembling_matrix.m (), + assembling_matrix.m ()); + + assembling_matrix.mTmult (system_matrix, + assembling_matrix); + system_matrix_inv.reinit (system_matrix.m (), + system_matrix.m ()); + system_matrix_inv.invert (system_matrix); + } + + solution.reinit (system_matrix_inv.m (), 12); + system_rhs.reinit (system_matrix_inv.m (), 12); + tmp.reinit (12); + + for (unsigned int dof = 0; + dof < this->dofs_per_cell; ++dof) + { + system_rhs = 0.0; + for (unsigned int q_point = 0; - q_point < n_edge_points; ++q_point) + q_point < n_quadrature_points; ++q_point) { - const double right_hand_side_value - = std::sqrt (edge_quadrature.weight - (q_point)) - * (this->shape_value_component - (this->face_to_cell_index (dof, 4), - edge_quadrature_points_full_dim[line][q_point], - 1) - - interpolation_matrix - (line * source_fe.degree, dof)); - const double tmp - = 2.0 * edge_quadrature_points[q_point] (0); - - for (unsigned int i = 0; i < deg; ++i) - system_rhs (i) - += right_hand_side_value - * lobatto_polynomials_grad[i + 1].value - (tmp); + tmp = 0.0; + + if (quadrature_points[q_point] (0) < 0.5) + { + if (quadrature_points[q_point] (2) + < 0.5) + { + const Point + quadrature_point + (2.0 * quadrature_points[q_point] (0), + quadrature_points[q_point] (1), + 2.0 * quadrature_points[q_point] (2)); + + tmp (0) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 0); + tmp (1) + += this->shape_value_component + (dof, quadrature_point, 1); + tmp (2) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 2); + } + + else + { + const Point + quadrature_point + (2.0 * quadrature_points[q_point] (0), + quadrature_points[q_point] (1), + 2.0 * quadrature_points[q_point] (2) + - 1.0); + + tmp (3) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 0); + tmp (4) + += this->shape_value_component + (dof, quadrature_point, 1); + tmp (5) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 2); + } + } + + else + if (quadrature_points[q_point] (2) < 0.5) + { + const Point + quadrature_point + (2.0 * quadrature_points[q_point] (0) + - 1.0, + quadrature_points[q_point] (1), + 2.0 * quadrature_points[q_point] (2)); + + tmp (6) += 2.0 + * this->shape_value_component + (dof, quadrature_point, 0); + tmp (7) + += this->shape_value_component (dof, + quadrature_point, + 1); + tmp (8) += 2.0 + * this->shape_value_component + (dof, quadrature_point, 2); + } + + else + { + const Point + quadrature_point + (2.0 * quadrature_points[q_point] (0) + - 1.0, + quadrature_points[q_point] (1), + 2.0 * quadrature_points[q_point] (2) + - 1.0); + + tmp (9) += 2.0 + * this->shape_value_component + (dof, quadrature_point, 0); + tmp (10) + += this->shape_value_component (dof, + quadrature_point, + 1); + tmp (11) += 2.0 + * this->shape_value_component + (dof, quadrature_point, 2); + } + + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + for (unsigned int k = 0; k <= deg; ++k) + { + for (unsigned int l = 0; l < 2; ++l) + { + tmp (3 * (i + 2 * j)) + -= this->restriction[index][i + 2 * j] + ((l + 4 * i + 2) + * this->degree + k, dof) + * this->shape_value_component + ((l + 4 * i + 2) + * this->degree + k, + quadrature_points[q_point], + 0); + tmp (3 * (i + 2 * j) + 2) + -= this->restriction[index][i + 2 * j] + ((j + 2 * (l + 4)) + * this->degree + k, dof) + * this->shape_value_component + ((j + 2 * (l + 4)) + * this->degree + k, + quadrature_points[q_point], + 2); + + for (unsigned int m = 0; + m < deg; ++m) + { + tmp (3 * (i + 2 * j)) + -= this->restriction[index][i + 2 * j] + ((k + 2 * (l + 2) + * this->degree) + * deg + m + + n_edge_dofs, dof) + * this->shape_value_component + ((k + 2 * (l + 2) + * this->degree) + * deg + m + + n_edge_dofs, + quadrature_points[q_point], + 0); + tmp (3 * (i + 2 * j) + 2) + -= this->restriction[index][i + 2 * j] + (((2 * l + 5) * deg + + m) + * this->degree + k + + n_edge_dofs, dof) + * this->shape_value_component + (((2 * l + 5) * deg + m) + * this->degree + k + + n_edge_dofs, + quadrature_points[q_point], + 2); + } + } + + for (unsigned int l = 0; l < deg; + ++l) + { + tmp (3 * (i + 2 * j)) + -= this->restriction[index][i + 2 * j] + ((2 * (i + 4) + * this->degree + k) + * deg + l + n_edge_dofs, + dof) + * this->shape_value_component + ((2 * (i + 4) * this->degree + + k) * deg + l + + n_edge_dofs, + quadrature_points[q_point], + 0); + tmp (3 * (i + 2 * j) + 1) + -= this->restriction[index][i + 2 * j] + ((2 * j * this->degree + k) + * deg + l + n_edge_dofs, + dof) + * this->shape_value_component + ((2 * j * this->degree + k) + * deg + l + n_edge_dofs, + quadrature_points[q_point], + 1); + tmp (3 * (i + 2 * j) + 1) + -= this->restriction[index][i + 2 * j] + (((2 * i + 9) * deg + l) + * this->degree + k + + n_edge_dofs, dof) + * this->shape_value_component + (((2 * i + 9) * deg + l) + * this->degree + k + + n_edge_dofs, + quadrature_points[q_point], + 1); + tmp (3 * (i + 2 * j) + 2) + -= this->restriction[index][i + 2 * j] + (((2 * j + 1) * deg + l) + * this->degree + k + + n_edge_dofs, dof) + * this->shape_value_component + (((2 * j + 1) * deg + l) + * this->degree + k + + n_edge_dofs, + quadrature_points[q_point], + 2); + } + + tmp (3 * (i + 2 * j) + 1) + -= this->restriction[index][i + 2 * j] + ((4 * i + j) * this->degree + + k, dof) + * this->shape_value_component + ((4 * i + j) * this->degree + k, + quadrature_points[q_point], 1); + } + + tmp *= quadrature.weight (q_point); + + for (unsigned int i = 0; i <= deg; ++i) + { + const double L_i_0 + = legendre_polynomials[i].value + (quadrature_points[q_point] (0)); + const double L_i_1 + = legendre_polynomials[i].value + (quadrature_points[q_point] (1)); + const double L_i_2 + = legendre_polynomials[i].value + (quadrature_points[q_point] (2)); + + for (unsigned int j = 0; j < deg; ++j) + { + const double l_j_0 + = L_i_0 * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (1)); + const double l_j_1 + = L_i_1 * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (0)); + const double l_j_2 + = L_i_2 * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (0)); + + for (unsigned int k = 0; k < deg; + ++k) + { + const double l_k_0 + = l_j_0 * lobatto_polynomials[k + 2].value + (quadrature_points[q_point] (2)); + const double l_k_1 + = l_j_1 * lobatto_polynomials[k + 2].value + (quadrature_points[q_point] (2)); + const double l_k_2 + = l_j_2 * lobatto_polynomials[k + 2].value + (quadrature_points[q_point] (1)); + + for (unsigned int l = 0; l < 4; + ++l) + { + system_rhs ((i * deg + j) + * deg + k, + 3 * l) + += tmp (3 * l) * l_k_0; + system_rhs ((i * deg + j) + * deg + k, + 3 * l + 1) + += tmp (3 * l + 1) + * l_k_1; + system_rhs ((i * deg + j) + * deg + k, + 3 * l + 2) + += tmp (3 * l + 2) + * l_k_2; + } + } + } + } } - - system_matrix_inv.vmult (solution, system_rhs); - - // Add the computed values - // to the interpolation - // matrix only, if they are - // not too small. - for (unsigned int i = 0; i < deg; ++i) - if (std::abs (solution (i)) > 1e-14) - interpolation_matrix - (line * source_fe.degree + i + 1, dof) - = solution (i); + + system_matrix_inv.mmult (solution, system_rhs); + + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + for (unsigned int k = 0; k <= deg; ++k) + for (unsigned int l = 0; l < deg; ++l) + for (unsigned int m = 0; m < deg; ++m) + { + if (std::abs (solution + ((k * deg + l) * deg + + m, + 3 * (i + 2 * j))) + > 1e-14) + this->restriction[index][i + 2 * j] + ((k * deg + l) * deg + m + + n_boundary_dofs, + dof) = solution ((k * deg + l) + * deg + m, + 3 * (i + 2 * j)); + + if (std::abs (solution + ((k * deg + l) * deg + + m, + 3 * (i + 2 * j) + + 1)) > 1e-14) + this->restriction[index][i + 2 * j] + ((k + (l + deg) * this->degree) + * deg + m + n_boundary_dofs, + dof) = solution ((k * deg + l) + * deg + m, + 3 * (i + 2 * j) + + 1); + + if (std::abs (solution + ((k * deg + l) * deg + + m, + 3 * (i + 2 * j) + 2)) + > 1e-14) + this->restriction[index][i + 2 * j] + (k + ((l + 2 * deg) * deg + m) + * this->degree + + n_boundary_dofs, dof) + = solution ((k * deg + l) * deg + + m, + 3 * (i + 2 * j) + + 2); + } } + } + + break; + } - assembling_matrix.reinit (deg * this->degree, - n_face_points); - - for (unsigned int q_point = 0; q_point < n_face_points; - ++q_point) + case RefinementCase<3>::cut_yz: + { + // First interpolate the shape + // functions of the child cells + // to the lowest order shape + // functions of the parent cell. + for (unsigned int dof = 0; dof < this->dofs_per_cell; + ++dof) + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; ++q_point) + { + { + const double weight + = 2.0 * edge_quadrature.weight (q_point); + + if (edge_quadrature_points[q_point] (0) < 0.5) + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + { + Point quadrature_point (i, + 2.0 * edge_quadrature_points[q_point] (0), + j); + + this->restriction[index][2 * j] + ((i + 4 * j) * this->degree, dof) + += weight + * this->shape_value_component (dof, + quadrature_point, + 1); + quadrature_point = Point (i, j, + 2.0 * edge_quadrature_points[q_point] (0)); + this->restriction[index][j] + ((i + 2 * (j + 4)) * this->degree, dof) + += weight + * this->shape_value_component (dof, + quadrature_point, + 2); + } + + else + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + { + Point quadrature_point (i, + 2.0 * edge_quadrature_points[q_point] (0) + - 1.0, + j); + + this->restriction[index][2 * j + 1] + ((i + 4 * j) * this->degree, dof) + += weight + * this->shape_value_component (dof, + quadrature_point, + 1); + quadrature_point = Point (i, j, + 2.0 * edge_quadrature_points[q_point] (0) + - 1.0); + this->restriction[index][j + 2] + ((i + 2 * (j + 4)) * this->degree, dof) + += weight + * this->shape_value_component (dof, + quadrature_point, + 2); + } + } + + const double weight + = edge_quadrature.weight (q_point); + + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + { + const Point + quadrature_point + (edge_quadrature_points[q_point] (0), i, + j); + + this->restriction[index][i + 2 * j] + ((i + 4 * j + 2) * this->degree, dof) + += weight * this->shape_value_component + (dof, quadrature_point, 0); + } + } + + // Then project the shape functions + // of the child cells to the higher + // order shape functions of the + // parent cell. + if (deg > 0) { - const Point quadrature_point - (2.0 * face_quadrature_points[q_point] (0), - 2.0 * face_quadrature_points[q_point] (1)); - const double weight - = std::sqrt (face_quadrature.weight (q_point)); - - for (unsigned int i = 0; i <= deg; ++i) + const std::vector >& + legendre_polynomials + = Polynomials::Legendre::generate_complete_basis + (deg); + FullMatrix system_matrix_inv (deg, deg); + + { + FullMatrix assembling_matrix (deg, + n_edge_quadrature_points); + + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; + ++q_point) + { + const double weight + = std::sqrt (edge_quadrature.weight + (q_point)); + + for (unsigned int i = 0; i < deg; ++i) + assembling_matrix (i, q_point) = weight + * legendre_polynomials[i + 1].value + (edge_quadrature_points[q_point] (0)); + } + + FullMatrix system_matrix (deg, deg); + + assembling_matrix.mTmult (system_matrix, + assembling_matrix); + system_matrix_inv.invert (system_matrix); + } + + FullMatrix solution (deg, 5); + FullMatrix system_rhs (deg, 5); + Vector tmp (5); + + for (unsigned int dof = 0; + dof < this->dofs_per_cell; ++dof) + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + { + system_rhs = 0.0; + + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; + ++q_point) + { + const double weight + = edge_quadrature.weight (q_point); + const Point quadrature_point_0 (i, + edge_quadrature_points[q_point] (0), + j); + Point quadrature_point_1 (i, j, + edge_quadrature_points[q_point] (0)); + + if (edge_quadrature_points[q_point] (0) + < 0.5) + { + Point quadrature_point_2 (i, + 2.0 * edge_quadrature_points[q_point] (0), + j); + + tmp (0) = weight + * (2.0 * this->shape_value_component + (dof, + quadrature_point_2, + 1) + - this->restriction[index][2 * j] + ((i + 4 * j) + * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j) + * this->degree, + quadrature_point_0, + 1)); + tmp (1) = -1.0 * weight + * this->restriction[index][2 * j + 1] + ((i + 4 * j) + * this->degree, dof) + * this->shape_value_component + ((i + 4 * j) + * this->degree, + quadrature_point_0, + 1); + quadrature_point_2 = Point (i, + j, + 2.0 * edge_quadrature_points[q_point] (0)); + tmp (3) = weight + * (2.0 * this->shape_value_component + (dof, + quadrature_point_2, + 2) + - this->restriction[index][j] + ((i + 2 * (j + 4)) + * this->degree, + dof) + * this->shape_value_component + ((i + 2 * (j + 4)) + * this->degree, + quadrature_point_1, + 2)); + tmp (4) = -1.0 * weight + * this->restriction[index][j + 2] + ((i + 2 * (j + 4)) + * this->degree, + dof) + * this->shape_value_component + ((i + 2 * (j + 4)) + * this->degree, + quadrature_point_1, + 2); + } + + else + { + tmp (0) = -1.0 * weight + * this->restriction[index][2 * j] + ((i + 4 * j) + * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j) + * this->degree, + quadrature_point_0, + 1); + + Point quadrature_point_2 (i, + 2.0 * edge_quadrature_points[q_point] (0) + - 1.0, + j); + + tmp (1) = weight + * (2.0 * this->shape_value_component + (dof, + quadrature_point_2, + 1) + - this->restriction[index][2 * j + 1] + ((i + 4 * j) + * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j) + * this->degree, + quadrature_point_0, + 1)); + tmp (3) = -1.0 * weight + * this->restriction[index][j] + ((i + 2 * (j + 4)) + * this->degree, + dof) + * this->shape_value_component + ((i + 2 * (j + 4)) + * this->degree, + quadrature_point_1, + 2); + quadrature_point_2 = Point (i, + j, + 2.0 * edge_quadrature_points[q_point] (0) + - 1.0); + tmp (4) = weight + * (2.0 * this->shape_value_component + (dof, + quadrature_point_2, + 2) + - this->restriction[index][j + 2] + ((i + 2 * (j + 4)) + * this->degree, + dof) + * this->shape_value_component + ((i + 2 * (j + 4)) + * this->degree, + quadrature_point_1, + 2)); + } + + quadrature_point_1 + = Point (edge_quadrature_points[q_point] (0), + i, j); + tmp (2) = weight + * (this->shape_value_component + (dof, quadrature_point_1, + 0) + - this->restriction[index][i + 2 * j] + ((i + 4 * j + 2) + * this->degree, dof) + * this->shape_value_component + ((i + 4 * j + 2) + * this->degree, + quadrature_point_1, 0)); + + for (unsigned int k = 0; k < deg; ++k) + { + const double L_k + = legendre_polynomials[k + 1].value + (edge_quadrature_points[q_point] (0)); + + for (unsigned int l = 0; + l < tmp.size (); ++l) + system_rhs (k, l) += tmp (l) + * L_k; + } + } + + system_matrix_inv.mmult (solution, + system_rhs); + + for (unsigned int k = 0; k < deg; ++k) + { + for (unsigned int l = 0; l < 2; ++l) + { + if (std::abs (solution (k, l)) + > 1e-14) + this->restriction[index][2 * j + l] + ((i + 4 * j) * this->degree + k + + 1, dof) + = solution (k, l); + + if (std::abs (solution (k, l + 2)) + > 1e-14) + this->restriction[index][j + 2 * l] + ((i + 2 * (j + 4)) * this->degree + + k + 1, dof) + = solution (k, l + 2); + } + + if (std::abs (solution (k, 2)) > 1e-14) + this->restriction[index][i + 2 * j] + ((i + 4 * j + 2) * this->degree + k + + 1, dof) + = solution (k, 2); + } + } + + const QGauss<2> face_quadrature (2 * this->degree); + const std::vector >& + face_quadrature_points + = face_quadrature.get_points (); + const std::vector >& + lobatto_polynomials + = Polynomials::Lobatto::generate_complete_basis + (this->degree); + const unsigned int n_edge_dofs + = GeometryInfo::lines_per_cell + * this->degree; + const unsigned int& n_face_quadrature_points + = face_quadrature.size (); + + { + FullMatrix + assembling_matrix (deg * this->degree, + n_face_quadrature_points); + + for (unsigned int q_point = 0; + q_point < n_face_quadrature_points; + ++q_point) + { + const double weight + = std::sqrt (face_quadrature.weight + (q_point)); + + for (unsigned int i = 0; i <= deg; ++i) + { + const double L_i = weight + * legendre_polynomials[i].value + (face_quadrature_points[q_point] (0)); + + for (unsigned int j = 0; j < deg; ++j) + assembling_matrix (i * deg + j, q_point) + = L_i * lobatto_polynomials[j + 2].value + (face_quadrature_points[q_point] (1)); + } + } + + FullMatrix + system_matrix (assembling_matrix.m (), + assembling_matrix.m ()); + + assembling_matrix.mTmult (system_matrix, + assembling_matrix); + system_matrix_inv.reinit (system_matrix.m (), + system_matrix.m ()); + system_matrix_inv.invert (system_matrix); + } + + solution.reinit (system_matrix_inv.m (), 16); + system_rhs.reinit (system_matrix_inv.m (), 16); + tmp.reinit (16); + + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int dof = 0; + dof < this->dofs_per_cell; ++dof) + { + system_rhs = 0.0; + + for (unsigned int q_point = 0; + q_point < n_face_quadrature_points; + ++q_point) + { + tmp = 0.0; + + if (face_quadrature_points[q_point] (1) + < 0.5) + { + if (face_quadrature_points[q_point] (0) + < 0.5) + { + const Point + quadrature_point_0 (i, + 2.0 * face_quadrature_points[q_point] (0), + 2.0 * face_quadrature_points[q_point] (1)); + + tmp (0) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, 1); + tmp (1) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, 2); + } + + else + { + const Point + quadrature_point_0 (i, + 2.0 * face_quadrature_points[q_point] (0) + - 1.0, + 2.0 * face_quadrature_points[q_point] (1)); + + tmp (2) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, 1); + tmp (3) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, 2); + } + + Point + quadrature_point_0 + (face_quadrature_points[q_point] (0), + i, + 2.0 * face_quadrature_points[q_point] (1)); + + tmp (8) += this->shape_value_component + (dof, quadrature_point_0, + 0); + tmp (9) += 2.0 + * this->shape_value_component + (dof, quadrature_point_0, + 2); + quadrature_point_0 + = Point (face_quadrature_points[q_point] (0), + 2.0 * face_quadrature_points[q_point] (1), + i); + tmp (12) + += this->shape_value_component (dof, + quadrature_point_0, + 0); + tmp (13) += 2.0 + * this->shape_value_component + (dof, quadrature_point_0, + 1); + } + + else + { + if (face_quadrature_points[q_point] (0) + < 0.5) + { + const Point + quadrature_point_0 (i, + 2.0 * face_quadrature_points[q_point] (0), + 2.0 * face_quadrature_points[q_point] (1) + - 1.0); + + tmp (4) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, 1); + tmp (5) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, 2); + } + + else + { + const Point + quadrature_point_0 (i, + 2.0 * face_quadrature_points[q_point] (0) + - 1.0, + 2.0 * face_quadrature_points[q_point] (1) + - 1.0); + + tmp (6) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, 1); + tmp (7) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, 2); + } + + Point + quadrature_point_0 + (face_quadrature_points[q_point] (0), + i, + 2.0 * face_quadrature_points[q_point] (1) + - 1.0); + + tmp (10) + += this->shape_value_component (dof, + quadrature_point_0, + 0); + tmp (11) += 2.0 + * this->shape_value_component + (dof, quadrature_point_0, + 2); + quadrature_point_0 + = Point (face_quadrature_points[q_point] (0), + 2.0 * face_quadrature_points[q_point] (1) + - 1.0, + i); + tmp (14) + += this->shape_value_component (dof, + quadrature_point_0, + 0); + tmp (15) += 2.0 + * this->shape_value_component + (dof, quadrature_point_0, + 1); + } + + const Point quadrature_point_1 (i, + face_quadrature_points[q_point] (0), + face_quadrature_points[q_point] (1)); + const Point + quadrature_point_2 + (face_quadrature_points[q_point] (0), i, + face_quadrature_points[q_point] (1)); + const Point + quadrature_point_3 + (face_quadrature_points[q_point] (0), + face_quadrature_points[q_point] (1), + i); + + for (unsigned int j = 0; j < 2; ++j) + for (unsigned int k = 0; k <= deg; ++k) + { + for (unsigned int l = 0; l < 2; ++l) + { + tmp (2 * (2 * j + l)) + -= this->restriction[index][2 * j + l] + ((i + 4 * j) * this->degree + + k, dof) + * this->shape_value_component + ((i + 4 * j) * this->degree + + k, + quadrature_point_1, 1); + tmp (2 * (2 * j + l) + 1) + -= this->restriction[index][2 * j + l] + ((i + 2 * (l + 4)) + * this->degree + k, dof) + * this->shape_value_component + ((i + 2 * (l + 4)) + * this->degree + k, + quadrature_point_1, 1); + tmp (2 * l + 9) + -= this->restriction[index][i + 2 * l] + ((2 * (i + 4) + j) + * this->degree + k, dof) + * this->shape_value_component + ((2 * (i + 4) + j) + * this->degree + k, + quadrature_point_2, 2); + tmp (2 * l + 13) + -= this->restriction[index][2 * i + l] + ((4 * i + j) + * this->degree + k, dof) + * this->shape_value_component + ((4 * i + j) * this->degree + + k, + quadrature_point_3, 1); + } + + tmp (2 * (j + 4)) + -= this->restriction[index][i + 2 * j] + ((i + 4 * j + 2) + * this->degree + k, dof) + * this->shape_value_component + ((i + 4 * j + 2) * this->degree + + k, + quadrature_point_2, 0); + tmp (2 * (j + 6)) + -= this->restriction[index][2 * i + j] + ((4 * i + j + 2) * this->degree + + k, dof) + * this->shape_value_component + ((4 * i + j + 2) * this->degree + + k, + quadrature_point_3, 0); + } + + tmp *= face_quadrature.weight (q_point); + + for (unsigned int j = 0; j <= deg; ++j) + { + const double L_j_0 + = legendre_polynomials[j].value + (face_quadrature_points[q_point] (0)); + const double L_j_1 + = legendre_polynomials[j].value + (face_quadrature_points[q_point] (1)); + + for (unsigned int k = 0; k < deg; + ++k) + { + const double l_k_0 + = L_j_0 * lobatto_polynomials[k + 2].value + (face_quadrature_points[q_point] (1)); + const double l_k_1 + = L_j_1 * lobatto_polynomials[k + 2].value + (face_quadrature_points[q_point] (0)); + + for (unsigned int l = 0; l < 8; + ++l) + { + system_rhs (j * deg + k, + 2 * l) + += tmp (2 * l) * l_k_0; + system_rhs (j * deg + k, + 2 * l + 1) + += tmp (2 * l + 1) * l_k_1; + } + } + } + } + + system_matrix_inv.mmult (solution, + system_rhs); + + for (unsigned int j = 0; j < 2; ++j) + for (unsigned int k = 0; k <= deg; ++k) + for (unsigned int l = 0; l < deg; ++l) + { + for (unsigned int m = 0; m < 2; ++m) + { + if (std::abs (solution + (k * deg + l, + 2 * (2 * j + m))) + > 1e-14) + this->restriction[index][2 * j + m] + ((2 * i * this->degree + k) + * deg + l + n_edge_dofs, dof) + = solution (k * deg + l, + 2 * (2 * j + m)); + + if (std::abs (solution + (k * deg + l, + 2 * (2 * j + m) + 1)) + > 1e-14) + this->restriction[index][2 * j + m] + (((2 * i + 1) * deg + l) + * this->degree + k + + n_edge_dofs, dof) + = solution (k * deg + l, + 2 * (2 * j + m) + 1); + } + + if (std::abs (solution (k * deg + l, + 2 * (j + 4))) + > 1e-14) + this->restriction[index][i + 2 * j] + ((2 * (i + 2) * this->degree + k) + * deg + l + n_edge_dofs, dof) + = solution (k * deg + l, + 2 * (j + 4)); + + if (std::abs (solution (k * deg + l, + 2 * j + 9)) + > 1e-14) + this->restriction[index][i + 2 * j] + (((2 * i + 5) * deg + l) + * this->degree + k + n_edge_dofs, + dof) = solution (k * deg + l, + 2 * j + 9); + + if (std::abs (solution (k * deg + l, + 2 * (j + 6))) + > 1e-14) + this->restriction[index][2 * i + j] + ((2 * (i + 4) * this->degree + k) + * deg + l + n_edge_dofs, dof) + = solution (k * deg + l, + 2 * (j + 6)); + + if (std::abs (solution (k * deg + l, + 2 * j + 13)) + > 1e-14) + this->restriction[index][2 * i + j] + (((2 * i + 9) * deg + l) + * this->degree + k + n_edge_dofs, + dof) = solution (k * deg + l, + 2 * j + 13); + } + } + + const QGauss quadrature (2 * this->degree); + const std::vector >& + quadrature_points = quadrature.get_points (); + const unsigned int n_boundary_dofs + = 2 * GeometryInfo::faces_per_cell * deg + * this->degree + n_edge_dofs; + const unsigned int& + n_quadrature_points = quadrature.size (); + + { + FullMatrix + assembling_matrix (deg * deg * this->degree, + n_quadrature_points); + + for (unsigned int q_point = 0; + q_point < n_quadrature_points; ++q_point) + { + const double weight + = std::sqrt (quadrature.weight (q_point)); + + for (unsigned int i = 0; i <= deg; ++i) + { + const double L_i = weight + * legendre_polynomials[i].value + (quadrature_points[q_point] (0)); + + for (unsigned int j = 0; j < deg; ++j) + { + const double l_j + = L_i * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (1)); + + for (unsigned int k = 0; k < deg; ++k) + assembling_matrix ((i * deg + j) + * deg + k, + q_point) + = l_j * lobatto_polynomials[k + 2].value + (quadrature_points[q_point] (2)); + } + } + } + + FullMatrix + system_matrix (assembling_matrix.m (), + assembling_matrix.m ()); + + assembling_matrix.mTmult (system_matrix, + assembling_matrix); + system_matrix_inv.reinit (system_matrix.m (), + system_matrix.m ()); + system_matrix_inv.invert (system_matrix); + } + + solution.reinit (system_matrix_inv.m (), 12); + system_rhs.reinit (system_matrix_inv.m (), 12); + tmp.reinit (12); + + for (unsigned int dof = 0; + dof < this->dofs_per_cell; ++dof) { - const double tmp - = weight * legendre_polynomials[i].value - (quadrature_point (0)); - - for (unsigned int j = 0; j < deg; ++j) - assembling_matrix (i * deg + j, q_point) - = tmp * lobatto_polynomials[j + 2].value - (quadrature_point (1)); + system_rhs = 0.0; + + for (unsigned int q_point = 0; + q_point < n_quadrature_points; ++q_point) + { + tmp = 0.0; + + if (quadrature_points[q_point] (1) < 0.5) + { + if (quadrature_points[q_point] (2) + < 0.5) + { + const Point + quadrature_point + (quadrature_points[q_point] (0), + 2.0 * quadrature_points[q_point] (1), + 2.0 * quadrature_points[q_point] (2)); + + tmp (0) + += this->shape_value_component + (dof, quadrature_point, 0); + tmp (1) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 1); + tmp (2) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 2); + } + + else + { + const Point + quadrature_point + (quadrature_points[q_point] (0), + 2.0 * quadrature_points[q_point] (1), + 2.0 * quadrature_points[q_point] (2) + - 1.0); + + tmp (3) + += this->shape_value_component + (dof, quadrature_point, 0); + tmp (4) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 1); + tmp (5) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 2); + } + } + + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + for (unsigned int k = 0; k <= deg; ++k) + { + tmp (3 * (i + 2 * j)) + -= this->restriction[index][2 * i + j] + ((4 * i + j + 2) + * this->degree + k, dof) + * this->shape_value_component + ((4 * i + j + 2) * this->degree + + k, + quadrature_points[q_point], 0); + + for (unsigned int l = 0; l < deg; + ++l) + { + tmp (3 * (i + 2 * j)) + -= this->restriction[index][2 * i + j] + ((2 * (j + 2) + * this->degree + k) + * deg + l + n_edge_dofs, + dof) + * this->shape_value_component + ((2 * (j + 2) + * this->degree + k) + * deg + l + n_edge_dofs, + quadrature_points[q_point], + 0); + tmp (3 * (i + 2 * j)) + -= this->restriction[index][2 * i + j] + ((2 * (i + 4) + * this->degree + k) + * deg + l + n_edge_dofs, + dof) + * this->shape_value_component + ((2 * (i + 4) * this->degree + + k) * deg + l + + n_edge_dofs, + quadrature_points[q_point], + 0); + tmp (3 * (i + 2 * j) + 1) + -= this->restriction[index][2 * i + j] + (((2 * i + 9) * deg + l) + * this->degree + k + + n_edge_dofs, dof) + * this->shape_value_component + (((2 * i + 9) * deg + l) + * this->degree + k + + n_edge_dofs, + quadrature_points[q_point], + 1); + tmp (3 * (i + 2 * j) + 2) + -= this->restriction[index][2 * i + j] + (((2 * j + 5) * deg + l) + * this->degree + k + + n_edge_dofs, dof) + * this->shape_value_component + (((2 * j + 5) * deg + l) + * this->degree + k + + n_edge_dofs, + quadrature_points[q_point], + 2); + } + + for (unsigned int l = 0; l < 2; ++l) + { + tmp (3 * (i + 2 * j) + 1) + -= this->restriction[index][2 * i + j] + ((4 * i + l) * this->degree + + k, dof) + * this->shape_value_component + ((4 * i + l) * this->degree + + k, + quadrature_points[q_point], + 1); + tmp (3 * (i + 2 * j) + 2) + -= this->restriction[index][2 * i + j] + ((2 * (j + 4) + l) + * this->degree + k, dof) + * this->shape_value_component + ((2 * (j + 4) + l) + * this->degree + k, + quadrature_points[q_point], + 2); + + for (unsigned int m = 0; + m < deg; ++m) + { + tmp (3 * (i + 2 * j) + 1) + -= this->restriction[index][2 * i + j] + ((2 * l * this->degree + + k) * deg + m + + n_edge_dofs, dof) + * this->shape_value_component + ((2 * l * this->degree + + k) * deg + m + + n_edge_dofs, + quadrature_points[q_point], + 1); + tmp (3 * (i + 2 * j) + 2) + -= this->restriction[index][2 * i + j] + (((2 * l + 1) * deg + + m) + * this->degree + k + + n_edge_dofs, dof) + * this->shape_value_component + (((2 * l + 1) * deg + m) + * this->degree + k + + n_edge_dofs, + quadrature_points[q_point], + 2); + } + } + } + + tmp *= quadrature.weight (q_point); + + for (unsigned int i = 0; i <= deg; ++i) + { + const double L_i_0 + = legendre_polynomials[i].value + (quadrature_points[q_point] (0)); + const double L_i_1 + = legendre_polynomials[i].value + (quadrature_points[q_point] (1)); + const double L_i_2 + = legendre_polynomials[i].value + (quadrature_points[q_point] (2)); + + for (unsigned int j = 0; j < deg; ++j) + { + const double l_j_0 + = L_i_0 * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (1)); + const double l_j_1 + = L_i_1 * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (0)); + const double l_j_2 + = L_i_2 * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (0)); + + for (unsigned int k = 0; k < deg; + ++k) + { + const double l_k_0 + = l_j_0 * lobatto_polynomials[k + 2].value + (quadrature_points[q_point] (2)); + const double l_k_1 + = l_j_1 * lobatto_polynomials[k + 2].value + (quadrature_points[q_point] (2)); + const double l_k_2 + = l_j_2 * lobatto_polynomials[k + 2].value + (quadrature_points[q_point] (1)); + + for (unsigned int l = 0; l < 4; + ++l) + { + system_rhs ((i * deg + j) + * deg + k, + 3 * l) + += tmp (3 * l) * l_k_0; + system_rhs ((i * deg + j) + * deg + k, + 3 * l + 1) + += tmp (3 * l + 1) + * l_k_1; + system_rhs ((i * deg + j) + * deg + k, + 3 * l + 2) + += tmp (3 * l + 2) + * l_k_2; + } + } + } + } + } + + system_matrix_inv.mmult (solution, system_rhs); + + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + for (unsigned int k = 0; k <= deg; ++k) + for (unsigned int l = 0; l < deg; ++l) + for (unsigned int m = 0; m < deg; ++m) + { + if (std::abs (solution + ((k * deg + l) * deg + + m, + 3 * (i + 2 * j))) + > 1e-14) + this->restriction[index][2 * i + j] + ((k * deg + l) * deg + m + + n_boundary_dofs, + dof) + = solution ((k * deg + l) * deg + + m, + 3 * (i + 2 * j)); + + if (std::abs (solution + ((k * deg + l) * deg + + m, + 3 * (i + 2 * j) + 1)) + > 1e-14) + this->restriction[index][2 * i + j] + ((k + (l + deg) * this->degree) + * deg + m + n_boundary_dofs, dof) + = solution ((k * deg + l) * deg + + m, + 3 * (i + 2 * j) + + 1); + + if (std::abs (solution + ((k * deg + l) * deg + + m, + 3 * (i + 2 * j) + 2)) + > 1e-14) + this->restriction[index][2 * i + j] + (k + ((l + 2 * deg) * deg + m) + * this->degree + + n_boundary_dofs, dof) + = solution ((k * deg + l) * deg + + m, + 3 * (i + 2 * j) + + 2); + } } } + + break; + } - system_matrix.reinit (assembling_matrix.m (), - assembling_matrix.m ()); - assembling_matrix.mTmult (system_matrix, - assembling_matrix); - system_matrix_inv.reinit (system_matrix.m (), - system_matrix.m ()); - system_matrix_inv.invert (system_matrix); - solution.reinit (system_matrix_inv.m ()); - system_rhs.reinit (system_matrix_inv.m ()); - - for (unsigned int dof = 0; dof < this->dofs_per_face; - ++dof) + case RefinementCase<3>::isotropic_refinement: + { + // First interpolate the shape + // functions of the child cells + // to the lowest order shape + // functions of the parent cell. + for (unsigned int dof = 0; + dof < this->dofs_per_cell; ++dof) + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; ++q_point) + { + const double weight + = 2.0 * edge_quadrature.weight (q_point); + + if (edge_quadrature_points[q_point] (0) < 0.5) + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + { + Point quadrature_point (i, + 2.0 * edge_quadrature_points[q_point] (0), + j); + + this->restriction[index][i + 4 * j] + ((i + 4 * j) * this->degree, dof) + += weight * this->shape_value_component + (dof, quadrature_point, 1); + quadrature_point + = Point (2.0 * edge_quadrature_points[q_point] (0), + i, j); + this->restriction[index][2 * (i + 2 * j)] + ((i + 4 * j + 2) * this->degree, dof) + += weight * this->shape_value_component + (dof, quadrature_point, 0); + quadrature_point = Point (i, j, + 2.0 * edge_quadrature_points[q_point] (0)); + this->restriction[index][i + 2 * j] + ((i + 2 * (j + 4)) * this->degree, dof) + += weight * this->shape_value_component + (dof, quadrature_point, 2); + } + + else + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + { + Point quadrature_point (i, + 2.0 * edge_quadrature_points[q_point] (0) + - 1.0, + j); + + this->restriction[index][i + 4 * j + 2] + ((i + 4 * j) * this->degree, dof) + += weight * this->shape_value_component + (dof, quadrature_point, 1); + quadrature_point + = Point (2.0 * edge_quadrature_points[q_point] (0) + - 1.0, i, j); + this->restriction[index][2 * (i + 2 * j) + 1] + ((i + 4 * j + 2) * this->degree, dof) + += weight * this->shape_value_component + (dof, quadrature_point, 0); + quadrature_point = Point (i, j, + 2.0 * edge_quadrature_points[q_point] (0) + - 1.0); + this->restriction[index][i + 2 * (j + 2)] + ((i + 2 * (j + 4)) * this->degree, dof) + += weight * this->shape_value_component + (dof, quadrature_point, 2); + } + } + + // Then project the shape functions + // of the child cells to the higher + // order shape functions of the + // parent cell. + if (deg > 0) { - system_rhs = 0; - - // Now we project the remaining - // part on the face shape - // functions. First on the - // horizontal ones, then on - // the vertical ones. - for (unsigned int q_point = 0; - q_point < n_face_points; ++q_point) + const std::vector >& + legendre_polynomials + = Polynomials::Legendre::generate_complete_basis + (deg); + FullMatrix system_matrix_inv (deg, deg); + + { + FullMatrix assembling_matrix (deg, + n_edge_quadrature_points); + + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; + ++q_point) + { + const double weight + = std::sqrt (edge_quadrature.weight + (q_point)); + + for (unsigned int i = 0; i < deg; ++i) + assembling_matrix (i, q_point) = weight + * legendre_polynomials[i + 1].value + (edge_quadrature_points[q_point] (0)); + } + + FullMatrix system_matrix (deg, deg); + + assembling_matrix.mTmult (system_matrix, + assembling_matrix); + system_matrix_inv.invert (system_matrix); + } + + FullMatrix solution (deg, 6); + FullMatrix system_rhs (deg, 6); + Vector tmp (6); + + for (unsigned int dof = 0; + dof < this->dofs_per_cell; ++dof) + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + { + system_rhs = 0.0; + + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; + ++q_point) + { + const double weight + = edge_quadrature.weight (q_point); + const Point quadrature_point_0 (i, + edge_quadrature_points[q_point] (0), + j); + const Point + quadrature_point_1 + (edge_quadrature_points[q_point] (0), + i, j); + const Point quadrature_point_2 (i, + j, + edge_quadrature_points[q_point] (0)); + + if (edge_quadrature_points[q_point] (0) + < 0.5) + { + Point quadrature_point_3 (i, + 2.0 * edge_quadrature_points[q_point] (0), + j); + + tmp (0) = weight + * (2.0 * this->shape_value_component + (dof, + quadrature_point_3, + 1) + - this->restriction[index][i + 4 * j] + ((i + 4 * j) + * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j) + * this->degree, + quadrature_point_0, + 1)); + tmp (1) = -1.0 * weight + * this->restriction[index][i + 4 * j + 2] + ((i + 4 * j) + * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j) + * this->degree, + quadrature_point_0, + 1); + quadrature_point_3 + = Point (2.0 * edge_quadrature_points[q_point] (0), + i, j); + tmp (2) = weight + * (2.0 * this->shape_value_component + (dof, + quadrature_point_3, + 0) + - this->restriction[index][2 * (i + 2 * j)] + ((i + 4 * j + 2) + * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j + 2) + * this->degree, + quadrature_point_1, + 0)); + tmp (3) = -1.0 * weight + * this->restriction[index][2 * (i + 2 * j) + 1] + ((i + 4 * j + 2) + * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j + 2) + * this->degree, + quadrature_point_1, + 0); + quadrature_point_3 = Point (i, + j, + 2.0 * edge_quadrature_points[q_point] (0)); + tmp (4) = weight + * (2.0 * this->shape_value_component + (dof, + quadrature_point_3, + 2) + - this->restriction[index][i + 2 * j] + ((i + 2 * (j + 4)) + * this->degree, + dof) + * this->shape_value_component + ((i + 2 * (j + 4)) + * this->degree, + quadrature_point_2, + 2)); + tmp (5) = -1.0 * weight + * this->restriction[index][i + 2 * (j + 2)] + ((i + 2 * (j + 4)) + * this->degree, + dof) + * this->shape_value_component + ((i + 2 * (j + 4)) + * this->degree, + quadrature_point_2, + 2); + } + + else + { + tmp (0) = -1.0 * weight + * this->restriction[index][i + 4 * j] + ((i + 4 * j) + * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j) + * this->degree, + quadrature_point_0, + 1); + + Point quadrature_point_3 (i, + 2.0 * edge_quadrature_points[q_point] (0) + - 1.0, + j); + + tmp (1) = weight + * (2.0 * this->shape_value_component + (dof, + quadrature_point_3, + 1) + - this->restriction[index][i + 4 * j + 2] + ((i + 4 * j) + * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j) + * this->degree, + quadrature_point_0, + 1)); + tmp (2) = -1.0 * weight + * this->restriction[index][2 * (i + 2 * j)] + ((i + 4 * j + 2) + * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j + 2) + * this->degree, + quadrature_point_1, + 0); + quadrature_point_3 + = Point (2.0 * edge_quadrature_points[q_point] (0) + - 1.0, i, j); + tmp (3) = weight + * (2.0 * this->shape_value_component + (dof, + quadrature_point_3, + 0) + - this->restriction[index][2 * (i + 2 * j) + 1] + ((i + 4 * j + 2) + * this->degree, + dof) + * this->shape_value_component + ((i + 4 * j + 2) + * this->degree, + quadrature_point_1, + 0)); + tmp (4) = -1.0 * weight + * this->restriction[index][i + 2 * j] + ((i + 2 * (j + 4)) + * this->degree, + dof) + * this->shape_value_component + ((i + 2 * (j + 4)) + * this->degree, + quadrature_point_2, + 2); + quadrature_point_3 = Point (i, + j, + 2.0 * edge_quadrature_points[q_point] (0) + - 1.0); + tmp (5) = weight + * (2.0 * this->shape_value_component + (dof, + quadrature_point_3, + 2) + - this->restriction[index][i + 2 * (j + 2)] + ((i + 2 * (j + 4)) + * this->degree, + dof) + * this->shape_value_component + ((i + 2 * (j + 4)) + * this->degree, + quadrature_point_2, + 2)); + } + + for (unsigned int k = 0; k < deg; ++k) + { + const double L_k + = legendre_polynomials[k + 1].value + (edge_quadrature_points[q_point] (0)); + + for (unsigned int l = 0; + l < tmp.size (); ++l) + system_rhs (k, l) += tmp (l) + * L_k; + } + } + + system_matrix_inv.mmult (solution, + system_rhs); + + for (unsigned int k = 0; k < 2; ++k) + for (unsigned int l = 0; l < deg; ++l) + { + if (std::abs (solution (l, k)) + > 1e-14) + this->restriction[index][i + 2 * (2 * j + k)] + ((i + 4 * j) * this->degree + l + 1, + dof) = solution (l, k); + + if (std::abs (solution (l, k + 2)) + > 1e-14) + this->restriction[index][2 * (i + 2 * j) + k] + ((i + 4 * j + 2) * this->degree + l + + 1, dof) + = solution (l, k + 2); + + if (std::abs (solution (l, k + 4)) + > 1e-14) + this->restriction[index][i + 2 * (j + 2 * k)] + ((i + 2 * (j + 4)) * this->degree + + l + 1, dof) + = solution (l, k + 4); + } + } + + const QGauss<2> face_quadrature (2 * this->degree); + const std::vector >& face_quadrature_points + = face_quadrature.get_points (); + const std::vector >& + lobatto_polynomials + = Polynomials::Lobatto::generate_complete_basis + (this->degree); + const unsigned int n_edge_dofs + = GeometryInfo::lines_per_cell + * this->degree; + const unsigned int& n_face_quadrature_points + = face_quadrature.size (); + + { + FullMatrix + assembling_matrix (deg * this->degree, + n_face_quadrature_points); + + for (unsigned int q_point = 0; + q_point < n_face_quadrature_points; + ++q_point) + { + const double weight + = std::sqrt (face_quadrature.weight + (q_point)); + + for (unsigned int i = 0; i <= deg; ++i) + { + const double L_i = weight + * legendre_polynomials[i].value + (face_quadrature_points[q_point] (0)); + + for (unsigned int j = 0; j < deg; ++j) + assembling_matrix (i * deg + j, q_point) + = L_i * lobatto_polynomials[j + 2].value + (face_quadrature_points[q_point] (1)); + } + } + + FullMatrix + system_matrix (assembling_matrix.m (), + assembling_matrix.m ()); + + assembling_matrix.mTmult (system_matrix, + assembling_matrix); + system_matrix_inv.reinit (system_matrix.m (), + system_matrix.m ()); + system_matrix_inv.invert (system_matrix); + } + + solution.reinit (system_matrix_inv.m (), 24); + system_rhs.reinit (system_matrix_inv.m (), 24); + tmp.reinit (24); + + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int dof = 0; + dof < this->dofs_per_cell; ++dof) + { + system_rhs = 0.0; + + for (unsigned int q_point = 0; + q_point < n_face_quadrature_points; + ++q_point) + { + tmp = 0.0; + + if (face_quadrature_points[q_point] (0) + < 0.5) + { + if (face_quadrature_points[q_point] (1) + < 0.5) + { + Point quadrature_point_0 (i, + 2.0 * face_quadrature_points[q_point] (0), + 2.0 * face_quadrature_points[q_point] (1)); + + tmp (0) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, 1); + tmp (1) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, 2); + quadrature_point_0 + = Point (2.0 * face_quadrature_points[q_point] (0), + i, + 2.0 * face_quadrature_points[q_point] (1)); + tmp (8) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, 0); + tmp (9) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, 2); + quadrature_point_0 + = Point (2.0 * face_quadrature_points[q_point] (0), + 2.0 * face_quadrature_points[q_point] (1), + i); + tmp (16) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, + 0); + tmp (17) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, + 1); + } + + else + { + Point quadrature_point_0 (i, + 2.0 * face_quadrature_points[q_point] (0), + 2.0 * face_quadrature_points[q_point] (1) + - 1.0); + + tmp (2) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, 1); + tmp (3) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, 2); + quadrature_point_0 + = Point (2.0 * face_quadrature_points[q_point] (0), + i, + 2.0 * face_quadrature_points[q_point] (1) + - 1.0); + tmp (10) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, + 0); + tmp (11) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, + 2); + quadrature_point_0 + = Point (2.0 * face_quadrature_points[q_point] (0), + 2.0 * face_quadrature_points[q_point] (1) + - 1.0, i); + tmp (18) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, + 0); + tmp (19) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, + 1); + } + } + + else + if (face_quadrature_points[q_point] (1) + < 0.5) + { + Point quadrature_point_0 (i, + 2.0 * face_quadrature_points[q_point] (0) + - 1.0, + 2.0 * face_quadrature_points[q_point] (1)); + + tmp (4) += 2.0 + * this->shape_value_component + (dof, quadrature_point_0, + 1); + tmp (5) += 2.0 + * this->shape_value_component + (dof, quadrature_point_0, + 2); + quadrature_point_0 + = Point (2.0 * face_quadrature_points[q_point] (0) + - 1.0, i, + 2.0 * face_quadrature_points[q_point] (1)); + tmp (12) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, + 0); + tmp (13) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, + 2); + quadrature_point_0 + = Point (2.0 * face_quadrature_points[q_point] (0) + - 1.0, + 2.0 * face_quadrature_points[q_point] (1), + i); + tmp (20) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, + 0); + tmp (21) += 2.0 + * this->shape_value_component + (dof, + quadrature_point_0, + 1); + } + + else + { + Point quadrature_point_0 (i, + 2.0 * face_quadrature_points[q_point] (0) + - 1.0, + 2.0 * face_quadrature_points[q_point] (1) + - 1.0); + + tmp (6) += 2.0 + * this->shape_value_component + (dof, quadrature_point_0, + 1); + tmp (7) += 2.0 + * this->shape_value_component + (dof, quadrature_point_0, + 2); + quadrature_point_0 + = Point (2.0 * face_quadrature_points[q_point] (0) + - 1.0, i, + 2.0 * face_quadrature_points[q_point] (1) - 1.0); + tmp (14) += 2.0 + * this->shape_value_component + (dof, quadrature_point_0, + 0); + tmp (15) += 2.0 + * this->shape_value_component + (dof, quadrature_point_0, + 2); + quadrature_point_0 + = Point (2.0 * face_quadrature_points[q_point] (0) + - 1.0, + 2.0 * face_quadrature_points[q_point] (1) + - 1.0, i); + tmp (22) += 2.0 + * this->shape_value_component + (dof, quadrature_point_0, + 0); + tmp (23) += 2.0 + * this->shape_value_component + (dof, quadrature_point_0, + 1); + } + + const Point quadrature_point_0 (i, + face_quadrature_points[q_point] (0), + face_quadrature_points[q_point] (1)); + const Point + quadrature_point_1 + (face_quadrature_points[q_point] (0), i, + face_quadrature_points[q_point] (1)); + const Point + quadrature_point_2 + (face_quadrature_points[q_point] (0), + face_quadrature_points[q_point] (1), + i); + + for (unsigned int j = 0; j < 2; ++j) + for (unsigned int k = 0; k < 2; ++k) + for (unsigned int l = 0; l <= deg; + ++l) + { + tmp (2 * (j + 2 * k)) + -= this->restriction[index][i + 2 * (2 * j + k)] + ((i + 4 * j) * this->degree + + l, dof) + * this->shape_value_component + ((i + 4 * j) * this->degree + + l, + quadrature_point_0, 1); + tmp (2 * (j + 2 * k) + 1) + -= this->restriction[index][i + 2 * (2 * j + k)] + ((i + 2 * (k + 4)) + * this->degree + l, dof) + * this->shape_value_component + ((i + 2 * (k + 4)) + * this->degree + l, + quadrature_point_0, 2); + tmp (2 * (j + 2 * (k + 2))) + -= this->restriction[index][2 * (i + 2 * j) + k] + ((i + 4 * j + 2) + * this->degree + l, dof) + * this->shape_value_component + ((i + 4 * j + 2) + * this->degree + l, + quadrature_point_1, 0); + tmp (2 * (j + 2 * k) + 9) + -= this->restriction[index][2 * (i + 2 * j) + k] + ((2 * (i + 4) + k) + * this->degree + l, dof) + * this->shape_value_component + ((2 * (i + 4) + k) + * this->degree + l, + quadrature_point_1, 2); + tmp (2 * (j + 2 * (k + 4))) + -= this->restriction[index][2 * (2 * i + j) + k] + ((4 * i + j + 2) + * this->degree + l, dof) + * this->shape_value_component + ((4 * i + j + 2) + * this->degree + l, + quadrature_point_2, 0); + tmp (2 * (j + 2 * k) + 17) + -= this->restriction[index][2 * (2 * i + j) + k] + ((4 * i + k) * this->degree + + l, dof) + * this->shape_value_component + ((4 * i + k) * this->degree + + l, + quadrature_point_2, 1); + } + + tmp *= face_quadrature.weight (q_point); + + for (unsigned int j = 0; j <= deg; ++j) + { + const double L_j_0 + = legendre_polynomials[j].value + (face_quadrature_points[q_point] (0)); + const double L_j_1 + = legendre_polynomials[j].value + (face_quadrature_points[q_point] (1)); + + for (unsigned int k = 0; k < deg; ++k) + { + const double l_k_0 + = L_j_0 * lobatto_polynomials[k + 2].value + (face_quadrature_points[q_point] (1)); + const double l_k_1 + = L_j_1 * lobatto_polynomials[k + 2].value + (face_quadrature_points[q_point] (0)); + + for (unsigned int l = 0; l < 12; + ++l) + { + system_rhs (j * deg + k, + 2 * l) + += tmp (2 * l) * l_k_0; + system_rhs (j * deg + k, + 2 * l + 1) + += tmp (2 * l + 1) * l_k_1; + } + } + } + } + + system_matrix_inv.mmult (solution, + system_rhs); + + for (unsigned int j = 0; j < 2; ++j) + for (unsigned int k = 0; k < 2; ++k) + for (unsigned int l = 0; l <= deg; ++l) + for (unsigned int m = 0; m < deg; ++m) + { + if (std::abs (solution (l * deg + m, + 2 * (j + 2 * k))) + > 1e-14) + this->restriction[index][i + 2 * (2 * j + k)] + ((2 * i * this->degree + l) * deg + + m + + n_edge_dofs, + dof) = solution (l * deg + m, + 2 * (j + 2 * k)); + + if (std::abs (solution (l * deg + m, + 2 * (j + 2 * k) + 1)) + > 1e-14) + this->restriction[index][i + 2 * (2 * j + k)] + (((2 * i + 1) * deg + m) + * this->degree + l + n_edge_dofs, + dof) = solution (l * deg + m, + 2 * (j + 2 * k) + 1); + + if (std::abs (solution (l * deg + m, + 2 * (j + 2 * (k + 2)))) + > 1e-14) + this->restriction[index][2 * (i + 2 * j) + k] + ((2 * (i + 2) * this->degree + l) + * deg + m + n_edge_dofs, dof) + = solution (l * deg + m, + 2 * (j + 2 * (k + 2))); + + if (std::abs (solution (l * deg + m, + 2 * (j + 2 * k) + 9)) + > 1e-14) + this->restriction[index][2 * (i + 2 * j) + k] + (((2 * i + 5) * deg + m) + * this->degree + l + n_edge_dofs, + dof) = solution (l * deg + m, + 2 * (j + 2 * k) + 9); + + if (std::abs (solution (l * deg + m, + 2 * (j + 2 * (k + 4)))) + > 1e-14) + this->restriction[index][2 * (2 * i + j) + k] + ((2 * (i + 4) * this->degree + l) + * deg + m + n_edge_dofs, dof) + = solution (l * deg + m, + 2 * (j + 2 * (k + 4))); + + if (std::abs (solution (l * deg + m, + 2 * (j + 2 * k) + 17)) + > 1e-14) + this->restriction[index][2 * (2 * i + j) + k] + (((2 * i + 9) * deg + m) + * this->degree + l + n_edge_dofs, + dof) = solution (l * deg + m, + 2 * (j + 2 * k) + 17); + } + } + + const QGauss quadrature (2 * this->degree); + const std::vector >& + quadrature_points = quadrature.get_points (); + const unsigned int n_boundary_dofs + = 2 * GeometryInfo::faces_per_cell * deg + * this->degree + n_edge_dofs; + const unsigned int& + n_quadrature_points = quadrature.size (); + + { + FullMatrix + assembling_matrix (deg * deg * this->degree, + n_quadrature_points); + + for (unsigned int q_point = 0; + q_point < n_quadrature_points; ++q_point) + { + const double weight + = std::sqrt (quadrature.weight (q_point)); + + for (unsigned int i = 0; i <= deg; ++i) + { + const double L_i = weight + * legendre_polynomials[i].value + (quadrature_points[q_point] (0)); + + for (unsigned int j = 0; j < deg; ++j) + { + const double l_j + = L_i * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (1)); + + for (unsigned int k = 0; k < deg; ++k) + assembling_matrix ((i * deg + j) + * deg + k, + q_point) + = l_j * lobatto_polynomials[k + 2].value + (quadrature_points[q_point] (2)); + } + } + } + + FullMatrix + system_matrix (assembling_matrix.m (), + assembling_matrix.m ()); + + assembling_matrix.mTmult (system_matrix, + assembling_matrix); + system_matrix_inv.reinit (system_matrix.m (), + system_matrix.m ()); + system_matrix_inv.invert (system_matrix); + } + + solution.reinit (system_matrix_inv.m (), 24); + system_rhs.reinit (system_matrix_inv.m (), 24); + tmp.reinit (24); + + for (unsigned int dof = 0; + dof < this->dofs_per_cell; ++dof) { - const Point quadrature_point - (2.0 * face_quadrature_points[q_point] (0), - 2.0 * face_quadrature_points[q_point] (1), - 0.0); - double right_hand_side_value - = this->shape_value_component - (this->face_to_cell_index (dof, 4), - Point - (face_quadrature_points[q_point] (0), - face_quadrature_points[q_point] (1), 0.0), - 1); - - for (unsigned int i = 0; i < 2; ++i) - for (unsigned int j = 0; j < source_fe.degree; - ++j) - right_hand_side_value - -= interpolation_matrix - (i * source_fe.degree + j, dof) - * source_fe.shape_value_component - (i * source_fe.degree + j, - quadrature_point, 1); - - right_hand_side_value - *= face_quadrature.weight (q_point); - - for (unsigned int i = 0; i <= deg; ++i) + system_rhs = 0.0; + + for (unsigned int q_point = 0; + q_point < n_quadrature_points; ++q_point) { - const double tmp - = right_hand_side_value - * legendre_polynomials[i].value - (quadrature_point (0)); - - for (unsigned int j = 0; j < deg; ++j) - system_rhs (i * deg + j) - += tmp - * lobatto_polynomials[j + 2].value - (quadrature_point (1)); + tmp = 0.0; + + if (quadrature_points[q_point] (0) < 0.5) + { + if (quadrature_points[q_point] (1) + < 0.5) + { + if (quadrature_points[q_point] (2) + < 0.5) + { + const Point + quadrature_point + (2.0 * quadrature_points[q_point] (0), + 2.0 * quadrature_points[q_point] (1), + 2.0 * quadrature_points[q_point] (2)); + + tmp (0) += 2.0 + * this->shape_value_component + (dof, + quadrature_point, 0); + tmp (1) += 2.0 + * this->shape_value_component + (dof, + quadrature_point, 1); + tmp (2) += 2.0 + * this->shape_value_component + (dof, + quadrature_point, 2); + } + + else + { + const Point + quadrature_point + (2.0 * quadrature_points[q_point] (0), + 2.0 * quadrature_points[q_point] (1), + 2.0 * quadrature_points[q_point] (2) + - 1.0); + + tmp (3) += 2.0 + * this->shape_value_component + (dof, + quadrature_point, 0); + tmp (4) += 2.0 + * this->shape_value_component + (dof, + quadrature_point, 1); + tmp (5) += 2.0 + * this->shape_value_component + (dof, + quadrature_point, 2); + } + } + + else + if (quadrature_points[q_point] (2) + < 0.5) + { + const Point + quadrature_point + (2.0 * quadrature_points[q_point] (0), + 2.0 * quadrature_points[q_point] (1) + - 1.0, + 2.0 * quadrature_points[q_point] (2)); + + tmp (6) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 0); + tmp (7) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 1); + tmp (8) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 2); + } + + else + { + const Point + quadrature_point + (2.0 * quadrature_points[q_point] (0), + 2.0 * quadrature_points[q_point] (1) + - 1.0, + 2.0 * quadrature_points[q_point] (2) + - 1.0); + + tmp (9) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 0); + tmp (10) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 1); + tmp (11) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 2); + } + } + + else + if (quadrature_points[q_point] (1) < 0.5) + { + if (quadrature_points[q_point] (2) + < 0.5) + { + const Point + quadrature_point + (2.0 * quadrature_points[q_point] (0) + - 1.0, + 2.0 * quadrature_points[q_point] (1), + 2.0 * quadrature_points[q_point] (2)); + + tmp (12) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 0); + tmp (13) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 1); + tmp (14) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 2); + } + + else + { + const Point + quadrature_point + (2.0 * quadrature_points[q_point] (0) + - 1.0, + 2.0 * quadrature_points[q_point] (1), + 2.0 * quadrature_points[q_point] (2) + - 1.0); + + tmp (15) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 0); + tmp (16) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 1); + tmp (17) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 2); + } + } + + else + if (quadrature_points[q_point] (2) + < 0.5) + { + const Point + quadrature_point + (2.0 * quadrature_points[q_point] (0) + - 1.0, + 2.0 * quadrature_points[q_point] (1) + - 1.0, + 2.0 * quadrature_points[q_point] (2)); + + tmp (18) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 0); + tmp (19) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 1); + tmp (20) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 2); + } + + else + { + const Point + quadrature_point + (2.0 * quadrature_points[q_point] (0) + - 1.0, + 2.0 * quadrature_points[q_point] (1) + - 1.0, + 2.0 * quadrature_points[q_point] (2) + - 1.0); + + tmp (21) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 0); + tmp (22) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 1); + tmp (23) += 2.0 + * this->shape_value_component + (dof, quadrature_point, + 2); + } + + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j < 2; ++j) + for (unsigned int k = 0; k < 2; ++k) + for (unsigned int l = 0; l <= deg; + ++l) + { + tmp (3 * (i + 2 * (j + 2 * k))) + -= this->restriction[index][2 * (2 * i + j) + k] + ((4 * i + j + 2) + * this->degree + l, dof) + * this->shape_value_component + ((4 * i + j + 2) + * this->degree + l, + quadrature_points[q_point], + 0); + tmp (3 * (i + 2 * (j + 2 * k)) + + 1) + -= this->restriction[index][2 * (2 * i + j) + k] + ((4 * i + k) * this->degree + + l, dof) + * this->shape_value_component + ((4 * i + k) * this->degree + + l, + quadrature_points[q_point], + 1); + tmp (3 * (i + 2 * (j + 2 * k)) + + 2) + -= this->restriction[index][2 * (2 * i + j) + k] + ((2 * (j + 4) + k) + * this->degree + l, dof) + * this->shape_value_component + ((2 * (j + 4) + k) + * this->degree + l, + quadrature_points[q_point], + 2); + + for (unsigned int m = 0; m < deg; + ++m) + { + tmp (3 * (i + 2 * (j + 2 * k))) + -= this->restriction[index][2 * (2 * i + j) + k] + ((2 * (j + 2) + * this->degree + l) + * deg + m + n_edge_dofs, + dof) + * this->shape_value_component + ((2 * (j + 2) + * this->degree + l) + * deg + m + n_edge_dofs, + quadrature_points[q_point], + 0); + tmp (3 * (i + 2 * (j + 2 * k))) + -= this->restriction[index][2 * (2 * i + j) + k] + ((2 * (i + 4) + * this->degree + l) + * deg + m + n_edge_dofs, + dof) + * this->shape_value_component + ((2 * (i + 4) + * this->degree + l) + * deg + m + n_edge_dofs, + quadrature_points[q_point], + 0); + tmp (3 * (i + 2 * (j + 2 * k)) + + 1) + -= this->restriction[index][2 * (2 * i + j) + k] + ((2 * k * this->degree + + l) * deg + m + + n_edge_dofs, dof) + * this->shape_value_component + ((2 * k * this->degree + + l) * deg + m + + n_edge_dofs, + quadrature_points[q_point], + 1); + tmp (3 * (i + 2 * (j + 2 * k)) + + 1) + -= this->restriction[index][2 * (2 * i + j) + k] + (((2 * i + 9) * deg + m) + * this->degree + l + + n_edge_dofs, dof) + * this->shape_value_component + (((2 * i + 9) * deg + m) + * this->degree + l + + n_edge_dofs, + quadrature_points[q_point], + 1); + tmp (3 * (i + 2 * (j + 2 * k)) + + 2) + -= this->restriction[index][2 * (2 * i + j) + k] + (((2 * k + 1) * deg + m) + * this->degree + l + + n_edge_dofs, dof) + * this->shape_value_component + (((2 * k + 1) * deg + m) + * this->degree + l + + n_edge_dofs, + quadrature_points[q_point], + 2); + tmp (3 * (i + 2 * (j + 2 * k)) + + 2) + -= this->restriction[index][2 * (2 * i + j) + k] + (((2 * j + 5) * deg + m) + * this->degree + l + + n_edge_dofs, dof) + * this->shape_value_component + (((2 * j + 5) * deg + m) + * this->degree + l + + n_edge_dofs, + quadrature_points[q_point], + 2); + } + } + + tmp *= quadrature.weight (q_point); + + for (unsigned int i = 0; i <= deg; ++i) + { + const double L_i_0 + = legendre_polynomials[i].value + (quadrature_points[q_point] (0)); + const double L_i_1 + = legendre_polynomials[i].value + (quadrature_points[q_point] (1)); + const double L_i_2 + = legendre_polynomials[i].value + (quadrature_points[q_point] (2)); + + for (unsigned int j = 0; j < deg; ++j) + { + const double l_j_0 + = L_i_0 * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (1)); + const double l_j_1 + = L_i_1 * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (0)); + const double l_j_2 + = L_i_2 * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (0)); + + for (unsigned int k = 0; k < deg; + ++k) + { + const double l_k_0 + = l_j_0 * lobatto_polynomials[k + 2].value + (quadrature_points[q_point] (2)); + const double l_k_1 + = l_j_1 * lobatto_polynomials[k + 2].value + (quadrature_points[q_point] (2)); + const double l_k_2 + = l_j_2 * lobatto_polynomials[k + 2].value + (quadrature_points[q_point] (1)); + + for (unsigned int l = 0; l < 8; + ++l) + { + system_rhs ((i * deg + j) + * deg + k, + 3 * l) + += tmp (3 * l) * l_k_0; + system_rhs ((i * deg + j) + * deg + k, + 3 * l + 1) + += tmp (3 * l + 1) + * l_k_1; + system_rhs ((i * deg + j) + * deg + k, + 3 * l + 2) + += tmp (3 * l + 2) + * l_k_2; + } + } + } + } } - } - - system_matrix_inv.vmult (solution, system_rhs); - - // Add the computed values - // to the interpolation - // matrix only, if they are - // not too small. - for (unsigned int i = 0; i <= deg; ++i) - for (unsigned int j = 0; j < deg; ++j) - if (std::abs (solution (i * deg + j)) > 1e-14) - interpolation_matrix - ((i + 4) * source_fe.degree + j - i, dof) - = solution (i * deg + j); - - // Set up the right hand side - // for the vertical shape - // functions. - system_rhs = 0; - - for (unsigned int q_point = 0; - q_point < n_face_points; ++q_point) - { - const Point quadrature_point - (2.0 * face_quadrature_points[q_point] (0), - 2.0 * face_quadrature_points[q_point] (1), - 0.0); - double right_hand_side_value - = this->shape_value_component - (this->face_to_cell_index (dof, 4), - Point - (face_quadrature_points[q_point] (0), - face_quadrature_points[q_point] (1), 0.0), - 0); - + + system_matrix_inv.mmult (solution, system_rhs); + for (unsigned int i = 0; i < 2; ++i) - for (unsigned int j = 0; j < source_fe.degree; - ++j) - right_hand_side_value - -= interpolation_matrix - ((i + 2) * source_fe.degree + j, dof) - * source_fe.shape_value_component - (i * source_fe.degree + j, - quadrature_point, 0); + for (unsigned int j = 0; j < 2; ++j) + for (unsigned int k = 0; k < 2; ++k) + for (unsigned int l = 0; l <= deg; ++l) + for (unsigned int m = 0; m < deg; ++m) + for (unsigned int n = 0; n < deg; ++n) + { + if (std::abs (solution + ((l * deg + m) * deg + + n, + 3 * (i + 2 * (j + 2 * k)))) + > 1e-14) + this->restriction[index][2 * (2 * i + j) + k] + ((l * deg + m) * deg + n + + n_boundary_dofs, + dof) = solution ((l * deg + m) + * deg + n, + 3 * (i + 2 * (j + 2 * k))); + + if (std::abs (solution + ((l * deg + m) * deg + + n, + 3 * (i + 2 * (j + 2 * k)) + + 1)) > 1e-14) + this->restriction[index][2 * (2 * i + j) + k] + ((l + (m + deg) * this->degree) + * deg + n + n_boundary_dofs, + dof) = solution ((l * deg + m) + * deg + n, + 3 * (i + 2 * (j + 2 * k)) + + 1); + + if (std::abs (solution + ((l * deg + m) * deg + + n, + 3 * (i + 2 * (j + 2 * k)) + + 2)) > 1e-14) + this->restriction[index][2 * (2 * i + j) + k] + (l + ((m + 2 * deg) * deg + n) + * this->degree + + n_boundary_dofs, dof) + = solution ((l * deg + m) + * deg + n, + 3 * (i + 2 * (j + 2 * k)) + + 2); + } + } + } + + break; + } - right_hand_side_value - *= face_quadrature.weight (q_point); + default: + Assert (false, ExcNotImplemented ()); + } + } - for (unsigned int i = 0; i <= deg; ++i) - { - const double tmp - = right_hand_side_value - * legendre_polynomials[i].value - (quadrature_point (0)); + break; + } - for (unsigned int j = 0; j < deg; ++j) - system_rhs (i * deg + j) - += tmp - * lobatto_polynomials[j + 2].value - (quadrature_point (1)); - } - } + default: + Assert (false, ExcNotImplemented ()); + } +} - system_matrix_inv.vmult (solution, system_rhs); - // Add the computed values - // to the interpolation - // matrix only, if they are - // not too small. - for (unsigned int i = 0; i <= deg; ++i) - for (unsigned int j = 0; j < deg; ++j) - if (std::abs (solution (i * deg + j)) > 1e-14) - interpolation_matrix - (i + (j + source_fe.degree + 3) - * source_fe.degree, dof) = solution (i * deg - + j); - } - } +#if deal_II_dimension == 1 - break; - } +template <> +std::vector +FE_Nedelec<1>::get_dpo_vector (const unsigned int degree) +{ + std::vector dpo (2); - case 1: - { - const Quadrature<1>& edge_quadrature_x - = QProjector<1>::project_to_child - (reference_edge_quadrature, 1); - const Quadrature<1>& edge_quadrature_y - = QProjector<1>::project_to_child - (reference_edge_quadrature, 0); - const std::vector >& - edge_quadrature_x_points = edge_quadrature_x.get_points (); - const std::vector >& - edge_quadrature_y_points = edge_quadrature_y.get_points (); - const unsigned int& n_edge_points - = edge_quadrature_x.size (); + dpo[0] = 1; + dpo[1] = degree; + return dpo; +} - // Let us begin with the - // interpolation part. - for (unsigned int q_point = 0; q_point < n_edge_points; - ++q_point) - { - const double weight - = edge_quadrature_x.weight (q_point); +#endif - for (unsigned int i = 0; i < 2; ++i) - for (unsigned int dof = 0; dof < this->dofs_per_face; - ++dof) - { - interpolation_matrix (i * source_fe.degree, dof) - += weight - * this->shape_value_component - (this->face_to_cell_index (dof, 4), - Point - (0.5 * (i + 1), - edge_quadrature_y_points[q_point] (0), 0.0), - 1); - interpolation_matrix - ((i + 2) * source_fe.degree, dof) - += weight - * this->shape_value_component - (this->face_to_cell_index (dof, 4), - Point - (edge_quadrature_x_points[q_point] (0), - 0.5 * i, 0.0), 0); - } - } - // Add the computed values - // to the interpolation - // matrix only, if they are - // not too small. - for (unsigned int i = 0; i < 2; ++i) - for (unsigned int dof = 0; dof < this->dofs_per_face; - ++dof) - { - if (std::abs (interpolation_matrix - (i * source_fe.degree, dof)) < 1e-14) - interpolation_matrix (i * source_fe.degree, dof) - = 0.0; - - if (std::abs (interpolation_matrix - ((i + 2) * source_fe.degree, dof)) - < 1e-14) - interpolation_matrix ((i + 2) * source_fe.degree, - dof) = 0.0; - } +template +std::vector +FE_Nedelec::get_dpo_vector (const unsigned int degree) +{ + std::vector dpo (dim + 1); - // If the degree is greater - // than 0, then we have still - // some higher order edge - // shape functions to - // consider. - // Here the projection part - // starts. The dof values - // are obtained by solving - // a linear system of - // equations. - if (deg > 0) - { - // We start with projection - // on the higher order edge - // shape function. - const QGauss reference_face_quadrature - (this->degree); - const Quadrature& face_quadrature - = QProjector::project_to_child - (reference_face_quadrature, 1); - const std::vector >& - face_quadrature_points = face_quadrature.get_points (); - const std::vector >& - legendre_polynomials - = Polynomials::Legendre::generate_complete_basis - (deg); - const std::vector >& - lobatto_polynomials - = Polynomials::Lobatto::generate_complete_basis - (this->degree); - const unsigned int& - n_face_points = face_quadrature.size (); - FullMatrix assembling_matrix (deg, - n_edge_points); - FullMatrix system_matrix (deg, deg); - FullMatrix system_matrix_inv (deg, deg); - std::vector > - lobatto_polynomials_grad (this->degree); - - for (unsigned int i = 0; - i < lobatto_polynomials_grad.size (); ++i) - lobatto_polynomials_grad[i] - = lobatto_polynomials[i + 1].derivative (); - - // Shifted and scaled - // quadrature points and - // weights on the four - // edges of a face. - std::vector > edge_quadrature_points - (GeometryInfo::lines_per_face, - std::vector (n_edge_points)); - std::vector > - edge_quadrature_weights - (GeometryInfo::lines_per_face, - std::vector (n_edge_points)); - std::vector > > - edge_quadrature_points_full_dim - (GeometryInfo::lines_per_face, - std::vector > (n_edge_points)); + dpo[0] = 0; + dpo[1] = degree + 1; + dpo[2] = 2 * degree * (degree + 1); - for (unsigned int q_point = 0; q_point < n_edge_points; - ++q_point) - { - edge_quadrature_points[0][q_point] - = 2.0 * edge_quadrature_y_points[q_point] (0); - edge_quadrature_points[1][q_point] - = edge_quadrature_points[0][q_point]; - edge_quadrature_points[2][q_point] - = 2.0 * edge_quadrature_x_points[q_point] (0) - - 1.0; - edge_quadrature_points[3][q_point] - = edge_quadrature_points[2][q_point]; - edge_quadrature_points_full_dim[0][q_point] - = Point - (0.5, edge_quadrature_y_points[q_point] (0), - 0.0); - edge_quadrature_points_full_dim[1][q_point] - = Point - (1.0, edge_quadrature_y_points[q_point] (0), - 0.0); - edge_quadrature_points_full_dim[2][q_point] - = Point - (edge_quadrature_x_points[q_point] (0), 0.0, - 0.0); - edge_quadrature_points_full_dim[3][q_point] - = Point - (edge_quadrature_x_points[q_point] (0), 0.5, - 0.0); - edge_quadrature_weights[0][q_point] - = std::sqrt (edge_quadrature_y.weight (q_point)); - edge_quadrature_weights[1][q_point] - = edge_quadrature_weights[0][q_point]; - edge_quadrature_weights[2][q_point] - = std::sqrt (edge_quadrature_x.weight (q_point)); - edge_quadrature_weights[3][q_point] - = edge_quadrature_weights[2][q_point]; - } + if (dim == 3) + dpo[3] = 3 * degree * degree * (degree + 1); - // Set up the system matrix. - // This can be used for all - // edges. - for (unsigned int q_point = 0; - q_point < n_edge_points; ++q_point) - { - const double tmp - = 2.0 * edge_quadrature_y_points[q_point] (0); - const double weight - = std::sqrt (edge_quadrature_y.weight (q_point)); - - for (unsigned int i = 0; i < deg; ++i) - assembling_matrix (i, q_point) - = weight - * lobatto_polynomials_grad[i + 1].value (tmp); - } - - assembling_matrix.mTmult (system_matrix, - assembling_matrix); - system_matrix_inv.invert (system_matrix); - - Vector system_rhs (system_matrix.m ()); - Vector solution (system_rhs.size ()); - - for (unsigned int dof = 0; dof < this->dofs_per_face; - ++dof) - for (unsigned int line = 0; - line < GeometryInfo::lines_per_cell; - ++line) - { - // Set up the right hand side. - system_rhs = 0; + return dpo; +} - for (unsigned int q_point = 0; - q_point < n_edge_points; ++q_point) - { - const double right_hand_side_value - = edge_quadrature_weights[line][q_point] - * (this->shape_value_component - (this->face_to_cell_index (dof, 4), - edge_quadrature_points_full_dim[line][q_point], - 1) - interpolation_matrix - (line * source_fe.degree, - dof)); - - for (unsigned int i = 0; i < deg; ++i) - system_rhs (i) - += right_hand_side_value - * lobatto_polynomials_grad[i + 1].value - (edge_quadrature_points[line][q_point]); - } +//--------------------------------------------------------------------------- +// Data field initialization +//--------------------------------------------------------------------------- - system_matrix_inv.vmult (solution, system_rhs); + // Chech wheter a given shape + // function has support on a + // given face. - // Add the computed values - // to the interpolation - // matrix only, if they are - // not too small. - for (unsigned int i = 0; i < solution.size (); - ++i) - if (std::abs (solution (i)) > 1e-14) - interpolation_matrix - (line * source_fe.degree + i + 1, dof) - = solution (i); - } + // We just switch through the + // faces of the cell and return + // true, if the shape function + // has support on the face + // and false otherwise. +template +bool +FE_Nedelec::has_support_on_face (const unsigned int shape_index, + const unsigned int face_index) const +{ + Assert (shape_index < this->dofs_per_cell, + ExcIndexRange (shape_index, 0, this->dofs_per_cell)); + Assert (face_index < GeometryInfo::faces_per_cell, + ExcIndexRange (face_index, 0, GeometryInfo::faces_per_cell)); - // Now we project the remaining - // part on the face shape - // functions. First on the - // horizontal ones, then on - // the vertical ones. - assembling_matrix.reinit (deg * this->degree, - n_face_points); + switch (dim) + { + case 2: + switch (face_index) + { + case 0: + if (!((shape_index > deg) && (shape_index < 2 * this->degree))) + return true; - for (unsigned int q_point = 0; - q_point < n_face_points; ++q_point) - { - const Point quadrature_point - (2.0 * face_quadrature_points[q_point] (0) - - 1.0, - 2.0 * face_quadrature_points[q_point] (1)); - const double weight - = std::sqrt (face_quadrature.weight (q_point)); - - for (unsigned int i = 0; i <= deg; ++i) - { - const double tmp - = weight * legendre_polynomials[i].value - (quadrature_point (0)); + else + return false; - for (unsigned int j = 0; j < deg; ++j) - assembling_matrix (i * deg + j, q_point) - = tmp * lobatto_polynomials[j + 2].value - (quadrature_point (1)); - } - } + case 1: + if ((shape_index > deg) && + (shape_index + < GeometryInfo<2>::lines_per_cell * this->degree)) + return true; - system_matrix.reinit (assembling_matrix.m (), - assembling_matrix.m ()); - assembling_matrix.mTmult (system_matrix, - assembling_matrix); - system_matrix_inv.reinit (system_matrix.m (), - system_matrix.m ()); - system_matrix_inv.invert (system_matrix); - solution.reinit (system_matrix_inv.m ()); - system_rhs.reinit (assembling_matrix.m ()); - - for (unsigned int dof = 0; dof < this->dofs_per_face; - ++dof) - { - system_rhs = 0; + else + return false; - for (unsigned int q_point = 0; - q_point < n_face_points; ++q_point) - { - const Point quadrature_point - (2.0 * face_quadrature_points[q_point] (0) - - 1.0, - 2.0 * face_quadrature_points[q_point] (1), - 0.0); - double right_hand_side_value - = this->shape_value_component - (this->face_to_cell_index (dof, 4), - Point - (face_quadrature_points[q_point] (0), - face_quadrature_points[q_point] (1), 0), - 1); + case 2: + if (shape_index < 3 * this->degree) + return true; - for (unsigned int i = 0; i < 2; ++i) - for (unsigned int j = 0; j < source_fe.degree; - ++j) - right_hand_side_value - -= interpolation_matrix - (i * source_fe.degree + j, dof) - * source_fe.shape_value_component - (i * source_fe.degree + j, - quadrature_point, 1); + else + return false; - right_hand_side_value - *= face_quadrature.weight (q_point); + case 3: + if (!((shape_index >= 2 * this->degree) && + (shape_index < 3 * this->degree))) + return true; - for (unsigned int i = 0; i <= deg; ++i) - { - const double tmp - = right_hand_side_value - * legendre_polynomials[i].value - (quadrature_point (0)); + else + return false; - for (unsigned int j = 0; j < deg; ++j) - system_rhs (i * deg + j) - = tmp - * lobatto_polynomials[j + 2].value - (quadrature_point (1)); - } - } + default: + { + Assert (false, ExcNotImplemented ()); + return false; + } + } - system_matrix_inv.vmult (solution, system_rhs); + case 3: + switch (face_index) + { + case 0: + if (((shape_index > deg) && (shape_index < 2 * this->degree)) || + ((shape_index >= 5 * this->degree) && + (shape_index < 6 * this->degree)) || + ((shape_index >= 9 * this->degree) && + (shape_index < 10 * this->degree)) || + ((shape_index >= 11 * this->degree) && + (shape_index + < GeometryInfo<3>::lines_per_cell * this->degree)) || + ((shape_index + >= (GeometryInfo<3>::lines_per_cell + 2 * deg) + * this->degree) && + (shape_index + < (GeometryInfo<3>::lines_per_cell + 5 * deg) + * this->degree)) || + ((shape_index + >= (GeometryInfo<3>::lines_per_cell + 6 * deg) + * this->degree) && + (shape_index + < (GeometryInfo<3>::lines_per_cell + 7 * deg) + * this->degree)) || + ((shape_index + >= (GeometryInfo<3>::lines_per_cell + 8 * deg) + * this->degree) && + (shape_index + < (GeometryInfo<3>::lines_per_cell + 9 * deg) + * this->degree)) || + ((shape_index + >= (GeometryInfo<3>::lines_per_cell + 10 * deg) + * this->degree) && + (shape_index + < (GeometryInfo<3>::lines_per_cell + 11 * deg) + * this->degree))) + return false; - // Add the computed values - // to the interpolation - // matrix only, if they are - // not too small. - for (unsigned int i = 0; i <= deg; ++i) - for (unsigned int j = 0; j < deg; ++j) - if (std::abs (solution (i * deg + j)) > 1e-14) - interpolation_matrix - ((i + 4) * source_fe.degree + j - i, dof) - = solution (i * deg + j); + else + return true; - // Set up the right hand side - // for the vertical shape - // functions. - system_rhs = 0; + case 1: + if (((shape_index > deg) && (shape_index < 4 * this->degree)) || + ((shape_index >= 5 * this->degree) && + (shape_index < 8 * this->degree)) || + ((shape_index >= 9 * this->degree) && + (shape_index < 10 * this->degree)) || + ((shape_index >= 11 * this->degree) && + (shape_index + < GeometryInfo<3>::lines_per_cell * this->degree)) || + ((shape_index + >= (GeometryInfo<3>::lines_per_cell + 2 * deg) + * this->degree) && + (shape_index + < (GeometryInfo<3>::lines_per_cell + 4 * deg) + * this->degree)) || + ((shape_index + >= (GeometryInfo<3>::lines_per_cell + 5 * deg) + * this->degree) && + (shape_index + < (GeometryInfo<3>::lines_per_cell + 6 * deg) + * this->degree)) || + ((shape_index + >= (GeometryInfo<3>::lines_per_cell + 7 * deg) + * this->degree) && + (shape_index + < (GeometryInfo<3>::lines_per_cell + 8 * deg) + * this->degree)) || + ((shape_index + >= (GeometryInfo<3>::lines_per_cell + 9 * deg) + * this->degree) && + (shape_index + < (GeometryInfo<3>::lines_per_cell + 10 * deg) + * this->degree)) || + ((shape_index + >= (GeometryInfo<3>::lines_per_cell + 11 * deg) + * this->degree) && + (shape_index + < (GeometryInfo<3>::lines_per_cell + 12 * deg) + * this->degree))) + return true; - for (unsigned int q_point = 0; - q_point < n_face_points; ++q_point) - { - const Point quadrature_point - (2.0 * face_quadrature_points[q_point] (0) - - 1.0, - 2.0 * face_quadrature_points[q_point] (1), - 0.0); - double right_hand_side_value - = this->shape_value_component - (this->face_to_cell_index (dof, 4), - Point - (face_quadrature_points[q_point] (0), - face_quadrature_points[q_point] (1), 0), - 0); + else + return false; - for (unsigned int i = 0; i < 2; ++i) - for (unsigned int j = 0; j < source_fe.degree; - ++j) - right_hand_side_value - -= interpolation_matrix - ((i + 2) * source_fe.degree + j, dof) - * source_fe.shape_value_component - (i * source_fe.degree + j, - quadrature_point, 0); + case 2: + if ((shape_index < 3 * this->degree) || + ((shape_index >= 4 * this->degree) && + (shape_index < 7 * this->degree)) || + ((shape_index >= 8 * this->degree) && + (shape_index < 10 * this->degree)) || + ((shape_index + >= (GeometryInfo<3>::lines_per_cell + deg) + * this->degree) && + (shape_index + < (GeometryInfo<3>::lines_per_cell + 2 * deg) + * this->degree)) || + ((shape_index + >= (GeometryInfo<3>::lines_per_cell + 3 * deg) + * this->degree) && + (shape_index + < (GeometryInfo<3>::lines_per_cell + 6 * deg) + * this->degree)) || + ((shape_index + >= (GeometryInfo<3>::lines_per_cell + 8 * deg) + * this->degree) && + (shape_index + < (GeometryInfo<3>::lines_per_cell + 9 * deg) + * this->degree)) || + ((shape_index + >= (GeometryInfo<3>::lines_per_cell + 10 * deg) + * this->degree) && + (shape_index + < (GeometryInfo<3>::lines_per_cell + 11 * deg) + * this->degree))) + return true; - right_hand_side_value - *= face_quadrature.weight (q_point); + else + return false; - for (unsigned int i = 0; i <= deg; ++i) - { - const double tmp - = right_hand_side_value - * legendre_polynomials[i].value - (quadrature_point (0)); + case 3: + if ((shape_index < 2 * this->degree) || + ((shape_index >= 3 * this->degree) && + (shape_index < 6 * this->degree)) || + ((shape_index >= 7 * this->degree) && + (shape_index < 8 * this->degree)) || + ((shape_index >= 10 * this->degree) && + (shape_index + < GeometryInfo<3>::lines_per_cell * this->degree)) || + ((shape_index + >= (GeometryInfo<3>::lines_per_cell + deg) + * this->degree) && + (shape_index + < (GeometryInfo<3>::lines_per_cell + 2 * deg) + * this->degree)) || + ((shape_index + >= (GeometryInfo<3>::lines_per_cell + 3 * deg) + * this->degree) && + (shape_index + < (GeometryInfo<3>::lines_per_cell + 4 * deg) + * this->degree)) || + ((shape_index + >= (GeometryInfo<3>::lines_per_cell + 6 * deg) + * this->degree) && + (shape_index + < (GeometryInfo<3>::lines_per_cell + 9 * deg) + * this->degree)) || + ((shape_index + >= (GeometryInfo<3>::lines_per_cell + 10 * deg) + * this->degree) && + (shape_index + < (GeometryInfo<3>::lines_per_cell + 11 * deg) + * this->degree))) + return true; - for (unsigned int j = 0; j < deg; ++j) - system_rhs (i * deg + j) - += tmp - * lobatto_polynomials[j + 2].value - (quadrature_point (1)); - } - } + else + return false; - system_matrix_inv.vmult (solution, system_rhs); + case 4: + if ((shape_index < 4 * this->degree) || + ((shape_index >= 8 * this->degree) && + (shape_index + < (GeometryInfo<3>::lines_per_cell + deg) + * this->degree)) || + ((shape_index + >= (GeometryInfo<3>::lines_per_cell + 2 * deg) + * this->degree) && + (shape_index + < (GeometryInfo<3>::lines_per_cell + 3 * deg) + * this->degree)) || + ((shape_index + >= (GeometryInfo<3>::lines_per_cell + 4 * deg) + * this->degree) && + (shape_index + < (GeometryInfo<3>::lines_per_cell + 5 * deg) + * this->degree)) || + ((shape_index + >= (GeometryInfo<3>::lines_per_cell + 6 * deg) + * this->degree) && + (shape_index + < (GeometryInfo<3>::lines_per_cell + 7 * deg) + * this->degree)) || + ((shape_index + >= (GeometryInfo<3>::lines_per_cell + 8 * deg) + * this->degree) && + (shape_index + < (GeometryInfo<3>::lines_per_cell + 10 * deg) + * this->degree))) + return true; - // Add the computed values - // to the interpolation - // matrix only, if they are - // not too small. - for (unsigned int i = 0; i <= deg; ++i) - for (unsigned int j = 0; j < deg; ++j) - if (std::abs (solution (i * deg + j)) > 1e-14) - interpolation_matrix - (i + (j + source_fe.degree + 3) - * source_fe.degree, dof) - = solution (i * deg + j); - } - } + else + return false; - break; - } + case 5: + if (((shape_index >= 4 * this->degree) && + (shape_index + < (GeometryInfo<3>::lines_per_cell + deg) + * this->degree)) || + ((shape_index + >= (GeometryInfo<3>::lines_per_cell + 2 * deg) + * this->degree) && + (shape_index + < (GeometryInfo<3>::lines_per_cell + 3 * deg) + * this->degree)) || + ((shape_index + >= (GeometryInfo<3>::lines_per_cell + 4 * deg) + * this->degree) && + (shape_index + < (GeometryInfo<3>::lines_per_cell + 5 * deg) + * this->degree)) || + ((shape_index + >= (GeometryInfo<3>::lines_per_cell + 6 * deg) + * this->degree) && + (shape_index + < (GeometryInfo<3>::lines_per_cell + 7 * deg) + * this->degree)) || + ((shape_index + >= (GeometryInfo<3>::lines_per_cell + 10 * deg) + * this->degree) && + (shape_index + < (GeometryInfo<3>::lines_per_cell + 12 * deg) + * this->degree))) + return true; - case 2: - { - const Quadrature<1>& edge_quadrature_x - = QProjector<1>::project_to_child - (reference_edge_quadrature, 0); - const Quadrature<1>& edge_quadrature_y - = QProjector<1>::project_to_child - (reference_edge_quadrature, 1); - const unsigned int& n_edge_points - = edge_quadrature_x.size (); - const std::vector >& - edge_quadrature_x_points = edge_quadrature_x.get_points (); - const std::vector >& - edge_quadrature_y_points = edge_quadrature_y.get_points (); + else + return false; - // Let us begin with the - // interpolation part. - for (unsigned int q_point = 0; q_point < n_edge_points; - ++q_point) - { - const double weight - = edge_quadrature_x.weight (q_point); + default: + { + Assert (false, ExcNotImplemented ()); + return false; + } + } - for (unsigned int i = 0; i < 2; ++i) - for (unsigned int dof = 0; dof < this->dofs_per_face; - ++dof) - { - interpolation_matrix (i * source_fe.degree, dof) - += weight - * this->shape_value_component - (this->face_to_cell_index (dof, 4), - Point - (0.5 * i, - edge_quadrature_y_points[q_point] (0), 0.0), - 1); - interpolation_matrix ((i + 2) * source_fe.degree, - dof) - += weight - * this->shape_value_component - (this->face_to_cell_index (dof, 4), - Point - (edge_quadrature_x_points[q_point] (0), - 0.5 * (i + 1), 0.0), 0); - } - } + default: + { + Assert (false, ExcNotImplemented ()); + return false; + } + } +} - // Add the computed values - // to the interpolation - // matrix only, if they are - // not too small. - for (unsigned int i = 0; i < 2; ++i) - for (unsigned int dof = 0; dof < this->dofs_per_face; - ++dof) - { - if (std::abs (interpolation_matrix - (i * source_fe.degree, dof)) < 1e-14) - interpolation_matrix (i * source_fe.degree, dof) - = 0.0; - - if (std::abs (interpolation_matrix - ((i + 2) * source_fe.degree, dof)) - < 1e-14) - interpolation_matrix ((i + 2) * source_fe.degree, - dof) = 0.0; - } +template +FiniteElementDomination::Domination +FE_Nedelec::compare_for_face_domination (const FiniteElement &fe_other) const +{ + if (const FE_Nedelec *fe_nedelec_other + = dynamic_cast*>(&fe_other)) + { + if (this->degree < fe_nedelec_other->degree) + return FiniteElementDomination::this_element_dominates; + else if (this->degree == fe_nedelec_other->degree) + return FiniteElementDomination::either_element_can_dominate; + else + return FiniteElementDomination::other_element_dominates; + } + else if (dynamic_cast*>(&fe_other) != 0) + { + // the FE_Nothing has no + // degrees of + // freedom. nevertheless, we + // say that the FE_Q element + // dominates so that we don't + // have to force the FE_Q side + // to become a zero function + // and rather allow the + // function to be discontinuous + // along the interface + return FiniteElementDomination::other_element_dominates; + } - // If the degree is greater - // than 0, then we have still - // some higher order edge - // shape functions to - // consider. - // Here the projection part - // starts. The dof values - // are obtained by solving - // a linear system of - // equations. - if (deg > 0) - { - // We start with projection - // on the higher order edge - // shape function. - const QGauss reference_face_quadrature (this->degree); - const Quadrature& face_quadrature - = QProjector::project_to_child - (reference_face_quadrature, 2); - const std::vector >& - face_quadrature_points = face_quadrature.get_points (); - const std::vector >& legendre_polynomials - = Polynomials::Legendre::generate_complete_basis (deg); - const std::vector >& lobatto_polynomials - = Polynomials::Lobatto::generate_complete_basis (this->degree); - const unsigned int& n_face_points - = face_quadrature.size (); - FullMatrix assembling_matrix (deg, - n_edge_points); - FullMatrix system_matrix (deg, deg); - FullMatrix system_matrix_inv (deg, deg); - std::vector > - lobatto_polynomials_grad (this->degree); - - for (unsigned int i = 0; - i < lobatto_polynomials_grad.size (); ++i) - lobatto_polynomials_grad[i] - = lobatto_polynomials[i + 1].derivative (); - - // Shifted and scaled - // quadrature points and - // weights on the four - // edges of a face. - std::vector > - edge_quadrature_points - (GeometryInfo::lines_per_face, - std::vector (n_edge_points)); - std::vector > - edge_quadrature_weights - (GeometryInfo::lines_per_face, - std::vector (n_edge_points)); - std::vector > > - edge_quadrature_points_full_dim - (GeometryInfo::lines_per_face, - std::vector > (n_edge_points)); + Assert (false, ExcNotImplemented()); + return FiniteElementDomination::neither_element_dominates; +} - for (unsigned int q_point = 0; q_point < n_edge_points; - ++q_point) - { - edge_quadrature_points[0][q_point] - = 2.0 * edge_quadrature_y_points[q_point] (0) - - 1.0; - edge_quadrature_points[1][q_point] - = edge_quadrature_points[0][q_point]; - edge_quadrature_points[2][q_point] - = 2.0 * edge_quadrature_x_points[q_point] (0); - edge_quadrature_points[3][q_point] - = edge_quadrature_points[2][q_point]; - edge_quadrature_points_full_dim[0][q_point] - = Point - (0.0, edge_quadrature_y_points[q_point] (0), - 0.0); - edge_quadrature_points_full_dim[1][q_point] - = Point - (0.5, edge_quadrature_y_points[q_point] (0), - 0.0); - edge_quadrature_points_full_dim[2][q_point] - = Point - (edge_quadrature_x_points[q_point] (0), 0.5, - 0.0); - edge_quadrature_points_full_dim[3][q_point] - = Point - (edge_quadrature_x_points[q_point] (0), 1.0, - 0.0); - edge_quadrature_weights[0][q_point] - = std::sqrt (edge_quadrature_y.weight (q_point)); - edge_quadrature_weights[1][q_point] - = edge_quadrature_weights[0][q_point]; - edge_quadrature_weights[2][q_point] - = std::sqrt (edge_quadrature_x.weight (q_point)); - edge_quadrature_weights[3][q_point] - = edge_quadrature_weights[2][q_point]; - } +template +bool +FE_Nedelec::hp_constraints_are_implemented () const +{ + return true; +} - // Set up the system matrix. - // This can be used for all - // edges. - for (unsigned int q_point = 0; - q_point < n_edge_points; ++q_point) - { - const double weight - = std::sqrt (edge_quadrature_y.weight - (q_point)); - const double tmp - = 2.0 * edge_quadrature_y_points[q_point] (0) - - 1.0; - - for (unsigned int i = 0; i < deg; ++i) - assembling_matrix (i, q_point) - = weight - * lobatto_polynomials_grad[i + 1].value - (tmp); - } +template +std::vector > +FE_Nedelec::hp_vertex_dof_identities (const FiniteElement&) +const +{ + // Nedelec elements do not have any dofs + // on vertices, hence return an empty vector. + return std::vector > (); +} - assembling_matrix.mTmult (system_matrix, - assembling_matrix); - system_matrix_inv.invert (system_matrix); +template +std::vector > +FE_Nedelec::hp_line_dof_identities (const FiniteElement& fe_other) +const +{ + // we can presently only compute these + // identities if both FEs are + // FE_Nedelec or if the other one is an + // FE_Nothing + if (const FE_Nedelec *fe_nedelec_other + = dynamic_cast*> (&fe_other)) + { + // dofs are located on lines, so + // two dofs are identical, if their + // edge shape functions have the + // same polynomial degree. + std::vector > identities; - Vector system_rhs (system_matrix.m ()); - Vector solution (system_rhs.size ()); + for (unsigned int i = 0; + i < std::min (fe_nedelec_other->degree, this->degree); ++i) + identities.push_back (std::make_pair (i, i)); - for (unsigned int dof = 0; dof < this->dofs_per_face; - ++dof) - for (unsigned int line = 0; - line < GeometryInfo::lines_per_cell; - ++line) - { - // Set up the right hand side. - system_rhs = 0; + return identities; + } - for (unsigned int q_point = 0; - q_point < n_edge_points; ++q_point) - { - const double right_hand_side_value - = edge_quadrature_weights[line][q_point] - * (this->shape_value_component - (this->face_to_cell_index (dof, 4), - edge_quadrature_points_full_dim[line][q_point], - 1) - interpolation_matrix - (line * source_fe.degree, dof)); - - for (unsigned int i = 0; i < deg; ++i) - system_rhs (i) - += right_hand_side_value - * lobatto_polynomials_grad[i + 1].value - (edge_quadrature_points[line][q_point]); - } + else + if (dynamic_cast*> (&fe_other) != 0) + { + // the FE_Nothing has no + // degrees of freedom, so there + // are no equivalencies to be + // recorded + return std::vector > (); + } - system_matrix_inv.vmult (solution, system_rhs); + else + { + Assert (false, ExcNotImplemented ()); + return std::vector > (); + } +} - // Add the computed values - // to the interpolation - // matrix only, if they are - // not too small. - for (unsigned int i = 0; i < solution.size (); - ++i) - if (std::abs (solution (i)) > 1e-14) - interpolation_matrix - (line * source_fe.degree + i + 1, dof) - = solution (i); - } +template +std::vector > +FE_Nedelec::hp_quad_dof_identities (const FiniteElement& fe_other) +const +{ + // we can presently only compute + // these identities if both FEs are + // FE_Nedelec or if the other one is an + // FE_Nothing + if (const FE_Nedelec *fe_nedelec_other + = dynamic_cast*> (&fe_other)) + { + // dofs are located on the interior + // of faces, so two dofs are identical, + // if their face shape functions have + // the same polynomial degree. + const unsigned int p = fe_nedelec_other->degree; + const unsigned int q = this->degree; + const unsigned int p_min = std::min (p, q); + std::vector > identities; - assembling_matrix.reinit (deg * this->degree, - n_face_points); + for (unsigned int i = 0; i < p_min; ++i) + for (unsigned int j = 0; j < p_min - 1; ++j) + { + identities.push_back (std::make_pair ((i + 1) * (q + 1) + j, + (i + 1) * (p + 1) + j)); + identities.push_back (std::make_pair (i + (j + q + 2) * q, + i + (j + p + 2) * p)); + } - for (unsigned int q_point = 0; - q_point < n_face_points; ++q_point) - { - const double weight - = std::sqrt (face_quadrature.weight (q_point)); - const Point quadrature_point - (2.0 * face_quadrature_points[q_point] (0), - 2.0 * face_quadrature_points[q_point] (1) - 1.0); - - for (unsigned int i = 0; i <= deg; ++i) - { - const double tmp - = weight * legendre_polynomials[i].value - (quadrature_point (0)); - - for (unsigned int j = 0; j < deg; ++j) - assembling_matrix (i * deg + j, q_point) - = tmp * lobatto_polynomials[j + 2].value - (quadrature_point (1)); - } - } + return identities; + } - system_matrix.reinit (assembling_matrix.m (), - assembling_matrix.m ()); - assembling_matrix.mTmult (system_matrix, - assembling_matrix); - system_matrix_inv.reinit (system_matrix.m (), - system_matrix.m ()); - system_matrix_inv.invert (system_matrix); - solution.reinit (system_matrix_inv.m ()); - system_rhs.reinit (assembling_matrix.m ()); - system_rhs = 0; + else + if (dynamic_cast*> (&fe_other) != 0) + { + // the FE_Nothing has no + // degrees of freedom, so there + // are no equivalencies to be + // recorded + return std::vector > (); + } - // Now we project the remaining - // part on the face shape - // functions. First on the - // horizontal ones, then on - // the vertical ones. - for (unsigned int dof = 0; dof < this->dofs_per_face; - ++dof) - { - for (unsigned int q_point = 0; - q_point < n_face_points; ++q_point) - { - const Point quadrature_point - (2.0 * face_quadrature_points[q_point] (0), - 2.0 * face_quadrature_points[q_point] (1) - - 1.0, 0.0); - double right_hand_side_value - = this->shape_value_component - (this->face_to_cell_index (dof, 4), - Point - (face_quadrature_points[q_point] (0), - face_quadrature_points[q_point] (1), 0.0), - 1); + else + { + Assert (false, ExcNotImplemented ()); + return std::vector > (); + } +} - for (unsigned int i = 0; i < 2; ++i) - for (unsigned int j = 0; j < source_fe.degree; - ++j) - right_hand_side_value - -= interpolation_matrix - (i * source_fe.degree + j, dof) - * source_fe.shape_value_component - (i * source_fe.degree + j, - quadrature_point, 1); + // In this function we compute the face + // interpolation matrix. This is usually + // done by projection-based interpolation, + // but, since one can compute the entries + // easy per hand, we save some computation + // time at this point and just fill in the + // correct values. +template +void +FE_Nedelec::get_face_interpolation_matrix + (const FiniteElement& source, FullMatrix& interpolation_matrix) +const +{ + // this is only implemented, if the + // source FE is also a + // Nedelec element + typedef FE_Nedelec FEN; + typedef FiniteElement FEL; - right_hand_side_value - *= face_quadrature.weight (q_point); + AssertThrow ((source.get_name ().find ("FE_Nedelec<") == 0) || + (dynamic_cast (&source) != 0), + typename FEL::ExcInterpolationNotImplemented()); + Assert (interpolation_matrix.m () == source.dofs_per_face, + ExcDimensionMismatch (interpolation_matrix.m (), + source.dofs_per_face)); + Assert (interpolation_matrix.n () == this->dofs_per_face, + ExcDimensionMismatch (interpolation_matrix.n (), + this->dofs_per_face)); - for (unsigned int i = 0; i <= deg; ++i) - { - const double tmp - = right_hand_side_value - * legendre_polynomials[i].value - (quadrature_point (0)); + // ok, source is a Nedelec element, so + // we will be able to do the work + const FE_Nedelec &source_fe + = dynamic_cast&> (source); - for (unsigned int j = 0; j < deg; ++j) - system_rhs (i * deg + j) - += tmp - * lobatto_polynomials[j + 2].value - (quadrature_point (1)); - } - } + // Make sure, that the element, + // for which the DoFs should be + // constrained is the one with + // the higher polynomial degree. + // Actually the procedure will work + // also if this assertion is not + // satisfied. But the matrices + // produced in that case might + // lead to problems in the + // hp procedures, which use this + // method. + Assert (this->dofs_per_face <= source_fe.dofs_per_face, + typename FEL::ExcInterpolationNotImplemented ()); + interpolation_matrix = 0; - system_matrix_inv.vmult (solution, system_rhs); + // On lines we can just identify + // all degrees of freedom. + for (unsigned int i = 0; i <= deg; ++i) + interpolation_matrix (i, i) = 1.0; - // Add the computed values - // to the interpolation - // matrix only, if they are - // not too small. - for (unsigned int i = 0; i <= deg; ++i) - for (unsigned int j = 0; j < deg; ++j) - if (std::abs (solution (i * deg + j)) > 1e-14) - interpolation_matrix - ((i + 4) * source_fe.degree + j - i, dof) - = solution (i * deg + j); + // In 3d we have some lines more + // and a face. The procedure stays + // the same as above, but we have + // to take a bit more care of the + // indices of the degrees of + // freedom. + if (dim == 3) + for (unsigned int i = 0; i <= deg; ++i) + { + for (int j = 1; j < (int) GeometryInfo::lines_per_face; ++j) + interpolation_matrix (j * source_fe.degree + i, + j * this->degree + i) = 1.0; - // Set up the right hand side - // for the vertical shape - // functions. - system_rhs = 0; + for (unsigned int j = 0; j < deg; ++j) + { + interpolation_matrix + (i + (j + GeometryInfo<2>::lines_per_cell) * source_fe.degree, + i + (j + GeometryInfo<2>::lines_per_cell) * this->degree) + = 1.0; + interpolation_matrix + ((i * (source_fe.degree - 1) + + GeometryInfo<2>::lines_per_cell) * source_fe.degree + j, + (i * deg + GeometryInfo<2>::lines_per_cell) * this->degree) + = 1.0; + } + } +} - for (unsigned int q_point = 0; - q_point < n_face_points; ++q_point) - { - const Point quadrature_point - (2.0 * face_quadrature_points[q_point] (0), - 2.0 * face_quadrature_points[q_point] (1) - - 1.0, 0.0); - double right_hand_side_value - = this->shape_value_component - (this->face_to_cell_index (dof, 4), - Point - (face_quadrature_points[q_point] (0), - face_quadrature_points[q_point] (1), 0.0), - 0); +#if deal_II_dimension == 1 - for (unsigned int i = 0; i < 2; ++i) - for (unsigned int j = 0; j < source_fe.degree; - ++j) - right_hand_side_value - -= interpolation_matrix - ((i + 2) * source_fe.degree + j, dof) - * source_fe.shape_value_component - (i * source_fe.degree + j, - quadrature_point, 0); +template +void +FE_Nedelec::get_subface_interpolation_matrix( + const FiniteElement&, + const unsigned int, + FullMatrix&) const +{ + Assert (false, ExcNotImplemented ()); +} - right_hand_side_value *= face_quadrature.weight - (q_point); +#else - for (unsigned int i = 0; i <= deg; ++i) - { - const double tmp - = right_hand_side_value - * legendre_polynomials[i].value - (quadrature_point (0)); + // In this function we compute the + // subface interpolation matrix. + // This is done by a projection- + // based interpolation. Therefore + // we first interpolate the + // shape functions of the higher + // order element on the lowest + // order edge shape functions. + // Then the remaining part of + // the interpolated shape + // functions is projected on the + // higher order edge shape + // functions, the face shape + // functions and the interior + // shape functions (if they all + // exist). +template +void +FE_Nedelec::get_subface_interpolation_matrix( + const FiniteElement& source, + const unsigned int subface, + FullMatrix& interpolation_matrix) const +{ + // this is only implemented, if the + // source FE is also a + // Nedelec element + typedef FE_Nedelec FEN; + typedef FiniteElement FEL; - for (unsigned int j = 0; j < deg; ++j) - system_rhs (i * deg + j) - += tmp - * lobatto_polynomials[j + 2].value - (quadrature_point (1)); - } - } + AssertThrow ((source.get_name ().find ("FE_Nedelec<") == 0) || + (dynamic_cast (&source) != 0), + typename FEL::ExcInterpolationNotImplemented ()); + Assert (interpolation_matrix.m () == source.dofs_per_face, + ExcDimensionMismatch (interpolation_matrix.m (), + source.dofs_per_face)); + Assert (interpolation_matrix.n () == this->dofs_per_face, + ExcDimensionMismatch (interpolation_matrix.n (), + this->dofs_per_face)); - system_matrix_inv.vmult (solution, system_rhs); + // ok, source is a Nedelec element, so + // we will be able to do the work + const FE_Nedelec &source_fe + = dynamic_cast&> (source); - // Add the computed values - // to the interpolation - // matrix only, if they are - // not too small. - for (unsigned int i = 0; i <= deg; ++i) - for (unsigned int j = 0; j < deg; ++j) - if (std::abs (solution (i * deg + j)) > 1e-14) - interpolation_matrix - (i + (j + source_fe.degree + 3) - * source_fe.degree, dof) - = solution (i * deg + j); - } + // Make sure, that the element, + // for which the DoFs should be + // constrained is the one with + // the higher polynomial degree. + // Actually the procedure will work + // also if this assertion is not + // satisfied. But the matrices + // produced in that case might + // lead to problems in the + // hp procedures, which use this + // method. + Assert (this->dofs_per_face <= source_fe.dofs_per_face, + typename FEL::ExcInterpolationNotImplemented ()); + interpolation_matrix = 0.0; + // Perform projection-based interpolation + // as usual. + const QGauss<1> edge_quadrature (source_fe.degree); + const std::vector >& + edge_quadrature_points = edge_quadrature.get_points (); + const unsigned int& n_edge_quadrature_points = edge_quadrature.size (); + + switch (dim) + { + case 2: + { + for (unsigned int dof = 0; dof < this->dofs_per_face; ++dof) + for (unsigned int q_point = 0; q_point < n_edge_quadrature_points; + ++q_point) + { + const Point quadrature_point (0.0, + 0.5 * (edge_quadrature_points[q_point] (0) + + subface)); + + interpolation_matrix (0, dof) += 0.5 + * edge_quadrature.weight (q_point) + * this->shape_value_component + (dof, quadrature_point, 1); + } + + if (deg > 0) + { + const std::vector >& + legendre_polynomials + = Polynomials::Legendre::generate_complete_basis (deg); + FullMatrix system_matrix_inv (deg, deg); + + { + FullMatrix assembling_matrix (deg, + n_edge_quadrature_points); + + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; ++q_point) + { + const double weight + = std::sqrt (edge_quadrature.weight (q_point)); + + for (unsigned int i = 0; i < deg; ++i) + assembling_matrix (i, q_point) = weight + * legendre_polynomials[i + 1].value + (edge_quadrature_points[q_point] (0)); + } + + FullMatrix system_matrix (deg, deg); + + assembling_matrix.mTmult (system_matrix, assembling_matrix); + system_matrix_inv.invert (system_matrix); + } + + Vector solution (deg); + Vector system_rhs (deg); + + for (unsigned int dof = 0; dof < this->dofs_per_face; ++dof) + { + system_rhs = 0.0; + + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; ++q_point) + { + const Point quadrature_point_0 (0.0, + 0.5 * (edge_quadrature_points[q_point] (0) + + subface)); + const Point quadrature_point_1 (0.0, + edge_quadrature_points[q_point] (0)); + const double tmp = edge_quadrature.weight (q_point) + * (0.5 * this->shape_value_component + (dof, quadrature_point_0, 1) + - interpolation_matrix (0, + dof) + * source_fe.shape_value_component + (0, quadrature_point_1, 1)); + + for (unsigned int i = 0; i < deg; ++i) + system_rhs (i) += tmp + * legendre_polynomials[i + 1].value + (edge_quadrature_points[q_point] (0)); } - - break; + + system_matrix_inv.vmult (solution, system_rhs); + + for (unsigned int i = 0; i < deg; ++i) + if (std::abs (solution (i)) > 1e-14) + interpolation_matrix (i + 1, dof) = solution (i); } + } + + break; + } - case 3: + case 3: + { + const double shifts[4][2] = { { 0.0, 0.0 }, { 1.0, 0.0 }, + { 0.0, 1.0 }, { 1.0, 1.0 } }; + + for (unsigned int dof = 0; dof < this->dofs_per_face; ++dof) + for (unsigned int q_point = 0; q_point < n_edge_quadrature_points; + ++q_point) + { + const double weight = 0.5 * edge_quadrature.weight (q_point); + + for (unsigned int i = 0; i < 2; ++i) + { + Point + quadrature_point (0.5 * (i + shifts[subface][0]), + 0.5 * (edge_quadrature_points[q_point] (0) + + shifts[subface][1]), 0.0); + + interpolation_matrix (i * source_fe.degree, dof) += weight + * this->shape_value_component + (this->face_to_cell_index (dof, 4), + quadrature_point, + 1); + quadrature_point + = Point (0.5 * (edge_quadrature_points[q_point] (0) + + shifts[subface][0]), + 0.5 * (i + shifts[subface][1]), 0.0); + interpolation_matrix ((i + 2) * source_fe.degree, dof) + += weight * this->shape_value_component + (this->face_to_cell_index (dof, 4), + quadrature_point, 0); + } + } + + if (deg > 0) + { + const std::vector >& + legendre_polynomials + = Polynomials::Legendre::generate_complete_basis (deg); + FullMatrix system_matrix_inv (deg, deg); + + { + FullMatrix assembling_matrix (deg, + n_edge_quadrature_points); + + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; ++q_point) + { + const double weight + = std::sqrt (edge_quadrature.weight (q_point)); + + for (unsigned int i = 0; i < deg; ++i) + assembling_matrix (i, q_point) = weight + * legendre_polynomials[i + 1].value + (edge_quadrature_points[q_point] (0)); + } + + FullMatrix system_matrix (deg, deg); + + assembling_matrix.mTmult (system_matrix, assembling_matrix); + system_matrix_inv.invert (system_matrix); + } + + FullMatrix solution (deg, + GeometryInfo::lines_per_face); + FullMatrix system_rhs (deg, + GeometryInfo::lines_per_face); + Vector tmp (GeometryInfo::lines_per_face); + + for (unsigned int dof = 0; dof < this->dofs_per_face; ++dof) { - const Quadrature<1>& edge_quadrature - = QProjector<1>::project_to_child - (reference_edge_quadrature, 1); - const unsigned int& n_edge_points = edge_quadrature.size (); - const std::vector >& - edge_quadrature_points = edge_quadrature.get_points (); - - // Let us begin with the - // interpolation part. - for (unsigned int q_point = 0; q_point < n_edge_points; - ++q_point) + system_rhs = 0.0; + + for (unsigned int q_point = 0; + q_point < n_edge_quadrature_points; ++q_point) { const double weight = edge_quadrature.weight (q_point); - + for (unsigned int i = 0; i < 2; ++i) - for (unsigned int dof = 0; dof < this->dofs_per_face; - ++dof) - { - interpolation_matrix (i * source_fe.degree, dof) - += weight - * this->shape_value_component - (this->face_to_cell_index (dof, 4), - Point - (0.5 * (i + 1), - edge_quadrature_points[q_point] (0), 0.0), - 1); - interpolation_matrix ((i + 2) * source_fe.degree, - dof) - += weight - * this->shape_value_component - (this->face_to_cell_index (dof, 4), - Point - (edge_quadrature_points[q_point] (0), - 0.5 * (i + 1), 0.0), 0); - } - } - - // Add the computed values - // to the interpolation - // matrix only, if they are - // not too small. - for (unsigned int i = 0; i < 2; ++i) - for (unsigned int dof = 0; dof < this->dofs_per_face; - ++dof) - { - if (std::abs (interpolation_matrix - (i * source_fe.degree, dof)) < 1e-14) - interpolation_matrix (i * source_fe.degree, dof) - = 0.0; - - if (std::abs (interpolation_matrix - ((i + 2) * source_fe.degree, dof)) - < 1e-14) - interpolation_matrix ((i + 2) * source_fe.degree, - dof) = 0.0; - } - - // If the degree is greater - // than 0, then we have still - // some higher order edge - // shape functions to - // consider. - // Here the projection part - // starts. The dof values - // are obtained by solving - // a linear system of - // equations. - if (deg > 1) - { - // We start with projection - // on the higher order edge - // shape function. - const QGauss - reference_face_quadrature (this->degree); - const Quadrature& face_quadrature - = QProjector::project_to_child - (reference_face_quadrature, 3); - const std::vector >& - face_quadrature_points = face_quadrature.get_points (); - const std::vector >& - legendre_polynomials - = Polynomials::Legendre::generate_complete_basis - (deg); - const std::vector >& - lobatto_polynomials - = Polynomials::Lobatto::generate_complete_basis - (this->degree); - const unsigned int& n_face_points - = face_quadrature.size (); - FullMatrix assembling_matrix (deg, - n_edge_points); - FullMatrix system_matrix (deg, deg); - FullMatrix system_matrix_inv (deg, deg); - std::vector > - lobatto_polynomials_grad (this->degree); - - for (unsigned int i = 0; - i < lobatto_polynomials_grad.size (); ++i) - lobatto_polynomials_grad[i] - = lobatto_polynomials[i + 1].derivative (); - - // Shifted and scaled - // quadrature points on - // the four edges of a - // face. - std::vector > > - edge_quadrature_points_full_dim - (GeometryInfo::lines_per_face, - std::vector > (n_edge_points)); - - for (unsigned int q_point = 0; q_point < n_edge_points; - ++q_point) { - edge_quadrature_points_full_dim[0][q_point] - = Point - (0.5, edge_quadrature_points[q_point] (0), 0.0); - edge_quadrature_points_full_dim[1][q_point] - = Point - (1.0, edge_quadrature_points[q_point] (0), 0.0); - edge_quadrature_points_full_dim[2][q_point] - = Point (edge_quadrature_points[q_point] (0), - 0.5, 0.0); - edge_quadrature_points_full_dim[3][q_point] + Point + quadrature_point_0 + (0.5 * (i + shifts[subface][0]), + 0.5 * (edge_quadrature_points[q_point] (0) + + shifts[subface][1]), 0.0); + Point quadrature_point_1 (i, + edge_quadrature_points[q_point] (0), + 0.0); + + tmp (i) = weight + * (0.5 * this->shape_value_component + (this->face_to_cell_index (dof, 4), + quadrature_point_0, 1) + - interpolation_matrix + (i * source_fe.degree, dof) + * source_fe.shape_value_component + (i * source_fe.degree, + quadrature_point_1, 1)); + quadrature_point_0 + = Point (0.5 * (edge_quadrature_points[q_point] (0) + + shifts[subface][0]), + 0.5 * (i + shifts[subface][1]), + 0.0); + quadrature_point_1 = Point (edge_quadrature_points[q_point] (0), - 1.0, 0.0); + i, 0.0); + tmp (i + 2) = weight + * (0.5 * this->shape_value_component + (this->face_to_cell_index (dof, 4), + quadrature_point_0, 0) + - interpolation_matrix + ((i + 2) * source_fe.degree, + dof) + * source_fe.shape_value_component + ((i + 2) * source_fe.degree, + quadrature_point_1, 0)); } - - // Set up the system matrix. - // This can be used for all - // edges. - for (unsigned int q_point = 0; - q_point < n_edge_points; ++q_point) - { - const double tmp - = 2.0 * edge_quadrature_points[q_point] (0) - - 1.0; - const double weight - = std::sqrt (edge_quadrature.weight (q_point)); - - for (unsigned int i = 0; i < deg; ++i) - assembling_matrix (i, q_point) - = weight - * lobatto_polynomials_grad[i + 1].value - (tmp); - } - - assembling_matrix.mTmult (system_matrix, - assembling_matrix); - system_matrix_inv.invert (system_matrix); - - Vector system_rhs (system_matrix.m ()); - Vector solution (system_rhs.size ()); - - for (unsigned int dof = 0; dof < this->dofs_per_face; - ++dof) - for (unsigned int line = 0; - line < GeometryInfo::lines_per_cell; - ++line) - { - // Set up the right hand side. - system_rhs = 0; - - for (unsigned int q_point = 0; - q_point < n_edge_points; ++q_point) - { - const double right_hand_side_value - = std::sqrt (edge_quadrature.weight - (q_point)) - * (this->shape_value_component - (this->face_to_cell_index (dof, 4), - edge_quadrature_points_full_dim[line][q_point], - 1) - interpolation_matrix - (line * source_fe.degree, dof)); - const double tmp - = 2.0 * edge_quadrature_points[q_point] (0) - - 1.0; - - for (unsigned int i = 0; i < deg; ++i) - system_rhs (i) - += right_hand_side_value - * lobatto_polynomials_grad[i + 1].value - (tmp); - } - - system_matrix_inv.vmult (solution, system_rhs); - - // Add the computed values - // to the interpolation - // matrix only, if they are - // not too small. - for (unsigned int i = 0; i < solution.size (); - ++i) - if (std::abs (solution (i)) > 1e-14) - interpolation_matrix - (line * source_fe.degree + i + 1, dof) - = solution (i); - } - - assembling_matrix.reinit (deg * this->degree, - n_face_points); - - for (unsigned int q_point = 0; - q_point < n_face_points; ++q_point) + + for (unsigned int i = 0; i < deg; ++i) { - const double weight - = std::sqrt (face_quadrature.weight - (q_point)); - const Point quadrature_point - (2.0 * face_quadrature_points[q_point] (0) - 1.0, - 2.0 * face_quadrature_points[q_point] (1) - 1.0); - - for (unsigned int i = 0; i <= deg; ++i) - { - const double tmp - = weight * legendre_polynomials[i].value - (quadrature_point (0)); - - for (unsigned int j = 0; j < deg; ++j) - assembling_matrix (i * deg + j, q_point) - = tmp * lobatto_polynomials[j + 2].value - (quadrature_point (1)); - } + const double L_i + = legendre_polynomials[i + 1].value + (edge_quadrature_points[q_point] (0)); + + for (unsigned int j = 0; + j < GeometryInfo::lines_per_face; ++j) + system_rhs (i, j) += tmp (j) * L_i; } - - system_matrix.reinit (assembling_matrix.m (), - assembling_matrix.m ()); - assembling_matrix.mTmult (system_matrix, - assembling_matrix); - system_matrix_inv.reinit (system_matrix.m (), - system_matrix.m ()); - system_matrix_inv.invert (system_matrix); - solution.reinit (system_matrix.m ()); - system_rhs.reinit (assembling_matrix.m ()); - system_rhs = 0; - - for (unsigned int dof = 0; dof < this->dofs_per_face; - ++dof) - { - // Now we project the remaining - // part on the face shape - // functions. First on the - // horizontal ones, then on - // the vertical ones. - for (unsigned int q_point = 0; - q_point < n_face_points; ++q_point) - { - const Point quadrature_point - (2.0 * face_quadrature_points[q_point] (0) - - 1.0, - 2.0 * face_quadrature_points[q_point] (1) - - 1.0, 0.0); - double right_hand_side_value - = this->shape_value_component - (this->face_to_cell_index (dof, 4), - Point - (face_quadrature_points[q_point] (0), - face_quadrature_points[q_point] (1), 0.0), - 1); - - for (unsigned int i = 0; i < 2; ++i) - for (unsigned int j = 0; j < source_fe.degree; - ++j) - right_hand_side_value - -= interpolation_matrix + } + + system_matrix_inv.mmult (solution, system_rhs); + + for (unsigned int i = 0; + i < GeometryInfo::lines_per_face; ++i) + for (unsigned int j = 0; j < deg; ++j) + if (std::abs (solution (j, i)) > 1e-14) + interpolation_matrix (i * source_fe.degree + j + 1, + dof) = solution (j, i); + } + + const QGauss<2> quadrature (source_fe.degree); + const std::vector >& + quadrature_points = quadrature.get_points (); + const std::vector >& + lobatto_polynomials + = Polynomials::Lobatto::generate_complete_basis + (this->degree); + const unsigned int n_boundary_dofs + = GeometryInfo::lines_per_face * source_fe.degree; + const unsigned int& n_quadrature_points = quadrature.size (); + + { + FullMatrix assembling_matrix (deg * this->degree, + n_quadrature_points); + + for (unsigned int q_point = 0; q_point < n_quadrature_points; + ++q_point) + { + const double weight = quadrature.weight (q_point); + + for (unsigned int i = 0; i <= deg; ++i) + { + const unsigned L_i = weight + * legendre_polynomials[i].value + (quadrature_points[q_point] (0)); + + for (unsigned int j = 0; j < deg; ++j) + assembling_matrix (i * deg + j, q_point) + = L_i * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (1)); + } + } + + FullMatrix system_matrix (assembling_matrix.m (), + assembling_matrix.m ()); + + assembling_matrix.mTmult (system_matrix, assembling_matrix); + system_matrix_inv.reinit (system_matrix.m (), + system_matrix.m ()); + system_matrix_inv.invert (system_matrix); + } + + solution.reinit (system_matrix_inv.m (), 2); + system_rhs.reinit (system_matrix_inv.m (), 2); + tmp.reinit (2); + + for (unsigned int dof = 0; dof < this->dofs_per_face; ++dof) + { + system_rhs = 0.0; + + for (unsigned int q_point = 0; + q_point < n_quadrature_points; ++q_point) + { + Point + quadrature_point + (0.5 * (quadrature_points[q_point] (0) + + shifts[subface][0]), + 0.5 * (quadrature_points[q_point] (1) + + shifts[subface][1]), 0.0); + tmp (0) = 0.5 * this->shape_value_component + (this->face_to_cell_index (dof, 4), + quadrature_point, 0); + tmp (1) = 0.5 * this->shape_value_component + (this->face_to_cell_index (dof, 4), + quadrature_point, 1); + quadrature_point + = Point (quadrature_points[q_point] (0), + quadrature_points[q_point] (1), 0.0); + + for (unsigned int i = 0; i < 2; ++i) + for (unsigned int j = 0; j <= deg; ++j) + { + tmp (0) -= interpolation_matrix + ((i + 2) * source_fe.degree + j, dof) + * source_fe.shape_value_component + ((i + 2) * source_fe.degree + j, + quadrature_point, 0); + tmp (1) -= interpolation_matrix (i * source_fe.degree + j, dof) - * source_fe.shape_value_component - (i * source_fe.degree + j, - quadrature_point, 1); - - right_hand_side_value - *= face_quadrature.weight (q_point); - - for (unsigned int i = 0; i <= deg; ++i) - { - const double tmp - = right_hand_side_value - * legendre_polynomials[i].value - (quadrature_point (0)); - - for (unsigned int j = 0; j < deg; ++j) - system_rhs (i * deg + j) - += tmp - * lobatto_polynomials[j + 2].value - (quadrature_point (1)); - } - } - - system_matrix_inv.vmult (solution, system_rhs); - - // Add the computed values - // to the interpolation - // matrix only, if they are - // not too small. - for (unsigned int i = 0; i <= deg; ++i) - for (unsigned int j = 0; j < deg; ++j) - if (std::abs (solution (i * deg + j)) > 1e-14) - interpolation_matrix - ((i + 4) * source_fe.degree + j - i, dof) - = solution (i * deg + j); - - // Set up the right hand side - // for the vertical shape - // functions. - system_rhs = 0; - - for (unsigned int q_point = 0; - q_point < n_face_points; ++q_point) + * source_fe.shape_value_component + (i * source_fe.degree + j, + quadrature_point, 1); + } + + tmp *= quadrature.weight (q_point); + + for (unsigned int i = 0; i <= deg; ++i) + { + const double L_i_0 = legendre_polynomials[i].value + (quadrature_points[q_point] (0)); + const double L_i_1 = legendre_polynomials[i].value + (quadrature_points[q_point] (1)); + + for (unsigned int j = 0; j < deg; ++j) { - const Point quadrature_point - (2.0 * face_quadrature_points[q_point] (0) - - 1.0, - 2.0 * face_quadrature_points[q_point] (1) - - 1.0, 0.0); - double right_hand_side_value - = this->shape_value_component - (this->face_to_cell_index (dof, 4), - Point - (face_quadrature_points[q_point] (0), - face_quadrature_points[q_point] (1), 0.0), - 0); - - for (unsigned int i = 0; i < 2; ++i) - for (unsigned int j = 0; j < source_fe.degree; - ++j) - right_hand_side_value - -= interpolation_matrix - ((i + 2) * source_fe.degree + j, dof) - * source_fe.shape_value_component - (i * source_fe.degree + j, - quadrature_point, 0); - - right_hand_side_value - *= face_quadrature.weight (q_point); - - for (unsigned int i = 0; i <= deg; ++i) - { - const double L_i - = legendre_polynomials[i].value - (quadrature_point (0)); - const double tmp - = right_hand_side_value * L_i; - - for (unsigned int j = 0; j < deg; ++j) - system_rhs (i * deg + j) - += tmp - * lobatto_polynomials[j + 2].value - (quadrature_point (1)); - } + system_rhs (i * deg + j, 0) += tmp (0) * L_i_0 + * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (1)); + system_rhs (i * deg + j, 1) += tmp (1) * L_i_1 + * lobatto_polynomials[j + 2].value + (quadrature_points[q_point] (0)); } - - system_matrix_inv.vmult (solution, system_rhs); - - // Add the computed values - // to the interpolation - // matrix only, if they are - // not too small. - for (unsigned int i = 0; i <= deg; ++i) - for (unsigned int j = 0; j < deg; ++j) - if (std::abs (solution (i * deg + j)) > 1e-14) - interpolation_matrix - (i + (j + source_fe.degree + 3) - * source_fe.degree, dof) - = solution (i * deg + j); } } - - break; + + system_matrix_inv.mmult (solution, system_rhs); + + for (unsigned int i = 0; i <= deg; ++i) + for (unsigned int j = 0; j < deg; ++j) + { + if (std::abs (solution (i * deg + j, 0)) > 1e-14) + interpolation_matrix (i * deg + j + n_boundary_dofs, + dof) = solution (i * deg + j, + 0); + + if (std::abs (solution (i * deg + j, 1)) > 1e-14) + interpolation_matrix (i + (j + deg) + * source_fe.degree + + n_boundary_dofs, dof) + = solution (i * deg + j, 1); + } } - - default: - Assert (false, ExcNotImplemented ()); } - + break; } diff --git a/tests/deal.II/project_nedelec_02.cc b/tests/deal.II/project_nedelec_02.cc index c141afabee..86c6785b49 100644 --- a/tests/deal.II/project_nedelec_02.cc +++ b/tests/deal.II/project_nedelec_02.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 2006, 2010 by the deal.II authors +// Copyright (C) 2006 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -25,6 +25,6 @@ void test () { if (dim > 1) // only p=1 implemented at present - for (unsigned int p=1; p<2; ++p) - test_with_hanging_nodes (FE_Nedelec(p-1), p, 1); + for (unsigned int p=0; p<2; ++p) + test_with_hanging_nodes (FE_Nedelec(p), p, 1); } diff --git a/tests/deal.II/project_nedelec_02/cmp/generic b/tests/deal.II/project_nedelec_02/cmp/generic index deb692bc5c..d4fd5848ac 100644 --- a/tests/deal.II/project_nedelec_02/cmp/generic +++ b/tests/deal.II/project_nedelec_02/cmp/generic @@ -2,8 +2,16 @@ DEAL::n_dofs=72 DEAL::FE_Nedelec<2>(0), P_0, rel. error=0 DEAL::FE_Nedelec<2>(0), P_1, rel. error=0.0217 -DEAL::FE_Nedelec<2>(0), P_2, rel. error=0.0391 +DEAL::Projection failed with relative error 0.0217 +DEAL::n_dofs=256 +DEAL::FE_Nedelec<2>(1), P_0, rel. error=0 +DEAL::FE_Nedelec<2>(1), P_1, rel. error=0 +DEAL::FE_Nedelec<2>(1), P_2, rel. error=0.00131 DEAL::n_dofs=576 DEAL::FE_Nedelec<3>(0), P_0, rel. error=0 DEAL::FE_Nedelec<3>(0), P_1, rel. error=0.00599 -DEAL::FE_Nedelec<3>(0), P_2, rel. error=0.0106 +DEAL::Projection failed with relative error 0.00599 +DEAL::n_dofs=3696 +DEAL::FE_Nedelec<3>(1), P_0, rel. error=0 +DEAL::FE_Nedelec<3>(1), P_1, rel. error=0 +DEAL::FE_Nedelec<3>(1), P_2, rel. error=0.000374 diff --git a/tests/fe/internals/cmp/generic b/tests/fe/internals/cmp/generic index d47ad1f5d0..ada98aa005 100644 --- a/tests/fe/internals/cmp/generic +++ b/tests/fe/internals/cmp/generic @@ -3965,6 +3965,238 @@ DEAL::0.250 0.250 ~ ~ DEAL::~ 0.500 ~ ~ DEAL::~ ~ 0.250 0.250 DEAL::~ ~ ~ 0.500 +DEAL::Nedelec0<3> cell support points +DEAL::Nedelec0<3> face 0 support points +DEAL::Nedelec0<3> face 1 support points +DEAL::Nedelec0<3> face 2 support points +DEAL::Nedelec0<3> face 3 support points +DEAL::Nedelec0<3> face 4 support points +DEAL::Nedelec0<3> face 5 support points +DEAL::Nedelec0<3> constraint +DEAL::0.5000000 ~ ~ ~ +DEAL::0.2500000 0.2500000 ~ ~ +DEAL::~ ~ 0.5000000 ~ +DEAL::~ ~ 0.2500000 0.2500000 +DEAL::0.2500000 0.2500000 ~ ~ +DEAL::~ 0.5000000 ~ ~ +DEAL::~ ~ 0.5000000 ~ +DEAL::~ ~ 0.2500000 0.2500000 +DEAL::0.5000000 ~ ~ ~ +DEAL::0.2500000 0.2500000 ~ ~ +DEAL::~ ~ 0.2500000 0.2500000 +DEAL::~ ~ ~ 0.5000000 +DEAL::0.2500000 0.2500000 ~ ~ +DEAL::~ 0.5000000 ~ ~ +DEAL::~ ~ 0.2500000 0.2500000 +DEAL::~ ~ ~ 0.5000000 +DEAL::Nedelec0<3> restriction 0 +DEAL::1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::Nedelec0<3> embedding 0 +DEAL::0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.250 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 0.250 0.250 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.250 ~ ~ ~ 0.250 ~ ~ ~ ~ ~ ~ ~ +DEAL::0.125 0.125 ~ ~ 0.125 0.125 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 0.250 ~ ~ ~ 0.250 ~ ~ ~ ~ ~ +DEAL::~ ~ 0.125 0.125 ~ ~ 0.125 0.125 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.250 0.250 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ 0.250 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.125 0.125 0.125 +DEAL::Nedelec0<3> restriction 1 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::Nedelec0<3> embedding 1 +DEAL::0.250 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 0.250 0.250 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.125 0.125 ~ ~ 0.125 0.125 ~ ~ ~ ~ ~ ~ +DEAL::~ 0.250 ~ ~ ~ 0.250 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 0.250 ~ ~ ~ 0.250 ~ ~ ~ ~ ~ +DEAL::~ ~ 0.125 0.125 ~ ~ 0.125 0.125 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.250 0.250 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.125 0.125 0.125 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ 0.250 +DEAL::Nedelec0<3> restriction 2 +DEAL::1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::Nedelec0<3> embedding 2 +DEAL::0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.250 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 0.250 0.250 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.250 ~ ~ ~ 0.250 ~ ~ ~ ~ ~ ~ ~ +DEAL::0.125 0.125 ~ ~ 0.125 0.125 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 0.125 0.125 ~ ~ 0.125 0.125 ~ ~ ~ ~ +DEAL::~ ~ ~ 0.250 ~ ~ ~ 0.250 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ 0.250 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.125 0.125 0.125 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0.250 +DEAL::Nedelec0<3> restriction 3 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 +DEAL::Nedelec0<3> embedding 3 +DEAL::0.250 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 0.250 0.250 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.125 0.125 ~ ~ 0.125 0.125 ~ ~ ~ ~ ~ ~ +DEAL::~ 0.250 ~ ~ ~ 0.250 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 0.125 0.125 ~ ~ 0.125 0.125 ~ ~ ~ ~ +DEAL::~ ~ ~ 0.250 ~ ~ ~ 0.250 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.125 0.125 0.125 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ 0.250 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0.250 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 +DEAL::Nedelec0<3> restriction 4 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::Nedelec0<3> embedding 4 +DEAL::0.250 ~ ~ ~ 0.250 ~ ~ ~ ~ ~ ~ ~ +DEAL::0.125 0.125 ~ ~ 0.125 0.125 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 0.250 ~ ~ ~ 0.250 ~ ~ ~ ~ ~ +DEAL::~ ~ 0.125 0.125 ~ ~ 0.125 0.125 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.250 0.250 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ 0.250 0.250 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.250 0.250 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ 0.250 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.125 0.125 0.125 +DEAL::Nedelec0<3> restriction 5 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::Nedelec0<3> embedding 5 +DEAL::0.125 0.125 ~ ~ 0.125 0.125 ~ ~ ~ ~ ~ ~ +DEAL::~ 0.250 ~ ~ ~ 0.250 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 0.250 ~ ~ ~ 0.250 ~ ~ ~ ~ ~ +DEAL::~ ~ 0.125 0.125 ~ ~ 0.125 0.125 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.250 0.250 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ 0.250 0.250 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.250 0.250 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.125 0.125 0.125 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ 0.250 +DEAL::Nedelec0<3> restriction 6 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::Nedelec0<3> embedding 6 +DEAL::0.250 ~ ~ ~ 0.250 ~ ~ ~ ~ ~ ~ ~ +DEAL::0.125 0.125 ~ ~ 0.125 0.125 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 0.125 0.125 ~ ~ 0.125 0.125 ~ ~ ~ ~ +DEAL::~ ~ ~ 0.250 ~ ~ ~ 0.250 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.250 0.250 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ 0.250 0.250 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ 0.250 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.125 0.125 0.125 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0.250 +DEAL::Nedelec0<3> restriction 7 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 +DEAL::Nedelec0<3> embedding 7 +DEAL::0.125 0.125 ~ ~ 0.125 0.125 ~ ~ ~ ~ ~ ~ +DEAL::~ 0.250 ~ ~ ~ 0.250 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 0.125 0.125 ~ ~ 0.125 0.125 ~ ~ ~ ~ +DEAL::~ ~ ~ 0.250 ~ ~ ~ 0.250 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.250 0.250 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ 0.250 0.250 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.125 0.125 0.125 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ 0.250 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0.250 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 DEAL::Nedelec1<2> cell support points DEAL::Nedelec1<2> face 0 support points DEAL::Nedelec1<2> face 1 support points @@ -3976,18 +4208,18 @@ DEAL::~ 0.2500000 DEAL::0.5000000 0.4330127 DEAL::~ 0.2500000 DEAL::Nedelec1<2> restriction 0 -DEAL::1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::-0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 +DEAL::~ ~ ~ ~ 0.851 -0.0627 -0.851 0.0627 0.526 -0.0387 ~ ~ +DEAL::~ ~ ~ ~ -0.769 0.371 0.769 -0.371 -0.475 0.229 ~ ~ +DEAL::0.851 -0.0627 -0.851 0.0627 ~ ~ ~ ~ ~ ~ 0.526 -0.0387 +DEAL::-0.769 0.371 0.769 -0.371 ~ ~ ~ ~ ~ ~ -0.475 0.229 DEAL::Nedelec1<2> embedding 0 DEAL::0.500 -0.433 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -4004,16 +4236,16 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::Nedelec1<2> restriction 1 DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 +DEAL::~ ~ ~ ~ 0.851 0.0627 -0.851 -0.0627 0.526 0.0387 ~ ~ +DEAL::~ ~ ~ ~ 0.769 0.371 -0.769 -0.371 0.475 0.229 ~ ~ +DEAL::-0.851 0.0627 0.851 -0.0627 ~ ~ ~ ~ ~ ~ 0.526 -0.0387 +DEAL::0.769 -0.371 -0.769 0.371 ~ ~ ~ ~ ~ ~ -0.475 0.229 DEAL::Nedelec1<2> embedding 1 DEAL::0.250 -0.217 0.250 -0.217 ~ ~ ~ ~ ~ ~ -0.217 0.188 DEAL::~ 0.125 ~ 0.125 ~ ~ ~ ~ ~ ~ ~ -0.108 @@ -4028,18 +4260,18 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 DEAL::Nedelec1<2> restriction 2 -DEAL::1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 +DEAL::~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ -0.851 0.0627 0.851 -0.0627 0.526 -0.0387 ~ ~ +DEAL::~ ~ ~ ~ 0.769 -0.371 -0.769 0.371 -0.475 0.229 ~ ~ +DEAL::0.851 0.0627 -0.851 -0.0627 ~ ~ ~ ~ ~ ~ 0.526 0.0387 +DEAL::0.769 0.371 -0.769 -0.371 ~ ~ ~ ~ ~ ~ 0.475 0.229 DEAL::Nedelec1<2> embedding 2 DEAL::0.500 0.433 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -4056,16 +4288,16 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::Nedelec1<2> restriction 3 DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 +DEAL::~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ -0.851 -0.0627 0.851 0.0627 0.526 0.0387 ~ ~ +DEAL::~ ~ ~ ~ -0.769 -0.371 0.769 0.371 0.475 0.229 ~ ~ +DEAL::-0.851 -0.0627 0.851 0.0627 ~ ~ ~ ~ ~ ~ 0.526 0.0387 +DEAL::-0.769 -0.371 0.769 0.371 ~ ~ ~ ~ ~ ~ 0.475 0.229 DEAL::Nedelec1<2> embedding 3 DEAL::0.250 0.217 0.250 0.217 ~ ~ ~ ~ ~ ~ -0.217 -0.188 DEAL::~ 0.125 ~ 0.125 ~ ~ ~ ~ ~ ~ ~ -0.108 @@ -4079,6 +4311,942 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 +DEAL::Nedelec1<3> cell support points +DEAL::Nedelec1<3> face 0 support points +DEAL::Nedelec1<3> face 1 support points +DEAL::Nedelec1<3> face 2 support points +DEAL::Nedelec1<3> face 3 support points +DEAL::Nedelec1<3> face 4 support points +DEAL::Nedelec1<3> face 5 support points +DEAL::Nedelec1<3> constraint +DEAL::0.5000000 -0.4330127 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ 0.2500000 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.2500000 -0.2165064 0.2500000 -0.2165064 ~ ~ ~ ~ ~ ~ -0.2165064 0.1875000 +DEAL::~ 0.1250000 ~ 0.1250000 ~ ~ ~ ~ ~ ~ ~ -0.1082532 +DEAL::~ ~ ~ ~ 0.5000000 -0.4330127 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ 0.2500000 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.2500000 -0.2165064 0.2500000 -0.2165064 -0.2165064 0.1875000 ~ ~ +DEAL::~ ~ ~ ~ ~ 0.1250000 ~ 0.1250000 ~ -0.1082532 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.1250000 -0.1082532 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0.06250000 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.1250000 -0.1082532 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.06250000 +DEAL::0.2500000 -0.2165064 0.2500000 -0.2165064 ~ ~ ~ ~ ~ ~ -0.2165064 0.1875000 +DEAL::~ 0.1250000 ~ 0.1250000 ~ ~ ~ ~ ~ ~ ~ -0.1082532 +DEAL::~ ~ 0.5000000 -0.4330127 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ 0.2500000 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.5000000 0.4330127 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ 0.2500000 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.2500000 0.2165064 0.2500000 0.2165064 -0.2165064 -0.1875000 ~ ~ +DEAL::~ ~ ~ ~ ~ 0.1250000 ~ 0.1250000 ~ -0.1082532 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.1250000 0.1082532 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0.06250000 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.1250000 -0.1082532 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.06250000 +DEAL::0.5000000 0.4330127 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ 0.2500000 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.2500000 0.2165064 0.2500000 0.2165064 ~ ~ ~ ~ ~ ~ -0.2165064 -0.1875000 +DEAL::~ 0.1250000 ~ 0.1250000 ~ ~ ~ ~ ~ ~ ~ -0.1082532 +DEAL::~ ~ ~ ~ 0.2500000 -0.2165064 0.2500000 -0.2165064 -0.2165064 0.1875000 ~ ~ +DEAL::~ ~ ~ ~ ~ 0.1250000 ~ 0.1250000 ~ -0.1082532 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ 0.5000000 -0.4330127 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ 0.2500000 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.1250000 -0.1082532 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0.06250000 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.1250000 0.1082532 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.06250000 +DEAL::0.2500000 0.2165064 0.2500000 0.2165064 ~ ~ ~ ~ ~ ~ -0.2165064 -0.1875000 +DEAL::~ 0.1250000 ~ 0.1250000 ~ ~ ~ ~ ~ ~ ~ -0.1082532 +DEAL::~ ~ 0.5000000 0.4330127 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ 0.2500000 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.2500000 0.2165064 0.2500000 0.2165064 -0.2165064 -0.1875000 ~ ~ +DEAL::~ ~ ~ ~ ~ 0.1250000 ~ 0.1250000 ~ -0.1082532 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ 0.5000000 0.4330127 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ 0.2500000 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.1250000 0.1082532 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0.06250000 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.1250000 0.1082532 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.06250000 +DEAL::Nedelec1<3> restriction 0 +DEAL::1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::-0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.851 -0.0627 ~ ~ ~ ~ ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::-0.769 0.371 ~ ~ ~ ~ ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 -0.0627 ~ ~ -0.851 0.0627 ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 0.371 ~ ~ 0.769 -0.371 ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 -0.0627 -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 0.371 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.851 -0.0627 -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ -0.769 0.371 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.851 -0.0627 -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::-0.769 0.371 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.725 -0.0534 -0.725 0.0534 ~ ~ ~ ~ -0.725 0.0534 0.725 -0.0534 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.447 -0.0330 ~ ~ -0.447 0.0330 ~ ~ 0.447 -0.0330 ~ ~ -0.447 0.0330 ~ ~ 0.276 -0.0204 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ -0.654 0.316 0.654 -0.316 ~ ~ ~ ~ 0.654 -0.316 -0.654 0.316 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.404 0.195 ~ ~ 0.404 -0.195 ~ ~ -0.404 0.195 ~ ~ 0.404 -0.195 ~ ~ -0.249 0.121 ~ ~ ~ ~ +DEAL::0.725 -0.0534 -0.725 0.0534 ~ ~ ~ ~ -0.725 0.0534 0.725 -0.0534 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.447 -0.0330 ~ ~ -0.447 0.0330 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.447 -0.0330 ~ ~ -0.447 0.0330 ~ ~ 0.276 -0.0204 ~ ~ +DEAL::-0.654 0.316 0.654 -0.316 ~ ~ ~ ~ 0.654 -0.316 -0.654 0.316 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.404 0.195 ~ ~ 0.404 -0.195 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.404 0.195 ~ ~ 0.404 -0.195 ~ ~ -0.249 0.121 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.725 -0.0534 -0.725 0.0534 -0.725 0.0534 0.725 -0.0534 ~ ~ 0.447 -0.0330 ~ ~ -0.447 0.0330 ~ ~ 0.447 -0.0330 ~ ~ -0.447 0.0330 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.276 -0.0204 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.654 0.316 0.654 -0.316 0.654 -0.316 -0.654 0.316 ~ ~ -0.404 0.195 ~ ~ 0.404 -0.195 ~ ~ -0.404 0.195 ~ ~ 0.404 -0.195 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.249 0.121 +DEAL::Nedelec1<3> embedding 0 +DEAL::0.500 -0.433 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.250 -0.217 0.250 -0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ 0.125 ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.500 -0.433 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.250 -0.217 0.250 -0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ 0.125 ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.250 -0.217 ~ ~ ~ ~ ~ ~ 0.250 -0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ 0.125 ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.125 -0.108 0.125 -0.108 ~ ~ ~ ~ 0.125 -0.108 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 0.0938 ~ ~ -0.108 0.0938 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 0.0938 ~ ~ -0.108 0.0938 ~ ~ 0.0938 -0.0812 ~ ~ +DEAL::~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ 0.0469 ~ ~ +DEAL::~ ~ ~ ~ 0.250 -0.217 ~ ~ ~ ~ ~ ~ 0.250 -0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.125 -0.108 0.125 -0.108 ~ ~ ~ ~ 0.125 -0.108 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 0.0937 ~ ~ -0.108 0.0937 ~ ~ -0.108 0.0937 ~ ~ -0.108 0.0938 ~ ~ 0.0937 -0.0812 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ 0.0469 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 -0.433 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 -0.217 0.250 -0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 -0.217 ~ ~ 0.250 -0.217 ~ ~ ~ ~ -0.217 0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ 0.125 ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 0.125 -0.108 0.125 -0.108 0.125 -0.108 ~ ~ -0.108 0.0938 ~ ~ -0.108 0.0937 ~ ~ -0.108 0.0938 ~ ~ -0.108 0.0938 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0938 -0.0812 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ 0.0625 ~ 0.0625 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0469 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 -0.0541 ~ ~ 0.0625 -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 0.0469 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0313 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 -0.0541 ~ ~ 0.0625 -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 0.0469 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0313 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 -0.0541 ~ ~ 0.0625 -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 0.0469 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0312 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 -0.0541 ~ ~ 0.0625 -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 0.0469 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0312 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 -0.0541 ~ ~ 0.0625 -0.0541 ~ ~ -0.0541 0.0469 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0312 ~ ~ ~ -0.0271 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 -0.0541 ~ ~ 0.0625 -0.0541 ~ ~ -0.0541 0.0469 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0313 ~ ~ ~ -0.0271 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 -0.0271 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0156 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 -0.0271 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0156 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 -0.0271 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0156 +DEAL::Nedelec1<3> restriction 1 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 -0.0627 ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 0.371 ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 0.0627 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 -0.371 -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.851 0.0627 -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.769 0.371 -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::-0.851 0.0627 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.769 -0.371 -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.725 0.0534 -0.725 -0.0534 ~ ~ ~ ~ -0.725 -0.0534 0.725 0.0534 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.447 0.0330 ~ ~ -0.447 -0.0330 ~ ~ 0.447 0.0330 ~ ~ -0.447 -0.0330 ~ ~ 0.276 0.0204 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.654 0.316 -0.654 -0.316 ~ ~ ~ ~ -0.654 -0.316 0.654 0.316 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.404 0.195 ~ ~ -0.404 -0.195 ~ ~ 0.404 0.195 ~ ~ -0.404 -0.195 ~ ~ 0.249 0.121 ~ ~ ~ ~ +DEAL::-0.725 0.0534 0.725 -0.0534 ~ ~ ~ ~ 0.725 -0.0534 -0.725 0.0534 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.447 0.0330 ~ ~ 0.447 -0.0330 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.447 -0.0330 ~ ~ -0.447 0.0330 ~ ~ 0.276 -0.0204 ~ ~ +DEAL::0.654 -0.316 -0.654 0.316 ~ ~ ~ ~ -0.654 0.316 0.654 -0.316 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.404 -0.195 ~ ~ -0.404 0.195 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.404 0.195 ~ ~ 0.404 -0.195 ~ ~ -0.249 0.121 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.725 0.0534 0.725 -0.0534 0.725 -0.0534 -0.725 0.0534 ~ ~ -0.447 0.0330 ~ ~ 0.447 -0.0330 ~ ~ 0.447 -0.0330 ~ ~ -0.447 0.0330 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.276 -0.0204 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.654 -0.316 -0.654 0.316 -0.654 0.316 0.654 -0.316 ~ ~ 0.404 -0.195 ~ ~ -0.404 0.195 ~ ~ -0.404 0.195 ~ ~ 0.404 -0.195 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.249 0.121 +DEAL::Nedelec1<3> embedding 1 +DEAL::0.250 -0.217 0.250 -0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ 0.125 ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 0.500 -0.433 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.500 0.433 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.250 0.217 0.250 0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 -0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ 0.125 ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.125 -0.108 0.125 -0.108 ~ ~ ~ ~ 0.125 -0.108 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 0.0937 ~ ~ -0.108 0.0937 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 0.0937 ~ ~ -0.108 0.0937 ~ ~ 0.0938 -0.0812 ~ ~ +DEAL::~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ 0.0469 ~ ~ +DEAL::~ ~ 0.250 -0.217 ~ ~ ~ ~ ~ ~ 0.250 -0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.250 0.217 ~ ~ ~ ~ ~ ~ 0.250 0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 -0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.125 0.108 0.125 0.108 ~ ~ ~ ~ 0.125 0.108 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 -0.0937 ~ ~ -0.108 -0.0938 ~ ~ -0.108 -0.0937 ~ ~ -0.108 -0.0938 ~ ~ 0.0937 0.0812 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ 0.0469 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 -0.217 0.250 -0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0.188 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 -0.433 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 0.125 -0.108 0.125 -0.108 0.125 -0.108 ~ ~ -0.108 0.0937 ~ ~ -0.108 0.0937 ~ ~ -0.108 0.0937 ~ ~ -0.108 0.0938 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0938 -0.0812 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ 0.0625 ~ 0.0625 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0469 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 -0.217 ~ ~ 0.250 -0.217 ~ ~ ~ ~ ~ ~ -0.217 0.188 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 -0.0541 ~ ~ 0.0625 -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 0.0469 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0313 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 -0.0541 ~ ~ 0.0625 -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 0.0469 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0313 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 0.0541 ~ ~ 0.0625 0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 -0.0469 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0313 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 -0.0541 ~ ~ 0.0625 -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 0.0469 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0312 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 0.0541 ~ ~ 0.0625 0.0541 ~ ~ -0.0541 -0.0469 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0313 ~ ~ ~ -0.0271 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 -0.0541 ~ ~ 0.0625 -0.0541 ~ ~ -0.0541 0.0469 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0313 ~ ~ ~ -0.0271 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 0.0271 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0156 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 -0.0271 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0156 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 -0.0271 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0156 +DEAL::Nedelec1<3> restriction 2 +DEAL::1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.851 0.0627 ~ ~ ~ ~ ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.769 0.371 ~ ~ ~ ~ ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 0.0627 ~ ~ 0.851 -0.0627 ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 -0.371 ~ ~ -0.769 0.371 ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 -0.0627 -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 0.371 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ -0.851 0.0627 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.769 -0.371 -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.851 0.0627 -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.769 0.371 -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ -0.725 0.0534 0.725 -0.0534 ~ ~ ~ ~ 0.725 -0.0534 -0.725 0.0534 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.447 0.0330 ~ ~ 0.447 -0.0330 ~ ~ 0.447 -0.0330 ~ ~ -0.447 0.0330 ~ ~ 0.276 -0.0204 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.654 -0.316 -0.654 0.316 ~ ~ ~ ~ -0.654 0.316 0.654 -0.316 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.404 -0.195 ~ ~ -0.404 0.195 ~ ~ -0.404 0.195 ~ ~ 0.404 -0.195 ~ ~ -0.249 0.121 ~ ~ ~ ~ +DEAL::0.725 0.0534 -0.725 -0.0534 ~ ~ ~ ~ -0.725 -0.0534 0.725 0.0534 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.447 0.0330 ~ ~ -0.447 -0.0330 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.447 0.0330 ~ ~ -0.447 -0.0330 ~ ~ 0.276 0.0204 ~ ~ +DEAL::0.654 0.316 -0.654 -0.316 ~ ~ ~ ~ -0.654 -0.316 0.654 0.316 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.404 0.195 ~ ~ -0.404 -0.195 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.404 0.195 ~ ~ -0.404 -0.195 ~ ~ 0.249 0.121 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.725 0.0534 0.725 -0.0534 0.725 -0.0534 -0.725 0.0534 ~ ~ 0.447 -0.0330 ~ ~ -0.447 0.0330 ~ ~ -0.447 0.0330 ~ ~ 0.447 -0.0330 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.276 -0.0204 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.654 -0.316 -0.654 0.316 -0.654 0.316 0.654 -0.316 ~ ~ -0.404 0.195 ~ ~ 0.404 -0.195 ~ ~ 0.404 -0.195 ~ ~ -0.404 0.195 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.249 0.121 +DEAL::Nedelec1<3> embedding 2 +DEAL::0.500 0.433 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.250 0.217 0.250 0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 -0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ 0.125 ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.250 -0.217 0.250 -0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ 0.125 ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ 0.500 -0.433 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.250 0.217 ~ ~ ~ ~ ~ ~ 0.250 0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 -0.188 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ 0.125 ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.125 0.108 0.125 0.108 ~ ~ ~ ~ 0.125 0.108 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 -0.0938 ~ ~ -0.108 -0.0938 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 -0.0938 ~ ~ -0.108 -0.0938 ~ ~ 0.0938 0.0812 ~ ~ +DEAL::~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ 0.0469 ~ ~ +DEAL::~ ~ ~ ~ 0.125 -0.108 0.125 -0.108 ~ ~ ~ ~ 0.125 -0.108 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 0.0937 ~ ~ -0.108 0.0937 ~ ~ -0.108 0.0937 ~ ~ -0.108 0.0937 ~ ~ 0.0937 -0.0812 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ 0.0469 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ 0.250 -0.217 ~ ~ ~ ~ ~ ~ 0.250 -0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 -0.217 ~ ~ 0.250 -0.217 ~ ~ ~ ~ -0.217 0.188 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ 0.125 ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 0.125 -0.108 0.125 -0.108 0.125 -0.108 ~ ~ -0.108 0.0937 ~ ~ -0.108 0.0937 ~ ~ -0.108 0.0937 ~ ~ -0.108 0.0938 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0937 -0.0812 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ 0.0625 ~ 0.0625 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0469 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 -0.433 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 -0.217 0.250 -0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0.188 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 0.0541 ~ ~ 0.0625 0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 -0.0469 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0313 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 -0.0541 ~ ~ 0.0625 -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 0.0469 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0312 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 -0.0541 ~ ~ 0.0625 -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 0.0469 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 ~ ~ ~ 0.0313 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 -0.0541 ~ ~ 0.0625 -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 0.0469 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0312 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 -0.0541 ~ ~ 0.0625 -0.0541 ~ ~ -0.0541 0.0469 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 ~ ~ ~ 0.0312 ~ ~ ~ -0.0271 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 0.0541 ~ ~ 0.0625 0.0541 ~ ~ -0.0541 -0.0469 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0313 ~ ~ ~ -0.0271 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 -0.0271 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0156 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 0.0271 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0156 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 -0.0271 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0156 +DEAL::Nedelec1<3> restriction 3 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 0.0627 ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 -0.371 ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 0.0627 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 -0.371 -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ -0.851 -0.0627 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ -0.769 -0.371 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::-0.851 -0.0627 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::-0.769 -0.371 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ -0.725 -0.0534 0.725 0.0534 ~ ~ ~ ~ 0.725 0.0534 -0.725 -0.0534 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.447 -0.0330 ~ ~ 0.447 0.0330 ~ ~ 0.447 0.0330 ~ ~ -0.447 -0.0330 ~ ~ 0.276 0.0204 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ -0.654 -0.316 0.654 0.316 ~ ~ ~ ~ 0.654 0.316 -0.654 -0.316 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.404 -0.195 ~ ~ 0.404 0.195 ~ ~ 0.404 0.195 ~ ~ -0.404 -0.195 ~ ~ 0.249 0.121 ~ ~ ~ ~ +DEAL::-0.725 -0.0534 0.725 0.0534 ~ ~ ~ ~ 0.725 0.0534 -0.725 -0.0534 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.447 -0.0330 ~ ~ 0.447 0.0330 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.447 0.0330 ~ ~ -0.447 -0.0330 ~ ~ 0.276 0.0204 ~ ~ +DEAL::-0.654 -0.316 0.654 0.316 ~ ~ ~ ~ 0.654 0.316 -0.654 -0.316 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.404 -0.195 ~ ~ 0.404 0.195 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.404 0.195 ~ ~ -0.404 -0.195 ~ ~ 0.249 0.121 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.725 -0.0534 -0.725 0.0534 -0.725 0.0534 0.725 -0.0534 ~ ~ -0.447 0.0330 ~ ~ 0.447 -0.0330 ~ ~ -0.447 0.0330 ~ ~ 0.447 -0.0330 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.276 -0.0204 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.654 0.316 0.654 -0.316 0.654 -0.316 -0.654 0.316 ~ ~ 0.404 -0.195 ~ ~ -0.404 0.195 ~ ~ 0.404 -0.195 ~ ~ -0.404 0.195 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.249 0.121 +DEAL::Nedelec1<3> embedding 3 +DEAL::0.250 0.217 0.250 0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 -0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ 0.125 ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 0.500 0.433 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.250 0.217 0.250 0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 -0.188 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ 0.125 ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ 0.500 0.433 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.125 0.108 0.125 0.108 ~ ~ ~ ~ 0.125 0.108 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 -0.0938 ~ ~ -0.108 -0.0937 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 -0.0938 ~ ~ -0.108 -0.0938 ~ ~ 0.0938 0.0812 ~ ~ +DEAL::~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ 0.0469 ~ ~ +DEAL::~ ~ 0.250 0.217 ~ ~ ~ ~ ~ ~ 0.250 0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 -0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.125 0.108 0.125 0.108 ~ ~ ~ ~ 0.125 0.108 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 -0.0937 ~ ~ -0.108 -0.0937 ~ ~ -0.108 -0.0937 ~ ~ -0.108 -0.0937 ~ ~ 0.0937 0.0812 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ 0.0469 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ 0.250 0.217 ~ ~ ~ ~ ~ ~ 0.250 0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 -0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 0.125 -0.108 0.125 -0.108 0.125 -0.108 ~ ~ -0.108 0.0937 ~ ~ -0.108 0.0938 ~ ~ -0.108 0.0938 ~ ~ -0.108 0.0938 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0938 -0.0812 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ 0.0625 ~ 0.0625 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0469 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 -0.217 ~ ~ 0.250 -0.217 ~ ~ ~ ~ ~ ~ -0.217 0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 -0.217 0.250 -0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 -0.433 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 0.0541 ~ ~ 0.0625 0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 -0.0469 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 ~ ~ ~ 0.0313 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 -0.0541 ~ ~ 0.0625 -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 0.0469 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0312 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 0.0541 ~ ~ 0.0625 0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 -0.0469 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 ~ ~ ~ 0.0313 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 -0.0541 ~ ~ 0.0625 -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 0.0469 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 ~ ~ ~ 0.0312 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 0.0541 ~ ~ 0.0625 0.0541 ~ ~ -0.0541 -0.0469 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0312 ~ ~ ~ -0.0271 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 0.0541 ~ ~ 0.0625 0.0541 ~ ~ -0.0541 -0.0469 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0313 ~ ~ ~ -0.0271 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 0.0271 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0156 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 0.0271 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0156 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 -0.0271 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0156 +DEAL::Nedelec1<3> restriction 4 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::-0.851 0.0627 ~ ~ ~ ~ ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.769 -0.371 ~ ~ ~ ~ ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 0.0627 ~ ~ -0.851 -0.0627 ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 0.371 ~ ~ -0.769 -0.371 ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 0.0627 -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 0.371 -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 -0.0627 -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 0.371 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.851 -0.0627 -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ -0.769 0.371 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ -0.725 0.0534 0.725 -0.0534 ~ ~ ~ ~ 0.725 -0.0534 -0.725 0.0534 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.447 -0.0330 ~ ~ -0.447 0.0330 ~ ~ -0.447 0.0330 ~ ~ 0.447 -0.0330 ~ ~ 0.276 -0.0204 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.654 -0.316 -0.654 0.316 ~ ~ ~ ~ -0.654 0.316 0.654 -0.316 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.404 0.195 ~ ~ 0.404 -0.195 ~ ~ 0.404 -0.195 ~ ~ -0.404 0.195 ~ ~ -0.249 0.121 ~ ~ ~ ~ +DEAL::-0.725 0.0534 0.725 -0.0534 ~ ~ ~ ~ 0.725 -0.0534 -0.725 0.0534 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.447 -0.0330 ~ ~ -0.447 0.0330 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.447 0.0330 ~ ~ 0.447 -0.0330 ~ ~ 0.276 -0.0204 ~ ~ +DEAL::0.654 -0.316 -0.654 0.316 ~ ~ ~ ~ -0.654 0.316 0.654 -0.316 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.404 0.195 ~ ~ 0.404 -0.195 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.404 -0.195 ~ ~ -0.404 0.195 ~ ~ -0.249 0.121 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.725 0.0534 -0.725 -0.0534 -0.725 -0.0534 0.725 0.0534 ~ ~ 0.447 0.0330 ~ ~ -0.447 -0.0330 ~ ~ 0.447 0.0330 ~ ~ -0.447 -0.0330 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.276 0.0204 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.654 0.316 -0.654 -0.316 -0.654 -0.316 0.654 0.316 ~ ~ 0.404 0.195 ~ ~ -0.404 -0.195 ~ ~ 0.404 0.195 ~ ~ -0.404 -0.195 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.249 0.121 +DEAL::Nedelec1<3> embedding 4 +DEAL::0.250 -0.217 ~ ~ ~ ~ ~ ~ 0.250 -0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ 0.125 ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.125 -0.108 0.125 -0.108 ~ ~ ~ ~ 0.125 -0.108 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 0.0937 ~ ~ -0.108 0.0937 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 0.0937 ~ ~ -0.108 0.0937 ~ ~ 0.0937 -0.0812 ~ ~ +DEAL::~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ 0.0469 ~ ~ +DEAL::~ ~ ~ ~ 0.250 -0.217 ~ ~ ~ ~ ~ ~ 0.250 -0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.125 -0.108 0.125 -0.108 ~ ~ ~ ~ 0.125 -0.108 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 0.0937 ~ ~ -0.108 0.0937 ~ ~ -0.108 0.0937 ~ ~ -0.108 0.0937 ~ ~ 0.0937 -0.0812 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ 0.0469 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.500 -0.433 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.250 -0.217 0.250 -0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0.187 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 -0.433 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 -0.217 0.250 -0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0.187 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 0.433 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0.217 0.250 0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 -0.188 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0.217 ~ ~ 0.250 0.217 ~ ~ ~ ~ -0.217 -0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ 0.125 ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 0.125 0.108 0.125 0.108 0.125 0.108 ~ ~ -0.108 -0.0938 ~ ~ -0.108 -0.0938 ~ ~ -0.108 -0.0937 ~ ~ -0.108 -0.0938 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0938 0.0812 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ 0.0625 ~ 0.0625 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0469 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 -0.0541 ~ ~ 0.0625 -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 0.0469 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 ~ ~ ~ 0.0313 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 0.0541 ~ ~ 0.0625 0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 -0.0469 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0312 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 -0.0541 ~ ~ 0.0625 -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 0.0469 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 ~ ~ ~ 0.0312 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 0.0541 ~ ~ 0.0625 0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 -0.0469 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0313 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 -0.0541 ~ ~ 0.0625 -0.0541 ~ ~ -0.0541 0.0469 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0313 ~ ~ ~ -0.0271 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 -0.0541 ~ ~ 0.0625 -0.0541 ~ ~ -0.0541 0.0469 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0313 ~ ~ ~ -0.0271 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 -0.0271 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0156 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 -0.0271 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0156 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 0.0271 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0156 +DEAL::Nedelec1<3> restriction 5 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 0.0627 ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 0.371 ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 -0.0627 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 -0.371 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 0.0627 -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 0.371 -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ -0.851 0.0627 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.769 -0.371 -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ -0.725 -0.0534 0.725 0.0534 ~ ~ ~ ~ 0.725 0.0534 -0.725 -0.0534 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.447 0.0330 ~ ~ -0.447 -0.0330 ~ ~ -0.447 -0.0330 ~ ~ 0.447 0.0330 ~ ~ 0.276 0.0204 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ -0.654 -0.316 0.654 0.316 ~ ~ ~ ~ 0.654 0.316 -0.654 -0.316 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.404 0.195 ~ ~ -0.404 -0.195 ~ ~ -0.404 -0.195 ~ ~ 0.404 0.195 ~ ~ 0.249 0.121 ~ ~ ~ ~ +DEAL::0.725 -0.0534 -0.725 0.0534 ~ ~ ~ ~ -0.725 0.0534 0.725 -0.0534 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.447 0.0330 ~ ~ 0.447 -0.0330 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.447 0.0330 ~ ~ 0.447 -0.0330 ~ ~ 0.276 -0.0204 ~ ~ +DEAL::-0.654 0.316 0.654 -0.316 ~ ~ ~ ~ 0.654 -0.316 -0.654 0.316 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.404 -0.195 ~ ~ -0.404 0.195 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.404 -0.195 ~ ~ -0.404 0.195 ~ ~ -0.249 0.121 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.725 -0.0534 0.725 0.0534 0.725 0.0534 -0.725 -0.0534 ~ ~ -0.447 -0.0330 ~ ~ 0.447 0.0330 ~ ~ 0.447 0.0330 ~ ~ -0.447 -0.0330 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.276 0.0204 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.654 -0.316 0.654 0.316 0.654 0.316 -0.654 -0.316 ~ ~ -0.404 -0.195 ~ ~ 0.404 0.195 ~ ~ 0.404 0.195 ~ ~ -0.404 -0.195 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.249 0.121 +DEAL::Nedelec1<3> embedding 5 +DEAL::0.125 -0.108 0.125 -0.108 ~ ~ ~ ~ 0.125 -0.108 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 0.0937 ~ ~ -0.108 0.0937 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 0.0937 ~ ~ -0.108 0.0937 ~ ~ 0.0937 -0.0812 ~ ~ +DEAL::~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ 0.0469 ~ ~ +DEAL::~ ~ 0.250 -0.217 ~ ~ ~ ~ ~ ~ 0.250 -0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.250 0.217 ~ ~ ~ ~ ~ ~ 0.250 0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 -0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.125 0.108 0.125 0.108 ~ ~ ~ ~ 0.125 0.108 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 -0.0937 ~ ~ -0.108 -0.0937 ~ ~ -0.108 -0.0937 ~ ~ -0.108 -0.0937 ~ ~ 0.0937 0.0812 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ 0.0469 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.250 -0.217 0.250 -0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0.188 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 -0.433 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 0.433 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0.217 0.250 0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 -0.188 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0.217 0.250 0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 -0.188 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 0.433 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 0.125 0.108 0.125 0.108 0.125 0.108 ~ ~ -0.108 -0.0937 ~ ~ -0.108 -0.0938 ~ ~ -0.108 -0.0938 ~ ~ -0.108 -0.0938 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0938 0.0812 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ 0.0625 ~ 0.0625 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0469 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0.217 ~ ~ 0.250 0.217 ~ ~ ~ ~ ~ ~ -0.217 -0.188 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 -0.0541 ~ ~ 0.0625 -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 0.0469 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 ~ ~ ~ 0.0312 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 0.0541 ~ ~ 0.0625 0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 -0.0469 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0313 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 0.0541 ~ ~ 0.0625 0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 -0.0469 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 ~ ~ ~ 0.0312 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 0.0541 ~ ~ 0.0625 0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 -0.0469 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0312 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 0.0541 ~ ~ 0.0625 0.0541 ~ ~ -0.0541 -0.0469 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 ~ ~ ~ 0.0313 ~ ~ ~ -0.0271 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 -0.0541 ~ ~ 0.0625 -0.0541 ~ ~ -0.0541 0.0469 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 ~ ~ ~ 0.0313 ~ ~ ~ -0.0271 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 0.0271 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0156 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 -0.0271 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0156 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 0.0271 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0156 +DEAL::Nedelec1<3> restriction 6 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::-0.851 -0.0627 ~ ~ ~ ~ ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::-0.769 -0.371 ~ ~ ~ ~ ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 -0.0627 ~ ~ 0.851 0.0627 ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 -0.371 ~ ~ 0.769 0.371 ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 0.0627 -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 0.371 -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 0.0627 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 -0.371 -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.851 0.0627 -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.769 0.371 -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.725 -0.0534 -0.725 0.0534 ~ ~ ~ ~ -0.725 0.0534 0.725 -0.0534 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.447 0.0330 ~ ~ 0.447 -0.0330 ~ ~ -0.447 0.0330 ~ ~ 0.447 -0.0330 ~ ~ 0.276 -0.0204 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ -0.654 0.316 0.654 -0.316 ~ ~ ~ ~ 0.654 -0.316 -0.654 0.316 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.404 -0.195 ~ ~ -0.404 0.195 ~ ~ 0.404 -0.195 ~ ~ -0.404 0.195 ~ ~ -0.249 0.121 ~ ~ ~ ~ +DEAL::-0.725 -0.0534 0.725 0.0534 ~ ~ ~ ~ 0.725 0.0534 -0.725 -0.0534 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.447 0.0330 ~ ~ -0.447 -0.0330 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.447 -0.0330 ~ ~ 0.447 0.0330 ~ ~ 0.276 0.0204 ~ ~ +DEAL::-0.654 -0.316 0.654 0.316 ~ ~ ~ ~ 0.654 0.316 -0.654 -0.316 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.404 0.195 ~ ~ -0.404 -0.195 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.404 -0.195 ~ ~ 0.404 0.195 ~ ~ 0.249 0.121 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.725 -0.0534 0.725 0.0534 0.725 0.0534 -0.725 -0.0534 ~ ~ 0.447 0.0330 ~ ~ -0.447 -0.0330 ~ ~ -0.447 -0.0330 ~ ~ 0.447 0.0330 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.276 0.0204 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.654 -0.316 0.654 0.316 0.654 0.316 -0.654 -0.316 ~ ~ 0.404 0.195 ~ ~ -0.404 -0.195 ~ ~ -0.404 -0.195 ~ ~ 0.404 0.195 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.249 0.121 +DEAL::Nedelec1<3> embedding 6 +DEAL::0.250 0.217 ~ ~ ~ ~ ~ ~ 0.250 0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 -0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ 0.125 ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.125 0.108 0.125 0.108 ~ ~ ~ ~ 0.125 0.108 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 -0.0938 ~ ~ -0.108 -0.0937 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 -0.0937 ~ ~ -0.108 -0.0937 ~ ~ 0.0937 0.0812 ~ ~ +DEAL::~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ 0.0469 ~ ~ +DEAL::~ ~ ~ ~ 0.125 -0.108 0.125 -0.108 ~ ~ ~ ~ 0.125 -0.108 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 0.0937 ~ ~ -0.108 0.0937 ~ ~ -0.108 0.0938 ~ ~ -0.108 0.0937 ~ ~ 0.0938 -0.0812 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ 0.0469 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ 0.250 -0.217 ~ ~ ~ ~ ~ ~ 0.250 -0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.500 0.433 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.250 0.217 0.250 0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 -0.188 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 -0.217 0.250 -0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0.187 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 -0.433 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0.217 ~ ~ 0.250 0.217 ~ ~ ~ ~ -0.217 -0.188 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ 0.125 ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 0.125 0.108 0.125 0.108 0.125 0.108 ~ ~ -0.108 -0.0938 ~ ~ -0.108 -0.0937 ~ ~ -0.108 -0.0937 ~ ~ -0.108 -0.0937 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0937 0.0812 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ 0.0625 ~ 0.0625 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0469 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 0.433 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0.217 0.250 0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 -0.188 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 0.0541 ~ ~ 0.0625 0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 -0.0469 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 ~ ~ ~ 0.0313 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 0.0541 ~ ~ 0.0625 0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 -0.0469 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0312 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 -0.0541 ~ ~ 0.0625 -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 0.0469 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0313 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 0.0541 ~ ~ 0.0625 0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 -0.0469 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 ~ ~ ~ 0.0313 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 -0.0541 ~ ~ 0.0625 -0.0541 ~ ~ -0.0541 0.0469 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 ~ ~ ~ 0.0312 ~ ~ ~ -0.0271 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 0.0541 ~ ~ 0.0625 0.0541 ~ ~ -0.0541 -0.0469 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 ~ ~ ~ 0.0313 ~ ~ ~ -0.0271 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 -0.0271 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0156 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 0.0271 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0156 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 0.0271 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0156 +DEAL::Nedelec1<3> restriction 7 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 -0.0627 ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 -0.371 ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 -0.0627 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 -0.371 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 -0.0627 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 -0.371 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ -0.851 -0.0627 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ -0.769 -0.371 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.725 0.0534 -0.725 -0.0534 ~ ~ ~ ~ -0.725 -0.0534 0.725 0.0534 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.447 -0.0330 ~ ~ 0.447 0.0330 ~ ~ -0.447 -0.0330 ~ ~ 0.447 0.0330 ~ ~ 0.276 0.0204 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.654 0.316 -0.654 -0.316 ~ ~ ~ ~ -0.654 -0.316 0.654 0.316 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.404 -0.195 ~ ~ 0.404 0.195 ~ ~ -0.404 -0.195 ~ ~ 0.404 0.195 ~ ~ 0.249 0.121 ~ ~ ~ ~ +DEAL::0.725 0.0534 -0.725 -0.0534 ~ ~ ~ ~ -0.725 -0.0534 0.725 0.0534 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.447 -0.0330 ~ ~ 0.447 0.0330 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.447 -0.0330 ~ ~ 0.447 0.0330 ~ ~ 0.276 0.0204 ~ ~ +DEAL::0.654 0.316 -0.654 -0.316 ~ ~ ~ ~ -0.654 -0.316 0.654 0.316 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.404 -0.195 ~ ~ 0.404 0.195 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.404 -0.195 ~ ~ 0.404 0.195 ~ ~ 0.249 0.121 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.725 0.0534 -0.725 -0.0534 -0.725 -0.0534 0.725 0.0534 ~ ~ -0.447 -0.0330 ~ ~ 0.447 0.0330 ~ ~ -0.447 -0.0330 ~ ~ 0.447 0.0330 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.276 0.0204 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.654 0.316 -0.654 -0.316 -0.654 -0.316 0.654 0.316 ~ ~ -0.404 -0.195 ~ ~ 0.404 0.195 ~ ~ -0.404 -0.195 ~ ~ 0.404 0.195 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.249 0.121 +DEAL::Nedelec1<3> embedding 7 +DEAL::0.125 0.108 0.125 0.108 ~ ~ ~ ~ 0.125 0.108 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 -0.0937 ~ ~ -0.108 -0.0937 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 -0.0937 ~ ~ -0.108 -0.0937 ~ ~ 0.0937 0.0812 ~ ~ +DEAL::~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ 0.0469 ~ ~ +DEAL::~ ~ 0.250 0.217 ~ ~ ~ ~ ~ ~ 0.250 0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 -0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.125 0.108 0.125 0.108 ~ ~ ~ ~ 0.125 0.108 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 -0.0937 ~ ~ -0.108 -0.0937 ~ ~ -0.108 -0.0937 ~ ~ -0.108 -0.0937 ~ ~ 0.0937 0.0812 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ 0.0469 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ 0.250 0.217 ~ ~ ~ ~ ~ ~ 0.250 0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 -0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.250 0.217 0.250 0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 -0.188 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 0.433 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0.217 0.250 0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 -0.187 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 0.433 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 0.125 0.108 0.125 0.108 0.125 0.108 ~ ~ -0.108 -0.0938 ~ ~ -0.108 -0.0938 ~ ~ -0.108 -0.0937 ~ ~ -0.108 -0.0938 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0938 0.0812 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ 0.0625 ~ 0.0625 ~ 0.0625 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ -0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0469 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0.217 ~ ~ 0.250 0.217 ~ ~ ~ ~ ~ ~ -0.217 -0.188 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0.217 0.250 0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 -0.188 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 0.433 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 0.0541 ~ ~ 0.0625 0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 -0.0469 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0312 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 0.0541 ~ ~ 0.0625 0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 -0.0469 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0312 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 0.0541 ~ ~ 0.0625 0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 -0.0469 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0313 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 0.0541 ~ ~ 0.0625 0.0541 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0541 -0.0469 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0312 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0271 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 0.0541 ~ ~ 0.0625 0.0541 ~ ~ -0.0541 -0.0469 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ ~ ~ 0.0313 ~ ~ ~ -0.0271 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 0.0541 ~ ~ 0.0625 0.0541 ~ ~ -0.0541 -0.0469 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 ~ ~ ~ 0.0312 ~ ~ ~ -0.0271 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 0.0271 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0156 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 0.0271 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0156 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 0.0271 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0156 DEAL::RaviartThomas0<2> cell support points DEAL::RaviartThomas0<2> face 0 support points DEAL::RaviartThomas0<2> face 1 support points @@ -4390,7 +5558,7 @@ DEAL::~ 0.1250000 ~ 0.1082532 DEAL::~ ~ 0.1250000 0.1082532 DEAL::~ ~ ~ 0.06250000 DEAL::RaviartThomas1<3> restriction 0 -DEAL::0.250 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.250 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::-0.217 0.125 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::-0.217 0 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::0.188 -0.108 -0.108 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -4398,7 +5566,7 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ -0.217 0.125 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ -0.217 0 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.188 -0.108 -0.108 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -4406,7 +5574,7 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0.125 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 -0.108 -0.108 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -4414,26 +5582,26 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ 0 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 ~ 0 ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ 0 +DEAL::0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ 0 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ 0 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 ~ ~ ~ 0.125 ~ ~ ~ ~ ~ 0 ~ ~ 0 DEAL::0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 ~ 0 0 0 ~ ~ -0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 -DEAL::~ 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ 0 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ -0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ 0 -DEAL::0 ~ 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0938 ~ ~ -0.0541 ~ ~ -0.0541 ~ ~ 0.0312 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ -0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 +DEAL::0 0 0 0 0 ~ 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ 0.0625 ~ ~ 0 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 ~ 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ 0 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 ~ 0 0 0 0 0 0 ~ ~ -0.108 ~ ~ ~ ~ ~ 0.0625 ~ ~ 0 +DEAL::0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0938 ~ ~ -0.0541 ~ ~ -0.0541 ~ ~ 0.0312 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0938 ~ ~ -0.0541 ~ ~ -0.0541 ~ ~ 0.0312 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ 0.0938 ~ ~ -0.0541 ~ ~ -0.0541 ~ ~ 0.0312 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ 0.0938 ~ ~ -0.0541 ~ ~ -0.0541 ~ ~ 0.0313 DEAL::RaviartThomas1<3> embedding 0 DEAL::0.250 -0.217 -0.217 0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ 0.125 ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::-0.0625 0.0541 0.0541 -0.0469 -0.0625 0.0541 0.0541 -0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.375 ~ ~ -0.325 ~ ~ -0.325 ~ ~ 0.281 ~ ~ -DEAL::~ -0.0313 ~ 0.0271 ~ -0.0312 ~ 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ ~ ~ ~ -0.162 ~ ~ -DEAL::~ ~ -0.0312 0.0271 ~ ~ -0.0312 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.187 ~ ~ -0.162 ~ ~ +DEAL::~ -0.0312 ~ 0.0271 ~ -0.0312 ~ 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ ~ ~ ~ -0.162 ~ ~ +DEAL::~ ~ -0.0313 0.0271 ~ ~ -0.0312 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.187 ~ ~ -0.162 ~ ~ DEAL::~ ~ ~ -0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0937 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.250 -0.217 -0.217 0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -4441,22 +5609,22 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.12 DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ -0.0625 0.0541 0.0541 -0.0469 -0.0625 0.0541 0.0541 -0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.375 ~ ~ -0.325 ~ ~ -0.325 ~ ~ 0.281 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 ~ 0.0271 ~ -0.0313 ~ 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ -0.162 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 0.0271 ~ ~ -0.0312 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.187 ~ ~ ~ ~ ~ -0.162 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0938 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 0.0271 ~ ~ -0.0312 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ ~ ~ ~ -0.162 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0937 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 -0.217 -0.217 0.188 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0625 0.0541 0.0541 -0.0469 -0.0625 0.0541 0.0541 -0.0469 ~ ~ 0.375 ~ ~ -0.325 ~ ~ -0.325 ~ ~ 0.281 DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 ~ 0.0271 ~ -0.0312 ~ 0.0271 ~ ~ ~ ~ ~ 0.187 ~ ~ ~ ~ ~ -0.162 -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 0.0271 ~ ~ -0.0312 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ 0.187 ~ ~ -0.162 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 0.0271 ~ ~ -0.0312 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ -0.162 DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0937 DEAL::0.0625 -0.0541 -0.0541 0.0469 -0.0625 0.0541 0.0541 -0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ -0.217 ~ ~ -0.217 ~ ~ 0.187 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.0625 -0.0541 -0.0541 0.0469 -0.0625 0.0541 0.0541 -0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ -0.217 ~ ~ -0.217 ~ ~ 0.188 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.0625 -0.0541 -0.0541 0.0469 -0.0625 0.0541 0.0541 -0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ -0.217 ~ ~ -0.217 ~ ~ 0.187 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 -0.0541 -0.0541 0.0469 -0.0625 0.0541 0.0541 -0.0469 ~ ~ 0.250 ~ ~ -0.217 ~ ~ -0.217 ~ ~ 0.188 DEAL::~ 0.0313 ~ -0.0271 ~ -0.0313 ~ 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ -0.108 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 -0.0271 ~ ~ -0.0312 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ -0.108 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 ~ -0.0271 ~ -0.0312 ~ 0.0271 ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ -0.108 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ -0.0271 ~ -0.0312 ~ 0.0271 ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ -0.108 DEAL::~ ~ 0.0312 -0.0271 ~ ~ -0.0312 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ -0.108 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 ~ -0.0271 ~ -0.0312 ~ 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ -0.108 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 -0.0271 ~ ~ -0.0312 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ -0.108 @@ -4468,19 +5636,19 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ 0.250 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.250 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ -0.217 0.125 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ -0.217 0 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ -0.217 ~ 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ 0.188 -0.108 -0.108 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ -0.217 0.125 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.217 0 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.217 0 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ -0.188 0.108 -0.108 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 ~ 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.217 0.125 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.188 -0.108 0.108 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -4488,23 +5656,23 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ 0 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 ~ 0 ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ 0 +DEAL::0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ 0 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ 0 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 ~ ~ ~ 0.125 ~ ~ ~ ~ ~ 0 ~ ~ 0 DEAL::0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 ~ 0 0 0 0 ~ 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 ~ ~ 0 0 ~ 0 ~ ~ 0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 -DEAL::~ 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ 0 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ -0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ 0 -DEAL::0 ~ 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0938 ~ ~ -0.0541 ~ ~ -0.0541 ~ ~ 0.0312 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0 ~ 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 ~ ~ ~ 0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 +DEAL::0 0 0 0 0 ~ 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ 0.0625 ~ ~ 0 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 ~ 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ 0 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 ~ 0 0 0 0 0 0 ~ ~ -0.108 ~ ~ ~ ~ ~ 0.0625 ~ ~ 0 +DEAL::0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0938 ~ ~ -0.0541 ~ ~ -0.0541 ~ ~ 0.0312 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0938 ~ ~ -0.0541 ~ ~ 0.0541 ~ ~ 0.0312 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 ~ ~ ~ -0.0938 ~ ~ -0.0541 ~ ~ 0.0541 ~ ~ 0.0313 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 ~ 0 0 0 0 0 ~ ~ ~ -0.0937 ~ ~ -0.0541 ~ ~ 0.0541 ~ ~ 0.0312 DEAL::RaviartThomas1<3> embedding 1 DEAL::-0.0625 0.0541 0.0541 -0.0469 -0.0625 0.0541 0.0541 -0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.375 ~ ~ -0.325 ~ ~ -0.325 ~ ~ 0.281 ~ ~ DEAL::~ -0.0313 ~ 0.0271 ~ -0.0312 ~ 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ ~ ~ ~ -0.162 ~ ~ -DEAL::~ ~ -0.0312 0.0271 ~ ~ -0.0312 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.187 ~ ~ -0.162 ~ ~ -DEAL::~ ~ ~ -0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0938 ~ ~ +DEAL::~ ~ -0.0313 0.0271 ~ ~ -0.0312 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.187 ~ ~ -0.162 ~ ~ +DEAL::~ ~ ~ -0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0937 ~ ~ DEAL::~ ~ ~ ~ 0.250 -0.217 -0.217 0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ 0.125 ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -4514,8 +5682,8 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ -0.0625 0.0541 -0.0541 0.0469 -0.0625 0.0541 -0.0541 0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.375 ~ ~ 0.325 ~ ~ -0.325 ~ ~ -0.281 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 ~ -0.0271 ~ -0.0313 ~ -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ 0.162 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 0.0271 ~ ~ -0.0312 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ ~ ~ ~ -0.162 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 ~ -0.0271 ~ -0.0313 ~ -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.187 ~ ~ 0.162 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 0.0271 ~ ~ -0.0313 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ ~ ~ ~ -0.162 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0937 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0.217 -0.217 -0.188 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -4532,13 +5700,13 @@ DEAL::~ -0.0313 ~ 0.0271 ~ 0.0313 ~ -0.0271 ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 -0.0271 ~ ~ -0.0312 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ -0.108 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 ~ -0.0271 ~ -0.0312 ~ 0.0271 ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ -0.108 DEAL::~ ~ -0.0312 0.0271 ~ ~ 0.0312 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ -0.108 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 ~ 0.0271 ~ -0.0312 ~ -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0.108 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ 0.0271 ~ -0.0312 ~ -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0.108 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 0.0271 ~ ~ -0.0312 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0.108 DEAL::~ ~ ~ -0.0156 ~ ~ ~ 0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 DEAL::RaviartThomas1<3> restriction 2 -DEAL::0.250 0 ~ 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.250 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::0.217 0.125 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::-0.217 0 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::-0.188 -0.108 0.108 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -4550,30 +5718,30 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0.125 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 -0.108 -0.108 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0.125 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.217 0 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.217 0 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.188 0.108 -0.108 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ 0 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 ~ 0 ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ 0 +DEAL::0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ 0 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ 0 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 ~ ~ ~ 0.125 ~ ~ ~ ~ ~ 0 ~ ~ 0 DEAL::0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 ~ 0 0 0 ~ ~ -0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 -DEAL::~ 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ 0 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ 0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ 0 -DEAL::0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0938 ~ ~ -0.0541 ~ ~ 0.0541 ~ ~ 0.0313 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ -0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 +DEAL::0 0 0 0 0 ~ 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ 0.0625 ~ ~ 0 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 ~ 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ 0 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 ~ 0 ~ ~ ~ 0.108 ~ ~ ~ ~ ~ 0.0625 ~ ~ 0 +DEAL::0 0 ~ 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0938 ~ ~ -0.0541 ~ ~ 0.0541 ~ ~ 0.0312 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0938 ~ ~ -0.0541 ~ ~ -0.0541 ~ ~ 0.0312 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ -0.0937 ~ ~ 0.0541 ~ ~ -0.0541 ~ ~ 0.0313 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ -0.0937 ~ ~ 0.0541 ~ ~ -0.0541 ~ ~ 0.0312 DEAL::RaviartThomas1<3> embedding 2 DEAL::0.250 0.217 -0.217 -0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ 0.125 ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -4581,33 +5749,33 @@ DEAL::~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::-0.0625 -0.0541 0.0541 0.0469 -0.0625 -0.0541 0.0541 0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.375 ~ ~ 0.325 ~ ~ -0.325 ~ ~ -0.281 ~ ~ DEAL::~ -0.0313 ~ 0.0271 ~ -0.0313 ~ 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ ~ ~ ~ -0.162 ~ ~ -DEAL::~ ~ -0.0312 -0.0271 ~ ~ -0.0312 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.187 ~ ~ 0.162 ~ ~ +DEAL::~ ~ -0.0313 -0.0271 ~ ~ -0.0312 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.187 ~ ~ 0.162 ~ ~ DEAL::~ ~ ~ -0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0937 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ -0.0625 0.0541 0.0541 -0.0469 -0.0625 0.0541 0.0541 -0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.375 ~ ~ -0.325 ~ ~ -0.325 ~ ~ 0.281 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 ~ 0.0271 ~ -0.0312 ~ 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ -0.162 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 0.0271 ~ ~ -0.0312 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.187 ~ ~ ~ ~ ~ -0.162 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 ~ 0.0271 ~ -0.0312 ~ 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.187 ~ ~ -0.162 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 0.0271 ~ ~ -0.0313 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.187 ~ ~ ~ ~ ~ -0.162 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0937 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 -0.217 -0.217 0.188 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 -0.217 0.217 -0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 -0.217 0.217 -0.188 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0625 0.0541 -0.0541 0.0469 -0.0625 0.0541 -0.0541 0.0469 ~ ~ 0.375 ~ ~ -0.325 ~ ~ 0.325 ~ ~ -0.281 DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 ~ -0.0271 ~ -0.0312 ~ -0.0271 ~ ~ ~ ~ ~ 0.187 ~ ~ ~ ~ ~ 0.162 DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 0.0271 ~ ~ -0.0312 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ 0.187 ~ ~ -0.162 -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0938 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0937 DEAL::0.0625 0.0541 -0.0541 -0.0469 -0.0625 -0.0541 0.0541 0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ 0.217 ~ ~ -0.217 ~ ~ -0.188 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ -0.0625 0.0541 0.0541 -0.0469 0.0625 -0.0541 -0.0541 0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ -0.217 ~ ~ -0.217 ~ ~ 0.187 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ -0.0625 0.0541 0.0541 -0.0469 0.0625 -0.0541 -0.0541 0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ -0.217 ~ ~ -0.217 ~ ~ 0.188 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 -0.0541 0.0541 -0.0469 -0.0625 0.0541 -0.0541 0.0469 ~ ~ 0.250 ~ ~ -0.217 ~ ~ 0.217 ~ ~ -0.188 -DEAL::~ 0.0312 ~ -0.0271 ~ -0.0313 ~ 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ -0.108 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 0.0271 ~ ~ 0.0312 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ -0.108 ~ +DEAL::~ 0.0312 ~ -0.0271 ~ -0.0312 ~ 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ -0.108 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 0.0271 ~ ~ 0.0313 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ -0.108 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 ~ 0.0271 ~ -0.0312 ~ -0.0271 ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ 0.108 DEAL::~ ~ 0.0312 0.0271 ~ ~ -0.0312 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0.108 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 ~ 0.0271 ~ 0.0312 ~ -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ -0.108 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 -0.0271 ~ ~ -0.0313 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ -0.108 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 -0.0271 ~ ~ -0.0313 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ -0.108 DEAL::~ ~ ~ 0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0156 ~ ~ ~ 0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 @@ -4616,49 +5784,49 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ 0.250 0 ~ 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ 0.217 0.125 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ -0.217 0 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.250 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.217 0.125 ~ 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ -0.217 ~ 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ -0.188 -0.108 0.108 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0.125 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.217 0 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.217 0 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.188 0.108 -0.108 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.217 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 ~ 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.217 0.125 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.217 0 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 0.108 0.108 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ 0 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 ~ 0 ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ 0 +DEAL::0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ 0 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ 0 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 ~ ~ ~ 0.125 ~ ~ ~ ~ ~ 0 ~ ~ 0 DEAL::0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 ~ 0 0 0 0 ~ 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 ~ ~ 0 0 ~ 0 ~ ~ 0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 -DEAL::~ 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ 0 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ 0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ 0 -DEAL::0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0938 ~ ~ -0.0541 ~ ~ 0.0541 ~ ~ 0.0313 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0 ~ 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 ~ ~ ~ 0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 +DEAL::0 0 0 0 0 ~ 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ ~ 0.0625 ~ ~ 0 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 ~ 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ 0 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 ~ 0 ~ ~ ~ 0.108 ~ ~ ~ ~ ~ 0.0625 ~ ~ 0 +DEAL::0 0 ~ 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0938 ~ ~ -0.0541 ~ ~ 0.0541 ~ ~ 0.0312 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0938 ~ ~ -0.0541 ~ ~ 0.0541 ~ ~ 0.0312 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ 0.0937 ~ ~ 0.0541 ~ ~ 0.0541 ~ ~ 0.0312 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 ~ ~ 0 0 0 0 ~ ~ ~ 0.0937 ~ ~ 0.0541 ~ ~ 0.0541 ~ ~ 0.0312 DEAL::RaviartThomas1<3> embedding 3 DEAL::-0.0625 -0.0541 0.0541 0.0469 -0.0625 -0.0541 0.0541 0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.375 ~ ~ 0.325 ~ ~ -0.325 ~ ~ -0.281 ~ ~ -DEAL::~ -0.0313 ~ 0.0271 ~ -0.0312 ~ 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ ~ ~ ~ -0.162 ~ ~ +DEAL::~ -0.0313 ~ 0.0271 ~ -0.0313 ~ 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ ~ ~ ~ -0.162 ~ ~ DEAL::~ ~ -0.0312 -0.0271 ~ ~ -0.0312 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.187 ~ ~ 0.162 ~ ~ -DEAL::~ ~ ~ -0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0938 ~ ~ +DEAL::~ ~ ~ -0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0937 ~ ~ DEAL::~ ~ ~ ~ 0.250 0.217 -0.217 -0.188 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ 0.125 ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ -0.0625 0.0541 -0.0541 0.0469 -0.0625 0.0541 -0.0541 0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.375 ~ ~ 0.325 ~ ~ -0.325 ~ ~ -0.281 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 ~ -0.0271 ~ -0.0312 ~ -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.187 ~ ~ 0.162 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 ~ -0.0271 ~ -0.0313 ~ -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.187 ~ ~ 0.162 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 0.0271 ~ ~ -0.0312 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.187 ~ ~ ~ ~ ~ -0.162 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0937 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 -0.217 0.217 -0.188 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -4672,29 +5840,29 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0625 -0.0541 -0.0541 -0.0469 -0.0625 -0.0541 -0.0541 -0.0469 ~ ~ 0.375 ~ ~ 0.325 ~ ~ 0.325 ~ ~ 0.281 DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 ~ -0.0271 ~ -0.0313 ~ -0.0271 ~ ~ ~ ~ ~ 0.188 ~ ~ ~ ~ ~ 0.162 DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 -0.0271 ~ ~ -0.0312 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ 0.187 ~ ~ 0.162 -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0937 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0938 DEAL::-0.0625 -0.0541 0.0541 0.0469 0.0625 0.0541 -0.0541 -0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ 0.217 ~ ~ -0.217 ~ ~ -0.188 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ -0.0625 0.0541 -0.0541 0.0469 0.0625 -0.0541 0.0541 -0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ 0.217 ~ ~ -0.217 ~ ~ -0.187 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 0.0541 0.0541 0.0469 -0.0625 -0.0541 -0.0541 -0.0469 ~ ~ 0.250 ~ ~ 0.217 ~ ~ 0.217 ~ ~ 0.188 -DEAL::~ -0.0313 ~ 0.0271 ~ 0.0313 ~ -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ -0.108 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 0.0271 ~ ~ 0.0312 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ -0.108 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 ~ 0.0271 ~ -0.0312 ~ -0.0271 ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ 0.108 +DEAL::~ -0.0313 ~ 0.0271 ~ 0.0312 ~ -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ -0.108 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 0.0271 ~ ~ 0.0312 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ -0.108 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 ~ 0.0271 ~ -0.0313 ~ -0.0271 ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ 0.108 DEAL::~ ~ -0.0312 -0.0271 ~ ~ 0.0312 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0.108 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 ~ -0.0271 ~ 0.0313 ~ 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0.108 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 0.0271 ~ ~ -0.0313 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0.108 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 0.0271 ~ ~ -0.0312 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0.108 DEAL::~ ~ ~ -0.0156 ~ ~ ~ 0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0156 ~ ~ ~ 0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 DEAL::RaviartThomas1<3> restriction 4 -DEAL::0.250 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.250 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::-0.217 0.125 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::0.217 0 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.217 0 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::-0.188 0.108 -0.108 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 ~ 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.217 0.125 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ -0.217 0 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ -0.188 -0.108 0.108 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -4706,51 +5874,51 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0.125 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 -0.108 -0.108 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ 0 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 ~ 0 ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ 0 +DEAL::0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ 0 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ 0 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 ~ ~ ~ 0.125 ~ ~ ~ ~ ~ 0 ~ ~ 0 DEAL::0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 ~ 0 0 0 ~ ~ -0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 -DEAL::0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ 0 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 ~ ~ 0 0 ~ 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ -0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ 0 -DEAL::0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0938 ~ ~ 0.0541 ~ ~ -0.0541 ~ ~ 0.0312 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ -0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 +DEAL::0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.108 ~ ~ ~ ~ ~ 0.0625 ~ ~ 0 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 ~ 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ 0 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 ~ 0 0 0 0 0 0 ~ ~ -0.108 ~ ~ ~ ~ ~ 0.0625 ~ ~ 0 +DEAL::0 0 ~ 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0938 ~ ~ 0.0541 ~ ~ -0.0541 ~ ~ 0.0313 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0937 ~ ~ 0.0541 ~ ~ -0.0541 ~ ~ 0.0313 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ 0.0938 ~ ~ -0.0541 ~ ~ -0.0541 ~ ~ 0.0312 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ 0.0938 ~ ~ -0.0541 ~ ~ -0.0541 ~ ~ 0.0313 DEAL::RaviartThomas1<3> embedding 4 -DEAL::0.250 -0.217 0.217 -0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.250 -0.217 0.217 -0.188 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ 0.125 ~ 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::-0.0625 0.0541 -0.0541 0.0469 -0.0625 0.0541 -0.0541 0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.375 ~ ~ -0.325 ~ ~ 0.325 ~ ~ -0.281 ~ ~ -DEAL::~ -0.0313 ~ -0.0271 ~ -0.0312 ~ -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.187 ~ ~ ~ ~ ~ 0.162 ~ ~ -DEAL::~ ~ -0.0313 0.0271 ~ ~ -0.0312 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ -0.162 ~ ~ -DEAL::~ ~ ~ -0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0937 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.250 0.217 -0.217 -0.187 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ -0.0313 ~ -0.0271 ~ -0.0313 ~ -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ ~ ~ ~ 0.162 ~ ~ +DEAL::~ ~ -0.0312 0.0271 ~ ~ -0.0313 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ -0.162 ~ ~ +DEAL::~ ~ ~ -0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0938 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.250 0.217 -0.217 -0.188 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ -0.0625 -0.0541 0.0541 0.0469 -0.0625 -0.0541 0.0541 0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.375 ~ ~ -0.325 ~ ~ 0.325 ~ ~ -0.281 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 ~ 0.0271 ~ -0.0313 ~ 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ -0.162 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 ~ 0.0271 ~ -0.0313 ~ 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ -0.162 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 -0.0271 ~ ~ -0.0312 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ ~ ~ ~ 0.162 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0938 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0625 0.0541 0.0541 -0.0469 -0.0625 0.0541 0.0541 -0.0469 ~ ~ 0.375 ~ ~ -0.325 ~ ~ -0.325 ~ ~ 0.281 DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 ~ 0.0271 ~ -0.0312 ~ 0.0271 ~ ~ ~ ~ ~ 0.187 ~ ~ ~ ~ ~ -0.162 -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 0.0271 ~ ~ -0.0312 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ -0.162 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 0.0271 ~ ~ -0.0313 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ -0.162 DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0937 DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 -0.217 -0.217 0.188 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::0.0625 -0.0541 0.0541 -0.0469 -0.0625 0.0541 -0.0541 0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ -0.217 ~ ~ 0.217 ~ ~ -0.187 ~ ~ +DEAL::0.0625 -0.0541 0.0541 -0.0469 -0.0625 0.0541 -0.0541 0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ -0.217 ~ ~ 0.217 ~ ~ -0.188 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.0625 0.0541 -0.0541 -0.0469 -0.0625 -0.0541 0.0541 0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ -0.217 ~ ~ 0.217 ~ ~ -0.188 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0625 0.0541 0.0541 -0.0469 0.0625 -0.0541 -0.0541 0.0469 ~ ~ 0.250 ~ ~ -0.217 ~ ~ -0.217 ~ ~ 0.188 -DEAL::~ 0.0313 ~ 0.0271 ~ -0.0312 ~ -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ 0.108 ~ ~ +DEAL::~ 0.0313 ~ 0.0271 ~ -0.0313 ~ -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ 0.108 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 0.0271 ~ ~ -0.0312 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ 0.108 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 ~ 0.0271 ~ 0.0312 ~ -0.0271 ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ -0.108 DEAL::~ ~ 0.0312 -0.0271 ~ ~ -0.0312 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ -0.108 ~ ~ @@ -4764,12 +5932,12 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ 0.250 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.250 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ -0.217 0.125 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ 0.217 0 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.217 0 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ -0.188 0.108 -0.108 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.217 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 ~ 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.217 0.125 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.217 0 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.188 0.108 0.108 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -4780,25 +5948,25 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 ~ 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.217 0.125 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.188 -0.108 0.108 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ 0 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 ~ 0 ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ 0 +DEAL::0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ 0 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ 0 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 ~ ~ ~ 0.125 ~ ~ ~ ~ ~ 0 ~ ~ 0 DEAL::0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 ~ 0 0 0 0 ~ 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 ~ ~ 0 0 ~ 0 ~ ~ 0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 -DEAL::0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ 0 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 ~ ~ 0 0 ~ 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ -0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ 0 -DEAL::0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0938 ~ ~ 0.0541 ~ ~ -0.0541 ~ ~ 0.0312 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0937 ~ ~ 0.0541 ~ ~ 0.0541 ~ ~ 0.0312 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 ~ ~ ~ -0.0938 ~ ~ -0.0541 ~ ~ 0.0541 ~ ~ 0.0313 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0 ~ 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 ~ ~ ~ 0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 +DEAL::0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.108 ~ ~ ~ ~ ~ 0.0625 ~ ~ 0 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 ~ 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ 0 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 ~ 0 0 0 0 0 0 ~ ~ -0.108 ~ ~ ~ ~ ~ 0.0625 ~ ~ 0 +DEAL::0 0 ~ 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0938 ~ ~ 0.0541 ~ ~ -0.0541 ~ ~ 0.0313 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 ~ 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0937 ~ ~ 0.0541 ~ ~ 0.0541 ~ ~ 0.0312 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 ~ 0 0 0 0 0 ~ ~ ~ -0.0937 ~ ~ -0.0541 ~ ~ 0.0541 ~ ~ 0.0312 DEAL::RaviartThomas1<3> embedding 5 DEAL::-0.0625 0.0541 -0.0541 0.0469 -0.0625 0.0541 -0.0541 0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.375 ~ ~ -0.325 ~ ~ 0.325 ~ ~ -0.281 ~ ~ -DEAL::~ -0.0313 ~ -0.0271 ~ -0.0312 ~ -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.187 ~ ~ ~ ~ ~ 0.162 ~ ~ +DEAL::~ -0.0313 ~ -0.0271 ~ -0.0312 ~ -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ ~ ~ ~ 0.162 ~ ~ DEAL::~ ~ -0.0313 0.0271 ~ ~ -0.0313 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ -0.162 ~ ~ DEAL::~ ~ ~ -0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0937 ~ ~ DEAL::~ ~ ~ ~ 0.250 -0.217 0.217 -0.188 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -4811,22 +5979,22 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.12 DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ -0.0625 -0.0541 -0.0541 -0.0469 -0.0625 -0.0541 -0.0541 -0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.375 ~ ~ 0.325 ~ ~ 0.325 ~ ~ 0.281 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 ~ -0.0271 ~ -0.0313 ~ -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ 0.162 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 -0.0271 ~ ~ -0.0312 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ ~ ~ ~ 0.162 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 -0.0271 ~ ~ -0.0313 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ ~ ~ ~ 0.162 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0937 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0625 -0.0541 0.0541 0.0469 -0.0625 -0.0541 0.0541 0.0469 ~ ~ 0.375 ~ ~ 0.325 ~ ~ -0.325 ~ ~ -0.281 -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 ~ 0.0271 ~ -0.0313 ~ 0.0271 ~ ~ ~ ~ ~ 0.188 ~ ~ ~ ~ ~ -0.162 -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 -0.0271 ~ ~ -0.0312 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ 0.162 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 ~ 0.0271 ~ -0.0312 ~ 0.0271 ~ ~ ~ ~ ~ 0.188 ~ ~ ~ ~ ~ -0.162 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 -0.0271 ~ ~ -0.0313 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ 0.162 DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0938 DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0.217 -0.217 -0.188 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::-0.0625 0.0541 -0.0541 0.0469 0.0625 -0.0541 0.0541 -0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ -0.217 ~ ~ 0.217 ~ ~ -0.187 ~ ~ +DEAL::-0.0625 0.0541 -0.0541 0.0469 0.0625 -0.0541 0.0541 -0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ -0.217 ~ ~ 0.217 ~ ~ -0.188 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.0625 0.0541 0.0541 0.0469 -0.0625 -0.0541 -0.0541 -0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ 0.217 ~ ~ 0.217 ~ ~ 0.187 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0625 -0.0541 0.0541 0.0469 0.0625 0.0541 -0.0541 -0.0469 ~ ~ 0.250 ~ ~ 0.217 ~ ~ -0.217 ~ ~ -0.188 DEAL::~ -0.0313 ~ -0.0271 ~ 0.0313 ~ 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ 0.108 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0312 0.0271 ~ ~ -0.0312 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ 0.108 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 ~ 0.0271 ~ 0.0312 ~ -0.0271 ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ -0.108 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 0.0271 ~ ~ -0.0312 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ 0.108 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 ~ 0.0271 ~ 0.0313 ~ -0.0271 ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ -0.108 DEAL::~ ~ -0.0313 0.0271 ~ ~ 0.0312 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ -0.108 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0313 ~ 0.0271 ~ -0.0313 ~ -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0.108 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 -0.0271 ~ ~ 0.0312 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0.108 @@ -4834,8 +6002,8 @@ DEAL::~ ~ ~ -0.0156 ~ ~ ~ 0.0156 ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0156 ~ ~ ~ 0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 DEAL::RaviartThomas1<3> restriction 6 -DEAL::0.250 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::0.217 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.250 0 ~ 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.217 0.125 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::0.217 0 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::0.188 0.108 0.108 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -4846,7 +6014,7 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 ~ 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.217 0.125 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.188 -0.108 0.108 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -4854,34 +6022,34 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0.125 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.217 0 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.217 0 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.188 0.108 -0.108 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ 0 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 ~ 0 ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ 0 +DEAL::0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ 0 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ 0 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 ~ ~ ~ 0.125 ~ ~ ~ ~ ~ 0 ~ ~ 0 DEAL::0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 ~ 0 0 0 ~ ~ -0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 -DEAL::0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ 0 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 ~ ~ 0 0 ~ 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ 0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ 0 -DEAL::0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0937 ~ ~ 0.0541 ~ ~ 0.0541 ~ ~ 0.0312 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ -0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 +DEAL::0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.108 ~ ~ ~ ~ ~ 0.0625 ~ ~ 0 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 ~ 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ 0 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 ~ 0 ~ ~ ~ 0.108 ~ ~ ~ ~ ~ 0.0625 ~ ~ 0 +DEAL::0 0 ~ 0 0 0 ~ 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0937 ~ ~ 0.0541 ~ ~ 0.0541 ~ ~ 0.0312 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0937 ~ ~ 0.0541 ~ ~ -0.0541 ~ ~ 0.0313 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ -0.0937 ~ ~ 0.0541 ~ ~ -0.0541 ~ ~ 0.0313 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ -0.0937 ~ ~ 0.0541 ~ ~ -0.0541 ~ ~ 0.0312 DEAL::RaviartThomas1<3> embedding 6 DEAL::0.250 0.217 0.217 0.188 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ 0.125 ~ 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::-0.0625 -0.0541 -0.0541 -0.0469 -0.0625 -0.0541 -0.0541 -0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.375 ~ ~ 0.325 ~ ~ 0.325 ~ ~ 0.281 ~ ~ -DEAL::~ -0.0313 ~ -0.0271 ~ -0.0313 ~ -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.187 ~ ~ ~ ~ ~ 0.162 ~ ~ -DEAL::~ ~ -0.0313 -0.0271 ~ ~ -0.0312 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ 0.162 ~ ~ +DEAL::~ -0.0313 ~ -0.0271 ~ -0.0313 ~ -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ ~ ~ ~ 0.162 ~ ~ +DEAL::~ ~ -0.0313 -0.0271 ~ ~ -0.0312 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.187 ~ ~ 0.162 ~ ~ DEAL::~ ~ ~ -0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0937 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ -0.0625 -0.0541 0.0541 0.0469 -0.0625 -0.0541 0.0541 0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.375 ~ ~ -0.325 ~ ~ 0.325 ~ ~ -0.281 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 ~ 0.0271 ~ -0.0312 ~ 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ -0.162 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 -0.0271 ~ ~ -0.0312 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ ~ ~ ~ 0.162 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 ~ 0.0271 ~ -0.0313 ~ 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ -0.162 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 -0.0271 ~ ~ -0.0313 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.187 ~ ~ ~ ~ ~ 0.162 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0938 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0.217 -0.217 -0.188 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -4889,21 +6057,21 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0625 0.0541 -0.0541 0.0469 -0.0625 0.0541 -0.0541 0.0469 ~ ~ 0.375 ~ ~ -0.325 ~ ~ 0.325 ~ ~ -0.281 DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 ~ -0.0271 ~ -0.0312 ~ -0.0271 ~ ~ ~ ~ ~ 0.187 ~ ~ ~ ~ ~ 0.162 -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 0.0271 ~ ~ -0.0313 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ 0.187 ~ ~ -0.162 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 0.0271 ~ ~ -0.0312 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ 0.187 ~ ~ -0.162 DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0938 DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 -0.217 0.217 -0.188 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::0.0625 0.0541 0.0541 0.0469 -0.0625 -0.0541 -0.0541 -0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ 0.217 ~ ~ 0.217 ~ ~ 0.187 ~ ~ +DEAL::0.0625 0.0541 0.0541 0.0469 -0.0625 -0.0541 -0.0541 -0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ 0.217 ~ ~ 0.217 ~ ~ 0.188 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ -0.0625 -0.0541 0.0541 0.0469 0.0625 0.0541 -0.0541 -0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ -0.217 ~ ~ 0.217 ~ ~ -0.188 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0625 0.0541 -0.0541 0.0469 0.0625 -0.0541 0.0541 -0.0469 ~ ~ 0.250 ~ ~ -0.217 ~ ~ 0.217 ~ ~ -0.188 -DEAL::~ 0.0313 ~ 0.0271 ~ -0.0312 ~ -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ 0.108 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 -0.0271 ~ ~ 0.0312 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ 0.108 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 ~ -0.0271 ~ 0.0312 ~ 0.0271 ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ 0.108 -DEAL::~ ~ 0.0313 0.0271 ~ ~ -0.0312 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0.108 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 ~ 0.0271 ~ 0.0313 ~ -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ -0.108 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 0.0271 ~ ~ 0.0312 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ -0.108 +DEAL::~ 0.0312 ~ 0.0271 ~ -0.0312 ~ -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ 0.108 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 -0.0271 ~ ~ 0.0313 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ 0.108 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 ~ -0.0271 ~ 0.0313 ~ 0.0271 ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ 0.108 +DEAL::~ ~ 0.0312 0.0271 ~ ~ -0.0312 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0.108 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 ~ 0.0271 ~ 0.0312 ~ -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ -0.108 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 0.0271 ~ ~ 0.0313 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ -0.108 DEAL::~ ~ ~ 0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0156 ~ ~ ~ 0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0156 ~ ~ ~ 0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 @@ -4912,7 +6080,7 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ 0.250 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.250 0 ~ 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ 0.217 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ 0.217 0 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ 0.188 0.108 0.108 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -4920,33 +6088,33 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.217 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 ~ 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.217 0.125 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.217 0 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 0.108 0.108 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.217 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0 ~ 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.217 0.125 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.217 0 0.125 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 0.108 0.108 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ 0 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 ~ 0 ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ 0 +DEAL::0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ 0 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0 ~ ~ 0 ~ ~ 0 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 ~ ~ ~ 0.125 ~ ~ ~ ~ ~ 0 ~ ~ 0 DEAL::0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 ~ 0 0 0 0 ~ 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 ~ ~ 0 0 ~ 0 ~ ~ 0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 -DEAL::0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ 0 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 ~ ~ 0 0 ~ 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ 0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ 0 -DEAL::0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0937 ~ ~ 0.0541 ~ ~ 0.0541 ~ ~ 0.0312 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0937 ~ ~ 0.0541 ~ ~ 0.0541 ~ ~ 0.0312 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 0 ~ ~ 0.0937 ~ ~ 0.0541 ~ ~ 0.0541 ~ ~ 0.0312 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 0 ~ 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 0 ~ ~ ~ 0.108 ~ ~ 0.0625 ~ ~ 0 ~ ~ 0 +DEAL::0 0 0 0 0 0 0 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.108 ~ ~ ~ ~ ~ 0.0625 ~ ~ 0 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 0 0 ~ 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.108 ~ ~ 0 ~ ~ 0.0625 ~ ~ 0 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 0 ~ 0 ~ ~ ~ 0.108 ~ ~ ~ ~ ~ 0.0625 ~ ~ 0 +DEAL::0 0 ~ 0 0 0 ~ 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0937 ~ ~ 0.0541 ~ ~ 0.0541 ~ ~ 0.0312 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 0 0 ~ 0 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0937 ~ ~ 0.0541 ~ ~ 0.0541 ~ ~ 0.0312 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0 ~ ~ 0 0 0 0 ~ ~ ~ 0.0937 ~ ~ 0.0541 ~ ~ 0.0541 ~ ~ 0.0312 DEAL::RaviartThomas1<3> embedding 7 DEAL::-0.0625 -0.0541 -0.0541 -0.0469 -0.0625 -0.0541 -0.0541 -0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.375 ~ ~ 0.325 ~ ~ 0.325 ~ ~ 0.281 ~ ~ -DEAL::~ -0.0313 ~ -0.0271 ~ -0.0312 ~ -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ ~ ~ ~ 0.162 ~ ~ +DEAL::~ -0.0313 ~ -0.0271 ~ -0.0313 ~ -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ ~ ~ ~ 0.162 ~ ~ DEAL::~ ~ -0.0313 -0.0271 ~ ~ -0.0313 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ 0.162 ~ ~ DEAL::~ ~ ~ -0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0937 ~ ~ DEAL::~ ~ ~ ~ 0.250 0.217 0.217 0.188 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -4955,29 +6123,29 @@ DEAL::~ ~ ~ ~ ~ ~ 0.125 0.108 ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ -0.0625 -0.0541 -0.0541 -0.0469 -0.0625 -0.0541 -0.0541 -0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.375 ~ ~ 0.325 ~ ~ 0.325 ~ ~ 0.281 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 ~ -0.0271 ~ -0.0312 ~ -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ 0.162 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 -0.0271 ~ ~ -0.0312 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ ~ ~ ~ 0.162 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0938 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 -0.0271 ~ ~ -0.0312 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.187 ~ ~ ~ ~ ~ 0.162 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0937 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0.217 0.217 0.188 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0625 -0.0541 -0.0541 -0.0469 -0.0625 -0.0541 -0.0541 -0.0469 ~ ~ 0.375 ~ ~ 0.325 ~ ~ 0.325 ~ ~ 0.281 -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 ~ -0.0271 ~ -0.0313 ~ -0.0271 ~ ~ ~ ~ ~ 0.188 ~ ~ ~ ~ ~ 0.162 -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 -0.0271 ~ ~ -0.0313 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ 0.187 ~ ~ 0.162 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 ~ -0.0271 ~ -0.0312 ~ -0.0271 ~ ~ ~ ~ ~ 0.188 ~ ~ ~ ~ ~ 0.162 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 -0.0271 ~ ~ -0.0312 -0.0271 ~ ~ ~ ~ ~ ~ ~ ~ 0.188 ~ ~ 0.162 DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0156 ~ ~ ~ -0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0938 DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 0.217 0.217 0.188 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 0.108 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::-0.0625 -0.0541 -0.0541 -0.0469 0.0625 0.0541 0.0541 0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ 0.217 ~ ~ 0.217 ~ ~ 0.188 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ -0.0625 -0.0541 -0.0541 -0.0469 0.0625 0.0541 0.0541 0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ 0.217 ~ ~ 0.217 ~ ~ 0.188 ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ -0.0625 -0.0541 -0.0541 -0.0469 0.0625 0.0541 0.0541 0.0469 ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.250 ~ ~ 0.217 ~ ~ 0.217 ~ ~ 0.187 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0625 -0.0541 -0.0541 -0.0469 0.0625 0.0541 0.0541 0.0469 ~ ~ 0.250 ~ ~ 0.217 ~ ~ 0.217 ~ ~ 0.188 -DEAL::~ -0.0313 ~ -0.0271 ~ 0.0313 ~ 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ 0.108 ~ ~ +DEAL::~ -0.0313 ~ -0.0271 ~ 0.0312 ~ 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ 0.108 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 -0.0271 ~ ~ 0.0313 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ 0.108 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 ~ -0.0271 ~ 0.0313 ~ 0.0271 ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ 0.108 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 ~ -0.0271 ~ 0.0313 ~ 0.0271 ~ ~ ~ ~ ~ 0.125 ~ ~ ~ ~ ~ 0.108 DEAL::~ ~ -0.0313 -0.0271 ~ ~ 0.0312 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0.108 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 ~ -0.0271 ~ 0.0313 ~ 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0.108 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0313 -0.0271 ~ ~ 0.0313 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0.108 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0312 -0.0271 ~ ~ 0.0313 0.0271 ~ ~ ~ ~ ~ ~ ~ ~ 0.125 ~ ~ 0.108 DEAL::~ ~ ~ -0.0156 ~ ~ ~ 0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0156 ~ ~ ~ 0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0156 ~ ~ ~ 0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 @@ -9789,18 +10957,18 @@ DEAL::~ 0.2500000 ~ ~ DEAL::~ ~ 0.5000000 0.4330127 DEAL::~ ~ ~ 0.2500000 DEAL::FE_DGQ<2>(3)1FE_Nedelec<2>(1)2<2> restriction 0 -DEAL::1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::-0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -9821,14 +10989,14 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.00694 -0.0304 -0.0773 -0.0153 -0.0104 0.0456 0.116 0.0230 -0.0104 0.0456 0.116 0.0230 0.00347 -0.0152 -0.0386 0.00767 ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.00434 0.0148 0.00868 -0.0107 0.00651 -0.0221 0.0130 0.0161 0.00651 -0.0221 0.0130 0.0161 0.00217 0.00738 0.00434 0.00535 ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0156 -0.0234 -0.0234 0.00781 -0.0234 0.0352 0.0352 -0.0117 -0.0234 0.0352 0.0352 -0.0117 0.00781 -0.0117 -0.0117 0.00391 ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.851 -0.0627 ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ -0.769 0.371 ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ +DEAL::0.851 -0.0627 ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ +DEAL::-0.769 0.371 ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 -0.0627 ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 0.371 ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ +DEAL::~ ~ 0.851 -0.0627 ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 +DEAL::~ ~ -0.769 0.371 ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 DEAL::FE_DGQ<2>(3)1FE_Nedelec<2>(1)2<2> embedding 0 DEAL::0.500 -0.433 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -9875,14 +11043,14 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -9903,14 +11071,14 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0107 0.00868 0.0148 0.00434 0.0161 0.0130 -0.0221 0.00651 0.0161 0.0130 -0.0221 0.00651 0.00535 0.00434 0.00738 0.00217 ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0153 -0.0773 -0.0304 0.00694 0.0230 0.116 0.0456 -0.0104 0.0230 0.116 0.0456 -0.0104 0.00767 -0.0386 -0.0152 0.00347 ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.00781 0.0938 -0.117 -0.0859 -0.0117 -0.141 0.176 0.129 -0.0117 -0.141 0.176 0.129 0.00391 0.0469 -0.0586 -0.0430 ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.851 0.0627 ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.769 0.371 ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ +DEAL::-0.851 0.0627 ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ +DEAL::0.769 -0.371 ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 0.0627 ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 0.371 ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ +DEAL::~ ~ -0.851 0.0627 ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 +DEAL::~ ~ 0.769 -0.371 ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 DEAL::FE_DGQ<2>(3)1FE_Nedelec<2>(1)2<2> embedding 1 DEAL::0.250 -0.217 ~ ~ 0.250 -0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 0.188 ~ ~ ~ ~ DEAL::~ 0.125 ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ @@ -9953,10 +11121,10 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.125 -0.108 DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0625 DEAL::FE_DGQ<2>(3)1FE_Nedelec<2>(1)2<2> restriction 2 -DEAL::1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -9965,10 +11133,10 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0430 -0.0586 0.0469 0.00391 0.129 0.176 -0.141 -0.0117 0.129 0.176 -0.141 -0.0117 -0.0859 -0.117 0.0938 0.00781 ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.00347 -0.0152 -0.0386 0.00767 -0.0104 0.0456 0.116 0.0230 -0.0104 0.0456 0.116 0.0230 0.00694 -0.0304 -0.0773 -0.0153 ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.00217 0.00738 0.00434 0.00535 0.00651 -0.0221 0.0130 0.0161 0.00651 -0.0221 0.0130 0.0161 0.00434 0.0148 0.00868 -0.0107 ~ ~ ~ ~ ~ ~ ~ ~ @@ -9985,14 +11153,14 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.00347 -0.0152 -0.0386 0.00767 0.0417 -0.182 -0.464 -0.0920 -0.0521 0.228 0.579 0.115 -0.0382 0.167 0.425 0.0843 ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.00217 0.00738 0.00434 0.00535 -0.0260 0.0885 -0.0521 -0.0642 0.0326 -0.111 0.0651 0.0803 0.0239 -0.0812 0.0477 0.0589 ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.00781 -0.0117 -0.0117 0.00391 0.0938 -0.141 -0.141 0.0469 -0.117 0.176 0.176 -0.0586 -0.0859 0.129 0.129 -0.0430 ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ -0.851 0.0627 ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ 0.769 -0.371 ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ +DEAL::0.851 0.0627 ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ +DEAL::0.769 0.371 ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 0.0627 ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 -0.371 ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ +DEAL::~ ~ 0.851 0.0627 ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 +DEAL::~ ~ 0.769 0.371 ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 DEAL::FE_DGQ<2>(3)1FE_Nedelec<2>(1)2<2> embedding 2 DEAL::0.500 0.433 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ 0.250 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -10039,18 +11207,18 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.00391 -0.0117 -0.0117 0.00781 -0.0117 0.0352 0.0352 -0.0234 -0.0117 0.0352 0.0352 -0.0234 0.00781 -0.0234 -0.0234 0.0156 ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.00535 0.00434 0.00738 0.00217 0.0161 0.0130 -0.0221 0.00651 0.0161 0.0130 -0.0221 0.00651 -0.0107 0.00868 0.0148 0.00434 ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.00767 -0.0386 -0.0152 0.00347 0.0230 0.116 0.0456 -0.0104 0.0230 0.116 0.0456 -0.0104 -0.0153 -0.0773 -0.0304 0.00694 ~ ~ ~ ~ ~ ~ ~ ~ @@ -10067,14 +11235,14 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.00535 0.00434 0.00738 0.00217 -0.0642 -0.0521 0.0885 -0.0260 0.0803 0.0651 -0.111 0.0326 0.0589 0.0477 -0.0812 0.0239 ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.00767 -0.0386 -0.0152 0.00347 -0.0920 -0.464 -0.182 0.0417 0.115 0.579 0.228 -0.0521 0.0843 0.425 0.167 -0.0382 ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.00391 0.0469 -0.0586 -0.0430 0.0469 0.563 -0.703 -0.516 -0.0586 -0.703 0.879 0.645 -0.0430 -0.516 0.645 0.473 ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ -0.851 -0.0627 ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ -0.769 -0.371 ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ +DEAL::-0.851 -0.0627 ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ +DEAL::-0.769 -0.371 ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 -0.0627 ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 -0.371 ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ +DEAL::~ ~ -0.851 -0.0627 ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 +DEAL::~ ~ -0.769 -0.371 ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 DEAL::FE_DGQ<2>(3)1FE_Nedelec<2>(1)2<2> embedding 3 DEAL::0.250 0.217 ~ ~ 0.250 0.217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.217 -0.188 ~ ~ ~ ~ DEAL::~ 0.125 ~ ~ ~ 0.125 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.108 ~ ~ ~ ~ @@ -10185,22 +11353,22 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -10217,22 +11385,22 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -10249,10 +11417,10 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.473 0.645 -0.516 -0.0430 0.645 0.879 -0.703 -0.0586 -0.516 -0.703 0.563 0.0469 -0.0430 -0.0586 0.0469 0.00391 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0382 0.167 0.425 0.0843 -0.0521 0.228 0.579 0.115 0.0417 -0.182 -0.464 -0.0920 0.00347 -0.0152 -0.0386 0.00767 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0239 -0.0812 0.0477 0.0589 0.0326 -0.111 0.0651 0.0803 -0.0260 0.0885 -0.0521 -0.0642 0.00217 0.00738 0.00434 0.00535 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -10304,25 +11472,25 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 DEAL::FE_Nedelec<2>(1)1FESystem<2>(FE_DGQ<2>(3),3)1FESystem<2>(FE_Q<2>(2),3, FE_Nedelec<2>(1),2)2<2> embedding 0 DEAL::1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -10527,38 +11695,38 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -10575,10 +11743,10 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0430 0.129 0.129 -0.0859 -0.0586 0.176 0.176 -0.117 0.0469 -0.141 -0.141 0.0938 0.00391 -0.0117 -0.0117 0.00781 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0589 0.0477 -0.0812 0.0239 0.0803 0.0651 -0.111 0.0326 -0.0642 -0.0521 0.0885 -0.0260 0.00535 0.00434 0.00738 0.00217 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.0843 0.425 0.167 -0.0382 0.115 0.579 0.228 -0.0521 -0.0920 -0.464 -0.182 0.0417 0.00767 -0.0386 -0.0152 0.00347 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -10630,25 +11798,25 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 DEAL::FE_Nedelec<2>(1)1FESystem<2>(FE_DGQ<2>(3),3)1FESystem<2>(FE_Q<2>(2),3, FE_Nedelec<2>(1),2)2<2> embedding 1 DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -10837,22 +12005,22 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -10885,26 +12053,26 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 -0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.0430 -0.0586 0.0469 0.00391 0.129 0.176 -0.141 -0.0117 0.129 0.176 -0.141 -0.0117 -0.0859 -0.117 0.0938 0.00781 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.00347 -0.0152 -0.0386 0.00767 -0.0104 0.0456 0.116 0.0230 -0.0104 0.0456 0.116 0.0230 0.00694 -0.0304 -0.0773 -0.0153 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.00217 0.00738 0.00434 0.00535 0.00651 -0.0221 0.0130 0.0161 0.00651 -0.0221 0.0130 0.0161 0.00434 0.0148 0.00868 -0.0107 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -10956,25 +12124,25 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 -0.0387 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.475 0.229 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 DEAL::FE_Nedelec<2>(1)1FESystem<2>(FE_DGQ<2>(3),3)1FESystem<2>(FE_Q<2>(2),3, FE_Nedelec<2>(1),2)2<2> embedding 2 DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -11179,22 +12347,22 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -11211,26 +12379,26 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 0.0737 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.903 0.436 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.00391 -0.0117 -0.0117 0.00781 -0.0117 0.0352 0.0352 -0.0234 -0.0117 0.0352 0.0352 -0.0234 0.00781 -0.0234 -0.0234 0.0156 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.00535 0.00434 0.00738 0.00217 0.0161 0.0130 -0.0221 0.00651 0.0161 0.0130 -0.0221 0.00651 -0.0107 0.00868 0.0148 0.00434 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.00767 -0.0386 -0.0152 0.00347 0.0230 0.116 0.0456 -0.0104 0.0230 0.116 0.0456 -0.0104 -0.0153 -0.0773 -0.0304 0.00694 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -11282,25 +12450,25 @@ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 ~ -DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.500 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 ~ ~ +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.851 -0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.851 0.0627 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.526 0.0387 +DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -0.769 -0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.769 0.371 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0.475 0.229 DEAL::FE_Nedelec<2>(1)1FESystem<2>(FE_DGQ<2>(3),3)1FESystem<2>(FE_Q<2>(2),3, FE_Nedelec<2>(1),2)2<2> embedding 3 DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ DEAL::~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1.00 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ diff --git a/tests/fe/up_and_down.cc b/tests/fe/up_and_down.cc index 7f886be7c1..3e1515f6a9 100644 --- a/tests/fe/up_and_down.cc +++ b/tests/fe/up_and_down.cc @@ -172,6 +172,7 @@ void test () // a non-primitive FE (dim != 1 ? new FE_Nedelec(0) : 0), + (dim != 1 ? new FE_Nedelec(1) : 0), // some composed elements // of increasing diff --git a/tests/fe/up_and_down/cmp/generic b/tests/fe/up_and_down/cmp/generic index 828010f114..2a31bcd6db 100644 --- a/tests/fe/up_and_down/cmp/generic +++ b/tests/fe/up_and_down/cmp/generic @@ -8,11 +8,11 @@ DEAL::1d, uniform grid, fe #5, dofs_per_cell=2; relative residual: ok DEAL::1d, uniform grid, fe #6, dofs_per_cell=3; relative residual: ok DEAL::1d, uniform grid, fe #7, dofs_per_cell=4; relative residual: ok DEAL::1d, uniform grid, fe #8, dofs_per_cell=5; relative residual: ok -DEAL::1d, uniform grid, fe #10, dofs_per_cell=6; relative residual: ok -DEAL::1d, uniform grid, fe #11, dofs_per_cell=10; relative residual: ok -DEAL::1d, uniform grid, fe #12, dofs_per_cell=11; relative residual: ok -DEAL::1d, uniform grid, fe #13, dofs_per_cell=31; relative residual: ok +DEAL::1d, uniform grid, fe #11, dofs_per_cell=6; relative residual: ok +DEAL::1d, uniform grid, fe #12, dofs_per_cell=10; relative residual: ok +DEAL::1d, uniform grid, fe #13, dofs_per_cell=11; relative residual: ok DEAL::1d, uniform grid, fe #14, dofs_per_cell=31; relative residual: ok +DEAL::1d, uniform grid, fe #15, dofs_per_cell=31; relative residual: ok DEAL::2d, uniform grid, fe #0, dofs_per_cell=4; relative residual: ok DEAL::2d, uniform grid, fe #1, dofs_per_cell=9; relative residual: ok DEAL::2d, uniform grid, fe #2, dofs_per_cell=16; relative residual: ok @@ -22,14 +22,15 @@ DEAL::2d, uniform grid, fe #6, dofs_per_cell=9; relative residual: ok DEAL::2d, uniform grid, fe #7, dofs_per_cell=16; relative residual: ok DEAL::2d, uniform grid, fe #8, dofs_per_cell=25; relative residual: ok DEAL::2d, uniform grid, fe #9, dofs_per_cell=4; relative residual: ok -DEAL::2d, uniform grid, fe #10, dofs_per_cell=18; relative residual: ok -DEAL::2d, uniform grid, fe #11, dofs_per_cell=26; relative residual: ok -DEAL::2d, uniform grid, fe #12, dofs_per_cell=27; relative residual: ok -DEAL::2d, uniform grid, fe #13, dofs_per_cell=79; relative residual: ok -DEAL::2d, uniform grid, fe #14, dofs_per_cell=67; relative residual: ok -DEAL::2d, uniform grid, fe #15, dofs_per_cell=8; relative residual: ok -DEAL::2d, uniform grid, fe #16, dofs_per_cell=26; relative residual: ok -DEAL::2d, uniform grid, fe #17, dofs_per_cell=78; relative residual: ok +DEAL::2d, uniform grid, fe #10, dofs_per_cell=12; relative residual: ok +DEAL::2d, uniform grid, fe #11, dofs_per_cell=18; relative residual: ok +DEAL::2d, uniform grid, fe #12, dofs_per_cell=26; relative residual: ok +DEAL::2d, uniform grid, fe #13, dofs_per_cell=27; relative residual: ok +DEAL::2d, uniform grid, fe #14, dofs_per_cell=79; relative residual: ok +DEAL::2d, uniform grid, fe #15, dofs_per_cell=67; relative residual: ok +DEAL::2d, uniform grid, fe #16, dofs_per_cell=8; relative residual: ok +DEAL::2d, uniform grid, fe #17, dofs_per_cell=26; relative residual: ok +DEAL::2d, uniform grid, fe #18, dofs_per_cell=78; relative residual: ok DEAL::3d, uniform grid, fe #0, dofs_per_cell=8; relative residual: ok DEAL::3d, uniform grid, fe #1, dofs_per_cell=27; relative residual: ok DEAL::3d, uniform grid, fe #4, dofs_per_cell=1; relative residual: ok @@ -37,10 +38,11 @@ DEAL::3d, uniform grid, fe #5, dofs_per_cell=8; relative residual: ok DEAL::3d, uniform grid, fe #6, dofs_per_cell=27; relative residual: ok DEAL::3d, uniform grid, fe #9, dofs_per_cell=12; relative residual: ok DEAL::3d, uniform grid, fe #10, dofs_per_cell=54; relative residual: ok -DEAL::3d, uniform grid, fe #11, dofs_per_cell=70; relative residual: ok -DEAL::3d, uniform grid, fe #12, dofs_per_cell=71; relative residual: ok -DEAL::3d, uniform grid, fe #13, dofs_per_cell=211; relative residual: ok -DEAL::3d, uniform grid, fe #14, dofs_per_cell=163; relative residual: ok -DEAL::3d, uniform grid, fe #15, dofs_per_cell=24; relative residual: ok -DEAL::3d, uniform grid, fe #16, dofs_per_cell=78; relative residual: ok -DEAL::3d, uniform grid, fe #17, dofs_per_cell=234; relative residual: ok +DEAL::3d, uniform grid, fe #11, dofs_per_cell=54; relative residual: ok +DEAL::3d, uniform grid, fe #12, dofs_per_cell=70; relative residual: ok +DEAL::3d, uniform grid, fe #13, dofs_per_cell=71; relative residual: ok +DEAL::3d, uniform grid, fe #14, dofs_per_cell=211; relative residual: ok +DEAL::3d, uniform grid, fe #15, dofs_per_cell=163; relative residual: ok +DEAL::3d, uniform grid, fe #16, dofs_per_cell=24; relative residual: ok +DEAL::3d, uniform grid, fe #17, dofs_per_cell=78; relative residual: ok +DEAL::3d, uniform grid, fe #18, dofs_per_cell=234; relative residual: ok -- 2.39.5