From 2a3770508b80bc1787a9d1d8528c0d3f9505b076 Mon Sep 17 00:00:00 2001 From: Samuel Olivier Date: Wed, 9 Jul 2025 13:42:51 -0600 Subject: [PATCH 01/32] change std::mdspan -> mdspan::mdspan in CMake to conform to new export from Kokkos::mdspan --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 61f5350..211c737 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -129,7 +129,7 @@ add_subdirectory(src) # includes all third party libraries add_library(allium ${SOURCES} ${HEADERS}) target_link_libraries(allium PUBLIC ${MFEM_LIBRARIES} igraph::igraph - std::mdspan yaml-cpp::yaml-cpp ${LUA_LIBRARIES} sol2::sol2 OpenMP::OpenMP_CXX) + mdspan::mdspan yaml-cpp::yaml-cpp ${LUA_LIBRARIES} sol2::sol2 OpenMP::OpenMP_CXX) target_include_directories(allium PUBLIC ${MFEM_INCLUDE_DIRS} ${CMAKE_BINARY_DIR}/config ${PROJECT_SOURCE_DIR}/src ${LUA_INCLUDE_DIR}) @@ -206,4 +206,4 @@ configure_package_config_file( "${PROJECT_SOURCE_DIR}/data/${PROJECT_NAME}-config.cmake.in" "${PROJECT_BINARY_DIR}/${PROJECT_NAME}-config.cmake" INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}-${PROJECT_VERSION} -) \ No newline at end of file +) From 82c3885e43499e4d04fba773d9572aafc8865ecb Mon Sep 17 00:00:00 2001 From: Samuel Olivier Date: Wed, 20 Aug 2025 13:12:10 -0600 Subject: [PATCH 02/32] changes to support updating mfem --- src/io.cpp | 3 +- src/moment_discretization.cpp | 4 +- src/moment_integrators.cpp | 315 ++++++++++++++++++++++------------ src/moment_integrators.hpp | 8 +- src/smm_integrators.cpp | 8 +- src/smm_source.cpp | 6 +- test/test_diffusion_mms.cpp | 4 +- test/test_integrators.cpp | 18 +- 8 files changed, 234 insertions(+), 132 deletions(-) diff --git a/src/io.cpp b/src/io.cpp index 55e52f5..6c5e0ae 100644 --- a/src/io.cpp +++ b/src/io.cpp @@ -259,7 +259,8 @@ mfem::IterativeSolver *CreateIterativeSolver(sol::table &table, std::optionalSetMAA(kdim); + // kn->SetMAA(kdim); + kn->EnableAndersonAcc(kdim); table["kdim"] = kdim; s = kn; #else diff --git a/src/moment_discretization.cpp b/src/moment_discretization.cpp index 00e7f6b..2dc9f8b 100644 --- a/src/moment_discretization.cpp +++ b/src/moment_discretization.cpp @@ -158,7 +158,7 @@ mfem::HypreParMatrix *LDGDiscretization::GetOperator() const bfi = new mfem::TransposeIntegrator(new mfem::GradientIntegrator(neg_one)); if (lump_grad) bfi = new QuadratureLumpedIntegrator(bfi); Dform.AddDomainIntegrator(bfi); - bfi = new mfem::LDGTraceIntegrator(&beta); + bfi = new LDGTraceIntegrator(&beta); if (lump_face) bfi = new QuadratureLumpedIntegrator(bfi); Dform.AddInteriorFaceIntegrator(bfi); Dform.Assemble(); @@ -312,7 +312,7 @@ mfem::BlockOperator *BlockLDGDiscretization::GetOperator() const bfi = new mfem::TransposeIntegrator(new mfem::GradientIntegrator(neg_one)); if (lump_grad) bfi = new QuadratureLumpedIntegrator(bfi); Dform.AddDomainIntegrator(bfi); - bfi = new mfem::LDGTraceIntegrator(&beta); + bfi = new LDGTraceIntegrator(&beta); if (lump_face) bfi = new QuadratureLumpedIntegrator(bfi); Dform.AddInteriorFaceIntegrator(bfi); Dform.Assemble(); diff --git a/src/moment_integrators.cpp b/src/moment_integrators.cpp index b1bdf19..c1aa383 100644 --- a/src/moment_integrators.cpp +++ b/src/moment_integrators.cpp @@ -286,8 +286,8 @@ void PenaltyIntegrator::AssembleFaceMatrix(const mfem::FiniteElement &el1, const } } -void DGJumpAverageIntegrator::AssembleFaceMatrix(const mfem::FiniteElement &tr_fe1, const mfem::FiniteElement &tr_fe2, - const mfem::FiniteElement &te_fe1, const mfem::FiniteElement &te_fe2, +void DGJumpAverageIntegrator::AssembleFaceMatrix(const mfem::FiniteElement &tr_fe1, const mfem::FiniteElement &te_fe1, + const mfem::FiniteElement &tr_fe2, const mfem::FiniteElement &te_fe2, mfem::FaceElementTransformations &trans, mfem::DenseMatrix &elmat) { int dim, te_ndof1, te_ndof2, te_ndofs, tr_ndof1, tr_ndof2, tr_ndofs; @@ -389,8 +389,8 @@ void DGJumpAverageIntegrator::AssembleFaceMatrix(const mfem::FiniteElement &tr_f } void DGVectorJumpAverageIntegrator::AssembleFaceMatrix( - const mfem::FiniteElement &tr_fe1, const mfem::FiniteElement &tr_fe2, - const mfem::FiniteElement &te_fe1, const mfem::FiniteElement &te_fe2, + const mfem::FiniteElement &tr_fe1, const mfem::FiniteElement &te_fe1, + const mfem::FiniteElement &tr_fe2, const mfem::FiniteElement &te_fe2, mfem::FaceElementTransformations &trans, mfem::DenseMatrix &elmat) { int dim, te_ndof1, te_ndof2, te_ndofs, tr_ndof1, tr_ndof2, tr_ndofs; @@ -591,115 +591,216 @@ void DGVectorJumpJumpIntegrator::AssembleFaceMatrix(const mfem::FiniteElement &e } void LDGTraceIntegrator::AssembleFaceMatrix(const mfem::FiniteElement &tr_fe1, - const mfem::FiniteElement &tr_fe2, - const mfem::FiniteElement &te_fe1, + const mfem::FiniteElement &te_fe1, + const mfem::FiniteElement &tr_fe2, const mfem::FiniteElement &te_fe2, mfem::FaceElementTransformations &T, mfem::DenseMatrix &elmat) { - int dim = tr_fe1.GetDim(); - nor.SetSize(dim); - int tr_ndof1, te_ndof1, tr_ndof2, te_ndof2, tr_ndofs, te_ndofs; - tr_ndof1 = tr_fe1.GetDof(); - te_ndof1 = te_fe1.GetDof(); - tr_shape1.SetSize(tr_ndof1); - te_shape1.SetSize(te_ndof1); - - if (T.Elem2No >= 0) - { - tr_ndof2 = tr_fe2.GetDof(); - te_ndof2 = te_fe2.GetDof(); - tr_shape2.SetSize(tr_ndof2); - te_shape2.SetSize(te_ndof2); - } - else - { - tr_ndof2 = 0; - te_ndof2 = 0; - } - - tr_ndofs = tr_ndof1 + tr_ndof2; - te_ndofs = te_ndof1 + te_ndof2; - elmat.SetSize(te_ndofs, tr_ndofs*dim); - elmat = 0.0; - - const auto *ir = IntRule; - if (ir == NULL) - { - int order; - if (tr_ndof2) - { - order = std::max(tr_fe1.GetOrder(), tr_fe2.GetOrder()) - + std::max(te_fe1.GetOrder(), te_fe2.GetOrder()); - } - else - { - order = tr_fe1.GetOrder() + te_fe1.GetOrder(); - } - ir = &mfem::IntRules.Get(T.GetGeometryType(), order); - } - - A11.SetSize(te_ndof1, tr_ndof1); - A12.SetSize(te_ndof1, tr_ndof2); - A21.SetSize(tr_ndof2, te_ndof1); - A22.SetSize(te_ndof2, tr_ndof2); - - double w, sign; - for (int n=0; nGetNPoints(); n++) - { - const auto &ip = ir->IntPoint(n); - T.SetAllIntPoints(&ip); - const auto &eip1 = T.GetElement1IntPoint(); - const auto &eip2 = T.GetElement2IntPoint(); - if (dim == 1) { - nor(0) = 2*eip1.x - 1.0; - } else { - mfem::CalcOrtho(T.Jacobian(), nor); - } - w = ip.weight; - if (tr_ndof2) { w /= 2; } - // set sign = sign(beta . normal) - // use factor of half in weight to get sign/2 - if (beta and tr_ndof2) { sign = (*beta * nor >= 0 ? 1.0 : -1.0); } - else { sign = 0.0; } - - if (limit > 0) { - double c = coef->Eval(*T.Elem1, eip1); - if (tr_ndof2) { - c += coef->Eval(*T.Elem2, eip2); - c /= 2; - } - double k = kappa * T.Weight() / T.Elem1->Weight() * c; - if (k < limit) { - sign = 0.0; - } - } - - tr_fe1.CalcShape(eip1, tr_shape1); - te_fe1.CalcShape(eip1, te_shape1); - mfem::MultVWt(te_shape1, tr_shape1, A11); - for (int d=0; d= 0) + { + tr_ndof2 = tr_fe2.GetDof(); + te_ndof2 = te_fe2.GetDof(); + } + else + { + tr_ndof2 = 0; + te_ndof2 = 0; + } + + tr_ndofs = tr_ndof1 + tr_ndof2; + te_ndofs = te_ndof1 + te_ndof2; + elmat.SetSize(te_ndofs, tr_ndofs*dim); + elmat = 0.0; + + Vector ortho(dim), nor(dim); + Vector tr_s1(tr_ndof1); + Vector tr_s2(tr_ndof2); + Vector te_s1(te_ndof1); + Vector te_s2(te_ndof2); + + const IntegrationRule *ir = IntRule; + if (ir == NULL) + { + int order; + if (tr_ndof2) + { + order = std::max(tr_fe1.GetOrder(), tr_fe2.GetOrder()) + std::max(te_fe1.GetOrder(), + te_fe2.GetOrder()); + } + else + { + order = tr_fe1.GetOrder() + te_fe1.GetOrder(); + } + ir = &IntRules.Get(T.GetGeometryType(), order); + } + + DenseMatrix A11(te_ndof1, tr_ndof1); + DenseMatrix A12(te_ndof1, tr_ndof2); + DenseMatrix A21(te_ndof2, tr_ndof1); + DenseMatrix A22(te_ndof2, tr_ndof2); + double w, sign; + for (int n=0; nGetNPoints(); n++) + { + const IntegrationPoint &ip = ir->IntPoint(n); + T.SetAllIntPoints(&ip); + const IntegrationPoint &eip1 = T.GetElement1IntPoint(); + const IntegrationPoint &eip2 = T.GetElement2IntPoint(); + if (dim==1) { + ortho(0) = 2*eip1.x - 1.0; + } else { + CalcOrtho(T.Jacobian(), ortho); + } + w = ip.weight; + if (tr_ndof2) { w /= 2; } + ortho *= w; + // set sign = sign(beta . normal) + // use factor of half in weight to get sign/2 + if (beta and tr_ndof2) { sign = (*beta * ortho >= 0 ? 1.0 : -1.0); } + else { sign = 0.0; } + + tr_fe1.CalcShape(eip1, tr_s1); + te_fe1.CalcShape(eip1, te_s1); + MultVWt(te_s1, tr_s1, A11); + for (int d=0; d= 0) +// { +// tr_ndof2 = tr_fe2.GetDof(); +// te_ndof2 = te_fe2.GetDof(); +// tr_shape2.SetSize(tr_ndof2); +// te_shape2.SetSize(te_ndof2); +// } +// else +// { +// tr_ndof2 = 0; +// te_ndof2 = 0; +// } + +// tr_ndofs = tr_ndof1 + tr_ndof2; +// te_ndofs = te_ndof1 + te_ndof2; +// elmat.SetSize(te_ndofs, tr_ndofs*dim); +// elmat = 0.0; + +// const auto *ir = IntRule; +// if (ir == NULL) +// { +// int order; +// if (tr_ndof2) +// { +// order = std::max(tr_fe1.GetOrder(), tr_fe2.GetOrder()) +// + std::max(te_fe1.GetOrder(), te_fe2.GetOrder()); +// } +// else +// { +// order = tr_fe1.GetOrder() + te_fe1.GetOrder(); +// } +// ir = &mfem::IntRules.Get(T.GetGeometryType(), order); +// } + +// A11.SetSize(te_ndof1, tr_ndof1); +// A12.SetSize(te_ndof1, tr_ndof2); +// A21.SetSize(tr_ndof2, te_ndof1); +// A22.SetSize(te_ndof2, tr_ndof2); + +// double w, sign; +// for (int n=0; nGetNPoints(); n++) +// { +// const auto &ip = ir->IntPoint(n); +// T.SetAllIntPoints(&ip); +// const auto &eip1 = T.GetElement1IntPoint(); +// const auto &eip2 = T.GetElement2IntPoint(); +// if (dim == 1) { +// nor(0) = 2*eip1.x - 1.0; +// } else { +// mfem::CalcOrtho(T.Jacobian(), nor); +// } +// w = ip.weight; +// if (tr_ndof2) { w /= 2; } +// // set sign = sign(beta . normal) +// // use factor of half in weight to get sign/2 +// if (beta and tr_ndof2) { sign = (*beta * nor >= 0 ? 1.0 : -1.0); } +// else { sign = 0.0; } + +// if (limit > 0) { +// double c = coef->Eval(*T.Elem1, eip1); +// if (tr_ndof2) { +// c += coef->Eval(*T.Elem2, eip2); +// c /= 2; +// } +// double k = kappa * T.Weight() / T.Elem1->Weight() * c; +// if (k < limit) { +// sign = 0.0; +// } +// } + +// tr_fe1.CalcShape(eip1, tr_shape1); +// te_fe1.CalcShape(eip1, te_shape1); +// mfem::MultVWt(te_shape1, tr_shape1, A11); +// for (int d=0; dGetFaceInformation(face_el_no); assert(info.IsBoundary()); @@ -351,7 +351,7 @@ void CSMMZerothMomentFaceLFIntegrator::AssembleRHSElementVect(const mfem::Finite // extract beta data for this face const auto dim = trans.GetSpaceDim(); const auto &tr_fes = *beta.ParFESpace(); - const auto &tr_el = *tr_fes.GetTraceElement(trans.ElementNo, trans.GetGeometryType()); + const auto &tr_el = *tr_fes.GetTraceElement(trans.Elem1No, trans.GetGeometryType()); const auto tr_dof = tr_el.GetDof(); auto info = trans.mesh->GetFaceInformation(trans.ElementNo); assert(trans.Elem1No < trans.mesh->GetNE()); @@ -434,7 +434,7 @@ void CSMMFirstMomentFaceLFIntegrator::AssembleRHSElementVect(const mfem::FiniteE tr_vfes.GetElementVDofs(trans.Elem1No, tr_vdofs1); tensor.GetSubVector(tr_vdofs1, tensor_all1); - const auto &tr_el = *tr_vfes.GetTraceElement(face_el_no, trans.GetGeometryType()); + const auto &tr_el = *tr_vfes.GetTraceElement(trans.Elem1No, trans.GetGeometryType()); const auto tr_dof = tr_el.GetDof(); const auto info = trans.mesh->GetFaceInformation(face_el_no); const auto local_face_id1 = info.element[0].local_face_id; @@ -483,7 +483,7 @@ void CSMMFirstMomentFaceLFIntegrator::AssembleRHSElementVect(const mfem::FiniteE const auto dim = trans.GetSpaceDim(); const auto &tr_vfes = *tensor.ParFESpace(); - const auto &tr_el = *tr_vfes.GetTraceElement(trans.ElementNo, trans.GetGeometryType()); + const auto &tr_el = *tr_vfes.GetTraceElement(trans.Elem1No, trans.GetGeometryType()); const auto tr_dof = tr_el.GetDof(); const auto info = trans.mesh->GetFaceInformation(trans.ElementNo); const auto local_face_id1 = info.element[0].local_face_id; diff --git a/src/smm_source.cpp b/src/smm_source.cpp index 2c23db0..0e6a8cc 100644 --- a/src/smm_source.cpp +++ b/src/smm_source.cpp @@ -58,7 +58,7 @@ void MomentFaceClosuresOperator::Mult(const mfem::Vector &psi, mfem::Vector &clo } bool keep_order = e == trans->Elem1No; const auto local_face_id = info.element[keep_order ? 0 : 1].local_face_id; - const auto &tr_el = *trace_fes.GetTraceElement(face, mesh.GetFaceGeometry(face)); + const auto &tr_el = *trace_fes.GetTraceElement(e, mesh.GetFaceGeometry(face)); const auto &ir = tr_el.GetNodes(); const auto ip = mfem::Geometries.GetCenter(trans->GetGeometryType()); @@ -298,7 +298,7 @@ ConsistentLDGSMMOperator::ConsistentLDGSMMOperator(const BlockLDGDiscretization Ma = HypreParMatrixPtr(Maform.ParallelAssemble()); mfem::ParMixedBilinearForm Dform(&vfes, &fes); - bfi = new mfem::LDGTraceIntegrator(&beta); + bfi = new LDGTraceIntegrator(&beta); if (lump_face) bfi = new QuadratureLumpedIntegrator(bfi); Dform.AddInteriorFaceIntegrator(bfi); Dform.Assemble(); @@ -310,7 +310,7 @@ ConsistentLDGSMMOperator::ConsistentLDGSMMOperator(const BlockLDGDiscretization bfi = new mfem::GradientIntegrator(neg_one); if (lump_grad) bfi = new QuadratureLumpedIntegrator(bfi); Gform.AddDomainIntegrator(bfi); - bfi = new mfem::TransposeIntegrator(new mfem::LDGTraceIntegrator(&beta)); + bfi = new mfem::TransposeIntegrator(new LDGTraceIntegrator(&beta)); if (lump_face) bfi = new QuadratureLumpedIntegrator(bfi); Gform.AddInteriorFaceIntegrator(bfi); Gform.Assemble(); diff --git a/test/test_diffusion_mms.cpp b/test/test_diffusion_mms.cpp index 9813c8f..dc71464 100644 --- a/test/test_diffusion_mms.cpp +++ b/test/test_diffusion_mms.cpp @@ -137,8 +137,8 @@ double LDGError(mfem::Mesh &smesh, int fe_order, for (auto d=0; dElem2No); mfem::Vector elvec; lfint.AssembleRHSElementVect(fe1, fe2, *trans, elvec); - mfem::Vector ex({0,-.5,0,-.5,0,-1./8,0,-1./8, .5,0,.5,0,1./8,0,1./8,0}); + mfem::Vector ex({0.0,-.5,0.0,-.5,0.0,-1./8,0.0,-1./8, .5,0.0,.5,0.0,1./8,0.0,1./8,0.0}); ex -= elvec; EXPECT_DOUBLE_EQ(ex.Norml2(), 0.0); } @@ -204,7 +204,7 @@ TEST(Integrators, SMMFaceTermBdr) { const auto &fe1 = *vfes.GetFE(trans.Elem1No); mfem::Vector elvec; lfint.AssembleRHSElementVect(fe1, trans, elvec); - mfem::Vector ex({1./16, 1./16, 0, 0, 0.5, 0.5, 0, 0}); + mfem::Vector ex({1./16, 1./16, 0.0, 0.0, 0.5, 0.5, 0.0, 0.0}); ex -= elvec; EXPECT_DOUBLE_EQ(ex.Norml2(), 0.0); } @@ -219,7 +219,7 @@ TEST(Integrators, BoundaryNormalFaceLFIntegrator) { auto &trans = *mesh.GetBdrFaceTransformations(0); mfem::Vector elvec; lfi.AssembleRHSElementVect(*vfes.GetFE(trans.Elem1No), trans, elvec); - mfem::Vector ex({0,0,0,0,-0.5,-0.5,0,0}); + mfem::Vector ex({0.0,0.0,0.0,0.0,-0.5,-0.5,0.0,0.0}); ex -= elvec; EXPECT_DOUBLE_EQ(ex.Norml2(), 0.0); } @@ -281,13 +281,13 @@ TEST(Integrators, SweepFaceIntegrator) { FaceMassMatricesIntegrator bfi; mfem::DenseMatrix M; bfi.AssembleFaceMatrix(*fes.GetFE(trans->Elem1No), *fes.GetFE(trans->Elem2No), *trans, M); - mfem::DenseMatrix ex11({{0,0,0,0}, {0,1./3,0,1./6}, {0,0,0,0}, {0,1./6,0,1./3}}); + mfem::DenseMatrix ex11({{0.0,0.0,0.0,0.0}, {0.0,1./3,0.0,1./6}, {0.0,0.0,0.0,0.0}, {0.0,1./6,0.0,1./3}}); mfem::DenseMatrix M11; M.GetSubMatrix(0,4,M11); ex11 -= M11; EXPECT_NEAR(ex11.FNorm(), 0.0, 1e-14); - mfem::DenseMatrix ex12({{0,0,0,0}, {1./3,0,1./6,0}, {0,0,0,0}, {1./6,0,1./3,0}}); + mfem::DenseMatrix ex12({{0.0,0.0,0.0,0.0}, {1./3,0.0,1./6,0.0}, {0.0,0.0,0.0,0.0}, {1./6,0.0,1./3,0.0}}); mfem::DenseMatrix M12; M.GetSubMatrix(0,4,4,8,M12); ex12 -= M12; @@ -299,7 +299,7 @@ TEST(Integrators, SweepFaceIntegrator) { M21 -= M12; EXPECT_NEAR(M21.FNorm(), 0.0, 1e-14); - mfem::DenseMatrix ex22({{1./3,0,1./6,0}, {0,0,0,0}, {1./6,0,1./3,0}, {0,0,0,0}}); + mfem::DenseMatrix ex22({{1./3,0.0,1./6,0.0}, {0.0,0.0,0.0,0.0}, {1./6,0.0,1./3,0.0}, {0.0,0.0,0.0,0.0}}); mfem::DenseMatrix M22; M.GetSubMatrix(4,8, M22); ex22 -= M22; @@ -321,13 +321,13 @@ TEST(Integrators, SweepFaceIntegratorLumped) { QuadratureLumpedIntegrator bfi(new FaceMassMatricesIntegrator); mfem::DenseMatrix M; bfi.AssembleFaceMatrix(*fes.GetFE(trans->Elem1No), *fes.GetFE(trans->Elem2No), *trans, M); - mfem::DenseMatrix ex11({{0,0,0,0}, {0,1./2,0,0.0}, {0,0,0,0}, {0,0.0,0,1./2}}); + mfem::DenseMatrix ex11({{0.0,0.0,0.0,0.0}, {0.0,1./2,0.0,0.0}, {0.0,0.0,0.0,0.0}, {0.0,0.0,0.0,1./2}}); mfem::DenseMatrix M11; M.GetSubMatrix(0,4,M11); ex11 -= M11; EXPECT_NEAR(ex11.FNorm(), 0.0, 1e-14); - mfem::DenseMatrix ex12({{0,0,0,0}, {1./2,0,0,0}, {0,0,0,0}, {0,0,1./2,0}}); + mfem::DenseMatrix ex12({{0.0,0.0,0.0,0.0}, {1./2,0.0,0.0,0.0}, {0.0,0.0,0.0,0.0}, {0.0,0.0,1./2,0.0}}); mfem::DenseMatrix M12; M.GetSubMatrix(0,4,4,8,M12); ex12 -= M12; @@ -339,7 +339,7 @@ TEST(Integrators, SweepFaceIntegratorLumped) { M21 -= M12; EXPECT_NEAR(M21.FNorm(), 0.0, 1e-14); - mfem::DenseMatrix ex22({{1./2,0,0,0}, {0,0,0,0}, {0,0,1./2,0}, {0,0,0,0}}); + mfem::DenseMatrix ex22({{1./2,0.0,0.0,0.0}, {0.0,0.0,0.0,0.0}, {0.0,0.0,1./2,0.0}, {0.0,0.0,0.0,0.0}}); mfem::DenseMatrix M22; M.GetSubMatrix(4,8, M22); ex22 -= M22; From 0a8fdbd08e4b7ceaff82a7013891f651c39fcffb Mon Sep 17 00:00:00 2001 From: Samuel Olivier Date: Tue, 3 Mar 2026 11:27:10 -0700 Subject: [PATCH 03/32] preparing for open source --- LICENSE.md | 431 +++++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 25 +++- 2 files changed, 449 insertions(+), 7 deletions(-) create mode 100644 LICENSE.md diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..8a8a704 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,431 @@ +# GNU LIBRARY GENERAL PUBLIC LICENSE + +Version 2, June 1991 + + Copyright (C) 1991 Free Software Foundation, Inc. + + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +## Preamble + +The licenses for most software are designed to take away your freedom +to share and change it. By contrast, the GNU General Public Licenses +are intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. + +This license, the Library General Public License, applies to some +specially designated Free Software Foundation software, and to any +other libraries whose authors decide to use it. You can use it for +your libraries, too. + +When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + +To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if +you distribute copies of the library, or if you modify it. + +For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link a program with the library, you must provide +complete object files to the recipients so that they can relink them +with the library, after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + +Our method of protecting your rights has two steps: (1) copyright the +library, and (2) offer you this license which gives you legal +permission to copy, distribute and/or modify the library. + +Also, for each distributor's protection, we want to make certain that +everyone understands that there is no warranty for this free library. +If the library is modified by someone else and passed on, we want its +recipients to know that what they have is not the original version, so +that any problems introduced by others will not reflect on the +original authors' reputations. + +Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that companies distributing free +software will individually obtain patent licenses, thus in effect +transforming the program into proprietary software. To prevent this, +we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + +Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License, which was designed for utility +programs. This license, the GNU Library General Public License, +applies to certain designated libraries. This license is quite +different from the ordinary one; be sure to read it in full, and don't +assume that anything in it is the same as in the ordinary license. + +The reason we have a separate public license for some libraries is +that they blur the distinction we usually make between modifying or +adding to a program and simply using it. Linking a program with a +library, without changing the library, is in some sense simply using +the library, and is analogous to running a utility program or +application program. However, in a textual and legal sense, the linked +executable is a combined work, a derivative of the original library, +and the ordinary General Public License treats it as such. + +Because of this blurred distinction, using the ordinary General Public +License for libraries did not effectively promote software sharing, +because most developers did not use the libraries. We concluded that +weaker conditions might promote sharing better. + +However, unrestricted linking of non-free programs would deprive the +users of those programs of all benefit from the free status of the +libraries themselves. This Library General Public License is intended +to permit developers of non-free programs to use free libraries, while +preserving your freedom as a user of such programs to change the free +libraries that are incorporated in them. (We have not seen how to +achieve this as regards changes in header files, but we have achieved +it as regards changes in the actual functions of the Library.) The +hope is that this will lead to faster development of free libraries. + +The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, while the latter only +works together with the library. + +Note that it is possible for a library to be covered by the ordinary +General Public License rather than by this special one. + +## TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +**0.** This License Agreement applies to any software library which +contains a notice placed by the copyright holder or other authorized +party saying it may be distributed under the terms of this Library +General Public License (also called "this License"). Each licensee is +addressed as "you". + +A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + +The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + +"Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control +compilation and installation of the library. + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does and +what the program that uses the Library does. + +**1.** You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a +fee. + +**2.** You may modify your copy or copies of the Library or any +portion of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + +- **a)** The modified work must itself be a software library. +- **b)** You must cause the files modified to carry prominent + notices stating that you changed the files and the date of + any change. +- **c)** You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. +- **d)** If a facility in the modified Library refers to a function + or a table of data to be supplied by an application program that + uses the facility, other than as an argument passed when the + facility is invoked, then you must make a good faith effort to + ensure that, in the event an application does not supply such + function or table, the facility still operates, and performs + whatever part of its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of + the application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + +**3.** You may opt to apply the terms of the ordinary GNU General +Public License instead of this License to a given copy of the Library. +To do this, you must alter all the notices that refer to this License, +so that they refer to the ordinary GNU General Public License, version +2, instead of to this License. (If a newer version than version 2 of +the ordinary GNU General Public License has appeared, then you can +specify that version instead if you wish.) Do not make any other +change in these notices. + +Once this change is made in a given copy, it is irreversible for that +copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + +This option is useful when you wish to copy part of the code of the +Library into a program that is not a library. + +**4.** You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + +If distribution of object code is made by offering access to copy from +a designated place, then offering equivalent access to copy the source +code from the same place satisfies the requirement to distribute the +source code, even though third parties are not compelled to copy the +source along with the object code. + +**5.** A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a work, +in isolation, is not a derivative work of the Library, and therefore +falls outside the scope of this License. + +However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. Section +6 states terms for distribution of such executables. + +When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + +If such an object file uses only numerical parameters, data structure +layouts and accessors, and small macros and small inline functions +(ten lines or less in length), then the use of the object file is +unrestricted, regardless of whether it is legally a derivative work. +(Executables containing this object code plus portions of the Library +will still fall under Section 6.) + +Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + +**6.** As an exception to the Sections above, you may also compile or +link a "work that uses the Library" with the Library to produce a work +containing portions of the Library, and distribute that work under +terms of your choice, provided that the terms permit modification of +the work for the customer's own use and reverse engineering for +debugging such modifications. + +You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + +- **a)** Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood that + the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) +- **b)** Accompany the work with a written offer, valid for at least + three years, to give the same user the materials specified in + Subsection 6a, above, for a charge no more than the cost of + performing this distribution. +- **c)** If distribution of the work is made by offering access to + copy from a designated place, offer equivalent access to copy the + above specified materials from the same place. +- **d)** Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + +For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the source code distributed need not include anything that is normally +distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + +It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + +**7.** You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + +- **a)** Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other + library facilities. This must be distributed under the terms of + the Sections above. +- **b)** Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + +**8.** You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + +**9.** You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + +**10.** Each time you redistribute the Library (or any work based on +the Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + +**11.** If, as a consequence of a court judgment or allegation of +patent infringement or for any other reason (not limited to patent +issues), conditions are imposed on you (whether by court order, +agreement or otherwise) that contradict the conditions of this +License, they do not excuse you from the conditions of this License. +If you cannot distribute so as to satisfy simultaneously your +obligations under this License and any other pertinent obligations, +then as a consequence you may not distribute the Library at all. For +example, if a patent license would not permit royalty-free +redistribution of the Library by all those who receive copies directly +or indirectly through you, then the only way you could satisfy both it +and this License would be to refrain entirely from distribution of the +Library. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply, and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + +**12.** If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + +**13.** The Free Software Foundation may publish revised and/or new +versions of the Library General Public License from time to time. Such +new versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + +**14.** If you wish to incorporate parts of the Library into other +free programs whose distribution conditions are incompatible with +these, write to the author to ask for permission. For software which +is copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + +**NO WARRANTY** + +**15.** BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +**16.** IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + +END OF TERMS AND CONDITIONS \ No newline at end of file diff --git a/README.md b/README.md index ad088c2..be41fcc 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,7 @@ -# Overview +# allium: a high-performance library for deterministic thermal radiative transfer +*allium* is a software framework designed to facilitate the development and analysis of numerical algorithms relevant to radiation transport. Built on top of the MFEM finite element library, the package integrates a range of third-party dependencies, such as hypre, SUNDIALS, igraph, Lua, YAML, and GoogleTest, to provide an agile environment capable of rapid prototyping. The package is designed to scale well on massively parallel, CPU-based computer architectures through the utilization of MPI, OpenMP, and the high-performance implementations provided by the dependent packages. This allows testing novel algorithms at a computational scale not typically investigated in traditional academic literature. *allium* is comprised of a robust build system, core source code implementing both established and novel numerical methods, a suite of drivers that accept Lua-based input files and exercise the solution algorithms, and python scripts that facilitate the processing of the output from the drivers for publication in journal articles. In addition, a comprehensive set of tests ensures reliability and supports ongoing research and application development. Through its modular design and use of high-quality third party libraries, this package is uniquely suited to support academic research into the mathematical algorithms that underpin the simulation of radiation transport. + +## Overview * `exe/`: * `chive.cpp`: driver for steady-state, mono-energetic, neutral particle transport supporting * P1, Local Discontinuous Galerkin, and Modified Interior Penalty diffusion synthetic acceleration preconditioners for fixed-point and Krylov solvers @@ -17,8 +20,8 @@ * `tests/`: collection of tests using the GoogleTest framework. Run with `ctest`. * `scripts/`: post-processing python files, build scripts -# Building -## Required Dependencies +## Building +### Required Dependencies * [MFEM](https://github.com/mfem/mfem) built with * MPI * [Hypre](https://github.com/hypre-space/hypre) @@ -30,7 +33,7 @@ * [sol2](https://github.com/ThePhD/sol2.git) and some version of Lua5.x * use `-DSOL2_BUILD_LUA=FALSE` if using system lua * use `-DSOL2_LUA_VERSION=5.X` if using another version besides 5.4 -## Optional Dependencies +### Optional Dependencies * MFEM built with * [Suitesparse](https://github.com/DrTimothyAldenDavis/SuiteSparse) * [Libunwind](https://github.com/libunwind/libunwind) @@ -38,7 +41,15 @@ * [GSLIB](https://github.com/Nek5000/gslib) * [GoogleTest](https://github.com/google/googletest.git) -## Installing -### Darwin +### Installing +#### Darwin Steps to build on Darwin are documented in `scripts/darwin/build.sh`. From the root directory run `source scripts/darwin/build.sh`. By default this builds all dependencies in the directory `tpl` though this behavior can be changed. -An example module file is provided in `scripts/darwin/module_file.lua`. Change the path to allium's build directory and copy into a place where Lmod knows to look for module files. \ No newline at end of file +An example module file is provided in `scripts/darwin/module_file.lua`. Change the path to allium's build directory and copy into a place where Lmod knows to look for module files. + +## Release +* GPL 2.0 license +* LANL code designation: O5022 + +© 2026. Triad National Security, LLC. All rights reserved. + +This program was produced under U.S. Government contract 89233218CNA000001 for Los Alamos National Laboratory (LANL), which is operated by Triad National Security, LLC for the U.S. Department of Energy/National Nuclear Security Administration. All rights in the program are reserved by Triad National Security, LLC, and the U.S. Department of Energy/National Nuclear Security Administration. The Government is granted for itself and others acting on its behalf a nonexclusive, paid-up, irrevocable worldwide license in this material to reproduce, prepare. derivative works, distribute copies to the public, perform publicly and display publicly, and to permit others to do so. \ No newline at end of file From 16484d5fc086aa89c270a7ce2128f655a1b47c43 Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 7 Mar 2026 22:53:18 -0700 Subject: [PATCH 04/32] modified build to use igraph 0.10.16 and not 1.0.0. also uses swj's mfem branch for KINSol fix --- scripts/darwin/build.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/scripts/darwin/build.sh b/scripts/darwin/build.sh index 89256e3..601d421 100644 --- a/scripts/darwin/build.sh +++ b/scripts/darwin/build.sh @@ -85,8 +85,8 @@ cd ${TPL}/gslib make CC=mpicc # --- build mfem --- -cd ${TPL}/mfem -git checkout smsolivier/ldg +cd ${TPL}/mfem +git checkout swj/selective-ldg-integration mkdir build install cd build cmake .. \ @@ -113,6 +113,8 @@ make examples -j${nproc} # --- build igraph --- cd ${TPL}/igraph +git fetch --tags +git checkout 0.10.16 mkdir build install cd build cmake .. \ From fe0602b63fcf0116fa46e7bbbbb84d60572ee1af Mon Sep 17 00:00:00 2001 From: Samuel Olivier Date: Mon, 9 Mar 2026 13:59:59 -0600 Subject: [PATCH 05/32] more readme things --- README.md | 74 +++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 50 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index be41fcc..f251012 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,55 @@ # allium: a high-performance library for deterministic thermal radiative transfer *allium* is a software framework designed to facilitate the development and analysis of numerical algorithms relevant to radiation transport. Built on top of the MFEM finite element library, the package integrates a range of third-party dependencies, such as hypre, SUNDIALS, igraph, Lua, YAML, and GoogleTest, to provide an agile environment capable of rapid prototyping. The package is designed to scale well on massively parallel, CPU-based computer architectures through the utilization of MPI, OpenMP, and the high-performance implementations provided by the dependent packages. This allows testing novel algorithms at a computational scale not typically investigated in traditional academic literature. *allium* is comprised of a robust build system, core source code implementing both established and novel numerical methods, a suite of drivers that accept Lua-based input files and exercise the solution algorithms, and python scripts that facilitate the processing of the output from the drivers for publication in journal articles. In addition, a comprehensive set of tests ensures reliability and supports ongoing research and application development. Through its modular design and use of high-quality third party libraries, this package is uniquely suited to support academic research into the mathematical algorithms that underpin the simulation of radiation transport. -## Overview -* `exe/`: - * `chive.cpp`: driver for steady-state, mono-energetic, neutral particle transport supporting - * P1, Local Discontinuous Galerkin, and Modified Interior Penalty diffusion synthetic acceleration preconditioners for fixed-point and Krylov solvers - * Independent Local Discontinuous Galerkin Second Moment Method - * arbitrary material descriptions and mesh composition - * Lua input system - * parallel decomposition with full upwind sweep - * output is YAML-parsable - * `scallion.cpp`: gray thermal radiative transfer - * backward Euler time integration - * Picard, Newton, one Newton algorithms - * `green.cpp`: gray thermal radiative transfer with consistent second moment methods - * `spring.cpp`: gray diffusion thermal radiative transfer - * `garlic.cpp`: Lagrange hydro + radiation diffusion (under development) -* `inputs/`: example inputs for `chive` and `scallion` -* `tests/`: collection of tests using the GoogleTest framework. Run with `ctest`. -* `scripts/`: post-processing python files, build scripts +## Project Overview +*allium* is a software framework providing +* CMake build system +* Lua-based input system +* YAML-compatible terminal output system +* upwind Discontinuous Galerkin transport discretization with **MPI-parallel fully upwind sweep** with OpenMP threading +* a variety of diffusion-based acceleration and preconditioning techniques +* support for fixed-point, Krylov solvers, and advanced nonlinear solvers +* support for arbitrary meshes in 1, 2, and 3 dimensions +* visualization via VisIt, Paraview, and GLVis +This package has been designed to under the following design considerations: +* separation of concerns: the library is designed so that its components, such as input/output, data structures, and computations, are weakly coupled. Functionality is achieved through *composition*. +* single responsibility principle: code units (classes, free functions, etc) do only one of input/output, storage of data, or computations, further separating concerns and reducing edge cases. +* dependency injection/inversion: objects accept fully configured dependencies enabling access to low-level configuration without exposing low-level details. +These design principles have resulted in a focused core library where the user is expected to compose core capabilities together to achieve functionality. +This approach has allowed significant control of and access to low-level details important for academic research while keeping the scope creep of a globally accessible design at bay. + +### Drivers +Physics capabilities are organized into a suite of drivers in the `exe` directory. Example inputs and tests for each driver are provided in the correspondingly named directory in `inputs/` and `tests/`, respectively. + +### exe/chive +`chive` is a driver for steady-state, one-group, fixed-source transport problems often used as a proxy application for thermal radiative transfer. `chive` supports a variety of acceleration and preconditioning techniques including +* "fully consistent" P1 diffusion synthetic acceleration (DSA) +* Local Discontinuous Galerkin (LDG) DSA +* Modified Interior Penalty (MIP) DSA +* Interior Penalty and LDG-based Second Moment Methods (SMMs) +Both fixed-point iteration and Krylov-based solvers are available. + +### exe/scallion +`scallion` is a driver for multigroup, time-dependent thermal radiative transfer. Backward Euler time integration is used. `scallion` implements Picard, linearized, and full Newton solution algorithms. The linearized and Newton algorithms can be solved with Krylov or fixed-point iteration preconditioned with a subset of the algorithms implemented in `chive`. `scallion` supports +* trace plots (output solution at a point in space plotted over time) +* restarting from a previous simulation +* analytic and tabular opacity data +* implicit and explicit treatment of opacities +* variable time steps defined by a function or table + +### exe/green +`green` is a variant of `scallion` that uses the Second Moment Method (SMM) to solve the equations of thermal radiative transfer. Where `scallion` evolves the intensity and material temperature, `green` evolves the intensity, low-order moments, and material temperature. This subtle difference motivated separating the two sets of methods into separate drivers. `green` is intended to parallel `scallion` and is thus compatible with all inputs to `scallion`. + +### exe/ramp +`ramp` is simplification of `green` which only solves the low-order system (e.g. radiation diffusion). + +## Scripts +Post-processing scripts are provided in `scripts/` +* `inspect`: opens a YAML-compatible terminal output file and indexes into the YAML tree +* `gridfunction.py`: class for loading and plotting 1D `mfem::GridFunction` +* `plot_tracer.py`: plots tracers over time +* `plot_visit.py`: uses `gridfunction.py` to plot MFEM's VisIt output format over time +* `darwin/build.sh`: example build script (including all third party libraries) for linux-based systems ## Building ### Required Dependencies @@ -41,13 +72,8 @@ * [GSLIB](https://github.com/Nek5000/gslib) * [GoogleTest](https://github.com/google/googletest.git) -### Installing -#### Darwin -Steps to build on Darwin are documented in `scripts/darwin/build.sh`. From the root directory run `source scripts/darwin/build.sh`. By default this builds all dependencies in the directory `tpl` though this behavior can be changed. -An example module file is provided in `scripts/darwin/module_file.lua`. Change the path to allium's build directory and copy into a place where Lmod knows to look for module files. - ## Release -* GPL 2.0 license +* [GPL 2.0 license](LICENSE.md) * LANL code designation: O5022 © 2026. Triad National Security, LLC. All rights reserved. From 06971f7287622d8a8bdc1d70f6e011c7c62b5573 Mon Sep 17 00:00:00 2001 From: Samuel Olivier Date: Mon, 9 Mar 2026 14:01:13 -0600 Subject: [PATCH 06/32] more readme things --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index f251012..a85b18c 100644 --- a/README.md +++ b/README.md @@ -11,10 +11,12 @@ * support for fixed-point, Krylov solvers, and advanced nonlinear solvers * support for arbitrary meshes in 1, 2, and 3 dimensions * visualization via VisIt, Paraview, and GLVis + This package has been designed to under the following design considerations: * separation of concerns: the library is designed so that its components, such as input/output, data structures, and computations, are weakly coupled. Functionality is achieved through *composition*. * single responsibility principle: code units (classes, free functions, etc) do only one of input/output, storage of data, or computations, further separating concerns and reducing edge cases. * dependency injection/inversion: objects accept fully configured dependencies enabling access to low-level configuration without exposing low-level details. + These design principles have resulted in a focused core library where the user is expected to compose core capabilities together to achieve functionality. This approach has allowed significant control of and access to low-level details important for academic research while keeping the scope creep of a globally accessible design at bay. From 88ba617eeff52f92e83cace983b17977b155a8f4 Mon Sep 17 00:00:00 2001 From: Samuel Olivier Date: Mon, 9 Mar 2026 14:17:36 -0600 Subject: [PATCH 07/32] more readme things --- README.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index a85b18c..402e3d1 100644 --- a/README.md +++ b/README.md @@ -6,19 +6,23 @@ * CMake build system * Lua-based input system * YAML-compatible terminal output system -* upwind Discontinuous Galerkin transport discretization with **MPI-parallel fully upwind sweep** with OpenMP threading +* upwind Discontinuous Galerkin transport discretization with **MPI-parallel fully upwind sweep** and OpenMP threading * a variety of diffusion-based acceleration and preconditioning techniques * support for fixed-point, Krylov solvers, and advanced nonlinear solvers * support for arbitrary meshes in 1, 2, and 3 dimensions * visualization via VisIt, Paraview, and GLVis -This package has been designed to under the following design considerations: -* separation of concerns: the library is designed so that its components, such as input/output, data structures, and computations, are weakly coupled. Functionality is achieved through *composition*. +This package has been designed under the following design considerations: +* separation of concerns: the library is designed so that its components, such as input/output, data structures, and computations, are weakly coupled. * single responsibility principle: code units (classes, free functions, etc) do only one of input/output, storage of data, or computations, further separating concerns and reducing edge cases. * dependency injection/inversion: objects accept fully configured dependencies enabling access to low-level configuration without exposing low-level details. +* composition over inheritance: functionality is assembled from small, focused components. Modularity is achieved through shallow inheritance hierarchies from simple and generic base classes. -These design principles have resulted in a focused core library where the user is expected to compose core capabilities together to achieve functionality. +These design principles have resulted in a focused core library where the user has the control to compose core capabilities together to achieve a wide spectrum of functionality. This approach has allowed significant control of and access to low-level details important for academic research while keeping the scope creep of a globally accessible design at bay. +In addition, weakly coupling components has allowed testing components independently and enables the ability to quickly create new physics drivers. +In general, *allium* has been designed to have all input/output, configuration, management of data lifetime, and execution flow within the `main` of the driver allowing the core library to be simple and extensible. +This design allows unexpected and out-of-scope concepts to be implemented with changes primarily restricted to the `main` function, reducing implementation burden. ### Drivers Physics capabilities are organized into a suite of drivers in the `exe` directory. Example inputs and tests for each driver are provided in the correspondingly named directory in `inputs/` and `tests/`, respectively. From e0195819f6603ed4228692fa1907861d59e6f42a Mon Sep 17 00:00:00 2001 From: Samuel Olivier Date: Mon, 9 Mar 2026 14:21:30 -0600 Subject: [PATCH 08/32] more readme things --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 402e3d1..bc140c4 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ * support for arbitrary meshes in 1, 2, and 3 dimensions * visualization via VisIt, Paraview, and GLVis -This package has been designed under the following design considerations: +This package has been designed under the following design philosophies: * separation of concerns: the library is designed so that its components, such as input/output, data structures, and computations, are weakly coupled. * single responsibility principle: code units (classes, free functions, etc) do only one of input/output, storage of data, or computations, further separating concerns and reducing edge cases. * dependency injection/inversion: objects accept fully configured dependencies enabling access to low-level configuration without exposing low-level details. @@ -25,9 +25,9 @@ In general, *allium* has been designed to have all input/output, configuration, This design allows unexpected and out-of-scope concepts to be implemented with changes primarily restricted to the `main` function, reducing implementation burden. ### Drivers -Physics capabilities are organized into a suite of drivers in the `exe` directory. Example inputs and tests for each driver are provided in the correspondingly named directory in `inputs/` and `tests/`, respectively. +Physics capabilities are organized into a suite of drivers in the `exe/` directory. Example inputs and tests for each driver are provided in the correspondingly named directory in `inputs/` and `tests/`, respectively. Drivers are named after members of the allium genus. -### exe/chive +### chive `chive` is a driver for steady-state, one-group, fixed-source transport problems often used as a proxy application for thermal radiative transfer. `chive` supports a variety of acceleration and preconditioning techniques including * "fully consistent" P1 diffusion synthetic acceleration (DSA) * Local Discontinuous Galerkin (LDG) DSA @@ -35,7 +35,7 @@ Physics capabilities are organized into a suite of drivers in the `exe` director * Interior Penalty and LDG-based Second Moment Methods (SMMs) Both fixed-point iteration and Krylov-based solvers are available. -### exe/scallion +### scallion `scallion` is a driver for multigroup, time-dependent thermal radiative transfer. Backward Euler time integration is used. `scallion` implements Picard, linearized, and full Newton solution algorithms. The linearized and Newton algorithms can be solved with Krylov or fixed-point iteration preconditioned with a subset of the algorithms implemented in `chive`. `scallion` supports * trace plots (output solution at a point in space plotted over time) * restarting from a previous simulation @@ -43,10 +43,10 @@ Both fixed-point iteration and Krylov-based solvers are available. * implicit and explicit treatment of opacities * variable time steps defined by a function or table -### exe/green +### green `green` is a variant of `scallion` that uses the Second Moment Method (SMM) to solve the equations of thermal radiative transfer. Where `scallion` evolves the intensity and material temperature, `green` evolves the intensity, low-order moments, and material temperature. This subtle difference motivated separating the two sets of methods into separate drivers. `green` is intended to parallel `scallion` and is thus compatible with all inputs to `scallion`. -### exe/ramp +### ramp `ramp` is simplification of `green` which only solves the low-order system (e.g. radiation diffusion). ## Scripts From 0a4f92e361b068e82ad8d7766db1f7f34806fc82 Mon Sep 17 00:00:00 2001 From: Samuel Olivier Date: Mon, 9 Mar 2026 14:34:45 -0600 Subject: [PATCH 09/32] more readme things --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index bc140c4..672ebc4 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,7 @@ Physics capabilities are organized into a suite of drivers in the `exe/` directo * Local Discontinuous Galerkin (LDG) DSA * Modified Interior Penalty (MIP) DSA * Interior Penalty and LDG-based Second Moment Methods (SMMs) + Both fixed-point iteration and Krylov-based solvers are available. ### scallion @@ -58,6 +59,8 @@ Post-processing scripts are provided in `scripts/` * `darwin/build.sh`: example build script (including all third party libraries) for linux-based systems ## Building +An example build script is provided in [scripts/darwin/build.sh](scripts/darwin/build.sh) for linux-based system. MFEM handles the majority of the often troublesome scientific software dependencies. Thus, please use MFEM's documentation as a starting point. + ### Required Dependencies * [MFEM](https://github.com/mfem/mfem) built with * MPI @@ -78,6 +81,15 @@ Post-processing scripts are provided in `scripts/` * [GSLIB](https://github.com/Nek5000/gslib) * [GoogleTest](https://github.com/google/googletest.git) +## Authors +*allium* was written by Samuel Olivier while a Nicholas C. Metropolis postdoctoral fellow at the Los Alamos National Laboratory. + +## Peer-Reviewed Journal Articles that Use allium +1. [Consistent Second Moment Methods with Scalable Linear Solvers for Radiation Transport](https://arxiv.org/abs/2404.17473) +2. [A Comparison of the Consistent and Independent Second Moment Methods Applied to Thermal Radiative Transfer](https://arxiv.org/abs/2504.21784) +3. [Implicit Opacities in Thermal Radiative Transfer](https://samolivier.net/wp-content/uploads/pres/mc25_paper.pdf) +4. [Preconditioning transformations of adjoint systems for evolution equations](https://arxiv.org/abs/2505.21705) + ## Release * [GPL 2.0 license](LICENSE.md) * LANL code designation: O5022 From e6a2b3b994355e0716a1b7c12fb063b88337d0f0 Mon Sep 17 00:00:00 2001 From: Samuel Olivier Date: Mon, 9 Mar 2026 14:40:43 -0600 Subject: [PATCH 10/32] more readme things --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 672ebc4..ad2dacc 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,14 @@ ## Project Overview *allium* is a software framework providing -* CMake build system +* CMake build system +* suite of unit and integral tests driven by CTest and GoogleTest * Lua-based input system * YAML-compatible terminal output system * upwind Discontinuous Galerkin transport discretization with **MPI-parallel fully upwind sweep** and OpenMP threading * a variety of diffusion-based acceleration and preconditioning techniques * support for fixed-point, Krylov solvers, and advanced nonlinear solvers +* thermal radiative transfer physics components such as opacities, Planck emission, etc * support for arbitrary meshes in 1, 2, and 3 dimensions * visualization via VisIt, Paraview, and GLVis From ba7c412cbd6cc8d3a9d9bb721353e0d0743c409c Mon Sep 17 00:00:00 2001 From: Samuel Olivier Date: Mon, 9 Mar 2026 14:42:04 -0600 Subject: [PATCH 11/32] put each section in its own primary grouping --- README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index ad2dacc..904f4a2 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # allium: a high-performance library for deterministic thermal radiative transfer *allium* is a software framework designed to facilitate the development and analysis of numerical algorithms relevant to radiation transport. Built on top of the MFEM finite element library, the package integrates a range of third-party dependencies, such as hypre, SUNDIALS, igraph, Lua, YAML, and GoogleTest, to provide an agile environment capable of rapid prototyping. The package is designed to scale well on massively parallel, CPU-based computer architectures through the utilization of MPI, OpenMP, and the high-performance implementations provided by the dependent packages. This allows testing novel algorithms at a computational scale not typically investigated in traditional academic literature. *allium* is comprised of a robust build system, core source code implementing both established and novel numerical methods, a suite of drivers that accept Lua-based input files and exercise the solution algorithms, and python scripts that facilitate the processing of the output from the drivers for publication in journal articles. In addition, a comprehensive set of tests ensures reliability and supports ongoing research and application development. Through its modular design and use of high-quality third party libraries, this package is uniquely suited to support academic research into the mathematical algorithms that underpin the simulation of radiation transport. -## Project Overview +# Project Overview *allium* is a software framework providing * CMake build system * suite of unit and integral tests driven by CTest and GoogleTest @@ -26,7 +26,7 @@ In addition, weakly coupling components has allowed testing components independe In general, *allium* has been designed to have all input/output, configuration, management of data lifetime, and execution flow within the `main` of the driver allowing the core library to be simple and extensible. This design allows unexpected and out-of-scope concepts to be implemented with changes primarily restricted to the `main` function, reducing implementation burden. -### Drivers +## Drivers Physics capabilities are organized into a suite of drivers in the `exe/` directory. Example inputs and tests for each driver are provided in the correspondingly named directory in `inputs/` and `tests/`, respectively. Drivers are named after members of the allium genus. ### chive @@ -60,10 +60,10 @@ Post-processing scripts are provided in `scripts/` * `plot_visit.py`: uses `gridfunction.py` to plot MFEM's VisIt output format over time * `darwin/build.sh`: example build script (including all third party libraries) for linux-based systems -## Building +# Building An example build script is provided in [scripts/darwin/build.sh](scripts/darwin/build.sh) for linux-based system. MFEM handles the majority of the often troublesome scientific software dependencies. Thus, please use MFEM's documentation as a starting point. -### Required Dependencies +## Required Dependencies * [MFEM](https://github.com/mfem/mfem) built with * MPI * [Hypre](https://github.com/hypre-space/hypre) @@ -75,7 +75,7 @@ An example build script is provided in [scripts/darwin/build.sh](scripts/darwin/ * [sol2](https://github.com/ThePhD/sol2.git) and some version of Lua5.x * use `-DSOL2_BUILD_LUA=FALSE` if using system lua * use `-DSOL2_LUA_VERSION=5.X` if using another version besides 5.4 -### Optional Dependencies +## Optional Dependencies * MFEM built with * [Suitesparse](https://github.com/DrTimothyAldenDavis/SuiteSparse) * [Libunwind](https://github.com/libunwind/libunwind) @@ -83,16 +83,16 @@ An example build script is provided in [scripts/darwin/build.sh](scripts/darwin/ * [GSLIB](https://github.com/Nek5000/gslib) * [GoogleTest](https://github.com/google/googletest.git) -## Authors +# Authors *allium* was written by Samuel Olivier while a Nicholas C. Metropolis postdoctoral fellow at the Los Alamos National Laboratory. -## Peer-Reviewed Journal Articles that Use allium +# Peer-Reviewed Journal Articles that Use allium 1. [Consistent Second Moment Methods with Scalable Linear Solvers for Radiation Transport](https://arxiv.org/abs/2404.17473) 2. [A Comparison of the Consistent and Independent Second Moment Methods Applied to Thermal Radiative Transfer](https://arxiv.org/abs/2504.21784) 3. [Implicit Opacities in Thermal Radiative Transfer](https://samolivier.net/wp-content/uploads/pres/mc25_paper.pdf) 4. [Preconditioning transformations of adjoint systems for evolution equations](https://arxiv.org/abs/2505.21705) -## Release +# Release * [GPL 2.0 license](LICENSE.md) * LANL code designation: O5022 From a61fd542da82f401234948d77d4f28086253d785 Mon Sep 17 00:00:00 2001 From: Samuel Olivier Date: Mon, 9 Mar 2026 14:49:18 -0600 Subject: [PATCH 12/32] added image --- README.md | 5 ++++- doc/star.png | Bin 0 -> 448231 bytes 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 doc/star.png diff --git a/README.md b/README.md index 904f4a2..a480ce2 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,8 @@ # allium: a high-performance library for deterministic thermal radiative transfer *allium* is a software framework designed to facilitate the development and analysis of numerical algorithms relevant to radiation transport. Built on top of the MFEM finite element library, the package integrates a range of third-party dependencies, such as hypre, SUNDIALS, igraph, Lua, YAML, and GoogleTest, to provide an agile environment capable of rapid prototyping. The package is designed to scale well on massively parallel, CPU-based computer architectures through the utilization of MPI, OpenMP, and the high-performance implementations provided by the dependent packages. This allows testing novel algorithms at a computational scale not typically investigated in traditional academic literature. *allium* is comprised of a robust build system, core source code implementing both established and novel numerical methods, a suite of drivers that accept Lua-based input files and exercise the solution algorithms, and python scripts that facilitate the processing of the output from the drivers for publication in journal articles. In addition, a comprehensive set of tests ensures reliability and supports ongoing research and application development. Through its modular design and use of high-quality third party libraries, this package is uniquely suited to support academic research into the mathematical algorithms that underpin the simulation of radiation transport. +

+ +

# Project Overview *allium* is a software framework providing @@ -84,7 +87,7 @@ An example build script is provided in [scripts/darwin/build.sh](scripts/darwin/ * [GoogleTest](https://github.com/google/googletest.git) # Authors -*allium* was written by Samuel Olivier while a Nicholas C. Metropolis postdoctoral fellow at the Los Alamos National Laboratory. +*allium* was written by [Samuel Olivier](https://samolivier.net) while a Nicholas C. Metropolis postdoctoral fellow at the Los Alamos National Laboratory. # Peer-Reviewed Journal Articles that Use allium 1. [Consistent Second Moment Methods with Scalable Linear Solvers for Radiation Transport](https://arxiv.org/abs/2404.17473) diff --git a/doc/star.png b/doc/star.png new file mode 100644 index 0000000000000000000000000000000000000000..4fa1836f2cfe590cc3b1daeb5ce61dd3c65285a1 GIT binary patch literal 448231 zcmXtAWmr^Q7ac-E8k7(QhL8|x5b2f_FbI*5mhP4iknWI@5)kPeVrc2^E@>EG=p5p^ z;QI|f;2D^E&e?azT5Io1u&S~w-oqykK_C#Gyqxq~5C|0k0-+gWVF2&YgTEL9-ynu^ zZ(oBz?u;Oik3R@>3B2XA2?9BBf9gkuzzxa>ZU>Up#-eDDbL&%QgpGYQagwag`~GP~z{PlkjbA z&=eLrHg*~%XYGS%4>`g;H>c}VCeb$U&34n3l^T6#GF?QI=M+cN{UzWcd0I6ZYHAJJ zaMy^9?~Arfb=%&VO9%+hqNBp`8CN1pC!M;n3vN`lI?bKX+XV6-AB^%bz%riVoxDq3x=QyETpIgs#UI zer?xFLng1|KegjL=jUaED<6AHs87}JFP6W+^UpMO`H?i&ROm!X2%fa$bW>ZYHZ1N8 zJ8&YEd!-v%F zZ%l+=p+yA=^Fa(i;?f|l# zQ}=EAWzKlDU4Ctumg)We7S5Jiy-)yG(@2P@v#=Z8LF*KO(iqx*{w);~#EgQ90%DM^ z{MU*f^CD27hN;b z`zn4(h=&*zWO;DVx?pk_1Zv}%zqO2ki!bnS9$_e{U|{X4$~aDIZSIii<`>6$gWdIrl6 zVx{6xK;jTWE>sNOxv$;y*}7ZYV?IG3U#Gv*g*<{)@LF2g{?xQtm8OOCZ4JApZ5IMl> zy0PG&VM44w@3rCegF8*@PdGsjxgqkXLE?X-*<&%Vh(S-bxL1ire3;RutkIJ@!EaE1 z;=alz;=FKcolh4S*1la!NLal26N+4Pv?pD}5QU7;4xW?k7?9a3edz=J(G6b3_y-6PVqs%%S4y{nh4})a z!uIFBFQ+CBAENp|dVC;DIn1rMW&-sW#v3qx2bY_&$=fY`y_oy8@?CVGE4pfGCms_8 zOAo$S-SQ8Q>=2=*`iOUPk_)Y4W25_KVWepV$t}Uq#A80o2yDQ59Ej;ull86C; zf{2ITy0{~pZ!VQR;ER#mU(R_tMFZ95+A$+N;iVk%_cj}^D;E5rb-zea1+uiiGosIJ zTLWA>Tj8Q3H)I>wJ8Vo$7j%5f%|%Qn%=cF^VXNgY*9SG?`t3&)EZ^ID@UX^wHoatT zcm@m8+>btz-HwyU&RVP#Z0~&vjWmoJ*Vjw??=Uj=o^>g*W$D5}YK@6keKzQdOu(*u zOcX^}NVu`Ah8f3>Mkl>p%EJ{fMk(^^n`i8>@f-?F38ypZ6-lA3sWioqtxNe5V(H!d zYgzX#8jnp_dSeaQLUVX1!QZv~S9MgALmEaCWz)&B8?%7;w#WP=APvOO9>CU`hCk|E)nG84RA2 z^0gf-=rv8RKijg(5|6gx_w|WI?Yi-&x+q9n7fCdup zF&GqfmOzd6qbHDUR5hRyAmsYFil~>0`#gVHB`nLnbh-Ili46Z*jN3SV0NfIrGa-R!Sgx1Pdz?0r|ME>Fc^# z+nCs=i%e*H+>EceqzQ`%@qn7Qri+|xp?Ax`L*Cri>_!g2mgBxjn_s`f^z2rvD-EfK zY(uGHvU$mKnh4D{iKDi-XY{=lVYukh?>D*Wu%)%@4{an8SkQ_up*!)pR*Wu3&JN2r zkZT7T*p1;vn)@}^kF>>rqwNiRq`msR4I8rZI~#x{k#9LHv}YImDL6#iSBtSn3OIDe zI+lN4Rb*zL}Op$=lq2HHu0jQMZbBJ+RCjwG$W&?eWNS+JLF z9J6;Ji*1EifSA8IcZe!nc&C7mBop-Uj6;ZVkzGOMTN+G1v2|WyYV&V#>-(|4t3Q;6 z$0umQ_LLCW;?%V!&ZEjP=jQ}E$Wbzm01dm=Wi(gglO27%nfrT}-rt*m{b z<^(o&^-Sz#$4k-_GK-nzb`$G@n;N+KvcxMBe_;@n;pVxUKjdRn9#PLysy}4F8u9B# zDoe`|OMGHTa$R#4-aH4#r^d&Vjv<{wl@9)7|2^Q@rm@-;JgFlM z=bVA4w78+-)2}ED25it+$v}s5q`g2%J({>yvm$rN7mL^>?lQ0XN9zj*FHsJr(;2=UU|e6Kzy^E4J0Q>D?duN}4}Pp6fJ0>bz}pOYb<2U)2s zXpp%bMi~hZbTwD#6efrumaE&7#^Q$bfav(KO%$F=JRbVfn5o>&<4o9fO36qN;Jh=A zOcMuD@f~&a-}IFsU`-y@w_6{mORRIX%h+6TX3>0+WxLqL3-A4W~iHywG zwT5YRhx7%WJBdOs=||9WM&zC??$z>L8U1j)X|F%j$_^YOI}9_;TGZSStFRHS&fU1_ z(pxlBxk1w6(cJ884eCF3IcQmd9szY(P0h*mKgY`kd!tTPS1)kq7OA+K6B&y~EeNi^ zg{`4Op+>mb^fq7zmMJ+; zMY*@iz7j%b);E!}I2zg*@ILJ!z%ql!=L*CkM`w3~z0bw!uNFlwuNFvj+K-r$>N(u7DSmRA- zI*cxBS$IiW#H>F>*d)@qelATj>a2evE*LgOCql>U?1-;kRbT6|ATHQAHENx2%{Aet z-Wt6u!z{VY3*{(E>xi7&uW*Hjmr$L~zPYo~p}y48o1?_261_Z>);cX8szpeQwD>2Z zn1`Xka#BAETNn0mQ6=QI!}kcB_aQ%XC(LedVN}ky^m{Y>dNbD;r2SmN)o17WO(J)D zRMV*amzwKFq&|v8P_UK$rKdR<`_cdH60$u4#rWlzH0K$3+8E9r8wCmQ_75tXPpQu6 z-N(>*#So$EMucm&9G~FdJ8C?)8Q_h~itqa;!Hgw! zOxga2QlDCdiQ5X<@Tr68+&^T}UVH5ZSa5-##$~=^tFO&?g3TQXz63BO)aw>7t_3bn=WW@JPiA z@vEuE-SC>*dae34fnr zpk?dXhwiILU2`Ds&V)VMNsaP^^1$2&w~;M<@`M+#{3=V*L}&-SdbJc|8OTq?v% zK`28m5(#g->ox{LPFwKFtvX&=qaAmB7jquO@zC>z7gLH|Ejy4kejN>+wevbjZS~r| z&&0)aYLRymh7dew>4PxzQfDLY0yj2=pLdy}0zJ=ln$L*kQ4_4UHTN8`$^8ve#UHXg z%<7G;W1=Kw{E}Hi6w>vCy<)zolxaj?ExOOyrjZqKJT(S6gutJrmm8r>-I#?;-Dwi`6d>9w~^#)lFGyVE@)_l zkbFR=nA^OHo^bW;>#MHUVxhUZC4K*7n#GiVL1%R`G(q#K7p#>mhSg$a7xM`ozE4NU zkOljlectMKjJe6JHOEA;#ho`~AWVmP$K(ih>uIuk+g!4HnKb~`D>2cf?Z$}N8O}BD zuyMP)#XXHl!x&tU#Jcx9lTW_1HP9zGa`1XU@58yF_eKif<0~5pi%SX4>Apcgrb-vx zsjj%MVGq^slVwAZAbejND6m!zD;$o(-m2Gdh0uesxTSvW9|baPg6r8j+r1;kUG(z) zQIO!AOv%tys`|DcyR7eEeT+*Fq#^V@AYbW(gB~(<kldA3$?lk@?=k|3e*B^ z7Oj=9>SlMl_4Zca12nY(roe>#aGUU^6LW#^WX$9B_J-o<;#XG#t#Y*Yf$(ok5U6(fP0 zp!u_3!Hr}|H-e9O=4@~IarVAqy< z-irsVHlY^!8v2c4I?BANE)48Iz&Ml93o6aXN^)9s`pwHTyqLxgfE8>VMoii~GLdlI z3$sotcX1F3oz3e6lv2C>AwovuIvzJl`vzPc4D%C;hC|0@*1-wC$j`1-yS1L#M<37X z0mpks({Q~+*5q(QS)-5Ct*`%bS-Ob0H|SZ-ziLzt%c;d=b4naN^^BN91BHMYk#%b3 z!QH~Ak_m6ByNoxv{T1sE*SWksV7T#!Q`IYY$d@ryrs>rlGMJJdAkhhK#*1~uPco?I z^d@R7;8W7;bm(=kE`DE~QfxR(ZhMk5n1CiN>@s#WrtHygBYd#4Cww{A-dQJc40@Ne zcV8K8a_>1WtkC_#(zkuyVw(X`c$ar{klAs;AVh9YEIFEK$lY%L;3K!QHuhXz(MIKdjB$>_!Hh$jR4#P_+c+CrsYb6S_*Uv$|X>YJQ7k z%cyO%&k9oYu2OAu&x<0{^}JH_<~&Cd_W;Btn{l7VL>Mm{!~je&KK_d`S;%%y&rf1P z%ziBO(wlouUgFQQ-PU)09YLIag?vigg4@{Gc+hs`ikPRud?s1)fJUVn%8Y_y{$|S+ z1r&rOmyPLj^#fl}^BMYad1VHJj!-tA@L*KA%r~Eo{+{ij$#v-8Dj^iSLE0hO_ozdH zIzqDsZCB6TKJ(3*O_=G0+DxKAKGylky)6;O7Oc(@V$y@YMttw6dnn_7?vw@M)LlgT zpWPo*0K=Egm`$8=-4!>K`i&x$S?wc-sfbsQD6*6$OpZ(UDXQg0=NeA0W3n7S=tv>n zBx`k)GsLcYQOP|4yX@h^%KJLx&u%Dl>ng`tT+hrZ>an&M&5kzgS^l)_7vR07pfv_{ z!x=rvgv@C6cQKmKBe8=X{)iL+({tF)%!q~lW zLw1oFfX|WskzdX>T!{0N;*`WSu4i!Ee~--}#qy^!!VUEe;>x0P&d!g4$ggm?rnq#L zWXvP|dY`oX{lg2|qHysQODmT7OJ+Y}D@_~^orI{jrFGbTMZ0$*k&s~B>1UdR$lLwb zVh#t(w$%L8wFDe{YL-TKI1l-+BQT@N!CF5g_KgxIbgSK3!NHwaX}FMJa0byaiQ*II z9WjOw5>xh3;p_l~Xd#3>w$h@1TD|pql)}0IP;a(qV}#bxX|sB#TIlE*lY|pfmuQ+W zVPT&)AAQ&pTVx^M;=a5FS&E;2BDVM#qv>Sz+TZ~S*MpO_(Hw0zx*62{*6@`1qmhMC z6|YYlEoAAl-nhBdh~|s6iok2GygP>#L|4mK0=64qy@P0Dn-`I#stas^lw#1Y;X8{1 z956ssK2-flbTEi8Q|h;kO2V7x2B+>qho65}Yy_`)IAuWn{OG{(>?@3eXpdmHaqK+! zZIYok&)>}Ux+o^RL8`nv&D3^#+8O3Z0qEzhl(4YhvSOpgl3EEuSW5U2lu*3xjPEq^ zwsWf6WO{SfDmP4vx;KdQ+f&Nh{LwutyOrp>e35gvQ#gU%mJDSP@}>TSlT|J(sb^fld~s0h zFZD+s^|W|9y;iOcYdPv&59H6*;Z&<7IEY%rXyEnme_L0*N1TsSw-9X>+hi_PSHpMG zs)Tyt`f^e*QBly~H|WeK$0?HU-{D>KGd^&~&rsL317|>j{FrXViAw2{!<*T=4`c{k zH|!97252o-@WpsIJ3UZ4C`Mqo$$xaG<-WbC^5{^}1yV$?M%scv@MDA2TWlQ+Q2jQD zO35JHnJMD|NvxrFD8%!$?dq34*qH`-vUr8u28;}*N>6QBuw5z@lf2JwO_BHd%45*q zon^noIyP5pYTLP+a>MG^CJts{$v@{^Dk6Qt97NX=-yM82)e3`{p;*Ytk8sae@?j5z zm^0>LqW|;_pUdcF$m*@J&dN5$c{$RFomO`MrHh+P4pai`M6mOap45^PaA#za_EF2n z44WkP4jJ=a$xm7r9x1UN|Md88wmAQ9su$~J6kff?-2VCR8wp*|?C zv*OS`hXa|#Pibgop>51(`-s=(Ld$HzA07H5J0+QccWew(?fd1W7jEIOC zISeHHvgICBb#A zfWFcnX8MS+<654Et{GQ5s|u#zdO}XGQp4eOj;`AZ0Exnun0RzL z>hd&1DYi_siMsY*H++xqY~7*RpZl^3T|3&)T|iD$SJka-#W&>slak=i)b24N2xPkM zvIJdfPi1pCo_u1x*VUSciu0)FTlF^_8EJ+Pt!$En2(D83a5DwWFGH%oENNJ3J-0XHL@LJ1O~{>LW30B{FUFbzWgn4qJuu5SV|4E6}OWfwU1Z*jkUu zG@@22O=x{(hP2#Kp4ehW&HyiuW=}Ba@wGCL7%R|CC*N3FHOFX<-T}Lb$MqKR5m~(H zDU_3*r{`CfE1p`SH-BH>cCgsyVcxl-qLp>LLl* zGJn>!Bmty}Z^N*L$yT zP|SZ1K#ym~X5Uu&o%ZLv6rze>%Mlj1h`8*}(TR66p<@)1I}gzbkvDSAiakL4^+{*=zB>)q`Ilst`gZW^Me8dYb|by>mJr3l z{?D2j@E+$J^|uAR(mD7-0mHTTiK4lNCmi*VY)e2~iso@q-wd8J9Ame?rO$EL`(1WI z?x|JKM;K5e?PesA2=^l^IRw3 z6LKVOs-s_`ZF8lOv2SLE>tw&UY+E3w_hm!Xi+8H^hr~lQ)AED6t+}N9V2Tm=frqj; ze3{i_u|wA89QzCMh8@EVlFM_X9C%d!>Sn}6Z9KCCM1EtA&H zajJs1X-_KZ!fwu(iSS$|xM+rQbIRuVh1PRE+R!Sc2?k+F3MRIhqyMO^8o26;*C-hL z%Al_36waLysmSROhL($$2o9)uMy|j}(8&fG_Mb2#W?kS8K0&Xz9d~nBL-!*hb!LWcK^TCwY+X z5`O2`-e`7`Y!2|&GD|wHU4(pL|6Rtv2xpiGG9m?}$w6J@4%cLa0N`Ym)1Df=@;?~L zs!X61mCNGS$q%QmeiNeb4VrVYhZk)O>|wO2UJtEexTO+OC}I0 z8ngqEbTWYAhOo99`*J!q(ck(^_sh+Iy|TKX6oPe@5{kBQrpzT zWw|W$*1-cNgtQ^qT%mVV?cw}A^E$?rD%$1V&ms|WN`mJbsxm62DiG6c_;f^u}e|iZmu`S?D z#tWVf;QWxX%a=!>6Q~-CA&m0b667Lh0X$ukz zu9NXCi*||pABZh{R|2T``O%K2zby)ozP&w{auId6v+)F&Kobpz-qpIk_oIKEMu|Hz z<4&{f=)p?uapY~T0_DGoSvg%%!ly&kv^T9BI0kys0gPk5yaWd3?)kYLUuIXtP2yDR z_rI|lGItvg)V8sT#nJtcv*K&Byg^W5jgzl^8_I>^_ml^!R)zL4zLb9^RTc*HD%$`7 zMP-^b9cO!wJ@_%8n1OIDSlU_j{^b5(EGr)MXP3&BFN|XmC_6t6J|`~uvR>!0_`xT3 zfoQ*Yd_1TsY2GhfZw}dmc&B1*qj$TEIDD$@eQaG{{t+$Z?xrmC-t*hDvIwWi<&L5{ zo1}|W6<;486l@eDw1_>WgbxW{-+^px+Xstenr_1A^-7~J+(3|cNs11`J*et{BgM#` zeB2iIE7xvXm1$8)P?Yx_%`I;mRVR25Gnwm>(fe6N%93Wf@h4Ihrc@7P5SK^nKq5Fy zuwScX1s{pB_a~zZJtx;;EGlFsBrhwvSFpo8Z|oyoyU z=;^sl;r9(1PsE=+XJ7QiKD(7}U?``v{NBIV-U|U!MSF&xJF8@+${y+I7e%sQH$B1i zfTv@;W9TZW2INJX>UBXk7eU01FJr-UsE?Qger1}=&dd&(@Wv=U7j{;`OQa+unJ9lA z7dOXcqwV5j=@7+^M#<3cPj(HnUrUK*jr_cGlo2FXu?aBv*jUYQcAl<>rT8!73lbW) z8771YSxth8Vz{&O!AD_Uys$8Goes&&vE=L{OuC;sPV&s!Zj^K;1KMtnU`o^j{iz<1 zmRkF>Rfbq(v_<5cmt)X&=bq^GR%nUt7Yv%(i`@Mk3t%{qX7KKO`Dpi9`z&wZIik(` zc4W~83>ACzmm(;HLxh&p0w=0&B6ZmK=dXP3DCW$Q0FF3nB868dDnjc-W`{frF8jqY z5JdxH4dOSHX((~A0J%iXvg2V}ElLc0yvsKDw?-n$3&;{W76DR{Q=5qnh(vlT=RVp8 zIus*Xv6@_rWs+U6y(g~O-&`>V@eJTx+2by$ZCa95jEH`_2(3>tSY}6VpfjTbC->%I(2+FInUMGG$~P|KtXQ zu4V(qL4Dd;d3RLvpLf!mdpbOzeSYe&(>ev2%JFqG?ri44L{IBLW3Rf>%ea5BaMh|1P(!=bM~Z4p~km+<<#65+URg!ae!!vo^tFLxMDrJ$cd zT>+RU_(06cPp=_b)V$L?K>u#EAtfAqWJbI_>%MjY)T@ipPz_O+KDQaJbl0_~KM!!k zR{=E%RCY!;NaNGC!1F5o^y_kbbsfI4UZC8wtt#mVFtS2^b(E>vhGIhh>_G4K?B?cj zTEm;Nv)ZP4;Svf|-}{M-%)8l$Jw*}6-E>}dk0V2#rlSpsWrsi!0ud8-fee|Qc6}!b9%gK^8h5mt3Z=T{cq&nuKGN`RSm>ltauU8^w zMFO|#C`T4|UE|FCcNBGBy?g?fg?v@OYJJ(=yKi_qhsmx*B>Flthv{7}F zys@qYnt+;s{298x%)MrzQnc%RvBN^N5F-S&05i?ID{XSs8nO#?lhB?3?eEyjaY_Uz zrdrtbg@GzIjgW#5@9)I?Tu=?kNf}&?X3&ml z3yEoa0(?Y=<=CN9I5(5qW2LNQsAgc|*IVt*Y<&ef-)J+Mu~4zC#0??H)B7e%wAtX= ze(a>O9JzfyYsCP)xOE!eteCqcvcphHTjcaF=FL@m!wugL0Xs2(CQ=4o6BPro=dO1@ zy|c%2=b@DY#mFBU>l?BD0WGBLV{qGi>ErTex?4LGHZ@XFUa`B@t+8+7n6qRI(4(bR z1cQF-&69Bm_u(%;)M2Fc?YEYM6pq>-_k28SaAPeNPST^q?t?cC`jeF-JWiL;rV|!t z_N^-EypFdzu{CapVM) zK>@+(54Z+bC*W8$ClH-|PxcquSM>0dt!+7X@?jJM_Q`KS;x8&6qSo6~Qz0=Q)NIUs z>r8*iQ@7TRV*wo)TfUo>fD`E6SMhX~StI3s>&tHw{WJ{rSerchZLkTgW)$Y_1y%M`QcmU6M0B+0$*YkXZnfB#N>S)I^#5kBat zD?T3&97`zX3o3k>P@dG!Fp;O{xnmm%cKF&l#Wgs87S5oa?7C)ryoHt^Z;)ezotvex z5ba#sYs=0L5P_a0saQ>i4I0wIu~vubrTD>l7qr^#LQu!`EaVwzZHV=8xJSYxf&=TMv@5!9jbew{Z9=EL{u6Mt*J78IQJEO z0`%c6=6iD;vk)1kZq=LX)J^V-p=eLI`?-EaBjIHYx}C1j-t274tC9u> z>NahBtqTP9G5A-9OK$x(wP>SLYuWsGfr|HGv6#maa5E2vg>D%duMdF}8vZ+>>e?N+ zj65Dn62seg;yUR??Eg{m@|RPyzML%EvQ7&zw}-T}VKM_D&_VcHE7d&aU3?YSVRk0` ziIb*^f4h$gWEo^1)7HbI$hq6=!w7nLG-=A=CW_8XqJtJZCYS|u1KR|7EaW4jE@J}V zT{VZizcNhWK@MJno?ID_0T7oAKw&s|R<_({@Jn#7Q zOLc(>^&yUEo0EieOit^%pR~y^leFvP%)U*eD0}BdxzN*#{V0a-0F03Pv4MVQ`Ze#3 z(3^+keTb|t?k<1ora9858ZUYWQ*To_e$?$J*4Z8i1Yr&6o^1h=!QH@w&dHrlHjb3z z*cJO`v**8N=92$WsBm>$R-rG= zGr|)-i3GEC_!1bnm!d% zZ8QmK1r!#Um8IBg7Z!&HFRr#>&f81H(>I6Lrng-j>_{A0MBUnv>-93f-AWz+31#c= zB0OLHz7)xt|8D1-51)K#Et=Pzp6ZnR?jr5&qlbiHc*Rm#+7CD9)&@jO2f+Zv8kvy{ zuPikk`B}$MM)zTIrnT2!zemzQ-&c~ z*PT$?i&_Jlgvgx}EmK{|4}o1RwWqKT9;+pTbt~Q$(|ZdinL=IYzo#}mKom`L!PkBtK#9rudrW5rd#9hZDvjWTR z8$+I^{utSwVy^Cv#m*B#k7K)UpC{W&Gmna=FQ-X__&qP;C)2OG`A>BdbFy7tR+#|E zgkBG@gwuE)ey+M&gUVR0r*P95L-8VP#Wd;sNNJ$in}}_YQKsb4?MslQ^s(Ht_Eh_> zz?fIbc0pc$49TKnK5K1qgRtC&cz-SlB>r%&k%;}n=dk8LY{9D-8n_}40F^(6XW!vk zfcR4tZ9m+TLr98rXZ+KKO(K$;V$Ka$#W3ks4Q;UvDb-(Ku*+_Te9zQKem~V`_&c7C z*>kA}&B&h&Jm56foT4GB#4M1a?KYKRJLaccbtz}V^FUiS%lX_;Sr&XIkD94;U>C&l zx%}C-b_=0~Z86jj^w{Q0qvFr1-=x6EQiFvUluu~s?L!rj^Oh!CI~RbwY9Hy>A6`xp zAhZ5i;rBfNB}tvX;9U3GIFCM^;c&CI9`$uh{B*0mRkLC6CA)W(cZ~0ewZsl6M$)ib zECI4#45f1fvLm&xlFybxX5W6!<{)zi0}*bZKT4Y5%Tr+5g0bx9qlFN)F*J!^y*@q= zv>Mg7BW;J#gj~%O#BYT<6$#E=cztj;P7izbPl7?4FF&H~yCSVhUZFXj`=VLInTkjKOY#vd9TX~#DG_Qq_xV{L zK9@&dw7Al~Fd%$16e`#fWHjz}IDyRehj`a2?0D$w8L-TTRM{Vbs}<~$&d0$PxgxYy zu6@&Pu8T<95XqLl+0ETx}ZFMoX{|TvTb|QLIZ?lLACcX7gJmvTFASw zEDcdS02E+x7Om!mHD(&`L5~okc@FZc6qpuU zY`|;=rX14J`7s=hbiSg$c)o$56QGK3q7;@W+3~?zz#3tZQpCY-!sNZ;1UuivDY@!p z|3w|Tj%6);vebIRclT%uY+3D|M5CRU(QxdD1Oo$R)K>FXp>0aZ51-As{Yi4q@$+U=Kh zL_Ia?&uNz#d!3(nzYg1qM_{#?v>NVYKQq`!rV1qhm`mxg8zx%x@FG_;T$`Hwg+)x+ ztc19NUjsh-gWBrW_i`3dPK$4fGg-rtN>wbR)JGGn^%SbnIYB(D?DX7V|ylKGy1_^jf^h;2mXX0 zJh8m&M_eHxGZO0{yB4sZ^($D|w8KNiRN#-vgjYWAf#TS+z(-M+*g64AIu@z!Gmu$c zFO&_(&+2l0Po$ryw&4@$XCG)XeH6NV@+zk{KeExufv^BmtPA9<&~2y8CaaKL_VwLJ z9scN{=jzUT0AGqGK;qGtD|9HI%6YkY~E0w@{8B9=ipI@c9i|fUfV55g;{w z0>*)dyuYin#rE^%*AkA_I5^(Ner$uHJK?1<@1#+tY?px{iGcu_oYL{H(dEm9&A3TZ z2EylkLW43cN+w)dk-6}g_s^K@F4r4nP?>oPC-HBBe25Ut-Kk1>g68I z{TZT3{CfPK+(JJ3U)4a?EaZqEBF8E=ikT*oW$ewDTQ9oibO6jnU$ zs1nkz8|(#RpzPQ-?|TJE`?lZ{xKABSeAN(Maeeu9#;3+lj+a%boMF~3u?8Z%du?$w zXZaGC{&ObpmQMbH)hlyJI4NEw6Wz$V;6jLM01tn#Coa9Jjci?Tx^3~Sz8Th=(`#^E zMdQCEZ*)R8;aTX$^9?qrXwEEn6y<$R~g} z&x#S8(VNX3^jp`ZJfi*)T;a3WPvdBs=nETkrqRIHGJpN^OE}Ta1MzzY9YonHHm0B-SiqBd0)QT;cGx0i7@W3AJ!RYPB6h7`p$J7M~mcKyagMLy=Y^=qQS&rbcoyo+7s8 zZWOmhBb&Zd?GSr+@sHNjm=8KL_7H3{D^aU$DxP?h@ule#JZMUB-jHNud5o4NJMY)>nFlS#x{tvv#~2Lno)`I z!VFN$bhAdds=w;cVSMNmp7krW!)ustfyn9C&055x+f?Ato`g&|UPLjG&`sX>)19RW-9njE((AX{`Pm!&w^imNHFR$~^lxYGUB>kPE(6SUPO1;?SzZ`6t=BgA zDR_KP2;`N2|0l%BBe3$BI;l}5T_pI(vW&J>nh{$S2m1K8DxDHLrwlOs2lT5qB5LtO z0)Pj~fQi2lBVJN=nU&*a2YXMuE3FH~1mQNQGU#5yC+8jlc`euy2|C)hqwq{5P{ z(b(_ul)O1rr|x=x0ltiI8Sq>SF1qL@|HED^;7qnKC+0HMBzl)y_5|)){qSew)4Q0Q zXF~gP!hdTnjOi>@>LwyY4B$lBlbK`P`;2~ygsN5frEZI@m7|sqTsz1*EL&J~-Pq_* z9+B4cf*pd%M;?Y}KK(k(TJj=>7hgmR(-j^+sa)S&JD{7uwNbP`FcD4lC_b!nV4@p; zIB|3JEhh3urwSb3T+iN>&4p~LeUmo?)Q^d=JxlwmkzQ?+(vBAU; zJ1B6e+5lzplETs3;toPDlrdVTze;b3FC?BA&0qd{bW-b~(ifZV5-UXFbH*cnoQzdI z{yBSd6Uon5R-P#kSo&N}#q-wJZS5<0zxnDDBeAzi4Q0z#5Ov}wVnS;=XZvNTlo5cY zFXp+J>b?Aj6~Hr*U;e7BOauQ1V5;e^G^y>es8JaKPcP()?yijOn7EpYjoZ2uVLe1d zWlTw{ut7?#D`wQO;HHD>iOUWkA9=0MaVT7P?Gwv7xz7*6s459FCv3LFvmbw}l}pDj zfODEu@{Umau!!F`=#qvol?_<>*o!N*2sRk~mQno5CSPhk{pl3T%t|WXkSIA&b)5PU z3adEJnedaIw{APCj&xj-51pHb=yZf8l@(VX_0E`g54XONW=?e{3<(q?*oe7UhQ_9b zbr(xz$a6>PEJlhJz8FpkunHq4#QWGi(CS9{qCc-}J!`NsAqo|v)s^`7{@O{@&%FGk z-C`v95P_m6wPYhs4RRF3zV}RdyiKkPVfWlh-}LS=Bdz zCH1FmWV*t)d}o&khkwsCIEmj$g)jx^sJ0*Q%)>l*u-}wIsqs;@)+Y&GaK#dS#1sFq zEEPp)S2Hm;O7^27AO1@$vnTmMiEM^(Jm&I27S|MXgrEIH(xluE9o&Q<$95mi;k7}= zhvWw9J!pN6Q_caElA`Zd+f)Zrzdc+d{1vTI;uotPr3E*o76vc7OTS1yX+^rZvG2|Z z2{G3Y)5W*%6dB?py;xdP`ofnP*#5`US+G^rbzPW}kPhiONJ@8icPZT^jdX`}NjK7^ z0*CHyICOV+OG|%SpZEHH0bF~pv-X^0j&aWe+C}}qmC;x?K_|!2ofC{CYLJ2fI- z#Msu|B-FtI>KGbDVz;T5eH{c!dEsw@H#;o#bXa`oIhlB9x}Tl5u-h^T8}d-X6f8W@ z55pa?1?gLDf8Y1foU)?o>t4{TRzizTh%Pl-XYebuYiRdbC-FbQyVJyr@%bH-69CnC zS1;_e(4qA2a3OsvRR9jxkD6ulTxZ=cJEWE#x5F_{ZcNR@oJB@*Di4Uth#=l*q<~3t z3mpjvbaS+4_BRs)TO5K}p2FROyp~raGDDx-EcT4P5a)Bbf@_L5&xGC&t5gf!zk$X3dL)_#2UMYOxE!)gi3T$o_Ex z9fK--Ar3Mdo30F-04v@EFo<=35B!xCR%H_bw|NENYHHrJ4NimFZyCz^#$rM`T2LWy z`$N1mc#3g6O?vC(uTxf08P)OA9;#IH$O1B?o`BjRtb=syOv&sq$aIIe$~hVCdV9Pd^>gcmi^6>|@`#p@0iX_z&u_J9hK9!9k4OhxwM z_7dy9nuyK37YY$p1d*}0Dm>BJj+!2Klj(~a5H>V(W}~U0U-K#&?)(x~Gn8u)_?gHH zPHrGY1VfGrKO%f0%oj*MT`gdv)vI>X;F5iJ7DsOjw@@0w^Rg)C! z_uxNgVU2;#DZSRP4M$^Po~!Q{?551WPntUoViB`R{}>o2YNwD&g-^Qipqc7nK+ zHNg)6mB~-fT-Pf@<4fJe571aP2Oqd9t7cS+hJ#J?p@B@HQEcMH(!f`>)N(qu&O}@b z5UNgDJFI^HKBb0U41Ep|&WZ3fON_|Q;m7?YC(#)I;+7E4MVsd`r$PYqA^Pz~t7cGUt_nTey%r+$f7xin>u8*kQ}Hmgs{D zOlq})W=h6S`e70JIc6y3QZFp*FtG|blK3&?hM-%|p$Zk7qxD~>BDnRa@WzEf3;J(K zl1PNd?ikB^L9p34bo8g}x_`D&i9bVTa1jMi=GWu;VU`!M%{qz)HKJ?*l1e zqgkVP&2(J6!k{JdV!!Ib+0QU?oddNq9d)|jeT|pu6|E*zzMghXiT;2_*r*jqtF9-( zH5aPD_sZrr$gKExZjR$)A_u)TejO8x63%6mdCC|FN3gHvia6Jh$T6dGM!W+H7f)R( zMF25{oEsjdEiZxTUrDD`LT#?R)7mZ}PO05Cnqo>&+TrR-HM3^3dBoqPDq7d5FrZYT zKOg&em%E>4jn&06towMbqCc+Zwx1jN-5`DE@grh7Yxh{_aQS;-`;-471q^Pb3MKmu z+lKmoUR@X)gb^u7r<%#3)A6%2610AinzJ>Jj2y7Zc{mn^@b24J90cTrr;)AE>-Vb! z7Zj4iGfSrqt)2rllVslhNwQ%o^y~=zxFv)bs%SyVJX!kq;0W^5hfx-&3L>38guM+I z>8QxE++UhXM{^WJixi7eZKKak$v6r7yezFCo;SQx*OvKnKmZ)ME2*w3xWLILVjY~? z$`#K%Pq$5zY|9=*U3#mLRO7kJ2!-T@M+Ia^*Ka)XfnuQ@T#Xd)qY zsAySqeq?nx=#TT7*qPV&Jd6xL`8m%-ON>7TugZ$69{R^-6$WZzK(HnYKb8cn<=~V- zojBd~$zDE8P+o%nK9ZQjDZ&_LHZpNC;wK!`uDwGzJ!AjX#QWOHc^Ea-#Pqm=o;XiL zPQ2Si`ieQMs!kfHB3ea_=%daedNUkBo@m%qAT$9LVl|FU+QPP#Jd}-&yQFGtUH-ce9)BBAd;~X)D1|C>n?so{8TWy} zSn0fAahJy(ijz{ymeii|M7NM?pu@h=I)zNE(8(e>Bb2zt5zD!XUxL2rriRzVhnzPB zJ3R9^WWGv$=KI`%S(l#&?(IvhaQ$x=CNn#pj%*BHyXBc*ZQL)mq98sUCI2kCVEg~d z_G!f^Zx&~M;m#d_9A)vT!p?N5-@XbBO>2bZCqzLQ!}gHO;JoVia_#8YfC5 z%SOO9ZM+`2ED!KG(&t}`Ee92N36Pj|u5F;EF*LWKyP9_cwC4HVp?jhkMgAP;yw>)`P zaG#ynQtl25e@#1-xL(Sp<}QSvW7LPCzt7`jENEq+Y78X5gAbk@^T%NPW1M{{fRY)# znT?LY2X|anneB26oIWYAPc=XCk*fQ9+-bg7BSFL+v)O3;H@Uqe^AtrYxA9?Ci=L(f z1D7vIaAT$WhB@>B>7oio^8!1*ce~!_FA;`%EaRe5fxe;X#^+{*naVuHj%EQI3I43y+vd9Q-z^nF|<$skZvhEl4`K)_xL$90JSIiP+;ee}sde>q=vpiD&r&&^D zX|IHY2s!`r(cpbqog*lV4PVNb40QdOQjPnMt}({6X(B?h=mr(sQ-m>0|W^cVrBEN zyX9|f_r>_n*_}sb?ZxYFJ@l*H4aAfCT^2CrHR68FccAoAOq-h!tii#7z;7|B3vk=U zqaW%}-5#nEfYK9LilW3F)~Nl<*bX72&jI19np3rFNSZvW!Wa=1%~t?W6Nvv9cmSuu zw_}2n@x-Iig$Y&f=htfKAxEiZN|P2*mtdd5q{63D*I)yM zN{tjq)Y==@M20uqQ+f7Mh!E^!fI1xpqoq%M!0AM+C-GGAx0# zF@lNw*BkcEMNwo`!K1`{p#s{gc0g`NJNe)hPt#Z7HeC=bJ6XYz=fg9_58b78#+8=I z)p8!-HeWP?sB##0Y%J5?MlG*VCvFgKI9I=mA1v*h-;xjo>p z7-4+#CrtPjj|n`7_vPUscH@a&8PI_Lg5PFa{`)*o@v(Pc8~Seh+g4<*Kggqw3!!Oc z6gw`L&}9m#tBzcqm64;GthzgePnpWtoTlxMRlgfFi})THa$<|mo?^m>7n9CZaQ&{2 zC#F8rY`jP#EzZkhzFS+Br}rIk1D}8#?aTFds7%4bd)M9>ygg4kt)|(p!#HyLjV}8U zjCM(J2_~e;r=*x$OFUarGqOXsJZRwN%bP0ptobq9J4z&wd%30)Jv#m;jwtVjf?*G`RI@X_agX(mwyrj50G!n5_1#W_Ipl+S(+!sz1M4 z-lnCrUO6M{4Xy>J_A=c!+F)}6EO?adA?*BkO8O)1piWyOt^)GpbuhvR1~BAlyV_+j zUZ)9-Gn*e-PjrlkT^tW1}EohCs+0@oDkQ zahg5{fF5F3JWWNqG47ZU%9R*~aY$FRQa6A%omlnIh>z&VwscNufUr`&kX89_`2cml z(~KiNuiYAVLNhHnOhz8$2e#yV;zd%kpLx%fC9zqKyQ9Kk-8HLS9oFgP((f}1O;?h}4HI~<-muqix$%G$b zaF4@4{EM!F(|c()A3M@eu%A?13ztt(C|99*Qz{rpQhQB65HJA4&0nSNNT72mYhL`v z{qIw-DCr2QG14vX!dsMl{^rH8_dS>06L&3!%ElEPzaP|joSqom*316U59l@j!eLyK z4^qk>tG-AJ10=vQ3UUMzhPo?H>N3jSKrT3_R3v5!s$ZlkNya_SaX;313Zchd%*^^* z+)RKx$gd9Hpe7-<$(zqiMZ+vVKl2g5U`@D8&5dqqp}+Ih!?iUP`Uu5hTNuLNsC&R> z97rtDUI0}hf!`ymrY(&33-F$xV~p`li|c*BUIpj5H^%@%E!gKaEwdbcu#gb_oUf4M zM+wo#P}!lUJ5LNQGTQGXZ$m2yPq_hs23enauY39J%80n~-lj4J`LsDo8!zM5qK)eJ zpF$z3=QGM=(@-F`r$V=GefH@>UH&gW?$*A3=gv@qkwI6I`*nDdaSc@?m?MPuh^9(m zG6nq^5=OE=Y%>}_ZW30UB`O1Sfo*3ayRL^_j=dUK>@99?%G|;a+@G(oJA|%V+}B*k zmBqFKl%FP;fgkr@PU7rc`CprA^II1SN1FDBeqsCZk@F|2@za4QNy$*aP8FAHUIfsl zqU=K0IQtNp;lzSnM}~mNfUQU+5FMhHEwihd#i?l3R!d@<)(8B=EvG|~g9$2-F+|op zmo4dk1-H#rTtgx~#VsGun5~SGZT*6y*yVo{Lqp>1&6qpct?Kho?|h#85qp~usp`*a zJYYL7XAp8A^7^I`hXu5BSCHjn{EP5JN{xhWSvH&$F>A&pXjPx8A#g~_{&!a9EwuX zHgP_leVt@8ou_o)jvyfykrOAV9Cb(iJ`HP%NZ(lO@}_`|G1uzKHL zE>%|b`6x6EPQ_>S=pv?1C;|PAxE=w)KyqE%dF?O>vp&DB>Lql@Xk`A!lv%Bl?%P9v zX?9*#x#-U}oHJ<4B8yQxIi>yBEDSIO}WzCvACz^bp4#Z+j<)Q2d_JV{PXmIzX-Ym%*VK?CAb$- zF~*LJJ!PWT_S@F)pvpA6T62vh{z%wiq+N{5BZGhM=&!7GsuQNBr7xGN{qE>33xQY` z`TH8~Y!QpsbTmOi{ZPQUCP0o1qed*3@j)i~V9JU|wRpI4$-~K=yHrcHT2ttzucCdD z6=4M46ev?zAUzG93s@o-g?Bw`gURDI+JR+-mip#3u?v+fP%NLjqbALwKPF;qwxPxB zxy%X-rZdVk$&-Y>QzL}r{v`cg8>d8fz9` zGmTT<;(04w@dS7&7X~lvrPthT+(;F5X9qaeHh+Ix%zX}iX?U6aFWKTN%X~ns~Dt!<(i&G9I+mVp$5}kb&C`7jbHas zYv|aJUAETCh;8pnr6S>PHM49vBM5nqNEV{B zTK_85^1y@$5%1eK7w7GP=2npARq_x)Vr(!`?0%0JDZ46hL(DO4YvnAENN0Us7vKcz zYj>_#-U0A4%M0!nAn_u9na9`Am|pjt^i=d`+!`7dj;De zhC6|SpFzd#g`vMlf@h?RxzbNq$FnaILL)CKbH};2(3s^@S&PEHJjH>EO~u~R$E1c&J4b+mI|V=kRAW!%aQWE0KDZLAuy zQMY+*J$BXE>b>(Wfi5MJmuJ^!nXM)91Z*G)J&v@M6drX1+I-OQz-W-9xdthNzQm!F!Apl4+ZhjwY!tg z6aC5A_uFHapCB^2SoiG7{ge08X1$!C0(Mt;3ri z^GxL}yDXVm%Xj`SQuHa;*y1bAS(8-*isfrHOd?q{pdOKtvulagn+SG65_J z5^EXFEgAh6t80jSb)H5I#hc{@uibAO(=J6S@MZ;CF;@C2Y3WTBYhG0Z(DmXWxEDv7 z%Cr&H7C$E`=gjl=c5t-TT>@yA1%=&(^olGI*ooTBfj9;xpaHsxKuc_ObJvhvj-IT| z8+cs~5!pAr_B}r%^LWpr8`b-=8~o=zI2Zlzk!lP$3p995=`XKdA~TMYMq@?#nkle^ zIF1aMqz>k7-r60oeY>Cf8V(>g8yyM>4BvwLN8``BQ+2-8I!+@>NdP|Pt@Wsad*YI3VC+VmWuSvlVj$UC z()w+B=led)bu0PvRiStx&YA2MWyGg)`n5XK24U}W*&GK2agsweh{HS!T{Ucwj!dmh z7XJ?GE%^?dx>%&~Rg)Sq@zGK-5$t{ysy+cgn5Gqel3S{)FgQBaJ25=Un`2V=kl5cc06}L^_-^O#V z^E8}2wmAg*9gOFA!wgh3!L~TGep%?)0?yj~|K6&S#Wz4a+fP7BoFBN5M-olM&MVpdZ)}O8^1jbOScyR^&f&G~lfP0EMz5(F; z1VbAcB)!fSXd*(8nexpt`bTs1k6pF7A6thKK8YW>#^HXFr+x8wSAD>5cn}ZNHjjdjM(wGll~JmFvcn95VZH$9ZfvH4!{C5i<$yU zZvGTO-t}&N^V7RN`U-dW>TguV#tM|9bGRlo^$LxbU{zA@NW{62u|B)o1|Td_`nnR7 z322xw0$#I2oWEDQJx(UuJD{~4Nk&Vv<;WAg08-=nIl)=Nw^Mt)dmj9I>I}`cH@vZ+ zvJv|N1`mv{ndyFhmz*5L)C8;4i&@EL2A=aH+36?b)T*8 z!00{)v7kOuvir>rm;ZmxfAhxlAJMb^V29(2^!oqUy&q?73Y9@(ZVCu{$EZ%cMJ_nV zcS148+QFbt?cI{NsNWc8O>A=~Sjb6CzfV%{hNd{RKlfFMYF0%2`-0Wo>f4*SQDl87 zI{GEgu@|2=wfJXWoIV@L9AEN~@m#Bb`eFbw2{}n4qtNq7vioW98}x$dow^x%|4LJU zW@EDE<=T8;MCTOG#G5|5#vr@UDGl>QN&EM6C3;$efk!XNhuuAq{4&>SXp#{I3H*Y} z;7W~5b@mI$XTvtiLj1^^;1ZYglh_7(@4R80*n3K35zTqK2+!RJOmTEpE&)pgC93_n zsQ{cHQkd4NJ#|CABXZK`qiM>y;%R%qcv5mtpYs`X;VE;jwo91mAdQ3{Hp)T27)EjL z!QzA)dh>kiem}D8{9W$8;f?$5XTI(nmS@@QcGItS-ribWKd%|TLjG#C|9<{*p9a`l z8+{;ImKBe00!U|cyLkzrEdn}DriTW%{WpOc* zJWmz_3&J9ydwSUo1a^03%Cl9Yz;xoV>am{fk>C~MaO@5~qAQ_q`W_J(6i0-VvWTMh zM?l>3{x02`*&@@}O=Poy+k8Vae8bnK263s%fH?L-7s;B$eSAeH#e2#Gy8A!-O1+y$Hd4AD`1E;5J8Zc^rhlG4rPzFCMWw(1T zcwenx=R9q_+SfhqA@lf7OaESyS0=r!@clc8()%}v5_9!(!_CSxZ1^JmD%Z1mgM34G?JGOcxmb%&h_6mT(B9kgJ0&kO%tMw9)cjJxBRFK?JZg1GNd#lX>nbkpjC9{Y^NX2(K+2~xD1T_Kl~I9i`re;Ukh9MqGXklb zpQ7Q%YSFOPzK$Gd5h?lK@nbU76n1-p!qGbUF8kfqnI9*{>eyzGdsg9voi%-qST)f- z)CajDlgyS|n6-w@Qj*N-@f`Gz{T4K18}xf@->89oChES?D;xFVOL>Qp&=NPuSc%XY zcqWPD+lHw^6sebgbO;82LUMtux!gjMW9N9Oo%-mR>BMZwA`e}PdPuvmG*nZ~)ZEIw zMyQfO^FA~nb?vv=jRtGFEUfb3{0h+C0&8AVlnGy@WFs!4EKPv=6mhgu+zy zJXwQ|!N8286~&iHf*RjgMClI1xQ(wi%tETHoij7mOUE8pM0NtVYJhHzkj3vnm>@J6 zuHSF>_u7{qhU^_rUN3G+UQ4A7JTW2{^QRq`jmO64lyQP^GKYAh4bXs@vUU(+5sd51MS~{U$H7` zsjQ(Yo0fd7N^|7F7X7c z@AF+NT70i|Ac*B}Ol2_5yK2Qf2p;L<^8Ku~;31)e`C-Fi&R8^0S#tAKZJ%K_x`ye% z_u9;H9TYr1)ZKlEo~Lfh1&~A}!Yn?aCm5UJE#z@qk7`&oukZ|pP)u`Ih3`{1W-xZp*%abQ;WZ;q`fJ|F# z5ZXL`>rWq&WKAru!VC6_!qLK3V*f&WY%+b#4PWtnS=nCaxhwZ~w0~Scy}WxVsMyN! zKW(^pi2CPIxAc|Hvz~pO2NQNkS%hY z0a|4jO@aaU-3{bCQ*#YI0+8{RbJ$9K1t`s8xlagu*1kwhp>*k&T_fy#NRC4TeZM6SlXn@OOGYuX!E7 z=OAw^P`6p8z$yh^Qv6x5J+AxREvEc2+p_wfn+FC5JJ^!P9%{0q8Ks)%AsK(r9v7A zl=NfWsZtM$2}UUy3f&R6S4+uEF6ll4oj?{+33}v1qW_vMf`FXL_ad99Z(^89UVkR? z)#vBLn8953w2z&W##`r`;IG8$xBXWIQ(pzHf2xjUjiaNE$ z0LE>{{myijTn7M_iBe<7gvWcA{{|v`1;Oi%G9jL&kFE0H0v0!*k+fZ6e#;bRWbaSj z=i=4{Xyc@9m)OnGPFv38>eXFJHL6B(9(g911b2*bsh}>5^vEXBkBqi5aes-J&^~?2yeWh^c0X62I;8 z;bw&1ok-8~Dsdmo$sMX$oA*gI6O{<8=K>jO9{BM7Pt53lxPJkRQD zf(iq0;3XBDiifX5E(_RURI6e_KC(xLK_MFlPVZw)ex0kT1WaBF-?%GUr-L-`H9}I+ z#oos~e%2ijZg#&Yavm4FSQnmVjDZkU2z*Fb zOvE6#z=}|-W#3qH*7Pnu37L=}DDZ8C#Kx#b;myrpVU;iar4 z{FC?~d!bOIem;08!kF*4>wB-w+V3Sqc_1{4%Ua0UdMs5T;3T55)@O+xiG@L9`v-N7 zk7A2sV<_7Yd6e~F(3xpx3!0Q4;&-*??DdNRffGlrX}=kLKbk%#R1M{Gj-QaxF2?&h za4nHlscp0~32~Ok?zb{_w~@YVL;lMIl#oLr8MgD5E2HDN{he9jHA>kizif})RRBGH zq&)tSj6`Sj7E4qi52aTwa(juw{B%SYVdfSlUJP+cOfM|X^q@%vR;h{O&gjN38yR@Y%HVUb&?3;pr*VqQ?dNbOXgyY=L+yQb zkcSq2m<7Bvs!_7re2grKo_}~>(=#W`5lyj5U4Mo(eu$mz1pQV*VqSbaW8ZuulGKi~ z1Z;SMHKtrP%WlzfH;|Frm>5iM5QkyoMR>1F5{MC zhI{;6av%y@`f14UW@WATbvDrQWE~qY$eB%;jJ&mDoN->5$km6q=MMuG>k>}d0$k`* zVj?A#w)0fC7i4|-_xhopQ$sm$aJ%`O?&`Dqg6z!-ESaOC&Cx`OpJ+hxllWT&fL40Q z-QiEDP#A{ZVro>Ms_>oe`y~)wt5NNBz1U2RX_}Npgn*b0Jg*A*xk(ylx~3J(hSoey zLh<3*mc{e)uxi#@F$_kk*@31>D)r(UTDaU4xGvu2QfG`igsDKb%yV6>z2wieZz+j0 zWv_9OsPxGRlQ@GR_SG|gO*2$V?@^ge7D5ow&0j`^Gxe;@hYApx2+(6eV7vJCGSWWu z<%n>log;@TXjp5!H1WGz`H5ilSy*<4pEfuJz$UK9THN(WE3G$UKkjamJymsh zTy#6fZi@@Q(0jbtysjF*A^}gk`R&I1py zmv4*y+3IqF-1t+!aP|Y-oQSMJw|bE#GZaq=lo~^l{>aj(p|w&8wV3w36EHp*jgT*v z9>uSM`qUBcBEvqyMB^&mqlqMhr#+~JJ8$;hg=0xM2w6=k=3eT_*?>+XiD(21=n^Sw z6Dj9}n1(q=-gx&@$W7Hntfci40&<}3`lS6s0RFrw;V;KY=U)sgOGbcX#u{97YMjt3 z7i}qC6j1yt1}E(!IB&^7;5#??sdDCwJD0?`a#2Q%V8VR;NR(VM*e^n0o<-3l`FpRm z{yE$C4~ql#2x$AGQ?S8)9j#=&X6^S<$cC~h*+=phq>n{QF1fe_Zm4?v>T7M<_HV5d zZ(<_QmLiLqtpN~wX`-)BxX4=1=$`dBQjlNAortIsd`ndR-H#1?doFQ`uF5qM)yx>E zb8-W~wjxOhm+QCzhOQ$8mDe7RiI|98xcX z8-PfW6A#=l^m_lzBo0FF^?BAiDr zPD~qd=tn+T@^aY@zHl(1uU93tc5XE zDHPZH0ovA3-fAN6Q$ZI{5`|GiA6YRQ+#CCLRxs^~kSCC{;z&^PO6gUQV>c`K&^Jfd z9H&h2C`2h%_&`>li|KLcPiy&)pTe*X3f)PVb|KEw&;~8%j#`KM2&q@75>eiih?$!0 zR*UzyO8d*o4mr)*54)MlPovDQK{p}iKJTQ#9VCzY|B#_akN;V!pny^iU6~Q_TIATG zW9#Q4j0%=yU)n)n{7b^~QKgA~)0Qf>e2ELenQgLS^T;kB=?#D>tGw*j)0tqQoPKJO zic~E`BS2*o0u~iz(lrKBC*WOh&<-_ThQ1`q(r7>bMomi^$e!X5oNe!qwlqrubaY@K zVVB0f)XBiV8#%yXtMw(=_>Dzv-7Iw?qhJUVyR3;TfDi?2Rhp#V83pz<8v@9)opyT& z$C@|2HdHEn+IxT_{El@h)^nG=rL8az4FIiC7^VK?v{1Z!|0o!0K!%-abDA-Cz&3fn zwpPXnlcpGUx$(ncHirqxSnC}_f#ReN;V)V$8Up?PJ@~2M^=!4N9>r-GDMI(s;xb7-$A(*K@8=%?O`s4RI~fubWpq5q<$~F;JH6o^I?P zd&lLYEgQp@P179V*M}?Rjg+ugxG~}Tl|dK zRca)uWrXtv(loPa^zH+73ghhqSIToH%#B8d$vsk7HQ8|q_W6>iT ziORc(qD&@<0^O3bvY>)KekyiCP@<%J7Nuf z*9z2?3C85E@Z?2CRzKDRUIB#r5@_7u(u8a%%OaC*P|pdtT#*oUmVR68RSoysXtcy> z>r&bkc6PJGF0N;@(X6##9Y_=+WL7(@fAEyVGN}OMRi=WT+&CAcSQ3mvjL3Iy=qQ$h zfbU;I8RWj%%(j43#3_%70UNmW|j+>e9XY zL-yfje{7C;gw79dO}>*I;tfWLD6AD9G>|B<3vD_-YBkKJ1?YZcQumDD7MLz=jpaNy zXqL9ke>qu;HM%>bL3>pG%PxQS&ob9G;Ogcmyk}38{qz^v`!;bIf|C->I%8r@+h<4J zO)Ctjukc*9I&UwCrvUCcaIn!en^znpQ=!+o>CgG#3WgDlx9h&imNg+)h-U<9iKP_V z-t|B2FTy8=X@I;CjkDcefT4s+sBBcjawty8BP2~`HOzHgHcW?IUuq;q4Om4NKBc=U zkT?7%y&c?`;j*q8$_ykXb;EoRAB&MNCfyatnMmejmw>ll<;> zZV(S#b*6<@1S<3Sp3tlQR)8@4a6OBgtQz$m_zwBk*h$T!l?wI<)f3g?gK$W_k&G#% zP+)73!3d(Pe-}yMk@BnaO1!IR9Yw5k?E=PFI}+OR!lMSBBs#knapG?;X2cCxGNUKW zO`sYI`XbXr*U|+op;{3<5qLBnFn+$0tR-l**e^5U#&YN`-?hHnta~2qC_hc&F$-O^ z@La~n8lMjlE&x5u&Dg&l##;~B9d3TyzK@U5zhC_d+e|>9YEw}w9<5V`W%^1*$f+agb3GKXgok7epMW#Z4&cHEK^(e%+8Q0RwQX%jt8}{rZTh=A8qoc*H z4Q)0@1gykjU`+0hX|jR*w!7zz2*-kKP-D|KknSai73DRL{W%CCRe2kmg>#d-jz~DI zlKvgbtePylE^d3oE!8qyhPybAy6spclv~}R1@Iw(Cz)zjT_(o7ihuXAR?VP+cq2G# zmKHf75$HC^Mq5srV)O69jY-*K1^b}$*5?D~tZ1}l%8*HhK>_Tu{gHPG6of%bK~D2t zS}}9)dT6SL5eO7Qb#9E3fw!54H$h=&GQ$f!Cgh78z{VeCLKWn;{9I^y#t53T6#!t| z-TQrW;6h)%J9gU6QB#$mHYYytzjPPbUKT# ztwzlWx4xdRw^Y2|ItW(z&U0SWKSJ*#KJIHS2(9HB#$1;GmB}v#{{?1Xna0s+-Sqd~ zt5SzEVh1IET#3RTJ(yhwGK+fz(1#P`CKJXQHIXP*5&gET(>Sw0wEc%@ebr87E(moF zlWT_@KU-IlE8|ogHd7Bths z74ogpcQ*7i;YF{UcblNj`FaFmf{M*#!M+`VSLuzVc`|EOFm@=97@dKYDi&BKZ#QJQ z=RHXhK2`|Gi2}(5RHDd9n85G2H?}=FbdvlWA}#0Nd|z{ARHWJUmpvQZgqq&RGa$;g zEIeClCTg(PNkXk3J`#wdSBa{bXL_r+$a$tyR_~ecpwN?W*nM^*K>}x%3JaiE53$-{ zIO;avY;hibio1RUg}gb>BBfsRq}-pSFbzYZnCsS+SUjUULVe2?{h7O_?lG_w4m+Gk zrUOP4ov>2$WA>=s`h!l}svtD%itCb)ttQ=~EvjFN19Az367%Yn0El7bc^1vsWdc#PgCBH2Q?u&9PS&HysB zZ;sp4I|5#I-C?<7elGA+Vdea}JNZEtbY8F!__{A`fKPTt>2EaQXJ5C^UAAs7k0qYq zJyz|^7lZ)dCGL)6&t!t%R5{L%cAz=o=Pxk@b5gy7(&?CJL39LyGFiBDBczpQLPaV9 z`)j)`IM&ckmdHcByr>zGRm>snYF>>fE_*?tG7{4x&>C_|3W7d0X~eWz$U;Q5qv1o* z(I{2YHjQ$9BoE!m^L91wCP{a2I?`+h)zxO8wdUptL#Z+rQ}mhV^0TyCPE;y*Gm~li zMW27SSKUp{-71PQR%_~_T;`T7i2S_r+OXs&f+N8QBVDtpLdKM*ag_ljF+f-IW5GbH zRhPjWd?|M}T0iRQ19oYiq74`kX;A$c3Sbb=XFJWJnzcT%hOL&+9+EAq=jsB5aGIQS zNlkrq&jpBqn*II_k4mUtn+afMuu^$9_)h<}{tE-(^1zDl-{wJwLDV zmM_2O4{-kyuDbPM@D`0-l=hmgA5_%GBU2hM$Rh^ub_W&;x4!rE~C%I+*6R7-lWk-BUJG&~HfKY=i78xDeLnJr% z%N5U4CSlw`1A|iNFi_E~+SDzk8{7m7d3h?G9hqv<1dGg(WOe`y{yeZc4ZNibJt`bzfxZpYGAT1Up=tU zmKJI+1-6=TXz*rz<2_P1{+wbHCOTzJ<>)=IRxxDSKC;x-mZPhCBHDS@chPi87`hm( zH{Cgh<<0ou(L7##TaSep>Z91Ofc^EMuGddwX(|8Pz_RXAM3bdW-Tm`w-FV&n_{Eu| zZs}y*9DVPp-SX#&I`>OXRIkyJM-8Fh=mKKCvhfG`BaUR2#XX11^0d`ymzV`-GszBdzqdP zGaiJh(b$6qXAMnYR^(@U9Kf&kD5C%^s?mp#W5)x9F|}02=V^x^)5&*6kf~o4iGnIB zCyQWI!wJt4>m?WJd@W;f>bOEK+lit18%#f+5{;Zg2_wse$Sfm5Hm{T0ea06T@t!M4)&d2TElJM{VO4+LK5|N<{*TkBUey8oagHx1E zNokw8&!H4LhK63rVwMTb1|^Y@Ja=pxfBB<>ZrCD!v)ue1*@ z9t#21!4f1-BYiBYQTXsTZo~KzyG!>AzNsI5?skY9?QR64yKaj^c*yZnyh932liS=z zA~3@Y?AYtksbkIjJSgR#IqO?Q;vU{nO68u`R$8cOc%MBTGvf>%e|240o)sgrE=|DL z#6=c&A*5+PCPxVnq@-;i#Y&+Mc@Sa@O?=je?n=H%JZ^aZ>z``mb zizKihxR!7uo<;Y-LAL{MfENai_+;i6%T?7d!6>_IZ`Xal9I4AKsCJL?eY|p>wL-X zG0C$TAlG7QD&xEkypgMPmdI&2eU>7OSPOU9ta~RCy8tKUogj6=jFD#i< zilv?q9&bOr*zfy--#n9hje@k8%(pYn6z_Po`TbLvQtqbbmbRU~nZn)PxiaoK8ZMjX zbQ;;fR@S|_YHD9^X$kC~!_~DJp5yz&LuKS1Th&%%vs>qGds2qD`KQjJM_QeV6qj+;S1>KAvvySK?ahX*PC4Xun+YXMg{jrT}hCJRUA-gOaKq zN}bvJENx&W^ILB!xGp?;)#X^j>r4ddp>~Njlv&oK56H2bdbSOOG>{(`L-o2#eP z*!KBMT(pmytt)Txjfjg}*^VyU6(5g_WBEulxA50dI}!IZY?y2Lu+WH2Hf3_4A^#7E zTdWn!h&l8k9z-!(Q0ye?T%Z5JGnZp2*9vgk>bMN}F`OV7?KzRl;F`U$#9ME|od!J3 zwMTlUF6p^8x+SSu%=i!i%S;K@*fFbpcl=w`GYGB&-+P@@U%m<1GQ{EN2^>V9hBx*c zT^uO%H!H9quSz?RfM1mQnT!#fN(owT^7EwHLwZHU)6_^0ILN#rF}w}g_a@V61j}xv zZ7||pr-5kFPdJ*dh>mSDW9|km7aR7)74+AT#LrVVSz+NnB;oVj@XtjQVL{~JR4xyj z`O1qgS50H+C>gY+;w58|cb4Mwaw($Q8})b?@S(e4gYD4koS1kEkzT?G*tFCy&PF7H zb3>*MqgpKlwPA%ncd) zDtVFfHzMH?A~5m|X!h~xFhjqxzy+KV-gSZLFcb7^jAF&7>Mn(bId6l* zhiopqPy=%XlweRWwQiu6=O3X^MEeI|FG}g+I55t2!<+r{yzW;LG`|s z{F5*L$KQPIAO08bPPZMX9rvoL_p}y#1io!=-U14>d+9(<$L6KcvqV2CR;E_>y<*jPrdJoIjW1wsvJ1&HeNzKG*JjzZMMEHFZwxal#N7>;&tjAO=Cu(FH7*2`Or^0?`h+^I8nXC|K?# zbRA*6PKZIf*xiiE+RMF!*@Druz_3o*6%PsQ2+Mu_nV_)Wx4wU^6;6o8oY z0Iq8jLLkJLu)mwo%^2&ozTV|t!fZaSwO$MQpmzq=Yq4&zK3?U01tl-#ea57B{g(TB zO+$p;Wk_gSEmULFYua^$buS1(yVUaqqiyxBL%$OAgYI*+Oo$N}VzPb7xNnm2anj%Y zeOr47)(PGd%~2elgc$VBz-&H! zKXsqewT7T~Db_2X?|~5X_qAWk%TIn|_^1Du|KmOQ<$r4%fAN=Ie^=^)TDVtLy@z$n z>~1{2e(DoUdSCa29Z+sJqd3PDG+N))erT3ZQj77pu}XKba2n8%&b@C<$0&)gZc+?Zco3_n>I^@dH%9CV^_ z6;JA)4r#6Ey;2myUiavI&-Nn69(_H-5T$<%5xH)E-0@n4|}U0YrAtYK@8$2c*!$ zHBH$EoDy){sz4CFr1UFu7Fp6T*&te>mZ6ATQ0X6C;h`d`xKfDE zwit_TU0a0U8bN0ko%I@+Z&R^0481*`>012&EOzwkTG$e1bG4HUYoMJIwvX6z?+a!N zQkx9hZ!{-#i@a}vZ>3l|);(csi^@KEAYH4~0ye~i`JB+Sx^|2xR+fG(=w=B!M;Oe6 z)qcWai?Lli5sRzt$}Heoi?wbnyAu+N0~ob@o)3)%>5A5l9H z)`D3Q>>N=`$8sN7EC|~>RMz&5zE%jZ?h|&l7_*snlHCAo?J&Ad4{ z3A2Umi}bTJTL4FnkR2cei!H*=j(%Nitwmm|2aX)mwNe7s_StDW*ykA7*&(!TUYqp& zwS9I`*W$@qM{F%ks@Bg7+u!T91-2LZzfb#n^3`uX6TWuyjSgS>KkUA1bwMrMtE%3k zI^CYde|Ogepi$ z(SwfovTtH8ww8Wa0-$kib`TqyWzHB!XTeAjL%%l;dzzfL;mDlC>J1-+l!BjI{p_TEWr#~4 zC(yc?dF8`e1D?7Ta0D{HdXfkh?ffTbs1gX;t+y~L$!FPl3pDx}5(wZ4Xq_Hf_V)l5 z03PHBE=IIl9^4Vg0TLNJn?YJZB5kGf!Xq^RNd$EQo-@P=z!5wH{FV*t#suyNe!(NU zbf%A)0K|xHo57uB2Y6t%Ah^~rn+}-IM-Mq%#LSAslmvd}(QYvu17JZrC(O3(Gv3?d zEz4Q}z$|EH`r8>IFmD{1nZDnyCv*!!+iGD>j%;m$B%qyR^yMc(GaDaA7PNC_V6m-#WObj6 znR%-d1l?rcy0#u}#(i?xC%aVknUbKJk?zX@k_cS@7Pe0WK{w}(eRdoBOxW6?a!o@5 zwwm!V_X*qO8mrwyefnC!&gSYNX9g$$vso&>{1^mXr#^iUAZtQ57rhP#)*=8rBy7zI zjrsIl4?9TNHSTq7U)I*bof+UTJ|+UB7tHKE(EmLVoj0(xVgj~XD%ZFl66Omk@25Mk z)_k&748Uxr#W&l0LN|l1mDiqAnF&Y2XZtm{BrK9saJlmV*GM+nJC6ACtv6?0@3F}W~{>!Oi?=K8y<6` z%S0KU!#C7rMYnNKPq{%v^BBDV_*-n&#?n6dwB#bVT(opC!j+;Vp z5z#vsB7(-vwF4e|rK#k7n8l^|^etS9U88|fX0Mof<(=#F;FLSwmZFp-U%_YYK5C_RHea&t3l#YGii}xM`IgpQ3uq z&GQe4@zEQkU>v+KYJi4j@7@atgSYF5wrx+e(K8x)1HTIscnLWoHps~6t9+Px0;CSioAd)e?e zM|~gkv37I8wBc{g9^>A;^T@vMHH@sJKJnEmKerwb`aXN7b*&I5-s_FWggyWWrw9-RU0VyVQEX|T0kKmS_#XMgwq{&V=1U)+9IYlGTx zuc~^F>X!B%Jl{X{36JI$00^l^qBI$fgt5=HxMdnU<_sV}Q$)p5G7|z?o|WRZ&}Cp9 zbI}4nq~5ys2fXs4hXw#F?l@o+9E^pcT$o5)gj_|6BAFNzB1U3BfULY`{3_cECX6?xs)Q^X#?iFy|a2 z7ymJ5t^K?ohl}p_YelM}#1dV}N9Xig3tZoIcm7PwPBCPqOe# zbZaHYKhHGcbk6&70jAEcADv%+V#IszgU4=7{k${eT<6KobDiYXfl_4f>eq{4a(?~s z+WRn`*?CsXw~eo9l|3g9kEO~2%yTSlXOBR8;`A>UH~&1b^4t8xuNNA8#r z`n~_K7#0Yt(@j@26o?O95}^}aO}*LFOA8bOA~`OjQ1a_C4dmo#D;nrTCp(OxM=Z*u zaQN7tS$UxihQ=AP@>{*Xam2r|%h*2n_0E{ndtMQ&<1TpO+xKBU;nzAV-(X7QBLr6d zb6l{u2Op6-hi*o{IzVhkQHKUHgvh~8)*vc_oljwc!rUGIc5X&|vdbvEaa8EXuML3p zp-s{K>f98xM(=xeUOj+Sb~q~!$74cBv_{lzm|}V|o~A28bXMM~s}X66X>LRzR>L)g z>{wLCO`_{8h0{nSuz`}pjC%Du08nV<#zFjvMp|xU#%n>VhYvpbjFoTY98T0@9~UIP-++`5d^)P+ z#H7DfD7>pPdVCGAs?d6{qHhhd%&ZpIg0}C7)72}4!fLv2j!gN4D`a9dS`B(QQUgAL zz!VWK6P^9{S4b8%P$wXmAm<735)ncJT0y!k2#Y|h!CFJQX2=9U8>AW1MGz(cs*nbx zt5-S?L0kmW2lDH>Riv9>dLi1vpTmHBCC+9CFy8{Q>kd(DNn6A zzYf@Lm=w5v5y>yFisdGQSKl90S6*HsLSXegW?;Tj6L=g%6FNg)isAYpB0sV6voprp z3{_>I4`j#%w=c-fZx6-t5^#Ho&T%VZrsgpOKDkR1xqX1i_2m|vl_%;z-dTL35}slK zlZL^{ldUE@F9A4KYBsNakGb)+p_nX1arJv>&gI|wxiTTVdF@oV363Af)H5WYn~OG}W1BxzK@ zvvihPTxZx}6O4*^6xRw`MUw2zoivUlnOyV8ggA!GiZzT$Dp-xLR*<}6uHHPF!#omS z^Gd&3^>alG6QXnI&5bwR{sPcrUX95xId7sc94*gPkj*bhA^WC6QEYcrV;DNb&c35> zDjb^uj1yWzpQd`o=JeEKs3IZqv|%91qt=Mv1X_7&+c_C^Fz$wwW*CUbnE2o&;X2ee zQ+?eAaN?;eAn9B0>^<=kbxo(CA*SrrZ}rzFgvex7O_A~fKv65vr07GL0E4!}UGvV$ zi=#H)h-$E5W$7wLHfnae40{9+BFu3biM*#wuKC2ISFNL0>zQDO^Z&N?g!u^S{_yw0 z4WnseqbLA#j7w66#6ZNwv6aEYo4UVUP!HFaPJJCdc+7`XS*?&15pn`jqzT7Wkq{xz zzWBt`T7W0M9U|WFECZVX402h36u1d7MVK=zavd^7|5}CB1F|F_2S^fF*%5*vOk|p4 zJ21T@q&b4aUk&-1kunpe0K;_42syaA6qs&)UtFCx-7+^QYDjZHULqBI6_~EPHbOwF zz`s|oTYATNPh!zP%n z0eNPuS_R83B2P2}nF*Gch?w|$%iu|V;{S~vJNBn|{p*3u@f^c z-#bm>*bqNYp7Wl5c;N<CewU&pCa8+!jCoHgPn{z5gHu>wP*mFikY5Kdm~ut) z3UME##6-R5#^FYwPOvw%8Vpqr^rT)K&1lAily;djb{`4__p<{SZgxZC`*eJ!C)3r{ zj4^mqtQE&a4Asb#QyY!r@&;n`E=75CTB&}Hw*%`I)*cmxu@?Pz!(IjPmQI+ zE)zW=^`raXyVE|Tj3AMA88^ttQQ>_2gL1#>6`GVMJ`S>`xcyf}hSRcRhIC;Zl!fT3P9i9Prc= zWM^-NQ6}ch*u%;)o%oHBS!ef_0j6w3bymHVol{F=fT@znpC(vqtc<$@o>lkeP^q%w z-YUX0(E?)%JvM}CB9HDi8R=hhWo4Kcn@=4I?J(Uj9|U2Z#^)H!YChEXeI z%6ttJ?fwdx62cq-Q3wq2Is;lEwIH+uF$=^LwioDL5OaX2qCE~koinbAaxYA2gE$7` zb|r5l+&)#u$^>Oo>}&J;DL7WezA3~x@O@S6tI}Jp@UI&}3aC}E-j&!&5Y%FLd{Sr3 z$z|U^>6pY@3UL3Z-iJX8$9gw+q_axBtv1-}?P1t}{;amt*w=aa(PyQw`W2hJ9C05UFWYJ!7A-0%`$XKXF|G^2@KEY$S_}eKO{o z$4(x5eVDV_?l^xC+v&>6$15G;Ou~WtN9(^_P>SI7qmIva-@1a5iSD+s65ZGNSl_Oj zvHAMuILMb{G4U;hI0?XizNK)T{T^>S5fN@|sCwMilR@vX#sIFT^RB{FN}W&&@abcZ zCF6YD;{ts8WCOojx2~WhXMe8CHJmFyXgl?cvq`)TF zo|O04eG?HRcylWie95m>bVmwl*l}3#XF}RHD$yBpDlRv~FbxhK!s@$PMRUHL$c+pP zrK2J0mE%4%sn*Sh7)5XHRHQU{#hU*cVsiTpH$Wjoe=q84ILCtu2mX)?myyu+22dSr zJ<*qPtYp_?Vl~+P>+s339bKUU1OqFP5Q#dOB25bi9TheP$NcPy?~sc(dq%JHd&L|Q z#xN*Tsu&Fht;C|@n8Zp)JH`_YZUSOgLza#4a<91S7<^>b_`Xv{h^!oIasPgd<4FPi z>jEvs-wR`p3cc^S`sdv%?Cn^&X_zP91XQ}(h5xs)j=)29%wAbZ?N{9)``6#_mVo zS49X+64!^0b(R8r`nnDbs~m>cj}1)3fwCK3KWV23J+=>SbLN{YeHgK})eu4$zVv-# z1E+c-UW<**%vh%o*SLRD*TeF?+&}5S!;YueeM9jW96w`iJyyS`-c-p+spQN1J?`u7 z_xRH%8~5QjxEB9sjqQFWsOquS2OBQ62_AR#*cj_9&-eJFj%M}aurm<{-k$r{@BaBV zBNN^?AUf6wJ~3!L>BravtPf&U64-3}^^fOJrsFs_0qFPqah7wAo!`#_7x1|A>u>L| zx1lJ%b{tIdO98(Ab@Qh^y!OYBHe_0*@Epd^dq4Qz#h+9??uNhlWBPr6@L#(B;oFPo zpZ#-vK;lo|@y@uvAMeM{vg1X*hB;q;ftdWdkw}>!A&mynu6tx7s$$a>*`4RsU+-wi zVN~yl2*g~uXc$iNUO7%74-`eZL>$~CB$?2(z@$N;h>{0;e%R{OWG32V<(UkZ_8BWL zfs8xI2zP~Kul#pbo(;9!fK1`y?E6aY&@1~%vU}wf;t4yAFtb-|R=0MbSwl+B%1ayrn4pzOu>@~CHPpKE$pU8HLy^-iY78ietAR+Nu zF+pm_ddSL~HH1977LKfZOnD?CATsVlKk+qD+~#n93(NCo2zNNgiH5_PcgS`8t~&_0%3PaPuINP2zY^#CSxDHC_- z|GpR3J`Tm?HH-?a#D?q5F_+2>!S&|6`cC!Y?Zp}KoybN%-&V!#O>9N>*!(%fn^++V zm4lJm#}ET9HxB8kl?mkSDfV=E8|(TK$ghLRWpo`P0K}+%kA0oeaJhOEAlZKUT%&ORbWbn4<9)2sT_Db9{6Mbo!|RK{o;e*_y574 zUQ7mf*FnA?@5j%o;~$uR8!~20xcmk+{hsO`^=1u85)#r#Isxzxu^AB;gHJuJbmv+? zLP9`vZDL1N8YY>MkWt%?qiy5+yPZWKyRvc}Hk@vk36f~gF^;c4kseM^?fknLpAsZjI#%7E(4kXm$>CFu8imP| zcMfLiuL3wRGp7Y=jhhrtqFK%F_fW^Rf<&a~!>a1~G+9+fBG2JZXZ5{T;9EO}Mw88( z6Vi0yG}O9zgDUy*&eLn-+Pm2%33}|XT7Uo! zS_*=2y8w|*s(Kud6j*IvCRi=bxVtt|6>^(_iLbZniG2XV6d{wNH>E0CiH27yXV z6`o6uFh4Ja@1Nt|#K+Y8wJmU}>g3mILbYP%>w7FoVSJrg==u85#~@Vsg&g>FLjh12$Rk{ zv$sJ(o;~%in>U9}+;q0a9+nWffvy#Zkx4tR?G{#lFQqz@?O(6excTs3AFYw&@1K7& z;U-I1Jyw7WzxakEkS{mz+98IacC3|6tUgc~&2X+us5tEB22OsRW*PcK1CaYVpJH){ z8x#4?(YMBR#<5QLI`O4-Dg?!Q2Ku^d!-%a)ony|tr)Mm9EIyGq@2MeA{P7Zxl_qdD zf}=5WZ~y7{c?q?WQzV)da+ z01+HcR#msl*tlK{iT0DvC$UCy`bXQ|rr>5{s1!FYG@x)2>x{iU21X=q_24wrC-yz| zfl1GA44`WjwZscoQiTd*d5| z#E2*nwXSHRVjh_!%r}JYQ15mb5e`Rc2ibFF($gog@<~DQp;V`Wvh(KJ%4uo|!Flyc zN4;-aRF&2G5PZ5R?J_1{uf>yHW*A3I^XSIlDq(16NGtP&F^ zvd#;W%6gz3JJRLq$(3+|X}8OO74wj~U53dvro<;Ws*owU3%)=rS$HMEf#BJw$krdI?P&UJ{k#7z`aBPZW15)NM zkf-H z`LlyJv3pf|UHQ~XL6zmc8bYFPe)oHv{hqE5b5w-yZS(V^0H&vU@i_SPSN}XExMFez zI6I25dQU*@>s(KMeczlR_jNvctb?&$U-`9TXQKV-6R^xK$TA{3%S8|av7*PrATI*j zsgxY7e8bQ_I^BoOzwZ6=j=|u(r+33Loj*$-KN)U|V2=i^!2Mx=^8fb7jvx7le&h5r zmM6S3?(fI@@w4do*7O~?h7aGi$n~E}l73;3fQB-xEv$r-SMRo$YR74pajv`DQ-E%l z$?j9{to$^RT!7{chQ|2kkBnSY)VyYqspB^Z;E8)eQ@~3=DrlWO7pbKbi9OXGH2)8 z7?@!< ze=mU1dk$sA+}ZiAd>nQed9ur78eZD|;1Hvfyg|14bW|NvS3{)$KAN(D>2~FV4!hy1(Ji`_HlKRve2~gk^yQLEAsG%XqVDZ*aAC z&{UHmtMKLEaHXE;w~BCCfF!V^@O*w^<;N2Rb536%%LGXR-8KLUSu!`j${|ch0a6RB z6ofe=B!MIW_8qJtdsFImuv%*dT?^V)Adwi0t_5wcZZ$E~wL(i{vQ-rOC*J@G6YKr8 z^R&YAd$&9>u|6LD@6wo9?~mrq)4+ajI5uy%ZERw#hq2;ad0q~jO{*U(jWeB{e{E1Z z+4;?Rb@f==<7|lC?@W$qp&`q@KgWJ3Ic{gGA0K_#mWXY9wlKmF`UzO&Zeyh&#| zS^2FusSbu*ot2l9l{Y@AIrb-3-tXz%@5A4Tl~?!OZ|ljg-|vcjh4(_x^H&chpn#rqM~$1^K`a{8SiKRJDFl(yA3kG}4Yevc8@bbPY%KshiPXwC4J zl~?lXy*al%H^@H4e&*LdIj`RN^-mxBptqA}r;*q1`NQFMW0UIW5l}kjUtjItQN{ns z3{opT{OFJ9|LoWN>iie~(f|B{f8qE4^kXu>d&T|zct3vD9N#^;eM#UUd{%LOn?Ou6Zsk}5k4*#5$?|)PPAWDQvVnb^q zIwA;&l3=1wth_-y0nTv&j1}`{-R&-jA)>Z}*n{cNDaJUnIk4?)pmjGqM3Cadt%4R- zpCwQ!iGclh^#;vld?q>w&sIkghi--X_#RMrX`>uSE>L0adhPBUX}#TZNf;j#eM$lqZKh1I+b} z-8utx&0`4AeM8+=q$&H)wCf<9eFxM{H>|*#HYU`4eVvt`SYg-43b`)l(~1BY}?L43)WE)h`_ZKeA? zF9FdwbY{LrR)1ZExm*)s0$uMhV7WzFKq@Qq^GiYypdA%?iCA6|1coC8%rC%n;lI6o zu=3>Bx7Uh`v(>$UdA>$Baq#}lSJ(bk#=f{;z3vTZNw~fc52|}ZE)f^!*N;^(-y-IV zv-0JWPN0he= zd1zSPaNIrCms$B%4Kee)Gv)JV{QBi3j2;0Z85prbz=+jtJ7;WX%Kt7{c>!?jg5?dr z4%iEZ>-`aV-Ff!sieKXNPgef(bFT9(JHK3>W9b`y{T>xLhtZGlNQ&HJf5y(MlC8hp z#A7+Xev`4z%Y{lw5n$iRqrbeIto-#xeqCUAM0>-^OElb^SMRZ|w=j${j2*n^gKqxY zjr{t)lXd^%1KsXx2EOnpA!V%@_5)^|FNHF|4v8|f6w3dBR^xg!aL*se!L$) zOO7AWzlOio{@*bo{btp6sp_NU4Ty-yu4h!x`~vvk4b0BBA9R*`^Jzr)qBFsS8534X zNRnC2wRX;$?yNjGG>PBC1U*Sc03Yq2tbBD=enQpG%KIc%S5}HE7tP%?Niwp`ro6%Js=RML7z*WL4umujWwD0lh8ME!;bi5VF;`O{L{{fNVX_EkpWZz2xr{0F>=SD-0v(x3k;L)4X&m9tNGGnr7CNo}roO^iU)fGgu z8icrn2>Em)sv(K&dh_#;`MvzQAY^CVwe#&|wfIH;{rLY$vL^-dW9MJ$P@F4*R@b^N@ z1>lcLtw8qkTKSn$SIPbYGePi1{?_>WiPMf*{b$4o$ zI@hI*47&N}Yu0f&t}6s4&TnJ$+WSFfzpwL6Y+q-ZP(=Q>)o!Oxo!^XcpE>r4q_=v65g_>QV``&oXD z8NNpqU)*2qPyhZu`1tGJ|1)5cc|P7N?(fI@@w4Q}SnvzvmwanN{?BHa&`?pVFqzi# zab1#$b{Vgj_i3mBip{)Y4mgS;te8V_=*kKqwHmI8w86@gKL=7*M%r=OWz2Pl-*6JE zAR>>Z&hC02)pu)Ow#!%;PZ6xK!H<5GXI4J>(*>d`w98QGNW08D68k2_8yo$%yD4(I z!Ax;9f9epseL@gr0_@2y6HdF#QSa{Q_DQTT^6D_uwiEvmpI{myf+aHMK4?iKkTHj$ z)Xi}gZ)|g{h0{$vsZR+K1VJ*;cB=V0V{Q#`x{PYFYD0*V`-lU=dw4V5dw5p-Z|xXy`2+D zj|1^?8H~Ba&+IZ#u1$oAcsU^RKIS5ObWpJ5pnbb{jhm$ee(t2+M>p(cNd;&SXU^ zq&4VzAT9}ZM2I%Dbw^$zY>$vym?_kR76IK0L>o7b!gDC62@4eUQ5=&nKn-mz!{%a* zU(a(uEu0p6+$*L_M4A-sP_(16k{ShNZ)iJ5*M|UgzsMWs>U+jO)XZn?|Sl zdRI&nP!7K5^-gxa9)?er8>{cr*HzCAlTU^1>+Z-;OrH2wB0BRT zIF9fXo5PA~H9TGw%Qax11jnv84nrvcG1`dT8d1P)RZn7V=rLnFH*9BY_1NUs%i*!^ zK9O`HUUKY)S_CoDLtl!aHAM)#c8?tbk)76nrh4AvBqP@SZdev>R9ZDWUdgY|vkiay z3t|5`w@WFWL*1p;dMu>3sItDC(cx>BJ+Hj&zp7d8e(0qszTp8)+I#fHnQtcW@qn5H+ z@rFwuqQlxes!t0AK%7UCSIgVbShm60(;Z*hhB@8POYk8ie_uPIFosA(@N#T1XPV&- zbBSXLtSVKDU zo`y3WflaVx4c2@TYiH&21T;3m1|utv5D@1X+A2NqFoZyLqol-S*cFgwdRENMP}e&- z{ijCaa9#L>X(Z z=;Pj5rJk-4Fhe~I^DQ9FoYESKVR{KjQ(yvLf!Sl#y&=xP@&&J5wuY>N`HSeA0Kt3{ z%&weNV`Z3#4%z3+jT0tKxDCxP9=( zR0z@}xQy7q^+g!F8A=h{J`iQ;n~B*sJI#~#<>?+Ts(A5rZV%vc#Tm<3UB6yrG~H&O zP}=YD?FHi=mxG$d9=j>mnG+jFFNzUs-+=iFeE5Rs%KD&w^5p{)b%53N>(wjd2k`QN zNRFzY6vYQWZ(g0hd=M-%#*?1wmH5)W19|~Ie2q1M$4X@8!v_I{P=+ZBv6~24SNp4f z?XS0g`(OQ|+s}Bu@ZOyIe!L$)3yujhex&`?__gpY|Mej8Hw2LRH7GJzF;`Unp^@Yu zhYw5=T2d5DFq1cb7CR8xY6<{s{zUTOOg;bz^nr``R8^S2UZJL(#A-f?Rld~cw~jy6H+;+q1H;|Bc_SXh+0{#kK9x+@%Eb)wit+Mg7 zXJ&zlNa`8eu+$*<#8R=La#Sq{(|k@t?Gs637!9@JgQa?NXvh=bJbWw17>r~}Haq0x z=t^NCp1i8v%GgLq46s%p)5Pj|tI%T~(@r@cN{6;`Ok(x-W@gah&%661RuKgEvDpZ;g-BttTMhm70OD3ve3Ofqf`4k|nA|@a$2_cfd z4LKqD>#Zu{l9A>}6r(ld>x7V*bczAfE%Drce5MY^sIx@3)8;iNfS5U|J$8#*IAyc@87? za_zBMExz0$@)Qs}_T?oGx2Sm5mTyONu zbDjL&l+N>OKNoz%*q2-6x{X}?auI(5K)3$9h*zu0t4}i%UdHAoAbb|9{}Q~u#DNF_ zOvF<>+54;a5bz!gmW5n6W3kd7{GRr8MnAv#`58MRCydxPe=mIi^Ys?SAg1|gou*v( zd687D|MCCy{=fbCKR>j8@6W%ZGVjOx@&ETn3KM>A_=UePOaAo&pn%D(fP8gA!hwxR z?bDRgNhXK|R69^nF^7wPUx#NJs{7f26Gtg}K&1jQ4ejAsG55q;f^+YVw3wpd@QQgu z4jBLw#%c#*Jb#^#3kOQ;o_3Edf(r8O9J0j9^AwihZ#N(C1h>ibAx%|_<1>xb`VdiV zM`^n^nqmxYih&7yP)<+mPajkit!*%A5J!T7B&sQ`y}6c1U;-~*F%PVm$B+SuXeg-d zz+`)be13+?!)VNUZ8=1=P+4S)q_w)y*WH zDAUj~!L*_7uXMnBGp_^=b!x33xDhBMcbj{~JbYd;k2BGk!e-*Gc@+PP*emAb=mWwu zv0{F(${l8J;EWOCUn3ODrcd!ntom4KQR#n`6KtF$xF^p9ty4 zPu|yjP6LfE7fA5xdpUqbpoc#fcr+`om zx)lUrC0w9rejbZKOi>>dF$uz<5Hpn5N;h~=SXF8vZ``1?qNr=*G*mUTT~Rk0U$hx9 zmR&uW1&&8`+lRv3Mw2GN;pf|@ifM^JAo{SqD)JJ5otVt=P%O8um~1E;8Rn*jx+}`Y z=F+ZttUDV78Jn8NSO6$7n3x1{cNOEOhG_|qXlRAT7<%7JM4@UtRNf9A~VQ1z~p`qN^4U*B@>V1#aA2l%48Knop=%++8VI18{7N|K-?> zb^p|m^BMc~qYl-gDG`o^zxqA4L2i8dbZQ=1Wj;1qbxzHry1j?jUf-xRZRjme&7)#j z1iLFGw};{S!rxh^=8+iHG1hH}u9)nx3y24WC&lFbla6(ErR1^*LZI&Q^+{)0Jod|t zvG={(Wn3va)SBFQY#ZNOo&*8JW&mHO0ryX*V$uvlDY*y!EIl5E@WP@;t*)z#0x>gf zc>MT}w}1Ul{?VUz{HkC3GmFUp?}_{S@qT>Mk6#?V8wm-3{XG%!y8|Kw4TtT>;t8p< z-U*#C52sxQ-7e!M3|B3R^X+8ikI{JAkAw+D53h17q9g=kl+7M&dIezOlU1EpKlI_O zd>GY!s0|lWU5Khz4Faj`FX@RbVY;PWgrkUq_{XM?}*Hp#F~)f{G^|> zQF#}M*xMa|AelMZ(rA}~(Z@b)G2%XYf70R1qagUOC`0Lddz#Uwh{kT0@nJj?&k3q~ zy|cP&nRXKxV)mv-El?}0j7=;Ow@zhWxU$m-RvQ`U1r}Lk>Pta7{cW(D<7X(`NG$*nU$P=n3?oz zXXU5NK}QD2JdHs|y{Qw?5hqg)NAgXcnKAKBtbp6G4_;jmMl-CI0!hhV&--uN23=R4 z%Q=ZvhF!)6BGXxU7}qC}(^JD`qUXI<*keVwEu*1TvQJ$-ILHaDLFO5f02BkZN_RWF zQ}8H07l1YyYn-5J#gqCZs9S}K!M1~wFt^HkvR1@N091$?+E!VymIf;gZLOGY{_}KH z=+XQskwW*%DWy>nf}rgcS`{HRCTy>D@ZWU3^L*b7P{pw}Hg^iy_+xEY;2Xe$$uFM} z@fvkkn2)uuyF!aWqCtc_dJI6=*&M&Ua>KE0etvIAer{^mA4+5fhE^I5x3sJeZY0WP zKw#2Wc10_k<{8{BQ;Q))Kt!>=HZs_|xo5tO*rw+Ex+$O6t5R{;&o?Dgeper|q(iMKFA?Uk_Kkfxsy1Bj(Uqb5 zMmC)56x=^?UB^y_eZ7-kUpIp_UOP?VeK*usPLp62!*Q5TG!@vxaO_O_LvV$tuQNnG zC3w6lVr0^6N`+)hz`7em$*0G}q?hl-IQR&_aVWNj;r0To4~$Jf2*g~@*xmJRBX$tO z{S%Y)eLpudJ(iiDN4o2wOx&kQ@L0*K?<*&*K3r9~t=`1i*ICB=FdQ54upAACKwdxT zU-@_ceEEO<(BEiZNzU+|xW6Co$2a--G5ulukp5--iuh~47m%;PACq=nV^7+F&Z|!- zIB1tK$2QE6F?(hDcxs@eU8bQqD_@+EH@}v1-qsL9SNgHa4g(4{h&d}Sot3wdVD|So z$viyo%_^pF;lL*8R5~ZI2BUK;MmBy{)asawHq?DZbZmvX z!zWh0l%YH12N_`XKx+pFGkL{4dR4rYo!CpSzDGewiyMyUf)5k@`A~r#D=XN2W0)dh z?iF*QM$-N3Ml79Ube!+kwqsk3olMX+w$TO+8ygcewvEQNt;Q4Ewr$(yJHP+)ewuHy zX5DMeeO-I+<2*KXAWO=HG-}$v-c*>C*7?gWgN8*0$sjB^My8%uqVH^wHLoY!zb8*o zuZ=}oe)s=*^|Q^y_?|jTK;|CgWtIl5-$=&vt7l~biqWQ0fr>=lmVG1wX2&u&ZoD!2Q26$a_G1U9 zwsp|+iTSFBn2eds?%D-vV*+=@tibvxM~s@w_%3TgTu=;QWygdnD#dC1fg+1uMkYK* z^kTAaze+e3Y~z?&#s=li%Sa`4fgvk;KQ(6b7HBrvG07$|ZZVm;E^4*3NuVDM)ILon z$VmH72uItRb%7wBisz$%e7`Ylc%M=p1ltH02S&J-P2hN2rSV1<+ptG>tAyJfeLbg7 z(r;dx;=O3yzA32HR_i|h%lmVy!Z7Ysd99MwF=;YQ!isYu8|dS@trQOa48fqw?qDw}(|UxF_O8i!rp z+kBshh|)?d2m@e^WZnWodct;QW0`aFp1N|w=)`sM#G~|CRma8%`+Oq^OoD*y&M#!R zRU1k||NflBtJ7d+f=DV8uRrJgCLN89g?;H5KcRB|c}&+sBCVK?Dcp4zLk=MEx8H~x zwde_uyVlY>McJbBMX-($KaE~b-CGi$<2np8b8XJjk^e>f!DWu%2TD2|2FapF z%bucqwlb2x`#5Mmxy_-DGwyoD;{w$zo!_ZHwLUM~!#2}Nfx5mJ3ab;j(%p8E3HpZK znFkEA zQ@ol~mf!26;P=l2A4JP(?E=WXXx+#e(YnrA*{bFVR~iIR)pppG`?@0KjL8rTbD&re z&X#oM5xWRC7g-_eMahVYC!K#yB# z>q*WV=42Z0ymIE!Q%`I#>06^+TX5am-OSF`zs7upVaH7&3YzQu&SFcK6kU(LoL$n? z!#oiSohPGEMlM(B#m?|uOfQ(#d+2>lsMzu3`#%|DHs^|?v0IXL5t2eL;R&q|IW(C=Y$?d_%hTI|(z;j5;>_~f>weU zcgmy%G+b$ZUQl-;J(R8hUOBNg29vR7J)yCxKyjo zfL(#Lt64?fIlB1aC~A-N2mADQAQZ|vMf=+bB4DlKnSFZ8Ikll<#snLTS}sg^PQ{uL z5y2?^@M;6UK;^4@*=N@)-_C$1vkKS>&hGQTI}>%06pi(&(*Tvr!c}8R|1nPiD5vO+ zxiI`GUGzXzilhOI3fpFd*Jkj|Eo(_EhOz+b(wFlQ1Rv;TLe|s5ni?D_E{a!GgexaT z;+z^|FxWjgywlawLjx^Hf?E%v6ogAM^X(}XN<|Co35ZG-^8C+Q zLM6N*+8_8vm3!To1K*SMga*!`$n07YTq~u(5@y`Gd=ai6l1P#M4P15aYs%oseIEw; zLnEV&Ghh*?RRDUS9L>eHu0T1Fy)oSi!8;@3D=ug$(&($U)*ykt0Oj%iKWSzhxP&gzMjdVJQGr*}n*p)aGo% z%1XC%EHi@_6HbV2szbG0Nm!4FJk1h1a;;%QPZ2wHC_v=*18Y}1_!es2(Tu~Sy`nVx zE_X5WoNb!1@Yf~AyCsbED^})AeE#G6TeBMmcc)Cl#?hu;!Px+tL~Y)@R3}gs(?P!b(9#(U~r4ku`$-ULhe^DE4r{hN{9_!B4h?&6C`@5-$ z5Bpj40cwq7BUw7D>aN9UclNa=N_6zRS83bAF7T4HNa+2#RFG5|jtz~Qv7Mm-9y4dc z^|CB#Y4t?5Trp_2EvZAU_Z_$!v@{(z2zbB_8PwEkFELzG;J@(PENXLpOwxj0XyqC7 z8eky()qY%;oowj(e$>w019N+Od%tl>AHO8X`kt7&ccy4p(uiS&O@EgJd3OU8v)y63H7#3eH>C z+>35!?bphl>s|R(N^YNxxIoIY7X>tg-4a;Ow;?iVM42}sZ)G{8WN+)o-LA*f9j30U z^+&aLpSN)`i%&xo`?qT$H%}V3-v7f^Izk5<|6cZ(KV}nQ_)rb>PF8xp)#%W+=)eWl z8b%#NG)0(ui9TFnSC!U+Se|OTvX;K^mH3@SQ;DbwN($HSlzTp0O8u!+IxF|QrI3*+ zIL?T+ZRA6lrpytJMWyuoJ=J~#4parI1_*|7kYkaF^x`mq2bgux-K{|-P6fdob*S_* zStxW+Ff7%nji1wa2-H)wz@IopYMc2oArxY=ZWa8|9{Bluhx5ypbfWr{>l)Ac1Ud|& zttc$SVkD@AJCP+T@OppG#+v>^+v}lOHuZDW#;78{srrqC7PH6#OX3m_#?!a%rtvY^ z%I@9E`=t5+T0scmsHO10fF?wZXWy5nz@v+YjU{^eT0>nVAtBR!v9PHf=TyNaI*|E# z{7aONZQ~bmyX}EK|JxIRh8!y*OsHSIo22V_N@|Pt&ir(+!pojv3sVLg)zyZT;L_ge z&wJ1Q&SQ8$cuxiozf?%8x>Z!cR^6y@?&^iSQyZj97#LM66r9QC9TKl<>k#ChHrb&p zk`y}h=bq)LQp89;OB1qo-07br0{kmF?Hd^QZQ#&%*S&rr0htu|7KhoFqb1yAya(=i zDUj`z%o0=R#~(R{N_KR|937@kKG7hlgk#Pr7Wsn7UT?mWt$7MzZN`IScGvqFxUq=| zWMA82WWjL*I?7^X0(+&8H5oN?!ujU6#DV0r>d&A6gInk~K@{kUwsuJ? za7q)mV0cC7_7rkf)I8+JFP9-Xoe8uE5pZ&2BK86GNuK{0!}q;ND{fr^Kq#7zM0 zXr^AYRO}2}=l3S<>%QacHr`8m+uILl`JX1yguh*Pw+}OfBNs-7kzHY-mQ`sg`Su;I&0dtGwpnYHll52t~0lj z4U%BFp05}K0y`UP&aqL)XHNo;#`E)Q1kYGAvfODOCful68bGzv>^(9m+-rS;zNbrJShkyQR#;O{X7K#9^5#HzvWg;42RmMcVBNG4hGpE?j;+(00{8 z-5#sYcOj%FrR=k23bBs$CvbrS&gKiP^^)Hubjg7{eL6p^02h zs=BxaS#A}Y)1=YYgx8nxIRAVtJ3zyh{(oyUH&YGRNJ1Oup#;$6v_pHsTFNN5l{70r zFW-@~3r~SU+e;gg#88a4f`L+R{~)sA^kuH=R|XzaATr1@~d0I%YH62^ETDaLGwNX zf1jU7-HO~0($ky2IvWNnj(Vq-zFwrE$R*0 zI;z+PZclFE>{-GScstFPPiLzFc-!OCy(Sg}RviQR(L5EW1Y%kOcVg5AQI;7hR zn7a_P17QB-hCNgzg*;Df47}Q1aE=ZMo(DAJMIK~^VqmDU1^}7J8R8-^UPBZY2YFWZ z78jeBb(Jh|wXD^R}Ob4!+>%d&D!R8OO>a4!u8 zOPjgmdGxm>CTjky>Tr=YwD?Q&#{6G8_4sr(tjJ$WtaAFR6-xdOWFY3&hUN^44!oLj>!l{F{K z+2=uSP_iMcncymLeGnl$c2lk3VMG6M?P0Q zWk{M%(jtVp0o1_;stNX`5Ul)Z8c_hGbU-3fne?9ip%S#x4yqMn_0KHzz!6DyIb~Rs zdqwqbOE~r)I>AOeJP4stJ?#Q%8S zwdD_4`{Pit+fFI#uSr=KS2+1g_?u(-X4Ebh_YNj^2+IW*w-a<@)HyAU8yAT1pCIwM9v!C@=-XI}(7g?52Cj zX~@I(ssFc)L-j?i)0sy-QTH;E|CQRYoopazb7)*<9k;$Y_zeuetV}pHx({3o$=-VO zTD zk7oAgySWkj@oKWDD{K69Y4TA5;2K2Z;)cv6pQRW?wqNWm-TC=>3w;mY`S7Dl=yB4= z3HR~;g1H@15`#vpH#UI*#A1_lzn+wbC?Guq` z0Jp0*!|;Q2XvszU+iwsss4ZWFdm-k}R5@#UxhpZI zCv2!;uI(+G=_(glB`&ggHRXJUwKr%-pxN{9v+BWL*?^0zPxl>YXKmB#j5aIyd~wE$ zUJ`BV1H9Cx_}iM%sMh*0)lO8K9b@H7rMrSW-C-V!9y4S*L?ADZe8dIs?2cLS_S*9SEaJ zD88T3SN|sGq4Y|@6wiUh7?otI1+v1=;7Tq=;G-a^%FO=d{q+rXHkiOJ6l345<3~a2 zSkOYy8!MF@<{#7rlxHjrD?x@l!Xorg>&FUmJvQ9pz$b}wfLT{Xl?B@v;Z^tI_!49zx;I(Q5LHqxv9hpS zctp_Hvlw;D3`!w_HCaea-N-Y<=wHxir8@i8e)tv<+790$y20DmzkixGJbiK0Av?8S zcth8;e_D2r!e6TkD|vsDcMT(ni3hTjX7|JC>bn2fh$;3(u4t!&w{1rF{$FCY!#Q;l zAh3weZ?n;HV~;zg(WTe7)Us-SKDe+V|l!8J1)*^MV zNkXHOYOZEvI@0RV&XtSQm#*NX9gORwslkATKlbcu!;e#RfNC_`Pmy6A@7JYsYP3=- za|hxJ>K!gG=S+!_S9259p{7DwcA*qRWR~})d0s?nwybJ_7nhJ2yR9STqjJS<=9*#! zaaBJu3Rh&DKF}`ddR>k;jWhg~w65S$xEDr>=c>3l%|!o#s4!(ICglFZtgLmL=L+61 zB=)RTB$XUqQzIk*CoqMaqGg+g{7JuPMm3O|qA9IfgQ!J<63L4B08VWA@~-yPLM9^U zi-ai#H-2b{p9QPHvPy-~02{$u!z}FNfvjIz4X@Qf5J7ejp&7=sJ4#;xSJObh*BN-g zNilYaLF>>?y=RqA?=SoqDNpELbG~U&8c}f)ko;s)EB)9X}3P3f!Bd#b>K4lR^it}A8|#uIT30# z7W92Iv!rvQM}=fEid60+64m8~ENBgi!7phX5QRO0vL0HJIyn{-5ji*%LWd*~H zlW5A0u*Jr&wjY_WLo9giM*FU0< z^Jlk?umu)B=5?{dk9~Qp=hE-^DN|effZO!K>t@}wK^aWNGvU|_o5!i^+SJixv)M;* z8}DNJ^}1VzKl}R*YKPJCVJfz{ma%;%0L_~X+M20bC8{mD5#6AK1hRW{^tccmlB$6r z{w#d(B0bsd;;?JKr=XK>zN*pJY{!EI8hmf`yKPSqVs7hzDd5)BItp_6@XCS>AFLd= zJq8U5prx2b{F?y}ZRoRyrbm$vi6yu6veC(o{DZIGy$El{;(RwgvvLXz8(wCF&6CfJZ%dkzxJ(LP+?{K8H%ckt!mQ%b6g60+hrH~47<3*UI!evK2_ zXM~!*s%1pAz;o?bkzdN;}Etg2@D#{schKS@KqptnE()-z2;%v3XbqOd_Z!~;EK zCHr|p@*SY{2Bu%4fAv_zI-%nxCauq` z+sgLHNK`-tb7(S-Z@zuZ46EC3Q|n}@KvQIn7>eO8ef`RZGSu^qS7>5Cl|r4L{4Awm z5AMuYS{&vj{|`q!jS-?eGK)#q?`m4J>Yed|LXN? zO*B>|TTT}g8l)>%eQP)yN0}+UYUS$;RD6AHk2>gAEr|)Ns>SVn_!oub&DaJ0pf0`0 z=vx7jrRO>JhRah6aNbiBbE{?z;{2g z_jC&3ycUI!dVKOPv`3oEY5LvQPb-lv3tc@Ge4GYKJ?+LvRrUajmuYEvha2aCg|=B$ z&RIeeOZE1m|J>OafIJx__^%(Kk;CgFH@pi{^V=`9oUz$#N%DrW#m^?2C9#$Q59+3k z!`1G(NF34Km&YBmfwS=!R)q`K5#ynSq3BiB?q>ga>nBFgT9ZLMLw3=z4Y)!`GX3a8CmYn0rWTh_jih|r|eIr z4qkAQSAOk(hlaf;Q3tY+nb5~JEz_q_(%Ua+BlffhX$LVe9I`)q!yNJ3%yrRS!#Zj> zs@ItE9qZV3UD#rGc7ks{@myW1jic1mRnn(CW5e+L_tM^5mJ*#%pUm_tCB9{V>gjA^ z6!01?)W4_>%s%bWzVHJ|e|4Xu!P4Qw_tO)>SHbO>^2m`+O{y&HChJ-_N`bo3J0vF* zY?4bcGlJnktsfEChWbKXxkQFzbxW>e7(0J3R7xy}QZ3a4)c4Vh3Mhy(3MM*66Cl*M zPO$y`k8p4KDU392G?)38X`p^k2R?<>^Tv6jRkIxZk%PryJcy^_NMZfuZd+ncCIQ%Xs&G< zPOawpWeLJ6WYp3A)7cO>H6ZRWVOg;1B6)i{kF*-K@c^-o?8w*jljd}zK042_`Bc%1 zw?ed0l%`ODLgNx%2wP1usZ~!4Ml(UrC0C9QXJ7HjqwC1LNU9wK)@lP^A5BVFK^G-K(pW$eR>S&FnJUb_+^K0j8lDRhi=Rc0Q4_=x zWBRTxakGlne-b8T*S~j?4#DZpfE)h-B1Z2Au?{bqR3_A2iyL^v)T4<6+1HTra^gQm zTb0)m%S82)r6&XsN({LFmT8gs;}J6(9V*YbV47LTs%n!qf8svcgKG0F=ykDq8$m?D zSzh7Yw9*@T9Jt7{;Tzj zx;J*BjW=MRWqEtg7G&Vk6f<@EkmW%uC3>HP4QpL{eSUE@IsG@Y#_2J`pLJReTRg#v z5&FFMGD7+qZ$aMrVAsBi-*wldM4$S$Ikt=T{vv;T`Ki)r{=)Tfm%VZQ{&}IMW(B`N z@IN`@Nc1H_X9BhW%cp(pRheI<)m_*ZBrNU%060MUr`LK=GN|=}nIb>Wy`5MdwE(l9 zA@d^cW1_qb#)w+(4+rh627d#-Gb6%47&IWeMs%Zm`zb;VKw6u>;zx~Lwt&YEqGik$ z^^U)D^q5!<92F5O-{E4%`Iu&hFdwor!Db+B^XS0qsA5luHJ5JmFx_7bfJ@2QYm<$I zhJQCjSVXJ|r(M}6V` z4kfnQ$f8mQC}3^XDZ-LHaV8KE_TZmDjlTLPdQ|S|Wwd@?AW^}4~Pm#$AZqLM6e^}b3R;$ zv~ZW>zd!zGFfs9_WMR6Z@!WUvy6;)la2~>h?DV&%)aS$SAub#7C1=-rN`hYne)eplh@H}V(Zl7w@5&S1Lswky&~`LJP#UI7Ms!NfQg1+G*qB6A>0#5wLGK5nCy zaFkbR*>-O@Ib3gt66SL~`WxSS(`xkFocv1mQ!ZKQ6SyljKT5Fa6!RYqj7tXZ{HFcJ zPhGHSG^IB+IP!?(%KBKA9x1Nf6{tL|kg0Zg>OU^-~HvK(-78Sb3g8!Yz2CPMazD%WE_BVHXqJzU~k{ja_ZuO0HsPe%!naiBPL z5by-CNbPqn0v<*MS1V~-()D{7tD>3v)2CkSSBg;i8%I>5O=@v*m|GEXL7jS`9|)oc zZRl4lN;1d(_@?X@B~}1Ys;f`EHL%!IgFe2Dy?YAm4AMG!jf`QXcF?r6=rj7-V$BSP zKlG5^wfwjjFNo^o!@TWKL>#&@w6G+U^DveIKj(EHTD6fLgAIsbD9+N95HYm93zBN- z&ROxr2~CC(eoXYC|9Ljl*P&Vm3@(i_7i8>{Dd&S{qOZZk74}%;;i>aD_nN|t09RAt+iAqj=!oWq!d{3R34_soG}dcCZD}wme-qeXz;B?B;AUf&O^b#Jir;Lov-s zdi_%3-{K35oum|e@=(6q%9t~d7Kim8^4-_ox$M3xeiLt{zgEisPbpYSvesXiNe);HIm(o}3B7xzI z9b3El1KwXe^FDTYL5b+jFyMS(&B>?}CT46UJgzxGVZOFK0~Oz;URl+sPq<1nEaco! znG0?{eGbEJd&x@?+cjy@z>?RxPVX{Nk=7y+l2vPA+-f6Onl>+Xn94603~5g9{QVtIBu-BYkjS`;t2p7o1RU zwgJ}}3o(HyNER*Q&7RqPrF>=66FIZrYnxDm1<$GD(T$J6$~EmT>J{h+B_rY-L0JXt zg40)U`mn{hVK9<8HCTpq1&+w#Ci_h%-HXL$)M)FmR+P+U}4Av67V!Hnudznoo zUDcB(_2zZE8wP+Dpw<@@+mkW$|GFXq9eB-~WbX3RYHnDcJ?^Et;&!eY^LaKeh?~!Y zHD<7%4cA`$b`(8NZh_>J!>4I01q~%q> zmrZZvtSt2KASve5=WdJ&6V)-W5N7W!KOCf>T$*|8%*vAFFK16QI%lbs;=KA&RfN6Q z^Y&~H1%p|lRf~NAj2x@IMPQzEV0jx_R(tL3bh>18{q~X^j8SJ}_r$6G;V@St(!dGb zs0rz>j6^QoRifXIDvHj6BwGdG(xESM!r4aGOK|zg8{LAVyy{}prO5MrPR_Ks_J##E zMbX9;r8506QxBlp`!AOTagM;AjrOzxpOlQqls|A{Kc3>taYke37lf$H6dBWz#b6dy zK|o5J9{R+7?P0#d^Qq3DKqYLGkEONb$)RT&bWGx9oBQD+`r#}*UuP!&>&xB!L)`>M z|Fe^z0p=z`tlFc);o@!x>fx-1CCTArxhE-Ttn6%Jq?3@VL|4b>$#M0FC~#4}4FL6V z#!uRYC!>J$F(dy`@R95D^4R|IkL<&sKl(Fpr%dqwM-7qwyBFbnX{L~Vk(aG`!^XV+ zc}^9-Ver#V1`fi_2^6dTS#id?x7s^AvO8MN4;l5&7GG^h&<(^kF^Vmv4gtG0L<);G{*U#*5j9_!&rb)gCo-dIB zGc&%gGgt{Bbk16YIYL2Kf9_+dH;s zOia(*x^SHvsOk=8n1@R>lZqX}%Cz;zmt}*Wk2{bpb)K`c*78d{7`6%M;1wfc}Y*^#M(g#pS-6A z+@wx*xMvnX!wb-ZM=uDApazauOH9C$-;bMgoWP#8_f*0(?(gD;Zn_Z3?(;`q+2ur8 zu;b0~-l9CG_vQrLikGn^r-J*=d*8m0Acr2;^2xM%82EJ{G5q zzLaXudon!Y0CXY_IuA|MBMZB~km|VcvMRehiTt?ps%5#+_rj0rA&u6Q)761WkI)lZ zE{P%w-o7@6uIFzvtJex6b0Lx~FO|7@L=8yv;ZG22E@`j7HxT;x@+tcM#d}q#=55O7 zn5=c@^D20;ia*-b^nc|sBR|^NQ}fNYC#l!#O&knw$f;RHLjdkP;|2b_BLtmlj;O;g zc}HwkLP7>KasGTdL4ymT>Kp$cXuh#5unhzw7TiMAJM1%0Q&Fau9B>tpQ|-_s0Co3c z#7;x+M3(BA?C+LzxS+Rd_FI?L-W=u>oB!+}@l2ZnfWU8It@Q`{kL%Eoj6gyh^N}J| zY{5tcIZoU_mS=}J#FKgVzZA>-7eEw(Qe4W9K_>COm>lM_^C%3qiG+=qB4inq!pgcq zanmsxJ9R8VNj)SCSUU~;S9SRK^>|oHR^NJ2J@>3NCP9%!KE@}>3m{kEXg`rMdWvda zsJGKzNDeme_L3n63R{(}F4B{4Am1uLn>$ox)J}EwZ>i`i>L1)vU6#u<34DQrcEgGE zqmjX*-t4W(;&tU)S63O+{dCHQrKrk?r37}qpdH!v4RT}(M)^jMpeJl9wCpe-TbEgh za<*orFz~OQ{SGhF2abV|{%X`!KW@8L#V)=x&Yi}Cfnh*-1z*|a7oUsDFlL$p3zM6U zFCj7r9~+L0F{@{XzLk8hBqr9@>?7J{CWn04g61!yQ3b}Nv<3j|E|-8{yD#oblG)auqoL&H@bUm@%&)ODHF zpLa#psF>b#Y9t0GZsW6N1a68vMeDVDx0=MTw59G0FN;5#C^XnlZ%&Fj%{1Pik|_fYN4Tdriqx#vYi_&koNFIFr7R~vxw;J5Jd8TsVMY8ymyIlBRVd>P>nEU29f`Gag3k3uhr`u~tG| zU2x(Hm8|0kgz|_V!)B`iqbM%;k??U(_KEoJcPe`o{XUWXRJ4bA8Sy{%_V3`A2Zt-M z7d1iZf=_L+#2{U}pl~AWFp}PURPHJ?P6s?&O0%jlz@|sp=cKS&4A_sT;Q0Zp`uZ9J zsEcQLH2Sm|9FefmwkiPvrx;&OR)ej}ws}3v+wUi&Ndb(Vod)|zUfHEq~Q3mF_S&zt7iXX|dpYaX$K(Da;^xMsARc50-ruyxWLg?SWXY(0GxU<;u^H{-1z z)w%J=lqydk;z%I71UanfMrNW-d1W;1(*1Sd%}|$%CfK$#Fh~l$(hw)`D4Vs1(j1ex z2qaS_Ja&y>!1i|NbT2TUhWWF4qA49A?W#UBvT8RqGNa*!nH_YZZ)v)3qm}}Bem{@x zYPt^;PXP#uOdY)O07nysj$PJ%j-|VOag^s*_5xDJ3}aSn4vH(uiRo~s9CwID^Db%9 zt}hp-sH*=1tXj*swtB&vSo)7|Je7~^@!vaa4!GcT*vlL+!>a^4w7ZuS^0>%~3!mQB zZ;$7CZ-l_#0WdNn(J#&yHWp@@FLvB#B>VDlh=|(>7+Z8OmzytQh7-!5Do)%ku$2NF z)+?F?`qq~#Fgjx;;aXqZTr3vzKG*}Fqy!wfcjx6US~q)Dx8-A);RNrOcn#r8+`b+z ztG1 z*Hb?=Ge^llsAh59(_FBIf&|`Mq4GX0#pdkAfppN<^n=aT8xFezaBbG6V{TSxo;$pm zqb{7JAG#=$*<{(mFqh~;XbuTuz%N9L7pJ6$Ctuqap}^dtP&=NkRVglodE}H33)T5=-_BXz34w$R{>Ah6L~@1#mV?xzuF;f`*sSNQ zF@F6`*bwt}$rsM1vtQG>&@F9%>7OE?9Tfi9OkV`dey|0>xG#2*?YK%4b8qO3by{js$XpsY~jgWR`6)LZGB&5l$EF-S=VJ%P_D-K+D<;^)5)lC)5)Mw$wfY7#=pZ0ty)#kf<^A**x)f^_6 ztKbZG9%qFJ8SF9EbdjWU2fL;*6yuI&B4QncRay0b17c8%N>20PhVKhqRDf-*;w7vb z;-4P|vWleOu1`s88;^W^4hib{pQ#Ze&;_n4?n09pud19i$G%cluVO++GdEmV56i=A z=A!kF!DmOrA-4FZmfOx?Npvp(?$RtJF@j&|kpRdOJAM46Ulwcl=h5KMt2b)D_o3VM z?RmXH2i#ud%TNuYd1Oc|u5DS+!J{kK+^%4(;_Aa*0tkSp-o#~jR+hV@Nck>+r}6q9 zBx1-O(NBH1glpVr*CBv24wQ;MPsd|>9B9Rqn6K_&n4#uIbHgqp1q}K$+p}6MqYfIB z(2$Goh*Yrp;Tdpb4f89e&2NS?6jM)YOfD{(yRPBh?tsd+uSbTr4?_K@z53GON@(J0z-F))>ToL++-%QZn`M;T4)zK1YN2|ASSK=<% zTTJ}zSq70RO?i-RV#G0s5#Ec?+`BXdKwVYhEaXn?oC>`v%;g@>SXCIHHn~Nci*94y zemwIx!P1<=rF%7b zPzFYnCbH1d4rUgc?r1`UD&VK9=I7Lr6jn;cg&u}LVh5vg+!y0W=_^8nVo>j}EW`s6 z>LDO}A*94bl*vV@C6nAx0OqUGd=XDNXZ$XV9o^O4*;@2{%=R#zM@f6)svW8+nYb3t z0EwKMRE|CI@!d5d5#$v+aKlqR2w^K;vEKc*=!9nq5pK148gW3nt)Q>e^&dD>W&FJ= zC7tsRk1Ki|y75iW*di+HYb`08>WqW4W03cU_4inu+?-mSI9p&WrBSNBW^VfHg~v88 zQjb$mA`)FNl^s@@Jfc7dN~qmAg+$;!l+q6mFW1|RJ})3vAPu%tsJKOsF(IKO2PfP> zKi5V-Zj6%SypdQ6_BWaApGu5QxUiquG^i5 z&g?Q|B`JXnb?kemZX02gowkGwgz;x*C;iUKeZP9{;zD^Xam_f#$XEfttznmVk6^J zF|jepHp3}RdOe*yR9N=3y4Y)v>v4PEh+7rC2x@bz{rRDjnOrMc5N}|cJVT5c)$}|3 z(gwFWy&UjUWCT#avTY`?w4~P_IR!6If1g=fkhwuMfb)b-2`eE$EU{7#V|rPw-*ew_ z4g(^jjI*lm&zLW}ljGme`+XWi-ITfoEZcYTl%fs_r~?{uc}rqdSU?0V!PDfqMH?q+ z*yy*N2MThS4^{bi6qzF8fzbT$NhmrnS<=_mwfL>ci+p5;;hR7*@_hIpS_xd6C#EN` zP`wh8tb?4hR)Bl`?!k}YCxj$600bq>2h*7T#Or5|peu-QkV+Jw`maQrcEv|IFHY`?vqxM?X~9Pg3L^mxGH!Cmp*vYd-(H@ zm|8{KiP0aYlAbe?qCe|d2@PtELOMHjko}KBA*6)S#J$i~gGys9LP~l9iJ~50LPIF1 zx~fk{a(^A@xSB)_J$+SH6i=ntKo&MO`l~^`iYOwYy(GH&nxXttkZD-$t!~h+mDW6tB5C z_kR2-*0?CF!4e#4#PRZo&1V4op1~5V*0~>=c!@5c52t}=%`mc!_)kb>1aXPen$(^+ zvgF#HB2Fpm$@v4rZp0j=JOWxwijH2ialW{0qI|E6LYqnWAV}_DW$Gy;BcaA1;zLBhH%ACf+QJg z5nN6{UpV@iy@jk}GT)_$XxoeUws}ac4N~8A)oGtNS&%AG`z5xUDG%WcO$#)MWOC4+ zwMz;4_q{7Ih$$GeiJ`?Mdg8ucqAfQoMdFG(Sj*I_D6=>*CfS0Dlm|3uuzAE`W{ACw zS;--uz~4+Fo7Gn`D^?kc0hN!(1Ci~e2EztdCl&Zb$caI9Ra06U=d={`MKqZpCcmub zuE$I!%+YUIpznyc-)d@ytiHQ#H*@3xBCJUHlsf+e5vJZ17duT{XmRZ?CTY2}L%SK2 zW1!&PjZMm*wzY}7??LwUGV9G8Pcj7^W2J-;kx#>QTAQaZak@hk5EdcB1?!;+bza{x zAfzz)?;lL6Bx-wSJ*Rh?9L@`|ZRa5`l-xd~S zgSr{@Bk9sRmgxgAz$?6agL(%Ob6(@R(vJU}m9rx$S zC_7~&zxC+b7FbOeeEySKIPg*+c$x7QcHUXW?i&0<`(S)d$iZ$CM2aSzfsrXuhCi-| zvEwzRxRS%?td6{8_+K$g%YW-9qkP?X({iD$rf-t{IozB+gJY!QGPJEwAAG@T4+ zMR}oCou7r7eSR3;Oea`5UEeHQH6FuA0&gPd5&6X`+pAqr$d%yD8LEP6rKN#7IX#T0 zrp0-4R9de2%h2Dd0}SI_)vD+^_Y~**ax83Dnqmbsds;yY_-gK~r)B1>AekEuwtR@0tylsH88# zkGz(wmb{gJBzEf~@gpwygY9_DSLKNd*VeDFq3Rf-_%3}gO23SrvP6(;;tWpl*HG#% z@VY+o;>5?!FV*Lrd4#>BSoQs3=c-#(s&;27;*jIi1p%XXi?f z_c+7f!ITNEk`CkfTT8sUqQ-k5yB2dbQ_^&UO=2&_+}|~w$y}vBSf5TU0+wrk#}y`G zlo)z8xnt_9xNp(Gos}`t=+rNLk-n@h!C2h?K!ugyu zUS^!}IwmoG<6XXVTjVbS$psMl6wVtqbrNPbJw2ZevNRd^D%-fLeeq{a6`mW~qmUh*?RQ<8=DYB_!Q8aGY$NVkkdF|co?stGwsTYTG#n#d&QMK+SjZ4eIEJ&pof!I zH$z=TgS@EPg4hx+D&Y81xig?~4JV;d*Nv`5?YI?N5WHzfCFNy+aWd>>%s^~X@FCZ) zfSy{C7%z?*TNHt=q1OMqOc74xPkal@7+lqgA+ykzG!dsGb6tpgF`9%v7e8` zl3!Y=X#-;*5b3OL2V{7s(^c}m#^THULRzCGM`VXO5q!MxlYjsu!HMv3+UA+jcFbI( zyZqDglAZ$^8Lm&``{jSL=H+>aZ4#1q@oE@^$T{SPvDuj0RwyPJs8V69lShseG%6xC zTFn0}pFjD3M150qTz|NBY@os-&w3F0SKRJVGRfYrzEa{ zg*~Wjc-qq^1faj`U~b^3U-SX)iCJ32WG?!5TZwANK#po!?rrvr5bIu;a_y~ZJc_U1CdW$g4E9aUKb>dsMj{k`obRv=;Zu zPvHw;FCx-qK9-SIc-a<=zBeG-V2|ks3zBp%UW3y8F<&)lm*3u`Z<~G2YUKO(6y?A4 zUvDMQwXUuj93QI`E3>%6dUbJrOK;l%V4GVJwdr@XQihyrtT&-m?FkArUZY>w7p6qo z2`^_ES(3Brxo*sY0&Hy+PQ-iPcU8zPB8E5C#R^Ss{SH~!Vs>J-7eZSO;%Y$Zz=5U9 zpu8vk3Rtj#Fm0WLhF5-^Tw}P)@63s)dBVkl$m=`6`_)tZEWM@j4v^8M1SHVwx`2iD zv$}ej9yolZ%-k1t?fm?%WInvKpu^nqb1I(aRS)fyoTR#vqdukqiny!taku)CwLkmo zkXuLRO7=VYN6<}Iu;IJ?r(2gt3d&XV$p5f^j^1V7@E>BYf(l(^Zzr2%2Amc`Vt>vg z{xJPL>QjQ^&`wp2k#Xpy$gaCw#y;~u7=Cu>=!Kiy(Ep60s&NI30YDoZ5I34<`2J6O z3lDuG)OO_Mou>O>N71gt*7K3xlhH*+au|kuRXZf~v896^VW1T}9o?6fEV;;oc2CX? z1Y^lznpSjKxy`4&YLeh!E0?~5#|+VeIRcn9iaxPquLh(BPYx7h4D!L#29VA;LNLZK zNVfOqGA6d%kCn(JSs9B#NPe^(Qph)J%zoXCZ(0Ql;3xO+Rb#F#{Y-{tslBWGSKE6a z0=XXn5W8H>q6}lum!c57J@j!$g>cy9xhLjov81h8yU`DC<_G+ z-P26vPety^NDqgXzl|*Mzfvh&oR-+>{?uld*0HbddGokA3f<=unVeM@ReV=*H_9Tw(X?`fqa|R~F7us~7wF?|WJjpL3Za z9f(y9sWeR8+c1(aC!(OFW;B+agN>(&fBDQFQH$ZY5BX%ORzyK~&gckDk7QI7-X>wed2v(56_M}cv}U_@jt`1E-g@DGyH--4Xr%7iu3HKLZ98-X1o6N4|Ax4z{7) zfFs{K19y?12|D?`C*9zJ^*5=*U4bF9iUGaRN~o7qNhF2_bZ?i2K(Ru{*ies??6IF1 z8Q7wmt?M1(vzQriORpyLz6elq3^YLWw!ydicv{#0(&LuEwDRsg$J&w z&S+*L9zicKVtYa^M$Fmu;aiuqb+th}Q&^b7NOjg!=zOQtq(Vrne{tD%eNafJ#ToI{ zN=Lsz{}Jg+TyobsIg!iLK@R0RF7;OhyEe>%Q>ISPPEi}6>X#M$dV=2za|#IQa5=!w z-z}CN7Iv7Gtj4qqjLNSibl4!%eLQYqv%jQmBK2i}-g{3ikQVs@ zR`BMoXo6}wIaffqxBS$$>*Fhph#BA1Ro-jQi5mh!s%UNw2OO0qc`+lcW383j24t34 z-J4m%i$8VKXr!Txt+%T`zwW7jQf7*hTbo;bku_ff>G#_u3XLDdAIkpK!19fY!6|7O zB(~0G+9LFbK&;X@+MWj}AKk$ruM+?`KmxQQA*VU~wYuEO#soISIc(_3w_YWGxERh8 ztpRJJxAW&t3n}o>^K}3fgR{;*1aMbOyUssZ^}A{|cz*XI7*ek#nmbFh`Y+job#KDN zaQ2D+ko27sJIE#cM~hWW6*jPvBIH`NoA9m&BvAKwV^csEc zI^aZN;Gd#b^y7?ip-L2OKst3;4*Lm}C=&Fuw5Ejy7S-(R8Fr8y9=#xckImjmw(;RG zGM=4)TzEG6Ik(BWuqO)h%=iR2-?w-6IqbZ~onhCU_AxZ@TVkYT{LdIsAsNg~w5`>K zW!JNZ&$pn@vg{zggGZkyvtsN^u(t_}4CtaSWA!7t3_qu<(oH@X#J&FdXNM$pW$GSu z3&cA>L}%Se7n)eKH8PX$R_{97?^fs*4PGSehC!USH&Y*CL<&o0ubN8a)1=V2^^RI5 z8?x}w9UQpgD{KspJdXI`S&dqm8qh*wl2V+tItJ}5MW)pnG1w(Diz9tc?TbDT3NPp4 z={3=}=%}fCLBq%m54gmq>c#4<5FxL!Lxlo$7kfh*iK%eh7A>8#bQm(vd@+XnF^gb~ ztr!D;RYOt;9^C(S1I6& zf-X)%zE)|uwE-)p?uQx3|9NpOU}`XD6RKH?fOCU=EmusLOwoS*<*EKgM?xN#rR*O& z=oPzc%eESwOK?*(>yY~VBH=CmB|C!`u|P3-V#D))jY;11-Q|dWx8WeozA1L0x)FJ*C zu#M_{w5@GjLVY>E9*g79 z$R7MH$EYNRg$W*S`8fsZB-d9D6RT{UiRECHlH^|%ofuHwrm%-E#M z#2LO?NSySm9W6;Am;2X$Q_O|K_`3W|es!R0uBh8NjG^o+9xkFP!J1lgafsgd9{W)8 zZURi2LSNXFA!HZ?O?!MH6t_NxnHakCC9>vFxqDY=^e{IBE34z(#6F^kU&z?6N5Dxit?MS zgPx-!by}O)yS=WR>WA}kHmYO1MKjo52jaXisB-UYx`>1F_FW>^ZwPuWUpEn^l(&Oo2sAyY6#FOfwO_tncN$(% zZ~!OD>{l(S&xZ!9YgIQXfa|c6#gO0S;1BDDM-qHC!y~^x>zG%$($lZ?=`Mx+UERLy zPj|5{s?b-xpat`Y`QrXn3Gxb*#G; z55ZKhDXe+Co`9x_e#wY$!d4}=Wr3C>@W>!a7+@PqhmYzT&`I2EK|7cw$8=dgdG zfQSM%U!UgSz9^&D-a7bpeCyt|%)D2$nHcHyxLaQ=jRFLMvj+*5T?fz<%}=eTl?c21 z-c$7jJzO4$@h-AgmW5vNyE^%oqzKmIIyX>X?Jgn?7kTJ6=_X&R%e1;R2H=*BIXP+` z1b&O?y+;;mTyBt*MfSsKanaj@TR2(<(RNU4d~^d2QWW?buiid}2fA_{A!6V+%`Xw3 zYKUhA-x%LVS0C5)0)0QT={L_3cmCIEE;u_FiR_#EmUjuWxA^$^-~mpB?JZAHSgOg* z<_GvF{$43`)ARd)zqkY;L^rsJo&B>B)lxkh3{KbGeRZ zM`L!UDTgZwpS0iK_Rqt89v~HaIFV7u{YtTT4Q5NLZ$A0L)wawCKsS(nKm75+dZvWd zLaKZtkSV|$Q?2TPfq9ZX+=z3F6%2k4Hc2}QGq+Aos#swX+Fl2tI;azD zjt0^Vu7be}z>0#Z)EmU_cPa_c*y{6K?k+6UuSx*0Oucyg{UjU@SdnkEf$faRO@FYG z;7hg8TKQiYRX25^Z+-;0XGXvN8d1W0oboV1y^HVmq#aBEY@1!uNp?@^=@TYN?Hz$5 zLzUrppfQ7Kg^|4=O~~R||GpLqHR1NKM@OCy$yQV&?a(+83-pI*p)uqgODN;Dd%n60 zQpZPdzP+eGl7Q*p`eiop*QXN>{159d5Zk@5q{w2pUtq7(LYb+=NV^zp{2M6I$MXp> z4K2geE5#cF-817D=ExgENhs_~ehEXXMKQyM(am|>$Kq*2>t0L)JlMnA){l(`zs1>m zUm7A0ao$`(!i9?w-|V2CDPgc;@IMTXz=yG5PAv9mBz;L-P6}Q)D!&ACBf%=rh@#7M z2g!U-_g6If2lMOXlToIm>Yw;s8y<(T{{V%1do_W0(GB46M4-C<;sVp=P$D!*mjIVf zrPE1`;O^c0;=IQ_C{>YR!X-hU)AInHo|yU3W#bgPY9ea*tw1jk;`^dI%O2PY7&pK3 z7eN|d+rORu0C_TiNE@EluRLP(H|pmL0l-l{#VpdRT?e}2$H`l3-OT~GRVQ3OrgZxR z<+(;hVOcE_oPFqvpux}{YOUOdFjncKgAFh;H$Uvf=B*kD{`5r7z*cOzZi(`uOQGrw zt%^$$1j|i4Z%$vWf|9=CT}a2Nbnl!-2CPWRRG=`!=~Q|j4Kt%htVTV8DrfeB4;_v@bdjs{YG3t?gMmWcz_QnAuU{VlEn0bwu zmlHr0nmX1+q*w8~R|?u-iz72BriYU>3KZRAMouCwZ>gp*Cn}|v8)I=!LT>x!ysC!L z=?>YK6T>UUjUq*cQ5ksWgnQlE8;n}Tf#{GPz@3}qqxvKVflab@#I-2n4aW_owA7At z3#VqqO&Q^|f$3>e?drI(Q{L_ZYf_fa%?4a%#^k_%d{=7Mm0;P>->jmnQSVx{P^6^K z9xO5{!R4hV-W?v1e3|M!D{mL%_m53YHidKyRO=)XUJ5>uu15uJWc%*HxQmv%ju)^V zvY2yhT)@Mt^gH+}fQxQUih%oUa~Xz`urf}I{6j30$3N)p+b@mq=G_s2W91IL%+2RB zaL{N=cu##Q_7mqe-q|)MRZR=@q3;pw}x?h;V2x0hy&@J-=wpU0V7JE21~`AWUi>FH+G>PePKBt}so!@?iFEoj}Hp z!gr}>(5fTIY#)>~nbrrTBS0wTLopY8)JNdHq)b|uu{^`2G(*~WpVz>3eK>DideHaj zytHZ?veH1XCH17lxX@wTcuZn8S57XL8kn|L&6ZGj*G(vAWIpDD`JFK@VjgY3$^^c4 z(wygBaF|Z!CnGFNcG#v6A0&R7D?Z&;{^3+nW}ioB(gx8uq#2ot0WkQfr@xe}c}1K29ND z%>WSi?5aeJ=L{LUN7@zaNt0)_(Ir9vzTQig?kpb_klWj2<9(r^YsWJ2TTHA{XH$5Mj`k}-TI1Q%^O1RHU_&XZAsBIq4 z*}p`*MxI9dU}q9oZW0;uv|Md&GNcVaYbv@4z@ z6No&NQr1(00o4>oaa?MRY<&v`!a3UbNOG9l2m8<7yd-}yn#q3B+u2)YaJ|w<$p(Ls z@2@xwsHZr>87fO28Ca6a|4kS*UM4)%$TBb>O9C>sik5`DSLz_EsQ$}E1nUuPp=Q{S z%ZF6-N$llEY^~q4es8$RtiPc3y8o8t^&Z%>1eXp)%GD?I%^_Z*o>EBZvm~!xxpd`k zIGx&wSAM}?ElR9HR8g?}5%M-=tHNkF9f6J}dF@hPl9N2K$4K*Ja({w_9F;P0Bo6JBbnNo_d%9 z&1o>i;pB*gBco~iUCK9Bas95kFz^`6iD}30%35!=q)&f?H64K^eSEuzR=8>{&JVkn z`qbA-i%27^c#(8^r}5fBSR;Ha>ww1hO=-F1N(=Y3!bl71WFl(nL5rCY(loEJ%O*mL z+$aZ4|CL9)dJ~`vd|e~v{A6wEe9#cGj<|1N25nQ>`c&AB?9HSkhdkp{S0(Ny*2sf4 zwF_k{npv$C4h%!?@3+>=c9~U-ME`;uj}Cu1W*w|O?*q*jYNyXi{`e>2xox6Wuo!OG z*>d$qFu7XWp`9tGBsLF#XcIKQ2rvJNe4R|mp0uG_=d@bV-lj6XcWE>W6G;PB__G^P zF7gu34xGHb&vRc#J*L+9Yc*r)Up{>Z-WOl!KXrDUS}P>rZ*uCNQeO#d4Ep^U1V`@f z1bKfXPt?9KLhUdjVuc*&TrH%sk;M<%rJv4syijn|?{`eIfwNErE0P9tlafya0S-s= zy-P4`Q+Tw}ANch**aT^(W6bf^n8Hb-^!5x9!z`k5;pQlNWxt1*c$8@nfApFRPsh@< z|FKsF;?M#asCPIu zNQL{A{8pwXPB`s^wE$(*Ot_GWJ5H)}+quofKsiWPn?NA##FMU&ERa-?P9y^Q@DY|Y zNU@FZRd>>`G#^JbG)Wco>Wgj18saX^dv&WT0uzKMVmiI@f*tlE4)Lz*#(uBRI6sEQG`t;yMO zM(ja;i~DnIZ1GmuKd|9V!ZU?Y!E#8+sHmK($X^R}lpWI${~zY-H%&;8K_|uD^6+=F zlu1hxTG;MmQHeCLwOP8FkMNdFi2(;I;dLJ?^sERs#wR+Fg?*wJdmS`RlOT<}FA5nr z8tU9U5V3U=5Z$n_Po;pld}xWp(1w{PW4`eG4FkH6@zA=@87b(vQwORDJNq}SL#qUk z^|v&}){D|Vwrg`^lQTZp68sslWzKJ3hf$hCpD$91S(Pp@a8$H>G^xgTXSn;Gfa_3?NP#%muKZ)6Ll5eYc)JCh z_eH+HDV9aTBBPJA->3c4YH`<7o8Mxj-v|0y=K}37zpk#B$7_L)qR30+E<*iAMzVjt z^!}GnPm&`2aNDM#)LPlGd5T26(Y2NKpUYFGo+?&VDW6gGH@Y0q-hV&>-?TgsP1@R= zgJ_sV8>17vOHxFa6s=GnBRB9gZ9+9Du~pw5%)QWdjONZ?eIG?L1z%W#SK zGlZ86Y8fn-q>jhU@7_;DoTaX4*M)ear6~74yhWaKLwFqMA7GRO*t6jWs*m;4AH+DP z`d&?~i!{6pKpmvHQLSo$q)dBhDDk5WzbDoH8CJkNlDnLLlu!03OR{g`Ma_NlL0HVT zu1K7;h#4=~d>}m0y6#cWW-0$tzlyrO_uX|!xM}$}=RAj$g5Gc8Z2ho@^o;W?>;mhV z3Z_-0k6}lT$aCJs#eH%ov)!Z9sMA304X^!88A7?#Z8k#GhQel9`pF;)xZvAh43rW$ zO%`mgsb8FXVNATqI#FNQ|&j>+RdA$WU6+tQQ@O9HmZchs}7*w<#?Q`vLEgy7Y@oc&d!is~dU znoRuLkS9E!h}M?-Af%f9h7#>I|F}<#$Fuy{*^YC5=sM1z6wR$5x(!G&c( z)QAvwloln^mmhxM#zi@F(nW@SOtx?5<(|m8^J-;*rp54kP-C|jAAA^%RxX2}!dmw) zniK{2Qy)FB7B~R+&Z8zb>97^G*qU<)y2z=|@#msGZo#)f9%E8tUz^}OLvF^BDPe&v!ukzNQ+tJ?Rn4MwLOp%~OR6E3^KchhA|YHr>l3HdPoF*Ex6-I9H4(Qi`0w?ZX?`M;9H zU7t5Of`qXr=I6MlsGA?3L19lmx@BnGYl^52l^%CU?xOKW7p1uKbo&$^las(?%cUCf zQ9ioc6Rj7?R-gn?R5t4QtTXEv%y}{NXUDJOr&< zG#Ah{=M!W}hxdEY8~mAg_f_m5R|;` zV5eD!mto>S!Y_Ib4JeyGM6JNK2f+{C3TRWD$Mc;}bZ{^=nOIRrd zo7rCI@IRBlf3s`rM8N67p8I#vqk zFQ=@~;f?Am%$O1xLsl`KI8p!Os~g7c7PZk|%#3a{_60vjU0%kf6iV%_dXirX$SrjD-OOsrL%RyZicW{ zZnh2``(-k}V^JO0A5){wr?ah+ZaYMAFJF{@dyL>t2lttsMpYs%C(yb9ld}E@aOA?B zX-L+cO~>~CNq=Pi@}G0{d}7lvgU4($V5FyZsAF=<`EEcG7C3fE2)SjuLTRGq4>uwsnZV`O2o1OQfbQaI3x`RFW}Pm$P5a z0Q@IefOQUE!OZ%cT*6(aBhmWXka2F!Ph7cB6u9bLq5&?R`F|coo$rk=?@{RK!50bL z3FyOdQnHv!^wa4Mwrv${yQJYi>nmn3)x$mNGnXV)KKQHv0DuvZtqsS@X@Ez)$Pd2H zph#+Hnj$so@^lzouW zWfGp8S|T9fgJGZ6nviQ0gtLn5r5@PL91|lYP4(UZUHqr%sNd0k=`u+!rjoPDnzuT- zDWdl0Zb4Ma0LVr)Y4MPu>Qri&=i+C~zTZTcNBb$4($eJ`&K>H2Z&|d~S(x;Hzl!o0 zlX^!Ud-zfM%&PG2>EhGIE_l!D@JDyElY4<#BCEZ;Da5BvxP{c{#!&Q{nUe%z?rt+% z`)gS4my>zOO@p&17^8T+;pjR(#os!Io+^WU%C0O|fBs2Kew74bHCVWNERbf>@v`q< zd9`lfJf=rS&AzL}EFrDw54&E@WVQ{W5tSJe4*%h7_qN&fX}6C^Hot6vtWG9MKkeL{ zi;LeukT%f1Z(x5FWwNQ*Ij;H){->xKAK3FiCS{E$brAq~C>;rNw?kSFz5RN`aKvat}JBC1q-B>XxE4 zzZBh)NlDzuiVFu5kCQ*$mV|o40yRY)+?1%RoM~l4Sp0wxXo^WK~dA;F%EvcPW3SDIAMkI z2Brhf5}9;apitOxx6CJOl@}133rc5`h7iF4o1Y>JNt57sI8c5pxS7`eLDK# zRVa@KTJFiiCRs)k)I0Q|iJW1>7&Hpf`1Y~!b>cOqu8zrVe*T=5dmeKncNqa73uT>b!@GTTfbw!5aR>Y0$&|~4(4iw z&>Y{yfN*~C{mZQsj`5%-_+kt}crzW_-l!>)e9Oq!8q^SL`yn&+NmuYI4LD3fkdHtvE!BVC&IePTH{b1#QFf$to*JxR>{TO=9*&mY-;2btwHZS ze8@0B6YwMnVWAbf8@UBYEJ|GK2IH0E$Xh&YkufG~G1gXro;)E&o65P?-je{{#BcBt z(|>mv0ST>K)Ju9fjBW)mzM5uRZ!`9VJF7jeO zO$51hw$97+6|j$p|3R5WTE7r-^9v>aRK`P)nlbIej7^*`Q7;oLWnO%>)v+$;m(&}b zTfXq%Dq3lbqEZWjq!pTw|Gm6G?kZ^M07KCpm(1ttn{awAFqO;(>A*Rsr8~GOwfz&D zrlVr_-XFgvCHdE4r+s^;_3Ge(38TESrDPDDP+iG4^kF%bG~p-@x4L`ujO8Z}l|QKc z6}!_qyq8tE>@Mbd+3Ng8ue*jazUch4E@Oq3$;^Z`V@z4drOf{lph#<(`nDK4uV6UP zq{C=iE_7K6?=^~hQrBAiTy5CaR;U*c4V7vCEm2XVNF@dY*i3{-a@|c>J{%%~(r0l7 z_(AqVdtMoSSb2gUW|<#tq)3HQJ7-s8X690db;OU&?7IiX<=Etn9>#8xjEkHf1HP3B5)-V-mRS7Yty=#$bk9;*s8|b40PL@&BAjKfRS))F91R`$#|1cLtZN7D zi0BpGyjFV@-igZM|I7}THC%7L?lwSi6Kf2C0xUg*!Z-}lC?KEEAc(<&#m`gyXLbG0 z5x=X$E?){3pZ|=D|BX*fRO#2_Po`aL(jQ*CK?50SHi~X`dmv6#g|t%1ORYyEfEhQ2 zsxVD%>C8ZM`gr+-k_3J&rhin9Nl&tHUV!>$e=A1@Vrw{>7O+7CUS+sDHV;P3ya)Pf zKuO^xZmPOv)mn&^qgO&w=Zp3rT+ndGtTSH-cZ&p{p`I# zr_*!yh)Irx!#k~RZrI)pe&tn$zYPO=`S}S8+GZV}8V2-f94ye)>MhhE+(@SLHC}uH z^`(`J|3~$R99|>TZ+x0cbA4orr-3>)8Rv`=Bkf$90ZymZKQ*PStUOgk5I+)m8djrY z$?DmpALqT{djtnPceX0>}It+3Ooffsnb1X5>aCZ6aeOK9Afl z4Xl)`W+CstG$faCwMr1PtDv}MYV3HzxLszqqpf6YeRMq{V0#=mZN;a@sykHsh-3rq z3yspC)7tDS8F4)jOL#e{UpwM><}qU`lhjT3o693ol5lU61QV#g06CJk=KhTzJc#rb zpVVAV_VI<3%q@6*4-#?X{D~wKkYjhi4-uF%cb}{_toU`r3MR3zyX2RGX7!~6?HIED zYc2M@M_*Chv8y^kb-?_ity&*W?l^Ny8L1i7xXV7Dxj3w`8~$%P2S4UL;Bp)t`~E0d zKH~Fzl3WFpXa(C(BvJ!-)U3uNaTK+aC;Z>A+4n^VI~V065!}J?cq&^DB!2MYpq$%{mJd-H|QeDWZ!h8M4^yeY*>%lwcJE7mZb*8+xRlD{7957fSaMEaU zP98?^Cin0SI@}9wo`GbdD1&jH-gsji#-j{t_ka>r=|&h0Z~!_G+i+``i~R&K95oxN zq<$I#pxb#vqrl8|GTYy96Bs0W!F-O%iy-RiZNxfb0Y=#;u|@6EBW*?PfbaJwzR-(u z745SY|AIh7EY)!x0pL}Lt~T+yR4HnQXU@l3!!4n@hs8c5Rh*6+!f^#?17OzQaBUTp z?k^<4(+UzmNCyRB^m6}*6~mh3sj$e-Hk9=@g%!C~*CRE;uuUWf%F8Yz@5C=@EE4SC zU=|NWTxekwhs8pRKpCxLhy=-yC3{!JCY;X8lIs>(k43dxhKHL{;BBE55tO0ChWX)Kt2Q{WCOUqY{-jmB%ux|yj3pEHGW)uRJF z7_+&mP2{r6lUw+APwn4>a8m>$zrEPq6YRZ~L&rvCM6bCamL?>WK9PHi<{CV2tV=j2 z+CtjbUUthJ7PL+K`Kx*K^d16eZQ6|dauL4-Ydyaw`C0e*x7JzCCuz`tVaW|nZ(5Xx zAH!>hu$v1TWx@w2!~F8a<<@0Uw}yZ5=haMv_0aYl_Tq6}K)jawzz&r`TTRVfSOqz# z%tq#%(R{r_dfs?`y}EO5nnuUX>76HG{#@dR&tj~76G#2c0$K&1SWYFWeH-fg%Xq^L zzi_7@aj`G|7YI(e9iLrV6k}WT6|gWzw9D>%s_e07ZZT#xNPw`}XKfs!g}IskvFm*2 z#pT>@pj6+F-$8?F{di8(!!9-XVSOYJ4pU zJ`1Or$^f-3U+~H1rT^X)e9p8*Zt=P{RXsKm}Ez5o4ZVLzdJb%*lCJ#&ErqDx#{K= z?BfUp(3mbgqvh4ew%RVuoG(X&Ntm*;Q*N~Gnr$z|?bFTIw6vQ8bSQ%Y3W+rhRT*UcOl6u5idKC#NnE_V<@oSnlr@AVp{X ztSTi{6Nb`oFi9UL-I1Dm6s3&p_bxJqU>Rr?l=}}#BNYis8qpSudIKhpT*d!8{uESO z6>#UhUMP?x!+dEY=dX~Z6f*rLErcm!EC>_RU?Belo!IpIDysfRDKE!3!cVw+g`TKC zk%wJ>6Vu013lbLFHhHSFkV%q%nIjceBc0!U9md{@$3iq@I|%_ps8gBcft}0#j1oak zLcF1iELxQi*9vd9dUny~jFzO8(pl;s1MCMITT z=JrBKJbs#}PP2iI|umh+be%&dua2bxm+vjMbY^EKW4Jgz8Xr>O&mq zV$4LcU2{ue?5Q~FwdRRSGMZ7nkRmZhE72TE2c!&kN3{IFoc)!ang(9i8uPS;YyIs8 z^C%r;0230#RG{Zst~&e;_jF;c^$6pfi?&*yDzkpP^&!AfX-qxFg)xP3Zsa%KKl(zd zM0rI3vC~#-RQS2G4753Zo&h(p)^jY{nDHvKGooa<9CPNkegu+@Rlqxs0@TdZh-?mn zU<;(0Lx-or-7BBK9fI?_=e0&Lz01>UhhdAv7~MCx2!Mn8BASo@C;nKe(C78S%@D-L9PZ7J9_vvzS86P~Bk`+BESO6nY^L z>On%+w$VjSo=-7X`FttYh82QsQ`{A%WS00=@DB)|BqnUG2C29bvBE)hvaW_J(czg) zqbZ8Unr_|T(bZ#k6#tELxn3vCYZal`9Kf%uQebyDeg< z+yqjTYqgbPMtZuZV!OPU?$VRm9Gv6Y{78x_@yY*6UUnD#Cpfik-F!qTqX5(nSO||q9(4BDI$*_U^8R<^h2?*D;?B$X% zF#dSDC3UfD-n{J_uPfzEcO7@Xr7IwZKmIs2(;lE2vg?Fp(!A(GR%9T5<_cT<_W=cw zc*RDEgk6pnvjkC(Sw|Sc7V*UjW%7}(sZ8hS(^z>Q$vCswS{|-z71eZ{Y7Q04pC~)7)jQvP#z5 zN(DjM1Cc+`X>+KgO=q%|VLy*pKp^fT(dt{voizZ)R4}WU<05EwPG9h&=~{;m6!|Y9 zNaWnR>#)JO3{n4aqAP~q^+!m?`<{mGrogrK-@%>TP-(}TEC{u=?CkTHk7>b&@z>Ai z&)S{SpZ|wUV83k=`QoxrA?(>_nm$kHK~{lkyk)8woWBynNtt9MFwDkI1GwiY8IOB@ zutjfLDrYjObU3a_^tWq@2dG!Pr!a4oq}=kb{C$XxV4+))I@Jd4V#_kjHalcMTHGo@nTV>G>Fp2gfvtj zkWPosx8D$(sjdo&CnNrgl4uAt;j@gzz=Y;h@zTc3SN{ zl%RHTmt&!0Syl$CHX1C+rK1$!bq8b?N4#ba)@hn(4ILJSb2&NcH#jEQj*#g4m+wfM zqxCTX*lOAxscNOCjV_1Q`Ex&;UeTm6YdGo`rY?8`(?vC{Et)bX%9l-*d}Z>4hg|K~ zXiB;{{nzkhibtC@6A_I2r80^+#M>^Vbm=#T%oSvV$A4a}%+d;TegIc3bcxC6cNXSK zDShnhfUtAg!Vaj-rKr*E>~;bV+C6OW7TX~?Ye+@E7;K~`d`eG#YE{V9u>guM=xWj^&RSi%F>IP z4i%?1LL1kL#L6*Qq4j6)#pIA<97T!p5Kt;ivfTTj1wzBRM;Gy8Y0~2?#97tch&3yl zd5;3o={X+;;8}|)+g(P<&1ylraKWp?X}m(5uGKs91oqcB@nww%)>cg>svsk9OPdnl z%N@rt`*-^xkH)-*t%j`gG6V$6tV}gaw}=6Cc*2gx)yhn1XQev6F95u1Ah4^7R6{bZ zstTEvu9ge*0UH-{aqVCl(_eZDNFxl}09HL;wQVPz1{llweV-)#3f@!wb~m41fGf`( zpWs#S>k}-1m*Xwv9idaLbGIwW^hMY1Vj@_(PcB)*?c$=;hN#~lkJZvOy7kjW?B=A& zU{C;<&{|H_l2}OHr^^u}#72R?AGqP13LoP`EQlVPGlTep>L5h1GRbX6&VFUji9de- zWh)CQ#;w{|r^s-wP6g?5QIX!QT&mDxut&14WxjDNid(;!lp^Rxh^zMDWo?4!qCSc*)ta|K&&CL}pLvkWRq@)U}(xbD{em{KY&xtC(SHh*nEV^B^-F&`e{#Q?=^Q=|ccF9J# znDToS-}RrIMk~k{JW%8of3>%=oj0Y^GrW|xFWtb9^$73l9!vrxiqc=k9QM5$51@`@ z!1wB9+v`m$kYA&ij|7bw4^n#IW+k;aj3B5Kl!Bteio+i(IQnMA_}f`8cRh@5&N&{g z*`}G<9ih`E@P9^#O8lv0O=rj?&t_o7cB7syP$7~4mg=t-Vm-$bds3r3vyf)4wJf4M zXJ8iZ)mngSMdP4mm7<8!Xa4vf%h(if|Dehak1{C__8#elv1*lojvCJg;FfLYbOj%EYEh-md?fQiXr}EX3*h-K48{Hg)F9XMVtJ zs5e&{+}4{|sLH)dR@M_&B<|HS7N&|&S;&4GQ#RW2_)d)o0{Sfz-S#ba+!)lx?ri8? zwLE^!QM(N1JlnIEA(E)sYy^0y0-6uhK48#0{1~MqW1Q+$$W z4G9Pu!PbjV&-Y^{H3YJxIo%P#$=DpI;8k5ZhC?IMk~MoLO0`)6<0px+99^-L_MC~%NbW?`ub-vZ{T{j)6e^3+Ir%*o)<8uDB$$}-#roF zviXZ__`Ss_?ip4tWAr|1Ee`uco&aSP`94}$2vSJtY^#4 zLm$?f$c1|C=<~#3Qqfw04i)W>8^NNn^y<0-TISr;r&jl|as-cwYbj3pbIA@4+i$EhhoN$v(y9eV=o( z(Xr1kY~rWwca=#BaZ$~^Y{MCY0xjIr)b%%9Y`dVxX|4#VO1=yRa^D%KTd}oPP$y(2 z!fj5HWLaWzpHz#IOnJ&{TebQ}uPK;}zgaL3OR=X2ixP8kQ{|@n^dv_X$Y{4GNBDOy zCOz4ReoKQ0$pU$9dW(u($gzO4%@>yl71ZxvP2mQ|ZZH8RL>^W1Lp{ygphK97dt4>= zUrDpt)2ap*-HKkTRmC%I!LxoTa3=HKPKBV{O(|d;@p>)6b=&J)46_^_M_Uj?6Og)+!FbMh>Bj}#oX zsWQ|35iNgmxGU{Zwt+TCyoB_2V*eHFgx4lG-Wa7Y*jatSdBzC^?-fM#po)H1<>UV; zBWW?q7#iX_s8Mtx0>9^6Pp;agmG%BjZEN#tTwnMsKgxqqI0Vq3#o9u|WyaJ@e5tOX_iRT!fe?dEjyYw~tUEP2-M_qcNXKf`@!$`x=1W%<{j!? zk=+eOE1#P9U@N@U_u8%RiGUf zxj~-JWTLknXw@~#&T>9Y)P)w3MntIH4NG=IBkHVsLNh(hh)aU51?A(_^{#BL6Bwkj z0v*s0v|_nNeE7WLqtgqf_5z3wgyL{r-6=&u=QrncXtG=N9gv$1%^9d&EANN0e)1s6 zsW+_+?zv3aU0t`)Z_sg*ouRJV?h+Vzkm5L3-nveIhMfHMxZPc++qvJ7n*6=cIH}_= zoyX4q#_AZg@|o_bwL$MYHz6JO*nelIti&1{WP?}WbuS~y?#`+4GE?)v`er1GCxtFc z>3a0y?<4BWs8N-nH*)XvHZiu7zhTf8Je&;&XLL3=x~ISMR5IMhDcc*@qpPa=sO0#OD6T`13<| zPl<$hwOT7Rtz3aG^HDWGD>>*^YQ7@I%)wM|K0 zIbys1J%!_*y2Qz-0(*0h>(2g!{$6@>k5y3IrM0hf+q}QPT(7<#u_$>tbohNP4|D3u z59e0+JvM_o!usdKxULv6P89ad#=5mp-yR(*)fz@@7&ZJo77VD(h7ni4$A?k2VO{OV zfAS~w&;H>*{Pio70p2U_@8f;^f{mZBzlOWL;%^Jz``Z%YH`u^1`q`{ks5@PzVE1N7 z8Pb=YP^(v%8|r96tyX>R`sDtPxK>`+aK~ghjS4%p@+6*6^1_OFC%XU#3X+YWb?D09 zXyt7?2roD)_D99s4!Vq2%(=-3UNQd+tvrlOdGl%sHYAyjia8>x7V7i^WA}~1QTcZ% zcefZdpxWwM`N>Z#0&;wy%Y-!UVUPd|!bVyNL`2335)vSaqBn@;p(_k2L$WvjYC~NB z%YlDQV}$K1tH918lN1o<2x%31Uq@q_06-AL^90=+@qx7=xD)}Bpj&0a)};%XZkbjT z<>Nc)CTW5iaK0#_Dek)BR+$hnxy_KOXdk~qrfF;%Awu`mE(aMEb9nMjC)VCf_{NFV zS@1Zq>dj<4vsw;j65Yf}LV~{Bya`g#xp;DRqoZ}@sm8*pwB!hzA~zJxztN+xLT(0q zz47OzzZ-10pW0rCo1CY^iFLm@BGbFjnltS|y*at^eE&-jgekG&?_Bv1#ToelcH3ZE zfeNK$*ot>2GSSg>cT6LbZoTgaGf!90oX5WOJ_L3BdV=k)U*9X@XXw{OgxE)QO}QBL z>`j^U1F-w;N_A zWN|C3QlFmY1g-7OycIrPZ#&YGP&dYId)KcEs;|=;HRbi*yeEL`EIwB?XTO)>0IF3{ zZWYss`t??coSaV)aSLdhqVA2z$|z*N@6`9l2faEqdy-x5)#ub? zZ?CNGw_+aK_3N9w(U6A#>?`lZqjtV0>p_U5?9Hfv>(|q#_3P~uTKPN$v_=MgpO+Dv zvX*{r^^f0nYyP%%Ci+7xa}9Y)@YwwMX%^Sc1NWDPuisEN8(!u_s{P4O-bGyWJag@6C{c z;Qkr0t+7fE7}i(CoB?a>hxqcB_5bseUub`IU%$R<+V6?``* z4G1FQ&7-!Vq97rALe9#&Lb2nJqHq{xCaCCN$-UB?BtuQT`s`<`LRt%rj!4xQRcjF> zOQ=@)MQ;t!_39!So81u|+1Q!qStw=LjieDl_T)AK#%g^}_66{URKsrT*hm0uM9s*6 zkx_rhe*{@(Y<7P@S=yUx(G69R23;mXE&53T$uHs#tpO3c-bc*NfA3oPqN{7)XTKJW zoYY9kA@Wj@!wDw*d5DbI5FiF>_^FGB(<%}|0(QBfB_TgQ3d|bf^@Nb%74`zTWUsPE z=t@e6l?o&#u<_&w!P^Gx72+s9s3I*9AqBLxGO2e5%P{pu#YXu=PS94dJSEIhk-qdX zK7JPHH%IMF3xXn2UmXE zq4yQxavrA+k`KBJoCYK*dVx=Y`^t)WbR^@HnLzJ_74SI^S&K}GO`iKc5RSpQ^LksM zFL%V=FxyWmrc8p2GWMe*sqK!EoYHVVmC2d*uXn`jJU&l|0dkoKYSCJADN7nOnYbiB znW%te>eBjK6#RzP606o z)U6`U3G)YP-RoA7mW26Ayk%W0@;PI=BtO|RgiLIt0BEIQx+LV8VrDIhyiC->EBWbt z&csqFqsiO^Kn?R#X4Ui#%$Iba7eQp z49h7XW!ze6Wx>8GbPhOwh=`F*s;3JjJE5;LM=Ym+e&~{C_&qk%-Eh7JN_IT<{6u}a zR&L0a6S0qF;|A&SAs_@AE=@}Px&&Zffzy@x_TU@$JPFPxr{?T}%ayVjG@$H)rzavN z8C!7qzy?`s1~kFtESNJ;cW7(){{Q(u^5OX(`UijdYn@K~jN`pI^?kgLUx4u|!mq|8 zCnV(Won-zW2Z?8KO?#G12?tm?oYHdIDnUli>dXSCR$s6eO)r-YCL1P!)r2szL? z-AEP5Pfl6+_zr;~o-%?6wczTs6#=X$8(JrRL6$FX2uYCU>$IDG%VB6q}u5)O_`AANEuEFoWu3`p3sI9lU-eRSgGS$2foqYVBX((s&-lH%D_OaVQF#Vxg|37NAz@(K8bV5g=Y>C(m$W5l<8Gjb;cFlV9=1 z&@d(Exievkr-{7~;b=4s(}9AF=gCiB{ABFH2H4>8n{=KXk>~vO^TZPZGsG#5jUN+j z>e-Jb)``0A5FX~yWd&?%4XK~%0n;T@-)?|Ja1-G2iI4)aGt^-?V!NqOUJ~NWby-tP z=R9J=m~6)+BldJAcfOwqPM18cEkXG6Zrqb*>fw9;K|XO45F?F$@+l&FgRE9#4-kIskB@Wp~h@3~Cr#ZOmsGv2&d_H2eYFIARv-9;d{%$_jxm?r05HfZg zu|s%>r9hqo_3u%DPt3LXx)vGhTrQF8^w0HjjUyJo4Mt1{wBYn6HgLMc?$?Gq2kPNR ztcb~9PpyX2L#$Q}rwjG$J@)A#wg5Ok#EO9|_da4tAQ|gcMyOQ@tW8L+2V3DHZ^6bkQr1ZL83| zA}`6c<2=G&P5|~D<+%X!Jen?TFVssXHso3@2+K^FN^Q{9ome~J1)vP5QBDC7ASXvo z63@uyR{qRzVyy*wTS=nH-p~tDSj73}Xw98i$(q-f8xwQKM+kt}-B7E4ekONf)h>aN zL2!{2sc%un$UcB=}#Z$lr=Ym-#e z=k?~Ut`J^(rSqz|6KmV*p#xss4K*>DEcb%8wSiMCx8m&q0xfhy6`|3M7RCNrhECXu zVt?5w!xBN;8l^4XxXW0I;G~gyuV`D>+EW%&SLeA`%0J9$H(dtPwe?yQ+e>A_Cagl2 zwIRCJx~>iTy$yYPxw|`RU+2Tm6P4HoS*I3vKLxqueI5kI{J9PVWL*{ey$$U(V^LeL zMw6wo>bMWPJF|A2;`UmH$xthX^_l$&-P!a05UUk^GcT(S1SMTz=}0=}H_lUHC4YTw zgKpCbv5jn^?Xld2*JIzFy-!0}ec$d!tnE(c)%2C-H@ce6xpUPk0jOl$@>~ucKPeYZcp(LmtAKuIKNY8uR^eFIdO)Q8CHMnRlT&|s*t zWB$V zb?bO}ImyiE7UhYS{usC&iA9oDld!`M4-E(cq}s}+SPU5W`=s} zb8a}wy^c+RHAB0XVTNQyu|F4=|G^XQGS*r5hV7-mKzc~s73E%!hRIvServ4yYESap za4X$!4Z8b1ZH97dXoZPktBUoxj##ZUY-7%3c)xjt)f*!ByZ=4*WVqZLn;?~J_Oj{` z``*xY-osYSWAWsy?w)w}Si2|Qew!KrN6%_w!0m%Zi@YGqn}~D*)X?i#qj*)!`Q5B#@O!3QHtUA z?5AzQ2G;wl!w(F&-wgMgAv@LP_GwjJT{y+Wi75w@C;H^R8*V}m4xWAA0 z@$($NGW?p}K>FQ5;`gw^&5H1Z2^D1|$JsHDK*EL<0S12e^N-LZ3k`pa4wT}qmBAZb zn^iU~I%+XVg27y`{t2zTB$tDPV*@d?@@=spT}TdmZ2kIFnA5Ri2=&<3}J5((af z%Kt9r`gU&$9UJ-X7XEJ z3v4aOr$p_2FkG&RMecZhsaT6k91_~-@mAqxAi7o_ZuuV2 z1t}2ctd+QH<M!|GW9-HKn`RY9&dq6rhELYycx>n4W zgnWt!(w$HfHRS;IC^#h>T(b*1=|vE`#avkC=Oat>pY5z{eeY{lsk5u%}Pg6Txr48Tpn`AQ9XkChVH?IJ)(bR5mIpHKx}JEo(6 z(Pc1NSuH%MBhYQ&H*2;O!V)s`h_oj34i>@e!StEzUk|`F%@{n zLB5ao@$(+LZTMXLCd{(@or?Mm-N_U%Z$xF&Wp@tkLO)j9fnqzVSB?QUPYThEepoeV zRx!ymD&_?{q8uOJM>o_iC5cF$#9}zE0>E%$bt+4>-Xsb{a{`SSs*;!9tg)Ten@5Xn zqhbv_(q)P_uVNTB1yFOYT1O=}xL&$rzO60$d{?(P1t263aO=*Y-Q?YwK_MFMJFd2hX;QqK``S)f{>yEpT? z%{r6P=Ey;BEKC7$=BA^*tVc2mYJ}5eg6Tal!m3NslB`QjnRuY92;kq!#zi+JGCnhkGf+zE=;&)e9>cSKB z^+sBYn17^#F2GTI) zN+N zW1CSTl=4@OWeRtFmbY_X_nUPVZX(!&LG*9w|aJ*+c%Y&T{mCK8mw zsB!bv*C_#GzV9}4?f@(DIUktMTI|pM_>Z;!`1#rJ`~T?|e7%qNiu?O`A3x9W6h4O^ zYd`YzdHJTlFUus&QHYO~;{bsPn^lvW6Ll(zNW*3uvgN^HW`&4Jy1Im=nL3UuSG_EcI;&c z3F1t5aXx)_Rz(o9;KdNJ^qYv3Pmn;mOi2yxDFYLcgI1pTZKFzBj5eg}a?oW;ft>mJ zhA9A3^2DB6c?sgqnE~y#yR^aI4@NC}NJIi!Rm99BBYJ`cQ)p?_1~(ExAcA@?XfFl% zb0mFW-4ofCEW@q)C7)K_1VfHwC0h}%qJ6-0!LSNUT z>D8QR@3a^;DK4`{OO&No9c}Cb}w#v#QuVICt9&1CH1x=oH8^Apj2p=3?=cC z21idi*{0(ns{p#v>`IiUZuMT=cu0W+AzqbQt zX~2G~13_p?eS6FTEfKBir!bG(Yr}jBsPln&e8f7cZ&DzSb0+9}M-)E9?%H;Jz&z^C z2G>W-qgCbOKCioa?C2z$HgJa`;+RL@oPm1wE_MeBLSUn?hh(rVX_ zKh{6`eczW~{;fa!_Pg`zb-X9;@8f;^JjSmKzXn+*1dG2mNc@cgVMD1<%c)Q&qjW@J zuZoi%1Hc=`TNlPRPycz0kcdL3k{faB(@Bu#9nU|# z;U3Rql6M-*d1msifgJZKdsC~Rx%rZqGx$?PxK2z2UT-|{==g@%_C{;@uw*8Z zUwkI#UA)o?a)e!?&eLUXbLRT@w_fG6VOuln)n7mLZ%aI z5Ma(kWSSv9o#FQLSjT^#_lr*pk9hc-LHr$j^y26uzbe`!N z>eczYWJ)}IGm%d85zwt7Er#i7Vw2>?X6eb%i*>C?=S<>D1S(jy?np^14e2tGCGWA) z)suWjOitH`G)15pR7r$M8K@hbSm$eUt~@ZEvpbk_gA;S0Or~QVbHL>2#a0yg8Zga~ z@3o?st_SAPH1IQ!5B%Z05WOfHK81N)E~K&$ffR=RKSk@13ZE%TvHSFppeE_P?*K37uOLuy3UB zeE1-U!LYBu(^a;otNc4T;BQ&)_AUEv-~XdOs=p{?GW^bdAMfLReAVNOE50RtJ9ccp zCrSFR21GG$9AyQ(jimb^yd2UMq8Gg~9VVC2r)MvpCzvE{SrG7t>93>$m7IU)j5A(BX!32D$}D2w5JiD_bm-6~WXVxEB% zVNtMs1k|%YGoV?4Kz=t9yB(qpVPS$Jt+INXgh}6C5NGOogY&#aC@BcSs%XAsa;mpB z=rSVWq!T!GgH=Tl(8}HuyXG8iiEK8EGpm%gRn(V_HuOmlBM|H6+n@+FZ{~FQ2x{|+ zITLsD#!^XfG{H*1XdLZEMB?tOR)~2FnHvT?@pzQNm^Y%TSJ)%0>@+i)oRZ@k ztFTP0n0NWe#KaEHQ12CVb1i*ve!Jc_gpOqdNi@`#tLrS9Ys{(Hx7#{Qm*5)(I^c?9 z9l2SO$fPFZ#Mj?(hw+r1$`gD(@pPmoUygYcm(9g9we@{F-RDp`ipF#HdrZ_KV}&Eu ze8eVFGLFXAe9mmL9hk@LvH6*teBM!u`I5#uV-Cp6fq4v5BziGX2cAy}X&@$zv8FK4 zd`B#SD3fO*CLd$_wLNxBJ$7Vb?#+r*j}<8C>9IS`ayloZ?3hP2%-1wNQxIUj=Hd29 z%;Uql0uIEa0ci@zr|=M)$#KU#&X?pkOP=t}=Y-&xM>EGhcJ!hUG5Hv4x%xeOz&fT8 zi){Dk4ZhPkBG2IgG0D$!zsDV4DgO6$U>^Owbh^ety9ol!*N&L9fq6V|mI0F^C7WX& z(-a04a=CDlpH$a-!b7R>S!u(`k{vEhqV9+iE}XgMXp^fe^6&Q~$)* zzf1;r*SNor_wn-@PvLX;Ywa&TO_+W=AW~7C4#SFZmI;b>P)h))HB2&7n++0PIs&p+ zzk9{JYvrTFA&W7;ejf?RE6s&XpYSR^4rY5#a;cS{k-TxWU>iv~(6#ayrvkmn^=G4% zFSa`gh8p)^Zc*-=hfa7owDS8WwDK}4^KZ2BpcJNA8|yPu*UD2mQ}tL!PwWNZ(8@bX zGX-uUitcY3U_}He%uwaEx|vhgw^J+6%}b39?ULAd8l1{9WEZZ@_GU~JR;Z&_Y$XP? zmz7i!INfE6NaqYK#Q1e2U5IR6)v7dL(nAhIK6fPc55{I!Z`hh#E3bDZxXC&4X^Dsl zh+2`LNY;>N!RLNSz&BiP$m^F#7l~bC-Ye!x5oxWgJ}((EMd-RRQ5R#?T!3(Pt^B&P z(KLmj7pEM@T}HKeLP{pOzTRPFXLUWeR{oS(VJ{U{T>I|V;)#IrTJYWp*UGp1>Kbzy zx_e39gx#G;gK%S&6X3f3o_&Z>D=#pZH|J6l?zA26SLl?Q-oGGbLsO2f?R{z9V&m5H`w?r*J(d{` zLW@zK-by>P*43pTUB}&BRy~>2;`(*z^LF&2dqw=yvHfS8q3t>nU9Co0N<3`tI|`GJ z>zJ#N+R~AcaB@m`h*dZ0_Wi)>m>b`o^^>ui4RmI!_9k|#3T@-%^w`I`>qBf98&CV@ zftBKiSS~3E;fU2-`qSt7aF6S*k8dTEP0|09o0D<+>owN-5UUm&&9nU;$2aSIh~+Ix zpNbuvPP6q`j>GKh1YfVZKg4Q>-o4-B)@*E=`aSNOgR67zh={*7NcxRQ z^3a&~L>FKpIeBv1k&8XKga|ghBOrZ6y3C^^Y49YnS{d?@u9Xk+Gtp%pwes=_t$Z2D z^doAqbh3@d7QxS;mCx91bu%Ozn~&slnN3%(fQQef%XlR@In#c}_EsxzhdzBsjY4-~ zb*;QLnl3S4Lkbhw(7Ms_^r89ppvyeSVqPM0ZPz9WdiS^^R)rqhR+j+D28`nqHJ zhQ+a!LitQHCRxd=XqV)4nH}w3X^i8<8q!06wrxNKrko(r5H5h-SKN!?t`Qn0n7U>> z1{xjRH-sm;q0+sTEOpy_- z#1gbfW9k!<-RnBMbg<-W2V& z`3560@vaqUc{s0H*Tx5dc`R;BFeE?yM5EnzH}B!;M!oGwbA%O_liVoT(miss__{yn z*Bjc_U{z5gweZ#(K*Ph_Y@i#1zaOm`>b(rgiB_`V(-NVDTI=#!ke7tEHP@?GXv-*p z2ugK*dJv#&Y*f}pjd@ug_3K1ZMkg~_Bl~?mMYN(&XTj$sqHY1!8n)Mpe2Pe0K-(4d z6Z&;?uYj&s|13Rw$3|{9=fpQQ>URBlEu3$!4fD`(cMUl!#C2<^yZX9Zy5bumh!A(_ z4WWQxcbbegCcZsZ+d1EF4bviMu3vxD&R1V&tE}8_u1{ArN_K7y+D01&wwsRE8vxc< z9cWB_6Wg`(FYF1}U9Vm?MXk6^LYS<#LedyH<_q)1uiuZKAHKcen$KG#>oB(Yy z);-UHx;u*VrdUpbG7%HG?+UFvVcc%&4!AU5s=NKf5C2g8Q@{6r^Dp4{{=O&tp8xun zzSe2Q&uY9U?(gG$e3fIhJH9!7D}JK=wci#celx&|HLJr;yKv2S1e2$VGMpqiC?)B1 z82|@e#@$wjR^AicN3DECd6TFgbeT%$IQ(q2^5s*pd&R$bjK|oY*2*8vv-J~|cQ~ez zT5?w1yZk5m=Al`|6dav6wDN*tn{O)I;K?O5#kSES&^IGQR_=hx(5s73!dz@avqI-r zkS>$r%*|1|Bc~GpZ@`rV1kz;;4H^_NBq9uA!xnF7n1D#!qRa{56e(S)ZD_VbWD_cO zrMb?+gfzKy0eeAx-Hc9)NwGhz^+1->FxflSk%m;$Tyd&Ty}l|+!h zrq-AOa7td~rKUJe5iv)EsHm?i=qnW=Mn}TaWVo-d`1rMAHD|SpAWRW$g(rrN4NMW? zG%<;~Z?1#qIwS`~Ol;nSj^n%L-hbEbLpGw@EAu?AEba-49Y zw!Z%KGbBddcL!3(3;QmxmEjO8QDAe1Zab`1m`1ORk}d-?*nK0n{+tK@Jzf{eXd*YG zk|!qiL7?a)9o}cCfVwr{MEyEE)^y33E@`|TamvW9%h$bO zI!{PTq=8gX71}!6E^`M z-tbYso)_xZ;Ut@(XK$a-w|lZVEtHSc4VV--J^8ioz;cBnCxNaZpH9Rh3JhtYoW#IW ziTRq5hgP2Y^)!p0c-YX&msK&%0p|~lRW}7J;QVyx*XK*b=^DpLN6LcPF^_e3_tS;4 zv$h*f*WlWDu6zE#q`z0l7uU+~n_^lH{W^8}ffAiSCVz;5$jM;X0Hlf1mC$29=+{dz zEKi)X*;TMCf;@?DE~tH{b{?=L;OPT+znrzmNCvRgP~6-;BRh{-dW4;d8&enM!i=p`JuG zYp8gOJM50By~<70;%C!kIxjss010X;MF> z=&=vFjKKtse6IUA2WkwJ;-Dwr+w6G0#iZI7UY7wd{0vk%j1of4)kuK-~ zfcbL^HK6wbEe-iho_054f*EXYOj;Uszap$!+OCL8q#QyPpSF-d3JNTM?oPTSIUTxpp+;)5#5s*nEjcx=i%O*cf3N znbbO0o{gfU%ji}Px{TOJ;6+%O7dLqdi}yC%HWFaw1v*cPuv(-4Wn^X+^?NZxfJf&oJUfR##r&}F21GG6ziPFD=Hz-ILlu<k=FvmIU--!jH|msPW*WQ2x^FvATHj+Qv%XLV=@?^iJEUo z?CH=YVmhZGSIH;pzC$orw(gv=@bUry;XZNue%~I5%Zkl*ub;| za^{7boB8C=O_)fh95F3?ue73=Ph2POu{fzl029<`m`}oWEC0PG^;)?ZxjgaO1;BC& zIA0v|_%Ih?1%Ap*@&ky0Jf8w4su;0H!|4=|6RYf}6L7r(nUWt9kw5XT|LgzDFaGC# z_3!&yrxQP?@!p*JKHkSyF+LZ+5uXp=j3oItEaChQi^zplXp&EYH*X$|puHMR$I>8? zhC-&)sC(n+NH(FQYXIqvJ^9!K*gr7BUV|5nt|gxZ}*osZ=yOB+q7Y&KQI-n5FZ z+%b_S1nR z(_1H2nO%BB_C5LW^>AVh86hxnsJ6TLQiKZi?J-Pf@J&#Nh%r$cETG{}0FWZ~xuSg2 z3|ulaG_-Pe83rp$u!eM+ToYa(W={Cvm$Th>#2nmNmHO~}nINjDue&>|M#_{MwVT!q z;`-(^M>gOI6Z;T@C+(~tP1nrI;MM>&WOrhP0d1>;U9GNH&YrlndqIeTRb69 z?t4A->wD#M^X5rgcj#7~$4;kP^`9pqas#>^x;C`ic4*8ir77|_f7wQ}s&183p-7iq z-3m`_qE~*`;<5X@QhMdF>uqNvvnST|h0WSQTvPnIQ|<)5FWOp%{<&@C?Yz68`nu_k z+7J^f+~r2RW{B*^D6bSmQ%dActbLtDvA^t29ul;zq1-D{V&Yuain`XJhpua*-rXBH z`FO{k8unWSl<(3K$?MOpoiP6oowm(br8UR&I7%RotH2 z*!b?NVt`z=5R3)Ef>);b_~dk%gR+uG-TVz*25iPml1OFw1YJf^5#4c>>#~tp zlP<&LJ4jdRYj=|!74w0C6dOrB*U=C|a-Dv3r&;k+h_`f^3R;Or$)4nhqYQCuKm^F0 zE~CEgIQu%BF5}O+Ss5lvG4KRK0_7tJ+#H2zCRZB`+moVw!wj1QmW?RLk(@FSj|)i| zc3UB)NGGSus5hxbVYPRwNHZ&LAqsTm>k*@Pm9)~qG70K!CrP7AILw9|#`c5ol9q%J z1L~~+W=KAUDw-xnXp!4F@UH_ua(HZql z&B>I)zzm`;XL+Q{qy*av^o5(9kX&e`I;!*nRyO0z$E{SD>%PfbS0+bu2DS=acP918 z=^}d_32RRr!<-SO3>5O!DSL5(OI3F(Rg!8{{q+kFHIi-oIoi5&Qy|>9=qpXP5CrDe z=4l3-F-Z#o07F}M^4TL%q7?6Hq=-4gowXy z+Wj%MC*oe2Z@$40cie4j<%UB5Q|0N5H;-CnqCNgjl!o$B#wMWcih3^qXq=|IqTCA; zJ2TXKMZI%FValYxu9feLW+=Bx()h`;OoFs1?jJKYf}rh+yCtEf0^j zJDKbfn0Vhl=JO81b=;p1I#=Bl>r4M$;3>j-s=#{VJq^J;7Oxcoul4e* zXvO}0ZT80n_|BJ)_0Rm^UnqY-73;Vt>2Lr5fB;EEK~z8fzxu@^lL6kPGVkMkd{yIH z!nfhil|Qk3d;HbErF-59@Ss0uf+?VUgAJ5-q6optbf?SopQm(%&W`~R!J11*SZRit zH+7PsZfF3gcLfZ|+-AIMx4IyoX_IQR}@4`Blh9Mx({QfLn~j|oGKL&c_jUZR-Uq$p}7}GpabbYhH@sJamR^HVp2q6G5!g58K3sfsi5=<*(iU>;r+75lWAw9XFkqPj-hYD0UubKPfWs5|!^wK=|`IZl#J zth%v5GnmV}Qbf2eu9e@&wC^TNDR48;6e6U(40??!>Q8^{n+fwmy&->eMws1&^iIZp zmnF3jym6G7L+hsqj)2q@5HEhJuqWu0sAmV+@3v&hXaF{`Ub5@gfp*);W1pf|uVriq z$NZE>LM%auVvNGgMGBOv1flGxOIg6`e7I!t+I0p!XbV`md(Dr#Q6o`@KPM%wqy_j@0RUtkYSJSTXY2k=6T@fb)gONUe&L1(%DkVRkdL zQ^4g)?}zPfxLhO7Xa3c@CqqsF^TNMDDFElQkRW4*9D&OP-?e1>B~Z-wSNoIyr~l*c z`{H+g=Rf+jPA7iO;~fY2KHkSyF&13#QTXO>7sTJ(E6OwoO5~giP*6sLDA4IL^B}o& zSxm2NlXSu=LD#EK!Xy9P);C0$@E}=X<(PDt=<(|VezHqoaz`hQ*fJ{oFym%G)eVGz z1Uj4+V@2(8WT95Rp+1mp4vo8-juQv2gUz42JF)iW)2>TzzDar1=_e=g^mX*L(24b+ z%S7p$Bg$o}zaB@^>Vzm6MK?O7b|+TQfXPgGBH|i*YTS=g5~DN|H8tSF8At-H8x!{w z-K58v-_0wxj>=2tnIx5MXO+_vaSn_QbeXohK~XTo$rJmgjO|>Z5CqGIjFh>lsJ9J~{kX_8oeGmwgt{Y1Mbd)nli-^_ zx8WP(7ctpN{jo5yiYHGPH#(1YC)TjArJocEo+^gd)wJ^5z(@c-$&>^&k`_PjWJI-j16C_HrCnQSyPrV*H6q1N32#{z88;c$0Xyk(aLe{ zWA67%S<#QvV=Rov`#NKMI}eZdSny_@jD6gPG-7d`UuoXg`N`Oi_cT1bmxzq)h)Hvd zBgVSl#wK7XKd!R@Df9HRj#zx_H7EbXh|inh+iS5e|HK#c`~P?U-0#Kz>>s}37u$HR zxWAA0@l}lPh`$DZP5+bcon-nIk4a=FodnjWQLQ3=7G35O38^~arPF0PN)hwVw}*dAjJv6ll0Oy zOyTU>Xn}+Xi3v>$R25}mLm*~>1%>WAL@DoqDw`IU1e6`R6Qu|7=Eq06%p8GAqntF+ zmcHH#;>5~7%-t`YE~7gM5+S+qN$cEhR;|(8DCeA@d&T}tgD2^l<|IftL-&S|sq;>A zM4SRND9Q^lfx$OB)51nXYYp{YkpPlO5b*gA4Y}R%Y=%27P&0(gZ4zRToIptU)xJ(BBQ746Hfkoouwh#hnp zb-Ii!6Q9$Z$c3 z8MX(?YWB)xJ_vN%58k}cLHCpM!Du(2tvi$7rZ8>1_L4?_05OjVIyuRv_=YI*y{9{$ zQw-F*Yh|n;B)(WvIt@cnZe8oHE_Eq%A9d7XxfSFk!V2jl<+ZR{zcuLIQ1=FH$s4Sz zqZM7lyjEyyu;#>)RB@M z^Oz?^EgdOIdQ91ruWuzaXS+K>(oN#}oUbRPFF76w{`$&(gSsEF=Ov)-+%Vo>70W4L zpByo{D_UW7e!cZ|(jE1FSD+FZ8G<>^5)d_{VD|c~|NdY3EA=m~Tfjf_PyXUCU3whv z8u$0{K7NklTjO`)FP1+u{nGdy|C1!s-|^^38YB#IOs@{B5d+yZ+`Un>H*p3LZ!D$G z`_o!^8;Sg9Y2~{Pylc#xu`x6WafQY9;j{|;+?`mvUVS*Riaa>6QU?w^I}?@xz|Ai(?WN}`dSd6n5KXj4Z2sH&H+#7hEO*)M1$y5HS`l6aqgK8h`t|NOYBo+T#F_2VweNdDd$}We!>kBp9260I7E+rx4)f=A z-Tm5>lZa4$Vta+HJ723D-2jKiM)5SUO6!iK@s#;^Go%aAj1s8lj;D#&2OuWMPxGi; z3k2!Pxw!^ET_?v}8bT)VC8ls-9$j{Wraot*u{HJBQmJ4M# zwHnUX;IbPUA6-7UQ)}RJJzoN5cccY4&vO|1{_95(Id=(9z~w2D%A-J@hzO&Aq@i%cRZdV$l=8L*;;w?YJEn7B8ADNHZ;DPN9=#CVjS!h{eK znmU?tn%xaGpe+$t0$ST)a6_T<1jz#1?y%Pz;^{gFDq&8D3-#*F6u}e{Gb9+$0=3zt zkz7-Gq@R`u+Z)QqE2gK3uZSNdONeM|g?ZA!L|o7StY5q%W+2X#lcYH!pAxhx>W#)Y zA+U8fWx;-D^J7?;Fvldwr-)V>)-Ug_m1pvsvLMY7S_)7FNfmjSfTWmGL#``64iTFW zw;6L7Z1?stjjTfCdl4}}+zk}~tG+2BOc7QE<;yqMqq}Uu4B;}f%IOvExNuVya)b&c zM53Os2BEgTHnf);_1TyCtyaEOK-Aq&Bdhpx=gKR@+|knv=`s%_q0Djc)X@OU5$VE{ z04oM88S$KZ{~#m~8wr4@#uNwk(OM%y(skWd>Y-m(HaFA2%eyWe`v~7K#5s-F*c-$V zlk7!RghaNxfHIjlM?}Y2YHfpD1P~pX97zaO#5oO?JN$R^CG&S-NT*1HF96tq{D66k z8jx~6Fprho_l|jNyI@-Kp>JN|KuQv&8AoiZ3d~Hj;f<-;F^^m(B{sx5lInH$5Y<3Nq;UP8P0`tkZjsTAp zaJmL>lI`>8g(o5+XV>X#Q=D?d?Dx19jCBh9^}P5!HJ~P7IUOj?c`=+WLK02|rjrb$ zBtVY)>3Yb=<|SacIJUtAIY-Qk$0~y5ESP+qB{FGGNdV=w&S#ewso=B-F4r*b@#!SE zUV#)0ZO0lS{`CLhU;LcSC&9n_C-<*eF7eflca8h|cppE<@tx^!!3X*L_XfzXI1*n+ z7$PA^M6m)jcIUHsQ;3V?Ui}} zm}LR*bI{7;K`U?euzKTWKr5;q8;-s~0f5^1>JNJL-aPs!(Gd|O(1~?u<(-lx(AfXfU_5p7># ztum1kR!ie$;Sq4DKqU<%IFsA90d9SRHsfkfg0rob94eo zW5NMe-{z+YA-S{a(8{y9(26^2wg!R1s$%}Y1gG2z)-SEpfqK0@~?N-qj#;mbDsC^9?IC^H1T!1@BVu5bfXh- z$cgtP-ZwjZJ>mD<_3IB-^18d$x*KQ~;x73nqW(R25@)UPWS~=RS{tV$Ft}M31`$S! z_74k_sZxi=TZ|_lA$D!Gdeicu5w}K1S;kgMLtL+J?#kJ5p;~mH6vb>1SNcMmuhaLY zTz3k`I?M4mB@#O3l;4=2X26YgC>;?fT5-gnp8~bL4Q+Fe)otrd4Q*GSo6A?;UR#@u zN_iWxf+yBC9C*zWZ3zOiBk`u$mM4juQWI`~s-f;WP??NHf(u409Gd^fdB3(x*!s0Y zJl0t^URzuSRs839PrK$EBX*bL^w?}{J=QheOKv9RB+Q4{$NRWG++%Ijl=pkAl?iZ< z)m=>cDa_-#$2}Euy*jBbT~}`g?3*61=a~Dom9J4^>lKY zFE;v!&|{C2O<-N^hkyE~^xymP7Zv}#|MnNZw#md-Io>Po@8f;^9LBeXUy1ME{>|yT z)A#;;8Pn;gup6@RF9qo`q^7WHeI&OT6LxsT+wF(5D4t!E8-_WT!y<*PqcsjA>Ptj$Xv)wt~I<|+|nz_+}pq&FO2{1*7 zvEj{1p{r&?z8Bx=_X(STWx#bkji* z5n)2CYN%_Ymbfa9|0l|3wl5dtiB6~ho9~iq<(t_+O0udMQ23?;vH?|*C%Q(qyKO><0I8K^|EgH#fS3)-bi+@6;RRok&!dGzE$b3#bkr1juMn3n5FHYrE~SCH zYf5~m*5CF6*$7s!#jEKf8J?ZsvShT)b>RLv2st1u3uC`_Csuz=qOjWS&ZbafgYS}o zrYJx4?Bp35f!Verq=2R*@w9v4hOB%-&puJ7-tN?x+a3@7dSkV|t-kqCg$Z1*PTem+ zEM%9*bZn$V$`HC-V^4boi{dt_6BKF z1^l!oEeTp1tTpP_PZ4eB`>wivof`Lswl!#_oTskE_3MmPZ`If7=)ZgQ=2IQ|^)8RG zs@QK8d5LI+>n^Vq`4mxIN8Ma29|Oj`$0}>{O-ppg(&qYqZqoK!9r|^voaZ^96&>1m z##UG*zkNDIq>ZS?x>HZx_3Dp0?)~l>@}_hVy)`t~a09^h+K@6gO+S-1z$x z1F&|jyv8@{RCQ^mKW@s-t@V|J7;D^I++P**B4|4$H1`+9auSqT{PBk6B-kfnBH1HA ziOqiNJptT2ueYw9=ikKjrfht5iQ)aG$cgWz))ecj;xzZeHp9N!_y4;;uzumU{Fdcw zolbn!<6YzaKHkUAVtiZpRk+z5zdZg*EOP#pPvN6~G$4G_VGv{ki`Y<+yx~%v$DUmi zZm!!-pu1@|J4(o-dR(o1N-ICXHRfF_k56mmY06Z+*)t+Qu-op}`nhZ6`>L{Jm?#@v zKcQFe4Wci8Bpv9m&rBUY+8)2 z`3(_FY~6@OK>0}GTvo#-nd0QKsbdi9Wk z&skm!Q7E(dgnm8vX-4vEO9-x4pAl!$ao}3{I8nyK*mQ2~pN;A1h$TTr>@HPGXYVP1 z&rg|p_o~QUQ|>s$p=bAXPM1vfzh8U)Fb#cr2!i=(LhS2`0rQ0o)=-{ws>2< zd5WK*oqy1;JG!xcO22N@ub&@v`4M@EqdL6|?L5D0E+5iy4kAg4E_2vQC5=@=|Jae#HsfL zRKw*dU~y@TR^a*+a9U&-TwN~#^L+FOeDqPkJOQTm`tg_S_kZ_yPk-@u{H_`Q@*lW; zty7DyYP=`z@8f;^4aV=zzXw02e;MDCzYj0^rC)vxAN@~7@H+xx?8$P%G?Mn7n0KQi z6Z53>z%wS~;Yey;K|kD3sWI${eZN+}KF}-g-t3790TIm+ki&@;_F#6TfX7P6pXtQf z-B80<D3DL z?h;%QWA27p(X7zm$!RnO<$V!B2-NAvG$F>xY4bZmo*_9w1F&8j>gO^vDl}9es5dQ<4ufs;E-=2HTyqP!O8aZ^`n&5-9fD!f`)?PGF8etVk3Xf%W|$$%=_MmJ10 zt-8Ent%!kN_*NQX04^87CGD`=ikcTlq;42Z5hs_txP&9jG>Z~9FbeLBN|}ICeq_dq zxhJ$kMBYy!AnwE(h7)UhxwAs=$*vVP$igUPvg#&F-5{#A1A%9}H|ab(0+H*B=gh`s zGlVI*tcUk4EQzdlHx-Jfj5u*^Xl*3k!KEMRJPl-`_*}Z=1VFm@yf<5)x%m-Q#3`~V z)nla-rAIWUYRKn@q`#@piP;o08hW|&t^i|0*%R}8@#k$|uf!6EEF{h0XcTR9eYKfY6j#fuu;?#)ajHkJ;Yir+%WWBh~<)y1~QQeZAx8} z0xZ`w))^y{=jbL;d1kEW21d)7$!?$bb@t@=bYb$_r8mpfW4pxZ{M5De48J_ZA@d0V zI9>eO9(x|Kc~7U$h!vwi4Qx7fDI5%Ao&9}$zQ%`p44kgP`x%Itolo+xZo%SnZNPFC z%(HlGFzKHJ{t?9a8jur>=>Wm?iAjCe%U`d-r8WG#Uc5op)Nq;wr;{Kjpzih`{lpjA zKMBM0f8!tc#VL~k-V^ut@jkxd_;vV=_(}XY&hmsG(!UTt$T$41C7k}*N#_5WAf(T# zm;*qwgD%5FGaw;BT~?DMk7mm^bQw5Z25A@%?Y221{lSTKRO{7ar%|nMR;jyoflZIy z-BaTmx{QwI)kinfw{)3aG4FJlWn2q*teAU!-YdQx9ZAjq--s^Lj@S|qB)GçF) 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

>CcU0;iD!gt|s;P2>P#*g9??tAn*f8HRc-`}A5 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
I_n3QFy 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%0AQvb|u_;{joK_yZ3x(#h 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

t3~&L5>z>;+0^5P8(!!u69Xlq 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

hgUY%nU3dUo+xei(OE2K|DrY`;i*wcxdxn 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

DsCbm%AB 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 Date: Mon, 9 Mar 2026 14:49:41 -0600 Subject: [PATCH 13/32] fix path --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a480ce2..f383843 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # allium: a high-performance library for deterministic thermal radiative transfer *allium* is a software framework designed to facilitate the development and analysis of numerical algorithms relevant to radiation transport. Built on top of the MFEM finite element library, the package integrates a range of third-party dependencies, such as hypre, SUNDIALS, igraph, Lua, YAML, and GoogleTest, to provide an agile environment capable of rapid prototyping. The package is designed to scale well on massively parallel, CPU-based computer architectures through the utilization of MPI, OpenMP, and the high-performance implementations provided by the dependent packages. This allows testing novel algorithms at a computational scale not typically investigated in traditional academic literature. *allium* is comprised of a robust build system, core source code implementing both established and novel numerical methods, a suite of drivers that accept Lua-based input files and exercise the solution algorithms, and python scripts that facilitate the processing of the output from the drivers for publication in journal articles. In addition, a comprehensive set of tests ensures reliability and supports ongoing research and application development. Through its modular design and use of high-quality third party libraries, this package is uniquely suited to support academic research into the mathematical algorithms that underpin the simulation of radiation transport.

- +

# Project Overview From ad3f734839f20a12286215ec6d704c84375337c1 Mon Sep 17 00:00:00 2001 From: Samuel Olivier Date: Mon, 9 Mar 2026 14:52:35 -0600 Subject: [PATCH 14/32] fix size --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f383843..ff3c476 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,9 @@ # allium: a high-performance library for deterministic thermal radiative transfer *allium* is a software framework designed to facilitate the development and analysis of numerical algorithms relevant to radiation transport. Built on top of the MFEM finite element library, the package integrates a range of third-party dependencies, such as hypre, SUNDIALS, igraph, Lua, YAML, and GoogleTest, to provide an agile environment capable of rapid prototyping. The package is designed to scale well on massively parallel, CPU-based computer architectures through the utilization of MPI, OpenMP, and the high-performance implementations provided by the dependent packages. This allows testing novel algorithms at a computational scale not typically investigated in traditional academic literature. *allium* is comprised of a robust build system, core source code implementing both established and novel numerical methods, a suite of drivers that accept Lua-based input files and exercise the solution algorithms, and python scripts that facilitate the processing of the output from the drivers for publication in journal articles. In addition, a comprehensive set of tests ensures reliability and supports ongoing research and application development. Through its modular design and use of high-quality third party libraries, this package is uniquely suited to support academic research into the mathematical algorithms that underpin the simulation of radiation transport.

- + +
+ Material temperature of Marshak problem on a star-shaped domain

# Project Overview From 6066b7a7e47d162b9fd72e8a14462224fdbd644e Mon Sep 17 00:00:00 2001 From: Samuel Olivier Date: Mon, 9 Mar 2026 14:53:24 -0600 Subject: [PATCH 15/32] fix alignment --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ff3c476..dec2b58 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ # allium: a high-performance library for deterministic thermal radiative transfer *allium* is a software framework designed to facilitate the development and analysis of numerical algorithms relevant to radiation transport. Built on top of the MFEM finite element library, the package integrates a range of third-party dependencies, such as hypre, SUNDIALS, igraph, Lua, YAML, and GoogleTest, to provide an agile environment capable of rapid prototyping. The package is designed to scale well on massively parallel, CPU-based computer architectures through the utilization of MPI, OpenMP, and the high-performance implementations provided by the dependent packages. This allows testing novel algorithms at a computational scale not typically investigated in traditional academic literature. *allium* is comprised of a robust build system, core source code implementing both established and novel numerical methods, a suite of drivers that accept Lua-based input files and exercise the solution algorithms, and python scripts that facilitate the processing of the output from the drivers for publication in journal articles. In addition, a comprehensive set of tests ensures reliability and supports ongoing research and application development. Through its modular design and use of high-quality third party libraries, this package is uniquely suited to support academic research into the mathematical algorithms that underpin the simulation of radiation transport. -

+


Material temperature of Marshak problem on a star-shaped domain -

+
# Project Overview *allium* is a software framework providing From ec1f7a4054c55a9a25b31689e7bf689eba55997b Mon Sep 17 00:00:00 2001 From: Samuel Olivier Date: Mon, 9 Mar 2026 14:53:41 -0600 Subject: [PATCH 16/32] last one I swear --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dec2b58..c2fcb01 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # allium: a high-performance library for deterministic thermal radiative transfer *allium* is a software framework designed to facilitate the development and analysis of numerical algorithms relevant to radiation transport. Built on top of the MFEM finite element library, the package integrates a range of third-party dependencies, such as hypre, SUNDIALS, igraph, Lua, YAML, and GoogleTest, to provide an agile environment capable of rapid prototyping. The package is designed to scale well on massively parallel, CPU-based computer architectures through the utilization of MPI, OpenMP, and the high-performance implementations provided by the dependent packages. This allows testing novel algorithms at a computational scale not typically investigated in traditional academic literature. *allium* is comprised of a robust build system, core source code implementing both established and novel numerical methods, a suite of drivers that accept Lua-based input files and exercise the solution algorithms, and python scripts that facilitate the processing of the output from the drivers for publication in journal articles. In addition, a comprehensive set of tests ensures reliability and supports ongoing research and application development. Through its modular design and use of high-quality third party libraries, this package is uniquely suited to support academic research into the mathematical algorithms that underpin the simulation of radiation transport.
- +
Material temperature of Marshak problem on a star-shaped domain
From c39ab211b2f3f9c4d4b92a040b57381138d5562d Mon Sep 17 00:00:00 2001 From: Samuel Olivier Date: Mon, 9 Mar 2026 14:57:15 -0600 Subject: [PATCH 17/32] typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c2fcb01..fbf27c0 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # allium: a high-performance library for deterministic thermal radiative transfer -*allium* is a software framework designed to facilitate the development and analysis of numerical algorithms relevant to radiation transport. Built on top of the MFEM finite element library, the package integrates a range of third-party dependencies, such as hypre, SUNDIALS, igraph, Lua, YAML, and GoogleTest, to provide an agile environment capable of rapid prototyping. The package is designed to scale well on massively parallel, CPU-based computer architectures through the utilization of MPI, OpenMP, and the high-performance implementations provided by the dependent packages. This allows testing novel algorithms at a computational scale not typically investigated in traditional academic literature. *allium* is comprised of a robust build system, core source code implementing both established and novel numerical methods, a suite of drivers that accept Lua-based input files and exercise the solution algorithms, and python scripts that facilitate the processing of the output from the drivers for publication in journal articles. In addition, a comprehensive set of tests ensures reliability and supports ongoing research and application development. Through its modular design and use of high-quality third party libraries, this package is uniquely suited to support academic research into the mathematical algorithms that underpin the simulation of radiation transport. +*allium* is a software framework designed to facilitate the development and analysis of numerical algorithms relevant to radiation transport. Built on top of the MFEM finite element library, this package integrates a range of third-party dependencies, such as hypre, SUNDIALS, igraph, Lua, YAML, and GoogleTest, to provide an agile environment capable of rapid prototyping. The package is designed to scale well on massively parallel, CPU-based computer architectures through the utilization of MPI, OpenMP, and the high-performance implementations provided by the dependent packages. This allows testing novel algorithms at a computational scale not typically investigated in traditional academic literature. *allium* is comprised of a robust build system, core source code implementing both established and novel numerical methods, a suite of drivers that accept Lua-based input files and exercise the solution algorithms, and python scripts that facilitate the processing of the output from the drivers for publication in journal articles. In addition, a comprehensive set of tests ensures reliability and supports ongoing research and application development. Through its modular design and use of high-quality third party libraries, this package is uniquely suited to support academic research into the mathematical algorithms that underpin the simulation of radiation transport.

From d2a8715bf55225cb158ee1373dc8df6078e319f6 Mon Sep 17 00:00:00 2001 From: Steven Walton Date: Tue, 10 Mar 2026 21:16:27 -0600 Subject: [PATCH 18/32] added linux and mac builds. pin current tpls in all builds with SHAs. --- scripts/darwin/build.sh | 25 +++-- scripts/linux/build.sh | 201 ++++++++++++++++++++++++++++++++++++++ scripts/mac/build.sh | 207 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 425 insertions(+), 8 deletions(-) create mode 100644 scripts/linux/build.sh create mode 100644 scripts/mac/build.sh diff --git a/scripts/darwin/build.sh b/scripts/darwin/build.sh index 601d421..1618407 100644 --- a/scripts/darwin/build.sh +++ b/scripts/darwin/build.sh @@ -7,7 +7,7 @@ # a node with `salloc` first # number of processors to use with make -nproc=36 +nproc=1 ROOT=$(pwd) # where to download and build all third party libraries # this location can be external to allium @@ -18,7 +18,7 @@ mkdir -p ${TPL} # this compiler verified to work on darwin # NOTE: the openmpi module must be loaded to run the code as well! -module load openmpi/4.1.5-gcc_12.2.0 cmake/3.26.3 +#module load openmpi/4.1.5-gcc_12.2.0 cmake/3.26.3 # --- clone dependencies into project source --- cd ${TPL} @@ -35,9 +35,22 @@ git clone https://github.com/google/googletest.git git clone https://github.com/LLNL/sundials.git git clone https://github.com/Nek5000/gslib +# pin all repos to specific SHAs for reproducibility +git -C hypre checkout 7e7fc8ce09153c60ae538a52a5f870f93b9608ca +git -C sundials checkout aaeab8d907c6b7dfca86041401fdc1448f35f826 +git -C igraph checkout beebfcdcd707f50a31cf8eb3568cf09f8b7baf54 +git -C mfem checkout 171eeb403f8d8deadfbd64d547de43c8705e616c +git -C superlu_dist checkout 4ae28e6f6d38f4f1fd3da88bd040f756d1275844 +git -C libunwind checkout c19e28b0e8682155482d937131fd5b1553044a66 +git -C mdspan checkout 80fc772eb812b45097c28fc0a46d8ff006138d69 +git -C yaml-cpp checkout 8bcadb1509e63248e79c6dc09928f95cfae02b74 +git -C sol2 checkout c1f95a773c6f8f4fde8ca3efe872e7286afe4444 +git -C googletest checkout 94be250af7e14c58dcbf476972d2d7141551ff67 +git -C gslib checkout 95acf5b42301d6cb48fda88d662f1d784b863089 +git -C tpls checkout 486dd7171e67629fc85393479f710e821e0e8b77 + # --- build hypre --- cd ${TPL}/hypre/ -git checkout v2.31.0 cd src/cmbuild cmake .. -DCMAKE_BUILD_TYPE=Release # installs into hypre/src/hypre/lib64 @@ -71,7 +84,6 @@ make install -j${nproc} # --- sundials --- cd ${TPL}/sundials -git checkout v6.7.0 mkdir build install cd build cmake .. \ @@ -86,7 +98,6 @@ make CC=mpicc # --- build mfem --- cd ${TPL}/mfem -git checkout swj/selective-ldg-integration mkdir build install cd build cmake .. \ @@ -113,8 +124,6 @@ make examples -j${nproc} # --- build igraph --- cd ${TPL}/igraph -git fetch --tags -git checkout 0.10.16 mkdir build install cd build cmake .. \ @@ -182,4 +191,4 @@ export OMP_NUM_THREADS=1 # run tests in parallel # separating serial vs parallel to not # over prescribe threads -ctest -j ${nproc} -L serial && ctest -j 4 -L parallel +ctest -j ${nproc} -L serial && ctest -j 4 -L parallel \ No newline at end of file diff --git a/scripts/linux/build.sh b/scripts/linux/build.sh new file mode 100644 index 0000000..bf0adec --- /dev/null +++ b/scripts/linux/build.sh @@ -0,0 +1,201 @@ +#!/bin/bash + +# script to download and install all third party libraries (TPLs) +# downloads TPLs into the directory specified by TPL variable +# designed to work on Ubuntu Linux +# NOTE: compilation is done in parallel so allocate +# a node with `salloc` first + +# number of processors to use with make +nproc=1 +ROOT=$(pwd) +# where to download and build all third party libraries +# this location can be external to allium +TPL=${ROOT}/tpl + +# --- install system prerequisites (Ubuntu) --- +# --- install system prerequisites (Ubuntu) --- +sudo apt-get update +sudo apt-get install -y \ + build-essential cmake git \ + mpich libmpich-dev \ + autoconf automake libtool \ + liblapack-dev libblas-dev \ + zlib1g-dev \ + lua5.3 liblua5.3-dev + +# architecture string used in ParMETIS build output paths +ARCH=$(uname -m) + +# create directory for tpls +mkdir -p ${TPL} + +# --- clone dependencies into project source --- +cd ${TPL} + +git clone https://github.com/mfem/mfem.git +git clone https://github.com/hypre-space/hypre.git +git clone https://github.com/mfem/tpls.git +git clone https://github.com/libunwind/libunwind.git +git clone https://github.com/xiaoyeli/superlu_dist.git +git clone https://github.com/igraph/igraph.git +git clone https://github.com/kokkos/mdspan.git +git clone https://github.com/jbeder/yaml-cpp.git +git clone https://github.com/ThePhD/sol2.git +git clone https://github.com/google/googletest.git +git clone https://github.com/LLNL/sundials.git +git clone https://github.com/Nek5000/gslib + +git -C hypre checkout 7e7fc8ce09153c60ae538a52a5f870f93b9608ca +git -C sundials checkout aaeab8d907c6b7dfca86041401fdc1448f35f826 +git -C igraph checkout beebfcdcd707f50a31cf8eb3568cf09f8b7baf54 +git -C mfem checkout 171eeb403f8d8deadfbd64d547de43c8705e616c +git -C superlu_dist checkout 4ae28e6f6d38f4f1fd3da88bd040f756d1275844 +git -C libunwind checkout c19e28b0e8682155482d937131fd5b1553044a66 +git -C mdspan checkout 80fc772eb812b45097c28fc0a46d8ff006138d69 +git -C yaml-cpp checkout 8bcadb1509e63248e79c6dc09928f95cfae02b74 +git -C sol2 checkout c1f95a773c6f8f4fde8ca3efe872e7286afe4444 +git -C googletest checkout 94be250af7e14c58dcbf476972d2d7141551ff67 +git -C gslib checkout 95acf5b42301d6cb48fda88d662f1d784b863089 +git -C tpls checkout 486dd7171e67629fc85393479f710e821e0e8b77 + +# --- build hypre --- +cd ${TPL}/hypre/ +cd src/cmbuild +cmake .. -DCMAKE_BUILD_TYPE=Release +# installs into hypre/src/hypre/lib +make install -j${nproc} + +# --- build parmetis --- +cd ${TPL} +# unpack from mfem tpl repo +tar -xvf tpls/parmetis-4.0.3.tar.gz +PMROOT=${TPL}/parmetis-4.0.3/ +cd ${PMROOT} +make config prefix=install +make install -j${nproc} + +# --- build libunwind --- +cd ${TPL}/libunwind +autoreconf -i +./configure --prefix=$(pwd)/install +make install -j${nproc} + +# --- build superlu --- +cd ${TPL}/superlu_dist +mkdir build install +cd build +cmake .. \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=../install \ + -DTPL_PARMETIS_INCLUDE_DIRS="${PMROOT}/include;${PMROOT}/metis/include/" \ + -DTPL_PARMETIS_LIBRARIES="${PMROOT}/build/Linux-${ARCH}/libparmetis/libparmetis.a;${PMROOT}/build/Linux-${ARCH}/libmetis/libmetis.a" +make install -j${nproc} + +# --- sundials --- +cd ${TPL}/sundials +mkdir build install +cd build +cmake .. \ + -DENABLE_MPI=ON \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=../install +make install -j${nproc} + +# --- gslib --- +cd ${TPL}/gslib +make CC=mpicc + +# --- build mfem --- +cd ${TPL}/mfem +mkdir build install +cd build +cmake .. \ + -DMFEM_USE_MPI=TRUE \ + -DHYPRE_DIR=${TPL}/hypre/src/hypre/ \ + -DMETIS_DIR=${PMROOT}/build/Linux-${ARCH}/libmetis \ + -DMETIS_INCLUDE_DIR=${PMROOT}/metis/include \ + -DMFEM_USE_LIBUNWIND=TRUE \ + -DLIBUNWIND_DIR=${TPL}/libunwind/install \ + -DMFEM_USE_SUPERLU=TRUE \ + -DSuperLUDist_DIR=${TPL}/superlu_dist/install \ + -DParMETIS_DIR=${PMROOT}/build/Linux-${ARCH}/libparmetis/ \ + -DParMETIS_INCLUDE_DIR=${PMROOT}/include/ \ + -DMFEM_USE_SUNDIALS=TRUE \ + -DSUNDIALS_DIR=${TPL}/sundials/install/ \ + -DMFEM_USE_GSLIB=ON \ + -DGSLIB_DIR=${TPL}/gslib/build \ + -DMFEM_USE_OPENMP=TRUE \ + -DCMAKE_INSTALL_PREFIX=../install \ + -DCMAKE_BUILD_TYPE=Release +make install -j${nproc} +# test linker by building examples +make examples -j${nproc} + +# --- build igraph --- +cd ${TPL}/igraph +mkdir build install +cd build +cmake .. \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=../install +make install -j${nproc} + +# --- mdspan --- +cd ${TPL}/mdspan +mkdir build install +cd build +cmake .. \ + -DCMAKE_INSTALL_PREFIX=../install +make install + +# --- yaml --- +cd ${TPL}/yaml-cpp +mkdir build install +cd build +cmake .. \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=../install +make install + +# --- sol2 --- +cd ${TPL}/sol2 +mkdir build install +cd build +cmake .. \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=../install \ + -DSOL2_BUILD_LUA=FALSE \ + -DSOL2_LUA_VERSION=5.3 +make install + +# --- googletest --- +cd ${TPL}/googletest +mkdir build install +cd build +cmake .. \ + -DCMAKE_INSTALL_PREFIX=../install \ + -DCMAKE_BUILD_TYPE=Release +make install + +# --- finally build allium --- +cd ${ROOT} +mkdir build +cd build +cmake .. \ + -Dmfem_DIR=${TPL}/mfem/install/lib/cmake/mfem \ + -Digraph_DIR=${TPL}/igraph/install/lib/cmake/igraph \ + -Dmdspan_DIR=${TPL}/mdspan/install/lib/cmake/mdspan \ + -Dyaml-cpp_DIR=${TPL}/yaml-cpp/install/lib/cmake/yaml-cpp \ + -Dsol2_DIR=${TPL}/sol2/install/share/cmake/sol2 \ + -DGTest_ROOT=${TPL}/googletest/install/lib/cmake/GTest \ + -DENABLE_UNIT_TESTS=TRUE \ + -DENABLE_CHIVE_TESTS=TRUE \ + -DCMAKE_BUILD_TYPE=Release +make -j${nproc} +# -- run tests -- +# explicitly set threads so SuperLU doesn't slow to a crawl +export OMP_NUM_THREADS=1 +# run tests in parallel +# separating serial vs parallel to not over-prescribe threads +ctest -j ${nproc} -L serial && ctest -j 4 -L parallel \ No newline at end of file diff --git a/scripts/mac/build.sh b/scripts/mac/build.sh new file mode 100644 index 0000000..a40c828 --- /dev/null +++ b/scripts/mac/build.sh @@ -0,0 +1,207 @@ +#!/bin/bash + +# script to download and install all third party libraries (TPLs) +# downloads TPLs into the directory specified by TPL variable +# designed to work on Apple Silicon (M1/M2) macOS with clang +# NOTE: requires Homebrew to be installed + +set -e + +# number of processors to use with make +NPROC=${NPROC:-$(sysctl -n hw.logicalcpu)} +ROOT=$(pwd) +# where to download and build all third party libraries +# this location can be external to allium +TPL=${ROOT}/tpl + +# --- install system prerequisites (Homebrew) --- +brew install cmake git open-mpi autoconf automake libtool lua@5.3 + +# architecture and OS strings used in ParMETIS build output paths +ARCH=$(uname -m) # arm64 on M1 +OS=$(uname -s) # Darwin + +# lua hints for keg-only homebrew formula +LUA_PREFIX=$(brew --prefix lua@5.3) + +# create directory for tpls +mkdir -p ${TPL} + +# --- clone dependencies into project source --- +cd ${TPL} +git clone https://github.com/mfem/mfem.git +git clone https://github.com/hypre-space/hypre.git +git clone https://github.com/mfem/tpls.git +git clone https://github.com/libunwind/libunwind.git +git clone https://github.com/xiaoyeli/superlu_dist.git +git clone https://github.com/igraph/igraph.git +git clone https://github.com/kokkos/mdspan.git +git clone https://github.com/jbeder/yaml-cpp.git +git clone https://github.com/ThePhD/sol2.git +git clone https://github.com/google/googletest.git +git clone https://github.com/LLNL/sundials.git +git clone https://github.com/Nek5000/gslib + +# pin all repos to specific SHAs for reproducibility +git -C hypre checkout 7e7fc8ce09153c60ae538a52a5f870f93b9608ca +git -C sundials checkout aaeab8d907c6b7dfca86041401fdc1448f35f826 +git -C igraph checkout beebfcdcd707f50a31cf8eb3568cf09f8b7baf54 +git -C mfem checkout 171eeb403f8d8deadfbd64d547de43c8705e616c +git -C superlu_dist checkout 4ae28e6f6d38f4f1fd3da88bd040f756d1275844 +git -C libunwind checkout c19e28b0e8682155482d937131fd5b1553044a66 +git -C mdspan checkout 80fc772eb812b45097c28fc0a46d8ff006138d69 +git -C yaml-cpp checkout 8bcadb1509e63248e79c6dc09928f95cfae02b74 +git -C sol2 checkout c1f95a773c6f8f4fde8ca3efe872e7286afe4444 +git -C googletest checkout 94be250af7e14c58dcbf476972d2d7141551ff67 +git -C gslib checkout 95acf5b42301d6cb48fda88d662f1d784b863089 +git -C tpls checkout 486dd7171e67629fc85393479f710e821e0e8b77 + +# --- build hypre --- +cd ${TPL}/hypre/ +cd src/cmbuild +cmake .. \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_C_COMPILER=clang \ + -DCMAKE_CXX_COMPILER=clang++ +make install -j${NPROC} + +# --- build parmetis --- +cd ${TPL} +tar -xvf tpls/parmetis-4.0.3.tar.gz +PMROOT=${TPL}/parmetis-4.0.3 +PMROOT_BUILD=${PMROOT}/build/${OS}-${ARCH} +cd ${PMROOT} +make config prefix=install cc=clang +make install -j${NPROC} + +# --- build libunwind --- +# skipped on macOS -- system libunwind is used instead +# mfem built with MFEM_USE_LIBUNWIND=FALSE below + +# --- build superlu --- +cd ${TPL}/superlu_dist +mkdir build install +cd build +cmake .. \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=../install \ + -DCMAKE_C_COMPILER=clang \ + -DCMAKE_CXX_COMPILER=clang++ \ + -DTPL_PARMETIS_INCLUDE_DIRS="${PMROOT}/include;${PMROOT}/metis/include/" \ + -DTPL_PARMETIS_LIBRARIES="${PMROOT_BUILD}/libparmetis/libparmetis.a;${PMROOT_BUILD}/libmetis/libmetis.a" +make install -j${NPROC} + +# --- sundials --- +cd ${TPL}/sundials +mkdir build install +cd build +cmake .. \ + -DENABLE_MPI=ON \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=../install \ + -DCMAKE_C_COMPILER=mpicc \ + -DCMAKE_CXX_COMPILER=mpicxx +make install -j${NPROC} + +# --- gslib --- +cd ${TPL}/gslib +make CC=mpicc + +# --- build mfem --- +cd ${TPL}/mfem +mkdir build install +cd build +cmake .. \ + -DCMAKE_C_COMPILER=mpicc \ + -DCMAKE_CXX_COMPILER=mpicxx \ + -DMFEM_USE_MPI=TRUE \ + -DHYPRE_DIR=${TPL}/hypre/src/hypre/ \ + -DMETIS_DIR=${PMROOT_BUILD}/libmetis \ + -DMETIS_INCLUDE_DIR=${PMROOT}/metis/include \ + -DMFEM_USE_LIBUNWIND=FALSE \ + -DMFEM_USE_SUPERLU=TRUE \ + -DSuperLUDist_DIR=${TPL}/superlu_dist/install \ + -DParMETIS_DIR=${PMROOT_BUILD}/libparmetis/ \ + -DParMETIS_INCLUDE_DIR=${PMROOT}/include/ \ + -DMFEM_USE_SUNDIALS=TRUE \ + -DSUNDIALS_DIR=${TPL}/sundials/install/ \ + -DMFEM_USE_GSLIB=ON \ + -DGSLIB_DIR=${TPL}/gslib/build \ + -DCMAKE_INSTALL_PREFIX=../install \ + -DCMAKE_BUILD_TYPE=Release +make install -j${NPROC} +make examples -j${NPROC} + +# --- build igraph --- +cd ${TPL}/igraph +mkdir build install +cd build +cmake .. \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=../install \ + -DCMAKE_C_COMPILER=clang \ + -DCMAKE_CXX_COMPILER=clang++ +make install -j${NPROC} + +# --- mdspan --- +cd ${TPL}/mdspan +mkdir build install +cd build +cmake .. \ + -DCMAKE_INSTALL_PREFIX=../install +make install + +# --- yaml --- +cd ${TPL}/yaml-cpp +mkdir build install +cd build +cmake .. \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=../install \ + -DCMAKE_CXX_COMPILER=clang++ +make install + +# --- sol2 --- +cd ${TPL}/sol2 +mkdir build install +cd build +cmake .. \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=../install \ + -DSOL2_BUILD_LUA=FALSE \ + -DSOL2_LUA_VERSION=5.3 \ + -DLUA_INCLUDE_DIR=${LUA_PREFIX}/include/lua5.3 \ + -DLUA_LIBRARIES=${LUA_PREFIX}/lib/liblua5.3.dylib +make install + +# --- googletest --- +cd ${TPL}/googletest +mkdir build install +cd build +cmake .. \ + -DCMAKE_INSTALL_PREFIX=../install \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_COMPILER=clang++ +make install + +# --- finally build allium --- +cd ${ROOT} +mkdir build +cd build +cmake .. \ + -DCMAKE_C_COMPILER=mpicc \ + -DCMAKE_CXX_COMPILER=mpicxx \ + -Dmfem_DIR=${TPL}/mfem/install/lib/cmake/mfem \ + -Digraph_DIR=${TPL}/igraph/install/lib/cmake/igraph \ + -Dmdspan_DIR=${TPL}/mdspan/install/lib/cmake/mdspan \ + -Dyaml-cpp_DIR=${TPL}/yaml-cpp/install/lib/cmake/yaml-cpp \ + -Dsol2_DIR=${TPL}/sol2/install/share/cmake/sol2 \ + -DGTest_ROOT=${TPL}/googletest/install/lib/cmake/GTest \ + -DENABLE_UNIT_TESTS=TRUE \ + -DENABLE_CHIVE_TESTS=TRUE \ + -DCMAKE_BUILD_TYPE=Release +make -j${NPROC} + +# -- run tests -- +export OMP_NUM_THREADS=1 +ctest -j ${NPROC} -L serial && ctest -j 4 -L parallel \ No newline at end of file From 8ef9a66c1b0ec6d0a28d012f3d355e023c3a3863 Mon Sep 17 00:00:00 2001 From: Steven Walton Date: Tue, 10 Mar 2026 22:25:29 -0600 Subject: [PATCH 19/32] mac build not working. removed. --- scripts/mac/build.sh | 207 ------------------------------------------- 1 file changed, 207 deletions(-) delete mode 100644 scripts/mac/build.sh diff --git a/scripts/mac/build.sh b/scripts/mac/build.sh deleted file mode 100644 index a40c828..0000000 --- a/scripts/mac/build.sh +++ /dev/null @@ -1,207 +0,0 @@ -#!/bin/bash - -# script to download and install all third party libraries (TPLs) -# downloads TPLs into the directory specified by TPL variable -# designed to work on Apple Silicon (M1/M2) macOS with clang -# NOTE: requires Homebrew to be installed - -set -e - -# number of processors to use with make -NPROC=${NPROC:-$(sysctl -n hw.logicalcpu)} -ROOT=$(pwd) -# where to download and build all third party libraries -# this location can be external to allium -TPL=${ROOT}/tpl - -# --- install system prerequisites (Homebrew) --- -brew install cmake git open-mpi autoconf automake libtool lua@5.3 - -# architecture and OS strings used in ParMETIS build output paths -ARCH=$(uname -m) # arm64 on M1 -OS=$(uname -s) # Darwin - -# lua hints for keg-only homebrew formula -LUA_PREFIX=$(brew --prefix lua@5.3) - -# create directory for tpls -mkdir -p ${TPL} - -# --- clone dependencies into project source --- -cd ${TPL} -git clone https://github.com/mfem/mfem.git -git clone https://github.com/hypre-space/hypre.git -git clone https://github.com/mfem/tpls.git -git clone https://github.com/libunwind/libunwind.git -git clone https://github.com/xiaoyeli/superlu_dist.git -git clone https://github.com/igraph/igraph.git -git clone https://github.com/kokkos/mdspan.git -git clone https://github.com/jbeder/yaml-cpp.git -git clone https://github.com/ThePhD/sol2.git -git clone https://github.com/google/googletest.git -git clone https://github.com/LLNL/sundials.git -git clone https://github.com/Nek5000/gslib - -# pin all repos to specific SHAs for reproducibility -git -C hypre checkout 7e7fc8ce09153c60ae538a52a5f870f93b9608ca -git -C sundials checkout aaeab8d907c6b7dfca86041401fdc1448f35f826 -git -C igraph checkout beebfcdcd707f50a31cf8eb3568cf09f8b7baf54 -git -C mfem checkout 171eeb403f8d8deadfbd64d547de43c8705e616c -git -C superlu_dist checkout 4ae28e6f6d38f4f1fd3da88bd040f756d1275844 -git -C libunwind checkout c19e28b0e8682155482d937131fd5b1553044a66 -git -C mdspan checkout 80fc772eb812b45097c28fc0a46d8ff006138d69 -git -C yaml-cpp checkout 8bcadb1509e63248e79c6dc09928f95cfae02b74 -git -C sol2 checkout c1f95a773c6f8f4fde8ca3efe872e7286afe4444 -git -C googletest checkout 94be250af7e14c58dcbf476972d2d7141551ff67 -git -C gslib checkout 95acf5b42301d6cb48fda88d662f1d784b863089 -git -C tpls checkout 486dd7171e67629fc85393479f710e821e0e8b77 - -# --- build hypre --- -cd ${TPL}/hypre/ -cd src/cmbuild -cmake .. \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_C_COMPILER=clang \ - -DCMAKE_CXX_COMPILER=clang++ -make install -j${NPROC} - -# --- build parmetis --- -cd ${TPL} -tar -xvf tpls/parmetis-4.0.3.tar.gz -PMROOT=${TPL}/parmetis-4.0.3 -PMROOT_BUILD=${PMROOT}/build/${OS}-${ARCH} -cd ${PMROOT} -make config prefix=install cc=clang -make install -j${NPROC} - -# --- build libunwind --- -# skipped on macOS -- system libunwind is used instead -# mfem built with MFEM_USE_LIBUNWIND=FALSE below - -# --- build superlu --- -cd ${TPL}/superlu_dist -mkdir build install -cd build -cmake .. \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=../install \ - -DCMAKE_C_COMPILER=clang \ - -DCMAKE_CXX_COMPILER=clang++ \ - -DTPL_PARMETIS_INCLUDE_DIRS="${PMROOT}/include;${PMROOT}/metis/include/" \ - -DTPL_PARMETIS_LIBRARIES="${PMROOT_BUILD}/libparmetis/libparmetis.a;${PMROOT_BUILD}/libmetis/libmetis.a" -make install -j${NPROC} - -# --- sundials --- -cd ${TPL}/sundials -mkdir build install -cd build -cmake .. \ - -DENABLE_MPI=ON \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=../install \ - -DCMAKE_C_COMPILER=mpicc \ - -DCMAKE_CXX_COMPILER=mpicxx -make install -j${NPROC} - -# --- gslib --- -cd ${TPL}/gslib -make CC=mpicc - -# --- build mfem --- -cd ${TPL}/mfem -mkdir build install -cd build -cmake .. \ - -DCMAKE_C_COMPILER=mpicc \ - -DCMAKE_CXX_COMPILER=mpicxx \ - -DMFEM_USE_MPI=TRUE \ - -DHYPRE_DIR=${TPL}/hypre/src/hypre/ \ - -DMETIS_DIR=${PMROOT_BUILD}/libmetis \ - -DMETIS_INCLUDE_DIR=${PMROOT}/metis/include \ - -DMFEM_USE_LIBUNWIND=FALSE \ - -DMFEM_USE_SUPERLU=TRUE \ - -DSuperLUDist_DIR=${TPL}/superlu_dist/install \ - -DParMETIS_DIR=${PMROOT_BUILD}/libparmetis/ \ - -DParMETIS_INCLUDE_DIR=${PMROOT}/include/ \ - -DMFEM_USE_SUNDIALS=TRUE \ - -DSUNDIALS_DIR=${TPL}/sundials/install/ \ - -DMFEM_USE_GSLIB=ON \ - -DGSLIB_DIR=${TPL}/gslib/build \ - -DCMAKE_INSTALL_PREFIX=../install \ - -DCMAKE_BUILD_TYPE=Release -make install -j${NPROC} -make examples -j${NPROC} - -# --- build igraph --- -cd ${TPL}/igraph -mkdir build install -cd build -cmake .. \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=../install \ - -DCMAKE_C_COMPILER=clang \ - -DCMAKE_CXX_COMPILER=clang++ -make install -j${NPROC} - -# --- mdspan --- -cd ${TPL}/mdspan -mkdir build install -cd build -cmake .. \ - -DCMAKE_INSTALL_PREFIX=../install -make install - -# --- yaml --- -cd ${TPL}/yaml-cpp -mkdir build install -cd build -cmake .. \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=../install \ - -DCMAKE_CXX_COMPILER=clang++ -make install - -# --- sol2 --- -cd ${TPL}/sol2 -mkdir build install -cd build -cmake .. \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=../install \ - -DSOL2_BUILD_LUA=FALSE \ - -DSOL2_LUA_VERSION=5.3 \ - -DLUA_INCLUDE_DIR=${LUA_PREFIX}/include/lua5.3 \ - -DLUA_LIBRARIES=${LUA_PREFIX}/lib/liblua5.3.dylib -make install - -# --- googletest --- -cd ${TPL}/googletest -mkdir build install -cd build -cmake .. \ - -DCMAKE_INSTALL_PREFIX=../install \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_CXX_COMPILER=clang++ -make install - -# --- finally build allium --- -cd ${ROOT} -mkdir build -cd build -cmake .. \ - -DCMAKE_C_COMPILER=mpicc \ - -DCMAKE_CXX_COMPILER=mpicxx \ - -Dmfem_DIR=${TPL}/mfem/install/lib/cmake/mfem \ - -Digraph_DIR=${TPL}/igraph/install/lib/cmake/igraph \ - -Dmdspan_DIR=${TPL}/mdspan/install/lib/cmake/mdspan \ - -Dyaml-cpp_DIR=${TPL}/yaml-cpp/install/lib/cmake/yaml-cpp \ - -Dsol2_DIR=${TPL}/sol2/install/share/cmake/sol2 \ - -DGTest_ROOT=${TPL}/googletest/install/lib/cmake/GTest \ - -DENABLE_UNIT_TESTS=TRUE \ - -DENABLE_CHIVE_TESTS=TRUE \ - -DCMAKE_BUILD_TYPE=Release -make -j${NPROC} - -# -- run tests -- -export OMP_NUM_THREADS=1 -ctest -j ${NPROC} -L serial && ctest -j 4 -L parallel \ No newline at end of file From a421a229502f783d0d8566de4195e9b09718783f Mon Sep 17 00:00:00 2001 From: Steven Walton <110946984+steven-t-walton@users.noreply.github.com> Date: Tue, 10 Mar 2026 22:49:30 -0600 Subject: [PATCH 20/32] Update build.sh --- scripts/darwin/build.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/darwin/build.sh b/scripts/darwin/build.sh index 1618407..7a27186 100644 --- a/scripts/darwin/build.sh +++ b/scripts/darwin/build.sh @@ -7,7 +7,7 @@ # a node with `salloc` first # number of processors to use with make -nproc=1 +nproc=36 ROOT=$(pwd) # where to download and build all third party libraries # this location can be external to allium @@ -191,4 +191,4 @@ export OMP_NUM_THREADS=1 # run tests in parallel # separating serial vs parallel to not # over prescribe threads -ctest -j ${nproc} -L serial && ctest -j 4 -L parallel \ No newline at end of file +ctest -j ${nproc} -L serial && ctest -j 4 -L parallel From a1bd65fbe85b10243fcb1e51a5cece6e44a8772e Mon Sep 17 00:00:00 2001 From: Steven Walton Date: Wed, 11 Mar 2026 22:30:03 -0600 Subject: [PATCH 21/32] mac build works again.. --- scripts/mac/build.sh | 183 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 183 insertions(+) create mode 100644 scripts/mac/build.sh diff --git a/scripts/mac/build.sh b/scripts/mac/build.sh new file mode 100644 index 0000000..3f1338b --- /dev/null +++ b/scripts/mac/build.sh @@ -0,0 +1,183 @@ +#!/bin/bash + +# build all tpls + allium on M1/M2 mac. The script was tested on a system with strict permissions in place, +# and so not all make & make install commands have -j$(nproc) to speed things up. If your system allows it, +# you can place -j$(nproc) when "make" or "make install needs to be called." + +# --- Configuration --- +nproc=$(sysctl -n hw.logicalcpu) +ROOT=$(pwd) +TPL=${ROOT}/tpl +ARCH=$(uname -m) +OS=$(uname -s) + +# --- 1. System Prerequisites (macOS/Homebrew) --- +brew install cmake git libomp autoconf automake libtool lua@5.3 +export OMP_PREFIX=$(brew --prefix libomp) +export LUA_PREFIX=$(brew --prefix lua@5.3) +export OMPI_CC=gcc-13 +export OMPI_CXX=g++-13 +export OMPI_FC=gfortran-13 + +export CC=mpicc +export CXX=mpicxx +export FC=mpifort + +mkdir -p "${TPL}" + +# --- 2. Clone & Checkout --- +cd "${TPL}" +repos=( "mfem/mfem" + "hypre-space/hypre" + "mfem/tpls" + "libunwind/libunwind" + "xiaoyeli/superlu_dist" + "igraph/igraph" + "kokkos/mdspan" + "jbeder/yaml-cpp" + "ThePhD/sol2" + "google/googletest" + "LLNL/sundials" + "Nek5000/gslib" ) + +for repo in "${repos[@]}"; do + dir=$(basename "$repo") + if [ ! -d "$dir" ]; then + git clone "https://github.com/${repo}.git" + fi +done + +# Checkout specific SHAs +git -C hypre checkout 7e7fc8ce09153c60ae538a52a5f870f93b9608ca +git -C sundials checkout aaeab8d907c6b7dfca86041401fdc1448f35f826 +git -C igraph checkout beebfcdcd707f50a31cf8eb3568cf09f8b7baf54 +git -C mfem checkout 171eeb403f8d8deadfbd64d547de43c8705e616c +git -C superlu_dist checkout 4ae28e6f6d38f4f1fd3da88bd040f756d1275844 +git -C libunwind checkout c19e28b0e8682155482d937131fd5b1553044a66 +git -C mdspan checkout 80fc772eb812b45097c28fc0a46d8ff006138d69 +git -C yaml-cpp checkout 8bcadb1509e63248e79c6dc09928f95cfae02b74 +git -C sol2 checkout c1f95a773c6f8f4fde8ca3efe872e7286afe4444 +git -C googletest checkout 94be250af7e14c58dcbf476972d2d7141551ff67 +git -C gslib checkout 95acf5b42301d6cb48fda88d662f1d784b863089 +git -C tpls checkout 486dd7171e67629fc85393479f710e821e0e8b77 + +# --- 3. Build TPLs --- + +## HYPRE +cd "${TPL}/hypre/src" +rm -rf cmbuild +mkdir cmbuild && cd cmbuild +cmake .. +make && make install + +## ParMETIS +cd "${TPL}" +tar -xf tpls/parmetis-4.0.3.tar.gz +PMROOT="${TPL}/parmetis-4.0.3" +cd "${PMROOT}" +sed -i '' 's/cmake_minimum_required(VERSION 2.8)/cmake_minimum_required(VERSION 3.5)/g' CMakeLists.txt +sed -i '' 's/cmake_minimum_required(VERSION 2.4)/cmake_minimum_required(VERSION 3.5)/g' metis/CMakeLists.txt +make config prefix=install +make install -j${nproc} +PM_INSTALL=${PMROOT}/build/${OS}-${ARCH} + + +## SuperLU_DIST +cd "${TPL}/superlu_dist" +rm -rf build && mkdir build && cd build +cmake .. \ + -DTPL_PARMETIS_INCLUDE_DIRS="${PMROOT}/include;${PMROOT}/metis/include" \ + -DTPL_PARMETIS_LIBRARIES="${PM_INSTALL}/libparmetis/libparmetis.a;${PM_INSTALL}/libmetis/libmetis.a" +make install -j${nproc} + +## SUNDIALS +cd "${TPL}/sundials" +rm -rf build && mkdir build && cd build +cmake .. \ + -DENABLE_MPI=ON \ + -DEXAMPLES_INSTALL=OFF +make install -j${nproc} + +## GSLIB +cd "${TPL}/gslib" +make -j${nproc} + +## MFEM +cd "${TPL}/mfem" +rm -rf build install_dir && mkdir build install_dir && cd build +cmake .. \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=../install_dir \ + -DMFEM_USE_MPI=ON \ + -DCMAKE_CXX_COMPILER=mpicxx \ + -DMFEM_USE_OPENMP=ON \ + -DHYPRE_DIR="${TPL}/hypre/src/hypre" \ + -DParMETIS_INCLUDE_DIR="${PM_INSTALL}/include" \ + -DParMETIS_LIBRARY="${PM_INSTALL}/libparmetis/libparmetis.a" \ + -DMETIS_LIBRARY="${PM_INSTALL}/libmetis/libmetis.a" \ + -DMFEM_USE_SUPERLU=ON \ + -DSuperLUDist_DIR="${TPL}/superlu_dist/install" \ + -DMFEM_USE_SUNDIALS=ON \ + -DSUNDIALS_DIR="${TPL}/sundials/" \ + -DMFEM_USE_GSLIB=ON \ + -DGSLIB_DIR="${TPL}/gslib/build/" \ + -DMFEM_USE_LIBUNWIND=ON +make && make install + +cd "${TPL}/igraph" +rm -rf build install && mkdir build install && cd build +cmake .. \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=../install \ + -DCMAKE_C_COMPILER=clang \ + -DCMAKE_CXX_COMPILER=clang++ +make install -j${nproc} + +## Remaining C++ dependencies +for dep in mdspan yaml-cpp googletest; do + cd "${TPL}/${dep}" + rm -rf build install && mkdir build install && cd build + cmake .. \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=../install \ + -DCMAKE_C_COMPILER=mpicc \ + -DCMAKE_CXX_COMPILER=mpicxx + make install -j${nproc} +done + +## Sol2 +cd "${TPL}/sol2" +rm -rf build install && mkdir build install && cd build +cmake .. \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=../install \ + -DSOL2_BUILD_LUA=FALSE \ + -DSOL2_LUA_VERSION=5.3 \ + -DLUA_INCLUDE_DIR="${LUA_PREFIX}/include/lua5.3" \ + -DLUA_LIBRARIES="${LUA_PREFIX}/lib/liblua5.3.dylib" +make install + +# --- 4. Build Allium --- +cd "${ROOT}" +rm -rf build && mkdir build && cd build +cmake .. \ + -DCMAKE_BUILD_TYPE=Release \ + -Dmfem_DIR="${TPL}/mfem/install_dir/lib/cmake/mfem" \ + -Digraph_DIR="${TPL}/igraph/install/lib/cmake/igraph" \ + -Dmdspan_DIR="${TPL}/mdspan/install/lib/cmake/mdspan" \ + -Dyaml-cpp_DIR="${TPL}/yaml-cpp/install/lib/cmake/yaml-cpp" \ + -Dsol2_DIR="${TPL}/sol2/install/share/cmake/sol2" \ + -DGTest_ROOT="${TPL}/googletest/install/lib/cmake/GTest" \ + -DENABLE_UNIT_TESTS=TRUE \ + -DENABLE_CHIVE_TESTS=TRUE +make + +# -- run tests -- +# explicitly set threads so SuperLU doesn't slow to a crawl +# darwin default must be to use +# hyper threading +export OMP_NUM_THREADS=1 +# run tests in parallel +# separating serial vs parallel to not +# over prescribe threads +ctest -j ${nproc} -L serial && ctest -j 4 -L parallel From f803f72ad4b8b323009e84d30a2b27c88d3119c3 Mon Sep 17 00:00:00 2001 From: Steven Walton Date: Wed, 11 Mar 2026 22:38:32 -0600 Subject: [PATCH 22/32] mod on darwin build --- scripts/darwin/build.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/darwin/build.sh b/scripts/darwin/build.sh index 1618407..fea7bd1 100644 --- a/scripts/darwin/build.sh +++ b/scripts/darwin/build.sh @@ -7,7 +7,7 @@ # a node with `salloc` first # number of processors to use with make -nproc=1 +nproc=36 ROOT=$(pwd) # where to download and build all third party libraries # this location can be external to allium @@ -18,7 +18,7 @@ mkdir -p ${TPL} # this compiler verified to work on darwin # NOTE: the openmpi module must be loaded to run the code as well! -#module load openmpi/4.1.5-gcc_12.2.0 cmake/3.26.3 +module load openmpi/4.1.5-gcc_12.2.0 cmake/3.26.3 # --- clone dependencies into project source --- cd ${TPL} From f4b6968d54dd6bddcfdca480c13c25a51483c86e Mon Sep 17 00:00:00 2001 From: Steven Walton <110946984+steven-t-walton@users.noreply.github.com> Date: Wed, 11 Mar 2026 22:43:02 -0600 Subject: [PATCH 23/32] Update build.sh to describe how to change modules for other HPC systems --- scripts/darwin/build.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/darwin/build.sh b/scripts/darwin/build.sh index 5d2567f..c82cf5d 100644 --- a/scripts/darwin/build.sh +++ b/scripts/darwin/build.sh @@ -6,6 +6,10 @@ # NOTE: compilation is done in parallel so allocate # a node with `salloc` first +## ON OTHER HPC PLATFORMS, COMMENT OUT THE MODULE LOAD COMMAND BELOW AND LOAD +## THE EQUIVALENT MODULES ON YOUR SYSTEM. THIS SCRIPT HAS BEEN TESTED ON +## OTHER NNSA CPU BASED SYSTEMS + # number of processors to use with make nproc=36 ROOT=$(pwd) From b54c38fa582ae98c38dff8e97d60c12a847a2a2a Mon Sep 17 00:00:00 2001 From: Steven Walton Date: Fri, 13 Mar 2026 20:34:33 -0600 Subject: [PATCH 24/32] added builds for apple clang and brew gcc. for clang, needed to modify certain functions previously defined with constexpr --- scripts/mac/apple_clang.sh | 222 ++++++++++++++++++++++++++ scripts/mac/{build.sh => brew_gcc.sh} | 0 src/constants.hpp | 3 +- src/fixup.hpp | 1 + src/planck.hpp | 6 +- src/tvector.hpp | 2 +- 6 files changed, 228 insertions(+), 6 deletions(-) create mode 100644 scripts/mac/apple_clang.sh rename scripts/mac/{build.sh => brew_gcc.sh} (100%) diff --git a/scripts/mac/apple_clang.sh b/scripts/mac/apple_clang.sh new file mode 100644 index 0000000..c253eaa --- /dev/null +++ b/scripts/mac/apple_clang.sh @@ -0,0 +1,222 @@ +#!/bin/bash + +# build all tpls + allium on M1/M2 mac. The script was tested on a system with strict permissions in place, +# and so not all make & make install commands have -j$(nproc) to speed things up. If your system allows it, +# you can place -j$(nproc) when "make" or "make install needs to be called." + +# --- Configuration --- +#!/bin/bash + +# --- Configuration --- +nproc=$(sysctl -n hw.logicalcpu) +ROOT=$(pwd) +TPL=${ROOT}/tpl +ARCH=$(uname -m) +OS=$(uname -s) + +# --- 1. System Prerequisites --- +brew install cmake git libomp autoconf automake libtool lua@5.3 open-mpi gcc + +# Prefixes +export OMP_PREFIX=$(brew --prefix libomp) +export LUA_PREFIX=$(brew --prefix lua@5.3) +GCC_PREFIX=$(brew --prefix gcc) +GCC_LIBDIR="${GCC_PREFIX}/lib/gcc/current" +export LDFLAGS="-L${GCC_LIBDIR}" +export DYLD_LIBRARY_PATH="${GCC_LIBDIR}:${DYLD_LIBRARY_PATH}" + +# --- 2. Use Apple Clang as the base compiler --- +export OMPI_CC=/usr/bin/clang +export OMPI_CXX=/usr/bin/clang++ +export OMPI_FC=gfortran-13 + +# MPI wrappers used by builds +export CC=mpicc +export CXX=mpicxx +export FC=mpifort + +# --- 3. OpenMP flags --- +export OPENMP_FLAGS="-Xpreprocessor -fopenmp -I${OMP_PREFIX}/include" +export OPENMP_LDFLAGS="-L${OMP_PREFIX}/lib -lomp" + +# --- 4. CMake flags bundle --- +export CMAKE_OPENMP_FLAGS=" +-DOpenMP_C_FLAGS='${OPENMP_FLAGS}' +-DOpenMP_C_LIB_NAMES='omp' +-DOpenMP_CXX_FLAGS='${OPENMP_FLAGS}' +-DOpenMP_CXX_LIB_NAMES='omp' +-DOpenMP_omp_LIBRARY='${OMP_PREFIX}/lib/libomp.dylib' +" + +mkdir -p "${TPL}" + +# --- 2. Clone & Checkout --- +cd "${TPL}" +repos=( "mfem/mfem" + "hypre-space/hypre" + "mfem/tpls" + "libunwind/libunwind" + "xiaoyeli/superlu_dist" + "igraph/igraph" + "kokkos/mdspan" + "jbeder/yaml-cpp" + "ThePhD/sol2" + "google/googletest" + "LLNL/sundials" + "Nek5000/gslib" ) + +for repo in "${repos[@]}"; do + dir=$(basename "$repo") + if [ ! -d "$dir" ]; then + git clone "https://github.com/${repo}.git" + fi +done + +# Checkout specific SHAs +git -C hypre checkout 7e7fc8ce09153c60ae538a52a5f870f93b9608ca +git -C sundials checkout aaeab8d907c6b7dfca86041401fdc1448f35f826 +git -C igraph checkout beebfcdcd707f50a31cf8eb3568cf09f8b7baf54 +git -C mfem checkout 171eeb403f8d8deadfbd64d547de43c8705e616c +git -C superlu_dist checkout 4ae28e6f6d38f4f1fd3da88bd040f756d1275844 +git -C libunwind checkout c19e28b0e8682155482d937131fd5b1553044a66 +git -C mdspan checkout 80fc772eb812b45097c28fc0a46d8ff006138d69 +git -C yaml-cpp checkout 8bcadb1509e63248e79c6dc09928f95cfae02b74 +git -C sol2 checkout c1f95a773c6f8f4fde8ca3efe872e7286afe4444 +git -C googletest checkout 94be250af7e14c58dcbf476972d2d7141551ff67 +git -C gslib checkout 95acf5b42301d6cb48fda88d662f1d784b863089 +git -C tpls checkout 486dd7171e67629fc85393479f710e821e0e8b77 + +# --- 3. Build TPLs --- + +## HYPRE +cd "${TPL}/hypre/src" +rm -rf cmbuild +mkdir cmbuild && cd cmbuild +cmake .. +make && make install + +## ParMETIS +cd "${TPL}" +tar -xf tpls/parmetis-4.0.3.tar.gz +PMROOT="${TPL}/parmetis-4.0.3" +cd "${PMROOT}" +sed -i '' 's/cmake_minimum_required(VERSION 2.8)/cmake_minimum_required(VERSION 3.5)/g' CMakeLists.txt +sed -i '' 's/cmake_minimum_required(VERSION 2.4)/cmake_minimum_required(VERSION 3.5)/g' metis/CMakeLists.txt +make config prefix=install +make install -j${nproc} +PM_INSTALL=${PMROOT}/build/${OS}-${ARCH} + + +## SuperLU_DIST +cd "${TPL}/superlu_dist" +rm -rf build && mkdir build && cd build +cmake .. \ + -DCMAKE_EXE_LINKER_FLAGS="-L${GCC_LIBDIR} -Wl,-rpath,${GCC_LIBDIR}" \ + -DCMAKE_SHARED_LINKER_FLAGS="-L${GCC_LIBDIR} -Wl,-rpath,${GCC_LIBDIR}" \ + -DTPL_PARMETIS_INCLUDE_DIRS="${PMROOT}/include;${PMROOT}/metis/include" \ + -DTPL_PARMETIS_LIBRARIES="${PM_INSTALL}/libparmetis/libparmetis.a;${PM_INSTALL}/libmetis/libmetis.a" +make install + +## SUNDIALS +cd "${TPL}/sundials" +rm -rf build && mkdir build && cd build +cmake .. \ + -DENABLE_MPI=ON \ + -DEXAMPLES_INSTALL=OFF +make install -j${nproc} + +## GSLIB +cd "${TPL}/gslib" +make -j${nproc} + +## MFEM +cd "${TPL}/mfem" +rm -rf build install_dir && mkdir build install_dir && cd build +cmake .. \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=../install_dir \ + -DMFEM_USE_MPI=ON \ + -DCMAKE_CXX_COMPILER=mpicxx \ + -DMFEM_USE_OPENMP=ON \ + -DOpenMP_C_FLAGS="-Xpreprocessor -fopenmp -I/opt/homebrew/opt/libomp/include" \ + -DOpenMP_C_LIB_NAMES="omp" \ + -DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp -I/opt/homebrew/opt/libomp/include" \ + -DOpenMP_CXX_LIB_NAMES="omp" \ + -DOpenMP_omp_LIBRARY="/opt/homebrew/opt/libomp/lib/libomp.dylib" \ + -DHYPRE_DIR="${TPL}/hypre/src/hypre" \ + -DParMETIS_INCLUDE_DIR="${PM_INSTALL}/include" \ + -DParMETIS_LIBRARY="${PM_INSTALL}/libparmetis/libparmetis.a" \ + -DMETIS_LIBRARY="${PM_INSTALL}/libmetis/libmetis.a" \ + -DMFEM_USE_SUPERLU=ON \ + -DSuperLUDist_DIR="${TPL}/superlu_dist/install" \ + -DMFEM_USE_SUNDIALS=ON \ + -DSUNDIALS_DIR="${TPL}/sundials/" \ + -DMFEM_USE_GSLIB=ON \ + -DGSLIB_DIR="${TPL}/gslib/build/" \ + -DMFEM_USE_LIBUNWIND=ON +make && make install + +cd "${TPL}/igraph" +rm -rf build install && mkdir build install && cd build +cmake .. \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=../install \ + -DCMAKE_C_COMPILER=mpicc \ + -DCMAKE_CXX_COMPILER=mpicxx +make install -j${nproc} + +## Remaining C++ dependencies +for dep in mdspan yaml-cpp googletest; do + cd "${TPL}/${dep}" + rm -rf build install && mkdir build install && cd build + cmake .. \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=../install \ + -DCMAKE_C_COMPILER=mpicc \ + -DCMAKE_CXX_COMPILER=mpicxx + make install -j${nproc} +done + +## Sol2 +cd "${TPL}/sol2" +rm -rf build install && mkdir build install && cd build +cmake .. \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=../install \ + -DSOL2_BUILD_LUA=FALSE \ + -DSOL2_LUA_VERSION=5.3 \ + -DLUA_INCLUDE_DIR="${LUA_PREFIX}/include/lua5.3" \ + -DLUA_LIBRARIES="${LUA_PREFIX}/lib/liblua5.3.dylib" +make install + +# --- 4. Build Allium --- +cd "${ROOT}" +rm -rf build && mkdir build && cd build +cmake .. \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_C_COMPILER=mpicc \ + -DCMAKE_CXX_COMPILER=mpicxx \ + -Dmfem_DIR="${TPL}/mfem/install_dir/lib/cmake/mfem" \ + -Digraph_DIR="${TPL}/igraph/install/lib/cmake/igraph" \ + -Dmdspan_DIR="${TPL}/mdspan/install/lib/cmake/mdspan" \ + -Dyaml-cpp_DIR="${TPL}/yaml-cpp/install/lib/cmake/yaml-cpp" \ + -Dsol2_DIR="${TPL}/sol2/install/share/cmake/sol2" \ + -DGTest_ROOT="${TPL}/googletest/install/lib/cmake/GTest" \ + -DOpenMP_C_FLAGS="-Xpreprocessor -fopenmp -I/opt/homebrew/opt/libomp/include" \ + -DOpenMP_C_LIB_NAMES="omp" \ + -DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp -I/opt/homebrew/opt/libomp/include" \ + -DOpenMP_CXX_LIB_NAMES="omp" \ + -DOpenMP_omp_LIBRARY="/opt/homebrew/opt/libomp/lib/libomp.dylib" \ + -DENABLE_UNIT_TESTS=TRUE \ + -DENABLE_CHIVE_TESTS=TRUE +make + +# -- run tests -- +# explicitly set threads so SuperLU doesn't slow to a crawl +# darwin default must be to use +# hyper threading +export OMP_NUM_THREADS=1 +# run tests in parallel +# separating serial vs parallel to not +# over prescribe threads +ctest -j ${nproc} -L serial && ctest -j 4 -L parallel diff --git a/scripts/mac/build.sh b/scripts/mac/brew_gcc.sh similarity index 100% rename from scripts/mac/build.sh rename to scripts/mac/brew_gcc.sh diff --git a/src/constants.hpp b/src/constants.hpp index 92b2399..5b10823 100644 --- a/src/constants.hpp +++ b/src/constants.hpp @@ -1,7 +1,6 @@ #pragma once #include -#include namespace constants { @@ -20,7 +19,7 @@ constexpr double Planck = 6.62607015e-27; // erg s constexpr double Boltzmann = 1.380649e-16; // erg/K // black body thermal emission is StefanBoltzmann * T^4 (includes factor of speed of light) // erg/cm^2/s/eV^4 -constexpr double StefanBoltzmann = 8.0*pow(pi, 5)/(15.0*pow(SpeedOfLight, 2)*pow(Planck, 3))/pow(internal::erg_to_eV,4); +constexpr double StefanBoltzmann = 8.0*(pi*pi*pi*pi*pi)/(15.0*(SpeedOfLight*SpeedOfLight)*(Planck*Planck*Planck))/(internal::erg_to_eV*internal::erg_to_eV*internal::erg_to_eV*internal::erg_to_eV); // the "a" in black body emission ac T^4 constexpr double RadiationConstant = StefanBoltzmann / SpeedOfLight; diff --git a/src/fixup.hpp b/src/fixup.hpp index 1f89749..2eae42d 100644 --- a/src/fixup.hpp +++ b/src/fixup.hpp @@ -8,6 +8,7 @@ class NegativeFluxFixupOperator double minimum_solution = 0.0; public: NegativeFluxFixupOperator() = default; + virtual ~NegativeFluxFixupOperator() = default; NegativeFluxFixupOperator(double min) : minimum_solution(min) { } virtual int Apply(const mfem::DenseMatrix &A, const mfem::Vector &rhs, mfem::Vector &solution) const =0; }; diff --git a/src/planck.hpp b/src/planck.hpp index f70d8f0..11cde5e 100644 --- a/src/planck.hpp +++ b/src/planck.hpp @@ -22,9 +22,9 @@ constexpr double coef_15 = -6.91 / 196151155200; constexpr double coef_17 = 1.0/1270312243200; constexpr double coef_19 = -3.617/202741834014720; constexpr double coef_21 = 43.867/107290978560589824; -constexpr double coef = 15.0/pow(constants::pi,4); -constexpr double rosseland_max = pow(std::numeric_limits::max(), 0.25); -constexpr double second_deriv_max = std::log(std::numeric_limits::max())-1.0; +constexpr double coef = 15.0/(constants::pi * constants::pi * constants::pi * constants::pi); +const double rosseland_max = pow(std::numeric_limits::max(), 0.25); +const double second_deriv_max = std::log(std::numeric_limits::max())-1.0; inline double PlanckTaylorSeries9(double x) { const double x2 = x*x; diff --git a/src/tvector.hpp b/src/tvector.hpp index d2bea0c..e99e233 100644 --- a/src/tvector.hpp +++ b/src/tvector.hpp @@ -24,7 +24,7 @@ struct IndexMap Extents ext; public: mapping(const Extents &ext) : ext(ext) { - static_assert(ext.rank()==3); + static_assert(Extents::rank() == 3, "IndexMap requires rank-3 extents"); } template constexpr index_type operator()(Indices... idxs) const noexcept { From cbdb2d96252464cf52dd28d6c2290fe5fdc35714 Mon Sep 17 00:00:00 2001 From: Steven Walton <110946984+steven-t-walton@users.noreply.github.com> Date: Fri, 20 Mar 2026 09:49:28 -0600 Subject: [PATCH 25/32] Update apple_clang.sh lua@5.3->lua@5.4 --- scripts/mac/apple_clang.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/mac/apple_clang.sh b/scripts/mac/apple_clang.sh index c253eaa..a90ce8c 100644 --- a/scripts/mac/apple_clang.sh +++ b/scripts/mac/apple_clang.sh @@ -15,7 +15,7 @@ ARCH=$(uname -m) OS=$(uname -s) # --- 1. System Prerequisites --- -brew install cmake git libomp autoconf automake libtool lua@5.3 open-mpi gcc +brew install cmake git libomp autoconf automake libtool lua@5.4 open-mpi gcc # Prefixes export OMP_PREFIX=$(brew --prefix libomp) From 211ae6a89a03ea117284ad0525bdae268861a92e Mon Sep 17 00:00:00 2001 From: Steven Walton <110946984+steven-t-walton@users.noreply.github.com> Date: Fri, 20 Mar 2026 09:50:54 -0600 Subject: [PATCH 26/32] Update apple_clang.sh lua@5.3->lua@5.4 --- scripts/mac/apple_clang.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/mac/apple_clang.sh b/scripts/mac/apple_clang.sh index a90ce8c..48cb00a 100644 --- a/scripts/mac/apple_clang.sh +++ b/scripts/mac/apple_clang.sh @@ -19,7 +19,7 @@ brew install cmake git libomp autoconf automake libtool lua@5.4 open-mpi gcc # Prefixes export OMP_PREFIX=$(brew --prefix libomp) -export LUA_PREFIX=$(brew --prefix lua@5.3) +export LUA_PREFIX=$(brew --prefix lua@5.4) GCC_PREFIX=$(brew --prefix gcc) GCC_LIBDIR="${GCC_PREFIX}/lib/gcc/current" export LDFLAGS="-L${GCC_LIBDIR}" @@ -184,9 +184,9 @@ cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=../install \ -DSOL2_BUILD_LUA=FALSE \ - -DSOL2_LUA_VERSION=5.3 \ - -DLUA_INCLUDE_DIR="${LUA_PREFIX}/include/lua5.3" \ - -DLUA_LIBRARIES="${LUA_PREFIX}/lib/liblua5.3.dylib" + -DSOL2_LUA_VERSION=5.4 \ + -DLUA_INCLUDE_DIR="${LUA_PREFIX}/include/lua5.4" \ + -DLUA_LIBRARIES="${LUA_PREFIX}/lib/liblua5.4.dylib" make install # --- 4. Build Allium --- From 9c7095c57341fe36d6466ee2ae713b6896da66f8 Mon Sep 17 00:00:00 2001 From: Steven Walton <110946984+steven-t-walton@users.noreply.github.com> Date: Fri, 20 Mar 2026 10:45:14 -0600 Subject: [PATCH 27/32] Update apple_clang.sh Added gcc to path. Added comments on build. --- scripts/mac/apple_clang.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/mac/apple_clang.sh b/scripts/mac/apple_clang.sh index 48cb00a..0631290 100644 --- a/scripts/mac/apple_clang.sh +++ b/scripts/mac/apple_clang.sh @@ -1,11 +1,10 @@ #!/bin/bash # build all tpls + allium on M1/M2 mac. The script was tested on a system with strict permissions in place, -# and so not all make & make install commands have -j$(nproc) to speed things up. If your system allows it, -# you can place -j$(nproc) when "make" or "make install needs to be called." +# and so not all make & make install commands have -j$(nproc). If your system allows it, +# you can place -j$(nproc) when "make" or "make install" needs to be called. -# --- Configuration --- -#!/bin/bash +# The script should be run from the alllium parent directory, e.g. 'source ./scripts/mac/apple_clang.sh' # --- Configuration --- nproc=$(sysctl -n hw.logicalcpu) @@ -21,6 +20,7 @@ brew install cmake git libomp autoconf automake libtool lua@5.4 open-mpi gcc export OMP_PREFIX=$(brew --prefix libomp) export LUA_PREFIX=$(brew --prefix lua@5.4) GCC_PREFIX=$(brew --prefix gcc) +export PATH="${GCC_PREFIX}/bin:$PATH" GCC_LIBDIR="${GCC_PREFIX}/lib/gcc/current" export LDFLAGS="-L${GCC_LIBDIR}" export DYLD_LIBRARY_PATH="${GCC_LIBDIR}:${DYLD_LIBRARY_PATH}" From aac261e80c48acdc0ab00f7c83573b09729395a9 Mon Sep 17 00:00:00 2001 From: Steven Walton <110946984+steven-t-walton@users.noreply.github.com> Date: Fri, 20 Mar 2026 10:54:27 -0600 Subject: [PATCH 28/32] Update apple_clang.sh Remove PATH export. Added auto-detect of gfortran version. --- scripts/mac/apple_clang.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/mac/apple_clang.sh b/scripts/mac/apple_clang.sh index 0631290..b9c3d2b 100644 --- a/scripts/mac/apple_clang.sh +++ b/scripts/mac/apple_clang.sh @@ -20,7 +20,6 @@ brew install cmake git libomp autoconf automake libtool lua@5.4 open-mpi gcc export OMP_PREFIX=$(brew --prefix libomp) export LUA_PREFIX=$(brew --prefix lua@5.4) GCC_PREFIX=$(brew --prefix gcc) -export PATH="${GCC_PREFIX}/bin:$PATH" GCC_LIBDIR="${GCC_PREFIX}/lib/gcc/current" export LDFLAGS="-L${GCC_LIBDIR}" export DYLD_LIBRARY_PATH="${GCC_LIBDIR}:${DYLD_LIBRARY_PATH}" @@ -28,7 +27,11 @@ export DYLD_LIBRARY_PATH="${GCC_LIBDIR}:${DYLD_LIBRARY_PATH}" # --- 2. Use Apple Clang as the base compiler --- export OMPI_CC=/usr/bin/clang export OMPI_CXX=/usr/bin/clang++ -export OMPI_FC=gfortran-13 +if command -v gfortran >/dev/null 2>&1; then + export OMPI_FC=gfortran +else + export OMPI_FC=$(basename $(ls ${GCC_PREFIX}/bin/gfortran-* | head -n1)) +fi # MPI wrappers used by builds export CC=mpicc From 3fd0a93cf9831d691a85d12ae26e4c58434089b4 Mon Sep 17 00:00:00 2001 From: Steven Walton <110946984+steven-t-walton@users.noreply.github.com> Date: Fri, 20 Mar 2026 12:15:08 -0600 Subject: [PATCH 29/32] Update apple_clang.sh added install dirs for superlu and sundials to fix non-admin privilege issues --- scripts/mac/apple_clang.sh | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/scripts/mac/apple_clang.sh b/scripts/mac/apple_clang.sh index b9c3d2b..7376714 100644 --- a/scripts/mac/apple_clang.sh +++ b/scripts/mac/apple_clang.sh @@ -13,6 +13,10 @@ TPL=${ROOT}/tpl ARCH=$(uname -m) OS=$(uname -s) +# install roots +export SUPERLU_INSTALL="${TPL}/superlu_dist/install_dir" +export SUNDIALS_INSTALL="${TPL}/sundials/install_dir" + # --- 1. System Prerequisites --- brew install cmake git libomp autoconf automake libtool lua@5.4 open-mpi gcc @@ -112,8 +116,9 @@ PM_INSTALL=${PMROOT}/build/${OS}-${ARCH} ## SuperLU_DIST cd "${TPL}/superlu_dist" -rm -rf build && mkdir build && cd build +rm -rf build install_dir && mkdir build install_dir && cd build cmake .. \ + -DCMAKE_INSTALL_PREFIX="${SUPERLU_INSTALL}" \ -DCMAKE_EXE_LINKER_FLAGS="-L${GCC_LIBDIR} -Wl,-rpath,${GCC_LIBDIR}" \ -DCMAKE_SHARED_LINKER_FLAGS="-L${GCC_LIBDIR} -Wl,-rpath,${GCC_LIBDIR}" \ -DTPL_PARMETIS_INCLUDE_DIRS="${PMROOT}/include;${PMROOT}/metis/include" \ @@ -122,8 +127,9 @@ make install ## SUNDIALS cd "${TPL}/sundials" -rm -rf build && mkdir build && cd build +rm -rf build install_dir && mkdir build install_dir && cd build cmake .. \ + -DCMAKE_INSTALL_PREFIX="${SUNDIALS_INSTALL}" \ -DENABLE_MPI=ON \ -DEXAMPLES_INSTALL=OFF make install -j${nproc} @@ -151,9 +157,9 @@ cmake .. \ -DParMETIS_LIBRARY="${PM_INSTALL}/libparmetis/libparmetis.a" \ -DMETIS_LIBRARY="${PM_INSTALL}/libmetis/libmetis.a" \ -DMFEM_USE_SUPERLU=ON \ - -DSuperLUDist_DIR="${TPL}/superlu_dist/install" \ + -DSuperLUDist_DIR="${SUPERLU_INSTALL}" \ -DMFEM_USE_SUNDIALS=ON \ - -DSUNDIALS_DIR="${TPL}/sundials/" \ + -DSUNDIALS_DIR="${SUNDIALS_INSTALL}" \ -DMFEM_USE_GSLIB=ON \ -DGSLIB_DIR="${TPL}/gslib/build/" \ -DMFEM_USE_LIBUNWIND=ON From c9a76e0860d6d27063080f6d5d7ad6263cc1a3a4 Mon Sep 17 00:00:00 2001 From: Steven Walton Date: Fri, 20 Mar 2026 14:03:30 -0600 Subject: [PATCH 30/32] updated mac brew gcc build --- scripts/mac/brew_gcc.sh | 98 ++++++++++++++++++++++++++++------------- 1 file changed, 67 insertions(+), 31 deletions(-) diff --git a/scripts/mac/brew_gcc.sh b/scripts/mac/brew_gcc.sh index 3f1338b..40925ee 100644 --- a/scripts/mac/brew_gcc.sh +++ b/scripts/mac/brew_gcc.sh @@ -1,8 +1,8 @@ #!/bin/bash -# build all tpls + allium on M1/M2 mac. The script was tested on a system with strict permissions in place, -# and so not all make & make install commands have -j$(nproc) to speed things up. If your system allows it, -# you can place -j$(nproc) when "make" or "make install needs to be called." +set -e + +# build all tpls + allium on M1/M2 mac using Homebrew GCC # --- Configuration --- nproc=$(sysctl -n hw.logicalcpu) @@ -11,22 +11,41 @@ TPL=${ROOT}/tpl ARCH=$(uname -m) OS=$(uname -s) -# --- 1. System Prerequisites (macOS/Homebrew) --- -brew install cmake git libomp autoconf automake libtool lua@5.3 -export OMP_PREFIX=$(brew --prefix libomp) +mkdir -p "${TPL}" + +# --- Install roots --- +export SUPERLU_INSTALL="${TPL}/superlu_dist/install_dir" +export SUNDIALS_INSTALL="${TPL}/sundials/install_dir" + +# --- 1. System Prerequisites --- +brew install cmake git libomp autoconf automake libtool lua@5.3 open-mpi gcc + export LUA_PREFIX=$(brew --prefix lua@5.3) -export OMPI_CC=gcc-13 -export OMPI_CXX=g++-13 -export OMPI_FC=gfortran-13 +# --- Detect GCC version dynamically --- +GCC_PREFIX=$(brew --prefix gcc) + +GCC_BIN=$(ls ${GCC_PREFIX}/bin/gcc-* | sort -V | tail -n1) +GXX_BIN=$(echo ${GCC_BIN} | sed 's/gcc/g++/') +GFORTRAN_BIN=$(echo ${GCC_BIN} | sed 's/gcc/gfortran/') + +export OMPI_CC=$(basename ${GCC_BIN}) +export OMPI_CXX=$(basename ${GXX_BIN}) +export OMPI_FC=$(basename ${GFORTRAN_BIN}) + +echo "Using GCC toolchain:" +echo " OMPI_CC = ${OMPI_CC}" +echo " OMPI_CXX = ${OMPI_CXX}" +echo " OMPI_FC = ${OMPI_FC}" + +# MPI wrappers export CC=mpicc export CXX=mpicxx export FC=mpifort -mkdir -p "${TPL}" - # --- 2. Clone & Checkout --- cd "${TPL}" + repos=( "mfem/mfem" "hypre-space/hypre" "mfem/tpls" @@ -68,34 +87,42 @@ cd "${TPL}/hypre/src" rm -rf cmbuild mkdir cmbuild && cd cmbuild cmake .. -make && make install +make -j${nproc} && make install ## ParMETIS cd "${TPL}" tar -xf tpls/parmetis-4.0.3.tar.gz PMROOT="${TPL}/parmetis-4.0.3" + cd "${PMROOT}" sed -i '' 's/cmake_minimum_required(VERSION 2.8)/cmake_minimum_required(VERSION 3.5)/g' CMakeLists.txt sed -i '' 's/cmake_minimum_required(VERSION 2.4)/cmake_minimum_required(VERSION 3.5)/g' metis/CMakeLists.txt + make config prefix=install make install -j${nproc} -PM_INSTALL=${PMROOT}/build/${OS}-${ARCH} +PM_INSTALL=${PMROOT}/build/${OS}-${ARCH} ## SuperLU_DIST cd "${TPL}/superlu_dist" -rm -rf build && mkdir build && cd build +rm -rf build install_dir && mkdir build install_dir && cd build + cmake .. \ - -DTPL_PARMETIS_INCLUDE_DIRS="${PMROOT}/include;${PMROOT}/metis/include" \ - -DTPL_PARMETIS_LIBRARIES="${PM_INSTALL}/libparmetis/libparmetis.a;${PM_INSTALL}/libmetis/libmetis.a" + -DCMAKE_INSTALL_PREFIX="${SUPERLU_INSTALL}" \ + -DTPL_PARMETIS_INCLUDE_DIRS="${PMROOT}/include;${PMROOT}/metis/include" \ + -DTPL_PARMETIS_LIBRARIES="${PM_INSTALL}/libparmetis/libparmetis.a;${PM_INSTALL}/libmetis/libmetis.a" + make install -j${nproc} ## SUNDIALS cd "${TPL}/sundials" -rm -rf build && mkdir build && cd build +rm -rf build install_dir && mkdir build install_dir && cd build + cmake .. \ + -DCMAKE_INSTALL_PREFIX="${SUNDIALS_INSTALL}" \ -DENABLE_MPI=ON \ -DEXAMPLES_INSTALL=OFF + make install -j${nproc} ## GSLIB @@ -105,6 +132,7 @@ make -j${nproc} ## MFEM cd "${TPL}/mfem" rm -rf build install_dir && mkdir build install_dir && cd build + cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=../install_dir \ @@ -116,38 +144,45 @@ cmake .. \ -DParMETIS_LIBRARY="${PM_INSTALL}/libparmetis/libparmetis.a" \ -DMETIS_LIBRARY="${PM_INSTALL}/libmetis/libmetis.a" \ -DMFEM_USE_SUPERLU=ON \ - -DSuperLUDist_DIR="${TPL}/superlu_dist/install" \ + -DSuperLUDist_DIR="${SUPERLU_INSTALL}" \ -DMFEM_USE_SUNDIALS=ON \ - -DSUNDIALS_DIR="${TPL}/sundials/" \ + -DSUNDIALS_DIR="${SUNDIALS_INSTALL}" \ -DMFEM_USE_GSLIB=ON \ -DGSLIB_DIR="${TPL}/gslib/build/" \ -DMFEM_USE_LIBUNWIND=ON -make && make install +make -j${nproc} && make install + +## igraph cd "${TPL}/igraph" rm -rf build install && mkdir build install && cd build + cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=../install \ - -DCMAKE_C_COMPILER=clang \ - -DCMAKE_CXX_COMPILER=clang++ + -DCMAKE_C_COMPILER=mpicc \ + -DCMAKE_CXX_COMPILER=mpicxx + make install -j${nproc} ## Remaining C++ dependencies for dep in mdspan yaml-cpp googletest; do cd "${TPL}/${dep}" rm -rf build install && mkdir build install && cd build + cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=../install \ -DCMAKE_C_COMPILER=mpicc \ -DCMAKE_CXX_COMPILER=mpicxx + make install -j${nproc} done ## Sol2 cd "${TPL}/sol2" rm -rf build install && mkdir build install && cd build + cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=../install \ @@ -155,13 +190,17 @@ cmake .. \ -DSOL2_LUA_VERSION=5.3 \ -DLUA_INCLUDE_DIR="${LUA_PREFIX}/include/lua5.3" \ -DLUA_LIBRARIES="${LUA_PREFIX}/lib/liblua5.3.dylib" + make install # --- 4. Build Allium --- cd "${ROOT}" rm -rf build && mkdir build && cd build + cmake .. \ -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_C_COMPILER=mpicc \ + -DCMAKE_CXX_COMPILER=mpicxx \ -Dmfem_DIR="${TPL}/mfem/install_dir/lib/cmake/mfem" \ -Digraph_DIR="${TPL}/igraph/install/lib/cmake/igraph" \ -Dmdspan_DIR="${TPL}/mdspan/install/lib/cmake/mdspan" \ @@ -170,14 +209,11 @@ cmake .. \ -DGTest_ROOT="${TPL}/googletest/install/lib/cmake/GTest" \ -DENABLE_UNIT_TESTS=TRUE \ -DENABLE_CHIVE_TESTS=TRUE -make -# -- run tests -- -# explicitly set threads so SuperLU doesn't slow to a crawl -# darwin default must be to use -# hyper threading +make -j${nproc} + +# --- Run tests --- export OMP_NUM_THREADS=1 -# run tests in parallel -# separating serial vs parallel to not -# over prescribe threads -ctest -j ${nproc} -L serial && ctest -j 4 -L parallel + +ctest -j ${nproc} -L serial +ctest -j 4 -L parallel \ No newline at end of file From ebe01cbe0cf7ed3b2c1a0a1ece4b8e6002acc538 Mon Sep 17 00:00:00 2001 From: Steven Walton <110946984+steven-t-walton@users.noreply.github.com> Date: Fri, 20 Mar 2026 14:05:26 -0600 Subject: [PATCH 31/32] Update brew_gcc.sh --- scripts/mac/brew_gcc.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/scripts/mac/brew_gcc.sh b/scripts/mac/brew_gcc.sh index 40925ee..5bb2929 100644 --- a/scripts/mac/brew_gcc.sh +++ b/scripts/mac/brew_gcc.sh @@ -1,7 +1,5 @@ #!/bin/bash -set -e - # build all tpls + allium on M1/M2 mac using Homebrew GCC # --- Configuration --- @@ -216,4 +214,4 @@ make -j${nproc} export OMP_NUM_THREADS=1 ctest -j ${nproc} -L serial -ctest -j 4 -L parallel \ No newline at end of file +ctest -j 4 -L parallel From 01ca6aded911130c8505c16e45817e3c8606675b Mon Sep 17 00:00:00 2001 From: Steven Walton <110946984+steven-t-walton@users.noreply.github.com> Date: Fri, 20 Mar 2026 14:06:07 -0600 Subject: [PATCH 32/32] Update brew_gcc.sh --- scripts/mac/brew_gcc.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/mac/brew_gcc.sh b/scripts/mac/brew_gcc.sh index 5bb2929..9f7b770 100644 --- a/scripts/mac/brew_gcc.sh +++ b/scripts/mac/brew_gcc.sh @@ -2,6 +2,8 @@ # build all tpls + allium on M1/M2 mac using Homebrew GCC +# The script should be run from the alllium parent directory, e.g. 'source ./scripts/mac/brew_gcc.sh' + # --- Configuration --- nproc=$(sysctl -n hw.logicalcpu) ROOT=$(pwd)