From 6644564dd60db0915c37d4149844686256aefbe3 Mon Sep 17 00:00:00 2001
From: Miroslav Shaltev <shaltev@l3s.de>
Date: Thu, 1 Jun 2017 11:29:44 +0200
Subject: [PATCH] update to upstream 3.8.1

---
 CONTRIBUTORS                                  |   30 +
 ChangeLog                                     |    3 +
 LICENSE                                       |  165 +
 README                                        |  172 +-
 doc/user_guide.pdf                            |  Bin 1787689 -> 1770518 bytes
 .../categorical/HeatShield/HS_Material.cpp    |  551 ++
 .../categorical/HeatShield/HS_Material.hpp    |  138 +
 .../categorical/HeatShield/HS_Param.cpp       |  325 +
 .../categorical/HeatShield/HS_Param.hpp       |   44 +
 .../advanced/categorical/HeatShield/makefile  |   66 +
 .../categorical/HeatShield/nomad_HS.cpp       |  830 +++
 examples/advanced/categorical/batch/param.txt |   52 +-
 .../advanced/categorical/batch/readme.txt     |   66 +-
 .../advanced/categorical/batch/runExample.log |  117 +-
 examples/advanced/categorical/bi_obj/makefile |    2 +-
 .../categorical/bi_obj/runExample.log         |   73 +-
 .../advanced/categorical/single_obj/makefile  |    2 +-
 .../categorical/single_obj/runExample.log     | 4368 ++++++------
 examples/advanced/multi_start/best_x.txt      |    2 +-
 examples/advanced/multi_start/makefile        |    2 +-
 examples/advanced/multi_start/param.txt       |   26 +-
 examples/advanced/multi_start/runExample.log  |   31 +-
 examples/advanced/plot/problems/02/param.txt  |   68 +-
 examples/advanced/plot/readme.txt             |   22 +-
 examples/advanced/restart/makefile            |    2 +-
 examples/advanced/restart/restart.cpp         |    4 +-
 examples/advanced/restart/runExample.log      |   68 +-
 examples/advanced/user_search/makefile        |    2 +-
 examples/advanced/user_search/runExample.log  |   27 +-
 examples/advanced/user_search/user_search.cpp |    2 -
 examples/basic/batch/bi_obj/param.txt         |   58 +-
 examples/basic/batch/bi_obj/runExample.log    |  280 +-
 examples/basic/batch/single_obj/param.txt     |   88 +-
 .../basic/batch/single_obj/runExample.log     |   31 +-
 examples/basic/batch/single_obj/x.txt         |    2 +-
 .../single_obj_parallel/parallel_BBWrapper.pl |   14 +-
 .../basic/batch/single_obj_parallel/param.txt |   42 +-
 .../batch/single_obj_parallel/runExample.log  |   32 +-
 examples/basic/library/bi_obj/makefile        |    2 +-
 examples/basic/library/bi_obj/runExample.log  |   26 +-
 .../basic/library/single_obj/basic_lib.cpp    |    6 +-
 examples/basic/library/single_obj/makefile    |    2 +-
 .../basic/library/single_obj/runExample.log   |   19 +-
 .../library/single_obj_parallel/basic_lib.cpp |   90 +-
 .../library/single_obj_parallel/makefile      |    2 +-
 .../single_obj_parallel/runExample.log        |   24 +-
 examples/interfaces/AMPL/param.txt            |   20 +-
 examples/interfaces/AMPL/readme.txt           |   89 +-
 examples/interfaces/AMPL/runExample.log       |   80 -
 examples/interfaces/CUTEr/.SIF                |    0
 examples/interfaces/CUTEr/param.txt           |   34 +-
 examples/interfaces/CUTEr/readme.txt          |   52 +-
 examples/interfaces/CUTEr/runExample.log      |    8 -
 .../interfaces/DLL/bi_obj/nomad_for_DLL.cpp   |  424 +-
 examples/interfaces/DLL/bi_obj/param.txt      |   56 +-
 examples/interfaces/DLL/bi_obj/readme.txt     |  108 +-
 .../DLL/single_obj/nomad_for_DLL.cpp          |  424 +-
 examples/interfaces/DLL/single_obj/param.txt  |   54 +-
 examples/interfaces/DLL/single_obj/readme.txt |  104 +-
 examples/interfaces/FORTRAN/example1/makefile |    2 +-
 .../interfaces/FORTRAN/example1/readme.txt    |    8 +-
 .../FORTRAN/example1/runExample.log           |   19 +-
 examples/interfaces/FORTRAN/example2/makefile |    2 +-
 .../interfaces/FORTRAN/example2/readme.txt    |   12 +-
 .../FORTRAN/example2/runExample.log           |    6 -
 examples/interfaces/GAMS/bb.gms               |  642 +-
 examples/interfaces/GAMS/ed.hup               |   24 +-
 examples/interfaces/GAMS/lb.txt               |   36 +-
 examples/interfaces/GAMS/param.txt            |   62 +-
 examples/interfaces/GAMS/points/x0.txt        |   38 +-
 examples/interfaces/GAMS/points/x1.txt        |   38 +-
 examples/interfaces/GAMS/points/x2.txt        |   38 +-
 examples/interfaces/GAMS/readme.txt           |   26 +-
 examples/interfaces/GAMS/ub.txt               |   36 +-
 examples/interfaces/GAMS/x0.txt               |   36 +-
 .../interfaces/Matlab_MEX/Functions/nomad.m   |   74 +-
 .../Matlab_MEX/Functions/nomadset.m           |  686 +-
 .../interfaces/Matlab_MEX/GERAD_NOMAD_build.m |  342 +-
 .../interfaces/Matlab_MEX/Source/nomadmex.cpp | 3516 +++++-----
 .../example_group_variables/param.txt         |    2 +-
 .../Matlab_MEX/example_group_variables/test.m |    4 +-
 .../example_int_variables/param.txt           |    4 +-
 .../Matlab_MEX/example_int_variables/run2.m   |   23 -
 .../interfaces/Matlab_MEX/test_nomad_gerad.m  |  303 +-
 examples/interfaces/NOMAD2/param.txt          |   82 +-
 examples/interfaces/NOMAD2/reader.cpp         |   36 +-
 examples/interfaces/NOMAD2/readme.txt         |  100 +-
 examples/interfaces/NOMAD2/runExample.log     |   36 -
 examples/interfaces/pyNomad_Beta/PyNomad.cpp  | 6057 +++++++++++++++++
 examples/interfaces/pyNomad_Beta/PyNomad.pyx  |  165 +
 .../pyNomad_Beta/nomadCySimpleInterface.cpp   |  383 ++
 examples/interfaces/pyNomad_Beta/readme       |   17 +
 examples/interfaces/pyNomad_Beta/runTest.py   |   18 +
 .../pyNomad_Beta/runTestInfoHelp.py           |    5 +
 examples/interfaces/pyNomad_Beta/runTest_2.py |   23 +
 .../pyNomad_Beta/runTest_BlockEval.py         |   28 +
 .../interfaces/pyNomad_Beta/setup_PyNomad.py  |   38 +
 ext/sgtelib/example/X.txt                     |   48 +
 ext/sgtelib/example/XX.txt                    |    7 +
 ext/sgtelib/example/Z.txt                     |   49 +
 ext/sgtelib/example/ZZ.txt                    |    7 +
 .../comparison/main_metrics_comparison.m      |   33 +
 .../comparison/plot_metrics_comparison.m      |  259 +
 .../sgtelib_example_compare_models_1D.m       |  101 +
 .../sgtelib_example_SurrogateBasedOptim.m     |  114 +
 .../sgtelib_example_SurrogateBasedOptim_EI.m  |  140 +
 ext/sgtelib/example/sgtelib_example_plot1D.m  |   65 +
 .../example/sgtelib_example_plot2D_cat.m      |   55 +
 .../example/sgtelib_example_plot2D_compare.m  |  100 +
 .../example/sgtelib_example_plot2D_edge.m     |   63 +
 .../example/sgtelib_example_plot2D_single.m   |   42 +
 ext/sgtelib/example/sgtelib_example_plotND.m  |   47 +
 ext/sgtelib/matlab_server/sgtelib_server_cv.m |   19 +
 .../matlab_server/sgtelib_server_example.m    |   35 +
 .../matlab_server/sgtelib_server_info.m       |   12 +
 .../matlab_server/sgtelib_server_metric.m     |   21 +
 .../matlab_server/sgtelib_server_newdata.m    |   20 +
 .../matlab_server/sgtelib_server_ping.m       |   24 +
 .../matlab_server/sgtelib_server_predict.m    |   22 +
 .../sgtelib_server_read_matrix.m              |   43 +
 .../matlab_server/sgtelib_server_ready.m      |    3 +
 .../matlab_server/sgtelib_server_reset.m      |   16 +
 .../matlab_server/sgtelib_server_start.m      |   89 +
 .../matlab_server/sgtelib_server_stop.m       |    4 +
 .../matlab_server/sgtelib_server_wait_file.m  |   30 +
 .../sgtelib_server_write_matrix.m             |   26 +
 ext/sgtelib/src/Defines.hpp                   |   98 +
 ext/sgtelib/src/Exception.hpp                 |   65 +
 ext/sgtelib/src/Kernel.cpp                    |  322 +
 ext/sgtelib/src/Kernel.hpp                    |   69 +
 ext/sgtelib/src/Matrix.cpp                    | 2969 ++++++++
 ext/sgtelib/src/Matrix.hpp                    |  401 ++
 ext/sgtelib/src/Surrogate.cpp                 | 1664 +++++
 ext/sgtelib/src/Surrogate.hpp                 |  237 +
 ext/sgtelib/src/Surrogate_CN.cpp              |  191 +
 ext/sgtelib/src/Surrogate_CN.hpp              |   68 +
 ext/sgtelib/src/Surrogate_Ensemble.cpp        | 1061 +++
 ext/sgtelib/src/Surrogate_Ensemble.hpp        |  130 +
 ext/sgtelib/src/Surrogate_Factory.cpp         |  133 +
 ext/sgtelib/src/Surrogate_Factory.hpp         |   56 +
 ext/sgtelib/src/Surrogate_KS.cpp              |  314 +
 ext/sgtelib/src/Surrogate_KS.hpp              |   64 +
 ext/sgtelib/src/Surrogate_Kriging.cpp         |  324 +
 ext/sgtelib/src/Surrogate_Kriging.hpp         |  111 +
 ext/sgtelib/src/Surrogate_LOWESS.cpp          |  709 ++
 ext/sgtelib/src/Surrogate_LOWESS.hpp          |   83 +
 ext/sgtelib/src/Surrogate_PRS.cpp             |  278 +
 ext/sgtelib/src/Surrogate_PRS.hpp             |   85 +
 ext/sgtelib/src/Surrogate_PRS_CAT.cpp         |  139 +
 ext/sgtelib/src/Surrogate_PRS_CAT.hpp         |   61 +
 ext/sgtelib/src/Surrogate_PRS_EDGE.cpp        |  134 +
 ext/sgtelib/src/Surrogate_PRS_EDGE.hpp        |   59 +
 ext/sgtelib/src/Surrogate_Parameters.cpp      | 1221 ++++
 ext/sgtelib/src/Surrogate_Parameters.hpp      |  150 +
 ext/sgtelib/src/Surrogate_RBF.cpp             |  303 +
 ext/sgtelib/src/Surrogate_RBF.hpp             |  107 +
 ext/sgtelib/src/Surrogate_Utils.cpp           |  735 ++
 ext/sgtelib/src/Surrogate_Utils.hpp           |  210 +
 ext/sgtelib/src/Tests.cpp                     | 1580 +++++
 ext/sgtelib/src/Tests.hpp                     |   74 +
 ext/sgtelib/src/TrainingSet.cpp               | 1436 ++++
 ext/sgtelib/src/TrainingSet.hpp               |  232 +
 ext/sgtelib/src/header.txt                    |   24 +
 ext/sgtelib/src/makefile                      |   97 +
 ext/sgtelib/src/sgtelib.cpp                   |  782 +++
 ext/sgtelib/src/sgtelib.hpp                   |   46 +
 ext/sgtelib/src/sgtelib_help.cpp              |  516 ++
 ext/sgtelib/src/sgtelib_help.hpp              |   44 +
 ext/sgtelib/user_guide/sgtelib_user_guide.pdf |  Bin 0 -> 108063 bytes
 install/install.sh                            |   46 +-
 src/Barrier.cpp                               |  127 +-
 src/Barrier.hpp                               |   86 +-
 src/Cache.cpp                                 |   97 +-
 src/Cache.hpp                                 |   93 +-
 src/Cache_File_Point.cpp                      |   86 +-
 src/Cache_File_Point.hpp                      |   86 +-
 src/Cache_Point.cpp                           |   86 +-
 src/Cache_Point.hpp                           |   86 +-
 src/Cache_Search.cpp                          |   86 +-
 src/Cache_Search.hpp                          |   86 +-
 src/Clock.cpp                                 |   86 +-
 src/Clock.hpp                                 |   86 +-
 src/Direction.cpp                             |   96 +-
 src/Direction.hpp                             |   88 +-
 src/Directions.cpp                            |  121 +-
 src/Directions.hpp                            |  100 +-
 src/Display.cpp                               |  136 +-
 src/Display.hpp                               |   97 +-
 src/Double.cpp                                |   99 +-
 src/Double.hpp                                |   97 +-
 src/Eval_Point.cpp                            |   94 +-
 src/Eval_Point.hpp                            |  175 +-
 src/Evaluator.cpp                             |  115 +-
 src/Evaluator.hpp                             |  508 +-
 src/Evaluator_Control.cpp                     |  583 +-
 src/Evaluator_Control.hpp                     |  164 +-
 src/Exception.cpp                             |   89 +-
 src/Exception.hpp                             |   86 +-
 src/Extended_Poll.cpp                         |  206 +-
 src/Extended_Poll.hpp                         |   86 +-
 src/Filter_Point.hpp                          |   86 +-
 src/GMesh.cpp                                 |  650 ++
 src/GMesh.hpp                                 |  325 +
 src/LH_Search.cpp                             |  106 +-
 src/LH_Search.hpp                             |   86 +-
 src/L_Curve.cpp                               |   86 +-
 src/L_Curve.hpp                               |   86 +-
 src/Mads.cpp                                  |  270 +-
 src/Mads.hpp                                  |  181 +-
 src/Makefile.am                               |   15 +-
 src/Makefile.in                               | 1575 +++++
 src/Model_Sorted_Point.cpp                    |   86 +-
 src/Model_Sorted_Point.hpp                    |   86 +-
 src/Model_Stats.cpp                           |   88 +-
 src/Model_Stats.hpp                           |   88 +-
 src/Multi_Obj_Evaluator.cpp                   |   86 +-
 src/Multi_Obj_Evaluator.hpp                   |   86 +-
 src/Multi_Obj_Quad_Model_Evaluator.hpp        |  142 +-
 src/OrthogonalMesh.cpp                        |  128 +-
 src/OrthogonalMesh.hpp                        |  196 +-
 src/Parameter_Entries.cpp                     |   86 +-
 src/Parameter_Entries.hpp                     |   86 +-
 src/Parameter_Entry.cpp                       |   88 +-
 src/Parameter_Entry.hpp                       |   90 +-
 src/Parameters.cpp                            | 1288 +++-
 src/Parameters.hpp                            |  375 +-
 src/Pareto_Front.cpp                          |   86 +-
 src/Pareto_Front.hpp                          |   86 +-
 src/Pareto_Point.cpp                          |   86 +-
 src/Pareto_Point.hpp                          |   86 +-
 src/Phase_One_Evaluator.cpp                   |   86 +-
 src/Phase_One_Evaluator.hpp                   |   86 +-
 src/Phase_One_Search.cpp                      |  109 +-
 src/Phase_One_Search.hpp                      |  176 +-
 src/Point.cpp                                 |   88 +-
 src/Point.hpp                                 |  110 +-
 src/Priority_Eval_Point.cpp                   |   93 +-
 src/Priority_Eval_Point.hpp                   |  444 +-
 src/Quad_Model.cpp                            |   92 +-
 src/Quad_Model.hpp                            |  892 +--
 src/Quad_Model_Evaluator.cpp                  |  106 +-
 src/Quad_Model_Evaluator.hpp                  |   86 +-
 src/Quad_Model_Search.cpp                     |   92 +-
 src/Quad_Model_Search.hpp                     |   88 +-
 src/RNG.cpp                                   |   88 +-
 src/RNG.hpp                                   |  190 +-
 src/Random_Pickup.cpp                         |   86 +-
 src/Random_Pickup.hpp                         |   86 +-
 src/SMesh.cpp                                 |  120 +-
 src/SMesh.hpp                                 |  446 +-
 src/Search.hpp                                |   86 +-
 src/Set_Element.hpp                           |  310 +-
 src/Sgtelib_Model_Evaluator.cpp               |   48 +
 src/Sgtelib_Model_Evaluator.hpp               |   73 +
 src/Sgtelib_Model_Manager.cpp                 |  997 +++
 src/Sgtelib_Model_Manager.hpp                 |  126 +
 src/Sgtelib_Model_Search.cpp                  | 1913 ++++++
 src/Sgtelib_Model_Search.hpp                  |  262 +
 src/Signature.cpp                             |  294 +-
 src/Signature.hpp                             |  208 +-
 src/Signature_Element.hpp                     |   86 +-
 src/Single_Obj_Quad_Model_Evaluator.hpp       |  142 +-
 src/Slave.cpp                                 |   87 +-
 src/Slave.hpp                                 |   86 +-
 src/Speculative_Search.cpp                    |   94 +-
 src/Speculative_Search.hpp                    |  188 +-
 src/Stats.cpp                                 |   88 +-
 src/Stats.hpp                                 |  112 +-
 src/Uncopyable.hpp                            |   86 +-
 src/VNS_Search.cpp                            |  214 +-
 src/VNS_Search.hpp                            |   86 +-
 src/Variable_Group.cpp                        |   94 +-
 src/Variable_Group.hpp                        |  100 +-
 src/XMesh.cpp                                 |  102 +-
 src/XMesh.hpp                                 |  136 +-
 src/defines.hpp                               |  741 +-
 src/lgpl.txt                                  |  330 +-
 src/nomad.cpp                                 |  159 +-
 src/nomad.hpp                                 |   88 +-
 src/utils.cpp                                 |  243 +-
 src/utils.hpp                                 |  140 +-
 tools/COOP-MADS/makefile                      |    2 +-
 tools/COOP-MADS/problems/RHEOLOGY/x0.txt      |    6 +-
 tools/PSD-MADS/Cache_Server.cpp               | 1615 +++--
 tools/PSD-MADS/Cache_Server.hpp               |  215 +-
 tools/PSD-MADS/Master_Slaves.cpp              |  322 +-
 tools/PSD-MADS/Master_Slaves.hpp              |  162 +-
 tools/PSD-MADS/main.cpp                       |  281 +-
 tools/PSD-MADS/makefile                       |    5 +-
 tools/PSD-MADS/readme.txt                     |   25 +-
 tools/PSD-MADS_library_mode/makefile          |    2 +-
 tools/SENSITIVITY/cache_inspect/makefile      |    2 +-
 tools/SENSITIVITY/detailed_analysis/makefile  |    2 +-
 .../black-box/surrogate/RungeKutta.cpp        |  160 +-
 .../black-box/surrogate/RungeKutta.hpp        |   74 +-
 .../black-box/surrogate/bissection.cpp        |   54 +-
 .../black-box/surrogate/bissection.hpp        |   62 +-
 .../styrene/black-box/surrogate/burner.cpp    |  574 +-
 .../styrene/black-box/surrogate/burner.hpp    |  118 +-
 .../styrene/black-box/surrogate/cashflow.cpp  |  228 +-
 .../styrene/black-box/surrogate/cashflow.hpp  |   66 +-
 .../styrene/black-box/surrogate/chemical.cpp  | 1058 +--
 .../styrene/black-box/surrogate/chemical.hpp  |   96 +-
 .../styrene/black-box/surrogate/column.cpp    |  580 +-
 .../styrene/black-box/surrogate/column.hpp    |  122 +-
 .../styrene/black-box/surrogate/combrx.cpp    |  132 +-
 .../styrene/black-box/surrogate/combrx.hpp    |   58 +-
 .../styrene/black-box/surrogate/flash.cpp     |  440 +-
 .../styrene/black-box/surrogate/flash.hpp     |  110 +-
 .../styrene/black-box/surrogate/heatx.cpp     |  292 +-
 .../styrene/black-box/surrogate/heatx.hpp     |   98 +-
 .../styrene/black-box/surrogate/mix.cpp       |  160 +-
 .../styrene/black-box/surrogate/mix.hpp       |   88 +-
 .../styrene/black-box/surrogate/pfr.cpp       |  348 +-
 .../styrene/black-box/surrogate/pfr.hpp       |   72 +-
 .../black-box/surrogate/profitability.cpp     |  276 +-
 .../black-box/surrogate/profitability.hpp     |   60 +-
 .../styrene/black-box/surrogate/pump.cpp      |  188 +-
 .../styrene/black-box/surrogate/pump.hpp      |   92 +-
 .../styrene/black-box/surrogate/reaction.cpp  |  408 +-
 .../styrene/black-box/surrogate/reaction.hpp  |   64 +-
 .../styrene/black-box/surrogate/reactor.cpp   |  200 +-
 .../styrene/black-box/surrogate/reactor.hpp   |   96 +-
 .../styrene/black-box/surrogate/secant.cpp    |   94 +-
 .../styrene/black-box/surrogate/secant.hpp    |   62 +-
 .../styrene/black-box/surrogate/servor.cpp    | 1076 +--
 .../styrene/black-box/surrogate/servor.hpp    |  202 +-
 .../styrene/black-box/surrogate/split.cpp     |  106 +-
 .../styrene/black-box/surrogate/split.hpp     |   86 +-
 .../styrene/black-box/surrogate/stream.cpp    |  530 +-
 .../styrene/black-box/surrogate/stream.hpp    |  172 +-
 .../styrene/black-box/surrogate/thermolib.cpp |  350 +-
 .../styrene/black-box/surrogate/thermolib.hpp |  100 +-
 .../styrene/black-box/truth/RungeKutta.cpp    |  160 +-
 .../styrene/black-box/truth/RungeKutta.hpp    |   74 +-
 .../problems/styrene/black-box/truth/bb.cpp   |  722 +-
 .../styrene/black-box/truth/bissection.cpp    |   54 +-
 .../styrene/black-box/truth/bissection.hpp    |   62 +-
 .../styrene/black-box/truth/burner.cpp        |  574 +-
 .../styrene/black-box/truth/burner.hpp        |  118 +-
 .../styrene/black-box/truth/cashflow.cpp      |  228 +-
 .../styrene/black-box/truth/cashflow.hpp      |   66 +-
 .../styrene/black-box/truth/chemical.cpp      | 1058 +--
 .../styrene/black-box/truth/chemical.hpp      |   96 +-
 .../styrene/black-box/truth/column.cpp        |  580 +-
 .../styrene/black-box/truth/column.hpp        |  122 +-
 .../styrene/black-box/truth/combrx.cpp        |  132 +-
 .../styrene/black-box/truth/combrx.hpp        |   58 +-
 .../styrene/black-box/truth/defines.hpp       |  178 +-
 .../styrene/black-box/truth/flash.cpp         |  440 +-
 .../styrene/black-box/truth/flash.hpp         |  110 +-
 .../styrene/black-box/truth/heatx.cpp         |  292 +-
 .../styrene/black-box/truth/heatx.hpp         |   98 +-
 .../problems/styrene/black-box/truth/mix.cpp  |  160 +-
 .../problems/styrene/black-box/truth/mix.hpp  |   88 +-
 .../problems/styrene/black-box/truth/pfr.cpp  |  344 +-
 .../problems/styrene/black-box/truth/pfr.hpp  |   72 +-
 .../styrene/black-box/truth/profitability.cpp |  276 +-
 .../styrene/black-box/truth/profitability.hpp |   60 +-
 .../problems/styrene/black-box/truth/pump.cpp |  188 +-
 .../problems/styrene/black-box/truth/pump.hpp |   92 +-
 .../styrene/black-box/truth/reaction.cpp      |  408 +-
 .../styrene/black-box/truth/reaction.hpp      |   64 +-
 .../styrene/black-box/truth/reactor.cpp       |  200 +-
 .../styrene/black-box/truth/reactor.hpp       |   96 +-
 .../styrene/black-box/truth/secant.cpp        |   94 +-
 .../styrene/black-box/truth/secant.hpp        |   62 +-
 .../styrene/black-box/truth/servor.cpp        | 1076 +--
 .../styrene/black-box/truth/servor.hpp        |  202 +-
 .../styrene/black-box/truth/split.cpp         |  106 +-
 .../styrene/black-box/truth/split.hpp         |   86 +-
 .../styrene/black-box/truth/stream.cpp        |  530 +-
 .../styrene/black-box/truth/stream.hpp        |  172 +-
 .../styrene/black-box/truth/thermolib.cpp     |  348 +-
 .../styrene/black-box/truth/thermolib.hpp     |  100 +-
 utils/DisplayCacheFile/build.m                |  177 +-
 .../{cache1.bin => cache1_OSX.bin}            |  Bin
 utils/DisplayCacheFile/makefile               |    4 +-
 utils/MergeCacheFiles/build.m                 |  177 +-
 .../{cache1.bin => cache1_OSX.bin}            |  Bin
 .../{cache2.bin => cache2_OSX.bin}            |  Bin
 .../{cache3.bin => cache3_OSX.bin}            |  Bin
 utils/MergeCacheFiles/makefile                |    2 +-
 utils/Run_TestSuite/runNomadAll_parallel.pl   |   73 +-
 384 files changed, 61042 insertions(+), 24671 deletions(-)
 create mode 100644 CONTRIBUTORS
 create mode 100644 LICENSE
 create mode 100644 examples/advanced/categorical/HeatShield/HS_Material.cpp
 create mode 100644 examples/advanced/categorical/HeatShield/HS_Material.hpp
 create mode 100644 examples/advanced/categorical/HeatShield/HS_Param.cpp
 create mode 100644 examples/advanced/categorical/HeatShield/HS_Param.hpp
 create mode 100644 examples/advanced/categorical/HeatShield/makefile
 create mode 100644 examples/advanced/categorical/HeatShield/nomad_HS.cpp
 delete mode 100644 examples/interfaces/AMPL/runExample.log
 delete mode 100644 examples/interfaces/CUTEr/.SIF
 delete mode 100644 examples/interfaces/CUTEr/runExample.log
 delete mode 100644 examples/interfaces/FORTRAN/example2/runExample.log
 delete mode 100644 examples/interfaces/Matlab_MEX/example_int_variables/run2.m
 delete mode 100644 examples/interfaces/NOMAD2/runExample.log
 create mode 100644 examples/interfaces/pyNomad_Beta/PyNomad.cpp
 create mode 100644 examples/interfaces/pyNomad_Beta/PyNomad.pyx
 create mode 100755 examples/interfaces/pyNomad_Beta/nomadCySimpleInterface.cpp
 create mode 100644 examples/interfaces/pyNomad_Beta/readme
 create mode 100644 examples/interfaces/pyNomad_Beta/runTest.py
 create mode 100644 examples/interfaces/pyNomad_Beta/runTestInfoHelp.py
 create mode 100644 examples/interfaces/pyNomad_Beta/runTest_2.py
 create mode 100644 examples/interfaces/pyNomad_Beta/runTest_BlockEval.py
 create mode 100644 examples/interfaces/pyNomad_Beta/setup_PyNomad.py
 create mode 100644 ext/sgtelib/example/X.txt
 create mode 100644 ext/sgtelib/example/XX.txt
 create mode 100644 ext/sgtelib/example/Z.txt
 create mode 100644 ext/sgtelib/example/ZZ.txt
 create mode 100644 ext/sgtelib/example/comparison/main_metrics_comparison.m
 create mode 100644 ext/sgtelib/example/comparison/plot_metrics_comparison.m
 create mode 100644 ext/sgtelib/example/comparison/sgtelib_example_compare_models_1D.m
 create mode 100644 ext/sgtelib/example/sgtelib_example_SurrogateBasedOptim.m
 create mode 100644 ext/sgtelib/example/sgtelib_example_SurrogateBasedOptim_EI.m
 create mode 100644 ext/sgtelib/example/sgtelib_example_plot1D.m
 create mode 100644 ext/sgtelib/example/sgtelib_example_plot2D_cat.m
 create mode 100644 ext/sgtelib/example/sgtelib_example_plot2D_compare.m
 create mode 100644 ext/sgtelib/example/sgtelib_example_plot2D_edge.m
 create mode 100644 ext/sgtelib/example/sgtelib_example_plot2D_single.m
 create mode 100644 ext/sgtelib/example/sgtelib_example_plotND.m
 create mode 100644 ext/sgtelib/matlab_server/sgtelib_server_cv.m
 create mode 100644 ext/sgtelib/matlab_server/sgtelib_server_example.m
 create mode 100644 ext/sgtelib/matlab_server/sgtelib_server_info.m
 create mode 100644 ext/sgtelib/matlab_server/sgtelib_server_metric.m
 create mode 100644 ext/sgtelib/matlab_server/sgtelib_server_newdata.m
 create mode 100644 ext/sgtelib/matlab_server/sgtelib_server_ping.m
 create mode 100644 ext/sgtelib/matlab_server/sgtelib_server_predict.m
 create mode 100644 ext/sgtelib/matlab_server/sgtelib_server_read_matrix.m
 create mode 100644 ext/sgtelib/matlab_server/sgtelib_server_ready.m
 create mode 100644 ext/sgtelib/matlab_server/sgtelib_server_reset.m
 create mode 100644 ext/sgtelib/matlab_server/sgtelib_server_start.m
 create mode 100644 ext/sgtelib/matlab_server/sgtelib_server_stop.m
 create mode 100644 ext/sgtelib/matlab_server/sgtelib_server_wait_file.m
 create mode 100644 ext/sgtelib/matlab_server/sgtelib_server_write_matrix.m
 create mode 100644 ext/sgtelib/src/Defines.hpp
 create mode 100644 ext/sgtelib/src/Exception.hpp
 create mode 100644 ext/sgtelib/src/Kernel.cpp
 create mode 100644 ext/sgtelib/src/Kernel.hpp
 create mode 100644 ext/sgtelib/src/Matrix.cpp
 create mode 100644 ext/sgtelib/src/Matrix.hpp
 create mode 100644 ext/sgtelib/src/Surrogate.cpp
 create mode 100644 ext/sgtelib/src/Surrogate.hpp
 create mode 100644 ext/sgtelib/src/Surrogate_CN.cpp
 create mode 100644 ext/sgtelib/src/Surrogate_CN.hpp
 create mode 100644 ext/sgtelib/src/Surrogate_Ensemble.cpp
 create mode 100644 ext/sgtelib/src/Surrogate_Ensemble.hpp
 create mode 100644 ext/sgtelib/src/Surrogate_Factory.cpp
 create mode 100644 ext/sgtelib/src/Surrogate_Factory.hpp
 create mode 100644 ext/sgtelib/src/Surrogate_KS.cpp
 create mode 100644 ext/sgtelib/src/Surrogate_KS.hpp
 create mode 100644 ext/sgtelib/src/Surrogate_Kriging.cpp
 create mode 100644 ext/sgtelib/src/Surrogate_Kriging.hpp
 create mode 100644 ext/sgtelib/src/Surrogate_LOWESS.cpp
 create mode 100644 ext/sgtelib/src/Surrogate_LOWESS.hpp
 create mode 100644 ext/sgtelib/src/Surrogate_PRS.cpp
 create mode 100644 ext/sgtelib/src/Surrogate_PRS.hpp
 create mode 100644 ext/sgtelib/src/Surrogate_PRS_CAT.cpp
 create mode 100644 ext/sgtelib/src/Surrogate_PRS_CAT.hpp
 create mode 100644 ext/sgtelib/src/Surrogate_PRS_EDGE.cpp
 create mode 100644 ext/sgtelib/src/Surrogate_PRS_EDGE.hpp
 create mode 100644 ext/sgtelib/src/Surrogate_Parameters.cpp
 create mode 100644 ext/sgtelib/src/Surrogate_Parameters.hpp
 create mode 100644 ext/sgtelib/src/Surrogate_RBF.cpp
 create mode 100644 ext/sgtelib/src/Surrogate_RBF.hpp
 create mode 100644 ext/sgtelib/src/Surrogate_Utils.cpp
 create mode 100644 ext/sgtelib/src/Surrogate_Utils.hpp
 create mode 100644 ext/sgtelib/src/Tests.cpp
 create mode 100644 ext/sgtelib/src/Tests.hpp
 create mode 100644 ext/sgtelib/src/TrainingSet.cpp
 create mode 100644 ext/sgtelib/src/TrainingSet.hpp
 create mode 100644 ext/sgtelib/src/header.txt
 create mode 100644 ext/sgtelib/src/makefile
 create mode 100644 ext/sgtelib/src/sgtelib.cpp
 create mode 100644 ext/sgtelib/src/sgtelib.hpp
 create mode 100644 ext/sgtelib/src/sgtelib_help.cpp
 create mode 100644 ext/sgtelib/src/sgtelib_help.hpp
 create mode 100644 ext/sgtelib/user_guide/sgtelib_user_guide.pdf
 create mode 100644 src/GMesh.cpp
 create mode 100644 src/GMesh.hpp
 create mode 100644 src/Makefile.in
 create mode 100644 src/Sgtelib_Model_Evaluator.cpp
 create mode 100644 src/Sgtelib_Model_Evaluator.hpp
 create mode 100644 src/Sgtelib_Model_Manager.cpp
 create mode 100644 src/Sgtelib_Model_Manager.hpp
 create mode 100644 src/Sgtelib_Model_Search.cpp
 create mode 100644 src/Sgtelib_Model_Search.hpp
 rename utils/DisplayCacheFile/{cache1.bin => cache1_OSX.bin} (100%)
 rename utils/MergeCacheFiles/{cache1.bin => cache1_OSX.bin} (100%)
 rename utils/MergeCacheFiles/{cache2.bin => cache2_OSX.bin} (100%)
 rename utils/MergeCacheFiles/{cache3.bin => cache3_OSX.bin} (100%)

diff --git a/CONTRIBUTORS b/CONTRIBUTORS
new file mode 100644
index 0000000..279bffe
--- /dev/null
+++ b/CONTRIBUTORS
@@ -0,0 +1,30 @@
+# Some features of NOMAD have been developed under the impulsion of 
+# enthusiastic users/developers/researchers/students/engineers.
+# Many feedbacks and tests significantly contributed to improve NOMAD.
+# The constributors to the NOMAD project are listed below.
+# Contact us at nomad@gerad.ca if you think your name is missing from
+# the list. 
+
+Maud Bay, 
+Eve Bélisle, 
+Vincent Garnier, 
+Michal Kvasnička, 
+Alexander Lutz, 
+Rosa-Maria Torres-Calderon, 
+Yuri Vilmanis, 
+Martin Posch, 
+Etienne Duclos, 
+Emmanuel Bigeon, 
+Walid Zghal, 
+Jerawan Armstrong, 
+Stéphane Alarie,
+Klaus Truemper,
+Andrea Ianni,
+Pascal Côté,
+Florian Chambon, 
+Mohamed Sylla,
+Quentin Reynaud,
+Anthony Guillou,
+Dominic Orban, 
+Amina Ihaddadene,
+Viviane Rochon Montplaisir 
diff --git a/ChangeLog b/ChangeLog
index b2f5030..0545595 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+2017-03: NOMAD 3.8
+	-Surrogate library
+	-Granular variables
 2015-03: NOMAD 3.7
 	-Anisotropic scaling
 	-Block evaluations
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..65c5ca8
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,165 @@
+                   GNU LESSER GENERAL PUBLIC LICENSE
+                       Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+  This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+  0. Additional Definitions.
+
+  As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+  "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+  An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+  A "Combined Work" is a work produced by combining or linking an
+Application with the Library.  The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+  The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+  The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+  1. Exception to Section 3 of the GNU GPL.
+
+  You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+  2. Conveying Modified Versions.
+
+  If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+   a) under this License, provided that you make a good faith effort to
+   ensure that, in the event an Application does not supply the
+   function or data, the facility still operates, and performs
+   whatever part of its purpose remains meaningful, or
+
+   b) under the GNU GPL, with none of the additional permissions of
+   this License applicable to that copy.
+
+  3. Object Code Incorporating Material from Library Header Files.
+
+  The object code form of an Application may incorporate material from
+a header file that is part of the Library.  You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+   a) Give prominent notice with each copy of the object code that the
+   Library is used in it and that the Library and its use are
+   covered by this License.
+
+   b) Accompany the object code with a copy of the GNU GPL and this license
+   document.
+
+  4. Combined Works.
+
+  You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+   a) Give prominent notice with each copy of the Combined Work that
+   the Library is used in it and that the Library and its use are
+   covered by this License.
+
+   b) Accompany the Combined Work with a copy of the GNU GPL and this license
+   document.
+
+   c) For a Combined Work that displays copyright notices during
+   execution, include the copyright notice for the Library among
+   these notices, as well as a reference directing the user to the
+   copies of the GNU GPL and this license document.
+
+   d) Do one of the following:
+
+       0) Convey the Minimal Corresponding Source under the terms of this
+       License, and the Corresponding Application Code in a form
+       suitable for, and under terms that permit, the user to
+       recombine or relink the Application with a modified version of
+       the Linked Version to produce a modified Combined Work, in the
+       manner specified by section 6 of the GNU GPL for conveying
+       Corresponding Source.
+
+       1) Use a suitable shared library mechanism for linking with the
+       Library.  A suitable mechanism is one that (a) uses at run time
+       a copy of the Library already present on the user's computer
+       system, and (b) will operate properly with a modified version
+       of the Library that is interface-compatible with the Linked
+       Version.
+
+   e) Provide Installation Information, but only if you would otherwise
+   be required to provide such information under section 6 of the
+   GNU GPL, and only to the extent that such information is
+   necessary to install and execute a modified version of the
+   Combined Work produced by recombining or relinking the
+   Application with a modified version of the Linked Version. (If
+   you use option 4d0, the Installation Information must accompany
+   the Minimal Corresponding Source and Corresponding Application
+   Code. If you use option 4d1, you must provide the Installation
+   Information in the manner specified by section 6 of the GNU GPL
+   for conveying Corresponding Source.)
+
+  5. Combined Libraries.
+
+  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 that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+   a) Accompany the combined library with a copy of the same work based
+   on the Library, uncombined with any other library facilities,
+   conveyed under the terms of this License.
+
+   b) Give prominent notice with the combined library that part of it
+   is a work based on the Library, and explaining where to find the
+   accompanying uncombined form of the same work.
+
+  6. Revised Versions of the GNU Lesser General Public License.
+
+  The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser 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 as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+  If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
diff --git a/README b/README
index 4966d0c..77dd913 100644
--- a/README
+++ b/README
@@ -1,92 +1,77 @@
-#######################################################################################
-#                                                                                     #
-#                                  README                                             #
-#                                                                                     #
-#######################################################################################
-#                                                                                     #
-#            NOMAD - Nonsmooth Optimization by Mesh Adaptive Direct search            #
-#            V 3.7.2                                                                  #
-#                                                                                     #
-#	Copyright (C) 2001-2015                                                       #
-#                                                                                     #
-#                           Mark Abramson	 - the Boeing Company, Seattle        #
-#                           Charles Audet	 - Ecole Polytechnique, Montreal      #
-#                           Gilles Couture	 - Ecole Polytechnique, Montreal      #
-#                           John Dennis		 - Rice University, Houston           #
-#                           Sebastien Le Digabel - Ecole Polytechnique, Montreal      #
-#                           Christophe Tribes    - Ecole Polytechnique, Montreal      #
-#                                                                                     #
-#-------------------------------------------------------------------------------------#
-#                                                                                     # 
-#	Contact information:                                                          #
-#    Ecole Polytechnique de Montreal - GERAD                                          #
-#    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  #
-#    e-mail: nomad@gerad.ca                                                           #
-#    phone : 1-514-340-6053 #6928                                                     #
-#    fax   : 1-514-340-5665                                                           #
-#                                                                                     #
-# This program is free software: you can redistribute it and/or modify it under the   #
-# terms of the GNU Lesser General Public License as published by the Free Software    #
-# Foundation, either version 3 of the License, or (at your option) any later          #
-# version.                                                                            #
-#                                                                                     #
-# This program is distributed in the hope that it will be useful, but WITHOUT ANY     #
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A     #
-# PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.    #
-#                                                                                     #
-#
-# You should have received a copy of the GNU Lesser General Public License along      #
-# with this program. If not, see <http://www.gnu.org/licenses/>.                      #
-#                                                                                     #
-# You can find information on the NOMAD software at www.gerad.ca/nomad                #
-#######################################################################################
-
-
-     AUTHORS :
-
-* Mark A. Abramson (Mark.A.Abramson@boeing.com), The Boeing Company.
-
-* Charles Audet (www.gerad.ca/Charles.Audet), GERAD and Departement de
-mathematiques et de genie industriel, ecole Polytechnique de Montreal.
-
-* J.E. Dennis Jr. (www.caam.rice.edu/~dennis), Computational and Applied
-Mathematics Department, Rice University.
-
-* Sebastien Le Digabel (www.gerad.ca/Sebastien.Le.Digabel), GERAD and Departement
-de mathematiques et de genie industriel, ecole Polytechnique de Montreal.
-
-* Christophe Tribes, GERAD, Departement
-de mathematiques et de genie industriel, Department of mechanical engineering, ecole Polytechnique de Montreal.
-
-     DESCRIPTION :
-
-NOMAD is a C++ implementation of the Mesh Adaptive Direct Search (MADS) algorithm,
-designed for constrained optimization of black-box functions.
-
-The project started in 2001, and was funded in part by AFOSR, CRIAQ, FQRNT, LANL,
-NSERC, the Boeing Company, and ExxonMobil Upstream Research Company.
-
-
-     WEB PAGE :
-
-http://www.gerad.ca/nomad/
-
-
-     FURTHER INSTRUCTIONS :
+################################################################################
+#                                                                              #
+#                                    README                                    #
+#                                                                              #
+#------------------------------------------------------------------------------#
+#  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             #
+#          version 3.8.1                                                       #
+#                                                                              #
+#  NOMAD - version 3.8.1 has been created by                                   #
+#                 Charles Audet        - Ecole Polytechnique de Montreal       #
+#                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       #
+#                 Christophe Tribes    - Ecole Polytechnique de Montreal       #
+#                                                                              #
+#  The copyright of NOMAD - version 3.8.1 is owned by                          #
+#                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       #
+#                 Christophe Tribes    - Ecole Polytechnique de Montreal       #
+#                                                                              #
+#  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     #
+#  and IVADO.                                                                  #
+#                                                                              #
+#  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  #
+#  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  #
+#  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       #
+#                                                                              #
+#  Contact information:                                                        #
+#    Ecole Polytechnique de Montreal - GERAD                                   #
+#    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           #
+#    e-mail: nomad@gerad.ca                                                    #
+#    phone : 1-514-340-6053 #6928                                              #
+#    fax   : 1-514-340-5665                                                    #
+#                                                                              #
+#  This program is free software: you can redistribute it and/or modify it     #
+#  under the terms of the GNU Lesser General Public License as published by    #
+#  the Free Software Foundation, either version 3 of the License, or (at your  #
+#  option) any later version.                                                  #
+#                                                                              #
+#  This program is distributed in the hope that it will be useful, but WITHOUT #
+#  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       #
+#  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License #
+#  for more details.                                                           #
+#                                                                              #
+#  You should have received a copy of the GNU Lesser General Public License    #
+#  along with this program. If not, see <http://www.gnu.org/licenses/>.        #
+#                                                                              #
+#  You can find information on the NOMAD software at www.gerad.ca/nomad        #
+#------------------------------------------------------------------------------#
+
+
+DESCRIPTION :
+
+NOMAD is a C++ implementation of the Mesh Adaptive Direct Search (MADS)
+algorithm, designed for constrained optimization of black-box functions.
+
+
+WEB PAGE :
+
+https://www.gerad.ca/nomad/
+
+
+FURTHER INSTRUCTIONS :
 
 Please visit the web page for futher instruction on the following:
 
-  * Downloading, configuring, compiling, and installing NOMAD
-  * Using NOMAD and setting the parameters
-  * Reports on NOMAD
-  * How to report bugs and make enhancement requests
-  * And more...
+* Downloading, configuring, compiling, and installing NOMAD
+* Using NOMAD and setting the parameters
+* Reports on NOMAD
+* How to report bugs and make enhancement requests
+* And more...
 
 
-     BATCH OR LIBRARY MODE :
+BATCH OR LIBRARY MODE :
 
 NOMAD is designed to be used in two different modes : batch and library.
-The batch mode is intended for a basic ans simple usage of the MADS method,
+The batch mode is intended for a basic and simple usage of the MADS method,
 while the library mode allows more flexibility.
 For example, in batch mode, users must define their separate black-box program,
 that will be called with system calls by NOMAD.
@@ -94,21 +79,28 @@ In library mode, users can define their black-box function as C++ code
 that will be directly called by NOMAD, without system calls and temporary files.
 
 
-     TYPES OF USE :
+EXECUTABLES :
 
-There are two ways of using NOMAD, one can directly use an executable or compile
-the source code.
-
-NOMAD batch mode executable is located in directory $NOMAD_HOME/bin or %NOMAD_HOME%\bin.
+On Windows and Mac OS X platforms, NOMAD batch mode executable is located in
+directory $NOMAD_HOME/bin or %NOMAD_HOME%\bin.
 In order to avoid compiling the code, you can simply use this executable.
 
+COMPILATION :
+
+On Linux, Unix, and Mac OS X, NOMAD can be compiled using the makefile located
+in $NOMAD_HOME/bin. Alternatively, using the script install.sh located in
+directory $NOMAD_HOME/install will install all NOMAD binaries.
+
+On Windows, NOMAD can be compiled using the Microsoft Visual Studio projet
+located in the %NOMAD_EXAMPLES%\VisualStudio directory.
+
 
-     HOW TO EXECUTE NOMAD :
+HOW TO EXECUTE NOMAD :
 
 For informations about the execution of NOMAD, please read the user guide :
 
-  $NOMAD_HOME/doc/user_guide.pdf or %NOMAD_HOME%\doc\user_guide.pdf
+$NOMAD_HOME/doc/user_guide.pdf or %NOMAD_HOME%\doc\user_guide.pdf
 
 or
 
-  http://www.gerad.ca/NOMAD/Downloads/user_guide.pdf
+https://www.gerad.ca/NOMAD/Downloads/user_guide.pdf
diff --git a/doc/user_guide.pdf b/doc/user_guide.pdf
index 89d8868221345c8ab22ef416259f945dd8a164ba..e20a6622939b1e82371ce68d66117e1738f09bef 100644
GIT binary patch
delta 1337689
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
ZUyq;u-%VPM$IR5k$dpS})z#mP3jl?lHuwMl

delta 1360915
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%0D*PHhr_)tL581KYsN*=kLvb%fA|&4bOHfE_{A{
z-Vdwk*}H#Si59wSYW29LGHS1C=w7wm{?XwZ-`}k-+q?7g-PrR}>$g>{o-eZM%(ho|
zzv@nn;(vWY>T}QMj~aG*_gDU3ypG>6f6pte-8FOft^2fP`8f&OiOW{E#H3z*(ewIL
zr%saMmPN1L%*_0kooRTTzka{#@9QZsf4t&0uUI^1U)q$ynEKv5-{Qj?UvFL~^7b%j
zvcw{YX`Zjc`t6miJ^ZsOo~pOj*FBo^_KDuduajq;pRzf8?WJ?S&djf}7cS?JFOPre
zm3=$(6ST^idF}a?{m1SH=dYVISN@Bq-G1>GR~62e{MEU9zx~SBOB}x{mxq7V{4Z61
z_wl1_w}-m>++?e3tyk48`xCqGT>quZpS6D+iMEZpE&Esd?~=nR&tB!8+MHHfpVR-i
zIHdNK)Jx0NH6?53%7@#hzdrxXer<c^z9`*U-A3VO=lzg6zBRVym2T%tskw#wY}VeJ
zv?^}$W3Nw#(ZX_DRq_4zbMD374_g0qL*E*?a~AUbj~;)T`^)~-uLtX%>%}j>{`Ky)
zb;hs0w?=XPdb{9U#8<ESxXkqWxwgi=|39g1D|+>=^YZS`sjJTSywVWgpEgA>roQ)1
zWaQFQUw4Md+OmV@!X0L`RPi$YjX9^C^>^j`?Dd7Ee<P<z*PM&fUwU`_d8<=vLqcEa
zl#2YS{y6j6^O9QQI@wU|<C>Gze`(G?6{B73yVZXB?4xVL-QN8#`FQ=`>w1mn%e9tI
zoO{pJ?{CSJ&+*||Yv;U*6?+|7awTfz)CG&RRLi$$nLfMucB}UEYT3}Kp^InAh1%y$
zd$l~Q@7KyI@ygpPt{=aC>SD|);pH*us}}#tEnW0+^V>aF14AQC=l;kG>78#mZ+ZDd
z)9zQNdS7Yxcda*Funwfw`eNYUviqL(_Rp#{ruIy_UKVR@zDjHIrI7b-JAZ`U4^La>
z_kK=%@A<%g{b#Rlj6MIT=w|V;mpxMPzprOUWv@wFe(~DoCl~kaJGa!t#8183PcQVb
z(WQS@s~)@my`C{kGneBHsORt3z*BGAct^hf?&qW0>lP_i@7=C_e#M;!#oxR%-$t$I
ztFM>68vaVBG^DpDF8e`N&6ViowqNHPzFrY!={NIhbKR-sM%RrC(F2W&VOCF0piwc*
z#IOe%d{K}(Xs%9WLrW|8l2p)|RclZsBCK#2Jo_fcb-<J5#&JtdokR$~{(v9To5ych
zPJCFewBUb##Pk2MzqRIHpBdiy(SH5hy?S2JuZ?db%_F5p%|BOvwnS>@tKxN;DWxxt
zty)&R?912CmyfKUZu_-z<~-T`>%zai*mHHN^wVFaw`TQpZ+JKV*!$OWFQpn@y}rlj
z(5#<TV&>cWUTMevUH!lAPrZ!k)z>l4w_cvAygB#Yte5kCt;~M-Xt&O?s<XQer$_&>
zdZqE-v?w*A_=;)N>(Vz{?mpb9oAxz+b3w|hh*)lOFVk0*tJWvSJ_*U|j(6V~xoXp-
zHS@0Xe1B1zvwZEp*uJ?I?^gxd{SAG6dB!pK^{WH4zh%|@n)+bMtclN7|2^e$JG*|b
zT<PZc&HJDI3*EV5^7>B&XH5@XeG8h9+^u@JK&T`8J$#0!DM)p}kp&??Wo|Ft;yv--
zp85Yx?5bj0Pl38TS6}?O?z4R2YP;vN+``)P)?^j!onsXH6&^1C&iBP%U%hG7x;q-z
z-*37hzjIgY<oU1W7Ms_f4vFtfZ84qsRVOb;_G<X9U*Z4%{>T%ZBR}`)o3i%*SDaNh
zFRyzQwc|(M^N{sF%YNi^$Ggiu-S4)JC%bQ#TlU_*x!bI5wjW*dFI%k7M|O4gL${S~
zw*FsB*L2T0mHY9vhPiiW*rcnUXFZhL+xK?M)%~Y83O|oEJ+*v)R;|?KA1~@lMYE2^
z_4@A@niFJvsb*{Z%#7-_*B9q~%l>v9Hu<w|r`wKQ(AD1(=jML7U-uidhQ$8wm*78V
z{15bRFVt9fNwGOpXvL8qPpsCPY31&9z8$|5I_#7lHS^s6e_pHoO4coq+V2!*y4BtN
z@6+F_`$Bu;uHLPmx@vv7*KzepT-7gw=VpkmT)q0}{bT$4ifk{}fCrZCulipvUv+)Y
zmFTrULsl)jHhXoDxtDga?0wg`{#75hzbw9T(|+ot$M#<r7+SyHx^8|9>t3y0Kl1i2
zt2!Hg+{$j%#hSVEd)~WU{Z;5C{y%5$r<vQX&VIa8ec7k}A0JmuSy6Ak^vk-h)6Oft
ze&xUV_1`a5d|9eHKBsymNXgeuD*v<oSb7wHXuR>I)f49J{2J|MyLh#o$1&G^=c=F1
z15N07{r57R^Wn^gsUK#(1}*=QIXyW;Um;-qfsYHt^zYuhc>b(-#I7GAQzO0{VSjxz
z_x_bQ^!c2b)AoMezyH!I;km2-=Q_E+6!z|2KWoqWbD`b;<l|QUs#;!BlXTBRw|15A
zTBXv`tv|d>Z@;?masA?$ez#z|zUAGIe=YyG{MXB0eqU!zuPT1toi!!>+U&)z++6=J
z|9n(4_Q{v`ZdZTY{^Ip=&$hIOKm60L&zSo)>bn2Brg>BK_C>F+Um5rL>c+nQER*=>
z>W_B^UfjRgE;i+P`l@id%iGR9t$5eD^3UC`ja9*3@1ybyg<P}NJzH-2&9BOqeXG!&
zpGIeEQNyWgUcbMsZSm{vJymYue*@?1T>V*TJJs{-mpwPLQ<l!!z1PNg&6F2AL4B^g
zjXpC%nCgFa3d~Racqw~*U45tX$1r!>&1aWieSQ7z)rIR??Y7Ufnsdy3ev9n?)gLWa
z$;HH7{&7-w(NXR9dw*Yzo_T%as+V^H{l6w!+wr~HbGhz#uGI0D{axz|r-TZvkO{e;
zY5jlQe&Jx#%je6@-*1Vx&A5Fuuy@<!%AT(9=QW%+`Co5d7h8YtYDWF@n!=B<|4sgd
ztY333WBL3OdU3M<g82o@w#50(|9oxn<zMq(Ew5SS{M_dE@~;NH_1o&A_=D$N{-GED
zbWM2a^77SYYv-@50}nKxdf4-N;q31#{$<*(u)D5Qrfu|b#~oLHhQPCzZ{@{q@%vIU
z^V3Y2k7izLepPRJ{Oi^eskU#g-&}vQ%x7J}+g(lV+3Td%!B<U8cBs=k@;r9WmvyH1
z{(boUb@I-SmS2BeEiYY>U3ly}hj{%f_S$P_!avRlTNAB+-M)9e%%e+E>uZuOtiN|^
zLtm)xzkexTj=0|YIp>vZd*=Sn#=VcfxF5Z4aZ2lC_`g-}>$l9Uzka`S<*b*_ch4@r
zwO($^+ea(hZlBy!zi-En(zi-!9b5Mo@7wWXUA<KOs_?M%Etmc0|G(ngK6_p&p|J7U
z`}Mn#%=z`N=3i@m_4&^EyRW_$C(C}lm%F|1UCqo(Gr+-6|9|yIP&k+#|GIbP>8e}n
zH^*;&J0s@dtx{J0>oKM=cVTN&)^YCeKk#)$x$P<SE8%N%);h;_|Md@E{t-44@Y&9C
ze)PPL-#ex3=TCbPto%G|=5t{-^KGBX4L8@X3jZ%_7Y>@E__yTB^Zm<W`~51faonzo
z*;fx5pDi}Mx>`Q`vsHNS`s{Ff{Z(;`uWq~S|2zB1o5I35|K9x5{J(PktoK!Wuk^>&
zFZ=RpPxf=a^>tQXS5|#}|7dsJ^KUDD<lW1xd4Bn8_8&ff@#9~w?^&_^&PBhZsr||`
z|L%&bes%M#b?^SN+m^G8)7~CE-~K<;FLwIZpO+NZ%&Ld=II{2NXZOvOy*jJ(+|~Ez
zC7tEh?_fF-UAo#mc(VO!Blo$>`zs$8z1?SgZSlF28~;rez3#u%@pl<$Vawe~i8lmS
z%;)g?*-~dWdtcVnY}r>)SDqII&xe=5{8jg*XCAxV6YzPKo8R7J@Bdr7p0b&*yJKT;
z{rup)zute?8CCQA_}AyFzW(%Ioph>L>i)~veZls6=St$1hug1vR+{s5G1WrG_O}Hn
zOm?pGUiZMHeqZ$Wy83f7wqCDnyVGCeo(c*WqqBw3$uXbTieG0Xr|WM`n_KwnuVwPz
zzqVf|yMJB&E+%`K)Z2)?r%yb6J!gl{_NS|N7XJ;A+LG_yP&?<gu4LQPhI_`v@~cy>
z&7ZewNv%$!mtFO>`l%Pb8}vd3DM5{Z=Xa-v)rVbeo_)9X>c2m1BDV7DcdYJju=1Aa
zivCrz@9xFdH*&1oE5BrY{9NsuGE02Ij~U(;?>?VPU0%t0pd$KY&g(+syzXU-jXqh$
zUrn!m>uy={Dt%SBz120t^|Rg-&KF<x{zv?E|G%~;GyklN`&n`;irMh`qpkbGEdI&z
zui|8uzdpaGex_~S-jX%ju7}R@I(v8Sd($+fS1+>lq|R==e$F&)x!r4>*FP>-%{#XK
zS6%-zzrCS(w|}g8?U-!0_TH2YMHZ{Rnf!~rHP!i>&-(Lv_n}GY@wM8!@ta?~{<`X^
z-B#1OSM~q@evhyFsd`KPKKGY@>h`LStv-A#I#pGAR?+=s{nbjBzU^Mi<gU*1c^hGG
zwR>CXy;s3gw<s29GQD{mlVxdOth!)+*t_C%sn51wYP4#vT7`YODg0H^JhO6s*!+24
z@A^TPchsp`q}E<qTK*$1WcmJ0s}|pRlegyE>)Psjd#~S@pZ)4LUvTBtAD7=p2LGFS
ze#`N*7QMk=B`g2d+n(z!`p$g$>)cmY`}<1o^R8B_zVp2GmG$$}yXs!4Uj!A(HCDN6
z8`rRWFRoo%@W)y%Wbx0mGj9rCFHPQh*D~9rJp8<A+NYOf23kF?P)i1F{P<Mq^zFr8
z|2nT@EBdDgUt68cXXzz>@ljF8d*jLewySI_&&j<$zP9_^?<cR9KX(3~3hFZ7TzW8~
z-Jy={XsCJIJK+t&&;Oc$f^C*o<==M#s<X^hE*6xV%AUXc<HhH`D<A9kOU?J=weYPy
zw)FeAypa9zk*epd!c4!~*=XDUe*8+dEp-1|X<v)Z@aMnoKU_RtQ_`}&F7(f<%D3*7
zWk0TqzWE-KfBf3)bw|TLhVx&py0Eol<Hv2ALVeeT|F61g8DHdfR>||(%!v66E9U$C
zS-DRr;`@r?r}4M9e!DXJ@&0*x<*wGxnEQ2=;IH)FXZKeAUl~{Y^21Au>oey53bdR1
zW99mpyQ=Pq#k+sKJ*&DsU47HBCHJm9|8e=1?`!whPgdNz{G&WmyFK^$X{*bbHDCVz
zo_Vfn?%CqKzuv9b^=eM-s_U!6dV0g3YfYEx6=r^%Yjwu|QpN9&r$Sfw%YB-><zDOy
z^)<gb>l+Lw*7cv(jH$W0`tX;?{%dl}*ZhsN&$hQ*^{?b}n5wP74$yKzy{$4cW(r;K
zU;Rhs<aw9BcV-@|;kTXd6~DF5%Wk#d`-z|A-1@KWp4FG$3!8<oGJRn3Zr+`j%m1D_
z6}mp_i?r7|r`lV~epSiGt$!Z8_t_0lXc}IxKfe0&&my-!QpUQL_Jt<X+$@jZuCV-f
zD*e{FdyCW={2p8EUDtX#{CL@)j5Ga5d)vD0udbGl?T%=wSna-f?W~ty_Z07YqBF}i
zZPooFrB|=`tN#m$=Uh{LrSi<yicGPoYr&z+%Pi=1e!b0RqkVFv#$~Hao?pEaTf6G;
z%6*T+>K~WS$v)%v*XOad(Ykrtk6sV_yY1P#u>JD7Q>8W+*RJ?zy?WZ>WnYc2X6wn?
z$v&6*ocVQG_F5UMoYFVeTc;l0_BquzSxWxzug@Q|YObw*-<KseceDT3s;gc9Dvp-w
z>#em4FLAr^OLF;NtNb|2#m^s4T|Gf?kuh7^pFM5YcXRLER=-+)uHpIh;HjT;vo~K~
zy!E(dcKvbxzE$>j_k?=#v*>|VdwT1#r+pK6V72Cp)%}JL|KA!+QSHCBr2qYG{P*Va
zj~Acco%^`n)b6iWz|!5);b;GC+qCNY6UqH`%`3kDd@Xv?B5z%0z1!{c$In)m)tIk;
zJ^z#c|I71#SNf%w{H&jM_WsY9-zNiueV>0mbhPB})&Eg1`{b_1|DALFvCaFLfyrgp
zyr17HzV>3zyIZS^OTWna9(!Y5ZW#ODWZ$zHZ%d#2{rI|P-SWprdQ1OGO|Du!WlH}%
z@pbmfUtaIDU##{0$aRak-?X2<`tdWWcirzVH7_mZA9LTo?>0Esg`E9TS>K(uHhis=
zW%ZnW->$EA{QEC7{YpOXPyKDKPbysNSwg}uN*?}t=G2d0!S(%7UrX;*ZTa?v^MzgC
z=fyiyb_)gn5A{b0qJr!HZ4KXBPdmSCeU$au!+UO@yubaVwUTYr`z)(@;GtR2BCeNL
z9IpE8cfZ0hSFS$w=_>Q}HVglJDXM1`*u*h)>KeoTSLgS9`&?LeuJ8S`(!as~=9aFX
z_17l*OlkjVbN9F3H}}QwE&URF_Dj`0%lKvI=00EiYxVrkRdb%(8fTq3SM@TcdR55t
ztEJa}+<N!IdREWP@^?wQ{$<vjHN5@$#P7$~C1d@McS^thWvccyOjEO7-c~=R-tEQp
z;(E8xcb)4Ct=@*8yZZ6-R;k$UFMnPtwCnBv$9aGMvh&efw7#r*s&(OIcKu$d7PYuv
ze^;MdabN1u{=1!P=Uh0l`dx<0iWk?7UswOI|I5KIXiywj%hR)cR<dnW^|iu~`BTMg
z=f}NrPd{I#y6xI^jxP=mxH&iUe{QY+FtbXU@$Zp~uXAH|+1tgxdVX}<&UbcQ{wuDp
zUvO>VKeZsMi;K5<ZQb@c%td>T+lwRDB`<3CK3Q)Y{=j(cjWsj>-9MWB$8Yb-xX7!o
zLQ`{hZ%qI0|5HQQ_V=9gn;(Pbt5oOP2Jh`QJ{$g6<Msz(ebqT$S6^Hda6kF<yZhR`
zE9ckee%wF%@8sy`?w{voExRuN^uo;38(&qFeO&(6>iW&x=V#BZ-YS^<c&X@&#fv^K
z=CgjiwD@I2to79u>~rt-&V5y?Cmw9NE^XQ8T|1Y3w7zF0^*sK#-)%j2ad+DzH!5Cs
zJzw!+$vq+OKY#dM`h${Y@VftVU!8sW=+#@!zq{UDe*L*#^7-Q{{8e|Y1Eea;vi;L*
zm;bVT?h&)#P|X{)B^!SPg{^=7b=A6XUGv>(3qeEP*Nn5y*2koYNACDx>UZw-j2+q2
zyY1hW*G<{*d4bd|fgKj0EzA2HZmeecRIF%s`q9>ZN7g6LzjpZfmDk}h@6ErMPrTGA
z*UQugnlSiX-T1$L<ss1A%Ur>|mpuO6DrU8d;-9;1xBs=MORtw43+Y{LepP#Q)ZSHV
za?QWJ`KKwLy66s;fQ=5%U$v9z|4R9@+YiT>UVhy_uUX3d_tpMr>#I8~+`qn#N#8y<
z-F*GJt*iZeZ$|3R^*+At`igV!j;(rruKwqyv;HZ+Uf#S?a&PPZx|*-|SEes7{Ac=a
z%iE%o!Yj_PA7z#ruH5eB`SXS4(_i1OG)u33{n}*LwW@iqZe-p*YufwSuL_h>7iEWN
z>uUNwUd+Ghqr##~r#FAis`)mD`|oqzSzF__-g)B}|2w;1dH&z1&y}%J=?@=Ww~)N=
z>RtP{{!aPF<$urh3zf-*I7>5$s~@mCcT}9CdaA?TZ^uOK;=Y<+dVM4PTS(Hy&xPq<
zebk<(#%8A1K09AJwM{MW)u-}vuk+_Ee-3SV8L#zOJM+)IRa2j>(n!C!(QoGWho;NU
ziSmeF7v4MheB_tkTOYqaH)Um9amabe{b{vZe+1jtZ>_ubXLa3O<EJYxmgK0;Kb5&p
z>T}Q6xxZ%4)7PteBD%gx%%V0_>t_`6yO#$|{)MbxcP_*K=jwKbx*yNicmEIlv%F@?
zNy+EeP3k_qx&C?Ek6l@>zfD>07My?ibz)EN^<QiF54zh1=X=J@EO}+=9=rVBs`<ad
zIir&Ovv;3gY=3TA{mGw2SAJT2ZMF;7s=xO7_RX4a^YyPLemTOrWZurm<Vw+?-l~ZB
z%BD-pwQJ_udOq7fO|1Cuhwp}4?oad&*Q<-wJiDl`=+~^kV}*ZBKi#T#3tkmtU%E8o
zejmeci|x@yJlC}gY9<`@w(op&>)*$noEyE~thmqKoU0lD4aNFbd%J$i8TLY2<yo$4
ztGA?m>I>068ya}*3Md3mnl3xHb>F-fbIZ;xDnHk^-#U0%)!9JX^gpw{UVY^M_exge
z=k>oz&rezIc6sB}8m;9&v(6Y_D}R+<wQt9ds$;Hek6pjlA(OPc{JD3~T2q0K%yZYB
zGy8Y@&y~vlS2I6dudLrXZQ0kC*G?b(uk|n3?$nc>&)HJ;mET@hM%Tn{Ev-Hkym+Pg
zE8UYC!moT+yWWoa|Lf&~S?SyEKEL?oSIrejxSd*i9TaM&R~OdVUotk&)>&V)Dv&>P
zeK}v%)-(UCswedz<_dnFTxnOla&gR`S%Gc^e@!>7u9tD2`g-}Kg|(plv3K%L8q8t&
zayvL~`{(7qO<HCPHD9{<b-|XccGp9r+;>i0<u!L{pHscQ-QQm^>)-sVx-GoFer?(2
zD_-x8$7pZA>iqTb9C^|DxvpO)SN(k{Q+6zC&eqAL`|{R&zVQ9clx+LFD_8%dh+Vx}
z_uq8cy08C!oZES>sNU_iW&HKSfnRr?i`rW&TK{!{&z80KmQ}f5nrNxDuj<;aTVnCb
zYi?IRy1w!DrWZX$vtCyDel>MpyCq6A`0vfSn406ov;WUo`ad|m(C^p9d;TkHu6<p$
z^Lk)kE^J!k;;I|hu8Cf+y713*@|^9jVok2k-~1%7ciXksE4&;Y*OzR1@g&If+`@0y
z17+=B?RQ)K^AdC8Y0%8cChz8rrj2)6`)z;uuis&JeBsv{>2je-0am-&rhHp2)VsY8
zeKO$ouDxaRR>!<nOun`;G}1K6^7W6rX;!Ds2L1h#yl(0&*SSmIAJ^>f+JA15mH*y<
zC4AP&ruFA;owSNKzgGF8y6n_edGl9Ubw=H<viAR%3cg-dU-LXB-E#5UIqP3PT=6R=
zeeJz{UHhv7)NY042k%vWc|t}s-Zncnw|l+dwYRn(U*E`$EOE0uTe5fAuUU)3qSkh;
z{Fh^|x9{=Jv-RgL{a?A+Lj7;X`{f~aud6QKd987Ln^x&GD+jK>dw*nv=48L_%C^n;
zKg;u6^jE!Eug^z*THzM`x->*}L7`P-NzqEF=K;T8ujrHi8o&5z&CA9Eu&##0bnu=T
zeo(n}n7iQ%cvN4OYljY~9@uRn(F~pk;C6WM5VU8ef^mW!SVR4E(01O`>1@f_Ouzn5
zDg76}xpa%VOlZ=d^Lgp(cU-#m>&&;hf0uu}C>7QE4;rCa{yE-wuG_j_bF!r(Wp`~{
z^>U78ZEfhTAAUR6)@3bAKfeC;R9mb3(x+}a>w34TJyu%td-=!TRm)2veZHEm@7a*H
zZ{E?~wTpjwh5vuGU*6um-uJ83^~$#;Pfz5`-k!D#GQzFby)tg|yAL<T_V-zxs_%`F
zye3oHd#y^=I=8$cuRHSZbsd?RR$<o<^#=7;&3pAaLfmrd?MK%G^QNs@qq6$B>0#R{
z+1r_`>!&BHpA$AY`6|NeRDG;y_R_x4_Pi-sC2yDgvbyH#x3v5HxmmmGUr*%+AFF~C
z4u#i0zFxooUrgLZ$@Xi>^D9F-9bdkY3b?h@qyFCcdMWw6>ztm}o7!FeRq`);+2s?V
z^NW3zS38@BneL49o4M}SuT>=<=N3i(4fziWjnK%@@VqIn%Ol_P$J||a(*NtZowHL{
ztv_OPXx5o3G4p!(3`os(u5<n8ipq8$u79;~(#>G|Qe9A{T6Mj~x@Oza^^5yH#Vd!m
znYza=-Wqq@@3!o`+eu;nO}X8d^<CXsusCG#yyakTJ>B-Bbjs|dTG}UHRh}*Ak2_v=
z>(%|IH#$GF_-?YAHtAD*_|d49$yXOjFO`bjy>efDU+Ki)mydRDe)g{Fsk1bbKm$BQ
z%}}1O|K&%}m9xLUy<I-Pu4{g!{>P7Id`DwlPQ<h<{~Dh3x_aC4kCtZly`tY=MeIzN
z8MYWYkgdJqnEvBX-?tY7>wo@Rl^nV_ytI7jtJiZcee7IvDDGE?dX#JZt5;bcw}XbU
z&zr=HAOGtA*#9eN48T<XYgo43)Kx3LK3jFA_tL4D<K+{tFV6at`%9+uoBz@$Km2Vo
z&YY`S`&vERaeWtP02^)mdTZUBOGoXa*Vin|{rU_%daYcyM@#jUujbzDy-$lj?fP~3
zRaL%i{qy9I6OSrA+WWJ<oGH3KfA{PAzk3v{IUF9G1#MnS<NnoB@=7+RrnqzZyEj*M
ze^;MSXc?CDrr0v<_it^`!hxOpz2IYyOmqMLof<axMa)NAy#rw&fB!lXG<DU<_w#mU
zU6haK37z?N-#ty)`7_Leyyw4iS?v)UTd(_X*3`%G?mOpY?$hggJ^$GJSIb{pU(Jqt
zb#|^k)c0Ng{GWFR?>h1FelKXEW9p^K+_Q&1&Of&fHql|L9b2<KE_m;=)ycB*S2OmV
z^FLO;cu{?N?XDB&&WC`4VD9OUcZ7p~K7Sr~b{1p^|7)h@{mR!f>yQ4NVXeQ;%&I12
zar(5~|L(-bukMiJaA079XNW$Bd+JBFFR6I>w-Y=xf6cYR&%XTk`uObd_FZDX?xejc
zkdm(zD*Lnk*z*-t1(m*!)wg$ut*^<tvi{zwJ$<2Pe?_Oq9`CcuIey%6ZuzbEJA5Bo
z{0;nQ+PBG<X=;7*E9>0n_rI1WtxEg#^WC$#-&V8d?zUKU@!OZ0!jG?SJ&o=CHb3zH
z<sZR&H(4#7Ti2AeXW8}Dee*efAAa3gbYb(Em&NO<N}~P;|DEDr`eIJ{{vwOTcFXIQ
z{qo~ok#;Khc-gIU`-_&{dsR0r`E^BI=>E?)U!E_vpSSLLr<lMZb*{zrp!Ga+`gd+x
zH*a~(wZd2GZ|;75Ullh&oJHZoG*C%-I<@xwk}q~H@1ySiJzRY`BK>&nzgg!c-D726
zMZNg`Ze@FB%@@xbpj{)2UmbjE+B^Twql>9~K6N_ouhRZ(6=wSLciqL!6=H^0t@%(U
zCMK=_6M8?>x*q$?#DB2oUC#()qt8j${a@M6XKs6Xj@|RM?#sX0U-kbP(tfV;oB!)X
zssA~Dx5zECS^hD0->I2ZuivLy%!|JY+Mw`!=l%PKFKv8(>sig2sij|So^I|7-Y<A3
z_W!#2=d6{E3{3f+4YhN&$6QNSd-_g(o@cZ5pY>7SquO_g{hq%JHm;X>_tp1J#{cXB
zA79VUJ-62Ae7sm`vUa_=@$cnTU++IG-umNQ|7(A*+JD)%zP^}}-n(J#@u${bA3w4P
z58nH$&~$zA)gQaczJ6Zx$}}q1`tO$gZs+90kJrCE|8D-L`M*~FTzB33?~AYLUhB{8
zE_?Uo)$-u^tHS^5?R#CG*WdO2+1z90cA#ZmA4&>i>d$spotAy8686(#(#`d+w=SP|
zchBV?+1uwXwoJYj2i~EeQGd?;?!&cT?>`KFT~qsa=k9&Q#}+m+upkav+Bn}~Z~YDV
z`p^3WcWnQ^YU}FK71@FFPy5!wy=(hq`>GR4aT7E5oaOjvCRcvtePQ*Z>-DY&U4x(f
z%sJRQ_t%_P%WKw&-Tztmcc)VAzdY91|5KKC8^108>GyYs1t{m$#hiT|W4do$?B6{r
zs(Qn2``N!;KXLQ%qlLdV|6cxQd0p1N`qy8B>=*WIw@U6^=DziA_%n^=;r4TXh3x$W
zTGsY#(c8t3c2_R{cr|+Y+K<*Y)`p?MpBLTx_U7@6s<$hj@6y|ub@|7xYqxKKJpMf1
z=#JUxSU1i3bH}Ux+dqZ+{GVQFpFb!=J2uqHoO*DL<&`bx_l-Lje9e1xjk~s9`SaA8
zZ)^T*Eu8-Vx?bmHcvJAa?|b)cS|tY_x_#c~|D|Tn7f<hVqV0CymRtSWcR2gl_58E5
z)>r2lKaKzCQ+=oBvPJ0piJK*2_T^2v?Ee}(_8m6gcAcr^soJ;<pSA5T`onGGuYC=k
z|Jh~2#h<2Ev)|3#cI|+?<gfbhv$k90cUpi3!dDt@KE8H(-_^3`YcAf2wY@&WbH(EI
zJ2OnK$613$BG+tQ^Vt7&rPTgczinq(e+}E2`*`y@_THacs)7%ldI%nc%$a|1$+0u@
z%J=^B|GanizrNDGbPk6H8$tQ_&87YBkABY8dl&Us^!tZOZPECI*XF;z*Pqxv-*xZo
zSN*O#+Z|Nr+y0a_p1<zO^7Oxw&{7>VA->7(rPZsdh{#a>yfX8!-=CT0UH|-N<^NBf
z=S;7DmyI*7tL>Vaa_9NoDfLf{-xeDCJr1dLi+lds&C>4jubH6X>|UKmYvs<CT}|o#
zy(ggdc}?VX|Gz4;j?I6iUEf&Rf6XDR>G#fkVHW>h-+Uc-);u|_KYG2CVzpIz@3VKW
zA|LyIH5KoDb}Re2)aKy%rPE6PWZL>a4zJzsUcCIC*7n?*YhM=_&JWA?im;Rkt(N-V
z_ttpEl^Hibue<&~b6@%O`y0=F<YDBnnFiVn9sBFMN6oLjUu`$NO9_0x%xZD{g*WO8
zo_xI*H~%Nd*Oj0_yn8btgLo@W{pwk5cYDp^U$&=C*=h&)UaS9d#Jk*Jv;Dezi57gW
zD{Pd%So&mqdb_;#=gPRvuRmNoKgHnN$D+D(eet%-RiC^6RC)fQbNb`;|CYaf_4Y>9
z<*fxjS3U2O@BO)P$Hjt=%d5T$->6sq^eb!qteExxzOE|Xw?zJ|lJQkzzi{8bC6D~S
zo?3o6?D?*^t!pDwQof4)s<=I~aP39VIQ2!V&{>O3%ERYN)vvl9V^w2y&NOX#-IaRv
zeaeqtRYupyUd_*bCp&NM38~3d(eoesuQp#RzjpHCEdR&%H`cNV_x^18TsZ6f-LK_q
z>Wgih8JPM(jo{?z|7?ZMzppKPF0j7l*TnKqU-SOketMfO=<q15?k~$qdEV6d4U^7i
zol!UVdDp8y@AtN)f>w}eNB{koRvFEIoVxF)tZ~&NrO2tbtENm{9e4H0bFHtLvtL~<
z{&M7W?D@wRj!#{?__~jE%@^aRyC?qteE6qjy>;E!Ic;;~pI&~55llBD@2`ye`y%Sg
z`RO+G!STu&{`>!#cB{-xPjb5uI{VoCS5y6$uRWK%?x^?X6DJh^?SM=tU7RuZe7x-J
zw|-NX1r@))@;_w#&XOM`bF$CW)xJ}I{3`Ni`JdHwx31l>wz2+bs#gDXo89sGVfj(^
zQR?nj=N;Rh{F_Hj>NDr_$0ql8zkVO_yrPYPMb5jScFu9VzrR)2edoV(eBR&QuYX@X
zU(vIL@4Elm?V+G8seiUjt={dW{4?7>eebzz`Ku4tG+nQ}wq3Wb@6w&vug|8c_tjM$
zHJ%pH!T0cM%(>>*=QDo)tO>0#uLq3+-w)&eUFr9{^yj{`+SRwW&cEVsI(PHoqa}ZX
zpX;3q{Co9$rR}-T^CV5v()X6EvrX?kCq4aI#p;RKyBELDFe<vgv-{<*<sY}F-ufQ@
z_<Qv=%WscY1SJRMd#T+%<$j*~`uxS;t{k@d^zVo1@zV42Vy;bmU$<p*&}A9ZXTs->
z*MqW%|7%8D76pbzebCA?@k8mak~v@eZN7J2-uiUxqQd<Dq1sDJXMF$p%ldp(N%Yh#
z&=O_PMwHEK^Wrz>uU-=a^52yCaqreMIEgLXG|BW?;NO$Q_VUl4zxk0DcisMJ{nM)8
ze7*adf39ZFUH^AU(W;qo=dGW2SH0U&R6no()%v<~uM6jWKeNIRG^+S^C)dk8yWUB~
z-<GX)pKSR1T&&M^``-1IY1Oio^?$4uzkX>^m>j$R*pho%s!ta`Z+(59<8Rfw^D9o-
zel+!4{`b^QtGacIBd;GYn-7o1?V+rT6&M&fYB(9c74BoPp8QU6!TFVs_{{F5)tl_C
zzwrB~ZSmb&o$?>+;~m#J|Mi~WH#IBQeNIJY>vfK~KLl0$+W#DDjLUoy>Que%Kzh{1
zNaL^ig<Ga&i9Xd?#mV=v=u}ko<?I}m|0|qjtIPgR={E|LI`{nM$Gdyh-M@N1<ozR`
z&sQx@nf*E9&AA-BHrsy9{FU<|<E{0u0oVEGDwovBXkWEBj~FMs=GN0YJuIQG>s-Ip
zn>EwVEln<c8?sogq|Cf*)%Be*K38|lntAT^vsuU9SG>-cQ!i_syIUq!=Bq&R<E7g3
z7B8Ay<*oDav-J}Dz#zLSzn%ZeSD8=mUcG(!*WFSDG8XdMlBqX-*6-Q9d!Nt(cGQlK
zfcfW-{whahtM`2QfAHe(b_<dG*p}yCis%3Twe_0SmHjN9>Q!69R$lui|Ml;4uJwXe
zA4}c7cqxB47X5Z7)BMb%X=htL|CuBzZFO<7`ak~llcn|t=dTJ6^YrgucRTOR&A-8R
zr<Q#FSyc8%vtE8XmtG%ePvJf(_nZF;OMhSd>T4SQ!2avvpJg*vr&aysY%sJ*zhZG~
zechc~D~}zuTowP^YWG{4-Ib+l|F1YFe|7mWNYE%(?76!5W*Gn9U;p#UYV7ZPzx=<Z
z&@guYYR}`2ojW(m`l|0c_Hs*XU*4Lk71}cvo2Y?C{pIUzm&fd1Eg8#g`@ZDuog012
zgySEV+>*7QYw><nq3MH9S4~$<ownEnlvO}EW%sQG@}Qt%1x;`sbUk=!mc!oiUhDRX
ztM@(Pk5`_%=%rKj$n$+M#~!20Ue>RT>({L|G5Ppa@qd|G{VVg!XOdvk`Pre_YWu^p
zme%joIu%*6CivBRjkK@Jf}V4=b-(s>TajEm1wKOh%KiMN)ko+5TKRSJv-q#C=V|))
zE=!Kx>-+iYjPy0{ubc;U6qMIjT-|)&<?5i5*QGAZ3V#Y3AT6GIao(qJe#So^&c}=Y
zU;V@Xr^aOCbL%tzJh{34dG5#3tJmIY`q%d^ySME6VF~H=UnAw4`m2`Ro3zL1<(1;T
zU4DB*?Z2*9*>Y^&wP!Vd9`Aavo+sGu-RHY!i^~6AJ}3UEm4O9z(3bJp*RrMe4jwa~
zQgPJw=kog=^=k8Hm8w3gyT7JyX}Z?}@Y?9tTD{eeCp<N;`o6ag77DL@>$8`|@yCij
z)v>y!`MG*#SiV;2y02ed_TPMYL+0s^-Nvb_uFG64KDItGUiaS>|F!c?|F4Sw?o*j%
zA{%{jdC{!($83^om)9+O-rc=EJ?2W5&4%6+ie**h`&6z*F$>yXc=;;l@&2>^bHA^c
zr&&KYJUcULe%{`gKkFaaKV9r|&SL+v`j3;-_k*SzL!-AZw=tbnwfNqo9;1c#wnS}N
z`*r<%zEzcJvp*O9^)z|<*zW#ao$~AUpVug6b2vNz9TT_n<)Osr_ims1l<L>b*RY!j
z9;Td%Z<x}4bAjL%FKemPOV_QRZmSA7U;p||U)TP5OMeA={XYI}@!HR&esk)#XNA58
z4O52nzMqr+XI1&c?LTLp3;JvE-|yv@b0^Je`>Y;6H~Xi@?Vf4toj&EVg}VF4c<c3>
zeZB_&cRyNgv;FA%@MrUWl)l-fW3_lr+OD|Z+Ovk)KJ}}%L&o8%{Cb14mVNzmY2)8*
z^+83T;Y!byDOx{G|65(#xYld#YU5LxMY=IH=Bw71pW6EW>xx&e-u)`KQa-`TBv6qI
zI%?_TqkZLBKcnS8?v9=xSNLC`{hsyr+?$$)8o9|g<d<%-pPI3!^v~-R`-0L}F3w8%
zvTIiO<Hh%`z1{jb=4lka<mSG$r&e7&6?wdT^OgEQ(2{KV;<Z<FUg^}@`&EYgDHXd~
z`ReQP;v15y3$OWI`?+i5Ip_PEgV+7t5g7h?a%4#O@4we)?7H^*vGsGS(~`N*YhwA`
zuRgcR{`xKS&(&t5i`%MZzmoNIf41VstH{?`(KWpr^4@pGAJ03z$oN#|ve%|pugh$`
zlojgpHT`$tM<?0yx&Ml%{qvuD)bgc!wffRYE2oCN_AOqYEPH#^m7P|L=cxVN@gpxJ
z{{58f|E~kDUcLJ@N_2}N10zQas6jbBR;mYd8>B3^!iNITVL^KsJmf(q{mF5{hHed^
zhXsKSscaW#cnLnxXxbufp880pH;-e=GUw&!{O{lMtNyv><d^>!FHfF-Gb|~4+xaKO
zIoG_R|FfU``hWAz<IU$Hu7~%pn!jp|T+y2-%U=7d*5Q5W_WOdZyn<`3;`^gEuibfF
zPQ1SU$=3gVf4)4Ma&G6R^3`i(O!{W8UVPo+>fu|Sve9!xeCIChTXpWb)b^~of%Twm
z7CL=h>pwq>d3_?--fw?g{L)?D7JJ3s|GMJUsh6uSS(ba1h92J)c<y}3-jI5?+dtRO
z%$t4p==z#DpCbOfj$F0+%&xwoQ~UNEi%F0AnclKhSoZ2g>+rvkCC5s4KTeljC|CL~
z*4F>4WwPwkA0bPNA1UQuz8-kaQ)~6V2z&RB^((day}P((ZhL9Va~a>T<3U0HqB1X6
z75|EvYt?;vk=F8w+h5+*c>Y}P*Yi2DDO`*kcV>a+QsVZNo63LJ+Fw`idid##S@X|o
zyXha>HRJu=^+z5Qe~Z$78?_|;!*$8*8rxNMt2RwKxiK458orN7)w>#v2(MNDvg`M~
z#tbkYJOM`K@Tw;@z{m}+@5b}@AB7HN>e_vLJl#C2Z`IG2^~>i6&D_rZ(fD3kI!kAD
zr@(a%|JN&z+`0SU@`*VU^Oyb&oTGkq`MDp{->;wX;_;n}i>vmPoD-2<Z8&vymet4Q
zRdcm(OC{FtW7G;dZSl(9%08}YpU>A<+m5|o<D|O4R`1`x6H~YSdVeH5pYiizwX6SU
zrJoB5k5qo4lbw2Y#jEReo9b1z$YuE~4VilT(e+4~^Q&Thd)EG6e(BnYxm7RD2W>9+
z>G#*7cHJ8*ZrRs=LY{lAymmNby`0IW;(hD3SJnAGem(2e4O4m9(wt~pjrr$(mCf1l
zBmU_9pOMdByS-h1zI5->)#r5P{<^3$C(bmAKW{H+8I0BR&ySDos_R|(Z*t1nr219o
zEAOt@733E=ca5_DSH1h0duylGPhTJXy|ms=-QMh3)iG<it6QJdoDmICtFkTJ`sB;I
znmy>f>UiVAz1F4QV^?)n_up9GY5lW5{2k-dzn*{jiq5V%Ul!Ww>VGG1uI+o{$Kki+
zk4p9$zY0!YbAIX974z!#W!0_9s_b_CkSczquI;7#=DfL>Dkw1B!*$dCSi~=@Dvf?@
z?e(|#_|g0FJ1>R(pZnw0*{kOv0r?XVkXlK{`m0tLP7Mmp>yA$^v{_yBR{iVW`Cie=
z<*ydnd!Ic78ix9^bJJ^`k~N=$=V~wQ_^`5QSylbl1rz6fF5P?ebGB6c^^oK1e!f_d
zeEXH-&ys7~A0GkD1D-o?6>qNftNhyYUH2}9rcd+xn<3`6UTQ7-_PDuH1yXZQ{{*+h
zL;mO0F8?*>dT-Z1|E~|G^gR!(n*M&vy}nPyA^Y;~UjMsMV`9hW4RXKdEZ%i(PXEq#
zr(D*nubVcf{@&dF^6U1`-zWrgI6UA54L7rOS9}-w)EDxe>(yq{vw`n#f4%4PKIgii
z$*t<`Q#q@n*GIk%zqWi`{<WI5pk<o!rFOf1RL+-A&)ZY7{OZfntLIK^H(p<5;T2!Z
zsUR5h{MDAZ@}M=nQsT$I%7@y&Ja~4JyY}Iz|FgW^_s<KgUmVImH~Y=DABI|SKVx^#
zPd@H{Hsh|a*`k2e?AQ1Ah4ssY+Mnxxy?*P&=Z~-SAA9*>{;RqFGwUa<U!2t+oc4c;
zf9%KP>N)jKV^(i}fAHx1Z_j&5L*5piD&2oN{C9lh{Jsxc>X!Y|^nZT&tN-5}7VGZ+
zyk2^xYTheTKkyMP_IvB^7Z+YhSHG|6Z~p$~-*f59_uCow&tteM`Fq{0HIpN@R+PS*
zzD!2x4gdT4WnW)@x%J=g`Qm3+E$jDt*{@~)0=k23ALzV`c#ioiCpX-Ce*As=k+t1*
zr^3D7*?GOsye^n^ru=Q7+RxqQcb?DRdu{z1|JeI$en$N~*Z=zbjE|wJarM>b+{NwR
zpMRXOXN%P1+%pk>UsuhYn4cc^wP4D=XF@OC3+ArATviuTuf8lRM&^2b$loRG=H7B^
zdCsqvPhFJz^}^0$>x?g*nDtmbJ^6jjoL?)A*HzD{M+&*{yeQXTd#UBY{K0!a+rRby
z1P-4!^FOWBuFL8FT)%!!Y3=gOyMJ8%H)ng_DqFvu@5+B>{nvhdxp3aK^C9+6U)JpU
zw^CmG_*d)yyZWNe2k$-h@=9~}`(MkySL^ltdh^8k>C0!fyYK&e^X2vCcjt`%`<>aH
zZ6ROG8hf|y>Q4*X`u$$@-+vvqXMvyNw|?fEFZ)*CoB!f&&b^1P>udj+ZnnEU)#xGL
z|D0P=|4qL}UN_&@{J(&I%P-IE>+1ji+|jpw&6c-+mOR^2bN%zG!#VG-XY2i5AHFN@
z^8Wl)H?PV~U;jGXew|vW*wxklO><LcT;KjRrgraXZ`<tOIeR}vKHs6XY~J@RSNqpp
zpVIt!!N>1UUjMmLx3;&+PVVXPr_uF)EmFU&p3hgm{Cq~~w_A^=T=h@iTXdz;e)a#a
zzx?K2`5}4mtN%~yz1{J@um24DJL|yBs<YdJ?W@1c{haE%SZ?mGm4er7r~WUgUH)sU
z{MmB;^RvRwMgQ*q8vl5AW&Gv+%kEmv(w_9(?@y1tQ|G*fYm&d~q}HB4_cg_9!L{>S
z?3Vwk-|Bq!`z+8v$NH=5GmAw){hFnq4L>WNRxF$O=Stu1#TBLh_^eVs&OW&-c=7j*
zUoFoVuhbHL_clI~dHu@syY{`iv$Aed+w1%FcIzJR-da!>R3EqRb>-^Yf2+=>{{QNA
zU0dn+?c6`v%U)abHUBC!U0J*`?(h2a@V3g@=<`>v*YDnQW%IW4*R<!C_GKr%s`QWk
z`=ZL%(t=;A-hbaY|F_p~t$6-8ur6lb)&AhL{l8v*DF4+HmcHKBFY<56HEs8~-#7n?
zU;qA!XYYK$nEzAuU*7#=YyI5(tLr)Eti4`i{dKeZearZ3Ca*58oG+DlH~6Rj_3~Bm
zzc1E&|FEX=>7K3sBkKQ~?wkGH^l$d9xr=uyRlfURT^%)l?rYEX4Ov-#eO?!@x_&b|
z`t#mrKP}FF&;B~qz!sF{^gu&Fr}fSn_g<}Da%y4LrsbcbZ<^lP{Vl}n{j8T)KdpMw
zzt;cz+O_9qr+iswF~6eSC~oe13&r1C(xWopcdozhc<1|t&7ZHzOg%4O-}CQ}{{GZ=
z7k?g1S=HZofAK%ThkIU6RSvtp?(*ii`(KNhQ>X4MPxI+Ledz1%oy)3vjbrZ{fAR9!
zYdLS#%O4ki+`iTKVOxfkS8?G_zt@|Ootby;XT<SUw{uo6J6ykNy>Z^-_inzGtK`of
zT|51i_1iC!6aVjDUm*8r!qF?gs_kxGj;z1mH{Z6#WZ&cUvvSr?y<8Jo?^f&gID4Pf
zwqX0<+V<tYW^UX5GxB^;a$5iD=eEE6Y(uuc{uNTIbvSX)oxgE1QgipOdjDhoy#3jG
z<I;^TuZ;WoCR4lp+|JGE>vs3pHhcEYw4Ku*S-SqoVq>|Z|Mj-^A`QX^vAnW%sNWiH
zdUNvk4|A7aHhuQ{YlzqT>5ol~K>>LFm#tydBkrQP=0C6G-z@wtz1|}J(Y5V${GqG#
zmSufAaz5sY|Gc9!1J4ze?VFWcC+=bYGx-0~rZ1b_<qeZ7+$`Q#J?(h8>g(;-U)R1~
zI??!YY46Io+j`vB-#?r6%Jke#&@oXySEB2$O_DpiEo<4w>@9x%%6BApU(3+byPsKm
zZN|;Zmh!J}yoxuK{TEz2w@|v?JnK~O-weIHy&?BAm!I$W_P_S&)?HO6=AHXh_UFyR
z#UEwsuclP5o%3w<FXLCmQt_X!Zrph1V_5&SZz1;|My9{~p7VKgUp#6!?wwbE`l0>u
z?)5nr<(G$Qo&RQUTYvpmRlf06?fJHEPv!b=`7Tk-Hd)HJ+Cu(w*IzF?tH*(V?l1my
zl8H&60(2jT+@=fVo}2G6hdf_(@qFH2pY`R}P0v+-*I0Va{L%MiA5XoR@<;M(<YRaL
zJtgeM&#&em|0-QFPx)u)u6JQ78#$zpUaq&C4VqV9Rs3~=`~MT)cGO&TR{8z0YiHe$
zIf<+IR|^_TF8d#|^2MKd$NyW;vaQbAYUf;_eS7}WV?Hi@{chLp{Jwcr(v-XR=F0Y!
zb?1M*DmFNtE>(Xj`19Kz7k^y-R<(55#Z_^|g<peh*Sro+_B-z``})rcP|^(dGA*|a
z4p~|M_UnqOlC#0e*?N8budH*+_bt)>J9Fpi_LtyLo%}JIWqX$FQ<M0s^8@GS?Y;9g
zVCL%Wet&(w%FcV0erw*Zmq$Q*`R^@$f2Fx<-lr?K3cebAU2pg`>%pV&^OmPx8pqF7
zo%;Is^ObQc^Rl(KpWC@PcUpC?RdeUD9<PqsKfnI1|0DNT_WW_%pYzUc7XBY6+852?
z09zdrqg%U|z2N(zRVRPX*|XknuUx6%x@lh}>mC%aUG?)(t#_-v_9O85$5WdR)b2i$
zzuwR+?&n_Ta<NCz=^R;QihU<m_PFg?JL?T-1&3GCuNZIJEALHze-7n0ynb9;Gt@q~
zmgP@EeTAFti>@b^o7c4bIrk_m%zf=`(=?@`8k1Si_N|kb4NbqIW0JO9ZrLx}*R#)D
zuUYnSYR|Jr6|0s#c7N=D`}NdWZmX-#9(@{ZyXI&1nU_CTB+r$<TJppHtJlhB>(aZl
zw(gY+?Qc6=F}Hl*>g~76o_p`QG=FCGmm`;6Ja<~-q*JnPdc9n!c7$!lc{w}D<!&C&
zt-Rw`N|wHg{F;7cdGvbYSMJ3x*QCv_iS70~f91T%Gf*|-XS?FLrvF;raQ;&p9>*si
zyU{<rJKpxW!1D7orPD&zy`R6lYU!@EvXM10->se>+7|iF^c9a9Xws(oOSz5w_b1h6
z=l%Xvhg#$*GBmae*C)t7f5=*}^~+be19!Vux$R$j{r<5MNI1XRKJ`VXzIgf>S0B}a
zvf5{-+;Z!yo?c#6<+fsb&g#P)LiwxHR$bxv`(tk4`ZL=fyPMuBi_ET%m9^a!$31uT
zw$D2c{)%*wz523{FLwX2HyI)KPbNk22k-rLaog$CTk8$CzI`OKwEpFh>pQQ#J?FJn
zxumbm#@cszeU;s=8MC@C%Uqpbocs8`r0Lh2Cu2?1w_p8VQfqzBWMAAykZB+MYvWgb
zF8dT(d;EXM`kz_1kIu~6_VTxl>Ax*^PZs*00c}B?TjlZpccoR>t@|I}S7goci}Q<r
z{C%or*{b!%>#D!4KWg=_w!eO!V_b6CtK$BB!P|FQ{myo%-Bo%1+;^^z@1x&Zv@@{C
zc{J3{Vb}XLHMs1%(5pz(pF8L8-zs$e^`kVm{#SQ9+$x-^|JU9X)|fkSao7XNuQRo!
zH`i2^)_EIz?rkj0TC)AC<)v_~lgaLTjqck<?pU++e@~Ui`JK@dt1GK)uk>u&T7Pwa
zSoiDekycVy%Qwvc^{(o+ye*pfE!!t|w}pGA)yL9xrMou=z2=y^SoXZ%<(Kp4_3JHr
z_Q=Hj>+_h~Kg!*FYs-ql&)&@aY9D*Q&%D=uuUy%W<?Z`|{+2+3=Dox&i&gJ4ph08%
z^?v7iL(tle@>hzs@1L)%tlwE_{ZIC=Uyb?tZ`Xh56@{jO#>#j6`<wkx>HgmTJf9#b
zC#qe_{daNix9bhv>;I-duWtQOzP|DgXwnLF+VSFPzki*4W$U~*-1Gmcllv!^{^y$9
zT~N#CZh5D^ynM>!=SOY^&;L5Jcuhh{*^8HZ)_pRr`@i1I%J6Emdi}m<D{lHefA!-0
z2jj2n?auFr+bJ{m{I0l%A098&o^;AW<mr_A8@8;A*?;VP#<v&WdrI%gm@l9I&Hu4~
z@tj{5f6V=M^XoFX7(Llu>D7NPe-1qUYG=U|`QDe$ZXLdV^v>h`#$l%E+f9$Z{Pk+5
zWZ|Q)zg|BqsXhGU_}872*T1s<YIaq--g)WsM;W#yCc%HFEI&4X+wy-?LwkCs3!T2X
zxcKw0d4c@F^JXnhTVA=->dlY)!uQXv{u{-tSAI34de!xfbHCmEXf3yHO`+*Cn{3^q
zH!3oZK3nnPNez$ARJVDi>z`cSY3K8I2kKyT<tEj?XG*_cTD5Y2<vRD+mip%c&+Ptx
z&0Z^NvG)89+dkiuD{l8se;2r}_+n*p#h$gldhY*U-RtKwcd2lE@s&5ric7zw|CsqJ
zeE#LCfNksE7M0kU_GN8)QsNr4^50hEV4Bi-so+=Uf0KVE$5+bt-p^eAzlyi8GSlbk
zj;i3jr<X1+Ox{{wW%sH+!dATR(_+KBG1WhI&#3-Wer(mVH`|_B#NPL-&H8h$Dsx}n
znyh87R~uUYT($3U{i^V`xv!T$d-p7;ciVsS>io^wp4*hu;}qsETDoQze^LCZXJ1uJ
z#V$DPcVJ$-aDs8~lE!1NR$c&!FrSs4!e`goYUug@X8QjN6FJs6Z%;M3RsZPI+kJms
z+}Q2EPX2Sb(4F7%W#}4LnG&6ePv)$9FCx#RH1}C*%`5fnl+rcbe|pNl%zs#3DS7=X
zSLjdHqCZX{DgEs_Nfu>sg2iby=Km#g&l^nN`{ddbtDD}9{mrtoJ&MYHede)aIZ|@=
z^p4kz*A8jL%&|Io{>R;~cFgv_6OX^HKVY?i&t@m{Z@K3u#a{?N`B<Lt<v*`zxnSXu
zy~nTL-E?oeirW7-|6`l|KbU2Q9Dnir`Hv4Xyso~jt7kLHTlo3C-HZDT1;2i7^ZTDx
zbuNhK{ne8;cl(3up8MB7&(f{>zg{BzeaQLHAFJ1eznS@^@l2_B;W}r(*S6Q}Z@ON2
ze64$L{i`bf-;JBMn0L&-R&8GQ>UjwN+?PE&-O9h*zWddxen<9?>UsB<9*^Z;|LOi)
z{pbCcjlV9xoSbgpw?8`m*`n>?vHY_8KhKx4`kfuM{_yUvd!_B)&eyDarG9<2@w``x
z>RWw(>pnZSaP_lm*<In!LgZ{N?ppcHr{3z{?yuH$%hgw(s}J?-iPl{AM&$g?xrRS~
zW?r57``(PZ{dZp8T7CInc|}?x`#!6Gd&`f9ZRcCVod4{=zT=gfS!<6LeJZw><9*ce
zylIE(iR%76<|i!b=exX55T0DG=4=<wQrr-KadNil>f|q<Z^fKmmiPVl<nt%0*x&7W
zI@kC+UwEY9Laj@h&r9sp>YeA`|9ScT&RN~(1<PO0d{qt(D#<wGO5M`zvpd(_pHsIz
z?)WeD@ZPF9Y1cQd3IE-=`PILf*uv^g-5)*My!zOu`)|jelV6_x%76Lsa|v_mw(mRR
zn!kRRoK@X(d()C{*SEyAm%pwyue)U*{O3x&|GMyWo2$-#S+l>*ex1HOE_lyt_AI;0
z^ZWki{q4K|^5oZ3C?Vt=x+kH_W6Cv9FqO33o%i}^+|$W|cN6k=hnD?4+!Hf#^@nx#
zD`%SSiYu*>*?;(c?ECVMo8`;)@U3BfePFWnhWCZ@Y8vev<=*f9v^o0!mEZO2s-``%
zKX`JNo7J{|SK{W{dvCY?J4doKEPZK7SlW}AqaSo$ho-piKUef;UC>pZP?>DKxvOVn
zf7RHZ^&(?k`ox31b0?*&`&qiK*mGjvO~vI^bA-MgOfBJ&tzmao{r*t4`0eu9Pi+!)
zzuqvsUNtHB`6{`i6D*JajqED%n$fy>UwA$L)RHOI^(E_!)ZHeYn<*7}K53oxv9GIk
z-YN}~kF;JN=Q}goKJ=&IpOCASHEUyHK?&^GO1V$3@2s5vs=rLiI<YI<cGb_Qf4je4
z{}Z+Tu=NwenscxIpA20w^^4_wX3z93#<Bm?-&$R-T<!7fQe^nU<!9E#EqDJp*SLRW
z`Ktd~^?$10w60B(jbOibud%lO^EdB5e^{TruRfALRmA;HDNE1RE1N~m@0@SBEcx~M
zyS5J7w{D#K-|DpD%J}qDw{xL9=gV$Hw4QtWIbHAQ>a<mlb{K~nuBtp$$-Xb%baU~V
zsYOe(>gK+V30jg|=CSHkN}<HHdCAi+8kT&J<(Yb?z5LA9`uTa&KDTVWl6*Yob)ojs
zs=klABTv1bV)3`{=ELlNE9H*LUtYXwilt$fO<1OF_s(|`*Y&_bGxMv}o?WjdtZMYz
zrSnzi?9&fjAy2Oq%e|knL#O=l^1BvSo$KaWfBpRN?}Ax7gMw|#uUkKT|5*0Y+v!s0
z*S+Z3$#vbRe3QL#+qwFT^j-hXbd{|895(UH(#`7*`Ol2q>(~FuI$bXKeaQdNAL;Kt
zT-^pvJ<~yj)afo+P)f4e02abaeF))uQ$1&SRG;W(+=}Z_ji8Ag*sZYXXa1T0p?+t5
zp?|60$5S6T1^=CHtIfARICFRQp2hY%XMNpoaq?Bkw6dn86Xy%h&3zQyKYM9a9Jl@7
za<kaIF<X<9t!nJJZ*E}^dARz)-Kw4Iiv8}z>dT&s@#CB*6a275ud<}Zr~gw*i`C6c
zt97dt{CltLG2Iuezd3kk@;<KjzkX`fEsqbcpDg)%^OWZiEjM58|C~PS=*R0*U+J`m
zr>y;R^TQY8t-jh%R~4>XJ*DF7sk2JPrvAtK;-~t|6n_6>Ze9EP*NV+)4<oJCpGf|7
zRW+?7(&F?($>l||yLC=JI2RYHpMBAA^@^!4?)Z0HnE&t8x4DIX@^oeFw(g9);>>pR
zGbmdZ`F*SpS;RBz=*Qhv^Lf{Q%}bGuV87O=UXpPCvCYFpYnJTL{&BlsnN8Mw*$=+w
zzY{Ml-T%+x(A{O*-#<V6SbG;JkajMcJN0VhEzT}Q`{S17UH<>?>RkOCRk5Axa@F~A
zO=GL@-;pPl*)FhI-&Fqk>8^8@mF0U&EQ&2vU5b2KFYkPEvHqi>?WxIvuTqx3+_A37
z#x&^jwI6<a&-gv<`>D0(_4Cy~=GMjfroA~IG%r~&ZTbIm^E1Vc$A_=lEE6|z>!<X?
zm(O1@TRUa-v7PIJ9$nQo?>=+IM%KD6)F{<&&*So6visJz^UP{Zf4N7g|7G~}85dI@
z>a?fNIaT^*lS;F7b?DwTuJy;)EDBpxY_I54|4aLJ`LU0?w-)@k@+>WoUsB}!<~89H
zPg))g?lj5}JO2Jvt=XPyyC;?=$VRZwy8tRITDm`-ob+kC(Z3&$`|sEPw}nirm@oS=
z>uv1$OH1$9{np)c_4m5+wSTK$FZw*U?%fL2^mS?Xq>pcU*1xg#(K?HSl=|Y$TZEG?
zvp$TklX;Rp&1SZ!??=DR%m1}1ehF`_S$inNKK$*C8In7Lp5MH||9)58OCj5otGnW5
zK55nO$T~B1cYpfb8Jo|2XWl$v=lXUYt9fz$QyN!Uef{>)Wmi>a;`5lR{C)pdz3zWp
z{_Fhj^*rfHexOu#`s4L~J0kn{&$Cdi_xms6Z*O`1?ewbs&sSYsDm6c};Cirgx_wZ6
z`kNp7SKmMPT9J9Kk9ozm$InI9&ztP{)#u~oe~R`~chspZd(8jy_v1hJZoj>0cmB8H
z-2c1fi`UMz{~M>&{LXz|>VND1^LhW*Stn^nv0rO6FH5-pc+ba2`;s#ESeJf3xhA{o
z`JMBU^_Q3Ki2nVn?Psyfk9A%zYnIQqwmLa;wWR;D!Y8-S?<s!vUGC(|G*_FvB{R)e
zIAz_NKl#7=r2i9J%ijm@34ZitKi9l}1)|G-?G!tH?97R&R_Bk^Rb2n-HT{L+>b@WT
zzmF=e|J1(vSj^wooauAlw|}lWvEcE`uP&0yKmla+zccZ9J-!eUtpD)!h-Trh<rTk9
z?#$bN<+p8kuin)kYns9>vtGP$fAzjc_J8@;+m*H{3nss0J74x^&ZDcvMl0rN*4?sy
zvRvr;`6DHN6zl8P+^>6WTR;Ep+zIFY-|gRd>YRM}-|P1jz=2c`4kdWjTV4vvdT%e)
z^ljLq{B-%Ad(szrHRl!E=k6*0-5>vP_wUK)7uHNG`IyOXF|Q=(d{)c6*Ejd%^FJ;8
za5H$K-s9q9FOAnHT;BEKUdbA%6)C5_&9U?UTT<~=OUmd#&*$1X#pgfn{;}nMu>Xdm
z3-1S6g-WK^>)zyi{`+Ciyr|rHy++B3bI$#Gv*jLNUDW%M+T|6`8?H_I`{qOV(Vfdy
z9bBuN9&24zx^ml>^jUX5?zZ@Bclhg(mwUA4ePxT5nfp5QK-b@OtAihZeN$4OdCY2&
zr11Gt`_0@k|4r^)Tr3f4ch>so<+pwFH1ECil(U^Jr6hNJW?kRQ`o(tXv3Ya$%HE&$
zyjAsys|t(tAN3=1&)@Ry-}!I;#l^Gc*W3HOt~L9k{$}FZLQpk*43zWCynpU${a~s6
z-s5Xr>s8;6bAD$&-h00OPuKms^WW{eessC*gNjR@wyOoJ)}{Z9k-4>Ro|WiJBfIoD
zcAvS-)^@-1J-({ZYgx|um-U~o__v3z|Fm=7$3L})I%-N+R=xNUTXXCGO7$&AFaE4q
z;&g4&+=6}b=Uyx{GcVhxy3fvf?e^yR*Q{gjYu>Y5u+`--%Z-QYyNYE)5C5!Fu1|mS
zDk%4*fBR&K<L@7x`OR}(c=_j571w@$Umg0s>glIT#eLa(=FNSl|Lj$dY4W*8yXM#5
zWbLb$djBG@M{EAGxsP5}x}O($|3#&Lo-gn7-;py{{<&dMZGB&_^q!#n=}%Fc=bXRg
zy>S`iys+m#mVfM%J8JX4uEZ`w_vQc1510Sl@B>^n?YjsHq26ctuSyi`@BjXOGWbvW
zuRY~I?r(ip{(brG_j8ZUwZC$Hzy9Qkvqnejckem%#wbp@{MYZQ9oIiucKb(zdJnS8
z+iDiguY3Of$8S58!&~lY{;#yzd+BS@pYWf?PZ!SrYns}7{o7$f+jUvJllK?@^=!-B
zTWj<6%irs}-o4how&<_V-!GS6&V1DWbN#;<(TlsX>X%h6|F>eE)#AgucO)18SpB8^
zhxPBHA9w7kpY!j?_nW^wmLEyov+e$zb9H+bx6k<XdC~mqKZB2d&WS%SV*ghD(fKc%
zKkI&-|I=7>*|r~_5C0GA`*kMn()r^nKcAY<^S8pC-*Ej_`K#>L7X7oAuDiwG9nXHP
zvGjqo?2Ydh_cQ)2^JD)MY-e}&@ryruziR$7uDw_N`+d~+-M@{udDidwa^`p9KewAE
z@BS?O_hQkHi5_Q-j!y1PPCd7|{P^5|b#d=ZYyD<^x;**c45?3%`-*kne)wMNu`P3N
z@W0O$RZCw#{V_M3@BO1-xnDQqgRfQO+RI#iyy}|8&&6FoCQ3YiwdJ1OysBUSf{Xj+
z7P(%lc$%nt>--ge`>E=m{XSZDORcMaYyP~yJ3IEuvVRtG;`4tku97J}CVTIw?Citw
zOZOkXe^bBj_|>OhuD{c~ZL;2IN6+<dvoGK5FaIJC{QiDj+;e}~^P6jJga2%)@36mo
z{@nH}_0P_S%((T*x_;k!`@?^_im#@ByY%z*{!h!j(SqrpXmy?Gdgl7q2aa29cwcB&
z_HzE_g1<iNOZ`5Y-nO0_n?5hm^nC>DJ<;c~bt#>PZIh3!T>stf$p0B%;+u8ln62Y{
z=ZjhYII=|OyNuP^?Z?XJ6=y&FVtjvb>XLtJEv;fc3*VHqHoJN=G5E~gx@&)a-Z}n#
zYVe+40qey-&ixzodgbr6m;c8IW-YE)KXT_T|Cy^7o&U_-xcc<bx!W}7&5~6&lu2JV
zL$rPOKHrayUrTN4&wM>@IqlTl$g3y4ekWJ`D3|{$Xl;0)@ZS>q+T5+omD8%`y{)=*
zvHsbwW4G>p?V8bNpH~_qFLXZc)f@M7rOB`Cx5>*EA6x#<|EtCQDa#k9|EgR&zdzVE
zcu#Tt?T-TQZ4{Tq>3?l6KHp<~>)eO^r((V;D*yfcdDo??+O6}KSH;L{`M+B8HDmwP
zimUcl7h7fjpU)e={@=V<a4K6VbK|>(|5h1oH~Y)k{-C;l?zwfw=QqqMU(<9i{P=eE
z!XxDhg~IE;zr8Y{{AK5P```O_F8}^tkkjzob3VIz!<8yupPO5z%)1u-cxwFD>!)6(
zYxK(-Pdf81S8DT>KQ3j*`gB7x?Mo~=ciuifEB>qh$5+mK<BpVn^Ip6B-S(K>yZ-MK
zyE1L>@y(X|cFWJ$xVZg?adP<dZtL7&8&hk)B#Uz~f4{zc5bEsqZudWn<C}uY!%8pB
z{5NCXlF9GR|IxWzzbCl<*R3q}PdZ<1Zhu{}`2U%&y<2y`7B!Tuzw>H`oyxquBEMBH
zA9XJ~ve-xIck-+AQpT6=_m{3)`9Ik9ocUAFxm)MGe7?2L&hM+w$8)*Io%eihnX%G-
zPIcOyi)C&9L!YhUm%RCRhIYjF=Rf~ieEom(!}?3lR~LhunFR^=ALrCd+e~HtH8bw?
z>_^$#%B^;vvpJk~Z#&n|D>LtB9Nk-9qdd|7!q2NL_s<0|?^iz=S#^KizL#_Df1ZD^
zm20{C#C36@-qU63!xk2A4f-`R=jXe&`ww4im#nS(y18$~ypAIW&Am#mn(nVET04K{
z-u?T6Ya#@jie0T<yVj)dpYzdu^}6u-u3MY#m%Q!p+}3fVFx1{4`9fXg>n{TJIcxZe
z!-Jfc-_x8o%W`}0`;uDgimVr3jK5y@6Po#$FYc?0O5f^Vz4Kb0ADtL0xRUwu{r6F&
z_C{Zy-(06I`?u?)YRA3PMM(>jdzqH)E7VO2`?Eq~`##x!DZ#CK><pBPzy3VAAo-fb
z-TwMh%LLc1`&Pfo{i9&#;(PmFJqi7uJn`4^zrUUPt{NXLmnr*uIA-1a$@|~;zp@m2
znQeXSzt-j#hu<CF<Fa}F`FQ_B4=wI|RrLG2rCxaE@78qFOOg6UcN*)b+QrX(4H{Z%
zVg4<be*3{nnFr}5we#m}TK;3X*0(Uj*Jsv#GduY{y0w0fH2*(~JF=x+JO}*0U$s~J
z+aFmqfBn*@#+i4F|G)fhX1Trpy4D;y*H5!|oseLdzBfMK-SV%`)|WkYQ(uU#IlTVg
zb-}B`m5)6_-`$=%YjS$%=dE>V>;C=n`}oR#Z`=`fBeU?>_mcHnvabJ+G~Ies=y-pO
z=24Z~{bf7WfKzMzkL2W13#ItqbET}l`hC1|X6L#3N6TN|J{WxX?)CY%ey$1m8go1U
zi%OBGdzmYP6T|xIuXWF>e2)j$gLC})88J<JUR%`fEqZ<X;rXvYt%96UvA)k<eb(kz
zF8@9|Ed00q)x|%~{R>rJze|4htC^2>mRW|i$No16ul@V}_u{I)de>jK`abSIrSr?+
zZ_S%4EA9$OJ}$UE*~0XfP0*j!?~nib9RB)mT+MQJF-RwNvc-n?h4WGr!`!S6od5F6
z?x)1R;+ku_eZS{?vYcnL?^33{d~ig1VS4NwsZW_#Y!?d5e5^T-N7lA;{ls@`y8Wk4
zZoe<~D!=(NSJ^SiT}vL{sek!%&2jtBnI58A&a#Pn*PJ*y`K`}h)6J{aezaMg_aP^2
z`NT67p)p^t|2bmK3oj~5?z~)-xi{FxbpFb6tLqOX-+w87_1@y7*Y6+3bw-avA1D9w
z+5G+Q!g=Su7I&4OlJ$S|{<6RARyL*5J2P*ue<ZR0+$E0EZ{HVx+QCu(bNS!P7mMru
zTeU_`w0`|4*f!XvcHX!C%RYXx^0SxP=ozg&^l^{-oV@a1^--oj%k8i6T~Gg7_gnJA
z<+_MJR-j>k`!5dcJO0z{v-wu52k$0|%$%rs@8h2Mn)h$#C;G}?o?j|fe(mVXXglTS
z(v3fi<6gL^M0HE_Ew4ED_JwCnZ+%I6tc~UGQzs{%mn~^a|2gIQ^X2Mu3*UV?@%!?`
z{QDt^?UQFL=yjUZF1oYgoNaLaS)W|Xb>N^`V;5fbDzvR{Ri<d|x!u1TPsP4HGDos}
zS4Px(5&ysGujZaBtvF`=cg`<szfG6y{`Jg1Q*rgj4ExJ(YU@`#uUx18{pIq>>&ohr
z?(8t$9^abw^22ML-U-Y1%TGP-dcywg{Jwdge_z);({(3OeEzGMk6wP>Qa>lH=+%!K
zI!_BHW{UPbw|!Ky`||(Gt4{9!y|HYE-RyT4&!->o|DE^|obPHDgGNiF&)&cCioyPJ
zW&e^BJw6}%p2t3}ZvVem+xo44ty-^W&w|zUN*}-8pI#^xGiRsO49$6_n|ArFvwl@N
zM|SS7`l%PSmi_ti`Ao!A4e4y28kv}hN8Ancj{a;pn!Txe{>tlTL!U~%e6Vu!=C~u}
zujW2_X?eHIX3gGa#d(j7i%%Z@IA!wI<994xFw88LX^8(ePs!A1?(Ku+25Tl>-MKT^
zrqb%~oIk%L>mPpd`}pe5&#lFC=Ki=MUvz2mgU)8{87EfSJAOJXw@=IOY{=^$@2~mW
z&t*$m_RI2nUfr{z<g6EO+&^vj22sf&_ip}5xvb*K&ceMeJ&y|u&prLY_eXZll{+8X
zf4uyW_iyFA^aI7d%m42G9r*t9-C38?%je(uIN#=cL;2UdntE_m02^_r*`!jp?DM??
zl}1Oc=au)qul@IZ-J31;k2UT7eUG{LGoJl_tJhjpScpZUh1j3j7B8E_44*EapMGqW
z%gu=7Z8G6ULPL(9zw-Los!u&7AHFQy9CxH${bO?MdlCQhFSk8Td|NNe^HFC0OmDfq
z<#X2D{d!ySpK-DE))Ip?8#nI@wlOXFW%=`~@u8=n&^><TWUb2?+2m($e>n4gIr8=S
z75P^S`NNN{+<8C$Z{3VnOXlb483zBIQ*CZvywlM1&c*yE^S_-B;m<Cq>@2KqlsNwQ
z(VWvCWq(*(tlasS|KsJ4cmD+2)}L>9KFja-{Od~Pf7SoLbFY2xTyOQyUizP8RfQ>d
zr0oJ|G{&Si>P9W!2hijItH}IMg-8B|9tb)tQa}Gwc;da?f8Ezznfb3LtlzzPkNGw0
zl(31BJK}%%I4)WDuU|Lyf2`lRrE<sZkIG*zj^De+aK816{&h{4&qw~*yGgU&{;!Q$
z*!nM(S~FMrYWw!A4zE8PZ)sikOy_FM_h|X|Uv_^jstA97_s5zkS;b3V<YsV0SgovI
z6~0csWS!f&7caj^8w<sMXHNHhz4qhfs`u~MkDuqWEdIOj`J0XB(tX!Cy;To?)%Wp=
zd{)BScU2xf$K{tl-@Q(~{Pq6o{X4!EU2m^n`TxoL9@+XIGVRe%Q}`TCobxOG`|OA8
z=EMIdd{(at3Qhm7^~~<SY53otSC3z=Uv7W%Mcnhx;ieY<{Q5Q9{_MG>{pqq&`mgza
zH~hX>%2(ZAtvKg=@W<CI8=W`nJ~o<K-EQ3>YaP3O_s4awde<|*K4A5s1vDzD9y7&%
z@|5|f3+ty#yVw1CzSpttTKb&*=@v)pXU&h&f4{qeed&qbIpq(0>dWRS2PwW!yDRLj
zRQk2p|D&Jv4W?yVgZ<BR$%`KLV6XQ%U;8!4c)jHwv5jTR@9(sFx_tieW3Q&({(9xv
zt`k>Z|7xEjYrom;s?YhW?RNKGmcM@bVcosmA0sudUYp-9yS_fg{zXjhoQsF=75qKc
zbL9Hp1Ch6+OZS@AMZLfK_rZ^wiWgUZ{OhT~Z(#f8&2i0n=brEQ7X0zL+p>QK*4gEM
zJ$;V*qXj4=Jon%3fAS=1M_uus%l}@!@XVe2clC_lf3C-*uX}#3etG?^^XHt8``i9C
zw5@-5b>I09>pZr{Tm9Ytd*fyAH@5e>pKUh@294dU`<?U}G<LHclmz!Y-Lx+(aF74F
zYTdt=_Z|;SaqFnpHGdcEJ^%Xr<3DWP`mYPTd$KkqY}Joh@#&>iZIM|v6H88>4cg<p
z>eH<FnVsc&S2wR%>t^-O`0q=jpsB^4hI}ul?5=-P61w??&e02#KmS-M7ykare9buR
zrJtg%nuyDmJvOc?$*Z55t#UPM+O4Hh@6Q#9hRmM5^h9#@lOJ0zNma`EKkvV~i08R-
z>D9lX0V!wK)X9B5k{W0mTz9-C)c*e2^Y;?;o}alQ|LObj5GVCmdyCL@T*vK?Uay*?
zHFs&%oJn@ei|eC{SIV7x`?#~@SLew+zm}i78rik**~=M!t{eGJwNan<ujHEc>I;$Q
zqFv=)pRAe|ymWI&fAGEMCEBZZT2%=xJ`r`k{9)`{X-J0?))knqsa7wqTqnHD;?X(9
zgqP<<{?A;Ob@fYcomP=@y3B&}>z2;_Z}r{AC_C_3{gr1wO2c~RJX&5Q68}1I&+6-n
zJIiLRp66QATe9li3x`#gzOI_OL(6JT$)(i5y3}Rr&p(DN-8tpHX1QNnYq?j}->u<W
z&CXr@C~0dIJ~!R%QTCGAR|`8MMc$v&`eetOa;|V~SKL*Pw=J6c*7vR|xwduUF0SP+
z>6$@?Z&<!=j?;fyzhAn3`@h{kZ>pbpI>+Xj`sR{jA(vjVFFzIf@W=9s>+{!aoa}Ar
z*SUJj;wLv^u0AUgeECIqvG(o6GKnfX+2E<cc28^6ZT?;iE$(}{#%@zwYU(nr>8jyJ
z&OX&S`eDtwHIK6Yro1>)Dlz@(%@1qJkAtg5o3)^-F>`ua>sn^W{3p1a12rYU@|e7K
z(7cu19>#5dzyloD8VOJpQS9Gr&t29#%M}gkqJai%ap|dtNb;8_+<#nC!JP9GhZDdp
z9faJ6Eud0ldF(8Iv1$LG&HY{e>s7tr`v2?M>t-GPa<=k!=Da)M`giMm{Ed>+YqM?6
zU;8DyY2MOvlb`ST_e4GYRpFVgl8W{<uS+-A&yo9@E|qxfbL5Gz@K<xn>+bcIpL(tJ
zD)P%_w`-xB%Zhewy%v)<P089T=APBOopUBtt(#YRYG>Tss1uhjUOQg?N>zHQwQBgo
zxyIoit^a<t`j)QQ?`HMy^%|>3e**2ZmqcfqpSCnUx_Q@}*E57Gd*ah~>U4#uhZ^7A
zEp|R;?#9dY@vE)Qzxgp&?s>h|#mMI$PgSN}og+8>=);#a=iVxmPW$|S#{4JikFP0T
zwI}W0nay7|-=8nLJ}d3IeO}n!YgVsq;w*pvdl9qTed3u#o9FS~f7x;r9DN_&g2E?1
zzDaZe-;w2i?$^l}7Nq~bWzqC_I?t(}oD)k-bEDJW#TD+VKO469d}Z33l$9TCqF<Mv
zsG9c6f8OU`ljqMVeXf1!q3ou0*U!ERSru2Rbf&_N`{paJxu4IS-~G|AGS=0$yYAYF
zU0K)s{I>6#b^2^jihJkj=;OxIgM-dr-Rx(1eRVK*rPZxpKm7KlEG}C9L~Bp+Gp)Mi
z`{R!P(|LN)<9PktQ1?0Z^{>)<OS0dlS*9<m2%BCkTddUo@wLu$*NLx|WG$<{{%GcE
z<Fa4bq0eW^?!Wx_kH0F|%jeh3y8L*Ph0WaaJ7t%gEBYt@dGepHGrsywy?$nX<+QqQ
zzc)V)J^SX@@w2P0N2Sj_uAP2ge(vip8j~VRu5Es3J$J(laQfYMx3RXr{_|V!4NNZ_
z{)HWrumAJ$_xt_FpV$52Vn6@PqN(tezI`8P5@BMzIp@b@md|UF1I~T#yKuF{=l$Y)
zw;SEVmgl7xr==g8fAL=7b*T-jLkyFbf6lf!UsP}T_iNpmTd(VqkA41iIkadKSLmY&
z;a9Dn+TRyFbK~RYa~@_^FaK1U{n=7)Keujs_wqj_vv<Do*H+re_5AnDs%6QmR(<_G
zGuwXi>sRZRt&*C#>Q{wQ?A{{<OW)noUuXaR+G6d~J+l9&9&|nN=1+NX?3_6<`p=(l
zv6uZH`uD)D8K-|b^SmytnsooHRsG+>Gk)hq{OhffkH7!5@UW-PUHh4>>#S_g%|G)r
zZQ{&T^}l|s{I^nW`I2?vn|J(6ziM?lcKsZ!=gZSpD*v=CTYhX-`uSZ`Z~dLU_hanu
z>p$&5HTmvlaAvMh1Z8q=-D~O|Pw%eT&HudC<IeYE+aC%3wE84FVYl>u7XGbnyJq#p
z{+4qzt}Al6d+ynpb7%7X)>ZxTo<DQr<)5bW(s%B!pYv~p-nOh~s{gXRk11F@{&u^R
z)p*|Z_45LzY9*E_tzT7s>V3?s<1;rtPCx6jt<U~^+x&0KFVFwGCf4xj^4n*g+PxR@
zR|!{qWdByDJ>+RfQO=o|t^e%m-=>EJmYarN_4vB&*yNj6y?Me<{j3+g_w{+`AHV(U
zbd0any}D!Nl=i&7{_KMElPA9x)%pFt{L$Kec}3Wfo#*6}BGzA?{3kE$h<{wY%;w9+
zM=#GmcjM#kx)%jP!QcJU7OwW||EylTGcsk_D!aN>^{b9+u6%t}XWjqEt>=oaYcD_b
zb7kbKjymhwx5iF$|IR%J4#Cxb;34>ai}<!_r3tbX)$H}(Y|q`+|M*#aM)`(6Q_8<z
zisXLp{3UL$-S0nnF{=ya^R4^3`S7&wGcV38{1Ex3@7$AL&(^K{?#FI_wSL*UKDnxU
z2Zb+JW<UGl|M<$uk5~N9&Fzb<UM_F-Cs=;jkCpbpb?xO_t@l((OWPdad;epyy85&7
z;J>!j?)KJm_3W;`uZXGN^KG-;>g+4uuf3g~x%YD2yhn4HqpI)D?@O0@ZndiIR{gos
z$1DH$9X}eoH_H2M`X}w%CAG_cth8TsLG!#t?T*L4jISCW-CbH<c-&w9T*=nQ<yC!O
zou98gzV-F%FPFFb{g+v79@D${bEVhZD`D~ff7eZ_w>o$0@!KpZQBP$drR6sD^LzTu
zI=HvK3y6KaXP*DwqCb7lBkaHb?kz3-c0J^O=$|JKUs>4RZ!Lel<0ClN!e{<6CsoX!
z3<|Vx^E=P$lwNN>_3hroTD^)tzn=X~|B@(E!__Tc|FfphP4W75+xAKOo9Dl>4-R)f
zA7XF$`FpRjkn6<u<mL7CQtIl*gY7NLt<v7kt$Xpozjnr><^Ozs%HF&B?!&9x=hd-i
zC)pU9_nmt#`}y9*^Q$)W`Fy>eQ+4g<{1d-)_P+X3&u+iA{MPy4J;e^$oow724#$f=
z=UUbFE3U8jZpEwpj|&T*H(v|-J@d~gv)KEZb+7uhN=_O3$-mq2&*!Vp$Gp4sv3EXR
zZa0p7`(y6B<i8W<>&*R{6f65D<o}fa5qs<Zo4l=^cPTxqc)s|Nl0S<7OXh6-zW?z2
zPxVaqzN%j@{GNZG@z=GN|5yG$-}b-7c9ZEk=GO;qgGNa1rD?`*pRmXO#r<~S^ZVaV
z;M=jg>H62_Gd|TSSv<R4yLsJPpV<35j`zjaA20g;Jb2Hq2VZvYFfuT@dil8jSBpO;
z=U!PQAHP3y^^AS?R@?h_yk2|RzIXSVzUNxDfA@R|+yA!EO4k1C^=dQ8Wq<hIKk{4N
z?f=zUPF%hI|L3{cQ}$1ds=j?Z*#GQHty4d))VE)^$iDb*N!_oNHY<y}&PQIk@NxgQ
zuJo19d;ULpQXf&9pj&G{Ir!#`?#FhU(&qhgu30X>%xe9k^2+6ZzU(o+wx<*{_!?L@
z?`^+qf4B9s^uzw8o8*68XJ40DyLZ;F$6vlbjtsmeRR8Y&sh82>9<loCw#J=zf3p9{
zd?S^((rbm&kAAe_-}f#4YrX!xpWDzAQT?P(!Pa(XAD_7Ia;kc5#b#l_(&isK9{0+3
zc4``KOjGz5d;GV~haBzd-1Jw!u2rXZg@2z@Cmzn`wyf&ckCk%m^N&TwroZ`NT`YR}
zyZiHNg5`Tle=RSZe)nU{(&h7~-+T3)!EgEF<^QVAs~w(l|6%N%mn9!p)*XNR=n4Px
z$L>n8qV+M0|GZoMZCn5Hd9x;4mA;vxZKTY%zVO<jzn*`;1Xmip7n#3##lpw?S4Ta*
zQhcmF^<2lV15v-~thUv~wXd1E{GY)6m+W7cU#k?|f7<%#`m3)Z&qjZ5Ho7ACbp6M7
zYaSPV)I4AQaCzlT{=cu8uW#8G=li$h*YA&OG_p^Y`_$aO_55eO&yscG*Q3@y51u}y
z{?vqu<BuQdo&Nkd`+w;F?~mr5hc>J^K{Gl2J2d9&c-mk7o%iOh{$8ucDwSn5#~5pm
z+5C@r_Uq2tA0p?gtbffkpWmVUsq~0#<pho8c1w><iQm^a_m#T8JO6yCj_}sVqf_Fu
z{flMnKhFJlWj<eeZ+)R;aoF2*JNNQ?7r*~q`PJuo_m3+x1;0n{KC-!9Nv{2y{a)S!
z`qlRmt^REN|9ri@-|Xn%N9TL)YVF?fxvXn>+Hp^w<1@9>j$VBEoX>7W-K&{BJN_-1
zCu7Yna`T|I+0~anet$e(;P>~<4i}#f#|uO4FYI0Lccpp7wcfj2YV+pIeO=$5w({re
z*P(waC+^IuyBh2skso*2=+gc8+J7tOM`ph0Jp9#v&aYREeE&B;d>OYq?op)oI@$Bj
zZj^S<K3#F#|7?ZMp*`!SC7*e3>s@>L#Jl@3<-ab!d~W>X+}Fu}&NtM*zq|43TISaW
zW?OD}UwALaF@CSiU!V8kOU^fcEzhWZ7Vc6%uke%T>sr6FHzyaCOS#`Me!kenreXd|
zpX<-_jxMjTx_R;Zp2&o2v+G~w3xUS?gKdAs%s+Lv%J=8;I-&cL{(oN<T$7k?n0~eH
z+Wph2#c%g#tp<l-fRKHf%KXaDw~fOlrW;>+S^w(!oij%_TdFNP9RGWMXiGBV<(SJH
zTP^GV2K%*_uYU8$@3x4)ZQo>xKI8EH^Q|kcP7u64|H|a#=M75M6~~uZ$=2KdlQ_3>
zzU=glo!jJJ+%v4d!=+|yX?<P(RpQlmpSSFb`{=d$jBK6x>7$YPahLnPI=9!qdj93t
zg@@^T&o?a3pIg<LuKVuuiPGJmaFc&!X`B`pep>Qhefiwg`%;(u{~2NJ{4dkK<X7dX
z|7Sp<_iH{Q_BkHwc`qg}sH?v7uu}buq5A!kjp-|v7T>qKdUER7^vNAZ4(87=mb;mp
zePrbh+jH-ottwu<e4(x;R4Y4CTfVriD&O>KG28j)I?LVH%SARF_OE|E_m^i)y3N<+
zhhG}Jn!5YarKKg4@~wVtPI~A6*Ev_#HssUQIfezVSJyo|*QHt5m2PbGba`Fs<C`+V
z#qRdm$Ld;cUF!XJ2h{b-I+54uAyXd1-)wg3P0jW>S2vo+?7!H~H&1HQy<PSv<E=eY
z`m8Ii3Qx3{^MBS-dCprC|I4P;7y12tvwO;kbH9Q<i=2<L`dzqd-`v;yU(0{YHJ*FE
z+s;1pYI0S@8u_fcb(w1}UN1cUb>Zf?HQSr#zncH)vhA~1KMuzv=KS&4CL=ugwe&=b
zJ72Z@SVeamPG7Uwee-waGq1B=Zm#8<wD0M!Z}#%mdK=X@3;+6iVCTB}75g{KFR#dY
zQU7B8C*k`a|KI#DS1#fVxR>Ss2(-#`Qfq|dO9uPPzrU}mOn>yQ+wSu1WWTy);on2&
z-ZwrHb!4KyaAo?teaGKvaIU%`^={{+k7taI20Odk8`iJ?Traooo<;rYx=+uGU9^g-
zzPt*2y!@-*UzL5vX?uU&S^oFJ!xD+FT1tr>kLq6rS<Uw<a{aaW)!$1OomF>k`uc0t
z{GTT$&3Ct%JyFwsZ;;u%vxbJ{UpA+`abKZ(_r>|Q%CAG0wfX(`|9Iu(&bd`LrQiK>
z{)Z9B=Z;KVwQlb}gYYFC@}ZwioX)MBUprmsW@P-U`Hv#KkI#Skt8AV9mHQ9t%g>eA
z>Hqo@659Xr;l{cZKX)#h`1<vZ$G<K_t``tk>$E+1(q-eT_D`2rpLzO4;C#%w|D7}I
z;!6H3nP;5*s$}b&hxONYe#!lwZ*}0g@4J;BUcD~(t<A9bHS<SVtOGcCfq#77-`V}l
zwsSXgWvu);?fU(XIlu2&<)1d=+qTbI;bvvW{o8-v%jqhwT>eY8ZdH0$dFA@9`)~Un
zmw#Mo-?zMP{?1EQ&tLa^U1MBjwEl5=%>LGAH*Yk2T)cWwvrThh@$$mu`-RJQS`}N*
zIH%?RyS{7rIpeQ>&#i18|NZv{HbIe`e&*KeyVn!Fc`Sd|*FC$l&wEvSrS;a553*-M
zc0MlosQKS8{hY;mNy)_6%XJFpOU~>`|8?+VjA(gjt+@SH3*I9>>%;plAD#L7#*cmX
z?3O*>npPNF_J0}k{ZiYPKkPwWg!Nb7t}c^}V7I#iS_<)y_e0Lp&&Ioo-%tGh<R@?0
zzjYxlkIa7Dd{wn)UVW`t#h&M-$1?M+x5eB{`2F(4_L-H>&+Iigx_i$=y=_l^K5tqH
zTC=i8t8Tk}-~FS@|5?nls(a@3dd_;|Yn#u#IJu{9e&JnTo9KF{(h2DXdGAc();rZ+
zd%7z9>-n;<%3J?~ZLZFPPSSi&KkgZJ>-hYSlO?T_uf@IJ#}}Pcf8yqM<LBREgKW>-
zUb(dSeZsO+vdg>ufA(7zAFDijg5&k9Z_Jg;lAqaL=I?vHYRBr=yML@ao~e*lwYO-F
z-np3L$G(64W@x+KwEOj@-{!JE*1h&T{{Lmw-QN1OdGT98!<`R79dZ8rhIH-u^Dm~q
zvz@ng-TO<M{aO0U=bi6-SYQ8VhLqLbvpXC6n|Vrg8T)jL|LvPAHRJ9_|Bv9YGV6J(
zA6>3mUJ?G@<lQS({;jNbeCsNdgcsL8pIBTPW_vwT!N22Ys=fbLi@AOC3;*s9`jAuS
z<oh#n_ok0IeX`G1?MQp$K8NkN!}_E=nV7=4q7Cui8jxoq>OoTxzy995zklWO{_y9<
zPIGq#%WRULUv%mA3~Baom(sF7OKvIrx%_VlTUvSX@*l}nzh1vC+4W=Qzry0k#fL5K
zTWmK@i@jX8pbaz|G4E#Q!<!8MH%(twalAP6Po8aX-MW>lCrX%?6)!J5e!nyQ?Jjfc
zV)4m*1$)c>zxw>3q`v;5e_dbsBia8aKlA*!>kb~_*)st&K-DVtT6oDP<GJ5?)_v2w
z_i;~l&3taT{hL1K$o;o|^x~eykN>LgzGywya*p+GpU=bR&nx>k*v7Qr%@={g8xP-?
zoqx^x=;mX_$<LWBSDyVEo%H3sO_APjm!GBUl1z4Aw!iwg#H#Mt&+qlOf{f3%J^N93
z>in&#z3H*XvLDadDF5<>y7b;lqUuJ+gX@fZo|k=)<;i}sub_B&#iuX7gTF60J^Q2G
zym`ewb9V+;e7jL`>ZDZc{)w9(t4}Rnw|b(~yBF=?V9F}_X#Dr_vrTU8g?7bx>1TE=
z`|H5F?taJ4#qulW+g66wtg4??Uw-PmY3a_6!esMusq#N_E3U1p-fUcM_>$pz_V@Ms
zj?a9j|I2dkyplia|BWA%%Y)hyRv(-|X-Yh5P5IPQ_xVrWcX@RGSg-$2i%0jA6J9yY
z>5Asw8y@&X-Tm9k2NPGX&-<V8@c*r!y4K%{_pkoBt*`p{+gVcfSM86!j=EB{tp3N!
zdFh9<_g?n6f8KAu;N<g>Z_=+XUDbHLVNJ%X{~_n6+<zEpTAzR6;oUm_^b^NyXMcRa
z6S2$W>HJ4K#pZqtvA5h=wys#_-dFyQme=lGe$Q^P`k4RgxxeZ~=gA)Zx8(WUzt%@D
zpG^Lz&8!^!-*Woa9d*V3tnFp@zxF@=ejPt({k?qErI+n1=V{jeT3LPJXJya))nWay
zdoS0`_;x$=?}IP<wf}GVU;1_H_aBvpUxR;I3uZmIy4$$iu;jqn>+kNDocvk*{p-P>
z@4wWD&)d7@F{FnGE_9x7f8qS}sn}-Ttw$ZdpYP~AtG-~*?6Vg2`MvXwq}MXs5f+{}
z-{xL=eT)0LeY@t`&e?lb-6iyB-Mezr_bofi@2p$-G5Bxrp0L>0GaoIln#a5TtDkbM
zz4c!=p7kg9gt@n~_gIBCCkfeqtzVUX>ivg2aqB&|-@oL!xg*{9++1r=@MJ-QXYOn1
zkL&7B%ujy1_t)%=Qub@hU;PiQC=;<yeUX^{zuxcT^S_|(#J^&_?83j#{*>2Q)m@+8
zcRv=~f&a4PGJmjb@V_s?-xqxTEMXtMR&ICI^1lXex3B(n@MV4Yzs&!yUuD1l_&Mp-
z@=xVTR}QQ$Pk)#6q9J<y-Tf~oeSZG#b@S)@FMsOURA)j5f04Gj*xA_cuK(&^x8Bv?
z;(B7o|0f@-zMi<c{PvsYySz)ode3*2gr$`fTmRr|tMmJq{;aI1)Sx`u;_&&Mmkalo
zxn`Z$X#4xd$~Rrp_;pat{GT)Aj?Z5;N6!58!>w8EDWZQPyViWQwz<AYPX6-ykgHWQ
zR=Wimr(a!X6&jOzJj{4^<hriaA41~l!=Hb#R^{`5{<>#fS!%+Q9=W-%O*A$I>!({j
zOP)7jXV{|&dDlejuhxt12l?N6mGQdGU$%aoxHGQ1-e><t_B&C<x>gcJe#f7r-_tz*
z=rZH4liCkUrtjQZ@Tc4U+5XR$*IvI1FIPZ|F`lbVd%4&3+56-p`8P$~YwEMueQF=X
zv|o&zFB!RBZs)s_*}bvlE6=U^7&-CWsh+$%_WK7foY(w!=8oSwzGr#7=|3#Xt=?T<
z=kZqZ=!W^R%U|lGrp0!>H<rKr_($;6%a7A6_k_Kjux63H_r$Gr?a!mGJWl>KcU2UB
z@l}tkXKQYSF7I0X=0;YU`RUL?(Rrs{zp9^8xBSS%mo;-QUR}r2Gw0&s;<;?DWv`y<
z9IrVeY;@gA=F-_&kCy*h|ERo9?s2+%>9Nvj`?lE`UC;j5|I++hLv;2!S9a%fFK7HY
zWBoL;#>&CIQgzNdqwQjS^&gM_DX-i0b(i%1-x=UZ-szwPKYNZCtvvzGCg4H5h<ZE&
z^gkTf=l!ugXaDcV{&)Ys|Ns8~H~;^q|9^h}|8oD|-~a!-{{L_N|1bCdo&W!%{{Qa(
zfB*lOUjK7?{jcTqzn<6sdtU$ddi~!6SMN-^j&Hi49xnM{u1v+J?-u``-T&wOXX~lj
z{?C58+qZ&8v++z#fLpAu9WFPj*Y|(k|F(M0Gbg<quy>I>iQSL)&NZsn*Y|(Uue-m$
z|8tq`bq$UGyw>0K+0+_;m%n=z+504)dtvhHOLtHEZ2$Q_=iYN0<FZXxD(0>IYMo;1
z{a5{b<=>P3=dL`SA^P$IU*z@IX_mIH&YK+SdA@nV+I3ef-~ZVo{eH^z&?}o?r1!2_
zo%Z%gN%q>EcXV9KrtH{LYEx{f`t{DaoAq}4!`_ByUi$fX!W;Q>Zy&78>heE+N5|;;
zy-AMgA9b`tpM+NZ%39fe?mExc$nf=#<88tncR#xMXJz>RTbm<yR~4ysf8IR5mFMf4
zeRV~<<~~~WEavLr&2LQ31}R%kkG!Lk6teSN(4M3fj$gB<`L#rbIJYMno@@N_Eh>Cx
z+?)0~v3jE`n}7W}Y5CUYT&S(h>8jXi;m3E!-TDCz*X>pxp1d#o_xAmNiRpj;{$F+X
z7PG&HTsdp~@4_PoPI{k-f7(%bROk3N&O)ngdUy9eDw*wDHUIOO8z+MvS8luZe!^Fs
zuk&r5e^s})4DL@3TXNVsC3gMnr(agsU*<5Lciw5+uAt}jdp>{8+Y=lY9(aDyeA7+q
zW^J8(dF|F`MVm!#20r?9?c<rJQ?3+Sr~m#FwKaID$Mb&YP4yPro0qTBw398~d?KdW
zn{DpV&1*s?hQEBdda0aMyz!Ov*u8!AA7fbGcBOw_9``r<eA?SrCui!MJ6|UT@$1X7
zuGO=OL;25dx@_WI-}@vct#ETk;8QE_k6jDduC9-?5=;x^m2Ep}!G7s>cI?xtjq<-D
zPXwHQ^;-S;7GulsuOD<?mqy0PzOTxB3~sL6d39j&{^LLY%73#xxAyh_k|#f-CF}ou
zJpO+Ff4TWTK8pFP3VptvzhBkpfZ+-G<f=QOEI!Zc(p+RO|6X^#r2bjos;h7Jl<!?{
zKl7u$J>T~7P4}eEZ=U;CbhgQ*)VN2RU;Wwq&OFU#eSG#3t<XbnTy}k(bqzF+Fc~tB
z03H(GpS5?><gMDv{*=s)W33PPsB_$<Nc7xy<IO(DLqcEAH&Wks-v7zge^*}5{(B%c
z?D5wsi=(@}wi?fUp0c36=<6ImtGZ34AN;0vTi0!um+kNN|0zEIob~_tXXUrQD?buh
z{UbQ${O_A5D|6~6I)1mFDiHZvebTBgpF93of)iUx+262u`>(&={J8to*ED$QwdmI;
zwMwS#3UU8b{XVMr?1uEKjNjbu{<pgBdgA1{m+NIEOZFS+PuyCkv~tzu`k8Z9S5-_q
zllOn0)x3Z2E5KQo-5Q+k9?Ji#Q{PiB|NLO=$KIC}<*(j3cXU=StjHGj6>{JA_oQ|E
zxw|LKr~Q0z<yC~sqi-({8riAL-Bnv&Z?yPc`0BT&^U|$<Yp?2FJFBwu{Ho9AAL#t*
zl|29YeAP+M&{ani?|w~*dOxK;{(81l;<3K@ruH{qEcyKW=7;dL;boh`Y@aT_{pD2c
zJ=J+0>zt0%--_g0d1~d88#8uh{Vo3-d=ea(>x!md{qaU=-7S&#T5s3uORm`S&g8hi
znbrFbm;DO<ynOOgC-~pd<)6>}Pyd{LD?k0in!l@FD_Zuy)i-)km%i8K+ON(ftLi)c
zf2nl&CsVxc)x$`m-F4j+9=>wz>0-y@<2~=J>G&U#zgB(qg~(SyvYksDgR<92ep_R8
zAavdD_~*MgEN{;LyH%OlI?`AO93@Ksg6*$IhV&<w{r-OS<E!&-;3B?a2J`uUa?j<z
z+nzgI_3*aPQ&~;>r(f?iJgS&~rdqUK{P`V!>Gya4Jr1{d@4eXg@q^z-tba{@J$v`E
zd)A<F=$X5$s&+KV+8EB=zRT~wiQilq|G!V}yqvMM{MW+6_Fogb=KnH&T3!*p`|#@R
z8xJzS`Os%yS(IdV`uq1cvVY%{?D`S1A2bYUfBh+6{j0B6H%k>xO{?je|4uw@dHB0u
z59+_{_#tU~<=HX4_17l-zW8y+k16#ZUoQFl|K^{<*L9&bwH>P-zlb@%yz=}T{aEF{
zYi7PuPk&x@y2`S=>hHy!bI;$8n9{H@t9OZ$c=|oRy?yO=F{bD4b-aHV9I++d#py%n
zpZNzSzm{GtcKqG_s-ru_-`(3kYxTYN_gmM?-rfw#z4d%|ULDwXeCO4Bs_!ihJfE^h
z`DyHSqa$yx`IkTIEG$g@G3Ug+=k|4Lf5seGz6umDuiveH=>VO6nYXg8=vn?OSCuX$
z{^Ov)@#|Y&SM;vr%q{D`7aq?4WpLF0@61oudsg3lc=h(LotHkU`=0?#h8*8h{$=y!
zmyd$~_SGLhy8KW1@5jFszrK#_-Qgwc+&llB_@;~6<+TOBV*m8WWfdn+56|x86-_w)
z_z@^QO$Mc><7<D1e*E(A_|rY5w)3CaZr)$g`{icVs`+!~o>#thdgtZW{pZg9efLZE
z^Q*{Si<DzCw+F9(yqrJ0ceDAYx6aRHFNap%?^M5D{yo1w-4`iT-v8JJnH$Y3O1S^{
zPRg50-(+XpbKm(pMf|;XrTUY55AAPf#oeC2Yv0%ML&1A?J;yg|@Zr~;pTASr>4}%$
zl>G;pIG7(d*YCLh->>t0+cftd-o4}U%X&~CfWqMNt`qlPrnme5ofWIRF6el`<GVMl
z^s6oQe=Oenydvh$3^{Y}$FrtyeNh+EW@Yp=zUJ-!%|C<J|NFUlkKGR2QoC-W73Yr>
z^uGFQcQyX`QntR|Ra52{m+lX?U;lh&>`jwL6H4b?EqwE%b7$EczLfVz=l|Yb<o0b-
zeOdi~tJgc&U%&4BX8-)vzuMA0#W|2t-R1zeNzwoNe`vLXa7}sFpDF$RpDnEF*IOoh
z?3S#wpRj-7MA02T%CCR7{rUagzv`Ork?Y_3$KJ1c@AEOL{qp-qrw*J5@t3#1`uM|T
zi`B1tWb4z{CH?yM;*Qm!*TpHF^1|=G_&?UG-~D)}m%qLK-nTaGR?m8Z>-VM$zpp8X
zl(}~lR1$+`Rpx*4f2~x%e7>yR*X%M#5-CrAz30utKkLqao%gu#V{+9Uo!;!YYm0sd
zO1?TVrT*jA|L33i@BQ`s{HI?JzFqmLb83N|@L|(c-+zbH&z&x1@$PkC-MOoO{r)!g
z$k)#dziBe*N9LSJi!z%dG1h+Uo4$X`f9kV0_5YiHrSA&)uU!{@TYv8A-`}q)p5HhI
zZp&3Pfcoc*YWZFJn19V&S6mrBp<KjJyU+bz^U77}-7SjyYi@tdvAQ4KZ>Kz`{#=oN
zE@&uwork;q=OTMI8@}32^Ipw-r2I1cdHI+6E7yf%*K7X2;{V9{@k)Eyb5f6uo~^lc
zzNYW-@A79}&-Q;m`+v{8)&Gw?-*HViWO1E>U1^%iR2TQ74WR<}Uz)#q9`l^jQ1;)g
z|9$gABKlXJeYsxp)n?hcB&&ZJ$9C0=%ojAzUX|XpeBQabmoJ{&n)`BopWLhWJum&!
z?aM4WXMWPJx08Jl!*Bh%bo>06*XL%~%G~NwF7s+QDfvKS=6pVz>N=m?ch$d-ytvu7
zO><fC-np*=c_j<~K8q=>Tz=jB)ypf^N3H)}w)p(1%I;}psm*tfiXfTY_11sid<&HL
zeL8#YG2=(y-miWfU%P+JKhT74CTPywTmSy=&g<t()&{=Uu76af)VD*uGrINnyoDhr
zjoq#M>^A@Veqq}Ao;T<B6kk*CsN4HXW>yX;1hr1?+*<eSZ1vY8&*%TD-!<bEsB8M_
zb?3V4Q|e!-!)8<<6DqZ}e$RH@4~brzzANrX`=lR+$~QTG-DavZd;RK*{nz5WXOC{m
z2w#4<zW(p^x@$duIksB<tu=Ek`_cLG$KuFW{{m~=?yOlkPjg<C)$gT?Cuf&0tGB9J
zvEO)^{oKDd9;&3B+W(_uL9y+dHP`Rf6|J>S{#NippKtH>i&0jRza_G`|9>tLm-iIx
z&z)`4d2zFBZm`euD(kC@rHmf^I=l1vC%^UiS1zwC?<)VbyuR>R@3LO`<vi~j&zI_N
zdwYH5-Tiax%6^~tIvW~x_mi*Zh=NAa7J)}SVt15JT|58fx}bY&pBi)T_q=Rva{TkU
zkNYOSe|5n4%F@_b<(mcnSG}9}>d7g!XqQJ1%+H(=TK?#yYPmbRzpd=wBQ>^4M-__x
zeyVO;InTJlu70_N?d9jcGWQ1CcfRjg{;$MB)@^T5c+{>b=gQZex6-yYd$j+KzO3yN
zn``rTZcfUJ@ZAoY0oZ=(*k(($XMK>cTPpo`r)*05{26`rXKufge^eZEe%80cBL22>
zUa!mlqFx^C@~B|GcvS2=spIxnoomu%f}9!b_rC&#WIZS-Z~agI+@5_`ve-ZM`EL8K
zoBOvOU-M(*<c<9c&9=+0T)6rE%(=yL>yoUlM?bQz5{dsV{q=do`h*xw+u5&gf7~3b
zf4yVw;~$~_H*(Y#XP5W<+?r<jf2WvbT6jutd9_FGI{6g~H^=X=n)AA<VTPZ*@coO6
ze^kMmTlEp_*BaSD>$~J~ek@xp`yhSSZhp_UJ<|L&GL`cWsQ=v&&*d=p_1^Psx`_!@
zLDoO-+12Ei-dbAue2u?A?cA8iz5LhnPcN^~0?o1%)ynSF-g=Lrru3QYuaoP~%dS$N
zzxGGSR8@<=m#e_@Rh#ei&6o9S4_tp|>NLHt>(5)&dtdLqWmR=zrgrrD^}lBBofsZC
z@9c>w^M6h4O)vI2Bl~xa<Zr>O-H(Hp9rpJ*E+2LsEqKGfEHAFT@Ty6X4;r*9>woQ8
z@jbbH@(j)YkFr6H*mb4pXKY2cinza-!Z6wRK>XgS<6kG-x>L8L?Ofgb`d8}p&#Sy^
z-1{HBu3P+1=Cx>#_R@6aWEoj|>#s$<lPv$2{8{xsLS@sPTh+%yZ0n|do}WE2xy<#|
zp4-k@#eW@m=l*qSx4a%(-|_N`@kd$PuJzyFuYUaUe;=fz+yE*m54Pp+y2V(xZ1-=0
zR0}ij%6poN{I#pD|ML54S6{CiUYfZs=S|=IzCF>`zFP$EDK1)d|KakgWfjxEuljNK
zpGBSc{9lhNURBsN?n*yjwXXQz8SvPD@X;Ob)aLc_O4#qxvN~Zb0UAF1WnDOZwej}m
zmmjQqy3_9^|1Hi5OI!1Gg>?AC<=5G#Uq2f9b7PgYP5QUTp?|(CT%7*#=iB=DfA6^N
zo_MXUT>j(bwZDB9*`Pu=y?p1g-*dfW(%BzB^ZPns`DOkq*LK=Xo}XP3I;YB_?9UMy
z>GD-}$Npq)eiyA=dg<w`cj89Y=lG7Do%>4BKOK~|?!ALG<u|-9ge5Jj_Z#2O2rb_C
z>*n6=_1i>kuHBBRcU_mW;cv;4@;8;w=j=}xEq}l`?~!S;n^J7f$tUmM__l)<|Hs~2
z{iyu+;~%j#ulgUaeEid7`g^XMv0vBNyq>fEIcOGOWvJo$cWU$2mOHXnvORw0_xP*U
zmGszkRbl^g+V3aE*ld=6JwJJ~QSw@M+nrqYd+m1Y(OY+_|LX0Bmi3$E*FRd$FKgTV
z{5dNf!{P3lJ;yD+ML(+V`#kqib^HGxSD)18|B$y|*5;RAocG|df^)2QL-Oe-bBoj8
zTiBQy{0^-MZ+$%fk?i@<kMBPn|M}q2I?!D7gU1iL)Qt?QdY{J34Lx5fbwW6)?&kSm
zTfgOx)938>oHwh|to-Jb`CGN6&+qEFe#|u4{?bK%vntWz#}B%MXFg{5Q@@G5qeMb{
z{x^Shal<teuU@Tslp|CAU}f)PkMG|3%RgrBy>dY^*gxHV(&SrB>U>snPH@!yyznsI
z=KuN)CCcmDdu*ELziHone2wkh6~<-1CQFpPHwkC2XS+Pp+gxVeN5B6i7S<Bap5F3(
z9KKfEba&yiOV!5h_bc8uL}#0KXUi7XKYqY>HuA`aoQC~&<u~&6pn7xp&R2lb(Y!ZU
z(oxm(dus2xA1(ZJBfs;y*S*JYKuvVn&FYJ*AFtT|F(7x&YM!q2lwIXA^Q5ePEw9LW
zcH^aDTXOq;YrD1OUFp5)$Ih`A1<iiF{m2W``f0^C)laQ27F~REE@&Ox<&Vba?yLBp
zwUM6n__(HhcDUKRQpxqb*~jXZES{h9#VdTy37PUAvd4}t|LYvuH(BD^iQ0$H?)5G=
z>zg|-vu4$NDXZjHFW<O>jo1AD=<wAY8-3=#bc^Gce7WZO-HLCA?<QZHly^na`md+Y
z^QuQi^<`V;9xQnlH2bjey_fU((%BF1iP@d`XVuq5Y3Ao*9tPDV%ITLVecEb%cTKM~
z`<*Cjo9nk~_X%wN9WI-;Wb^&`yzi@$;SJW>{?81P&0XIz)W@sVZ|<m<Hn-dQ_`>es
zeG6awmu-nUxqIGO>yvwL*Pr>d>h{gUbMMdMPN}!yOR@jHJL-GWJ^sz#!1DsZo_*Q2
z!GA)|Z+^J-Ugnbb>C5kToZOdWzgsVq_fKAnsPEtTuV#L-wpsn`y`&Xn)ccZimGm4&
z@9E3_1lwF+WIXScy888X@8<mevyiRoTs8mo)pK4O1pj}3?DBt^*Y}=0Kl=FV3MaQY
za%CLf>y@7u?Ty**3m<a$c3AfD?)B~G{J;NPWP0s)?W+HIwte@%O22+uSAX}lv361N
zx|O?s?c6E7ocZ#<=P}=IfBBsHJ%8WTS?|85ABLZ_(+pa$!f#e{c_s7DoigQj3y*x~
zEDWAi?owGktMH$kx6y~ockVi7t~+1f^TzhS^7Yue=j6`aduE=tYSrhM1)EFsulSdl
z)~%}VsxSQuntuD5F17Od^qjeM%5B$E;#My{%<PtSb-|1y{(onJ!eY<uqkQkbRa-f4
z`}H~Rl>O1-t5%O!))f`Ky|et=l=>)r(=Wd*S3kJ3`d8(u`mW{wEwAl8dA?iozsUNk
z`d1x~pYs*XUlpT&Js;G)0}mH0f4A;)`ts}AX*QSVzx&+!$8z2G-y!>>@2~!1QFlFm
z&Gb4pySgVgWvuI#|Igc_^~Pn#vUjhpKa4!H<^M~G-?_hjKKj-B$MRX!=eUXQ9d}rF
zoV3_)Kl9t?kp9QZoyy*<etdO)FL+$_g8_K`;o&v+T+T7xbAOt?_ut9i6P{d*>?)MB
zH}*SzZT0TzhP=)5v!9oS^_EvF8t>XU%k`rykL{dC=g+)-@+#rowSu<!#mgVpz3sX(
zFOcVVq_z6hS2~Ch@ws(r7o*}__iH`ZDmk|9(k=Ptt6o_id!H72bp5ZXGv9svs!{*h
zQ2lk?ysX{P_Fqem`T56gJy*1P*@-GqvHwy3N~+#SEPL0o`}gIq#@U5j#p|rAb864O
z_I$ckYkKQunPtz)H=l^HF7BEC`l@7b|K&RmBYEaNIaTyV=GxBMluy<+*IhRkth0`O
zUB3C;YtN^B^G{iu?&F%b6<VaUgVyBK%cXr)E8=?snh)3};(kYzrH9AL+wjQy8GUQR
z%fB<<O-sIh?)4g}`Jpe?oO$sKG!ux^_cu#toeN64w)BVHXG7aQ`%p{UylIECukxML
z`n6dk@^yK|I#*k}W%pMG*&hFKcg^Y_q5F+4*Kgk^m%7gSp+w!Pw|RfBT$Z%9&9k?f
zerJ{MPx1Kjmz#fHez`Gu#;!}~VNhtj{o3NqS*q)@%wOl(TwiUxOm6wk!<!|nPRc#L
zVY#OG_lYOv73;dw9>$b!yY@b9?)Ay1WbLPxXVr+>WZ(Q~1sYN3FHX4sxZdW>E8i`+
z&j$jld=1*k3Q9328f*KFH)S7$3!qA4@NCY2=Kl>=n_t9`0vTtufv+A)!zpD@59!1@
z*7cyxLLg@nu<L^XNCPMdZ)JXW|LE)gyQ^hW);`>O{?fy*uO?>CJs1DlGJNwtaoxz3
z=Ym4JpvUCc=1qH5sr%>4{raaRUyH6Td;H~_UD{j5&==RfYt_rtgHmCItJTxvzc!co
zgxbdSYn4pAvTT-Yoz(l!tG)fED&75MrBcrLyzE1W>CxrYd15oO=bv1#xnkN>txsCE
zwOg+^KhJLa^(OS|x330^cbx*AV-x=Ke2*TtZArzkl`+Tlyp48j4!?Rj>Rf$)?A21y
zxqJF<{=9k6I@BtBVppM8#N63S|I9gRC|M$QKB!-5^5uuc>&_KbxL*6icizi7`PI&@
z&6B^!8h+V)*}hg@#(49F*H#tVA3^mlp1t&s<>`l!neG2WKdecGPW!<kBJi!l9sWOW
z^Xq@FmJ#d;o?E|DHs$Q+d+9GfRDC_M)$jTGuX9$P^bJnG7}*uh^V9O&&fprW_h~EV
zT|czkKI-U}d&Ylf?hH9B>9?IruX{BptoC0no?3Uj-iJTD1$5L;DgUJ7p|9p#-+9?1
zEBI`%Tst(t=Gya}41I8iZ{Dh9KT1xXRoeVHShD2Wl=}Lv^;=&?9`}D<8fO3K$JLon
zN`CB<Gs+N~m%3bY)3wJRUhx>0rCHiM4q2BxT~+eV&DF0$+0VJefWoYY8evus32^*@
zHnCWtzW8y!{l6c7zu&L_{dW5gWBc9v>w1C<!vzddAKaNCx_{5Y8NC;lmfW~oyEgo~
zmBaJ(ul$R?eea&VbgsZ`jV1q{9(SyJcgkkAsP9L=&fD+TH!ZghJbgVhdsY2^A9kbg
zb>}3_&Z!#jcKUr>as8*`A9w#dsdZ<~zPjV@XUNW5x616Dj;;4|+5eTct1h_Cczvtx
z@~!MTt%cstua{TVuKu`_dqq}P`P5x?7q%)N{`_6~YEkOluP(3GD)-(0`SL@pZAt~(
z|7_b=alPw*TgF~pWz0SEZk>AD-v`&czsA=~?~Fcw<-FAT>++@Z)_wAtdP4JmW&Mc-
za}RG0dH3t!!@K`Ve`xMMEdTo0pLu_x&Lw-r)m|&9UH<jjZ`JS#v9XWm*Z;S&U;g`b
z=m+?IWO2}W7J4SdEBh=LlrJe%7iPcz=EY@~XOHguxYHkb++@#pon0c|d*kmL>@UAs
ze?CBV?*3KwCugqynY{bY$-2VLN^<7+zG&TW%Cd``FhBB6u{-<wDLelD)2jG2`M&y-
z(Ck(7vkhg9uZRAfCUxRWXx|V2zmF$`|9t!-_J7RM`yb^mAD*hpTpqUekDcw6u>O^Q
zprK`XZT`9Q+3VYPayz}fzHa4D(f3-Vze-u_Pk#9G*KKRe&5~vDTYoLEb*npG6UQ$(
z@8JKa{$F8_U)TACZ_SG3-hO}P-pz5V{@*%rw`y74wI6p(7yf+xYw@|up{{;E&;NF2
zdn+?<>8I7--iQA2JHIin=P7sM^&+|8Pp>vFdu_dT`#t?C+ch80@2{Ube`SpIx2qrF
zfmM$bS_giM+3nt0aqr-#bq?>}_G?z|kF4JQ|A*<`-S&6)6?{ZJbEto=9Q*zAT9;C5
z&RNtx6U~egzx%r9{X6q(N52RA&0am-CjC$0AH8#X(!W^$%bc?>FuKYqU8wSV-NJe2
zEKJ?67QWanAloKoT>o@=dw<ORHA+4muO-5Ll}q;q|JfoxV{Y8ey5g!B#Q1Y7$A-s+
zg~#oC%fD!}&7I7(ymEQPuL~EAk6PQV+jT`?^P?9r{!HI4_Z6QBsk{GU_pke*Z~qkX
zZD2naV-MQ7^XSRKZL8OX>#cuw>UHPgc+vE|mkYne?b&;(zP0<U@I;N2Q=d=%xV!)B
ztN5$WFaQ0j_2brF+uh(=X)S2fC;Dydr#|M(zgg~;Kb2i$$6fxZjw$W^XZii7%D+F~
z`1ex%wc<Z7m(07$VS9aZWxd=-i$kl|FF*IA@XOybn;-7HUg0|H)spJDAMgG>w(HaP
z*qvFcE?o7VXZ+8iPP{(-p7Af)|0aINSDdZ&FNKEB@vz><edq6M+S}GV`L!&3*DtA+
zv2!0S|9jxgms4M7Uw-^3{Y$`X>D_yxyiHOXK&#UKW$sz*Zn#Hi*`dsPn)B>RzW99f
z>tC&B`e(<SE$h_#?jK$GzwcxD*ZrT1UolrdIP>*#<?AmyEGk#LtzY$e>gm-xKUF>Y
z5PmfBeaW1?%j=IP5)&FfE9agsoO}Pg`oF&S6Rl>=m){IJV#uxh`}5H6SI^16dS2(V
zCvE<t*tpa($@RU~e`{^;WdF)NJmvn+$B&-ue_ZvVrl3kBzW(>(AKBNhfBgP6ezp3|
z7oPu&-j=+LiM_nz^TDI<-)-02zk2)P`Pa>lJKG*n-+%5>NAM$wtUcDz&)<HZjXd&v
zJvw!T@~Qbhz{dww?f?GSuk=#;zIk)59{2yw{c&#ggDdi3e@|?@Y<bn8e%`}h#%oVM
zjQz8!uJ}*ARC@mFuSb5aw^>=!HUC@lBje<EbAJ^759^C6QFwH%-0SHt#Y&TIw^u#)
zTgxj=<KC|iKYo4n=5+Az%8sjzwf)7b_j=zeRIq>g__9skj^~~7#bJLW^vgf(v#K}N
zdVHk(pFNK(@B8+f)xY0IUEcls^4sprJ3pQO-s$hWt`oec{`BfIdXKjjF5kbtz1nv_
z`;1T4^)Yk)l*jPT<@f7<lwB`U|Mr*FzkUC*zp6;vo_rs-Ec^MZS;yw`>(!O-_x%~W
zSN89oeU@^s6zzVNPIH?h1ev(V-+y1GzgzzD<Fw3}&zr>d-qUiH4g7cH`(s(#BUgU!
zonO9cvfY=jPuAGg)$fY$cpt;O{NILG?tOF5tz`QpyjsA1lH=x#mI~Q=@qOp2_uZG-
ze{81rdi8VlPd)ROSHw=tR55;b@8zHQAD8`^-&y|Jy7cf@=T8}8y;mgnbHD$TwdY>^
z`o8ty>E}VaL97Z^gNC5Os;B>%!Tk4k&|Y?nX&?Wltu;QsVOjYaruX$-pQRU`5NiL;
zr{Y(;mtXbY@g@JCp3Qt4Q6H}6&wf5#2K9I${q!aObhE3XKMPyRuHL5E{OIJ(m-3IS
z|6O^#^!>->ptaWPe{QYM+ViS>wg22dds)|=`1yCyuaow&<tF}?o$o&gUyh9b^!&!!
z4kgLL&C9BmRn%V<;3?ekI^A9U_u6;Qchy_{_53@xaEjQc9sNd^_TRe}x$LXo*O=G#
zwI_Bh`vn>md%o?lV%*-RH~sd$>NmPF@rtC^zb_omnSIR8mHwXi!#MeQ`iXzH^yj{Q
zc=yLH`_jEur5~%7%2~C!Y`XX4q{siNpwIqaHU34oytX>_`PJs4()vTa_O@mJ%hvH<
z{wuw$KDOTK_v@=4*YArD`){>@Z_gG`;4Pj0KKAJAxy|<qQ{Ptce^@uq=XF&2vc9{G
z`;$e#Xd1nn_PC?^Q-#RY=Sf*7(yxLC=U)}reJM{hD*4dqsk+jBzRr&O%fDW$czV4G
zbV$>b<NcDJY2VFyBeUx2m6ksaS!8SQRB_&%x&IXRJ@(%l7j;?$G*oT6|C@hr_}{#*
zD~)R(Ydx`eKJTXfs`$-clx5FChw9g?Pb<`3<N+C~k2AgU_rk@Kb*q2xd^g{(KBzw3
zr#>j%?br3&R;RbzTRAWL@AcOwL;i=H7kPiD%;w1I?KZO??~1Gc>Mr@p<JB44(ElsH
z`^}O5J9GNt9jYA_C)R!TJ8xzGGVys;g?ZhsxVgJ3_6FUTaaM|azwx!_S^KMte<Ta8
zeJyc*_4!j*SC;3^yZiU{PCK9P>%S$s-Ff~M`;<pD+urL*SF89BY@Tlump(7?>-*?>
zR=c%N%-MeOy4{;ud_92q{q5iPjeW{f<=2Nkxm$OnxkY=0NBH`*^UJsS?X{Zjw@mKW
z%&gCMdG`w!+*d385&5;mCwFD~sRb29Wxv{g?6d#-)wi|Q=4;89*HWdwp3j)~MP20B
zLGuPl{&NC{MK9`f*({qM`Rnln*=IZQ-hZ}8X`f#|<J>Q!=~YXA&;22Dee({to0g^j
zeLh|}yz?Sw<UjxW(wFD^?awUT`fsJ&BkSa=_xIl``?371-&YMgrNS$}W5d6#I=|cF
z@78qdzXnHFKYz91cIp{XrN{26r#<e=AAj&D<=naQ`Yh2oufHumeY^j9T@dqBYuhh-
zivP~}lpZ^0s#lDCeX##>`<KygeUzr|ueW{q!T+m3ecG8_ul5$Jo&J12b@|5srF(u)
zpSR<+^E!*zx$o{*)o;u%-oIb$-_P<RS}~~SI#zBExF5Jd?;dl_r@h*?CqG&(o@ZlM
zbYJU<aO#KSf%VEF4L78IUYYa#q`lhB|NQ;COzuvtt=|(i@xICn;b}^dfhjx=TG!wF
ztt!=<IeC8FvRixNo_=jl|JrrsVfg>w6RoP}w}Xz;h6ZykG?-bPWp<uE_dPwJ_U-YM
zZu!S2^os81?OYXl-tceC$A2@nx^R9>uFqq?`A~h?=6z>Y$GJXv?d7C${Hsn`TE=gy
znEL-dA43l9?6YS%a%sc*fA@0t-QTiH=io>GuLAcaSO2@C8R*2-?HD$FBA>e9<*MaX
zBJx&`SA5^S?oH_Ya?n{hd(UpPl9{LxF!7A2*wOy3lhAPIV?4Srv>-2izXfmUo^O+-
zH156R^ocn8?o=e7{nPVN7TPmsPV@^p|K)T2#xk|38ukCHE<JpH%lG3PYuU}~s^0s|
zjORY@ciOM4e$(qsZs$t>*5B*hrM;r@)LglB)zAN>pL##%<@@_p^?~*8zF$8y|9yKZ
zXd0#T0eHB7L#g%0DE3e94&7b7BW4f#k0;gPUzhI-5BcNvuHb>;-$?N3M0P&qPesnh
z$ky9JP9{=MkGHJ+6xnuv>1Unw9<_B<MzXu#1j{{=O;^A7efi{x5`A+g9oext{OHOh
z=VqjTJ|(mF<K>C|>tD_IbUkuespUVvJ5OJod7EJMhwt&Dncr{J*_de?U#q&(yZXcB
zy5h>%n5pusw;x`-J9(AYW{WnzJ&V&{)yF5k-F&&;{;KiO;QuB2EzUl<@^NG2sp8xx
ze4)YikrOW)_fDRieB9ZmFZ;>Hy4Ti+-^~3xd)Dti$3MIZvNyVVE&X4L%5RmttB;O<
z&YKgdxjbE}Jk&z&=yi{IZ{MsBKfc;tIuf+*?m;4`0oNY6w=;|V(>vS!r@QPQxB9s}
z+O~Y&(dvfP_3yU6>RDg(?TqZ>)mMJ}v68<$zZ866(W{bhzmI3GUYz_x>gBmz6-D2s
zPF9~ET(S32WZcAGf4-zxmEBx!bHw_b-=6pW>dJ;P)~cO_>Fc|KJ?9#pe>T-})Blnu
z?+sQYpNdcCyp^%%Nh15M9gp81dH*2g9^d}MJ1RcO-|j!2mU^r{ihuP!G5fdX%P$`d
z{b~4DR_?BBaOkX~h9!?=ZG->+=E|Nw_aA5?^w;v=M>Exy_w}C*nwPCyzGBv|lU;M>
zWzLx+V=b3d6r<e#HTu3}+WR;6uiSZV-xfao*Tj|E>^`e2-&EhzZ}s@(%&A3H%L<p@
z|ERIg?Nd&A{a&lMzc)`<ZK&s4!wepX0gb~vkvZ|Z?C)%gJ@fm2&;Jo9S;1d$b?>ya
z%DX3K{yuhn?XSuy{=X;N$`?N_m^<He*IsA#rY9f1@5<BrY5DF!r1I+5=dWhFx;H;A
zmn$pzl>cZ6+gYQh>AIIUrmdHZNIuisto=yq)p6^80SiBON%UF&(8#*-Ke+x+2>(Z!
z-Fsq`*YzFte|*J2c6Ur)`_?0OEFvbJ<2s;!z0ae)u<*L^m1iNAey<8`^4{I8$a;L^
z<;-Ktf2~|-ylh_b^~ni8tV&WJU(v5#BRv0A;@-abGroMgb>8|@@tuptNADl><dv=O
z*q>ap?7yY?o-XI#lV>r1I31_jHYcUHczOLt&HY)cf6uJwn|toc;yJQ&=l->RI{#7R
z<B~T;zLj>8_g_xFQF5{FmC$oG1-^F{N7)~|{jQ(=29&~HYvn`EO9l_*LB{cp%=Q0M
zEb+^{&`55(ZQ+ak(<kQaVdseW^I}s?TFv{<`^)bx|9f)Y|BFAiecr6My*y%T{pAOb
z=I%UFaOYu4@15&^cUG-^kx}sH+~GdIf4+0BEQnn8XHBZrwKt~B*(HCUSy+GUvk!T(
zN2%>G-@e6@=gS7eLT~Z8x<VU0Ki<orQ=fL!Ep7uPvK_A_vlgEZw(VPfZE;>q>+-rj
z+5aYXYo~+e2rSENJ@c<VJX7!Y@4%7%zdu6wUzdVTaPmSw!O8kq`mg!LvGqa4$Nh^w
zSv`B^_c*xj)%l$pvp;d)tN1B2vBE>~SnpiF<2NtfytzO4pXR-*w>x*o%-z}T$!=A9
z=sfGMV>@@(UzU7#`P{#%QX9~n2cXeBn;W2!xrD>@=5wtU%zrG{sa$_p>wlWw`^7)3
z4URmqbw1bod-b!+jjt;ApSbtdzR36dm-LeSEmhz4l-aF5q4TExouE?b*W&&sF@JkC
zk&ic;cwON6+RN`_=6<?-{@jmub;VzI{VS|^?tkq@{C&-PFF_~#uat`oUOV^v{{D;W
zSJlTnc~>|4lmB1K&GMGlWBHd?y*u{WYG2rX%lcQZJ;Tm^Et<c)@BZ8J_V+J5L%06t
zD-PZ7`}-l!ynohzFaNds>i#uey72FVU+p(v_P_RTFR%0adZ*X_@2$^%_ODBefBy8~
zpa1Y*?ke}!Z(Uxb*Ye*_{G9?CBp1D2^*!I}@gJV`^^Y#Bezf}WO@8Y*aA|cAR9dl1
z?|XTr@kc>_^shbKr>rmiFznl*-Y@_4ore8)(Zf6c*qWUEkvVbi^ZF-U^I!VEV|`l_
zc5wH7sg<kG?>(%Z^y&GGD)51WZdN~%tKO}iKC6<q@VY$oY$8xE^w}%l`YrV`_kK<`
zt^antysNxw8ECVY`}L6Q^LA(aHy(cx9;#PVzTfxf@_%z~_Ro2}u07bc{Bfyl{ObF2
z?7x0hS^cbPr@!a%_uqCOF8{J*)vfyWovZFI`&+=~|9|ekmv!@hE&jE>cSl{p-@|Xd
z9RIrfu(drXT$k6qtz16;>#m)DYL>L0FZgeEb@A8wGNmuZR=WG-`aN_~L0bn7Z250F
zJ$vtO^SOm}$Lji>*LSV&OSgv(nX|(d3IwzNkeNRJ>o4{Dr+q%o`e>~DrMIqbne_Ki
z-}zf78$bGUedqIukt>a^dzDNJc2b|Y^q8>c^gB97t(R!6|2cJL#q%KB?ps+)9xq>A
z|MdsY{&P!<o`t5Yz4P#{&QWXCyxQdz%a45Y|G0JD%I&Ythxqp{pI7x}ic0-l*XOIe
zyA(G+F5kTF(e-r!X}_*rUwmfG_0*Z4{I~l41a&`pWcR;jfBq`8PVVyKkWA52@27mX
zoO^zj_t%0vdH*Gs{duhCC(m8IS;YBld4H(?+r(G(7b8nWk9?oFb+Vu5+WB66AFuz~
z8CR-TzAY^D{Gx4AEA@OouGwOrCbsIWvCbsE3+Hzgzl!`CW#BD;^P=;!;}7~@UjI9(
z&g$>_ru1-V7$KELuvvwgQ|vmDpb7oUk3iuxi@*H3_xxCI>;I+i>MK*Otv<8z?8nz@
zq%4p6f7RG`ZE;2Tdgr3ICgHZ-KcrrUeBJ#8970(E@DRF{+4q_6uiw>>{~@zKT@UsD
zcqO=Bw)oY|RYCUsA9qKFe_XD9X3?21y(f~-`OIDOF*vvU_40Y=ZoFK%`dVb(RT0Zn
zzZzR@?YB>YdV=fkJuk7#Ubm~uZl1^T`4UwpHiAxID*Sp+Fx+-)d*0PoS~HgRubEro
zmGw8IsAvDR^QNnccW&Ogs!D9@RgcoluJomU4L1km&QF|J(olD8Zt(e4*P9}Lo#>M@
zvS+LJ+5c|(m&-5fMQwH`p^ZbsCIry#AHXtApbQ${Cu>50z{~-7ashn*OAqJ>S>@eg
zkXt&ixB=ay!ypa(n}1Cfe!4&L``-V0_tbyS-}*UTXwCJcy}Pb8`u+DeE;6<Lzi#Qb
z0~_ldgNiLxU9$AdPnSMh{a|a*^F7Xf){Y-vPAv}lSpT<UUDN4B9^aZl1N_TwY2G`#
ztLy&^IV*p*(4(8TPF{B@{EhjwMe{D$Dy{!|-15B6mu=1Iy1{!^Pm#JJ*=wNxRpzm}
z^xVL-&`X^b|1z)YO-DL*-@4B4<11##5Px}pIj!p(Pfy}`m!nk}`6@E%Xz0Y>Uo6s|
zr?c0;kGZt7E2JmbDgUm{)8{&U;AxC1k(qP&<`<VvJFLCwS$Rd+Ey>{Xp>yW$dEd2g
z{@i~re?OQpvo-em!QG<Q!Fmr#-PL(|J`yxJ@n?Ngx-PUVg|__up6q<I`Cq<$pM-_H
z(C6^tBX8zE^ZTgx{`rxYGk(?ow6wF?cd6uG)cKvW?wFK{&0Sh?bi(|{bF7ap{|}y|
zsrj`y)aSMB<)t&dP3Jr;S^Z$sjw;X?xwUQh%kn?RzZAHhSP)qe_FbVeX6d=gxz@c)
z%&yuzE&O4(f7cVp#)=qL=*EiacXW)b?Wa1X`~F=1BWm`%(my5jap_-``{L(%`oZpV
zD4V5}ZOga*oI!H>w8O@JPp!%#Cmo!-cU4^J1D_+IvEdg_zL+t0zU-dhrNyEvC6>2b
z-5Gi6e5A}|$MlanUp0&@W$m7WZ;&|q{==Fr#>?idwy>_eFY0V>{rB?sgNDZ3yVo_B
zYp;XoHQiMod20S<nR!#oe#En$kAmJ414~}U!cX&4|9m_yzyJTg>Kdiv`r#}1kNo*|
zJHPYKuB{#N#u6%p`2r6#<BaQ~Tx5&O<L5s+bNB0|%Ip7wd7nI~yExY=&D`5s(Ja&B
z@9F;LKRZ>8z2}|nT2`_A2q;Vb?Tq^OrK<kvtEa1ckAKk$Pe1kGLrPkB#(#?^q5mxY
z-SRhIz5f13>$LXp_LB$ZPW70#^mAW*SGet8j^fzc`BBwp{Z&g|{`uv%KHt=?oH5k*
z<GP^h{JUnQRQ#)39JOxE?s*w|OOJfCwg+DVasEO5TKBuFKbG1rUmaDNrnvd``y(6V
z?^La<|Cg;?{(9!G$j4v7!|8D=g)E=izvq|SQd}|ZRII(lp4<ER?4OqZNWMGc{^a=6
zl|Cm|pP#kv{g!)G`=4-aTAlsp^ZWSc&r9m}av=^LcLEg|t!a8wtq$xy`y-|=dWw{A
zx#`Eh=?C`p)v!<b{`{wp<2gQXu+__Ud)&#ZoyFh3e)_rH|K_h!QvV%a&NcI{&fAt7
zRf?wbbxzEWHrl-7c^}_B&B9;ttp4>@*R{j-!*i{cg@=EQ&QdTAw|rzD>nZaIG;#QL
z`RuFL--C`%d_8MYqxI^tdmktFYCrw3YPo#ky6oS++3SC<YzcMWb94T=`Prb!i24<)
zo`vsOedXo#t18gBo69rnuD)viCh=4Db0uu<CK@_-Q>uHXF8$lNs+I6yE56?H>{)2w
z#NdCQ|4neTZcn%V`{2XNo_AI4;Y+?1xI-r+{0<wQJ3q%X_WnxmuXPt+C-$D#<2~!Y
zyMAu{eDH94roB!bc<TkX?2Ydh;<I*!ymYvi_$fHz{oa?M3XdoH8tw^xdQ)@WPP<$m
z{-1Y0E&uu9MAh=Y_E(?%x(`0=KWO>9s~p;wHdoG<kGA9cw{5vn?6K!Pm!F^edg`k8
zcdN&{K_~jGQ(UL_Y0k&vpvw#9U3~vzdEvTx&8<t-OVlQozZZY?vM0DWM7F(-`(ok>
z!{EBAA1A(^)jHI&qp$F)NzircqyE1eZ@!%R+I;!(qvyfb0aR|C7SX|AEhk?7=W>O6
zf6@)hl?AiPyO#6I+6M2r{CJf&uc3C|xvwe-_HQkY`#k;LyMOin*sJH{pEH2R;6Ga1
z>ec(nW$k`d_4HHLx;^tO{)84@vzASNfAsdEm>oCl1UsFU+05^`|2KO5ztCE{yYcIr
z*58Hf8-Q;cIIr@&Ht=5JtIb+-3%_&jaaTPoaz19h*|PSZyAuU({{9nvJK@&<V8eC)
zV{2|P_o<h@itOE>WIOx&bHV=RyAt;Gef#EDn%UI8i&;OXZr63m`*-u#tS;s)ES>ng
z2ejXP=J%eu<MzG9zAJTY7aDi&soo#ppFU?+^6Fz3f7ZM&5Hg0$-&|R<dc9!S^2eHW
zxA@O^tdH4mX{%S~#=mvv#?z~}x;V4l__$-o<N3#|t3($6u0;gVWSjabGw3A6sRuJw
z{@Dkbq*#6H=VO@!{y97Atm>8@KYG$RH#~NIOx)S2*M-~nYn`iF{`k$_n%_4o+0CE+
zXZiE)e$~|VuRg#0S0!5W_TD_mq3mIx9Juydomyqxzj>8<kMFL$xA%3eYw!Ovp$pWj
z+y9@CoAK>`$n0<R^+rCA_4L1fet&w0PVk=7)>rFA@4bBgxp@7{uUV(w|0yi|bpPYt
zU7ruW46J$E|7h~hcNOvfw^mK+o%iHx<*u^upO0$_KJNaVd+L47ix<zop8XiW|MBGd
z%_fhgShPvKKX<M2_ups8y9d68Nxtg%q`pu7{R_oq_ul{AQy)C{%fj{Q>0duy{_9lp
zT*~5Wd#HWUn-V|M3-i-={PTHTR3W~96=(?l=Itum!hhQSTJs+*|GVJFnHkmU|L*Lc
zx>!uMW5?IIK|AX_<jyXdX!W@KVQgIQb<imC*H>?Df_EY2l_uPOd?)LD`lRQ}%WABS
z7ryyF`M~d>z3cgI)mL~<`S_=IrPTkKs~!Bm-TODu*5K{`m1b}Mr_4AO8~3VTuS>r3
zicYZ2O^dK+Hr3^KUcP_+H16{2t5fFBD>?S$eN4XfoFf+U9S<WuZnf|7-?sbll`|ic
zKV6!<$Ik!yJFU5E_8RZoeSg`XbL`>VKPzjCZTRN@vGP{->r7tp@m<c`?e+Kb`;H&&
ze_6QMWL;%scU=C|g?$?JkA8pblS_K__uhHytDf?|s*1wo?eFRzDPPwZTp#gO`MBTn
z5az#~p&jxk7etyk?djXk9sk_+etuv4<1<UI3qRlgY038BJ?l=GOp+{q|K|N0-@C;X
z+xPLkf3!|sXnmx~qZzV?lRx+^Klb|X*ZNmKZoNgD>MQ!&6Xq{6S@3&wckrIHKP?@*
zzHo-xNB4r}D^R8@zN>(zEB@z%?KZECdh_6C&*OQ{%fDXxajrOT?VP%2)lYhMyq>x%
z>a+Gf`M})2JNZ1%`TZBT|8aSo{=W78t-&^5OX|N||8vXUH16x}tIN-Q@eP0Sr!MgC
ztflfVGv001+;rIAC%x9RJ6h1y=uw*QSD%lo6eS)NTtDCE_bvMF`O^O-zb5~(eypMU
zq)<L}N&Vinn|)r-eYNvi{jUk7zF+;nLXYIHI=y*r)m8b_70N4(r~G*-c#eHW&YaiZ
zls~2)J6C^x!r!g&R@V>j{#aW7s;czWqpx1JB|M!edrwZD`0wkIXY*eL{@K`Zt+eO)
z)%2&YTBPf%-u!zTBfspodCvb`|4P1H$1>FZx%>M0jH_#A^gOX`tFyK}ntjZ_V}<wp
zfUldcRvg!Q5u9>I_qgD1RXNwMJL^HWYM6ffx%}UJt2yme_Uq3(&bfV1U2W=;e|Nq@
zE=8C>t2jn``TT`8b!R+`UVqIxwf;w)%G3=0FOnjN@LZePwR~RRzgh9WmmgbQcRlvX
z%zZDT=G-SRVR8L@JxWj}|GK<$UWrBL%xl(Hi`V|IvYq(~wEp*{?(x2MiLcYri({^@
z{-@zA>p6Gl@>lj>?{yX@FMsk>Bac%_Zqw^Mmp7mDuez~Q?q2Wwb>YkP;?`d=KR&_Z
zTJ@VM^jV)*b7!ZQgC~9J|E{i`F>z1vh3AXIkMI9g7x@>o)!-6n6kvMXzUSiW=U-ek
zQ=;zLXSvz_>EP7J5$mOHzwlN1>W}+EA6)jTOP)}z^8U=v7AM|4`S0t`FDU=?B>epE
zinU7X83g%-jI=LZU48TO%C*7k&t3I;nZD|5x^Vg4BvIMAN6VA5c4yUJpS=09{gLl~
zU#`!ux^z6)-+lkOz~%LQFFos>5@l)*ovkQnllaz<7Wl;Q@0m;T?Qaa)=bwY_HaPdo
zXg#Gf7xm;%T~KA_qJGcEM|RGce|pNkPdoCY*yWzO%Di;bO9$<n`TMUg*k>DeIBie9
z=%-GjACFh;7vyrtnNyQ>?)MY<$#4F*yNBz(e^?x@=Ir9spk#dMc(&-y#a}tSC$8zJ
zGO6AlH`n{wn!Y-}_4cxL&$HD1a^F?meyG?6o@IOQUtb#>E$?qDTmN^L+d%>Mcbh){
zl?;jhZFuw1af_n*o%!2iuC97Mqi$VA{h6pmEk8EeZ*P7Bp1ph)x?V|Wt!q!;>&Q1}
zE_^H9@o(m%mF>l{^&A~b6XXBxy<M|Evox~l@%&ec`;5c>?hIbkA|lqjMo(GRF9|f4
zsbN=gEbx7K?9J77@0V3AtFNe<4Z46KaDmcHZJjQ8(a96{+4mhhdQyg|%X#&KJLl>O
zrCwFMRW}XTb6I%ChFN!~ZkDM#HGgYCn31va+$Hl~K2Lt@qZRn?-`6FF&u^Xm2y~EP
z?ALoUjrNPpn>%gpn|~?SQ+wyU{`G&4bZK}1X!<GU`?<g8r`)%^e1HGfe~aq>-Fd&h
z)&4&JX>fP=Kq9E(PJCUKbeyryZFjYI(x-b3_kBO+7#UnTSYEPEe%Ze8n*CMtH!FQx
z_4@zkQ?GU2t?3T-zxR2!I)_rR&C$sV7ps3Xy)?J<<I18>U)I~F&spgGb;hlAugs6%
z?EL;WF}81}L|^tE>*~-sUPW(ae9ozlo0(i%XZ7i2sBG{*tM1e99`)@P-rqdA(i$|A
zak4(gUT*eO$!yy-zoPzZxj)BGJpAeLFXa^_<vyXAV#hCZmVfd2`(ArZZ5eoS_|^P(
z;>%~wv9dGsu3Xo9XJOVWb#2hNdr{GwijI?oy*AhKYtv`!-CQ4BJpaE$T<k0N`enC%
zotfX0GXKchs6Q3=dX2T8e(`y{j_dg1A5teb&;9%LRmInIWpMu=wwTf0SkQj)-Ms>a
zKX=aGA1d_ybK&j7n@=9_VE;e!-29!%e|(O=TQO_zt6%?X?pbwPzkYOO^7$)2d5z0e
z4Q2d4&bf^|qp`fc{_o4rmnXkO3ZkXxK@>NW`Saz#|I>=>y)PWQwEXiMM)B}xbx-*G
z(%ysid8q&2__qSQ&tt=@?2ni0imgDiJ(ur4v@EkNJhRm=T>mj>CL>hWxX4}pGHkl%
z%G60SA17}<QD1QU2Y9|`I#KgIF6(z4pJTZ>$nU(#yD8SVXM6t6?EE45_FZeo!}~`(
zk5`yUO1ykvfBEN{UuS9`tN$(wefuW#`u{Ua&u^&T*d(aZ_V~#4`uJm+1%;o=4T5d5
zQ%dK?lwWymVQpo7eZHps-#LBOa+4;T9=l_)L#eYTVN0If#EtEsvG`TX-#ypdx41Y;
z{9~}~k>WQcMZG($`0RUw50|_tvXr|fRQx!>)k>RT{~KE+*<(k~zi~hAX}bn=0YmxY
zmA%Q!)1~U?zgpgQZbnsKtbfzP*AKc<zFB-dE%*A!@~VjSkJXQT)iUfme$;aMW9tv)
z1wqBf<sZG5nE$f=9Pj!^7yd1I#_(rTc&DQJ%{zB8Yfi1d^=tn7Ij>8W$vu7Z;?0};
zn*T-4OD#{Ho()>f<2V1x_v(u?<JrsS?2_8B{r>(n8#nKdlU-lGdJp7ALpku>x-+iM
zpV=}0;=8yGiNAB}=lQa^S^YR)Vz>I<??3NjYrm~}U9Z)%yy3_4M5dpmFZPQp{_*Sm
zX$xLGzkhsbUFp4R)=k!a9v8j-@tYTKV(ORu`BH54uEN9b+6>*}qMl10zd2(4Z^gW-
z+T}m`&aJRbIR0wxE5-VG$;&5aAGuoiBXf?_vgGNfKW-4ao<HaI!*U66`_1yQ>ZY5I
zovXSF+TakYd-+F*y=lp@E5&cBK7CD;VqWKwrvCqnmBH1+Rk3kNG3$jMSH#RIw%o^D
z&#rD-{zvg&-^ZE%p5Ix$uKh{M_T5`&99#b9i_P<I_V+EXzbt{w_0*$I_6XPMUC=&v
z_wVd;1@p^5Z5#A~`G1@*fBe?{86EWJ_STOpW!>-mXVJNPq59&HC-Z+*hXwypuZX+8
zqVFPT2jE;QgSYjc+|M6>?C?(fue5;6C*IiJD_6^{yZ=}&ll!i7I8yeHVZH75tH1wm
z{?4vFE#;)Bp3aJgSDF8;@V@)Frn#+ZMop`f+LOswA`~ugb6jx_yujQW#M~SGWldlo
z>!PE3ml^#%7!;|Sz4`Gwb-yD&=P2Ds%)6a)bNkut^9%ZWg3kUdZvV70XKvlxrTg2r
z^{%&3f4utl*{jjz&q7}Rk)1!sH2(hD{q>hOUw!{)d)1}*{nu`NeSZJ<i*Vb&KVH?{
zK6d|;Ws&WxnC<d;Ut`|JhkwrfI{WeE_v(>b*M;9bdHML!^6R@l&wp{U$F}}?aoGOU
zn!i>Ti)ZiuRQ_xG_21L_we}~y`E~GXe^!9qI{Uf%AMd<cytV$-dfR7TviIh#yC*;O
zp>j>#?N=-7zxwH%3bxPnd-iBC%eKGki%Zw;tef2PSaQvy6}ulrf4^Rrz{AMl@ZcOv
zMSpSngYy&g-k<)cY1{WBMpoYFv#?*?EuY>0=0*H<nPvCWRQbj8Z)^V>8@$h6b7V@r
z{q)VzOt=4C|MAh${FdGN>HnTH{rz&g`r6g<@M&5nH@@nO{FwW-KJfIB|7Nz=udbd|
z+J9-UcXs(N*{iuVPc0?m@8++&x662W)bsa0o~-%#EAQ{zd28#Q@4q_v-><FL*7>Ks
zTO9xO%j4C*bEWG~KR@wxMRBQrKvJ}A`0v%*WcIJEE3WzVS4I2k*P?Py@%ypw&($wV
zKXm`+oU8eg@%z91T`<pY_Pg*`>+Ao_{rC3kJChwhRz2_9_?rE?{VK<wJN}jYTX%2m
zyw!h$>)#qKkAGcSy!HMRXo!IV%-Bj-uD@M%T9J{syy}Lx^>bHepZz*JMdtjDdylaP
zn_s=&>FV;oQTLU<Z0`GQ&-`<rn`%tux8izBYxM<lvY#(M`f+`6fAz9YQai(g(k)fJ
z+%|vt_iE*oJ8NFOw^{wkuC8~@zrG-Q@2y|w>Fo=8d))oe^_{C?K8Kx;+xfYC^Q!&9
zkFJ%!em`Z$kLdq#=cna9-F)@(@743_-b_jPW9L0LS~FC>_syf-k?BX*#|A2EZ{Imj
zD)Mz{<hGCX+iz|Axc%R%bfdD5vGx|L(m(F;?GFxJz2f8CPnAB$cRpKHRr2mmyzSh&
zuNTi<FPs~l9x8ve=If4EFC~}Fvs%60>F@J-ww}wETwm{%*M0x>^{=mrcW&Ohs%~1=
zYg_H5Yxjp)$!Cj&TK6|B7YdkH`~1u1Ut2He6rb;u>#dRhfBVbz`q!$JR)6!4#_w)2
zWKm#f+%5RP_T1e7d;dj${&xNFo%*a}ci9fj$#vHX>(73jldKw3X{SC}dsW!EcR~e!
zUf+2<FEY7z&aId~R;$0?`IY}Q<bRz1*YdAc{;|7ft)9R1-`?fHrti-ve|#Mix=w0U
z`uaORcSl~mueoyWv!u9%_gCI}RewKg^~c|<w*OnTTz>b7mFcTjecGeDZ+2<epOi(B
zSt(DK&D%cl=A<`&x8GWKZGDwm^77^DcbzL*9cH_I;^qDGr%v@N3YA}8BX_xQ-OgWH
z&;Gr7`DJy#(G^HIg})d5wrY9$i?Frpoi?Abt)ArPxjugC9kKn_*JodOUX)%P`d7#P
z>b2@Huju-<C3e?zR+Y&y`l~Lm`F-wX`q%7*k<aD{+e-bk`?vk&`s?1GN`Bq%+F!<+
z%;CVmRIYrWdd}{JYJ$@rPUn^9hyaBem-xBq3-5BuaXCE51LaopD=O0qk8>(;Xfy3O
z9{KQ)<n+cgE?I6yjyt^!?+f3x&2j-N=X6MLZTN1X9b+;5<2EMY=>|4jyqwTzn9Kpz
z!^Oz4hU0@=dMkJO^v0>Ya$E`p=1hBz@089Gnm+LXr!2PuL!&6;y~k?`9`a28c$8C?
zn}Ow>Tf=vYa%W#9sE!Rv2dd|Y>djG{&Uk`Tj_bf(jt_Fr^HzAWfHiP2u!ONx^lv`Y
zY7F)f=MHJcdynt%ns!cKc$`y?v*AD&!~4Rp9R<@9uW(9Ezi^b3opY#%LH&Wd9D7cG
zx0r8N`|H!w)ACP#JeL3e<GKC+pLrqv{vwYSvuM8HUmtq$v4*AWr<aUVuV$~k{?gSp
z!Qttg>nA>6*th80?WAjw>$i%9dfw-c{?ERLMJ^y{>94521u}itE`7iBF(%!$qI=f)
zRdX!_8W>m<7#Kk*2f}PD_k2(vyYKkVA0HpL^UK#MA1}XOE8ZV}?;Tg$4-H4IUuUyJ
zzgT$5)tiE?eH?7HF2M4+=_i{l>sS2UHly@f_FC7_OWzM)`(JU~&bh_w>(*ZnEppc`
zeZTba&U0NK#7yUhS{I_&2)6wFqyxL_`#-<ke!uSX*?RMjUysYz_oz#M^j?);DEoP)
z&$UnC_Oc&+bn5p0oVWGK`|oVW#Fywdo1gv0)i(8Nbmgyd*51|0c89JOmiC&~z1_HZ
z-SOKM&(_q0{oiGMHSGVj{p(n#c|9on<+$}}sPL_%1>fpqw%^KlbA8w6Z@2D5zJ0Yr
zZl}9-zzs!6NaR3*0_?E-)&sk1`WM%S``)+Sb2t6vuQT7a&QrVk-06MuThZxRsatD{
zDq2^4m-;NYuJ8BewYFu~zE((|pEI@IT6^lAYkpg=?*F>~f7Je?J^h#Yz4X`5daK^J
z{fC_UZmasKsnJ`Dl6j^JW^oDEuNJPD{=U$z{@<Ukudk>47Mp)y$GVEUQCZ(=)V`Jd
zkLr6|bL8CR&B|Z;&aC}gsdDS_`L$o?Roh<sQLN_v?A+!r^P+j9|JzxoPd%W#;p*JV
z-|HjK@7*-z%+<#sb=US^*&U_(5$ZK0p9y4ee2`n-_&H;F-1qv-h_mbV7s{URestSi
zxvbvS#(cN^=Q9z%KX09KM?HV-_dBmQ9-Du?H07O*_xqh!H++4+xj2l|hAH~)%<b<B
z&k<wSp5Nasetmg%XTQ+;^JR}LubvLPpJ8!+PSD@ty|32P7ypk6?7jcGbF=tgd!|*B
zQWljhEjjXUlaD@g@0}RU`i~*2X4x19|J66DGh4Ch&YFA0)!+1|N%Hx5PBS>aqOfGz
zt@^g7Pouy3pDlc~)c&(qePN&D*YZfUc`p|WzFNcS`SoJP-cM2QzwO-etn{(2fA8Yr
zx!ZF0M%OQQeEee7%KxSHe-}$mo^g4xje2sg@YX#tpL?Vh&i^W8!*+G^D&FnWvp0Wh
zKK=U5)ado<k6+yVeCO+4-~Oy?8y~MUQTw-xOVIe=il~skeE;Gbqr}05Fmfn290(Sy
z`0(AL{`c$qN0ht&|5^Y4-}Cz4{r78sUVi`Y>-7J>m+RNp|2kg(^ZWkazw3WIY?t5n
z|6ldr-C4hQp5NIoH2=KYqm@_A_x%cgF*n_B&A*$CrD1mMmaqR?1wQ^>m85v+;hHy9
zQ$tlxy1eyz+3`2MTl9WbO6XSE<*QC^Ho6-Bb;;6IMVqV6zrE>s)$gRs&Q}*L&e=U*
z{C8&fu5(v^L@rLdUzKLkn-cKY-(yw3+v~4Sbk>^xc^utaR<q`#x{c}LbEUVoea-tj
zm#ug4>Sg~XSDE_lk9)OJa&km{*vfCoy~VTTdM~_w^EiC&scqQ8s8Dr(Z~V{r@0u%~
z9h&~}0jF^N0aq5eKep%A@B3S7!({bIPJQRg$#W{^3GbgJJ*{F#q4d>XAu96^?@0gg
zOT>G=g5`g^e;>^?YyX^b|7%?R%O$o@MlmwneRcN(#xUbFy{+xeHM0xVzH$D)z3Wiw
z`iobLzow|a*s;#(+XlOjrz6j8o_DqMOw7BPiC5Q5TUCGW|Ms=@;nyyGp1FFJOx0gc
zJ5!%u!I8elqHSNT4|f;nc>Lq*j9JPd2`7Je?pwZO>Z_R8!ml&GZ@y+79%OpO;@1CH
z_tRGvRvF#0uiAReVwHR3*T+)JuP>hZ>Xk)x+Wht5p|{=3(&yH$cK><3&M$20o@>$T
zYuA3{_`mP6(P^`NS(gjX2ir=5tJ3-p4d6hyKj(|way!nI=X0N}UVOgw)6N(h#m>Wj
zeb-uu@^`-y4u5|C_<4(8e{$E^*#7?UGsW}giuzi<W%Hs{U#?%h_^PIP=+d&M1{?ja
zz22r3^G(XvHrT(csc&oCQjy|#zU%g<f*-%IN?W&~r8x9Pw9|oA^RNEj_I1{Wi#mVn
zwZi#2OAZxZns2+es%*9U-}O7>f*;OFU+eMwRoCkDvdl^Ee`fFfdn)VCs)ffmPkaAg
zT|a;6v6o-tYi;wsW-Q%hb#7kB^VdsPPk3y%$@=x1Xxmfv>&0X5pAc#<bLyRM-5mEj
z>apOzRY%_1-~O@6_jus5)BD!GUT4<>D}<)cu;SvWj{vn45;MP4derg-&;Pb!zn#71
z>3zD1v%}{r-~GJv<NNymzwiJ1w%ySp&Q0U$+J9^RPfP!`TgNo&tB?0LH{02QcZx$)
z7w;^&y2<-)vC~{rN$b|@H`QyN-Mm^{^jB@N)#<O#TNeJxcyjXJ0`2PguL~Dt1x@^Q
z=J(Byo_q^+`+oVEMW*}yivO#eP%}Gg_1>sC%df3oZFX^S@$ZeVW`5cH>-*HKdq1mQ
zu94Z@^Y>=mwJ?AAwOL`__Sfgyo{qCt*NLp#^7ntqfBmofU%j^s_t%+jn8hSqZ==wt
zUfKV6Udx?rO22B<{_l0R^X^Q~u&;hR;p0_%o5#0{-`>{RR`qG(#D9L9>~znhdqwkJ
zjSp45TG1)of66rfQt)~A2RGNJ#jgxo^7vPoTD3(@9N+c)nStTDmCNea-JKY^dscn#
z{An6CY?kY4o|S!_6SKdx_V>Rv+V`SE{I5kv7_W*AH?xeXwaqG99+o}l$C=+ZUA_4V
z&H8SgPvp7zYu@Vj^<Uq=o?ERY9J}@Py5pYq_m|c0i;F6~fAVkSa^v*euU{^%O56IS
z`0mZkZ?+bHTAO<R|0?_Ae*RyNK(jBiP{sH6g?Ef6C}%G`@BC$Fq|M)I%P-##U$vKc
zbo)%*wA$#?X8G&OX5am}dexFyJYOqgqpo}wtVnZRxw$^<jYpbmr1#o&-wL)xK3kP<
zGG&9?YunN=`)f18Kdk?F`Oy!HRp-`yRKK3zd-;31|N42Mw!-s5`_HZVn7{eXvaCh9
zw|&n0dB#sack1h_^}b)j=Ut7{oxE!GdC}{Sm(1V(Yy0ca>qk@9_*8v*SwDMTob%N+
z)9Th)S5LE@`l8mL{;=Ys<AUE97G=HOA$0k?`c--E=?6hk#_#dq?*8L5?PKS!_p`C-
zJns8bL~kDNF?)%hFB?z&|GCIN{7U_&Ia#mm!{^Q0ezbh^wwrVJAM;;z(qO*h(VG^R
zgqp?w^&c?So@KAS`q$-2Td!>1+J0EQ@0b2mt=k3FiKR!2A8Y?uotC=jag_JmsV1vp
zbtk{xe(dG%&Fh@<18s%pC5HB&dsTe){5`P$K;G*<ck1h@*RJ;uX0pJ&=>InHs<Hg)
zd7k#G>*F)CZmbIreP^_6x%KNe+g}!5Ty-n!<?~&e({Bd%-(&x*Z*}a}QNv2*;LcW6
zrfXgsrz@s%iPUdkx%anP=DW_*6J0xI{958Vf3n5@&2Mf;ZL2iiH+$>ZcYmILoclbo
zY<WS_d>g~nR+okNpC(O6u00m5yYk4*&pEa0Mb1}zRxGo*aP8lmD@*P4-j{ysdGq6o
z$*NUZfk}mCeW%oW6dkU+&Xkeded64`>(wru=SpwRtu@*n{!Yny_ielU*lGW6l|-)E
z8x`Z0TJ-<*#g8jx7A>;4Q@zgOYxmsuZ=$}o^mG?byPH{1Bj;OxH8Om|yYNWYx4TYO
z&-Y@0M%8-1hVK^UI*rx)ruc_HniwwgYs-<J^Hc9n+i-UF$GdBC%bwf!zqdKR$+}he
z_miEGS7%Pkm@V-n;=Xu@w^rddo9OvpcRt@TdDoTWPxqdiH&J%}Jh#wLU9UIw>+b!p
z{`>9Y)HAus%a7k&f9>+|_n}{le{a^?w0Za6YpE~S`%YhaYxPm{RG;d)z5l<y_z}W)
z^Yc5~_qkuQ-s(A>KYRAptyr<+?o)T~e6{)N=CA9mUUR*A&U-a%x1Nq+Y^?;e%vVEd
z)O*|Lc0OK{etp-huQxsBYo9yTY*cGB|KgmxN6+tH_GsR=m51uyJhBe^bwy+KiT(GA
zuL&>AtyzBmW8s{+dzYJAMvH2#o@M^`bL1TB)vx933U^dZUH(sWW!%*z>%Meenf|S~
z_x|UVUtj&VUsP85^n<<0-?)Vzqu0Oq?|yml*R=m%Y&L5bO`8-Fmf7!hSvRWo-udG{
zU3RxIT;F@Us{h5#M^$%TdGc9lhkI>Z>i_l3T>J3LZ|yB#|NDF4^~I{qUAv4kt{(ro
z`-kKEDSs~?4ga^d|Jv#4g(@r}_3Y{&^zJ{d`SauB;dcIyD^&Puqa^%`9z8tsQFP_`
zzrSK`KR45>v-7q6mvZcA`I;}B5&w_8H`{jmhu{9ko1fN4i(0MLx^jQ|x~fa|zc0_d
zT6(^&_^a0WnxvT%t3y}qmk)1!`TmV*{`&pLUjDpN^|^E1ZmqfVuD|;4etGlLnXBh-
zo)WV2ooMFy)d#M={&n-``Rm%7+=F-O-Mv=r0xBND{EIF`{yL_cab)F}mGgeCQxCtq
zHvHVKdiyU`Tkfqn^!0q?uh>7k_NTg~uRrxw>vG>Ii&ghC1N@IcO7%UQOz;2M_SxCn
zl)HYh3{5NCc_n!MbL;9?S2jyUzLm<2o_lQO>-V<XrDB#wt?!Qfs?NLB+WTyE%M+J{
z$JTS1Hd(JOd%F1BzI&Tjt&>!rSbA;eFViB`1v_P)f3bYG^5gd8wU0`_u9)=LCRTTr
z>&ex3V@>ta-a7ZjoWJ&J)l#<=g)Yykwk(obKF@dl$?&JwUSG_xT77=qyi+c3r5xX`
zazDPee%@6J_dnXXYn^6V_=m<lU*-2T<gDqYc~?2I)^Gmx<LZ7lZ~1-G6Bls{*MDf^
zu=!CvC%*Rg>mRCDu{TDswM7kW`zoA1ZN6`4x6kco^d`yp{nuh%txTV5yY=PGp83UB
z*InEunmK3Zzk9{24~DM#x@$)0{>O{wd7Zf#du;99qvhYc4zCQgGmWa>y5iHnHC4Md
zc0YKtbzSk->wB^;#zX~v1qZ|9;};iuy)xapbjrWdX=xWXXTAR&pRSqP8&LZtXYIPE
ztd=uN3ooTVS}A(f;_I4gSNoq=ne?4|wR!dOuvKNf3(B4@etggVeAXQ0e^a-GE%ceQ
zTx)%C=<=#n&!i&HXR&O(9$EY66<hq`rTp=V(<fSS2}?MG+hE)4t4~+YIX~aN{_n4^
zyla_)z~d0|qN*Pryf6IsEPQ`gyzSk8)iU=UUuiuCssm+38V<}>2Fw0h|9{qZi~Myf
z1t6mvf(JCgX8!;D|AXA~DWz&0(?4$ImJ`bFKhV7Y_|N};dF#X9zBLu?0^1=gXweE5
zzq)<@v-hj!Zo0rSy|9>9R?y+WS#X!({y*LKh4*6o6+!t+c)Ec#7mr{uIR5tky?y_~
z`@(aPnTw`xoW><5@ZlPV&9CY?@t@_MuiYwA1u>t~qLbl$p&yf{1azpSz=-kQ<2gK2
z3c%w#0uB#UnE3z6J-_}ZcI#xZSq5NHu057adyZEYd$%Qkb#cyXVE|pMzEE@e#Cx1_
z+>Pe$4c{&D^G*st{LFP=vcLn|bCY#UQb9>fmPg^kGtdamSzXB{h%>k<gg_=vYF*|7
zHj(R|4CB4Wdv>Zi8-Rm{%ipQtyM_Oz3sX2DLp}#)g9fq8x2JGG26YN<a<XxGf(-Q(
zn`Hzuw3wx$|MRnHJO?4pw&7&F_t@s7Q?MG?P|o~5hWCZ{?o2`oJWh4R1J!fXBQs7-
z7v$!Wp1y#Gg@yAhXoPHbv=Ixql%Br8jEjd;1!S}ex9?1_(UE&Bncjc0J-6I{{=S-@
zpV%$`{Wxy_@8|jYcj4+XhkVukzArG^-oM8-dg>RcZU3Te&%cacndbZ@`{Rr?Tc&Ma
z@!xReA}%I@if)!7`#0rIca7EOb8Y*VKT&!XBprsjf=xf(FK=J-<Ab#2zTfY5S7cl+
z=4&sQ?D^k%&Y8E$`RBt__qMJ5A9lX@SNN)%0)L}y)U?+=)qPd(vuZ^X1Is<7#ykAK
z=LUQ~b8>mp+W*l{+R~<P+|DGN6*uvKbscP2#k~IOWx?}_kHWL6&;61~vj(|&w%0SL
zoBvz<UGPVJzvsGtmVM9qy%XwmuW&?w25R<{GVQGY_v3MYVRh+zt}E(xPD`GjUOi`z
z{_*P^Lf<<I?)}<d+V*1l!agS9hzFtII__ur)lZRU|J*FK>pi)D!KS&@?{2*;UfB6>
z?f;!w_p`Sgf61;oCx7~{`zqo8Wj@O-H#*3~$YCSR_;)V*cRBakPqn^vS{Kf<{j5{}
z{&4O8&4$b4z`lv|Q~Us`VE+C2`TF{L_j$4MGpkSSa+$EUZSDU^tNDuOls8=6Uiyx6
zNpyG3r5XE!_SLdKNlI#GU{NU0W2~)~+npz~vAp%8hgh%WPu^Y+sp!<dyj*u1zrMNl
z-$VCI>-32{EW+NIoFC+#i%-92JM*XO^X?wdxJq}*{?i-!4}{gfuKq3OK0igSUhkLQ
z^cjm37#hRX7v#@5U-f>C;pg>>UPjM|+I0JEDf=~!=>M|>xu;J&#wk+&qnl;k6I;K(
zuQmQ&&iS6=R{3i4#}D<EF;CXkv*griTU^f6`#S%M_4UQ`W*KIFNuL^Ff6YSQAlcyj
z3c+8IwSQIx-@I0?p|^f>c;4Q5J&X5y*1h|6Z<)L4>m8HsA6x%tqXPrec?XB`sM_$N
zCEspLd?c^<EPCPXdylWkMr>XAY>zeDmw)bAiF%NxuD|yK&wG!r{EsgDe|_nz$un;$
z{wmR!FZeWEyz=#XlMI=&OTj(-_3^f*$wn{Fhvl7HRG4>pv0&BQ+CQrTZXUbyBdj(i
zF8%z@s%_UN&-=yl2|5x2>gBJ`k#uHYI`0f|OH0E(|LfZyma3oES*2L}if_%WZU5Yv
zksZQ$|M8R0AO48*eymZG`*h{%djGUl{<VDXm0ssRe<fV;eE!Z=ZBp*@XM($)C!c@t
z>$f`^lxN!aYUPnROOL($nz8hk&bgb$?`!t1ItTBC&X<4nOKr7R-0QPbucr4yI-y_B
zo9)X==3(Tp;b*+N_0GAn7B|8D>gi8jO`dk=^{cpDU+ovo-wCPbZFE7sx5@ePk1D-o
zeoF8B>9fr4?>Rq??G+tQ=2b8Ex10M<^U43Z!iirk|HOD+4S3w5ni6uhcAAtrcfqgM
z#Xp{eJzg>Ir)lWpFI8GIy&Uep&$+%@t6cK;p1*4<|7-kz;~9HDCG=$WpMTpg^nVCf
zU01*DqjtTHK*IrJfeW#x--_nATYRZ5a$9GYd2;W%cT1!HEB~6w4H+Q3EL1V+yTz}N
z{dT1*SKEJF=|AU{@VuTki=KYY{T_YX%6q=TPV<0Q_pe)j4>9_hxu-gB{bse~tHJlV
zuWZkJbw7O7&F8O|ZZ3Lb^ez2&WVCJVmQ|6ue`CtO=~Ta+vmxc@N2d#4_rFT#0Zr&x
zFm7L-nez3bb^g8VFF9L%{+Nm<b4*XV!zo;EpmLykPK8cz<kfW3tM2y?J=y%CqD@#o
z^4WXYFP?RFH?Qfea{Rx@+fMV<-_JjT+%8*u-5LCTWmVAHeY;Oq&6S&byFWBBtV-Iy
zcX4Uzx1Uv^TWeFwuiebQeA#{VtgDyKm!_ZJbp71P`tw)6V>o90?&>_2zoz2J(-ZG-
zia=e$5ghq)^2}du3+$%vd%M^9>}s*A3;ZYFsTTeke)ejd?#$~q=dSv7%**z9^4Znz
z3nyjOUESZX{9o<Tm5ICKLU*2?G4I`)&G(lbcU_&edg=Vv=jNsQ+y0V!yM6!Px1h0y
z4te)l<;btejSMXF8XNZA-kVh4F{AMGi}x|FgeK3c3_n#pVcyx@{ZVTF&Tr_uGCfeA
zMY#UJOO}d$Vg5v|&|0I#`CONb=X<=~@5cGxVq1Oq+GnBOEH#ynro7Mla{tha>fSj^
z|E=12YxUCp2O(em50`}5huKDEM%0zPxctxJtJAXeCZF@JuU=IudHM3((r>rF?8pes
zh4#!>y3fCG%zIA7RN-uK_qR`0$#b(PeBfazlFvUgS8@Nm-S#_deQ&PvzxVh{x%!tJ
zjh_6gMjx-o^e9dbyw538KY`(W;Uh(#)TRDupCWsI?bsZ>+wSJI?;<l-yRAO|zclP?
zdEv8pQKf&wReq^?PkpiG<c*hwHCpW*0`1l3MVBWDzK&K;Uq7qbAC!Dvt-L5R-~DoY
z=`~TCOZHpiK&d%eWx?*4yBqt%mwbFZ*Y@%1{(s(cs<!PrKJ$nC`X&y6=|)*hLiIL^
zjQ1WNah|>F-7l5pc5e&Qw|}ddCHwL5iv6WAi?5n%TCM(-9(y%T_gwJFE9vjw?d?1_
zt7op<@#RGxZSVF@>VE$wwD|o?aFm(Odi*)#*Xnb-nr@v8wHM=Xcp%B~Lhn1r`@%2r
zk5uYICBD!75vD8rKRv=ds|7aQF<pwAi>v-Y3ApZs)a;A$CBOVXzObyeYR&&Fh1xIq
zOP)NQRiQLD&oJ=5)RUWkvIDc;|E*SCr8r;w>8sbli?>`~{-}2E&zRWKW&b+m{?<O0
zQh$B7EVK9W>ytmg-KUjoU(Y<x`CIk$&hPKdujfbQhdsRZTIa7`-P;3aUcBks->o$N
z;twuR)z^4O`_tZ<x~tV+a!sCDR~{?>J$1Ks?%({?P17gd<`k*7v1}~=Dfj&G@qT%`
znhW1We*J$OP;JxL*=}=_`4@|3?U%O=cEPLO`+myVXS>pW`P};TE~YMjDmtcEy}tbE
zm(0rb-#g|7h_b3}mwLV}J<rtdQ%TLF=5v?K^L8z}YJC6em)BpT{yzA1JoMsc%X{ZR
z?hASGW>?Uu`$x}b)U-0N$js|?cqh7X@*bH|`};;S-?vEKd>j65-IlNSUmcg9o_L;9
zq@Ja*{EwXa{9R9Gv(`>pT=ur{)#Q1<LhlEM{GYY@`+V)f!Wg&Zxk2lndDZuBvt2Fu
zdt+MRnQWH1p<7q(uhOdAn$5CxwVdqtf0bd6Wj>ydGMN>&aH<ukFLUk0)#YwwqAT~F
z3sSwh`C1bzlR(3PT$VfMuDy5qyJlB5D3Dqs1*T8F%_&rGqYDZq_5bUl{yF8_#CFC{
zKYM>h?N8DB5=&yQ@BOu6zuW1^tNWi_(z&|-*c;{RoAr{<F7?WiS-a)?oq1<tCa(|O
z{CM%jlCZ1KY)m(GgL)LnXCwZ8UURGeN4l<*@9GO)b3vVo>?f~+m3MbtiA!HO=~ZMl
zsPW?Pz>Fy`o%eP5!n&}#Tetn&e)W(JxXmIoZyIR+==0Cd&)3KAw|hG)$O7Cv<$B)?
zYMvgq3Sx!w`$7Esvw{Snd{p`R_x)gVUS3|VAHVO*fAPoPw@-<h_|Ja&>;DrYZMP@)
z&S^Q{yZ>tO?EPVZUtiy>>@B@k^DZ}Z&$~75>%zBQ{aPEF_xa8B(8Aa!m8IXm>{%4o
z`!nOa)YWfMfB$nx{gSf|U+A{m-#)`FHg)T2A=%aSK}DNaEe~3|c~$+_Kvk=C^~JGz
zU+)~-e<=Rzif6xjHZRgP2?^8l{`w~T+RyyQ*8f%FH(UIFHS^c`PwVF{kc<_ZyY=h!
zouz9omMs0XDtk`WOXb}^@~+MCd2iYO-bQxm+WkVSi?c<qF4rmyiCs5qY1KEoSNmnt
zUBi#8UlTL!)yk09I?v;6Cm*|Z|E!hvzuc;l)OypV;L;=U&*kJ-->OT^KW*Co-sbr#
zqeIgw_p5(dm8JLG{`-}x)!QonJboQ&dSA>qJ@o1GW95-kp6`_0yvQzX?X8zDZL`&{
zY@PAqV&vZcg|@R+%U_SNy=r%B;^xqkEq`nt+wA*X@;BHtrG@k4tZcjNN0D3ic0EPR
zgVsYQLc2d{wZyAtib$)fHxy@IKM{UpKfm7EMV~Hi{w(!+&Cff(Lu&J;K|<Vi`r*=x
z>sCM7b>jL(3!$G~Ri<fiFZ+x4uHFV3wYYHM`<b0wrnhQ;IU2vxS{*y}Ma199lV*q7
zPR*Jd`ge7|*2TiPuZvbbH~T00Z<V`g{r&VgqOl7XZYqjgmA-$|xq9jQKh=NEI{GvG
z{FVA?^>10uzS#6)&D#Cv)+YBZ)4m!W`#8i~{^rs0&CgP*&R5nvf2ooCcWT7k=+!Ii
zLOU0~D!Qt3b@TVY|8Fg{cPZ7SKHU`Jzceb{^8c%uCfokyU5osfe|fR?YQZ_Hl>b?M
z{}FNZTfKI5^t#HL=a%791-G5~ZM!f$wAk|h&gIvlx1N10AHROp&uud-S8Lgu?>oK7
z=KR?iqF)WOulo7FkF;L6?x;)uxmSPtUtf&*yW`obmESJ*%~|WE_T;(b^N(|vzn;HJ
zQQ61iTFmE2;q$BBhU&ckVS8@-{kq?0&F}xY>hE6SvFA;-=%IRhZ>##rKQ?!+&R={(
z<L8}Q!9V-$|IJ8v{Q9&)PvPE{!(LCct-jZMx^@25GoI4pH_p|%ikL6o=f8J*tp49$
z_hLTXRlAn`_D=Pw=;xbbJG5Ud{r@}kLafQR!|l7==Tz5T&G^~*W!LY;X=}<g-hTVR
zA!77JxTvqx{$j?f`>)G4n-tZTd8}98d_`-^Zj<n@caGU#-~TD(X?XusAC1mS=T5Dd
zxK;brFRSw^!MjiV3_rgn_4WPpvtHYW_pj>?3;7*so2@JSU&>K;R&4mSwbRed?fLzB
zb)3Fm|Ks&iCF@?-f4x{0`zNmc+@;VPzn0f6U-j*I?nhbG&~<j9Qy)jBpVf`}y7Obb
z>85o>PhZ+>HqH*W`2Q+Wa+T0?kR9b8xBq&bmDRGZK1)~l|E!N4u2;|fJa3%$`1|$z
zve?+CUYqvE%~>UNvvS_m|FwH>F1;n{*Z=zYPp_5FOYQqJQr3EJmY1})%iDYI)YD(N
ztCzoTU$dwzGi>3`IdW^uAJx0`KYMk2l}h=-;`-k^&#y~gJ*n6_UHU&q{n@MEo2y>M
z9w?0xx*S<sqx$F7<MN+!pn`W_;f|zu+f7+JpMT$5qEdJ6s`k@0c~^FazVT=@=X`Ej
zRO)(sW=6}r{<zbh|DB8!wCqzcp1=Cmy;DEzzTPX_dql|P_Wsy^U!%Ca8SGb^-?N&p
z+YXMb`cMzM{>pxf@4r@ETy+1@j&)^cBg%Jr{N42X>D*uHmj9o3zf+g;{agJvZ<^aV
zzL#Hp-c6mA9i891|LW!6>er%5>r3a9hMk=A)l+|KX3E>HsFk06jJ9^qssH+Bs>T1h
zYccz~_g{^_9;JMx&hA~j@(S0@uTSmzdTHn6kKd{at7Pi0)-NcI{lB{Z+UrN(e-%$#
zck7z{SL@Kk|2Nh5-hO25wJN4|mDcgi=VnE3c~$&4J0<q%smqmY&n>cui!1kF*VXFm
zS3d{u{`-D<$Is2H_f2}UUVQl~x3YPfOUovHUO#VT{m%8~>6zg<kI#pD*{=Ux>7tw+
zJL~U>8y^c_mxk$G&yTjPwNDWh{G9MV{pzZ-FYOnlp9`D%B=r5d>6K@0+aTiY>9y@;
zP49LIJ`}fJd+yca``g6C&sI%`tvm>SJIy^p@b267*CyYUi+p79n%DbjrR%irUw`V;
z6V*>;@3rT?R8yUjC;TnZKQ{3F#Mh~t_VsfHuip2L_vP)U#kW_*#_Iole@*q|@#iaY
zp8e2}p7yLb<XioR8q2Es>DO<r-?7gr>rVP>|AKSxw)nnTWp6BZ{&k7f?yMPa0`>f^
z-JX9nX8YCX$Kl<R)~By_{rleDPi>)A->;A-JLKw9>r!e>`^qv;#Kr1I*PpF+`ER!V
z^L5d{+;#K&f4q({FSA;`En-<gS>c?!NALgIZL!k$+%dzK_2u9DU#_<E`CA&cHDl@5
zHAQxp=KJ-hU5{CJf18czzm%H!KRz!{DRte{bxP~^{h#wwukUgH^-#xl*RoY-zn&MY
zpId#c;&kHda_Rc}KX>oB{o3{V3y=R9bF|-GkIY}X@$P)t?VYy8XY1u=9w{k3`~2Iy
zsS&?+e|@$1>gL;Zw_g?h3+=ony7|$JJNM6DdjI848vjT8-z5)!{n_^8b7ZLJxzcZy
zPwe`--@nm&Usn5d*Nivqw}1FO*S=NRUu^!PihbwX=ZklSyghS5`u@4+^;YMrzQ#^G
znreUDE->!(+-wV@@_A1SZPu^&e&VZ9<o)9dmwRn_^+&g9^Sb!6pUQq_h<^Tf_3Neo
zdAgJS{E_tjR)0r6zHf6KzoKYdVeQVV<z>gSlEVMK+j+`t{pa$ss|Gh0$IMx?-G24X
zyw%%}trt^`KOffp>wf(lpHECD)rEdtseigd4iW`gB{t_bW#3c&b^g*~?M1g@?BzdR
z-<kL3)v8;Ijvu;tw6ILP{`LDuOU_mP-@SW(_xm?1_s?4^wsy<B&~xs;F2B6^X4dJi
zx2G*XHoxb+uzmR<WgG3)Z~pIUvi-Ss|1;Y~^|P=4d_8NG*>!vOKc(*?lf$QP&i}m2
zB6@fI>D_zdN_zXg^dH;#sBZ4pFt6KxZx+tJvE9DkCu!HNXT{a$y>$NGt@?WL)y>@f
zxnC{*uX1@k>pnE#*N5)5+pqhtCM<MP@!VRuo&Ap=S?@l*J2rl=p4#t+X8SJx?E0o&
z**|%;<loOlM{XTWUHas!R&`;w<JU8h#s9xtF+W`|Y`ZGg=-#V~Ql)QR@y@>y_4VJq
z)w5pT{IsWk|Fzw*`g3R7bBBaQ+nGA$-#m8zSN6AkalLEqUcJ5jdbb<5t$ur2$l2oh
z=QA~9YR;NUrcXO5{64Nf_-R_`-*cB;=Y^CXasRp^D*b#+)wiXRNecu+u3n3O?sjAU
z4)b%5mp`w5^*^CrZhdl+_}TdW&P#W+G*159>vsK6@6=aMwwJ`r$vXe)({sMs*GsnU
z*zM5!OeeJd)0!#UD(C*c_HK%`-OKlz&b+>R?EWw7)^+z*zg>0z>j6RD+f}RguZ#V*
zye#wUd+Ucf^~ayA`Jw0cEL3gh|1a6wzm{JOt-iW)=c}r#9DA1@+kf`{(R$0(|J6U1
z+Mm~YrE}Hz<9fj=yW2k`eXnnMZ{B<Vd&>IDbN5>Po0k4HJZ$U#)%9UjTkn3{;~$rL
z>AU}{JHK|n>bt%5{+FtfJKH2<=d8W^H1zM}*B76beq6nO-QAD>!vCJK|9a(3@!WI8
z+5W93&Gwnu_n%R|zH3s}jmI55AJ@8F-u$vYc>l9C8~(ppe!6b2$?23euS=u%f2~^e
zFYapC`D^v7mxsSTm$&)M?}Mo&WltAhe;l^3`~9Pww|e_t?O$sj`(#W0<L?*ap1zs9
z=lIF<ia(buwaZ_*`et?B-_8D8nANMc{atYP#_RHVeLh-+;Y%;S-1Ne4QL+5l_}6#W
zO+UxG>f_q5S@n-|_oBq@>igihef_)s^nKTN>&2fMOQug-W3|t0zHYUx-_+SlwJ%LB
zoTz?P_G94FRo8C*)-q{Ybtz-=zl%F-|L1>QGU@x3|GzBlzXxsS@(P;&SL^NVV_sYL
z@7wnAt8hh1XTEXMH6dBi`+3T%>#wfQ|7G&8-faEn`?o^Z_Q}rwQW*K{Yu@AhzjK||
zew>$l^?lWYj(NFzuf|`0_oH~B)c*G}&)?4g&F#(%pZVn9<@I;3-46|ayH)RO==IfZ
zFLX`+<^Iz<7x~w|Q$9s$?yL2iL(U)B?{?uw>7L&Cf+fDc>n{JO^$*JxK7IA$cAM4v
zH?8^`|9A7N`qgjy-qwE7n!K+*==rt#q2+hh{S{mF=yuP`9l6G!40?L?FZJt-PrrT?
zULU*r@!$2orv5JzUF8>k@!CAD$+`bOpRg$kogH%5|7=xQ{k<!N|E4@qIvy(d=ylau
z)8)(8UC;en7X9C1ZnSOm|5KMWEtBr2&HR2iZ0e^@osYS0H?&IXD?th8X!zglUzc~!
z`Ih^~?$+u#wTHf2?EL*yee#=EG46M-7VEE_x9eT;|6QkZ?{oW9Ie%xo`*88J9ScmF
z;^J4O1m)i|ofLPZ)49Cu_KznzSL^luOYMI?`Cnkvi4#@oQ;NdoM*qzJ?W^p6?Dmi7
z|EnA$uU6fSOyB>u>f*nb*URgp*T1?`=9KzWXVy}qE0M2eR&9!teJ;A{`m;Iyz4BF$
zPUx6!%G#Z@rpn2!W_IKp+w<pM-~Hyic4K(Z*FP<nKlwcM-2Kkpa{E5^o$KP(zVrB>
zEfeehbY<ucudDTT^HS!!zqZYGzxwr+@{36Ev!P4A?TI@4sfgtv$BK_z?_arJo7Pt!
zu+ik}WQS!dKAKMNi;X?Et}^z&&!g4-ed?7{&u@!6yY%sy*%yDUpZa!M=d;q}Udxr?
ze~V);E&9Ir%`}_cZ?~`A|7zxo_m9&>tNwob7nLbA@5|J0pRe6tyLhwq{F7BXEzYg`
zxc<TVO4I2^A@Z`Xw=T0k`104P{e5?Lt?2KYyFY8*hx&^%tja#ljs0vDCM<t-gKWHD
ze6nA~s{c#=Z@>QgTKrd^FW*1jzh5`?ugsKxj|5W=?fkZ6x6-QTM=pI{|GWM~pV{uW
zpC_H08?$-xzm<lUi?02>WjJR|)4H!^^<|ZF_ZAh*6W;B1I`qfi_x1m8-~VTJjMMDY
z#eZk?x=eHX_Go85Dd?-uzx?Q0_M&S)Q=Z&9{3^b-%J!B0%ky^A=dDdXJ9SOf{I&C>
z)<$hP|2lNN?SkUxe-~W$xN=)YZ@Si+@7$rLlFN(Uex6ct^nAad<+Rd!^KXBhdt|=B
z&duj1?>T<)>YDQQef-(;^Z$NbweouDw>`TbJ^Q;LeEaSuqgmgw{MG($y?154PyHvh
zkb0(||DJ!&Ec!LsGj`>w=i7eR&cChkbdA;ad%k&(7k~Wy(d^%~{b|?xR(;*I`CQ%Y
zuZ#X(UjKeu+*Ql>+r3t9&zN>9;Q6ZbS0}4VW6IZB&X=;+DctcoaBHk#-xbCs_jb><
zH9Z4QGcENpeb1}k{@3^^em$`A)vCYsEHB0D{2l&2f9(0Ka?8EVWg!uZw$x3te!XaC
z*OhhUuNvgt_r_=MUs?Y~{bO$Z-Ie>h_pi;4esA{gTK(zEN6WvhF@O0r{`IYu+h$1L
z-=$N$``DZ{>whh8+w$VC$L@^V`O)=PjW6CmeqQU#ueX1<UP{^b_W9cXHK~__fBIZ|
z?eRzZNB!z~QQh;_ChxsgRKNOlbo$bxYfoQ`H}(IK^VoXstm|(@h2@v0C+%0-cWlmw
zkpG_l^Vffern&2N@BYfy@4u97c5SugtG|ZTmtqAc_pP;yo_G7})gCKzuKxV5Iek~t
zFWJAEZ+Lmq+~E4Md)J~xm!)pv+I8*r-<wZMznwZ*S?~8oN;h0F?$MFebN(&gGvlg^
zqw<4xXPwD$%QFjKn+CqF$y)a+5|S+Z&#owr{h$BW^jTQ{v!dj;pJPnVKKiy|&nc(q
z;uQNArb0fm4nGZQ{aW|%RnfP%{{&duo_VQp7tS)?eUA74k8P`h<W=j#{>=J#RoDNM
zoO^goxaHfd`jhMUyk)-jO?&-x9n;=@S>|pBJeKeNSi1WD^P=>*v9H&L$H%{HNiSOQ
z`^L^cQ@5=yc~qQ|ckDVxvE8b*@~^92>b?CH{PjzC*Xh?vSE`<W{5`|ZbN)vA*G747
z_nMVoOI`Wzs<CdVdGIZ%<!&?PyiLz+DL$^Ze)IJ=dqGQlZvS{$Z-4*(rTTfbtB<?d
zosRn|v;M@<Ik#g=KXVA5|21>lJ$d!QEACTw|8BkgJej@1@{qdywPU@e?^qQ>H@~>6
zX!|v8edr3gzjN*!zaC?&+B?6rRh93r&4h1Ju4ykHub$Moe^O<mWOL<S)5TFSHD{+L
z$F}weL_E5(bH0}8vy|Ga_SaSG!?jwDYTC}87P2l>-Sc{Wbp2V2i}AZvGrzyKzP`R{
z()s@mAOFfMkGod#X#HLj$?HERf1TyBPJ60K^}OvL&&Nc0r*!65&n>+=so;il+w5r3
zYubU&zx`WPd1=0s<?+uyZvP9+6`mIwoxc;Bf}R+^{C~^xO?c(ika>xn$#wPn-&MPv
zd|elG{OhVW>!;Y|*N26=in~7ESr_1cb<XBZ%#%~jN=PJo)z^p5KmM|QZR$R*Q(1@H
zH|HEbrK@m!`)!U_>n|3GZj!#bE^?CRoZP-QT?G{{8{bSjS-14ov*fc&vrL<Q`FwdX
z%k9kc<W2i#X{#OEzG_LI`akzCS9-2a`nb8?>aOsn54+q`TPp1>{^}>hvzcE1<F%&r
zt5|4gcDU-RpGu}|>0g__9Z0diva2M|<5&0JWySG@XR7B!th7iv`AT&8-4)rd*0Jst
zS{(j3IyUm`qKj9auPK~=dTwdiT60a-nLDPo)XUT^{c2S--}BYgTD|&I=}qxrch<Ik
zF8o$m(_3%weDTNM8`n**TU79OW!026SlW=>Zy#;C0y29MuKIc7={V((^IM+Wy1IEX
z$E(Lm7Q4^wO?vams`~1M>Rp@9?dzTY@AF^Xzt3-OuZnrH`Az8gk6kfmcHRv&?>G2(
zCUjnn(p(pB`OtUo#PjC&@6>ny_htFKRgUlZ{?-f6;P_GW{fa+RZOz%M!Iyqat}-p^
z`~4%jUiCARG27>=Y`3jDe$3K79vE)%`p$;^Yg+H^zM5`*ZN}uUq5osnzxn^KZb|6(
zztes_|F<fA(f%@TmyX5p_iumk`DGcjf6dDy|4;lncRhQa>&ZVXpX&Ep%-jCa-}Y42
zrT?qWzFavqto3WX*Okb<`?KbKS?+f3qs_l<^&z)g(yv~NUe~eSP~GNg{k{KNi@&5l
zyv1J(D#_x*?UjyP{Qfz&O6{-kO8vX*Lw@?V-qJ4>)mr`Pa`_tT)vG4$dCmSc<mKP0
z)VS2w>)gN2{L=p`{`&t@xrlUgaO2$LS2A{T-OS9ou2X+fMdxhbeU`J=v)9Gg&W(C*
zd~tEM)W`U~lfT-EKNOzl2@OT0me=zpwC?_!evjYpKlhF4j%TMvF0wCv=#=txrKqpY
zs#Vw4MPB*rn#FVORXfMmOU9G`2CTlkQ&45!)y@3Y&usnHgvjW>p7&Pv{=YXDzIX1N
zRq47U`d>ZwDW0XWt6#5+ObV-6oqk^S`_4O&>HfKYBd@NXCp>T0`<3<Y%<}l}e=6s?
z8<ipY>hYV;KcpOApN%`Ue(Qace<?Q47gueYx=cuXp?&r3HJ)#`yOwR<_O0{KtI4lT
zcODM2%{;kvb$a%?d&lRNev|qi(|!8&8`J9dFV9*1Hv5<R`?gK}@38*vnrVAqtz^0L
zFU<b&&fl45FGWAQ9xi`;?%eAylq`0?ds5YZ;dk;qcbTg_Z?0{B_SW`pWcu|V!d~vL
z<{r8KDzIMG|5fOJ?PK8?1%~S1{%l!x_eGj!Z|C_t_g$?|uk$K;qxAe{u6_RB)${Hx
z%F2&kZ@15Sb*1`z<GK5f&Hu5Yet(~O@%kJ7F>&ePXN7Iuf2A*S{F-w-{7AW>`nTJ^
z?z@(mRMms#qe7o5Eq}hPe%rs$^P<yEPAv+%H*fiAqnV{gj-L(vef4jBifG94d-^ix
zcmD0rntpU;X<7Nz7wUih*sK@Ki`HMh^OouK<aKuLUoz%+>OEf^>XWo;e_#KZs}}W^
z_uOWGcRp*nG3MfDz4zO`S#I=9dH(oK)X^jEf8|p^`P?Gby0(7$@=w_@sfCI!Ry{49
znEv^H#x&~<)zcP5s##BZcB}7q%)2$4)4%;&qZM+V^ZcEIUpUKLI-Kvn3QLOq=a<-f
z=eqQvB(Hn>w-skU;gk=xlRy7+N7tOaSubqw)<>qVpCa>oRf^H|r?#ixg?#-Mv;KCS
zy5dxI)$rD|_qBH-)32Wh?}?2|UoTbVUw-Z8_K*3u?>~cObAQ!<_scD{Z5L0D=PS2g
z8(DSw&#zaHcWnMF70Z%-eXh;57f)evCnMaPRsVce#V(6;>q>n!WLK68)vtE1|66La
zGW_p)iTH&FkIuQVdG{9SyE;n^KhFHUJ0tyOsApg76Pw*{pRcXIdO14eZSL!<$IH`A
z^K)E2=2qpsmAZd6RNj2vnY~H&g_Uz-zxscXc{#t6?doRPc)|Ne=iJDDT`zv~;)}m`
zZ*G1QI<<Swyxae7{tCAZk5CIg6<Jw5Pw#X}{WU>(^YFLf-~Uex4VYWCzrg1CH|13^
zV#}}Hyc;U~Pv89o&-NeRo)-Vkef`uVeD|}WGgqH?$n_eZd|I=m%hTuU^^X&GN~s^e
zo$<MD#ZI+p+Ew?S-o0k0Zr1sxW=`zt89!G1Z|<q=7v_F`&2RmhJAuVlSJf8vUePf<
z7a1E^oS9Nyf9+;*UVWL+{j0B)tgCyCAKC|6d@Nk0R($!m>x$CMGe376d->DC_FUZ5
zFQ7?fYp<>ARvkGT>OcLv&Tde|Pc6E-^wXa?k5>h#?(MgJ{YEPCy2hW!9bJc3*xfEn
zoitJX{T`$6AMA7foQbsO-L?5#+}H15bIzXHwtQFb8>9MrY2kJ&e{P#v^m^&X?T>GH
z+n)5S34ffj_lkO$Zr{#%1^<q&yEa4W?9c4pbz)x&3+L1th1cHs(e-2U4EKs%QRg=K
zf63NctNQHNLfJ|468{|CH|xgN_(xwZetNUy{;Gd<_A_5x*?r(z{c88WrEfm1>hIhB
z&no=5)bnj$yEydS-^#zOH?)-w&U>dFs~_I|`Q|Io7)QQk&g0el`(p2{?f;d3T$ooX
z__`j*{HgO2_v~Ds_xgX`|CPV0|11C6`aE{dTDh;+KdSr#ji{x(d8c{HduzAR;$JR%
z3oZP=zP}!xoVA7HUw7^5t@0lWi?7y|{?FEX8@l!*hkUQGWcs?gy=wJ^tNK@8xtYz9
zevxDQ+HjW&%Pq{=#|omqK5;oe@$1|d7q!&>xqr!6S7#G=$=%}hn%9-b9Y3$~4-s*{
zZ?8AKd*wx?AFICKseAOuVt3YTq}bN0(y5cQ*rm$%ckP3$`6c;hgC5VhDr!32tt@@6
z?elNx>K|kG>TTM5z1~9jpKz<N{PHX#^V*n}sOiV%^k>hR*MIr(n@~?sIk|gr$m>;J
zcVfPlRG#0Iz3%Ofc+K!wt^QmsHp_SO8^7DVTeCU4cbA)e?wtSW&qL1t++lR`#4r6H
zO8Gl>&e&U2e(h%Vw0odw{+{^rTG4yuW7jU%D&$%{=}OIQudlW-#r3{ATc=k|nml9O
zv6EFR&wr~be7(qUtJU-Mrn{o996wt4?PSc?!pGW={FCG!zRa>bZFh0~&Mjis^Yxw`
zS@&N^{qwHK%CbxOq4oRc@90UtxxMO2{BghjUoR?NuP-iLQ<xXM{*BCa`&-GA|GIy5
zIrGEps@3k*uFqGU59>cSH{-^y-81UX?dx6t&uX95zGp>`JK5&0&VK&uEI8{zqq)=X
z?c25g!}@={zVS3vUN--4>AQ&=cQ4P-f4OhT&MU{iMnj_c9_M^zyS#O`*1xMiyVN#D
zGVIpmol@yWWqS>0-u`W|_1r!8%bTShZu{!BZR&=!lN+BEy<Tc3Y#aW)et+1)TXX&?
zSDA#{&(nCRJg4;9*FBFHRD${qdeggqa{OMHRXry(IJCa-4`_|puP-l8PuKr-F82R_
z)2#D)tM-bomURE>GcUT{{PfZP-K)QK^Zjh`n)<wW!=22_a;FaK9xL>`wmjwBy7T)?
z(%e=jZL676|8MKA3-k5=GKZ&?{HwP;Zz;dlJox+H$t=%4=3kDtv_5V2@7n)0Rd;`-
z{aN*D&DXUPzpk43r_EEV<a&4X^qqUPc)U$!oSyw}=WNT+&;LpU=fu7an!oGtisxl(
ze2j`>HG3`BhbzC%t1R8W_x(Trf40uC>t&utJyAb)^7%2T#H5wla?_^2&K7d4-SRy9
z|Cjpk#&d6NO&4!E8#&W_^@^*m(=2{%U18W<f9BF2%YC|a=Xx9V|G2q0EztYwvahS2
zoBccT-(&Bpw`&S7aXc-2GAoOJiLLd*w4TlSe`5FNzApW@@<?fHZ1DB`$fI}ezby3H
z_AlDDR5VL>-Tc^f_x7iSbg$kXzrLs7{J+B2Ti@1)ukWs3zh=w5efHY&&+GkdSFU=$
zUDyAqv7~(G`ad_<Px_YoH@N!1*Yw!SR@?8_Z~JHZSg`w>&nq5pnaaJp^-lFX6pOgD
z{QDYHt9iG-o;qRg`OkjV)@dD*c`GZW@Bhp`_G|OiJ#n$tPb<abd+p^{|BJe7<M;K-
ziLL2sELlEV?`(^cblhAYp8In0uhOrVi*M&kIdWS6efMwo)y-e;zq+_}Mo+f=m)%cQ
zo(amoWsD8}c6iCIxAT>=3oqV5ESc!&J9}2;RwyVj^lMv*8D0-8pSt7mkwDwhyU+jS
zP3x||9rgU(l2gUzejJ(a=YM(iRqo%%T&;_>{>iU)hg_`@J6~T@y=ac{W3zo>h7T8i
zJtp<{=)arC_WSM^dUqT&T(tRB>Fe1aSFie4HS>FY@0!?&+Hw~U=}z78`q0haS7**y
z%k?#Cb>(Gy)9agO7M?rqT2QvuqxQ~ox3Ba2r*_tzyE64s#^);2P4A|Kf4}|v-Tx=|
zjjwz?Rk+Tz<l^av*S4RV8~v)j>-AUD{>k$cP0a-M8o#Q$6whk4{d-90sj$y-`|Y1q
zef83^UAz6={8cfpdm}%tomcvJU)<cSz4jmNgVtwRXU{R2vh$n6tyuf)y?Il&f3>O)
zjo7_tUFLoM;`-&s-?~Qsk2$_`-mZ70>+HT;fabrBUcJ3O+-*nt{~cews#a}#Uk^$H
zL?(gn^L~e3y&SzI{nhiz>#mZ)plOlL$2()!zx}$Y_x&H|dYQcNIoDUOUTmXWQL{R|
z_{|p!RntR97X4B#vboCXy=2~*x3wlkZ)b8g+U<M%`Et?Cucv0rs^6RCJ^#x3i<g4e
z%l@_5dG+z1yT9_j=KS4W_3P@&bWj3F?JZd6TJ3P%<mc{n9=ulDzpn|MU%EGb@4nkV
zp07KndGX%I>N$6&7yZ9DHE6fd8oP7G>A8RJ>fBWfJzw_bONwYzcU9K6&b@BMR;IU7
z!oIH0etzYiSbX}^8>uC?wtRb4|M<~!o#*RKv;MrTkp8bzzcwm+<wx1vwO7st&6f%H
z4_);7_V3ltUad?wU3_cxw%a;-`!=7y8fJ9r_|fvRwSKiG%YMm7X8)PDv+CQ|u)J6A
zH_7zRpJ?iLc4>O`ysN>hR}{~!U+;K6i)Cy0ysvL2%2{ORt*@Ww`Z(m-)IDzNiq+S=
zs$VlJ^-;0QNwd0Vmm(*7z1C5UQO<dM{_oYz*B6AWm#|h94lT_~-I03l_w{on|NKry
z{`2eX-v9Oe*Ys(di@x46nJ#_Z@5GGSCswCJV{NxjoV&mK&g=5cbN=lL+WY+4f4izx
ztGrHXuAH}Sde!fVKT6j{x4wG$YkB&kw5vbB=9Jfa#r#=Yzux`&mTUXYUj3cD?s4*R
zGt)0#uVUOY-|dWDFBLh}`fuK~nEh!hH)s8M6@1+<{p-J1H?>zrs)_a9*PiJTEZ-Xw
z?tWhG<m$pH{%0+&Pn%bpBEElqsCMbUV*j;K={rxH+rK_aS^MPA8!s*8D%UyM&Yd^U
z-)%*4tZ1>n_|N)nez(u9`n9@9_3<O^hvD-3Pk*=gS$_4AZ<5SLw~xO}?;lvEx_?>h
z&v5zYGdFMhmlqbgXw|di<;%m?&YM-6wEp58r(Uy}p?_cBvfR4;==Dg;GRe7SYxn-z
z@x$`;&+J~Qdh2_~>`%w9z7~~L;~uSDy7`Lw@vFg8U;O&^Z`IDKSCMDySA1Lb)~vhx
z{hQ*gQ+qxYew-V-I#|AUrJegRsr~8e=GE?<I{Vjdo#T(wQ+k7oU*4RT{`HF1tC;8a
zvoCCxa(p{A-L`rO`?*=SU(Zj!Xfd@?b^XNGcQ{vDtxlWyLnd%j@BE!5*Opwe^5(qG
zar;Mc{nt098dtTC`JHqLof|EgH}m_y`mM%u_XihE+aLVsQU2fRzcZh%iP>v*_UW;$
z!bWNGJI@t`hM&((dH!DM`>(q?%lEGfdB5}P{{DHZRs|J#ty=zi>AgCYy1B2z7FO;0
z_j2ZrNYi~_bLI+(*T261`l9LDt@*`Y|IK>+<Hkx~-o2Bot_RMl&bz+aE$pe^{@JG2
z*GJaBS|hdp*Ojf8BlqsF`sS52t<&}KcQ3VzSKO7aU%j~5{Zp3A(_rIsTbHKG-#q$0
z{i@g8|965{UyIb+^!fejYbU&l?8>V8+~;Kn_%C1ne6rxHnDC=_F1zkqdwJXDRsUAS
zoZRul>&MmOpjGzI&(Ggq_xIPU96`ute8^tv>AWX6g}515`apXP1gp-pPTv^DCBx&u
zz;qq7e!n!QlLx$a07FSVSV;wFio5pLm#3%2|JI9M{lEQUsYkqd(cgNry+?0t?OGLo
z{@j245YUpT*Xv&9-jv@NcQx$#_ia@(Ss6JT68s+Qiq%k_zkBn_TR+ohTdiKT%1$c&
zxMlh4`Pz@tLT&qB+P`1@YUbA6UaSA#30k>J=j!HlYo3+<yZz&weR2I&opbxEmi^oO
zXY03BXHzdmt}1x6zW8^co1OWxv^mGGOPzldpPZHc%7WA9&(y2e>`(59l!}zRw$W|H
z<}W#GH@e-9iuqG_^;u-hpQy}ZCI5<Tr52`L+$=mV`oEW(a)@nleedE^uWzKD<an2J
ze*gT?)fT58t+HEp+_lU`{hwdx+~|7S)&0SXa_+8?icfzTp?oE>D(q{>`JR`5iu2|^
z{j+*`*1Uexf02f<OF_$})K(ijf4nIs@U+X+b=P-J-F0G?>+X_A?=`OOyt?_9h3cuZ
zXIFhJ6-(w|0WGtGu15UPD|5g0du$Bf`3;W((?qnF{(q)>ZCz-{-zqchwRWZTYeCDR
zq~3ni?T=ZXHG9q7$Cup{Srk5O<A~YLo%*D>+$_|3|NiTdp`l+d{;)c?Gy4A<F7wr|
zDt-Pd@147Kw^zUWy6li-tACc;vx@&+{k-jK(dKhq`>);?E?!kKEp5(^*LUjXOg!Ja
zQu6u7t!~#XC3jX?)jwYuyS7;U->IzE`>)ooS1Dan8G1hQqiMKocA5L8bF-qMVYzEl
zZCP)?<`<D`w^x0unp1yunWXyWIs0#gR?6<ykvurpcJ)242OUR4?}i(me4%7LPq=>h
zs&i}ST|KUO@zot-!?T{)0R1EP{C58Szt3jp|9iDudEMd))n6Ri^YUXK&+0w6v&!gG
zzx}@%t;erVca&IvqGDZLuUNOJ_p@ty<$Kng`<byt=C$3<xzUSl_dT`ydhgo#zrXD4
zqD7n-nDXnVJM0ag_cb$8dH&ax&dJBzXYHtbdY<*~-@9j5O?{QO=A&u%z4Yz>{5miH
z&-my5D<<1=wR}*&+qKZuuV34g)+X!5*{NFn-wax}`ux?!&@iT3KVL0=ymtS&x5uS^
z-uZWO&*vYnDx>%B{Cex1`ri7ot#Pc;_2DZo$A<?fU-@@&vsZnQ9H>3n{eE5fTx-eQ
zKm7K8p8xtH$MMRnEw_JUx2#%j^ycsHe?F`9y4}itH~+d5mcRBz$I~p^=y`kV@A_{l
z3vYdA^KxhJd!^m4SFdYzTQPTWy87P-f9`&L{pb0wY}c!c{2P@%onAiu)y}OMPrUM_
z*Z#7$>r3x7*my<f`KS3A9`*BAJ-Orc`?dD!Yo%}g-hcGfE}q-wzA7jIgO@8^yzu(F
zV3@&s!LM=kF|+U0e%d#U<&$5n>#@hPVp;BHCdc>YUk!fG{rT(JNI|W><8OG^e*EzR
z9L5`2Hm>=+)!MI_15`v!a@ZT*rfPQPag9mQ-r~Dr@yXBT{#`!%M*aVLNADm7_PeXm
z^~;ac+EtqTza6%=>{jI80Oi-Ku6`}GDXrbwJ?DSq>(Xieiod?l(q?>H^Y!A#Yw^#&
zCHL0k{ZF}9S@U(z+WU8^a=%Z$XTRI(%Dy+xQNtP<)bmsN(hEPvraZU5zF4rn@AH+6
z?H{jmg!Zp<?W_L3&wlc%(~BnF{kOnw`_*V|tE8P#=clE=pC2nVEB@Q$UCX?-R^>gG
zf4*2S>-mew(7J11clXvu>p%U>yBxH_&s#aX%3bMs%yD(=w`;nxrfpWr=L}JO9(F4}
zK62~2<oEM$IenJib#J?N(|>Da@MfKQ$Znmgt-Jg!zQ_3PwT@Z1{Mzi_=})>I=k7f|
zQ)B(tbK##)+^L*){NtWQ_muzIMBYEXuw975;ej1XQF!OyS5H^WU(v5|G1hy2tbG5>
zrq}+w?n=+^bjXw!{PkS2JwLnTW9+oG`)|LEo#VbaKRlrNM^~LiHfX8P^{anO-#@9B
z+7s2kZhe-wnwOhx@t&{i1y`viyIn1exo-dYN7Q56>)Iz<&dq;YcQr_IRqE^gch{Rt
z-&FMX@fVBT$L9CM&RL~<pzX8DvR^xXME`d2|GM(}W3%_y;<M+!xcST4R&x0~U*5$2
z<W2T1x6iLr5RaT1Z*Esq>l?DOD)#E$`m-x+3sUOs*G!yy=-#@*klT^J`yU4vKdpQ8
zXKw7*{Np#hKbmQYE9tdwXxWfE=T&{{tuv35tmlQ^J`%Kf$Ll<yw;lbbqebscTiPFd
zKFoW5`1Pk3*L{z(OrH<hkN0ldg{tE_-+nIE-}=sP=l>SlzRmCQ_O@+4=QqVYaQ}~&
zC5s-Oxa0Z9{d4_JXsEg;cgS%#Jji1DHPe3EcZ+j>d0Fmm{Zua4e_t}R_@7JUd{fzn
z&&u-C?_YcIXvwpxZBbixRb6}g?ds*!n%Lc8=92Mu`P0{~KX$QiZ&j?x`zPRFU71yU
z{$L+y`IR5<&fl>c=jS}uo?N{y{L{+S@w$CWx-b0Bum7&yyKGI&e~Z7Mjs3~u%d@)W
zxSxCad@cOA{afd}SBtGfSKWGc_gD5?VcY2X<;O#(OFjGD-2MK|s{dUdC%(>Jw0!;Q
zd26THb$>fB@$ZGy!m2s3k5_El{7ruP_GhR59{Fj#`_=uv&C@^SK6@hh+vcBWmhtZH
zHx=hhSErwSw9a~NY5ma~PuFtgpT2i|W%}x+=U2b}lySX!{hZDIPN1z&Pp*nze}7u=
zdRmVDu2Z{i@7Zy5LDjQ0JL{`n<)8EUvSQmwizUZ$x73{~Eq?xM``3HN<6qzXbY<te
z^qIQy$8X-;{&D-iS=-l#D`#*2{w>!&d&`B-MHy~aZN8V!n|bKy^_U(-hQ@k#1%c~t
zPRHid>Ce_UAN#0l{*R>g&gs62)_psKkM>V~t`)8}QEA`Vs_kX&o?owTPcuDz?f%oX
z6Z2PROCNt(UO1;N{rZpZZ`hYFzqa(cQ|+zbzwbBe75{zy>SV?#mH8ZBA**$MU;Vqe
z_x-PhTK?U~uKzu9wD6zg+H<SKmLGAg2Mw#*z274rBa>cUHD~X!z}&A@<%M(h9`irH
zvv!et?XTB`^U7BTbDsJ7WX;b1+x}nOe}8e`mDOACr@y&YI6L;|i+_(Zaz5{yRzLrH
z#r~Z?uCCkps_xN`>lU}Cmj0V*xW4s=l>Dc|LP~T0ABnq~b~Uko@v-ZhUxHWb96w(1
zSF(QLbIZW!+N^1>7Ejw*H@7rpPw0!Hr?38>_mAKICA!|!d+Ux9nf1E=bMNirI=3&G
z$^Vm_x;^`|sq^Ar|BWqgzGwV9@!kA+zdExQrQa^Sy}E8)ef0a<KU?qV`p=clmc1W#
zD;jmp)pghW``<RZ?SAy@(hRF>T~q2glQ|q7T;zD+x77Zn%=MYS&+oK<y;SQjr^o%g
z-PWhKiKQ+w++H?4{44v?A7QrH)7I{HyIj~iCw=`k>%V&Iv*z`f{<HmkFmrY3%dG+P
z4~P8!z2<bx|D9Dvvy4urJN~_u`!}`}G+vqWcz4~3Q<oQgEVVBzoKx?%dh@EInuUT@
z_4Vc3&Rf4{7e9V;u3Y;1!jR~__hMzz*MGcRoHzeP;QW78bDrOQ6~a_(YnlCS|J(Yn
z@4v55{+jjnyX5ZDJ89u|8@WENbz2d+%JuK-A6x(Y-gEr-*`w>r&W3&$KED6h%AEYo
zDaZDReTuyBasIE>x7JwA*S+$iDr~;}3ybufCw{p+{c*nD&eZ#S*}DDx#`e2IUnuRa
z^Zq|;X;e&#_(QvY(R24|fy4ZV+;Y2<E6W@2RIg4iJ9KUTy|3He%l_gEvEBLq`SW`>
z*dKMgdALCEO8nFvRmFLCpU?gO@rUHj{nK4DH~PFZUaypW5j1^ed(K_?%VXX7YwOS6
zyZ-u|)$iQDYyMuY2QPux`L^X07if=C6idnU6T1ukcD^*r-Q|77_CM&zFww}8{k?OI
z>tcF!3U{Pi6ux?TZpA-)-(RignYVUrxl+3$zPq#j*Ak)c#oxExyJ!EN<M>o-uf4I?
zAFWw;89c#wWx_O-;P*#u&;MGP^Ll-i+OOX~N^7hCue$$rZT+h&TW|mRE_-QysnoB?
z&zmRzcx4>9e%4*V)$_6nH*c%j_Ak`grQ`71aN)VP>}%_<)rHwkF7)Uvx%E7=@cM6+
zWxsO1=6{`YI@mHrH2QC}ZFGI=>SS^ETCHf?*^l?#JGI>Hg)Zpq_M^&ES~j~~-udoV
z(0}FR<HjlbWArEgeVg^a{%w`-t4n{E8<hxN3VwaoB6H?@_1ZtHo|}1Jt&E-%Ra$lw
zwABoB%#Go>LyKd#&M&^&<X^nwyG8W8+E_2^^?7fzuC6J3_RF{~<6pP?*`>uh?@g|s
zbbX)KhLg{K{9Cj7%#T>`&cI#$SMM&~-}mbItF`s}*FQ6jF5gqRf91SA^{;}9?*+UP
z=K1>m<O;UCjivJ~&#7<D_;Zp^Olr}As`;y4uMT|@@!V~~kFeUj$BPAjK~}N6e_fhB
z_wTm4dEn@?eE-~w6BK>BSW2dMyteAQ!F#A8CbXq$XZ#i0{}q3F3S7nR=6^jmZ~mXx
z&ugwO_!n3z^YwGX>b>s{*Z+<3`Eyx)>XLtVHky9gcJJQ)W9z^AO}QQ^+`Y~<ME1U4
z+E+WN;!XQr&6m0~DdkoA+Ii`3Vat`Se|`IRb=~$~tAelRy}rLbt^Qi(i}bVS{T{78
zpRzZr%zaJOs-tIby}J1;ocC{?>BW_QFMm&en|{?;GJEgj*R?{ywcCDeudh1yG;;m-
zwg1-6Tf2YL)s5YY?WV4sceXG-|7o!DmuXjKUibLFweH)6ofm)Z+<Qb<^Nr%}^Sf<d
zS7;qR`LAs2|FXSmr7!;l@7&4pa^=^1+vb1yxO(1gozUmGg;`f`ihdMQk9)e~x%bYj
zg$pg4oOiT3CtP{0r~B^njcr^@=SFT>{o1sC#>eNsjO*%`KEFB3`+3n`?aH^SmrSqO
z;=gTf!~e+w6_dVO6viG2o0<Kp?BbrdB7NTZ7O(twNIHH$`Gwy*uX$tPPFWqMV=J}S
zd0jQWxjppcl6z}*z5D$9(?xAR(O0*8Yx>Td{UMcj&VB3G<k<C||5wN@eF&YotzNoh
zRo1uqtev`>W^dgZZX2P%(D>c=z+0i`VYRW-_GBONlXkyj`pDgQ@AcRIKC2w-n@&eo
z9WUJad~aO+rVBqxuie=n_V7!He|Y}cbyH&gtXXvKt@hfj-^F6P14QqC`!{(rB-%`h
zQiJ>Fg|-&|TUq&Ty`=iD*HXUMzMI*eR2Mn6aDIOM*6v3k94GST{P4ea<!6RotnBms
zTm8W?7~&ke`{dWF=Pyk?>-XY!;_LOlO7qr~PLuBy{3bAS-l_CU{9AX$?SD11XZ5_3
zU+p^Q*nu+OReR8~DZ|jKQ>|Xt39d|Te0Kf!wf&RUx7-a~ywfSACVFx1&mA1+);-xg
z`R?_o)^qix*QcMh-u~Stv{|dXYRb<P`#Z<Z?<xt?D*U^qO6_-l(d&~-(tGXi`>TBn
zJwI{dt2gUgJ;i#bt)6ptb=lcTQ;*$z)?v!Ky`ZCW*Zeb;epAw)UzvCE-n#1v$L74g
ze(ubSciCr`7T^79x^m<9m%IH;R}?LGzy4Zq-S>TE=j=cm9G}#$lb*i$p6cgU*XA1N
zJe(=}sEqS2XY%@v{H=>i%r9iTD!v`@^~GI9@7GhW)M_e+w3dFip5A}WF7av2oLaef
z<ugAs{?x5`y>z}n%>NZ~vEu3LZ&rh*ca7`nw`B!*gHNMc=OqE!dF^oEt=#i#b+KZ5
zt-tth330x&_^_o;Vf_=Gy^nX?`W*MZZr#ew&;D)YTE4vMRl4-wkl@YdU#~4TEm~WW
z&8b>=x@`W+Z5J=aC;MFs|2w&CT~6J!3!8tvOgd*DdiJmBW0(5a#T^3f_s?&C>1lUR
zv2V$g?B%giD<7}9RbRCI-}bddv9C`Et?YMMUA$FHJib=#_0q^!w|v*FudAQ7E+?bf
zGR8jVZ|MGWr5~LStdh?vjcn>(U#0eVReI50f2HN;!~Tc)f1Mu_U%K?%uK1j<Ie)c(
zdRgcMCVagT^X}K#$YMKF@BE7=7B08U61Doi=HL3P>Upaik6PP4{9Lrx|J&i*KX0p6
z&O7<n`{$RGOPi0)f3H6I$ExQiB1*qqKUA;M?RGl!+`G`-X(zo7Uy}Lid*RRL8!pAa
zQue2Qe<dez>hTG!tSvk1uAc{=X<~IfHa_(BwMko3roXzSDSvfl@^bZa$7Y31Iv1aP
zMd#f9RbKvQBRunFKKS3q`9V%yf6MgOA@7@aDSpqN_BlQ#O{4ti%RGUJk8c<M&XS9_
zRsZ^`zSi+?@%%G)mxWEK&NQ0yAy8`71~)(d=dcADQJ=EkviI6cp8tuQb&tJ2AI6*Y
z5`3mpD7Xbv$Z_TTfp>MguFm<r_IJ+y-e-UA%02y)zxjLQoyhcX-mh`@@4wvkZ&vmq
z^}mn=@=Wk)l&k%_debk(cO%7%lg|5R|6IAuF7$%G_^i9GVe+!y|Gj$?Sr$4eS={pc
zD|N%aJ<I3kPrY$%|ErnNRZl-#oGTW(|I?!S*{-+0cIAepz4;o#l>RgS_ra&7-&XC}
zo-yb4y6=@WcMVO}Z}$I^QyI3^&$9}&!077cui<}h|0|zmnkIYSZ1u5v%j-q0t91R>
zo_Kllmg%y-SedUU3*T2p?>~Do<J-xvvu8d3n7udpwCK()S=(o?yt~%v#~zul!q?|K
zpVoQ#{i8EqcXLGl4tuEbZ=zp8)wZ(bmyfReSA5<|{Isyp16#isqpGV<Zr?U}b^XTE
zr0xrRCuNmuKmBi*c6)2}yM>X5jQ3s5s6T%E^N&}SE6vL*YMI0YA6?jfZ0jOjc~yaf
z$_e)#XFd5+Vt3B2f4!hujmf7P&?=cJZJWb+!OQMYmsWuq^T!nf>Sq;vzr6O@o&4YT
zJ8vCZ^DnP|)jW5dTCwtLH$y%5Ucc^d2im#d;{OXgf1iG)K6mM=8oPI<XCALu-fg+@
zdHSk9A(ORVr}-MK>hJqK133ydeyFkh@_DV$?O)-x#oir1yXUt&zqsnT%D&Hq-_8`>
z{#tr_&6yjocdjj)`}9%%?}JAR%dQ$oW`iQauKU>hKQ@d03EM``3tgKQ()tp#awqKk
zwfL{~`M>XHUYk)`b9;@{^O)13tG3x}Ra%~&eSL;iS>YA+<9nay{xwryd{g~;e%8F>
z>%ZpdhCjKqs+7O5Y&+M(|3xk53cB;--@PoJ7p*qS_3Lhn;=g)_uI&r8=&WBNJZIk8
zyDv)$SN*@U`P|V@Ei4uN!qa<pXO*O%mbI{6a!Y-;``MuS$1*PuNZofWp6A#9x%`_{
z`XTqLyG{ttS1vZ**B$UW$o6w#@8!>hRde=gy#%coDxZ=S8`?R0^*p`zk!5F(N-zmj
z$S_s)K0j|UdA{SbU%%&;$sMm;^{=z&u5ogn%tC`6y}DoD^A{_fIDNiz)xn#l*N>#X
zUT>OJIyol%%IhSnx%E-+%WPH#Ca-FnA>A(IecoW*weY`R?@#@5@za{*rL#(HK8D*)
z{s%fCdd2>}*f_|D%dU@R&z97iTn7bx*>&bsYs*Sk6&Z$Z?tc6%?(O<pC2zjuyp<|8
zy7psx?0dn7PgiJ*E`PV}f5u+D^}lx93zio@ezSC4-}(>xm6m1I&-)PgU;EhY*MX)l
z?j(r1zxDsh-yZ)a^y|eLQfJTJy|w-0>TUl%&-?ZI#!DYt(`PQvQ|xaZ3qN~%<LRxv
z!GC3K)7J~maaH!I*k!RdcJqtnYwE6vrmNRJ6?t`Mg$CbVr`5L#DsH{rd+ER@@R>E2
z?|nFZz3z>~$I}Nk>K<9RUo@uv?d08_cN4SbD946B-kovo^2@@1=i(mw{8$ksUI|{L
zS}vFsyDHsoU161-U;pNCRdCwx3tGEctFZX$<)^l%*X;z=Fa6FA>pyDWd;G=vZ6V((
zdpolu+iQL98rT0?@Uh-5^UBVb>;IdX=>$%xvf@2wH*>X})x0BDq`nr{U#WSw^Q%>x
z-|}m_W&N|R%vg2sYjd~d#@G9`PwvSJn^(FfWOJYTKfTA1-#}|bHeOzAXLaw_>lpKU
z$L4(Le>Uq#x!t*URSsKU+HJV{_|ccDS654>?SFNBWB2~8*=J5hJicGHSADgY&gSet
zA3F1&e_JcJ_WILM`RmoM9zU|!eeUYVdeML3M?%gD+r6qkT2cLX72Dj`zk>g&+n6qU
z=biWN+P>cPzl!tz|8)Ob`le*p4B@$xUzbbAo8}+ayKd(9wfxJRy>10!y#^0oKKfF2
zcG2z<``2BYC+{obD%HFGTXePanR15*vHOny{PObhbp7}*-+90MKfmbPp6u(@j&B+Z
zL(a#1tY5o-HYmG#&G)@pzdUkr?pN#of3l0d8n=CZ|N5-fls(rbee00Pd%5!BudlvL
zmf1r8&Hhf^ygBD_{@?SfuCL8MwtiKK>zB_TBCBHlL|oo+^!oCB=iXgowPsQHu#2TA
z{G|Vz$>-m0U%9qAJmL{sVf2=tbC({wZoBGT!mIV=d+%)yt6yHe_m_0TEZ46r|9^y?
zzxEM!sQ%~YFE$*R_<j1kT-5;G@b8DGE&qIdRd)E9pX!Y}_g{Ye?tS$CwQ}2=Zt;Ju
z>^`?@>-T?F+xynPo1gnf_y3F4)6Xa0e(n8y*WdKj&$H^cH?6DRR+aVV-lIp~uU8)n
z`Io0&@^Sn1_b&dcX4S{UUwyvj-^wl7>;6^E|E*oW+<vj<-Wbij*OGb<`A!Yz)!TP&
zSJIxh@>dts#ME2WhrbUyfA!zW|0k-h?z}bsR6w=cckR@tudec4InRIl$F8`~8?UXn
z`CM?$a<_H1%dTpwim$!3-6p%`UeMRquf7+rw|M=k^gH*}1zTQ6tw`^?dVg*GIk0(q
z*3G&czxvpxCoK1#R?q2|x3By0LGjzVJNJ@zU-)0&d+RY*?`ik-3+4!g2gqFA99Jk@
zZ+`md{clU&8SlLQ_50S%ug-2)FEzh+?0nT`F4gs0m)zZ3{`z{k^nbIzpF?jSyZ>u`
z==$jUJ@KJm|Juagmx|o2w8`c4)2Xw)?$qzSee=0?t2&E9fj?8_+v8Jz7rmHTH*M0c
z!&kna`yBIm?%HELM#;setz-Wed!?PU-S&OW)vv#ouL`m?)ZTY>bE(b8{l4c*zpi@r
z>*w0^XwHz+SO0E!`tr~3bu&KuGZoh_KVDmR<5&LI9imsV*Zy~j&3^wk+ih#iUHjWV
zqW`(C)1O=a`rCZaeFdd&i|%|s9OmD9KRV{mzpC>yPThaoqWACHuemQ~ekid^|LVW=
z?)vwF^-te_$zOk8cmAsXF{iiHo9zBn`1j=>+4CSH;8z}ety{vQKEFO@??Uyys;l{r
z!~Y6*f8yk|uU0eYd{ARj^ww~#-l_ilSef+upXy5r=j?rT{c8E<b(?orWj_z$_1eA8
z_5J%WP|EqgW)UJ@K331!!S(2Z`v1(6>%Z>wjdOqX*yii5*}r#3hMwG}zWvnPNx6Hc
zuD!M?^y#0e8%{?&Uo~mpJ*oZQ*H7I3x-|Mv)Z?<fTP|5`KUThFYn-`v?XRlPshieL
zTwVW6>ZWTz_0=|3CV>hwrd@|+ZpxeVy-Twy`v|%uU}vA{rrY+VcT1-Q7tP-9W;gxJ
zwz%afi@dVSA1i-+9kZS5>gM?P=kL=(>z5z-c>kBRs@}hA`>!uv9hrUq*{i>%;j+8m
zNN(<rd46rx>VCJfk9XH>esn!_-NdO^WBhy9eBGsUyZ%RXuKS~GJ@c}UcYj%VrGMOs
zxJBWNZuInxS*w4oUX{CL-|E$D;`c*q*X?~(=wp&U_iFgUf5qqLrNplM{p0(uYOhma
zGglPJUXS^!^Yy)LXlK^FKGW{B`^Q%PliIoJDtP`?HQqR^b?;GEyG7g1TUb`lUIo5{
zq5k>2Q}@qaI`REuxtH3OkCj@W15f<^#cr*bEbSgs`_anu{)%Owsq^c*ep#HKv-NBF
z=2b$WrjqlQrbOqbuHKpxYWaUx)~iU<9a<&Rj$QdE_;>QuAo=C)rZErg*Kgmn_EwhY
zRrS>?=B-jWZgu_VYX9Cf>84G$rfPvk-7GohY^}G?n6qp7)w#Zz*LUVEpH-dq=hc1f
zm7C`XE#LqB{;QS$(vPm6_<GgXol_iS<vZh_Td5)fd`Vef_sTU{f9kFk{*U`_yESv2
zRoPUv`MOJ^zUG2MTAlrDkg~S+*FC*wrlq{!e|6i{^&i!f#rLmYbgpQ1fGzkUhWe>f
z{V2SN;p(;OZ&S8()vbv%skYB93R4c>TJ_B%u6Oa1>|>p2UkfMpuekbSdvAVlX!_UC
z760!9|J)rZ_0#U3-^tuRGljqQae~kCx3B;A>+5UlI8(1?=-l-KNsbS4&n3fVO2Lk_
z>js@WCl=0ob~@;~22LAh(2;hBwSuQJT5`$qFfip$WO!eA@6oD-;2Rs{IMWplRL@C|
zNX<ez&rVn9f$h2I7*i9Z^Xzy)=JKre=>?n1wZ|279$)wBwlv6jeDfMXC;TN&T`35<
z)IpAGy9elmzrw2*Aam+Y2aE+OK0r<||MQT){>S<MzuwpX+y4K@-Rbs!-^JJe++Y9e
z)AIU1)9e55-v7T{zV64v-|zST|MT<n_4V=d6MwFNm@8QB^Wfn9$A4bk1|3r<yIp?i
zbkH3Ud<qvJ#viVpllIYKdgC2VIqn0y)ecn8Dc`$CgdIGu&vif=Bw)U$!ehGQBTiW!
zhX=934{Xovj*IJpgeSMd1747bbezo+B(JXno#z&-uYVM57mvb+Hjn_XzT72PpkD_C
z&bsN-AAv8F;Ho$b;<t(Ozk~)>HYl*JpY|>U^Bwmjg3nA0zyI$SfBlcc_5ZHd|Np%I
z@A3Eh{=6*z|LgSszn7=m|9!mw&+q$x|JwigaG3vo{r|tvRSj+7tPo=b93K4tTQC2|
z_T2XR)73J!M8F|0qz*rI^3narHksK$X45yCbIA(6<OH4Cx&Pnm{m*RAT{hQb0J&9`
z%ipWvyM_O*4^w!-fmDCsurMg1?$`Z(d$7L$Gw8;M{`x=3EI)4w9<wN&|22?z*7ck3
z7kBCOHLN>*{+8OltD+@>=eCC1e!pIj=XzdjZT!KiZDp}h_b%_+z3RSK@Aa4E6SKo*
z5}$68>HL{<ee1Q~WtCx1`>!#t`ta|T$?xbp?eg*awf6k~^(=IaRLS!CT3y>++rK<s
z^~db2)N;2M=f81Tax)_CmSE(V;{i?q&&>CC%CG$QdH=uP^Z&oKulxSgfB*06@&De>
z-}mRG{Qsx-|G#_x{~;(L{rmmi9&#zd5)u3Un(ueZ1)rz8OFX{PsWLlYmE&itYT>Tn
za)kx2KW*ODS)X6Z`d&dTC<Nr6`Cj+4r`55(zIm%Ov(o?dyH$1Crg6*fyRM5ZY?*qx
zNab1e-a7Tty|ME`e=h#optWbe+1Y<$-ya^ozMkv-{(Y6DtJ&^m#(SSnIbV1x|MD7^
ztd@UoVsz($rg}k#B04ZI2{asVWP1O@*6-iH8~yhGB>u0ce?B{ZU+4Otmv5flUZ_=P
z#<^YhaF5M=>Gg}0zQ+G8Iij%dY|puUS3hU`i?(zB;$P%j6XN{u$gJ8)tEc@f-cxLH
zx+dmphWOXQZCk%z%(MQ@A(a<gcWq4_>+8t7>r1ZBTK_xp)cWqpq1mOS?R)foPdst+
zeE6NnpsDx7W7K65w_ZJ8|JC~CwBs+Izpc9Z_xZ(dl6#f<va3_<qH{l=yK>&x_OQ0e
z7pwEJ_wA-z|F*ckKKR9(^w|A>wKAr?SUS7Dswgx8bW|c@(M=l*Xvy5KV)s9Dgxc-u
zSMM)1dpK?4^J3-9KM!K&@3H*ta#;Cy&QF<@sgtrFEtdLZ=~n;Eb6wQGJ5^Axd^w+J
z@@ZSy-0EvT1Wo3Ip3W`&CAubk^ZkG6+kgF+zghjcbieO&+w|0{k@MrS`{R?p72Anl
zooba`&!MLOox8VQZ1vi@b@xw}ezf?zCwBd=|2DTwSA-ua%<VsuzB>2b%+I#pxOn%T
zE55${{L^!G=f1ucskizac|CtW*DTfg-3kAMCj|G&G9gFUjz*+2ly)r7nmj-3(DSDq
z^RphiOQcFKf0XECm$*9ps`2rc|83qEZmZGS*y&oo?#=wSca|+*7iD+<!t?Euug<?>
z^l@d?ugGG%+BuKY^B>pSykG44B7B4W?7j8h<L1x#veo{U)w8H0^Mu>iornzmQuu4L
za9H%;nT2)xXJ=I0w>y6Q1;_l`*It*Je*e0w?``_d&HX2zzxw^PrZ)fa;|%{d&)2<I
zNq%pfe)agy=QkhEQeQp6Zv9uuAM<QZvLa=r#&%Wk^g86Q<#*}5|DMbKt&d!0xAJu9
z8II5QJ&Psh{!QGSs*!U#UE*7M-Y?<QH6bd0XC6Mief!Ims~7u6JzM=>>G6XFuU;~r
z`}w7?Z~ori{~!1Ci!F>l_%G*M+?q@txwY#aSN*!xf85^OX`O3EpL4j%zTVyy`_|u2
zd;j=Ly86y-zl<OME#Kp*+yAn-rnm1(Y5nc0z3ZOsi@Uz@@0$PX_geRFe601`#x6y1
zkFmnp43#Alj{JOlRl$(cTV=*ZCZQDN_X@sFaW8!%gc!RNBn2lZ3QV$aP)G?B_%JDz
zZL&d8QgZU-yEi)DUf<n2J#V-8?YDXB@0RHo-uBBm?l<K|+t07HlV+*c{*np5`|kF;
zU4M0B>tm<;&$aqG=lsg*-(j}fUmcs)=Q}^@|K4-<`>y^xvgPxX{x?6K-Avl$SGT&v
zdhyPZABN8*Syv1H?z@xmZF;U^0|OI>0+=w!V|``RU;Ov$_4)_Q@*Q*iH$Q$_(s%5d
z?{<OH!mYo9-f(D#<>~%dtabH_TK%&N`P%h=H!R!wvi|hpwLg|d8qDI%UgZ)WeExm#
zmi=O#`~5q%E&YFN(JDQ;t!7UmZ$?zs&0q9)>#xdf*~x)dmS@=PTVB_#{Pg|p@42`3
z<X%krc7Eg5L%%l8s*C=4oh$p8&0jg`G`X!`6~CKzU&}vw{Qc>}Z+|VVTl=a?D*E*H
zoaisA+ots&>7RA>_^<kR*=@PYqV=Ng=da%N(`N69%bV7G`8V^qe#j2-r<wL)>SFtk
z2EYFP`9{XC!Y|bm^|zOP-tr*(*UyO4VRCt=uk+hp{WM{HYP@ldvDp5#Q}^#nTK(w#
z`hLs5-?wDgB(MD!@p<FKul2H758ofZe$V`m+|%#RU)9uPZ&UBT@=qpvXU6aPYwq`F
zz291&+ZI-rS^B&9hSRPi$7deDe0)y&e@Q?6Rkxil{Y}+`1u`h4pNL4bSIX4ah{zrP
zxp-lO-0`RlkKftc5Biq-%Q$~yk+ijSSkPa`$@?ew%Rl||_3*4~%k=rTKbrn)!l7BN
zwO!w?D{cJTW#(qawQ<F&ZgsPItBs%j*t!1B{`xuRdVg}={6!ys%=@L=H)VhR{q32b
zAO16&^W*Th<mgV<srGXAO1HY$t|*;1-dCq>CloJd^<!zB?)~g|^_+v(zkIIKy}xPd
zZ=vYZ*T3)e`+oO2&uyRWF<bWC4=eq=F+AhqwNL+BCmmR@cg2fsHGd=iT-{s$?E81q
z`on)!wq2Qi{F~3~*fnW6y7BvaeixTMe(G-j_q)kjslEphtL?AV<kWwL2jZc>cidK4
z$={E9Gd1<C_+9xV-P>WG-seBew%nGN@l;t~s(we_yh#!3KOcby;ioUNtf0vh6oLu`
zL5+noj(g5-ardv^_*iXqru+S>uqby`s{@?3`(;IsojSZ&#X6}scXdXs{Lb^CKPzhb
zySC*s)oJhBdSQ9S?|n~gD(5Wv7*V@E@wsi%Q`g7(QTG4K{?6pO9sTKtNbm9Aw@<8#
z+gtVMNaxGFCNbWsx3+veXJ1`e?{=t4<ej(cWB%LQr{zX(TpRJ{+VT1l|H~hLgvYG8
ze$D;p%9Edt*75gvw%z{vKKAG1>uy^u_dj1!d#K{m8~%;^e$R`VyCMGYNAu{TYtm|Y
zuAYs~nc7%Yy(CBf)2FLjW!8yW@ziVoe9Z4|nI>^;rri37(}~vm_HUcEbxvM=&Aao4
zR}1!UniQb9cGi7+nd2p=#rpH_->a`rdOzoI=KZL1pXUWw%i9P2i@pB-cHQ~)>-O8#
zy<Wf9`#4KYNap-kk51a}v-|Y0M(%>UNU7!d@9Y1FnR5MFUw<{^di;H-s(rh@)t;%G
z(zWl@p&6gwD?Z#c1yU%0L%YG@D$|ofwu?6nr}TAh@^shMk_qws&)dK4&&F-*>(?(U
zF_4(o+A+2LxVxCo8;&iYFz-Kg{PB4=vE2K=-fe#r{n^MYeoO8BO-J*eOZuFgcXipS
zpSeG`Uix?=D(<lS>2^p2i22{>`+DoUNx%P%KFMR>%<u2>yd^nlQTEfyy+0=Q9t}3B
zvv0b#Z|j@qhi#8k<<|OqH<9hHKl-!&?`8MY=<S~?y1f2>txkB6Kj~pv=%Q2GrvCZ(
z+hb4X{O@*&HkIGnBktGwul2jJ{^5_`Cm=yzx5Ve<>G11CJHlQV{8{^?-(KeFjo0Qq
z#<p=AryVY<slPct`F;Dg=SM;g|2^e(D7<!F;AX3rvmRP3d;R-I?b#dF&kJt(OIK;v
zyDpku`Qy9EHK%`nFZYMs*vI+9cK@z_zka;6HJE$-L*UZ;#;d!J|DKVUQ&aoo+q*0^
z!=Dj0FZYDztZD!M{lxY;>2_lEYxZAD3sjBP{;$z8@%eq{L#3LI42&!S4iKVo73+z|
zA-?I_ZO3D@E;9DzUz1P#x%f~-<r-h@?Zx$N|72$6tJ|DATVL{~zxZ#I>*J5L{cB&p
z{_$h4|C;^V@^W<V7g@|#pI7qxVOg!G-2VukpTD!CPu9o04|Nun-@jf`TmRML?Gmqd
zuNS_Z_x9A<)YsKH+W&gmUuAU7t-YjV`ZV4#b7R5Ex#q#jvrMl2TAy}hO*oh8<==-3
z9&MM4<f(V97GM4T_oQ`?r(b*b_37i2_V432n+1t2JjMQ3^u+zNh|9<HZ1+8ks`TnQ
zCjYK9(Z9QI`ccVkbKdFy-YjqZzw$tT^$MxJ=~urmes(`M>FLkE$%aol?Pa5@GUt6u
z-dK6~OIX|c$$9qmDlh;2vZ#$aHvM<u_P5VIc3$;7{`mLQKE?WNB}-1#s+h@VTgJ?K
z{yy+V-7b}FUn43drph1x5@k2(k7@4OTYp181se9ltGWgTre>BCk9n9hf8Dn^ZnW|7
zVo+e#KXW;L;@5iD*S9&(GqgXSoSgmhefqDhUB@2tCcpk=Wmi|vBK107Vt@SU?K0<{
zcdFm5lUS>Nvi`Arw_<&LuJ+5%$Lv;Z@n4g+X3vU#`PPX0wR3NjWryeK&JN1a{<mgI
zR+drye=o_tp8I(fWgfGGS=WnrE&Ja7@W}k*$B(~X+&lI6z9p}JEZtgN`?KQH`QO)b
ztlm%9e|E#N-q@;|!&^U15$UzR^ZF2v)5VXQEDle*{5Q4!Te3Ru-+FVIj{&AK`q8KR
zqvl=DulpatQ~AjM__VlL%l}5?EKGS@b7}7hdCy(@?dpF2PWs)W|NU{^?X!=CS5NLc
z{#{$vIp?Lv)ZZRCcGrq_n4G`Ac*EZk&z#pAKN)D*_r2U&qw+KRR@67X33b!Iy){M&
zKxHKZzRwmf7uS354>@i+D=FP$PyMeBx84^AwEq8$%f5N*O4qDEwOxlQYJUIQap~ID
z=O5nq?wEG<<L$56KR=b&#2x#tT6W~Qa^RL<`8S**g6>9DKH6xt@!R2|_(}KouSnl9
zbw;|?zdw`ex*zU1GVR!@zh!IRZ~T$0du837sBLy_(VXXlZ)Tr*bpC(+F23k*Y8#iP
zJ&o_&xb=|7nr9y#`~SWXmh|!XspP#L?=!&xx@z|M%a<4FwkM0<7Vg?6bM3r*{lDw^
z|2}T2sNs2YzOJY1-(HUEy?gJsefnqm!u`mp!?i|#>oVT*tN$}#yTAKOP`t6({Co3r
z*WL&_^yyX2p|Yfl&(^<;?pQ0TUH|>{vyYO0KlZxDZMpOP%CltM7VqwT`&(~wc_&5p
zPi+re8o&Rc*k#?8uZL~-l+{l?v^Ka2kq{49h=UsgdnDy*e=IF4Q(7bZ&iLiySvNk0
zueoz;yIH9F<hvhr#QL=|CeHnOX{S`J?w(DTcF((_Z~8)+|N17Yy5044y7BY+j^`i!
zuKKOERKC-miTCzL)vIf#s>`hw&bHV2uKM$DcU4<-XXUcT-`if!!WEz!zq8bfg_N2^
z{&{#aP4`q>|2^HXd2+0qKdpDse|eindE>0Z{r9&CefB*5UipjE#<-T!8g5X~)>o{W
z{k^bl?}~M23*IDEJC(luz4g=a`TxJpuHU00B+vYNv;5pe_4<cOlizP&xaWTL-;RjN
z9saBOmfiThaI5{CA6Ivn$=;T~<h|E9$8N8Ef1m%qxF_ph{+5o`4tsa~>|^6!kEOf!
zWbAyOS+(ZyQrG+U59PM1UOgIrH>&RSMzI>%+4cPQ8MD5JYu>R^MQS1R6gTcV^SI`1
zcKq)X?skvP@BX#8=gY;ecq!|Af!pax?&kZ>evuT)z9}yl{bb{`wRLO$ZjhC)%+ZZs
zzN_Mp*cz2<-4QCTkNvOnFYY>;Y<hUbn!g`%A|ftFbsQC*wp_XM=;S!<9<4ihYo3<W
zS5{^2h+Qpjcl=TR)_~nb**D{6KMXrG=@m=T+a=MPmztFcUGCBUSe<;ad{2Z;;?Ai@
zYA$_jUmIEbf6hALXsO%t4}ZEb?^*H*d--koua7<YqWilvG=8#taJ+H-?7Fo!Z+~0W
zz2;IY+;%7b=(FTi8_SYzZ@reI`TO$$yN~boDwTBCpKMQl;(aMQbFp(@U4-1U8(~RL
z5BJ+&E4ui$s<+@@$j>8Hg1e4pMOCh;t6IBd?b__~hVu({Z=AKy)P8=S;x>~oxx83Y
z)1{w#4)?2<e8_z^KYWE{eCNKiudbcC+_XNq_RITAmHVDQi%yV3)JTjhZJGhoE9czK
z-@mth=~C6QHG<an3_bU6$&gbo>v?>8OYy>o+iG^owy$!TEUS7nO7B+R{ph5?pH^n^
zCi6D1YIlBB67$><d%tK$*sgu?=Cb{|y<6qy>GEesac`_R^l3&<zvUgTs<j*HcHE8d
zzx?#&(uZZW`hRM4{zY(a)!shsYtiMNv%jy`MFh=tSW`c@BzxPHW9Q}@Zxq^ZE>?TI
z`>61=XwNh1vh_D+UHyLkrPaoz8~<AB^uNutYy0y#@%Oeo9l!gV;>#cW{X4h3BL4XK
z=b4wUpTE3s{p0T|7TxYzdF)na?)698m%cgwFivpS(I<cB37lJgy{k706u8@xV1e7F
zw(kijaO(+$?%lZHZ}%Sk-}GDJPtBUt)xyzIRzJ)>pFe)9f9mqZUhAJOJ{5fV*Ngj0
zLzN2d^L<82!wLbxphWC5&*tZWM&^ft?R~)}N6(eb+H5bzeSXCgN$&lzTNmio{}PgA
z)NJrlxag4;dtd(ft-!UeOW*QUx`dg`+cGJCt(Cle(7z5N+f5r+9I8mN+xV@Pd#l8K
z1G(bOa+&d$>JM)gP7F~Nt>1CiX79Q8@~;Ee*u2U7^;L9RvhEGbw>N_JFOU3PR_++T
zt}JK6l_~oE*ZGfMufDa*tjz4)zI}J+-&d;VmtEDZt|st#WnTS;xF7d^epk}=KW@M2
zcX7^tp3~0h_qpwr9`3qlR&#dQ>)+wE5tqF_ZLy#8<M7*G*L0lXAANsvqhh1|^6&E(
z&3h>EQ|Nxwo4-f?|BJQA+Q(|Y&-Fh4;c2yVwpQ1Fh~|7=``+#N@uUy8O|Q=Ik1*c*
z|Ht+4AM+m9-#7fU=kSlU;oqya|9d8XKcZ!0(fgGgn>|-m74xxn9ed3B=byZ^ezyJp
z;)~z@{<sxC|I6#^r?aDftv@>L8_)Kn`Rt#*ch5o&b^|4*(mBUD`>o$Joa=k`=ErII
zqcfJ<AG=uCyKIAB)V=)h=n(FGNBTBjns{Z`KKpvVEsJk`*?D}?$1Asv_fN4e^Xt#i
z(YkLfy?%!On%etLy2s3Wjz8KWm&tw^Z(wWNZoBe6^V+_-x*wmGr74T~uc@=xckl9d
z*Uwz%uYZ4^{IF~_)?lv363(|@w3pU+&imFby#M~Rv%j$h^sL_S7w_x;>&ckjZ<4=%
z<9GC$x*MDNH<!KVuhV|Gr@ySEMu%;GY;f<-7SqeW`{nO{usyy%IilWKIR4T0ysx#L
z_vMp5MrZ##UT-dzxaLmvDnGNE@vj0FWY}E&dR=<i^X_f$kB2{dmG<lF>!-DPZUIsk
zw)j{1T>hJc(iQIMaFBgoc;>kL<{KB++5Ub!U2vkzm5$u&`AaiYwyuuf@-)hW@4mX&
zRC9R~jn4nSDw6D8+Ny60)0qeA7w_}ke`UIO{nw9gpHwdWvAC}Oo7!3tX{Ot|j=op^
zXxlaQc$HMQO1<^QwZEq&ul@O{<nM-MSNZ2(wp-|2`tf%~4fo4$-S7D8v=jaJM(l`<
zx9{1IQEQz)ZSFhkmpw|`L$_qgdrE9}eKh}Y-0?^J)f3lAUh_XL>^5oL`)a{+(b;x~
z{=EG?YhUYzdiT1O@u%J2onBiP@#t~CuI~GPZ>q&-Z;v}(v!`?W*R@Aq{rL2y;%L;i
zwLi+%r2Vj&^Q|`iQ047k8NZHHz5V^-anH||uZL&t>x+MN`tP<wmG6bSYnB`Xhw1+L
ztNZ?C3;qh<l61Mgc7ILw!+B!gRKx5|zI>eXrN3J%;>^$6-%aatU++`tv3Vw-&41kd
z&En}PDCKmPR>1elIX4Wa$ZB6bcWvA2?Lj7!Ze7*CwMjE{dzjCSDCs_b9j*ImIj<9U
z_N!kDwr1<!Dj%Kw<LlvRwX^G1>g&IHe0$@(Wxrqd|9Ts}pz<2m)7m*=`}>c4*9dzT
z{lW0aqx1Lc{c>LKdm53w&nDJ>jpR3_yG`L=*M^GMuW7w-bNhOZ(o-k)ot>Rt{~_A*
zyZN1U>)$7LST1?Jnsx4suDQFpPrua()A<)+voY?;`uXc3xBPwe==-6%dr_YSpXJ}b
z{zbRN_LKMDD6@T_0S2!_Cu+I3g{Z3DonQMt>GLv?&mY?s_H3<}T>bd;<;SAgme=-O
z{eJ#%roGzZ?RK;5>UM9m`!!>4@vgcE<7dynVViyVI{$W1HMDPT#NQ42`<CVFhOM)@
z`FrPiixp4bh_03VyM0$hj_&@i25I*<^{fBM7MdpV_xB@ZL;3imjg{MHIIppJvp)aq
z_bHX|z8ND+y?_L3<F50MdzutyJ0!$#-iTzXpDtvbfBxd%9k+Nlotsu$f1z&n-0$4y
zSGB7CyOYp%z~?T<l-l}rvl|yEbA%`+ynp_WFJangj`s~wu8%|47+w3fug7%0mPaHj
zqQY(bsN*1)Zqsj9>%M@Cv0m=Ly8Rn|uPUtD&2^^UDq`uI-_AeYrdq!juMVr<>Ltq~
z6Dtw4;LY#P6Xq@wXe?BE@Oi_(zV&vSjc2`onEdwr>4?vg>bq6%x<I;@AX^fau$*|@
zGezaCf`K2)8yofOnmv;r+GU#Gl=t&;X%*t!U_U)$1BYm%B5Q>x|H(<Bk0u8iG(%dk
z{-B{Phn*}Z9#6^M(;?OvtS9ihZsj?ijEkE5{S0oA4Sy4-9K0Fh%X(ve_9^ej96e18
z>mQjI*=5R4Q-X{xfXp#SV?FV>=jK91gXxLuxTLuxo-;iuJob~%;rn#QwOo=s0uBjh
zxF#Hz-0bX}Fn!?@E-4EIgLACMD&*1+{d`_tR<`fswa%xxzs0wF(a(_mWw?K7eVp_4
zEs~p;`OGxRytL%xWOaFqf`mE!I(MfBZsd^?VrbmN-Sg4rT>Cl8ejC4=-whvu#rYW;
zU$Gpkkb9o<$>M6ScJ}ndi9FH*4nILQJ$HUyWb5~{+^A~$$2DA%!VL^ep`0KyET8*5
z*q0T`tD_B7{t~SG&gT=4r_{+WW(K=gNFiYE0g3aE=ak?38Pgwp_rxZ#>4rzRr1_@A
zCaig0s5ara=5IZ>KVY?-3IR(QD(7fDjF^64B99E0z>19wm2;$+FWZ2%@GAr?1sUZ7
zvXxI~HP}{8hnK7%`#4@s5B$m{$-}_Jab+b#<s2*7h+We^UgQ#<zTpcOC+AXeh5q1Q
zic27l;#LS)&h(`4RY}52h-)~f#5LIXy=<SrH$CtRk0g&mgTq{|3CCAnZd@7-b{dyL
zKo#RBi>2~TR^U+JX<%R~)pC$q?#DhYZ`2`cxFm;Lh}479NT<!YgU#&mwO>PR#pm*c
zE<4=L|N4II?{9DK?%uw8_wMc6zyJ97IDb!RQsnJ_KXw0dzqxp8ze2^Cyqo2vmlt*x
zo6jx%*1{=#?){rLSE5ee{>HyXC}f+Esm1z**|&NkgO~ZtG|9a5<m6<28H<4B%5K|X
zBVVARY5LqFTzv8l341t}e6~3CKtsIvh_Ac$WYHUY>g(1TO*}5CU(Nq_`o||+GR9F{
zASEYWOp=Ke+?;&8FE{U2+|06fcXno9Uw3zR`Rk(D`}WzzmM_jOm~v9FKlrrZ;#_cP
z<1C@i^wOqp-R?l4=WWt?KmI(ouRp0ey=I$H?K-2_vYV;bV~WpC-}hx{bpGD2>vq4Z
z`f|~Ix&Qoo_wTPiU3}tk&-A_Rb<-zK=8>_`Wi5JEsJH*mr~djskHupO4z`NN{kYg)
z_hnJH-mfdm?Up_{7aAU0dRlk;owD1x{WhOCD(6J;iR4ayc!@{SPNCtz4q=byg`0k_
zGBq)&c`SYZ0;|RKxazmz`#w#5U-R7B{?9{x`KlKSkIPlR`T2Z){EmXe@Nn_(q0;5m
z{Ib(O{Ns{xW@rS50z1E4h?e_yugm%m?o>XXYkt4xbFcZmA7}IHg3W_=f4^5<%6RUw
zzy02%qg}_2x&7_wTlMmI;g8xmQGDVM$Ji(|9Iz1bcwRVVZlKol4-XGl-P@dg{#dW{
z`+dLPf%a^J)&ZQEX{_74_;f*tZ|RhSfu_EH?9N%-YJ8yuE~cEW_$Zuy{Gx02zJ2?q
z$Jc@SFzfex>Pjup(O)dns}`HLn2X>3&xdAyyA|4n^D3W7#<p#){G7HsVR?}vU*()x
zy~4cUU@=l?IPgRG#3zegchUmn+*it+es*K?T?60JvUhhZ)6dP>S^PXJu2XLQ!Hs+P
zuRreD|F=U9tWR5^;lK&*l*&18s$_Oc94|7THhp9I>FY06$;58hyuv6`?YFN?{A8PR
zC;EkTL9r)Yf8dAkhsrts{{5@{{Vi2e#``!=m0i)34k4>kUo$TC{Ig!s^e_8+;^m;T
zD;)ne^i6WvyLa#Le);;xYlTnW`gT75Wqd;awSTM!lgm!;TRof4ch2sYYc{L<%qXZ!
zPhWm5>fW~cgsBTQO<i%Yk~j8p+L>8Ksi&5BPFC}uw?^jj4{4t&#vX9dt;E1os%oIo
zzq$T@-RZ|IHzl<LAGuwAJ@w?X!?T_gzRD6`XbdijWfcm#SZd_luW!)kOs<qUeKh2I
zPI<!PsyV?XOLD}fADqY|E&9sk!1KbA)h54Z&VF+*<4NJGlo>DCz_BAUB|zcK<0X?V
z%GUapJ>T-?(rm@_kly>pH6Qvpo&cLKreL7PvdPBJ-@iY$fAT)IcAIlEB+QzoKb*`X
zrNq!!sPN#k#jcgJCRsSgMNSr#Tj}#Hezw2OYN_jwdz$BV=z)S%hQpWT#N#V1Q{BL|
z`1F7$Tr9$g+&^sk^p1JP!~`EzT6bLX+m8!ie@{2K!owmS&p7|MWyy<xvj1BIX9gy9
z{9e_2zqWfGI7TxS8V-B_IjOw7yuN<_B|T;9m1p->e_!?S-o1N|kN5BYc&#%v_xJPd
zU-UP)Xa8?{V7NQ={#D<0wR3k%uH6(?^Rd{!d2?{KZvJii4PF5^y{<gi)3z?tIL&va
zQR<~7o|D!6?Ft?o_>d4G4Gukd0gI_j^}lc5*Xh4}{rYknZ{1H8r?^($ym<cc3hP%=
z!r*YMR|p7dG{0Bjyxq>a;=_a0>-YUSrM>>ePO-^Ra!+l}%`LyTGyVKLt-1@#Uud~&
zPk!gF?pzuy&e;3rs?U}-P|F9=25MknS{~-W{@d!w^~U{t|KHj$oQHKw4`gt?DE3&Z
zUVH21%a@X8f3Lb*_xr81dEOn{`b)v#2AcLuH+_A5eSO^Cs&jKJ&)a-HvnBKLyo&TH
zBcr{WYaZP95bY9#P9}hgRB*d5VG7Hi!e0w2WuLuHh;RR6_2K%%{eDa@LKuXZpteqM
zcbGZxq5rPAvuc+vS+;V{#q*E<yl}VA%FMiJdg=1Ha{sKj{dem(*Z%%CRXbcSYRik8
z>GNw}tz7=4GXItJ<pt;KZr0zAwEK`Bc7g|HB;2!egc$4R*k#0he1T*+%l(f_z-|K(
z5>X1ZYdha*nPqSlJFi;c6A=5Xu*B9cJNxy80_7+zho@!ps^3}G)-TG=&c3`y&pN2=
z&C}`e*NoxLhubwJ%Ax(|?QOZYw`5M{`&0U3J@fyE^{c0eL2H?WIUFyVU6L-Pt1J~V
zd3$$vd3|cozGHR2-KO7rVP06`fBoO7C5L9k^(;Q-{=aID)ZK91GjlUJz6icMKh@Ki
zseby}x|HXpYDhf-h`Aa&8~!fa;Af&ab@A#Vlbhle!s;mzEwC6*Vd~7^tT8*GQs(p(
zo>LD}I@x|tJy3P_@s{n|)jL*2PkDH|NAdN$tX;9|-%Z#4cItVsYT><ek7exs+?vqu
z+&;y<`nO>UE0>@HLp?k~L4oFwaD`=4^Ou}w4-Pti+Z#UD%(CFYRNLxZ%fr>?vRp7v
zn+b870|TS*1|6Sy>8DTpc+Nc4Q&PtJ(ThbAu?>rP`f3G_=}D}7Y;#Vw{LVs~J|S&a
z^~v%@x~FgbV41LL<vzPZFVl8<J<a&{;^N||Dtwjoa~29mEdIthhgT6E;E<`q3GoWv
z_iyy%r7RNGJoVtkHMO#|rMq{#$3M8T<o?OC#f#ctGr9(TEH!azX8GTJHm~Wm{VlZn
z+Oc_4k0|y}R?Rq6)BEzI*W|P5Q-zIJt(?7fZ?WyUd&=%pj!Vv%VtP5`we+?6i+0e&
zb;a+%xj!%ZtG}Iy58AyVLlPP=ZjK7Og_iIC?@+(rZ_A4t_2=caC)Z`)@RRz`1B;9~
zAqV0!CO_r-lIWJn5gl^UW6$5)=BG4!w%ho*ySJ-mx7BP5SrDJ{QaUzfvFDFp>*J+n
zho4paY+)wwEvKIOpfS_|Q#>5%k9>XU`Mki&dUx5oJ6Er6jlO?q>+jV^ysE0IN>{Fn
zWj>qUAk=HR5Yq86SmN;1Yfkw0Z||=++nn?C4+><2y17kcLrSlZ$*(<$H`&kLFje@*
zsp74=B0#uOW`6g_$~ii3RgYO~Pfkl&VO3W@Rq?s0Nu=EJ_5S<&i<cC&r9beJ*}9-)
zLf)d&%uwUJ)E5Ms|N63o=iK&vKhM7Y_cT6l@7HU;-|w$K|IT*fr1do~z4>iE9C+Ms
zfA99?)uLOgUheWa04)R_u$D;n$^DwtCTC^8;P%Qw+jA3^FV}!}9UEI3>Qm)QRQo3J
znTM#IebJsjWmBNgLA9kqCc&PMCmgQ~mpk^naLJPQ*K+ReDm^>P6x0sU-F|0N@pHeO
zp%af=*4+4H!5&}f%5PfTzzz$>K!@dpQ~GZ1%l*CedR+BU(eOX(XXpKT>0h^Kby1S)
z|Ht$Hy<Bep@8jZrn@gAP)-M*_S|wTSdj{&>37i_8o6FaKvS7Y^Z|{>rA@vpTOc&Uw
z)4w_Q_BQSHdxFv>uC0q*o$WlO;lfh$X~#FFf3kS*^)TdLa^;*iUNU!E-p>F3bH4uG
zFF~q>?{+?)w{G3KRi7+s+vBT!wfR)qw9@l`{r>(DRHW7mI50FCalN^{J^p^{#jED`
zXPbCVfAZ&B{QuHlTQc|Vt=%|jcK)u+S65aRKRa`Arrg>US5M!_PI3e1R)$6&hwz7A
z_TE{)dl}yyi>Wq#U*3ptL-VMD>V&6-C5k6ir^kHi^sjmJI{yEzcU;Tj?`&ROw28a;
z#N#8MEXq{t`zBd<PuKf<Cf%<1qN{lA`|A6@pX%3VzTEKW`r|K}&C9eG#7XWrkp94H
z&YQ>b#?Vj-&|^IP_|2`WmA`Yh*M6TCE%*EH`}uXRH19f_h8exweSfZH@v}caKbOvH
zxAEI~Y*q%O_TXUs_U(P}H@Es<)xYB2y$zO2*Z*E0>OFT+k|Z?lTv%%4o^PK2_YJFf
z%!i};b%EPivvYIbzI}T&RPko0<>JZ5H*T4j7qIN)yXR@)%r7GsetWUJzPh?!-u~aQ
zX!U7Z-_E~(Y5xJawST#rj=z~!8*VN;%cA^pWV-(hgNHS>5tlGK5B1RA1E{om<1=I5
zNv}UsEsA#kc+{=G`^_d$bsWC`*VQeJ`M3EP#Lhl`VZCeW?}zeN&Of@*?oj*caU--0
zNEHdNa+{z2Me)hK>i2tJuiO3a%X0g@UoLsq*4A#EH2=>N_4=8{=})^ve{EQZlHlqU
z5}0aht>)B6*8keQySmiQ`SY%+w)^{qEgfAAVWGmx_OwuM&xb>=*X@3HOgewh?{~Z9
z>wYBG-ms|pvZBt`{j$cB!Y!S`>VA8EKAU}N-j?m#wWm&2Ej*Sc=dK>1vf6v*G~H;k
z!be9yZSMFVhs5{&d8%*!>&4>D>F4X$>Gdz}FZ=ax?OpzO`9ELw&b@bUdUe&W3P>T`
z;P8^=i+hZ`s8#vfUGMk(uKRU){<(Rkuix7EEpd@Q@a*i|-9=Bm=03mJRl}xnw?o(f
z;^bzQUAwElytuX3oqulfMgEt5^X+0+%G_mDty<Q`3Qa=|2X?d8$kjhDp8xyKal3CD
z*VlbregD_B?IoJ0Ky7+{iB;>oi`;bki{ISXcs;&;@6x49ckZmbzppmgvVSpmuE@N)
z@E5;cuiyXY(`oykC;eYl&B?F-eS4SoT)RnU=URuSCxk4#@YTZK?&p%cEsON;zq_}0
z`R2{p$NOS$Z-4*h#f?*t(ygA6<&?&T(${9S&WjiCb-w;MLhkud@%StAe?)XXEeu-|
zaq;TbXzi@8M&D-5fTUuF11z_0Z_m4V>E5+%OShJOKGr*Xd*1DBg_qUt?rXL=x7*+M
zqdl}Xx9Ds*|M<oC!Y{Y=PPu^QVLl$0zaH-L#dvqOm~N2pF0FKt`gO-IKGi*S_l376
zx0p`Ej)H|x9XEyaImrfp5B*#@M|<6lN0;aS`?7R;T-EEf+yA{ux1SyQb6aj{rOe+C
z8`tf5_v+Q9tJh>@t#94lesj59?FV>@d@7WY|NcU`@wP3wA1h`4uI-<iQYllr-dQ{A
zYth%~&>ZQIP(R_oGT&Tj^KGW)uYa#vn;UI4D>~}r<2g@UM7yE>RS*Dmp4PeSf4ivL
ztL{Uy{GUhS`)61dKQlgW^LhIIKdDnbTX^+p^lz^C_(;`z+KY1^B8A+IlXd%(&DTv|
z@ox3Ds;{qR=k0pgCY`tA`Mm17&$I8_{QvX$RnyV<FIDw(WUb3yscHRMw$AU<jqq}_
zyer}5w~$hwS#H+-t*f&yA3JLYDt-GRJf|JM$hwnRJ1<K=b~>j7w2s>2Q2hDWvSru4
zO3yMk*{X4LaSLDNoCjA#V5zM@2vm9}AMeXvxAWO4?e$mAKYGCxfA>QD;*A?GzB_A|
z^*!|RSBqI98@H`i=}3}(Tq$!o_{^>{H*@cw|Gw|9|Nr;<|8Lv(*FJ0&pVGdGyNv5;
z;k=4RC%xp{x1V`?YhP^ToNv0(+qP`kvUN+&GgzUpRQSSl!!PEs_Yc)RXk@SZ_j&&R
zpXckZy?>l@cb9V5BK?*Z$Fl2x)y~PiT~Z#sc11s94I8LR0M!VaxJ=CR^YZd?v$8UC
za-#O{+qu?P{F#aUPnGYX)+bkLi77)`O9vDhb@~@iX1yL;em68c_Un!0e%rraE_*%7
zxwj|sd(dUst6v^lnEtAj*}C56?7ve>ayp(Jo}@E%alr8_wO6NP2KCjuO@2Dh%G%mI
z@6L}4&isFWUEhCAaz^Otu*``~*EeS^Q|CSP?(Xidk1b|R33&bX?b<&&=eC{NUckO@
z-D3Y*8)#LtpoB?RSNbb2Z|$;QcmMyh@3;AKVNd1fX?n5Cx)&s?_S^m0u#am~+1p)j
zZ*R|bT^qMc4^~ic)K@ef`+Bzb_3UeFGGlg^{e5;e*Vp$+A=}*PkM=_gih?4LA8nfI
zZa<wCop;gp;57aCb$gmqLrV<%QiG->UR?4&Ytxx?6P4Xf7RPV7m=ZZd=lP^`x3zOE
z3Ll*{zyIdNiwmvlUe8)o_sun&ecaHQv!uM-f38*OsVSPDpVyyXuh;+ih_HWzocsMN
zSM?u<>}$3DV3^;mcMu+rslpj~c^Au#OD;Y8Z};!V`}*(Jf0-8ORo>ebS~+K-x7`1~
z@4p(ZS-8+KQ)caot3MeaQNzHLDwdIzkrQ`)fz7#HTeGFVL|aa^IX8J1cUPWf{ik5F
zE1<}(2M3`RQ>2``yyClEuh-qq+nxLHQ0p!U_orT$H8w6<SynkG`FP*nf4^S;+G-yg
zxh7@8Hq#YLL@H%=UvsOJS*SU6u}e=~h{o^Q`A*j#zu1>$m4Es2<=YoG)}Efm_ggH_
z+4=IWQfZ_NB_%!k>)oDh+xYGlf8F`Ke%@u?%h%RMPuB|+a+mK7apy;go{C1(Y^kvI
zc|TsqUtbfqciYy|&%eI<?h<6LlsR`2+G2N51jSEvrR}d5i~DUpb-d$W=Cm}V<ZiG3
zVxE)|w=Y#Ps&-R$2mbT8?;HBbV}Gacv>yy2S8wcDKkI3sPkm7Ah5Ay%KDDzi_OpJr
z@Ym?SeE06{d;3a1KP&qyv1niUlJ51_*IiY;0Z(fwOuW3(C5>zUEqi^ruTC=k?X9iS
zW=p(EJlAWz@LT)Ktv&3@s~QGS*n%?BC$1M|S-XVXCFh80Ut1Hk)aIPpCyUl|k%7?m
zeLV|klu6^I!Cs@xW9yEbEYk3D%h)GYDf84~%JIlO6&qvsCPnhcPdd6_rs2Hf6KAWH
zItE+ht8Ps1ZT)N4_ipvIdmBr`pXb%?y1ilH(oak0maYza`B{!1S^;RxZ#Z}RMYQCu
z17*ptpY^W&Rrt8fHY&<Y)vLrY@9C^NzESmot3OLZ8gq;+r*t+%fgBp9AG<5*=cmxK
zx@&oRU+<J_H!gzag@BL)pDa#Y)Cf$9Wb?lH;%1PLS#qm#oo%1l!iG}SKC`*8=O1}*
zxtpWqDyROs_2tX`8}Ib$hfm*Zb8gzVzPY=tX3vh6mY)43vGnPw?e<?^Hp|z;ojU!%
zsj1o0(xt7vLYC2Hxmnkpjeq6O69P3juf{KOg}AZNk?HibwNbl5`2RB9JGCtBlZET~
zs6csWA<V|2^L{~0XOYSJP_@%9HFziLUfL5XktTOM>R$ZJO=ee%b}fmilsSFwg_W|e
zUGU_2*Bv72<<ehWS^4Yk;kD7*U++14X=(jc^}VXz)AXbEOo6xPLlQntdg}d!z4m3-
z($j2mvsV83{zNru<C0jl9B4pG2t=5C__4kIa`MS0)>-lU5}WJ(Zfks9Xd&MYZK1ic
zPFb_DrdLS2?$oKNZh=2Pe75j<G{>SIRz_sx=ZC*j^Y@%~<YJGL)am{Glh0jQGCk``
ziMi$7Yku<2OWaNG`nsB*i`^GfIY-oc+KZg?n~r+J@)gt)4uuAXN)|Ew=sguT7r8R?
zrxuIp$E}k;9=W^h?qq+z*@nq&eoP{^jn1_&ch_%cnzml@)6Gj(k!r4);=b+LlVf)-
zo`3P;nSG~HcFtQ<WU;ukU)K8Duh;9hZ`opEZl1l=Ms?rZ;7P}C?yKD$t7p=5UhUcZ
zrPr@t|9+?VyzSR3!P(bt@J7rs&&kNk$hgEWvp#zJJXk<N+jI;}98&@o6yDvnUEZqx
zUi`+SrIRc+r=NfK_U+cqdN$CSg@Ng?_y(U-3wZoQD`i|4ooU@yuqokSQ!BUlEAzrB
z(*r*xJwG?M`1!fok4ME#<*!NdSIVSzTq!L54{EABY!&~qFz@Rt)9h;|Ya%bNIA8Ir
z@$vqDrM$4z2F;$J=}(Q#2eSUUoO^WCJMHYOuWvS=*Xn<KzQO>$Sdb^!!E=t_$;U6$
zlcyYyT;s3nJ?({E@~Ou!in~8qe13j@`<cE=lFhGvobW&S)q>0acCRm2L~u^#zarB`
zD&fJwlRufC%6fTd&P?O<e;@nn=h)qq+x1uqKFU)ME37%DggPAmVVwRi^V*u5R<Gi>
zWK7(5H_CGH0k~3w54+8RKHQw(^tqF#FK<=Yi+x#U61(c>+O3WdQupud56hf*@qg`{
zz|)UkteUfJo7vK$lD(7cuDtwhS)b$t$v)700xFoQ1S@{MTwYqQ+BeB!b=cZVor2cd
zhhRei3I=Cv`j!UPm>vIb*Y|GSvj4Z<@9DVpJSNMq-s_V^^!B`~s!m(yrL6FMaV=|?
zLuPsEs}xKdtb|^y^0|BW?ypI!{FrX6Y>1j)umG0sG+G;;MrM82VW~HbORt;*nh-c{
z|L<e%_q*G3Z=2P6ws9hy3S&t`GTz<T0+*O@;6&ZAj;+)FZ%<gYZe{hRm(kk0lAaPZ
zk8?e|V#~Ep+x{}IW|5k@)`j<6_KR6&$=7-$jm>gyERdf2@{vUD6i)CUs)B&V`UX8N
zxz^0{^K7@Cd%Wkyj^8hzKil)+5clq~x0klfm_G3cm(+BFbzCfxMO-hM7R-w4-(2!}
zA2WNrb=8*_8<UT3QB(uZ(ug@QH2z_#|Nr}bc6t2PrMbWP<!qOIs{~I}PIuVA#i|ja
zxFDokNKgH5?VSHNzr3oSeS6jY<CgE|-ao!E{_4f9jqP=|?z*d`_`$|$IWRP8u}sMd
zJfu3Ud*i2>XRGZm-}xT@Y_0X@H^t{I%bn8GmkYVw3aiqc1{%timI2MEMmbc@>7HHv
zukfDK(?UBJx#uaF>!bMD--3syrw5$nVP#{eoYT`J3ATdUA;E`p!g0yq!;S{vA$3lL
z1_w0<IrYT}(+f9piA?*?#mOZR44Ub_QXs$s9#7^_n7}#V_(_c!(=XoTkpzbe*Rd%K
zm2(VDWmuZQ1La%{OdKgpPYR8=(!hbo<G|2psOlh>?!(J|5E2{#XL;BJ7TBD-wbr^!
zrt<a8v%f>mF@xhnMZn>K2-lx=FQ5Lucjt5e=WBB+zwLZJ$NJ%;R^I73?|zpQpFe5?
zHWqBRnBU3+N0!a|f9p<e<(%U4vkU%RNjE(YF-ly(A)$vuqqg`M`}uztET7N$d2n-S
zA|E7p>m3*xH!6KNxcUFxm&^D6|NFlFzWpC|ISz#fEdTySzW?2Be7@$rWcr-SsMM<S
z)qbnrKHhTq-sJa*ALqRJ`Q@@-x4obJ-z}4E{pzc&9)G#)|IOlY&*lIBAD_8=Uf_1*
zd)wEwOfm*F?<3PYF4~@}d0&0r#{2T`d&{}@e1?{h(<8p{2=UGFd0_u<`Tsxv8P@%4
zkDXq)jZ;|M#6-bBAwMaL%f^OF-zPOMy(B}y%*1T^!NZ(7{6+=_T>2iVnduoN3Wmmp
z(>Ffjm!9rt$l}4z$jiXMaA?85mHB+;9S(`x4UJiP6t*WAv0N2k|HsZ&xbWFru=!#p
zrr6A%{x+D!r9M3(*i+nYyGrAP7NL%YDHmod?Dcxz)Ks!Ta1z79BLW;+-!`pj$`<Di
zD+xWaP0Zn1(~9h5!8f&m;!~%VZcK1~I$OHy_nYr;_rJG0f2Q`m_47Hu=S`k@GKQfv
zywPV`dp5%p@9rms4;}wZxng4X*gSzj*x~?lbmN8qF$rmD-v3qgdv|k6m{y#f*Y$OM
z+W%^YU==+Pri6_d7S16WXWV~qFs#&{a<ZEtV{M1|>?oDRAEH~fKJ`#wh;2O-`S(V{
zA<4ft0y8HIi1*|;F@!`gHQI1DI3Im3&b>K6rjIAleWizzYlZfqx<fgQ91qJ{+@C!6
zcZ`_Zx}o&g{YNQ(dAV66>zxf*o7O1ana};nMW1h?$f-{(m#6aoKd)!+-}q|j9-qMT
zr>40dS-9J5)$Mn8Gy_H4Zf$&gsb`}hN48>(W0R58f%46wf}I?}-(n9PN(k}(qRq^w
z<me%CXvH)O|B16DEE?vr7PU<I_9MbGFy#=#xe5NA(jEQc-Q3QP1^e%{il?h~E3e$?
zbTmfgth9B9dAipjCBgNLKa^E(a-QT+p8MlwlINv}7R%`uLs=y1XKV5=E^;wz$*WUz
zI`v(M&#5t}S?>{Z*Ct^lf&Q9Kk-|i-rH(6oRrokvB{CIUk}@APq%oacr=X?wG+OI)
z@VU|y{~WRBt-&^{j0-nxu&BH6J!_&(<D)>{&f}I%7q8rL`qf#!X;H)~I}d43CleND
zjt`EFQEWbqG849xTrFK#zx>}s1AzvaO%6QYn9nS5-&Ew%^{Yao(cZBuhpYWh)0D+Y
z8g754D{i}gUCwCg;-g;uF%@0+CiuUaT(^W@viBFml{udNm$EPPueVz<S<Z`pq5Fly
zFU*>GI3~Wbx$;EeXa2j{>TfmI_I{gD)_l!xH*??#=boZzi{q@OL<;>`*JD&a;bqFn
znx6}r7M@66Ap7%cxNDD=TI)GS=}ST@%aofv;+M#0s#h+tyD@p4#$<;}@=u?&-8lFv
zaFwXD*1oGn8{RdSO|koTzewhR<u;k^jG~gxzna^%KAzXO@1~;Q6c+e@i;9?Fd*|mP
znU9nT=d571E9_dKKC4q$MDBvjvNe9!F4W(CG-c~)S4$7JT$yYcYgv1KJKm>S4m?X6
zR+&X{yFSWv&G_f|LF8u1P8IFl9r7JzDTekzS|t((%gaiNm=}C2KgITd*MDbz@*eN|
zJDS`W)*Edx4~W*Dzllj;2BS<h*MZvay~fqO)2<ga2(NW&-LvC<-;z9&FZ&nvg|*2^
zG)j6zES@vxplpo-gHxi(5eKFvhg3qo=A3X}wfvCJ4ECh~e5Vt6a~gCv$d(<pvtTJL
zknuaLUmzLvknN6h@nYsU2lGA6aXg15B&4V7MX<=!8*gNdu-qneyCL`Rs*UqEB;Uw<
zqjat9?m@Z4xi_-k2>U(IiIFxxqWf{;4t2Q>_lKN6Tx_`Y4|soQ{Sj0n8`t{&X!gg;
zKT`j&-Rs+bpqfMB3Wr>x(+%NyE(U_mO9W@O%$eakMNrg5bmROChy7no7tMX4WH+f~
zlJ_UiY7=|q6E5{Z9%2(VpHzLqR%9OOJx_K0#Qqa`pR{{@jThX!xF>Vs7Lh2iT&=ZJ
z!W?gVT6<ZyhlQ}em7VMN{Nmadav8bHE)~Bpe&PLM_6znGy<g0J30LtqAH0x!!>~ru
zkcV+`N8qW5^EXag9Nls1MM6zLV6b6WVHjtyXYj;TXTnzo++17~RR46<DdVYep}e8o
zq4`%OLMOf|xthAlIz&2T{fe>`-;7LWhWW&&F&Vd8_V4W5Ilr>6a{f;@U*EGKXT5Xh
z%yP+Hcgt#PbC&oOxs|mknHzH=53b?VVa?Xe7GFKFwEb(_*|g|Q%%C9s7F1^Xo9DOU
zZ|3&Xg%4bcT;^EL@$%DsUa$3h>8@3~TB{cPQu!+MmFw%_SK(K7n}nF^m^PWRNNqON
zGVRN}bLqv!Cs|gR$1<K}>s`FFxH9nbPBG`xLE0hSOST4N@4hCvRz0RE`xx&tuASUF
ztam)$A$zMNSNpBUTbZ{-Z)<Pq-nwfQWwp-A)9P}GR;k~MEuT5&sp?OfemweEz4ejZ
zCx4rqDTsJr@NvV@!{7LKTfN!)uHY_1?8dyA?-=h&@0$PRN7cfromJXjUVV{!G5OcF
zUyr{mf0cjDe))aVnCczp3m$&h^sv3{zUcwp9NtGfX%ac+8D=jGO^kTVr%0|dw@JQ{
zdc>H^;FMuhZpoz;muF<ZN!Kxq%dI)}gMS}iz5Rsw$K#LNpMGy<XwYd8I3ve6)9|I~
zRwG}Nx%pKGzBEc+K66>;a?aMs$&uT4Zu}|ndFC_IXXUyfx;DC-bgxCt*<O*KnL0D)
z=ib!0Pm8r<S9`1$S}nEu_qCkt`qxaawO+qAE0Ok}9W&e4Z0)ukYiH+f%U$|b)cVf3
zyM9UAPp-?YXUT23&hfHimEiU_k>47>9sOqdtzV{s?;_u4*;g`geJ1iV&5Dkm_^iC&
zYM13R%XbBPo-cW7aw~IRaP#Ht^yu`3#Y;bzif{9taav}2)%5UnW$TizpIx{8?vA|V
zJNwGBi+(?P_fW6={`-3`6W>jIxAEfRY0I~zuX!$Xo;%KDy~29S`ncnJ?W%THi&x5j
z`gi*HJ@xD9{pUXihAlp_xU8q@QT8kC4|kv4es}!4_xIbcuD{EFr2k?4r+S$LF$Jz0
zk{@&~s2Qji<UcsAa9pAC!o>yO58gYtxk=i&W5S0Cn<h*PSbO2f1>S}HhkXujI+S&2
z*WtT|(p${kE+{Qh3Uj&BWzr+!Rv+eG*8feyHv7v>jj)iKD{U)|U)*-_(~CC4A2Ti{
zhxP8Xzm~M7Bqx^Vh|94xU6lgaqR|4sKU@6TaiehR<9Wv{kDl$ZmOtM+UuM7hzgVY$
zLz`NvJFj(i9a*OGbqS~ERnPa6ohOB>ZC~EwGjnQ@WvG4Vq^SAFJiNVb&%9=ASMq08
z{YP2hJ8Dz>c357_dbFieT>Yj0so5n-n|`Gnd~*2ZmM>4f*uI?4YS^UZ=<k+t>{w4;
z;)a5?A6hjWwnSag{3g0y#QyY`voSM&+MG7e4h>7+R$t~?HeDrRljA2Xb)|IgbHDG*
zxD&gxw(?{p`=`)Pmp}J=Ze6nT(&pfvWj?bnscoKIKlRit?mgVsL`qICeqznN@la>$
zSJzuFR$N}QA*^P3MaY}*n8-hgS(mOHzHGAGbGfPi_PP5ier=w#VUm3M1mhOtS!uJ*
z%rXCbam|6q+iA(0jnmA}8qVHa;CKAahn>5h8$N$}?sw_F$A6}NzOUyIcVWYYf`@ln
z{r7SIU$<;Zu$KPbul0M+e~%WM*sanXCAM29ZvT($nJeA|?M$w8{rOz=km~fhf?tVu
z`D?w6r*G3Kj^9>kS-Z33=ULHz+GXpn#6)iTbaIv9>a6h3;nUaF?N0kNt6OxPX!JFs
z>sr^gt?!Nt-+!;>@29Wx%~SGs1WJZfCM-U9?5Onpe4*T3yDSqv|I=-Yu0OTC=9bpY
zs_N(;+iq!{Ue)#X%iE*3=fCr~Rrt^Sy!`6&SMPQ1|4f};68`($j=SlrZC9=SF7YNZ
ztogb|meqH^8@G4qr^NrQ`~CMe-v_=a@-59>&Gmn#{JVVCIk0^eU$xx5`Xi4{99w*6
zaq8BHw_k3(+x2GGw_jI&ZA)I<Z)*C(M5g}l&4<rpkNft8&%0o`@r}yoCx<52F8A{L
zYH~_yw_p0)x=SWIU*4NJ#rXR9KI_{>dav%Z#viJ)EVldbXC?PO@xJ&k`zqc{dcJhm
z>37q!XWyOG|L@he*B8aUPrIcp7yc@GZ<O>cx2<#cysH2DW$T3O{W1M}>V6)(A)RY3
zoPTeh>BF%4-?<mxJ}>|DZqKghn(g23-TA%ccPhV$T!@WHMa0+HXY<)_-M#H^!&Q0Z
zkHx=_d({uA>(}Z3`CEMa(DFCSMbG!l54A6^tJ`C|X7ktnkM$*cChUFjR_kx@=kvY#
zYvbj9YCl;2?A?@iec_+NYu8WTbFq5!>$R_MFPnE`Ui<q`_rLDbum8Q^d*XNZ^Zn25
zRqLy+S${Qt{CStYS-jLfx7xk;r{BM>E_{OZ)MkdpDjQ?r2VeCV%CxMkw=fx4{=FaX
z#l7bLY{A5w1%Y4e3;vr+nKqmg*r3gzP^jlnqI@9jijF|qLhI5$ejE&Uj;5|qY}>_U
z96M(!L-NUs7oRxC-<Nh~aAVduAYK_C|9;uNefriHcK+paNOt^RE}!aqo#DnR_l3`*
zIsQHV#sBtFwk@~|!Du?&(2!G@*~r*pdf^m7&HA&mqw^n|i5<WHS@Tc80zQMZiv2tn
zj-FG!tTe-CnJ=5h1zomHYgKNYn)KRRZ}*M&``Sfbsw{ijqO7~?v%w_QE}Q@NEv;;(
zh}i6qdT_9xJzt-%&(6SBK|(U;#Dhmg3nU)R;So9N5p1?&249`D(UA)ePiPqbS!tJ2
zQBiG?6vP`|U%Gkjm8&JTk*4;qey*A!`u|jzYpiVFibb<{B(4Aaee~qPk4F#AGcz$i
zX1v+stRi%XM{RTS{kr4Lnsclr6OQ!A-Ptv5Gvjq8!QA!Q?9bWl<rDI2Zn)KYIZk|7
zl|MgZ_x*+E)oVTMCiEzr`S!JeeTsr_$(6<fPi9x$n6@>1nQTM7QOnbRj2&)KlJ*V7
z+b%G7_At$FUT^BoW#OqNIJtNA|1t}q9v=0}X}|9--+bBp{eHQ=6CajuzWjLcAHCUU
zPuEnMoSSx(<zKw-y8dadrJ>K_Uw^buHfNVwdCV=V)8WRKMb~!z>%3KTGq2*+j)@N=
z6rFw>$|(CuA3mOJGV}aF-H7_2-^$zNcAfs)Sh?*)T1M&iPy65Bsat&{gnPRxSF(WM
zUJn(K!iTkwlg}T$yJJP)s;X&`Gwn>|UAA$0Z_^fY69~Nj>~Amc{d=wEPR1_3IcpOY
zZYIh9?#pW~x{{Ok>F6b<vYEH#5<C>Iy@^Xdot8f5`M)<Q6Vq4Usbo(2u+Q?x`}(qc
zmDe2}8jTvS+gq-AwCH?zXBF+>m(8*#(!Y2|zQxmJ51rbNPu_KA_U8GoKh;h3U$^?v
z`K|UQUvFRD6~!pXy&<Q4f{tR7g6N`6>KqcBFBRuJpKvMMwcy?HJs1D&+i~hx<xdsA
zZyy)jw)wWfBTQ(c09)W?er{L6C*1-9-AOxF)jz);ck1XOiQ7LGv~-1WT>JQ&DVe_`
zMbeO?N#ZSg%M*_v{zvxJIexN+n`SykYVK0K&KFyuJj21~J9A&Q%2xJrL8tVf^Y6uv
zUj4dir{$~D&py0+BCQ^0rBf5PDu4Bz^ELV>ww~OiWDuh0S7M)F5cFidxA93YC9xw1
zb}f<@>p4{aP2bD-q*0OpOW{?14zB1IuXdVDwn<7cP7C<_!Y^}~vv{xI9S#liUySVw
zB`*i^e%GkKuu%V&)4LP1e5c-jcf!=yYtdo<fVkf*#m;|9LoFQQf6CR$-45i7TetdU
zSzFcThj0E&f7az2f4sar@x|q;m?<l+{(N~w>0Oj#>t*5cp8733ccLQ$6RyhaI4fQm
zqG6w8Rl5C?Z``%dxjD;kKH}#W`1w{s%=+|$d#7D(KWi#K>Dyk)xB5fc|5)4E=~w@*
zF57T2LTSS(hn-irBl0vZxow~R$bZrE<BRUhsSjTt{+i)u<H?QQ6FF6@e`aM*nEdOO
z`-_dw|J$u!RbW0>=Yq2NmU<&UH4)>sz6|@G#OxL6f4mJp{@NeX>dm_PcP<nE!P`aA
z(Z|lN_1*XKn%_0CixW2p&izz1U2l(|lf&8NRfQ9;oXB{;=zGB1sat&w-~BxM`k3|h
z?b}~y#is<DoV;^+LZ<col*3AyF^*TSO*UyV_;|_A=}V~h?B6X9dyS0#{QJ0hUj5Ug
zqL8?=-oJC6|1N7i`OTGUCgbN{ff^ErE=&#nkvdafDl+_a(yZ#|wi7MZs=H@re7m~U
z;q%L<atlwU9dqKm67`qkDO2LpR=MBp2mKd+>Adh^PsRK_A&-?RrzrORo_JhD>Bi~Z
zD_&m;dmMCPZsD#?&%bkcn`sNVu}rC272NguLVc?_llF@0UkklCl`dWW8}sburSpc}
zHF5fXeC*@me^y@G7gv<J`fN!(f9LwS<(n4X4w`8g&{^{6?$YiAmd2I4<nKi&c-iK2
z+%ER7j<x;%N8xUVM_bwnj+>pS?Rt9zy$;N|b=ul!8SkQ7n`?f5+oAY_U#DPmdEK{-
zo$(e=!dcSm^Zjozsz-}uHdirD&TFtP5$ri&@V=Cp=czrTzVVBRh5yAS<vngqoK?T=
zUCHccD-wh*87s%+^<^BIGO4Rtzvqr>hu7H^YEBz36#PEX{CLGRkDIG`ruqa5wQYV@
z(>67~F6`;L($(dYH@YOSwpMPF-w>p*%qHTS(S`!m>65s$OzQdFB}AE?RVv%Q5-d#E
znA8*C+526xv(KiXwE1VFf#302JgSFIS)O_SH$jxE@K1f?)w!F)4KMZF<T8k?W0~OT
z5^=m|m7ustk6}mqc|MLl&LZcY$wzwyq?=}GXgDoZC^{VCEHpVJ^HRzK!M2B*ZATnV
zFx##OkQBQ$L-xy@$#3d^{{1p(tNWJ~ZA>fFt5_U$Dyvdv%lX_7GIdNeIV#8OK1-@u
z@uQ&JEk@r%63eFKzc{)xC^^q$&5n-F{LHs6Zhrp#QZ>8(Wul9Z{TGSm4_se-WUAea
zb!Bax4KjDLCRY{C7VKGKI#sAx?xOU~_p1)*UvRJ$t~vQgxu(U*RHN!(y*sOr$&-EJ
zZ1Fac$A3J!!R*BKuI%ta`CCorO)J>qH~rv{f5s71s=rkw(4)im+2P$kceec7|Lpm*
zS<^pwhwVSxFU85a<wel?vX_UX85z&~`Wez0IlF^He}l|<8ygPZ_aSE9y07m<mOU5W
z^7^KQjS`oB%kfmRpUE-1&+n*7H;=5}SvEgV?|Yc*%UMZU7v_`~`+|}USC-<{?ra6O
z2_g4P<=%*eoR&Ors7>JDp~teDp7VKZ*ALRL4C(o+5yGV@Bl7I@)Ozdi*k?C4NlgDI
z`*V}t_0?y)?Zlg1pWe^7BU1Wu(P_5pua|3fv`H3xe<RK(ps`EGLs8<o?pimQ#8bTW
zOMPtS{f*L8H}2Bl=1fgBKNX;S*p4-uC+JM_zJH9j)fobue~T;Io7|e!nzVaSO0|-!
zOj_(s|2rNtj8jC+a|4;bH!B{#uKRiS##3Lt)0Ur|bUSWidQ+8WgUaEK!dpvO-%BW*
zIk)9O%!Ye5EGN{A_N=fq3hM1hG2k+lc(1CpqrRcl@yDBOcb`2GT&({&S3IX)a@*h3
zeVb>!`6bNSmB`5X&0@2?Ncg)@gDWS#eb(f3JiTCv+`P5npTC}x-#&Tm?T`0;cl`aM
zH@~IAT!{ZKpX53Im2!GnJM`~F$0Zz>k4~JwE-UXqK>C65`RClW-AoYi>)~)#s(JnS
zM{mbo?y`E<#P@b`cWXTNubmyle7ao9t;BpuHe0ie8Bd@FdqKtBu(j{Y%GgwGo-e$4
zaa~`_-#d5AEzYVrT(P@qlfP~MyH_I9zVz5$SHEfSJ4keQZu8c)hW#azp7|Etp6}+c
z<)8Rt2T@&Ev+H9%i}3UZf=vF*W@g6I8v~hyr>imZ=+>VtdThqC@3&^j3&(k#l0i#c
zUf#$xzj<?J&a&S8%w^8rJxkZ>tQ5-4|MrqwXv+UbU;Qq1vot7h2*@*DNRYhnpv>v-
z|NETH_Ph}amV!;Jg~vEkjZTD5KCUh$vf-QMf|m5m4W+YIJGiWToEgB*KiOVQ{@LW$
zvuCghs(K0?J@}`xK3!*`O0v!j@q@`fqE}ii{{6Bi-9+T_@}JLNOJC?@nYc2gOq@4O
zNm=vpj)%e4Pi^kp;#D$P`}cE!ZH7qA&i%i?mS?AaD*R`~!<hJ?XRjsCG`5~eJ!x+g
zcn$^$edgIaYx-3NIS#RByBiubzfAakHOZ>`Qb2X<rnzpHSQ&b_8UEEvFbGIAD9@j}
zXuHXlugkKgozTge`oB5MQJr^xWTD8mxhuo2e%Iuly7CrV>)g;6w_VqUGtWHN(sM{!
zJIeg$nYbx?<Bxgj)Top#U!@%!S>HM#@psPulP_k9&J2=VGG+6+i6?KTt>C)*n(1d~
z^^R3ty;(&u-iH$BPLF$cJ~Cu;*~j|O=gV$oT>1EMN5Z;uKWAw#o?hWGb+r`Jv%npW
z^R-wN`NPB5wl6<uY!D;4`&&~N*P|NAn0pScrmRA;@4`#h?se@*W}B(;WyPyci}qR_
z<4~7~T~K%R!KIE|ZucXJ`@b~&`CKMsW2O3X`p2h^0Z%*%_>RRGO*-}{-JtKM+%b1E
zp?bjrM^5j>-f9^KBn2l`b2rq#7OKhbf1!L@b5A?-<uE-Z&n2Z&y<e>=?6y90w*7qN
zQU?d$y<?gabq+15zZl*9=ghvDbsJK4o$r|XS}p(j-l$t8H(Y-oTk}W%l&if&O4VAf
zB|a+y--k&*o;PEvokUCH#kkz>>+Z_s7u{vJ!~S?f{o_8Zz5Lv!AwLWFHh;6cxu>6B
z_QckeS^UNG{}^vCW@(vWq?G!t&txB)@Oh82n@2Qfyf}Z0wO?tH>&5>}8oeCTKR!LN
zV0*#DeUb~RFSj#%J$8>hV3y<lLoD}K9ut#LbNcJMcGs;?-Unq%FB$FA%3ly8rqQ_Q
z;Vk(*ubF@QG^{VEpDdF5|53o_@5_Jh?!PR_y}n$1$J*oT45tZ9Tk`l?ZmO3JXLiDK
zZ8Z+Q*K4M)@!f8AIQrs`XLI(t@y$pus^pidzq4|&ilWlD&xhGlbDlrcynDSgC04!R
zf2J$@M19$9vs1PiUf-JkXxsYgxkqnAHH7^*{O$hF>Zy`;brA)nhjKU7moi<q(n-o%
z+PgYC?AbBq0O>7}<@Zdk%xc~wlpIoKQxJRky0M^h#jDltdyhrc9Zb!6e$(^P+J6t1
zG)&rfK7IEy{zEaQ8rlb^MjiH1+|0tJP@fg6yP<y9`|k48`peVSo(ns+IPs+U<Be18
zZtPr;tG7MK@yE@yEdH*978&V|^?T}rTAXjLd(HH+wK!0Da`=pDg};XxS6x4EaOVJz
zvBLi!&gF-GT$#9<d!4sjS9tOP;g}qq%nJUWZ;pS?<~5$;xGq?>>JEQ0gIt4y@_`18
zFK*X!+oyNUs=2OrUd8dLz`X!Qjt`G~Z*G5`YH1{;KBxIvYkmUb<Ei`R%zaztJ#AMw
ztNh8UrI*)*6jpv}^qRP9laaTkNO<GFk3ULme)0dx5x)s8zL?C7rwc|f2{Rj-T1=n#
zk5OZ~4F}J``qtx%99%fv=ShAzFZ4_`(rJw=V|2bmchUd1f#JSi<5#X;$9l}@VfePY
zUa>MOZYzAgqc8fY`mgA0O_eWZGV4ygy||rSz`*O+-y28&+8q6xrtx}L^yf4C<uiJA
z9V`oQ@B9*%wL56{;VX03_)qf`IQ70voO{>X`jCaIty9lW$@QFDzbKpi?&(!mnRD;1
zYn<x->T%f?nG*+G1l%o8ZdjZ8@v~UPxthZ-m`ffXv6p(bt5#oHWy!yF@1<rbWzSky
z6>!w^bnaTF9WAO0CT1<rT-<)<1!FsV=1VuOHzz*%ZHsz0b+Nba-YoaG%0~C+R!Q~N
zEIX0TRpZyv={ZgEvf$&oi>DvfFKE-2X!O<gz4Ck2x{b&GY}>5zQ&EIzikGtTL-8#w
zIXp*{Uvf<G7Cy3Jrz_JX?^oH28RnRmpVxo#FTnKpuZdz4E{XRtW!-$-$ux&cG(9Tk
zN0Z!{H-2GXSF#)5xNNaQefvJnA1hXu^&5E1@hX@g^+$Q*x@|0OHXG|z9vx}2cyqO0
zfBCBAb35%PScL?hoTU+zebwrUn%IkiqZh7<J??BaIMAJU$waAzIsdbCZ=3j*%M#}u
z^)6qyzdFoP{nXr&hGRSi#h0fg{Icj-vtVazZ1k(l4Ou5;(=AsjnXWpqM(fi~t)g`Q
z9e1@-V_K_4d_`l6Z8ERwdm1oiB}Y6cY<skAUH$SCFLPoXZ=GoRxJ5)+uTAtx=-rk7
zxC9U0J@+QL`%$6sd=?$)3*Qf0bb7x%dsooc@`96a!UksPq^|+FtEFmA-birVA-nQn
z<c=nB%?bD1l3dEOAKp75mgKbf!r6kJ8wZ+qReorj$)700=XLRcteeY>gDTE9m)^f^
z^7-&}?e}{l>sc1w)?4s}@ysE`oRgV7w;#{jq@>%+!y6^b{wPyP^TO_5=WYnGKflqc
zoSnxpnKyUM8V<ep3+|-fp0Hh7qt@`b_!XT^JQ7bGlRg_3+6!_{ko{HvcIrn?Mu#H@
z7+>fxE^mD&BR65oVnJRtox?9O(s)iY?2r&}l$z;pTWQ4RxaW8MzXesN+sc0D{u6kj
zEWNl!K<D%$Z*%hvr(c-NOEtT@LMWEu%I7HInaherMA|2?z7L6(Y*zfqArNA+)Y{wX
zrsXH`8IfMi2K9agFA^%N?j<PC$eH3M9`%9wfN#iZ?uyA`0_W9pcPOYl_VNj46X{#S
ze>dU#^_D)TsP!&Uin3if^-7AbGB3zlaAjq(_4HmgOlS1ZWj#FKoxfX9Y-THK&$K%;
zT_;asO-&G(&Nr3OEJyQ%r$X@!o?FwH-x`%Ft(jo5Wyhj7y(}dKneW%$GE{i{BS$<c
ztMQM>lm}BZS{AK-v3jxE^!q9swZjXt;;a}BW{6v>tX*{QCZF2F_9v$-oH^^C)Clcl
z7t*`KY;L*#u-z4fw%K1e^X&ABIjmM3xv)$0{O8Ef4q=v^FS{ZuJB*+I5Dl8qkjAgR
zWy`)0=dJmjHSS6WvP$d@+<YzT8&Pw^ILpEBr$=-1p3UN?#l_|+Jt=nPSe=lgYTEj0
ztBO=H<C=+5h2m+!c@CRTT?x2g?7^*B|MrWuFyEPrvu^$Nl24m{=liD$mEGU{H?X?v
zO;a;V<POh|-?ws+$ga+6^PN#v$;%co?R9c(eYhaP`GP`vd_}uKg^?>~@$#OT0`LE(
zs68os!d)Q}Yhm|Jma#EgtVZ^F&eH%<=C8Sl0(+kXF}|E0AGbS^Q{|~j?Xo6|@K7~b
z?fMOMwmq4@g+Kb*$lpISM`vDqTe0)v4K=QUX^*sLh^bupcx_*yiLvjoW}bOVu9>)V
zrnCKW)Sqd{*Bo*rZ)M?{6K;$L4;3>tN^9P5elGJSG2n9Y<u>Iz!8cQ<q#vr>=60Z|
z>XQQR(U`}{J)0E63hJY7&nUm-diH31RPje|;ThlSPsyh}%D8xB{q4wosp6sCns1gV
zrQg|K^i?)hs&?jvl?<hIo-WdscRu$dx?b)%xo=&a+1H;+eqxud#QRwMcsYA}e%xB~
zGyB`tl;17uZF!ue@pJxBA#dZy9+M|HoPO{j^9QGe^y2g7q19CpRz1fLT=}uHcyCF7
zjEhdW_PrBLDs}b0`)<|i&y{-GC@|k@%5K*GIjd9eMF>2->Ef3r&y~zsurh1SlO~h?
zXQ%$X`5btA#hdW?^$AK$y~)W_<Qyh`yvc2HK9cKv+Z)wc^0j~CL!)=qFI4q4{QTE+
zqTz<7v;TG}>~vyDRG4w1xn=n|#T|b?{1S3Dt<83<Vcy~QNSa}vOZ`q!hFPx`akb0x
z+<v}qU(k0uqd=|a{}L8ANIINkNWUqODn5bTF+KZc<2(0<X7l$gD=NHK^6}m2pGUJ#
z#dJ;Fv^M9jWb4h!-D|$zP16ki{$OWsqIze|cX9Jg%qE|bzQ6x=MeEn=o;RDPn)NKL
zZIb5?TXW2#AzyRiZ*z^>NU6S$_5WGQFP^%xHs(>~&PVUJMF{MCuk`(Cd+n-8$K78_
zaK}!F`XHM9>`kg*W^n|Mt5S2_uhlY-%G;Fwsk<yHuK2C&Ecm2G@kl<utN)5W<}UxI
zA6f9S^NgAYbEVIeb$k<kNT(IOIpes_ZY_@<(}nx%Pc|y-%lu#W`S97<^Y`s<4E1jF
z<6Kxj?aTj@1&c}!TBuC8-+o~F3<ahI%U{l)EqXm!cjm63&~pn`tbP=7`s5d$MW0Vy
z+`2w5{6DkcjTdoTsd*{IB}J);xgb`4QWlrF0eE0|`Z)m}yLvBy^7*q?U-o=1^<3zA
zoZ4HJEiSinRJ{Z>t^a-B-p#5R)b!N6)`+uVclX_N`8Q6_7M~WB|6B9r)0-FV;abw1
z=VZ#0O3Dm3b!F<hg%wTnG_{)DXQwvHv&^RKnyUWiU2|mmL$fBQ)~%`7bn3Zl@R}^C
z*<xQ)LiJ`B1<Lj>HT9}jJ0<tO?%U~$CvRSyuFUB5)1$=7<y24M;*)<~Jbqte(z-L=
zZI0&j-n>7jetM+0b@J?=-Fr{|@9U25yyAw3FYBl-KEIA@gJSW?RWqKahK5c5Vig(U
z8)*9BQN^Ym3l7ftcjlB<O~|!}?^Cy0OcQJIIed!yhMuk2+P0IS@2)=)p3_|a_TPt7
zFZShLTIQ3%yR7=M-T$Z7QKokocO2%tsmIixJyTUZUj67MMO*O%uW3A64$IX&_B!9B
zD%!HRuJN(i$#ml@Mor>JcX+xdFPw3)@5uGDTro|BlhsbH*0gm92xMlR+P3G!hBN+R
zUyM$^{tyyY8hAA|Sg!ktRnOmJy!};9%j$g?*Bw%;uloD?<m~V3{qM{4_ipIy*{N#U
zFzH>l(Tzvj`}s|8wEJ6~d_CjX6(i0W8KTpQw}^hM-0pO8M}~bvFNa&*l^}z}rx*Iy
zdwtpaXj`#}yL@cL_k$Um7btcG`8KDzHgDmSh^RWRcP{<toU~<6SIsaHd4Kz{Po;&%
z+&K@6>jfgiE*DKQcXYXTee=c+H^DD<oC+?}O+xfPcOLH&GKzH8DeSM=u~YxG>*L&Q
z-_CVtonBMAcK1HVx%ZFk;d&i2ossc`VBvy!w|$o_*pabG<LS>#fu$QyT0Gm!zU;2c
zk+hR{lD|)jJC$V=?SFXD!sUl+PHd_43u${Dc9iGdy6(t``X|iXk0qS>`4v^YT|JDQ
z%XlAi)kyZP7CREQ<H0=rKNoyCSMp9MKWVwFHt2%4-CQN_hg|t{N^+;=bTF!47iHMU
z$9?kG+y%=tFRy#N==^=RWQO#Xhp}0eVrQy!ETmTRXz;$MVbGd?&`<H%g{bA4vI$R;
zwmKvob5}{5vxxUV!~J>&3vE`>^%HWV^^Tl;lx-J(j_bz!X9sRRygf(leEQEP{zX&%
zKg<5@YZz(%bEm(UiPDU%QS9000#EDOvKyPIT&n5Ik^Fcw?43^j?A6oKUWBBazCA-+
zHvQ1dYu$EkOnyN=PgX71o@x=_F->{b!x>vvbssrBeZJqnYNu8EYd6R`N!F{GYf5?e
za~@n`Qqkpb=;D>%te?7`WmUvoF=2}do?a?^&tSqVZyvUN=Mt9LFPxMu6d0sZaO888
z;J*A%_J#Xaybx6|TCOhlOni&DCfkpr$!e!>?F~shdmx=pU|t?a3wxPx+5?e;4Q01O
zm89&ay<Fq&^5@yA2+_dRCbu_cYO{T)Uy=HM&FAVIO*Wa6G25p4U#*hMNN7D>`C*Mj
z#Wp^knNkz~NVjj_qxUOLTzc0L@hN$eH}H5ZKP2w_*8KX@65ge55x3J+?Vg+7oP7DU
z)_T3>39~otT(q3`qMgE0yXlYZAGu6%oI2y1w)#}n|2Lj3&VA`-tiF5l>(AfI3+EJV
zi``;b@1}D92WvdjY)<hV;$DxFIL`!MP*}dvB8v6Nw1Oo4DC4x&o#JcfI5vD=bk!jD
z%(Ufxj0xJCiVv8W_O9*He_bSM=Ja`bw#MRFR#&DUGh)8>jo<G4eNBtQlV5E5JmsmU
z_fd;2Gej%DnyaYC^IT0lS!x&kd$P33na|VOFaN7#*O#pq`6%2pCA?Df*=-^7u(q^@
z8G5U>yVlm*{!>yr?i6|d;kqc7r403XT(f>Jy>o2wv{i57B-8Y_+XS)IH}HJeb36F7
z<GYUP6T+;w<Yan17cN<6voK}SnIl$*Hi@j-o5=pyUs2VEWy^(aB2)U=qJ-k@4mKG~
z-CqAY;9G0KHL*jxbL+cPluB!-?H4Oq7U%uzw8RYk9ZkY(oi_Ep72DSMG+@G|t;JqT
z8g9A9{;2V3KO=f{{b`9SA7o2=_g5>`EnIF`5O6DZ-da7m1DgXo1I(96?|vu5a`wQo
ziu;#&JeFPJn>hdfuJD-S)w9h)SE$TS`0o=j;mBEoS1Xmb*o8)Cx0<e2s-J&xRbN|z
zi1WW^U#`p7FA9%;;<Nk33EeVAr;ts@uVsqxMXWVC_w~YWxp@I!o{IjJm0F=PbL&g*
zp9{>YrTM<s*=4Lg9N?%wIWq3LD%V%_okxXaVi&J{X|A9za5Le=n@LVABG$)W%j>V7
zb?Mj9U6JdgrDW6={hza4+tjP=B&!Hdz4Y3R>pnlzI<DssePY7RGt1xk^7d+{wLd=D
zpK-b*Dk=M!^3vQFH*(e|Hy@nC_u}X+@6%;nq5F^BuX)gXf5}qcZIfjuY`ME>-jqxC
zzrX&xYevuSXwKyewzIC^|KeVDsifY4dw*+8e!a+6-V-I9$Qhd}$iM7Xp#KZ*l`l)<
zd{?}9R6lW6G>iP<l)X!Yi-Hzq7d%Od^*s^#VB;dWX&sCgLzZr3c$h2B^}O(EPS)Ot
zH4Uq#>3SY5?-cOcUMBIu_U`woK5y2=*9h_I>+E$5kUglO>TuoWeO%DJQen;BlnMUT
z`AUr%rq}QKK5=kc<sMW#&2p<h%l9;Cag`s|J_*}<c8b)qJow3-$rIXnMJmH=&XbDP
z&B@yegrZDK1(q_M6S58A3Mgon%3l$?Yf7Xx|DxDLcjkmwtKZ*OdarT)K<Tla%^KG)
ze2mK8HYNVa>qy~1o;t6sl}(RgcQkgC?C;oH@YzUY8pEf^39U?yDQW-xmNY0Sz21G{
z7DtL`yImyTI{9~Q^=~hKaSObC-MgII%lnnxmMrUr{g*RhMXEX2r@fz4DD$0t!~Vmy
z^~`sDr|Pegy%+LQ=k47P#p?8uopQ4_WxAhgvDjt4BIEb-O5>f2_MR7yd$T3O`?B?>
zR}9gwH?7*gH7iiGy6Dx#tn$x}63-Tx)%w{L@TP`*i}31v#@y}|xg@sUZcp9kZ-;L#
z-~4~?-RWZf!ScS{`+ij?=*#o`X1;O#;J*9>mTw*RHbt#-wln{CO?8UdSGgZ@3Qe*#
zzt!sam##56X|3hZrq{l%@`A*(e?@X;4ZTNXUtW9k@8Y+2kK|mIT(V{Vt~B`!M`cH`
zgF=|kwTJ({9KQMYK>ebB5+B%q@w3+dalUb#sXifr<wukE&8;E-mL8PsuWi3^+)>c4
zp|I!A%ZMBPpWAN)&Q@=heY^bU@zr-5t-AsqMW*(9ykwv5eBf@@2CuyT(`wBx&0l8K
z^<`hyi+kPPyPoW0KI9)V=a|Bs>oKkp7Y+CB)cU-AW5r6*x@84lj9Gbf7A)Pr;COaJ
z>5F=+Q`^opKD0Y^T*Z{>YXPt62GN3bU%vV4X4*G-ytBPE%_`=?lIGrso3Vaf@6Odq
z@O89F{n>tC-WF?zAG^0myCl}%vW<G1cT4j4oa(Sr)skaIr4wFxIqcR;v6%J0^4I*y
z<@4j_)m41HJnu;LtWOz_zD|{Y(_z_A8(a5{ch1k|r}fV){@8S=wKAv2`hE`yYByNX
zoOORe^@3j+TXzSr3a+e*b6lcxx!qB#<d+$5`{VZQ`SJ}{)L-^7ZC(F6!J&3vrL5oY
zZ)>NYepgUo;W0nor~TqS!|w@SHb#{zcI^*O>ED%?(|qaQU;C6N2kwE|pJ**n!|8@X
zOv22@28PoQZsXIeUmG1=e#=U%?)>@>i#K0$bPxA_XR|c-))SpuB|>S}UT%qvY@2Z;
z*g!I8)|30^r=?2I<Op`~->2~U_M~sy^Mx#S@E3ge_~h-2C+GQnSXmZJ99NO>Wj-h{
zxllpVt!q<4iFgh7Osl_!zqA{^dkFHyhvn;wE$?aZU(PJHazo6E)jaj#u333@@wHaf
z>+P*A<>&r+-*O<_LLv9Nij&ikgDG{N-m>$(d$4^!Q%}U2rsb=i+C1=5SoEcQ^Mhwk
z=BroiKEv|P)1}G7)osh>o3*NUjI`yS-8|CqV@AmONtIE{PCwe3k*gor!}5N5FV_*n
z{M6TFhZZRaaoH)<);`E$F<@WTU7r;(kwc_wamVbygEEGkp9DlaQ{ARD|5)$3+{A5$
zf&PXm2lpJ0z4Bzrv4@}PO#MG!GA!;fJd$kxq33AB?biL?-6xHzbvC>HlbYi$m=u-3
z{~#tv!edLPop0FYOG{5PUHdiRXqkrW7sp?}UxZs-?sRx%vG=Kr>zsGiok6?4O!F40
zzb^LV@6)e8cVB#Z_4)0K*Y%&<a@9!e3vSf?p=7$mFyZuXsjt5tdw$40V8Ls-sN;%n
z&&)#Y9qb>aShpY1Hr*R1=g(en@tH77l+V|xt>rh3=4Kq#KlA(LqbaKjGUZOSU)geL
z{;C4Q*<UXlK74B1mklZVcge-Zd@V@Mk7$o_mY=h^{;|mHpd%Sq^x0K4)UviG8Sn7Q
zI`;ozSxMR7k2O~oUv77_F1_Uzx9sGaAI^{SPIyWlTJ!Nz@Z|-UXS)dXMBhyayjkXM
zZcr$wQ+D@_wOEChAA3_*f!D*%FFzRhmGd%^`fnT&Vb&_((EBr`<+F~zA3F<&%b_g>
z`%}(#D6cjbRjfa>xYx4rgWH0LQ!6gz9#Q3HThLi3>yolebmQ;D1rtm*NWIJ~d|;>&
zBCTO-{eWfB2O9+r_pcA?tR7hO%w-K*oOX}#T%4Az)xJ2*Q?jQm6<Ct=bsikMaMs85
z*#&+klkjZbRi;ZenQ-2aNM3O4|JAma;kk{=R_`$jzO6ffeQkzr{e-n*Kb8EebuQf7
zz{kx}E1=cC*`ex|^3&s6g$g1Tg&jP7e){6mn;*Vi{&{xy?b)aQf7yBca7w`}rD&G?
ze_tJbDz!h{@bq_|XUJrMa*O_{ZwlnB*Qzd+Jy(C*>e_@A=M)~E?U!?^i0GXr@U5U+
zASpkBUGag|;>SfQ3q`tEzCNB*Z|JJkx4Y#>k*Ul(g(Hnd7MzLQ54r`|Pr1jmfDAS)
z6mW7nd_%zLAD`lqc&8s1IzT2(mk>Pepb)TVN<NDdv)tr@IU+A(L%&E|>9vZx{AA(m
zT^tA2^cwy<c3X1Ce~WnIfbR#77CLUc&}e!yk<-GN>(;xZ1pyLC^KL2gAFLOgJ3n^+
z?iY#o5^v}|D_yXX(|^;RUhemoQ$HTt7^lF{m$^Bvzam{>%9HYSsnZSSmEDxz{5J7p
zqjT5~)0yUJ(n|4dkF_LZ)s`E!9FMfyQBm2VF!N!-CaLAV4>&kvef2IK*-}}+Bj2QR
z%u2E$`H$6=)V-S}4zIXfS;zdk$*`TZ{?sX*nL9s;`zdUD?e`-8YXl!p@<YxuoU7TR
z!V52@E?OLF%m4p^{E;>HJ+zlkTvwOyHe^Sx+zt2Z?w3oKZQaTBIOoE#%kQqNGMy-w
zae2mxKB2G2d43<Z(h>XOcygj4v*LtT8|o}2BI*KG%oX!qZNC2M<I6YiZ_mGfZ{Gjk
zIX99w*Yi1--_nt`IqjXhv`VL){lT%K8wWl=v7EjB*@MqZI6hyk$?*#C{_J#p!Ix4S
zZ#Dbl%Z@Br?SEcR)URH3b7;`g2GRX3cMj?cS$8^J*>!BGe1nwUj?!N{=W5BRtzFt>
zn{B;fllhuvt*R9hF3LNL@-a4j3i&8BLs94EEUm?-{cQv5zcya*n|I@cb>$=G9S=Ks
z?|f1bD*UnJY=zNmUbW4xN2hbTNZOyxPc`#DJGV?Q@?F`^$*y(bUv5{*D`!r<F6XuX
z(>wm(QI)0g7bhMSvgK{6xERY9=htNwELr=j==Z-*yWC6pnaVQr*tcs;kF2}Dc*pU>
z*Q#ze>R$f&_*S0&S+n|kr(Zg71ishNc@w_&p=guz>i1jr9`g=~x10Sc{+oJ0LgKsq
z$;Z-HmN8lJ-Ji&@IkvOlbo*oV6$_oy+vHY%)IYYlBrogs)h!1y<|yYc&$e#-Hudts
z`B^8PSo~`cPICEnTG3+C#v8s0j5F2l&%3(qiY3qGld{~G!ZnY!SMVOs`B?9DcvaBn
z+xL2y)0fsB(6fH;xGHR;?#5Rh>oiKUJUlbZ#J2{>?p>!m>tzw+D}7Bq;o_MpliRNx
zWjLJ2@qwfB@UfT>{!sZoeW4RalvQW9oKGp9J7=1+LCa&cxzcenbk^0~p1d|M@xeXg
zR|^*OJv<Q?{nGY$(2Nac+UvreK3-*#UZ3)%Q{<1ddXPlBw(U73gH`Htsw^iSQm9$F
z=(_{gw1niD;vrr$?&WTCET8MHXqa?`+v4(Psq*$a^)jq`xcmP$6pJp@=rTW0KF95*
z{EdYL7utJn6fO^xU=>z>Ss2y*bz9p9Ar7NO6Aqa2-k-a7x5fUy1(r7N1MeL^F!xk;
zaz1Z8TlUtk47XRU?al7_)sP%IyRhS;g?iO-nK-ZFIVpcv@7y1KW!@2+XWf_XEIA(;
z_>b{>Ncg>&w*Q*h-@1;!o~)}gM<<wL{iI7*u5X`k{IJNDCmWY9u>XBi{@TK?7udxv
z21fadCTzITeeJS^lS}6_iEC%4KfHPU_U4BL(JNP9`^)TFU+}Wdy-BUy;Q7>TMF-ex
z4ma}E6<aMa4i{Rv!j}K@B(ZgK8DhEO-?L<#T^19S7@8O-aem6I_T6hL=7i?Ql`LVA
zir-sz>J<C)N@+$%&u+%-t5-HF9_V}AtGgmgHs39Mv2^<urjm(&&+Ti?xD{fXyRn^D
zyLLtD;Zx@pJ?VZs=T5!+7gP08`A<8tq(lXN2HVfR8e$Z%V~6+2@6YAepRb;Cv60Dw
zGxM>z=~hPNs^DX#&pfBM-1<8sKVo{hD(6l9>wQ{`%wA^YA(Dbt8!vEV-xudm>e&!7
z+mCriqMyjiNr$p-$~5me?-g&_dhA%mjEmQf-3acw-w-Vlw7OI^KbbA0{zp)M!&Tj7
ztB<)x<yLXLaO8|;x+OGO?%&(qmk;E>9DG?=eRYcGkqz^U%vNX!HI;JSxOGYQk2TNz
zllIbe(_YHlwfmH<vB`GrM@7%o+qY@>^LL85a&BP$n)cKt^PJr4?N_HZuY0xk>!U5J
zv?gr$T2T1(Vae%b^GytA{#q^cBg@FMo;%<4P@9~b+OnnXwuZ;2Er`;4tGl4t`vUvH
z<Du7A_616Q+|<2lb^Vm9?C16L^4-F($Cp0|Wj|!SGG+1m6RT?uY}>Q3aCS+jr>LJ;
z<;;|wnrvQ?^QX7UJ8WCBFIJp``}3l*svy&J7PfUtvIQ4qk7XL?&A+(f)s6FCBj2X4
zT5nVD!V!9VlSR$Bv-;N}ld3zsuHU_NShPFlcW%~<n7d~;$p{_)w!l@zbNcN_yP0d>
zT{<MO*)pQ@>Ke=L$+ltJzt+pF(S0m8|9RrosG!@cug&Lr$NzeP)-`seKJ5m9g1JW1
z;`%ZsMjWsXV*e9<xIVQ0#LMTe8h_}mD|=90aFsph@YQ<0yu+az-d?R2`?}Sm&NN@{
z)$Eg5JAFQ1vWeJQ^4G$5vXb=qIZr=Y$zNF&C-1PjOZDwVrycJ@B8zf`zcjZllt0L5
zu5tDAv`@8n)V7Aoy0OpswaWSVtIwxwU+ZaX-n~M~R;Bgl!ZyF+&vk~^*w)zn-N9%Q
zdnWB_#JpKG*QS)O+EBlBmp{+jvvQSNZ3AvQ{mA9hv)}2zz4-3&Rpv48*HqbG|K47E
zw)Ad$NB{57vW(ZyO`Xm$-QkDQ$~$v!Z@01Mxb0ai9krTy#rs)rXScI+cDYnDmCrhR
z>2{iPVsR|1(vq*m{hLD*clq^bPZFFosdQ`U{|mPc>ud=-K9B9QyDjU&b@g&FrPD>$
zP3~XN(G?}S;GUNMk-(PQC#A!8dv!(qzkbnR>vA<2L($Ub$MyVY=Kk5UCivPdpMBE|
znpos_i|24J@1K8Z+NEz(-YxjDZv~&5vv|nctuL>!{6G8k|Kn4CH(|E_O)U)|yBrlj
zyC_2{r^m+%Nb*})7{a$y8W|fwdIo!=a`UClh5qf^-*jJZCw~l|rOc$(zylj6?q<-v
zbxd=@>WBPYYrSi)M>Xmwzx?~Fx^4HgEz@#Nep72m)!SJkdCumuTb|EF3*m0_c^s;<
z9~?On<I@o(F8rZeRWfaD`r*jeM~^({vFJI<vvGppd#S=4p~bSrPbC7`f;ASW1S>7B
z?^%{otFOVDYW8Hq0*ik39-)v93FnwY&L3w8*VcGsXjYuKr7poGx7bFqE5ey${gLD;
z$5*RF@bXGBJBZ4aWXAWDUwo{Xv|iJ!NwVgGDYNAH9#NaejMa*39wc87HIke1s3Gv=
zOXjGcgZDQ0&sV<2l3cS+_d(LfD;(^#7s4YJ)xXFy*u7qc<11rJD?^xdZs0uQs1Mvz
z9QZBz-zI*2;LFkCYUs)#XyV?JbWra=tVu&!j;6+MmoJVxg%r0;IUu@+kM)gkz{$R?
zOC{7&7g`)<3=;Uj75$yJ@xDwp_d~|_s+ETqnQ+G~ZF<;L*>x&bp}sxMlcC{ytO}db
z0nQ)^*7~VyA2DT{Ok$AmyEVzDXTr=SJ?w#=i~E~gH@scZ(ygS;dF>RJ_XoFCM+|4C
zh|W7@!u~WWLuGSOSoESxy$|mmvXVLS^pQ_d%Y6S|{PwB(4s%MLvV<&KV01R4(~GTu
z|H~7%l9Wr4jcp+|VQpP0%bS>$jS~49H>G&6@?T6@XWU(XvMaoC-;*P|T8u553v@EN
z7T=MPF?sv?=G8+oGBdtyZQ=~J{46FKw5Blrp!0;==3P7;>)*4Te11FcK^jBzFD`)z
z`MWizJuc!=V{reqQdI2eHl>EP*V+$uAKJfq#f_TqpZ|U@`&(&eZ9h}*%*xDqySm(4
z<(Kuji?2PHn)mW<{QUZ56^1`8a&IZ;<X3Io5%%-thh??ad*|IfbAI{tt3g+m$uAe5
zJ~@1|{<9Eq@lU6o8S5C&OxAf2SYBcMccW#fbSP)_|MmA5EI2CEFpKFXLtFgaKOc|Z
z+&fqG#uBfGi&;;Um8gZMf76WUsyu&g;+m|3b#pbNwm&}-(v*5@a>@<9(;Mn7n$LYt
z@D1H~WbT3J!v`2z{aIReREP^?o%zn#GU4?v*|^xV23Iq`N_w3x@)Rg3EVi2)zCHN2
z+}Y)mk3N0#s$$cOF!d{IO?FF|B>d=>SAYI&x$tMX6PuDY|9qNe6#wUZLh{rf`rXsd
zc0Yc<XYm7tjEX6T{>(0}KYai6G2=BJ#kcDBSz1+@?wl8w@N89fI`0~b^&1yoy0=B$
zTwZMJzr#<j*3bTSHK)#S?)BW=o4?I}JNw&<DOs+PrF?voEu<eV-E!ta?G6j+Nz)w6
zxPQrpNzR|~O@4E^F>}YB9mhO!?y|j(U$rOfL7@I#7XMFSw!dq;OkQ~Ji@2J(qkh6<
zxpzF5vQE?s%qf*A_vyL1b63>1J~!772ORi(pYPf#BXPpoq5l8n_Wvs+rnH&YA9}hY
zJ<|1Koipd2>QzDkl3E8pH;8p@F9^Q6!174Y8zTlbe<tBqUiY}R)W_HDnd#qXysvw6
z^y!WLN9D@i=}O70x|)zFZ<CRtk|{06Hm`u8ukrI`h0a4}_5IdIE?5PzHC&qDb87Pf
z!8>XupMn=Yw0?VGMuAI*g2?tr<qsh_mljyDtuE9Pb+WeS5sYj<Vf@nLV$~y2*@*i`
zZC`ds2k8EuedO!Dtck%FKHQ2-VdgJ?=bO~vd1lHt=dV^8@3$8*f9QX(ygBEA!H2~K
zJ04EHnfv*qPkBwz{etWD>W}sBy`Q37IfFZc|M}G5Zxh^QDpLFAhO6y(dWA*A+pzTq
zNAT8rk}FkW#7ySz`D!5Yo1=8SL;dB?3YR~;j7;jC{jBwK@R3z958PLrsfvH{R7`V2
zV?&PPEUQIQJq>^C-bbVde(_Jexc2(Z&Q;b^-Yp0;yQJlN>-(a>N3r^X*6-^Vw6n&}
z{Jlwd<~)&}7q%8$Ok7`=-(<5$6LXt&^lF`w=H0BV=j-R!MEN{7>wRwHaYRXrLxJh{
zQl7h4jiue@{%L+_a{Ggf(VT^)@@gBUc>4{suQjXYe@*b{^(soVHrEpmuC6FHDYlWE
zIH^VSaMuK;YVA66MSGvvp9T7o-`9HAuP$w5=bgpTxcs`X&Xw*fi><ul_Ezklx@+>c
z4-XcsyC4^qxkdf$`uzJZ-XDG6eRTQzTi-rEKmYA<iQUc(&nJJ&`u6<Eqo)@xcHh6B
z#rvylU$wi-D)n;j%S)a&DOvYi3w|4NYYXGclV%I}WtS}X{G}1*|NYpN+7FTZzm*QN
zH5i^bS#J~}n7r{rPJHm&cPW;E;^)*9LaqewVtB}wV*BPsm$&t$OsW0}9vA+<nci}w
z;m9sERcp?lyO$az8R*_L3X-Ytm!32)z1Z~psy@3nn>wV~d0q;-mmWUHuUhxLw2x&G
z^V{o@vVNVJ`_D02x_zjgBq(84d|L6rwR3YDYxB~qi$2s(zLQoH@hQ01>s?R#mzkU8
z?w6;&@P2pN&i8Ds!X@?V%93-LDwbtfD7<9e-SObT0nKL|vp3t`+p+KGhPJncU*|4(
zzq8`-y~yW_?qxfw3;botkF7KKA!%5wmNxscl&Ii7^Y^Z<QkS2oaC=nfhrR!8!*qz{
z`^!Y8yS9xFt{c|Q+EIT{x>7ucPl3Z@VUyKC@24LO6z}!=ceFXpsc_|RQv9~5S>P8}
z%K`iJxWXm#N~grie2j0L(2!xf-ohzHhrN<VF{}Nwve30nl{t^SH&rSA+{05}k!ZeS
zakRa6i)HV;?XsoK@+a^13GThV=dIf>HM`S{7moe)S@a=={et`Co&9R{-tPr|NxQv#
zzhTK2zJ*`-7T#ZVZ&_LDbAh1g@z+;hS@&h}ylkbPtM986l+Sy)^oCQ_K|Ql+vKwc}
z8(PH*H62)az(=3+;%A}r)*KT*79C>PzaU;wVb3Qfj>C3de_tHhrNaMo+411_b9&BC
zjM#M5-(#ALqLYB?{YlCk?O&yZ+_zcO|Gl@!TO}l<^VIeyo*GNzW*%K}PcbxIPQb8P
zUZY&{rQlzS*Gm=7oSP)@g1^i5#fFo8FLWf%DJg8~?pV2}?)jod)|cU$_nyt!r>OYh
zI^U$kPO~P4ZyTQ(&0(0fhkI>h%~r?0T+MYlQp{UR{1<FjN;xCIE!ev{-1S1dsj9$K
zHZ!Y}k@q~=`&Sr$_!T%=|A_Dj@#eaih4K4dTC%(~T60=^@qgwxzQB2yO)PWc>53M7
zB21=+(=U1oXx6WdxLtJHOrZ99xWVN1AY;+4-%Il^_T282&njQ#GuzWxQ#DX*xzNh4
zkT-v7#l=r8^0<|@MqId|;pn{Pqc>X%OT-_(xPGz3?AJ^2Wy(zx54O2%4qYPgXpT!)
z(h|+?w9_ww&j`9c?hI6$r<S@+!hc4{M?FbnnfH@(qn7@@)USKFzG&n5ve2+6k2yn|
zF3y<w@%hcKFS5*j<+~&V%S?PM=c1(Ov*kvgUG1@pLUp_Q43ga3zvn$OdlaRx=<P1w
zFUMbe7tFKBQ*xRh*fh^VZ);7-tRD520Kxsz&FZI9(`3EP9;_BBoVLEpQ2Ars?27ug
z2@;>?Zo1LuIp<ejtGC=kre*cT&k9Ty%Ix9)egD=^-@ZFa2mQr8dp1nkaBb~Ozx{V=
zX56itQ9HAi<@)2>tJn3KxVEjT@|~o=n<uzygP3~T`hQ%<JPzMz@nAGIwcuCp>zx1p
z-Y3R?=O<@v{B|~%(S6m!j`}yZ{1|V>*zT7N?%1q+PbWUDdx@9#e%GyjwaV<r?$k^4
zc3-`j|JirbkMegln#VpoKghqF|K+0q)z7|BO1lji4zqEdWth<z@J)JO^U1bjsnhP~
zUb?XE+l9|>bCY!IKFjWRpHVu!*0=cnnXrGex8#=oObeg#uUg}BYQ$`P`L}KHr@v(H
zD!<4%_ff!GK2e969;Y6E54{|)Nt2shD5=jtrGCf94`p?)H=TJl+aWykN51dY_qOk@
z9@nr<6<No)>brIF=Kn5b$*UgK7P3El&o1WKv8pyo_S;XxHE*`ux?O6!{KVl4uO{dp
zVr5<a?-)~g+wKb;n!oP2X0a{4R4~zFFPqQg`PE0g3U<i#*lUJ`?5@)d<CUJ|-gKbO
z#V(b}eTo8aecZfgff+UPJEII==bzTp5%BnKEN1y=(Y6;`wx8Vh%%f12bArGzPiJPe
z7%q;9mQ4js31KeB^N$NV=4^^c-N{>byRmtF&1-r4@9g(aA9^n!ws!JLOUa%GbC~mN
zlEoh~crW3}ZC%)Vs9&J1!R?rN@a?_d=B{4Z{$jt;2j#V&Cj6+cVE;Sk_nN5RVxK2>
zHP3yzWzqBn4?jd*%=h(3YIE7YxTEB%SWJOSi%k|syUb4CGHdn2ceuKA<sNO>bgCd<
zRCVjE)30?Bp11QP&Ng#4se64v`Q29!c3Z8#9l?pa59z%X5KX(iNZb1Q@|%iUQchhm
z*JX@Paq7*VH{+p4Ly{?rO}*~h#Pp}PRJ($I#x1Lyx^`cs=$`oW(kQ#B?vI3z1SV!H
z7kfW3zi$_L>(R>izZMoNS621@GUQNv@WS+!`JE%huZ}CQ8dOf~KF{OKBjhsuhv53U
zZ}-kUzf!Kz*0eL2>wUMu)w%v36Pk73?!VV;xW!|FjE3^`L`TUb3*Obt{Ns47KF#mD
zjDLPVXTzKnhH}rt7GEFl_2FT=w8%-oMYUE|G{o~rXQ{i=sit##ZN&@1AM9w;{#s-0
z`=IFCA?Y_UujQhJBQ~9WVZj{8@nV_24r71oUr*B?5$V<sKbhumEqyhUMQ-cH)devk
zx9_U)-fl~|q@Nz*9ere<(^-v{SqI;kX4RYBIZ~YE_ON7Tg80r8B2Cj9ADKVt>4>w;
zE=iDkcV*kn`R2a4)lS#j7H58BT<_caQ#;?-X8XfbhIau=rsUmucAsh1)5Pr?*K1F2
zkG;9;(|v*We#gHxs&W*{-`#tFefM1^zWqUpdcquM6uiz}?uxs<!TfUe{T*AGgFesF
zlsD0vTz^phOvE0)Q+bMSmZlo45Yuh&ORQX2v4H7hnuX0V`?NoT2_7%>wXe1RuIQU2
z!TNOTE&(qm!Ney#&pH{d@SFU<-(>RSRp>T-?JL|xJGylzY&&yIoXNAt&FQ+r{XLb!
zejom>`e@XwGWj;M&g$ApPp@j$Nv^+Btjqbo@}vK)E&ngpTiy9D#?00H`Ii$<Mx(*v
z<vcByrhb$ED*W8~#&$6)#fcT$uGDK<xe8o=v-_O6{;GlletY8T4m2}v(Rd&-le<$i
z#w_L4@y_%H&+@6dtFB3&mfF^3&S_(Co$q%ryWN%RVV-Ha8lG)eQl3A(@c-h0b&t_%
z1Xj@cFB9<kFJ>bH<LQMeJX-aVpeo_p-S~qq)0TbdX=PwJ;C=tqwU<_x%_5J_ed%}0
zQ<H1bjinx;OOke5|9)T1$LG)~Hnk_oUZtg>xp@B}n+O)09}nMr`u66j_Dr^>%{}Q#
zJLa-S8O=;_6e^tNX0&52>wD*;=j->^${w)uZf%-f_I>`@ogxqK{&YE(dBgNaz3-vi
z?2M0}XV2gFS8n~>*t_%oma07v<9F$gJL2<NM<Xo#ef{%;Jm=!r=bY5xeW&w8D_~`s
z($VVB5AWW@r`OC+H+&FzAnJ%x$K@FjyJMBawYb77=jxw1bw&2yv_#|Oe>10w|DQR}
zf00Sfxrh6!t>PY6UDh%Cc`EnG-AQ>OzIUJ2r^a66{&jcV=R;dqLZ57P&Nj5VwRxFY
z$-dn0>jXUlpG|e%b4K@S=T$>~H7BFBMnWq3R+|qtPhY>~mbhit%oAJ8kIL)sQ(NF(
z)fuU##Q){&Ler|Fng^%+SYo>9%D->dBpyvD6zJ|*sq;&OPtJu&M#I)&Vd}3`jXnN9
z-YbU3Z1$-?d455NPiFt6UDpGyGi9u@;7;o3^sx}%z2{HC*Vk8nx^%1j$qLKM`1)v_
zOZ!IePZOqJ)--+)r(_a;@PEvy5ArMt&aC1Yw!04~TvFmo7u%z2_Vh~QljMn0>SngE
zdtHiT`QRTiNkr3o62}iuhIA*dqDes_53`obiQ6APVl{WUbNzZZ8KvO(ch|%`m1cU)
z7n6?SUY7iG$_)$Iqv^@ahQ$l#she%-i<q`ddE>{VzZZ08&#H4YSR=2%r!b}Edtctm
zIddiz75nc$b#1rZPk}_sSNiJQ#Vh!2`mP2ab}&*j{lL7_XIZnsfrhy9`xYN}Eu1ks
z*Y{w3ySh@0ocPxiJAT)C*S^*|wLs;wmrSHPqD-_k_HKS`H0R8LMjoxhF2eScd6+Ks
zN_BiVzVH6Ny_Lm3A7AyC-?x9?!InO@DEpe)kUf_xt$l1doE?;EgT4iMa=AR2ylMKS
z3#&c<PI*&m)pb5if2qO4Bj+dYo#Gc^7Iq{4N^0V-E2-}`wjJ;E_<iRp&!YP4&a&k_
zlXu#Q*c>`D$)^9lHfw_ukIep(MQ>c<O^uyTu5>(K-uWtg`c=7G=hpOvf4clrwlMjC
zpre`X!CrSa>3-j3T_4Y!HJhF%)DU>=obh*)eN(<x-M&~fcfPmWA&-Q<FOQs@j<5S|
zCoS{h*YoZB@6_%1Yo7J`?bV2EyN}b=Ueq_O{8G$4jrpkVMU9u8x7Kc&H`Vo?BzxlN
zWseN19{%|7;2BqWM=@WWZ=4S2D`j8FRJ*l2&g#z|mb$xZSATIZ|0T#)f96bn%&J>w
zI5w>0E_bMvSyyDW>eRN^p3#-c8}-*8dhzc0)T$6wzBB`dN^6JPcNV&>nbSEn*z4(!
z1DAKst$%E`dXKcJ;4!~fC;uNaec#gkpkrT;;q`gtrgORt`7W2#zffvA;+}0ct9R}T
z0mq$6|DMRzC)mm`3sg+L&duN8dTFk;<5lHmBWrO#muW_GZ7!YLx?hEFk3-Y>N&J#b
zKW2nS*EcBkRsWa0F3J*pY4_)|teP*Zzwh0%;KP2o%K}g8D|hbxWxr@s@D;%>gEPxM
z_ANN6?Qi_v=IW-h)vtF+&n-=S*HCYpX(qQ)C&>29SqZrbv0v5nq90Z5(?7)aqq_4v
zW9r`AZMrkvy=IvHQ2zYpcuck7u?by~I>!F*b{8I8Q1Z>@`y7q4&S%)TZ#A4@xVJnc
zty8V<#nBzL%F8P6EMHwO-063E){!cUCG1XqA(L9yeYIXP$6#I6sq5-Ndf5Wk)12M6
zUDs{Nn{@Qs&Gt2n=O%p0$mpFp^ZD&8alPFsPSL5>$BO4{P!XG7BFSs^#<J`oSFm!}
zVos5DCW|JAKmT%TN`<?XfxN}V0KKNeC0n)LpFQ*O<<$=ocb4gLZ(8SbPpba?x?=tu
z`IiZ==W6b{#2XxvVa^?1m|thXeJ@&pL!I40cE<F#g`rPh{L#7eYx37EH_OyTLR2OE
zzr;D#em?#7x%R5vuA-(=At48IU46f6Y2}ETWN=Q`c$*ykb9<rqiUWrZrTfKfzx{QW
zR<2`9d~m!)>y5_m`Q4n6zvY^h7A@FN&oHC*W832u+TFQRtL@znEn6kCbLr87?f*?)
zeBt3-@z$&|a`&Q*-tV<kQjUdAZriteyXT!2m1{F47av&k{L;TiN!|R*tYbX;wU_gY
zR>$;;|JG>E(yscw*6p!OjoPc?e;cY|6^dl<>7G5-^RVCYam<{CeI<uV;x1I}p0y)n
z;t_%R2ZwzghO`C>b5|K3TVI-ZM8y5CT4Kx5gWX0i!ko|4cK>?K!M6C4?#tYYjuoXV
zs)7%F%zB+KGDXwun60Auw&DY`c^kj2F}ZASc))(vM)9XVw=H|HUF+SnotstmUcY@d
zG;;dtPw$Hpck_Rkps{D3b;Xm1eL^$u-q3uyaec|pBuCA9@AjR{FD#XXkDn;sYs|Zp
z$yOpH=nd!Z{gyG)4m{m`@x%8ChrfS5rG6u?)Bjf{i*97-#jIQD^*<Pcqc<*{aA79T
zeFl4JtCwdPv!5@Yv2Hc{ty`?oQg2<C?tL&v{p+#D*7w23|3tm&`MA$pSH?r+K*6kn
zSK<*&;c84;ebV9oOHS2GWcWI6)^4`d&{15RYguAlJLOLQ!mh**m#TX=XZI|2JalZI
z#Z5-nEFR%4vRT((fB5LNs%)E^_{k~nRTFF;DC`w;X5QT)wz&RcW3ITpK*#1yvEg->
zHtII)kD6I&9=XfUhU<3GGrlz+zbUqRhJSf$d+U4PdX8oe=_~&KTP1(~mk|41nS$0%
zfHV^t4S0lEj0`O-rav^}(X5a3F1~FcwC{KL2aQlyj(IFIW=}4i<C!aGeeIm;<XMYU
zqaO9SRC=81|NHeeZ-YMPl(&)bI!r9mcjL?J?>1y^>B=an{8m@@?b~7l!Nn>IIlG^k
zPZV?U63g`Ke5f=_f3du<r^U>3LUVoYEf3u{<DAPH_3bZ1E_lw&+iaz+ZNB|X{VLa)
z_pkk2H{;xnuqJ<%+5hI$+wGn)|8MEBgkY(SW&C2oODAP)wEg{YvYU6scgsaCDr&p7
zYj2-u(q+(mKX=jU&GmBw*H?V5Rx$QVTJ(6b(oRLLoIDpkmm@}#ngmt9Y6_Y>+Nd<;
zq?`7n1$H047k#i1$aT3iz4!B^>_v_*-J)jJyPCH@`ZX_!*<aFc$%Me114RqxE<bmW
zzsdK2^6fo0a?4h`n@?Qad_elQR`f4b>+i2)%6Q)yO+K?f>UVqUKWkAX?ahn6<u8lz
zm&?Dnee#;3;@#5fRU5Te?eh7&=$n3B#BuB2r>C+%x_;U?U~=&PbCT@F_V;<yX5HT|
zKlRORo`%Buvx_CeTh#5W^zS`h-u}YCGpX^zZByr`D;hgBC1R#UmS+3j7wzD_$|t`2
z!GrFqx!3YMCq@bsp3~n~*0IBJ*G~7FE03-!njexmH=JQv&b~i$wO(DB<{6)RkSB4|
z)#~^uH`QuA)|*SN>l4UaB*>_yFlkcqYo>q`EfQH$6E_$)=hT}8`8<1(A?e*Q{phX}
z|8L!1_$jc-KSSZ4-sY0W^WJ@~dV7Cu`PBb%hfn*a`Y|qLixZxt^1x&L!K2QxY0*DI
z4EcJ3rd5WuePP@0;qi<)`SR`P*SlhOMeKj+q`&^vo`|0r`giiD=I5K+F`s&4e{)gv
zqvSb<Z_VcM;APyVA5-vNpx*n_nh8r5sH<~%oLcqWR;HKdQJ5*io{tK=PcoD;Uw?nE
z>?k|AWuxC2pCCI=#S-RE4bLR<xBrn4ap!zmXy6`T@T?=R*k!lO#E=~;7X10Z{jiuN
zey7Yq_3aTQmQBr$b`Ms?GWKl}<O^BZIIrE#eWjQ6de2m~t9hG`Yc&hZIO0^FATDCP
zf71!E$k3ZII>kMVb8?O}9CDa&)5t$tfBo}PbHi!#?-(TcTuQi>x?J>+i;~);4H108
z7gM+PafT*kd=YmK)QDQ#mf^MS#A=>1hDj<N3tBpt*W@kX{2dd0?bWvy6V{e#c@Ko;
zmmiKiH-$wx>Z1JTvsW^7Tpj%uwVV#STwmw6+tyEne_4Omap@;Qrqeh(74~p{E@*1v
zwpbWqDZV1$s>hPYB`)mjx>ib=85jNf7clFru@d_i=T~WTbFIS8Re$(Ciaiq%H#*1R
zn<8Nl@*wr<G?r#|ffqGKPL2!M(>ICR8_ORu++uOz46oCU_IX0KUlJ}XWM@uk+O+EK
z0q6Ra#}<ank<j2y4p5R=zJNtcbkF%kPL*5--<BUewEBj!=Kd3_(#}3DWa@qCc&zW`
z>c*{C1HU$RSg%xDs<JHi#=KAZ{J+1iC~4ewAx>jMZNR1lyc;CtFQ2?ts+)Jg(2OT&
zL0H6dwq`ql<uTG7>#HoApUnBdH<elK=_HQ3YDcW%_3Af2@^IsjY*tzRD^#Ft=e_H3
z+e^btt+u+dM(MrSaI{c8@phbh)dRt{tqV_0e<7PzGnrxX_1PsKm%pB<t7*UE`{~-3
zQd|*}#Pam2Pl)+u3eEYoBPn9{w@~eG7tiWmIuxce=WUgT#FL{&@jw1-@QO5k(fIH5
z?klXT%jV9yQ1t2R?fU7T>vw3bN&KG8A{rl3?Ja6Bf7g7z)a?i62`2p0yPsQ-ZE`?^
zpXp3``OCEVyEe}iy-^bW;hox9^U!$r^9#=X`Zx2?_S==kOHTaFJoxZ}NwIgwiPZHD
ze81}6rTlLaJl>MeHRH&(ttI~3<Xgkn$tGm%=`EPywO2ZK$Cv$jmv+Ub)Hh2$y%Kl9
zF@)Q4=lowc+P7b=+j?r%u8W6`9dY<JU&7?(;=jj2za}iS`tZJe_0RQ=T+hmU`}Z^K
z|6Q8*m%IPqKHi0UkFAxTU3}kn*ZnJR6Ac#dZDwb$-BobN^7M=V`-hqu1=D2juxgxo
z;4t~m+~n^UAIhh4WaPya{IW0Hm)F9?U(Z~@yvpTF)T$$n)AulJR`;q;FzeGed$4h4
zBFDXVg3D)4sVUlbQzpgh#fG=uFLoy!KEH4`OIEtftG4Ce_~W0~$NVY#cYeb2Dcfw9
zf4?)mHne=(mU6}`ud}|Fo_`~o)swhQzvkRKDW<nVJIjw`-3+$2<bPM&@6UAYj73Q<
zdyDO*`iVDM@AdH4205$VGGi`2GX4ExCSPHvv)$TX*8I#{pt33NML_1P$F1KNXK#Kh
zSQ7dpZ2#gt$`%Vc132X;WbfEt{yI*u?{e=R0~NXKCl_~2H~o}&+p^uUrs4DT{LlXT
zYxeTU>9H)_^)|4!ppApCBV>E;gEyHL&wcZD-I2Yw_UoN`i=?*3ZK3>Ye|-B_Y_RNZ
z(EhjEv#ZMspPL`wbMn{riaqD;5BOA0%>VqqZ>69y!{-M<Pg%CVp8m)pY+FkU^MsnS
zCv4vRnV+#T(kbci{L4X?pSP)P$k2JhI7`{ZwBXfp_vpUUHI)_hQnyYR2&wN4`eU|-
zRm5Sg%Kzgt6%SZnk-Ao|K5zBUpMUy4-`AVJPV0Hbqu8)ztCyMGGda32^H0^qn)&9g
z1p&=syLDBfg{95^Morl!&tg^bM?@@S;XTR7DrvpS>S|%Db4TtSYP9G+adrQGo8A*w
z>#TE_rBr_0cRDmZR?Z<QA~&9~Gh>->^^f@<m+Y?lzppVUz4(0G{-5gA!u1lnk{gnX
z-I)$@O%qt_ruWXVAl!26$GvUW#3V9QV-B_!_B*ush#qgz{wESDTXy5%>s$BUzT&9W
zQrdOx2TN_z&Z=uy^H*CGrqykd+x9>2gu>~jE-k;5a31}63tt|Zm+Dv}%=3<8uEgzX
ze*F{Mu2%{sylrGFWRm|d*)H5+(JvLfdxo7mYgqU5KG~CYvwGQmr|(7u3cutV*}OTi
zv|dc7gO1@~F*GwbnZD73N2@+J|FVa`zj^VAo&3)`DsFy{y+1o7gUfZolu55jm{=4G
zZ+mpgPMXqm;qUj^wHuSw{SHiceBo|;+4b3XZ>FcopFh`ASRne~LE`Iw3rgR&ylhAi
zc|3!q`Lu(<kq{Y;u8GTZBzl^~6_>vaZ$8f0qwH(3X3OIKO=ijubFGtt+E<_1Qm?fq
zQf=Mk*Y>tnW~Za>I=+tWKA<Ht!O3Q#M~8*P*(m+EhY39UZTSq6HuB}YJrj9gtAoqz
z(#sDjUq^DkKjyQ*UxjnYG`?GZ->Au2%Y06p{jk7rj_T@^jV2B6=5oZv$#NgzJiWE*
z(*MQP|9;i|UsV1^EqwbVp+u!mC!KFBbyHee&+$6x($Sldp-L+~dOFfP7#cXHWd_{P
zv&s&Z<+~m7ww3Q%NXYw^xVs))M@;_nln5!eeie7RKOsXw|IA0>oQecKhU0yb7y2eo
zpYid^|9{(L8}pvcn3kvDeRs=uzcVR6%4X>VT0in>QBTv@e5_#dB>uyZDVCCfX9WK=
zN*?U8DXR~7c6kZ2F|V!q>TLG8lZ;CICLUq^awS_`YmWodj92M@(muQjxH^+@hs^1u
zwDj3uSnV|(Ma*s<uUhrC_}s5m0&2{H$2*Q?&F7IhU?*je*CpUnKeyx0-P>357Pm|f
zFZ?@G*W!`V{X_e%Nyo78$na<zvdy}jJIS3zLiAC`uQ(Nf`gO&Yzg{ckW-rxHDy)%M
z+Y;8HvCUhXtwmUB%kAYs$u_sOID3~^OmOQ`^!%yU>!R|x_|fkvSzQ^?>U`$M8$%`~
z)F0ixH_^|Q(N?iw#rMoB0_V3q7MR0qa_LB6#8Qv9rkV>vZ^TcXytH`A$=$P0{(flU
z8U9Z4&Nn~%W2UY?6Y}dnCCliXmi#Sde=Wu(+5Xth7VDYvZ9XwfVl#I9t>aj9XnI7#
zb>k(gvfrLJ>iMIwe%pq5JMPJvzxVwzx%!;gx>{l1OWyWo-fb^0m4;tGJoR;L#o6*n
zJ9esW>piLPBl-S|9Epn_np_nOV&A_1m2LlD^&-^E_`2Wb+bIv%Ffy`l{8)c1k5~He
z?Q0iW`~_O%+VpyqRkLHx&(gidnQ6Xg?!2eV&$9L1_brNHJnqW1N#e7`p%bQw*J?D|
z-sKf#EVq=topgIngwm-ijU36%`az05Gk<M5q{wNwP_gIr{WH%yE6?nFa*11L(cN3-
zZE=s&9NF&aFK)b^ZqinLH9qz3!xy)H*8hBS>G$u~N0#OFv}p_H-QP9iHlNPJB9BXf
zkJfhusk|54buQIx?k$DCWs~A|E-aezzNsMe<YX6~TGsEJE$`;Nyw&#Aq9f_`_P00Q
z|CDex>7TJLtLLBbr@FJp8$Jo~y@_Z2yfnN1n|jb!TP9CcCXOdb&wBq0CC5yc%RF-3
za@`8idbUi1C6X4?ohxJ2+!WhIU4Q*Om@mrCb(CwjiSRv@$qyQHZ9P5imWkY(`*q6K
zvd|j~6eE|P+2t3&GP8;0!PF_A+)bGO&Yyj7e`Zd<WJt0x%fz69zzeJH{rJ7=2>+@}
zYKuCAcP!r1wutlb5&lya|7zoHe#)CLKM9&+V(gr2%EMGIwBxk*=73n)t1avu44*oV
zdU(iBlkpcjnPIwds{`l5nVNU&=FFZIKjX@j;%x32YG)!>SJzbCt2MBA`#p~TpNZh@
z$nE>sUWf0LTC?Ai-E33f8CDlIb`vv>CPQg+O{qTb35gX?PEF}fu`J)%zt&k=a%TSA
zfLGnS!_AF7cABT0tGAE-kt!g?<u^NXrAb$2;gJ(>D-HD@FYa?H&^q9#7df^0^i?J&
zYkAglIw$&{I-Eb=e=;YJ$<biu&-B*^)K;DO^rFx*%14WPlg%_8>B}wCQg<)5X=_}p
zHFpAM)XHNGx6N2xK0i1!<BDWJbN}?C**jFWmd5h^Oh{bs`KqOERqEV&7a{TWiT`Up
zthirk^uor*c=^XY+sf8Wc*5%Y|J4;QRgWXCiItwx%}c5s{ssMZWE7f|<knu2vAkUT
z-}fw2hW$;C-J~|WUwiQL!HW;RI6nV#V%nQS|1S3}H&6G-uQ918D=fM5vQ++B;uEHt
z6?!kTRNnk*JEU=hKRfTEtk-cXJ?;9lKlGOJhDI_k)vsEv{`d3p_yz4h_bEO8aOH<A
z-_8W9zb_gN%>1qR+w|DinZI-2vL@vGy~tj-bJiaJp#0f|MV5PJu6wntcT<U_q<VMC
z8@^_b69ESeL;W6ax^eSIpUv?z3$|~V-|Fz9Ip<s1B);N$$L+<Dn~tYm{ju<DNZ9nC
zNG0{Vb87XnGK*KOU6oXR;g@v9$^}hWsx33v*u434(4n2v*9Y*h)*lnv_c{ClN9Y;O
zG)99JSFANIews2#(|r-Y=JBUZoE}cL0x299w*9N!wY>cXPtX#PXQ6&9X@7V9ex1tp
zWe)rCVm)_ze|P&hkGBQ=u5m}^zT7M9wM?Yk>7k+S5@X*v{OgjM=JqT$D5~!}ol|Bs
z&GCiaW8s%OS69pnd%0@KHWl6a^wl|$sojrKbe!V3!cR`_zZ~!W{PM;5%6zk{_||`a
z!1(#^iJ52J<?X8cm}>W1$xWVEwr|$NV)xAXg}tAPp67kJeIlFrd#JR<cNXCot46+=
zT(wSdMF#{|9MC;_at3?MuB9w1Y#P{G57g~>Ap5aWz~CY0jU#9LH-%a$7cO~{S6Z*+
z^gXk4)6UGDp&J~$8xECosVR$9^(HW9FJR=0JoI9Tc5j$Zb7k`cV?Ab}&dE1ypSJom
zom+FoeEa49_Zs%?(OA*`+j>jMW~++}qiyx>&6{_ZH`DaXjN^yTelTC+bFN^8vDm(p
zx+QZA+v7zqN)$?X6`D**68GAve=2#QcHM(-^)Jtt&UrAo;5ql<^D1XoKCf$B6MONr
z{Ji%ERen6Ys%*-5yglU$zsN)$!=H`+rCV)pEa=_x<;(5gmp9jMe(-8(lm9vW|BO5L
z3wtbZ_%AvA^-kGclImAit;w2rI@ahn`>`1(KQ{Sn<WB!!bME!Zv&FwF?wdNz>D#Wz
z!g1^Q?WV0QZ|b#5#1kqQ912w$k~kLhCjMfm`OUgvx&q6;cR@*8#7`(|uCK5)%D#8<
zqN3KpEw3D(+!Jt9jF7l0p@07_qleytF4q3C_1_%3irECX1mdnX8+^&)+I#5l9MO%H
zwMuv5lZ2;l{!u*d+C>hoc+JK0IQ|F-s%adG3%RS-l(Mj68{3`wO<k*V!XC4VD82Y`
z<@AFfmA$j)`K_<}X`isZR5y-yUfezZb$WSu_vIp|n7gbkofx_5<`Qvn{@fs5POW&o
z7jIuad6Ut!_K{NLnR2J_^(}s~$F~V^e&XW(`MdMy_ebJK|LuDupTusHwtI5D+}i(K
z8!8MH`h=(OT`c~P^uqna6{-4)(}BNlFm$FZWWTzqV@Ai5cd<5N9{+b&i|(-qx-<9U
z%hajUN_KA25PG#j?1%P(MSia*CKnid+Qc#`H`RKUD*Hh$%^4F`#e03ts~72Bw9A71
zBzt%h*FAprbKmc7RXKiqI!BI$Qst2?BC&lEx*W1QZ`RCQ{&|Z-*uz=O$NEJk2i9-N
zKPhT-es$`vguHDptg^l)ykDB9?|vdE_xB4qz9>7PMQ)L@A{FkUF2CpZsXShIi}|>j
zME7q+k%0AAuiW0YmF4#Jb%!#xuDn?OWM^dHQvR2xwDx;!lKh~zahg!$#Er=-f9z{|
z*lg4C$gJX+>O#Ao9T_o239|B!4sA~PR`Zi*W_@GooYl`y^7K2}=D6KUKe>A19*69Q
zzmLV9T^~4S{hcJ+|2fAbo;vbNocOa%mWe&AztGh-#BTYQPZPvmo_aCs*P9t8^K36o
zE}d_)edAQ-R}SuT*Cd?Lux&IHt5ePS*RGzri-~<v-#1(RJz*RVJ6pWHvu4kB`qvq^
z#^;Msb<C8P^=Z!@DY8BcpPhJCWcBKjX?N{Yj~<?2sPa8>$?M7IZ(e=-Q~&bn*(aC3
zd@u3t{#^c<ZjZNazjsFSvi^egcZ`fL^|;%nh250Vp0u$^r>ON<#{sYISAvEIyK`RH
zp0L)dQTxtW7j*s48LwMuY}d{S1ynm(Uo8*&;WVW&&^!5m&zIig^%`%sx|}Zd@s=|$
zF<U(Oi(TAv(cY|?g1@WMRO)^>9`5h;n<XrB&M2p`-H7#oXYs7;!wUqZSMj~-oIQKa
zJJ(6)51$qF4Nv5nv?0EKTS42jsXkX0`tY<Bo!DHJ{^G!U<+m<7WJO)f?#?Ox?-r8$
z)HV9E_JnJX=T2g0oTcqvlObN8WgC9ryx!In&n#X38n?W~e|wsvr6+f5Xe285mAv?%
zdhWXBRQpo9z`bjh9Zk%W%JR_Pb5cLe<NIalBYF&rE!64*8hPW)UuW%H$F_ebuR?c$
z^i7A|)#bInelOqr+1sV8+KwYPN8Qmj-KcG5RpYU^HD}kl*(W$T^A)P;zr501uQ-=&
z>ghW>jtHBcd2}eQ>&io+xKmfweN^pU*=oZVHSI}&%6$cMr-OSu_)nB~GtGOy@R#|P
zshkRBpN-yfxE}f7D7i;m{n^$M#(YjzeU*?0TTQ3lZajO{=F9!be$4kSuZ&#0PJr1j
zs+DtzOh(6N_9%_ja?h`{Uw<@3@$=bPTRFYzMNB#pLW8u_d^Yn`%C1;ESLt@6Z^c)u
z346V=6l*)*iCwwm;$N}wOpoy<E@ShjA#=pT4e#Agel_vdvy?z>moK7Byrw4;Bnmwz
z+;U!Ac8B+s(PY05Pqj6c=|;tNCt3xp3O%BErf8a0-FiO0S-1W*e;1y&!702>rl)UC
z<~_bFruxXneO<ecR_<J&-h4X8%aU)_sVr8*%nQv6Wtu-n_+CGGR{iv+gBzp_B<;dA
z*tR<4uU8At_g`P=D!g*rnpIPO>is{n$~V$}=gzIG_Z?2%z9#F=hVHA4S}dnH@9sW(
zcV@<(wBGLT*RSv1BHUmadSTVeR1M#=%vPK0Sb0DHh&D67Uq5ld)quWR;$;cuYaH39
z8Q);E>$h9h8_WG_^Xjhmdqih#I^@<=x#wfC%#AAo=OUaxN`2XK@t*w5`3Y~`)-Vap
zPS?13K{)69^Eu~EZ2q4(mp#TQ{jkLKlC~S2yb)gcyLif?`1WLFE?73TG%?4$w}kCm
z%aLU@j$7VYKMW5Nyr;3m;tQ`Z)A20B<q9&l|A#NR|7QDclapGD7+=r%Vz&SJ<%{v(
zm%4nx-j=w)D-4_G*Q`GqdAEGFg;@Rf_=Dc(3(u_#_4H79rh9YO%#z7!#%0!*bE`M8
zoHo>DyZ*rH?*6*<b_|a@ZlrHFUhc1;__FT){k=@p-{roYV^6<)useL;2M#yEz7F%b
z)py+MBq|k;dIa2`eQpoG^D#d=-}q{SewM@y!RP-)&H0hC!&dTVqeNJ1eO23GU(K_p
zXTM&3d3x6E1RL2JS%Dj^wwGl5nT}LGQ9XUI-T%hygWIpmxz(xcSsS<W%Zvvd99#82
zt2N(e+c7_#>Ai|VoC4F~TVIz&<!T*1p=I~+V}Y!Gs_ONnk6s+rK3BHgoyk>UmFVlI
zN1r_V^yTl{lqxG*$%zk-<h%^xaduf;U*$gMe9ZBnt_=^qDwW=O^6l!;r#IH9&i(Ah
zGGl?lUk<--mWI{KxK~~|skCg#f<;rAp8a{KqZ=-Hrv32yG^Ml8Tcy@bFPtj2bLN!7
zO$O;9FN0?7yy5etDEnBk<n))ZX_-qaH$~o?+taY%jCOTN=DxGtzIM)fg_6%aHe|T>
zD!(<YU;OKE$B&M~!S#6|Hiavd8Nv^2v0F7Qm}md=Q_E5$vTr|1+&bae(lrM-qC{WM
zoT(`#exR03$+00rKrVfup7-t2sFRoG<;lr!Ja5$L=QhV}>(eWLPHouwxLz*9%t1*d
zcIuNLruS30OBYq8WJb>1o|HE)b*ta!-<Q^{nt#jqow;|t!L{P)n}zu1-PklQtlKG*
zZ3e^H8gu=4^H!k~iWNr$7N5<V&_8j*wD*Gk-pOjl4ECqYjCcFY_S$=<Tjz4zuGZWz
zSsjO-z{Pxd9JPV$C*MbJ-E=|d+^P6Eb;kvnD;>E4G)-rpKR3rL#5<~bern;TqdRu0
zePH<3)S|Zk=uNld{`D`ve4c2#G<o;t&9DE@T=4OVT+$o`w<g=9>Hqi0?zb)#+;Up?
zpt-Nadfk;fEAKV3Ua9%C^i7?G#-8&6$Jd<Z|4{TY>DaohXL@cg=3U!ABl)#bnObAW
z(nZIXA9jtJx}jmmP7an&FXwTtJ2p8!U;o}7ng1_&;x`}uRHS;kRdMDs<Dc~jW&xKj
zsyI8|F!-N;eI}FOy(hc*rC#%#So>c0*55k22LD5KMn71E=idnuJSE7kV3fE)``VL7
z@$Z(n1Pa)St@8P=d^TGB=Z+&i3apRVe%mDp-3YzH9Vn8tnA>CWk<Wo4#$S)F?YqGK
ztbCg7LSZSJAg|Y=Y)5o>?-gn~91nZcUoRodzFRP8b@`8oS0>GjF@mE09u6E_3V}|Y
zPA45XPb6>tX06ld<nkg;CVu{2yE!K7-rJpC;<Z1r`J8!W(uUaH5Ra4d1TL;ij5&F#
zrnt7Ua*p=h6<=5?ZyiaxKG)^?++E)U1wXOc-m-gSQ7&ZPXkFOw|H7K+tM6FaKJj}!
zcs-;3-@$t#2M)Y{@bpQImED|{YQcqf)?7bY8*@^*@Ib5g<nGnC<(|BKbV(&P&uD?^
z>WeP~1f=b2cqB6Cg=NlpyO7<oK~9fheoVYv-%-zrxgz%Gc|}7#Z?4EWm6txZbD^!G
z?<C*GYw62Za&Rp^CcT||=d^SCn06UlocC<aO@XIR9IES`ltebVZ8=|i++_KS6Wd?J
ztUMT|-g(XBsMkxib5kDW#<DjBKPxxQeeIgA`~3a3(00|^%VuufTbgBj<E8kNNGWsU
z>}RgpoEz^>EStaR>w&L2XAj!Xmwx!`m-UNmr}^^h5AO7xwO~erL)Z=O`Rb9Gn`hQ|
zJXy7=Y=x{{_vuylA6C|P7~D5*epQy|e}As^;;U<p`-;C3k$2klR;$Wyk;Ic66NcC*
zR$Jd$TQ1G`b;LwpPm4jrLS(mYl>B9$OS+jc%%5hReqMXxX|8QuS@qwts?TLrtEK;b
zH$Qhpbk*%fS&!GjoA`Gsi7c8uMRfn<?cw$wCvDYjS3a2;(wljYt#PMbK>hpOy^Eux
zFZ?R~{n##X*QxD_X*E{@jo&;^UQx~Y?6>UIi^mjmi(k2TTTHvS_wjP^aQ6dG<-5LG
zoObiPY#@1c<?1PqrI(a1-@m-QbFc9cGqdB@PW(ChLcjOw-=1cr6%HF7oLq7;@Im)o
zzIlOf3x3N6d{2;bkiC<0xcyReQqR6=PwP*mtglH6jJnUeD*f&q&Hk9_SCfBE@a>=C
z7|X`N8{n=SZ4>Ko*4x>xCw=pkrVaZJ1_&&8mMfjh_STk#C*%>osKp9L?yI~01q9Cy
zy6bX4`?AiiLl@W;vP=H(mv0pRVQskL<m=Z8ZndHQ?S~iXT;6TM{46zdg=WG<nG@|5
zJ5MdCPu<rTWvU_mY?I3NRUZ%D5qzIA)8ze&>2G2;&dB%L>vv|UVu-9(t|N0p?(NS$
zR-b$NZ)IQdoaA)NW2$EEvXk9fdC|gC?@TvbqjCC2Yt4#Urf)BPIjlGADqm*XGvoe+
zN$j=xiIaVpESD{Rku2hx!p}0lw_eNgc>T;dpPP&JP4TSXwZ=Ph!ZdM(l()8Ft4!8c
zb-bEfR{QDZU&pR|@14)LU%P(&s$cn|Rh$-&94DLI-RC7Ca?<zHriv$rEV?S13-U|_
zn-m226L`28o4;3er9ZEq&3DYcnU5*s-^?4A55D>TtjDG^mqkS0RP>T-+{xcj#o1ri
zFVd^IwOZ)zo+K@kJ@p$VY-N>bD7QG{+buIoOj6B6;IMJyyZn{afnqN<++VgiD{-;R
zzSlYH;(BxwFM34_F|9Uv$+T?R*Z)$c9h)~9MBn<yx{Pt+<s;jU>#TX`IeCM0lih+(
z%2zko^@b>zbjm4){$1~;p!F?l>5iA%z8Bni)N|wDOsSJ~FJscLoc~zzK{EbV-S-SE
z?F4i1P&u=qg#l#DVRs@APyLoFS6ns<CFFlQ^3r1Qk(Uwe+dPjgb-k6;z9?kkCZYeo
z>~!vkc$`~kE65^u|JPpDBL|Zkn&Z`{e?ECWe+Cza8>gR#K|P0x^PI^JK|La=2W`0R
z+GGMvdWB}TOwWwfSti(>y2EohPy6kXspdboZL5xq)8BS<ndY^tCX0d$q>2pd|Ju}B
z@0{iTZ>E4i7xSf)3Wh>ToMNj_9zSn!;=!BT20`zT4dzo;H)uC@T)IE?;M*tLIpwtc
zj&-Sb9QIqI@+c_csQk6yRfpbc<t`IE=qdBAdrjo7uW4SXJI;!`uDxozEM<+vqLw*9
zlP<7u-g=o)B3!c~S}Bl8#PEYiNYvdp+l=~|?O_2Ejx|hG^ejIsHAQsJ?WGIli~B6x
zS}rRn9hjxwx7A_KQ@yq;eK$6W3n(v5IkC5ArIXgQ_MW{tvYE%PC5v|l9y)r$V19t7
zK!D^-y_WS=!N+(kg>D=!SaUOC&HW1z3a)&%9e*xLO8%;K+Snhs#G)&dC(cj6H)ht}
ziwUvP-XTs_hC<KcFI`=B=6r3|<Bf;bug|wXqxWye?z!=27>ypjH4#$bJFlm|{>$r`
zwSOJ$Q+{xA=Y*$kH{bj@Z}N?+{O@i{|9$%Ow()#M_UV1eJo5F*>CCxRa~<^;eQgqX
z()Z}jTW*yr2W~JoAGqO><dJo9$DvNunwy*cZi>)Zduw&b@n@@RcV1`JJF|9U_t#}7
zjH?4etTMl5JzLYm>`~vzTkgcUDByy|p$Q#shg$u)`wVhim^bZI<34b#<#ny!&b#}I
zezTad-QI5<zWjS?oU$`>*>s&09-;bphl79qe_&tQWh2A7P|e}Xt7pF*eni+XK8d^b
zm1WBtwwhCIHzvJpboh94V@{{ap<5wkUxk;&m1?%`S~F>z!Hxx6b_=F=?7UYHd(%Vb
z(ygOQB6n51d37iCVqAJilxgYokT!+?n>4#!FHYfG(R}4iWaS(dUp}v(@H=robsCaX
zJ?gzTM%<d?CvLznC;Fl5<Dk@V^V)eUHn@hdF3DZ==GCIAEkQ3lgoT*jOkU?3YL|O3
z-D%Dh(WIkK8rMf2QuKeJ!5H_P|K&QCTus%7!BOu@ZeGgHo_jsKOF`!Iw4Z`+q+evW
zFx1p?2}x{B;cwq^s%BA#(<I}54c*LlF0vCRXt-3?i|d>7L_Xf~zO+l)*>O|k9r265
z{=Kic=%8fT-dJ&zZ&`yWPsQp-mRFPIj?4|_%3Eb_cHvoauWjGXlR6F37J_k+5m(A~
zN9|5uw{byu?`=bdkBcTdKS_DsuFU3Kn7V|!YVq5<;@x*X>1qAmB5QUzb4k4Qb_v^Q
zeK+b>YtBt$@2g*EVA^2sR+oA3a{6P&Ket1!_`1AL+tn43@u)Cxo|f3IntS=($DZ0{
zgztV@bv>u7_x0A?(+hKFCOoJ-=B;1m>60Mwc20`q!e`!(eHTe&1wAjF{^Y`W^KH8>
z7@XZSG3Az*+3QnZMZ}hs*6-T7wQ(0u^_{f}Z_ce@|F6SkkdpHzw|;K!_VWC7>EZ68
z@4Zgw$F1voCJ{b)_c>dun_Ie%b>97M_#&ab_MwE!Mkl8}?#mBlb+S5@+!Vv|l&Yp*
z_pUx`#F_mr;e*1%T{>^GV{M+_J3VuMxzn}}-@4L|GjuX~y9O_rwNPc@+04`O=Va<@
zA9(G5_<nXHXN;-JTdybTJ)O$+-fWixnoKHLdfShxFH6;E6mq&A{L*RB)e{fCO`BQA
zbnEVIx#yiFYxdr_dhqr4>z`kD-@MyC`=-zFukXJ7^4D(@+96?Z%l%Y`$y&)JH&-RD
z>bPgd$#K49qs}Mw=ib*dOC_h?cUl{_Wa+yGfhX(yzND(3*RKAQ5*s_i(Jx&g_2KXO
z+2!KvzXtWs3+1&lFfX`uj<ZC@D){~U+s%P5c>33|y!vco`dKfBU-kCpMW>3wpRZoA
zHhOV2LyFN9wiR&?^c*)Ho*KX$!zsB=XG-Gjm#RzngQoOYD~hc9cj`Om<QvSIeN$GR
zUiN!_Q^*+)g9Sztgo+q6FT9g`w*Jh!_1f}hgjdzSzEs})XNsGQC&TRqu1a<O;@m%C
zC#6noe(d4LQ~dp=)>|Xj|MngVmX8W0`uTI8SsBdn;9Rg=$JhUEw8`wX-}ZawdgXt=
z|Lk@k|3(Qe>%$$#S8=bg`SD^w^TAK8IcB9+#@}7uzgYV8n{B}LkN<vMRu1LgB(`$d
zYuo3_uitoQ8P)gnZeD7Z`(VmL!G%JBf9qS1c^r9TZ+5p#O=H5lq{%y%wM@uMz0iF4
z%<Lqg0F56fPfA~Tx@u{MNA}8e5oIO0svYIgO>=LD7?sWTpEt!owLJ2F_?O40FNNJL
zRX^C=ZROE?JGd;5-RibWqW)>+@TG=5{U;9wr0cPla{t@(rKdDkfOFgDI~sLwKWEwf
z6nC_hZ<yZZ!K2P>WNZSi`RbQOMi<}SCRBHQ{R3rF;fo9v_W5~P$6wv>lX`vT<(wst
z7pmTHa+<ix<78M}ZTUt9eIwDGm(?4&6E@yBy?wVp@jRJlH4=Y~r02%|>O4Gi`lcz?
zo88sF*xLKejWEy`+-DqZ5r0QP>c8dhvy8i@e_$xfdKGH<ZRc;Bc|QUlT~qyctp44$
zNhUk~Ruuo!&XbNk<5u5m@g|8c|HkJN+=s8sT<;eDFXbH5v%2CL&zE<8UK74<jsmCc
zya)U4?3Dg%m*kdqZE7q_?9H7F>y%0ssVE8VH<HVie6wux=?(jx`QP>~+kW}xmp{M$
zT|WN$W6SRA-^(xmkMB`e?2m1=pSU~W#Je|>)a(BiC+mM|P5nHz)kkzySR~&r2HCYK
zTbBebty@r6^Kjj9r9$(ke!5SZp2?lw*m0M)_KlJ4`c3UImnO0|9cRo~Ju!y2b86KB
z?#&ByKG~i)%D?5}_4`M}4?SLKEVxfx{pJ3v3&WDa+b8GSUtKi+fW<%ds3$9q{@5xe
zd}+~(%#BiE$@NTi5_=+hA3Sr8X_?N}``~`tjFtxqcUNaRHylcS*c$lAhw1*~eVp5G
z3gwIc$eX(MjE4UFD|6Z+8_ju{sxOCz&F=hab^r2)Qq><Bw!WhNE~}<D`>EDEWPP|$
zHDB-Dx+rfxO^q)?6Yl0zn;)_K^eF7K`Q_-dB9cmv9hVipF}#>j&!ca9piHRYRiuc8
z@Vn~73ETc${M%r^NnXtAo9#psrOFgO=Q$h<R*uHoQ+dreDmc8Hec2!EmlO<3VeoYM
zx#`^1n5!n?XE(>Jj@F;@Rp^7Dn106st-~49SH`sOP_tiMm3iJMX7f=!?Pr(XL{GMF
zj=oZ4yhOmhQG&_A{Q9oy`uaNCy?+f#{&&XS3YKMyRrM{nd$MxvsY5LGi@rZQdEm!$
ze&y%gaUzwA+WC&{wYAzjKU!kWDI1Q$+H0j@tD7bry;{f1{O;7*n%@k{&%C^}r=Br5
zne*)Q!yT6kQuV5N`AQ4_{rr3NLFvv`vlH2kp8Wr#y+j(gJ)$#otd!my&1EsDzddI{
z@8lb*E1esInnhh+HC>qGv10#gZRz{#KeH5c??`Q*?p%Csx(Z94oJkgk#KHJ@VKc{)
z`^HRHzuH>;ey~&Xh*0*UsOp;mU$_f?oml6zk9mzltzEvD<QmyF7yD1qX@5*MxBfa+
z6Q7q7C|%%V+3={b-AQE8ui$6@Cd>}XmZ}#oE0AAyVb;z$Q~2*+Xf2;KZOZGYwO9Ii
z=2i(TW#K+xJvms5VWl6V@EskWqbpyROP=-o*SqGLl%^N&=K}HA$i^>HLK7~ix&F}D
zwwir!+^p5p`<K`VHeR%RsaNwhUnx;fPGt8|tyf(fR$DtPuBN|=w-ILFn>>Nx_zPXz
zc@E}>>ZRv7IGj1sYP8u~Bw_kSMh4yDvs06&=dfDpd}N%U-pFy+J0(xIJ4Y_$_^OJ)
zYvujxdO452QeC9mH!adN)iLc<M~tm*_FUtKt6$eGyLW=?)Qk@w{Tl;!d^9kackJj*
z3(<8kf=aKXs+koys%{BK=v`qux17^C>T=WL%EorhD|hRCSDekWyZhhjuMN+Xv`l`@
z<r(j8n1|Z(FwZ?aVM*7jbDv`LUI<_9yDV8Nw#n_aZL+OX*&jdQ1#c9lZ`pP$d~3`?
zYZWujM?#Nl_x+x5^@$DRvzU^ptuq_T4(AwmGjl9iWwuCSp}A4?9NYW@@7rwJSRBtM
zTsXTzhPk_O@x<N2mGzu`PAOkKrYu@=f6kMcuPa*KM@g?MyybH}vHDgv?{!7Z;&)Dq
zBwAw@+;2{_7fX>A*u*WtIitngp>A#0+tUgg91d~Jy7erlBlHC;ug%}>0s8JAG(9Gp
zZ{B(GS;@@)@{*nQY}|=_TZ@#XBllIMGtRFJJiyNwe~aPms{9ovj!fHHFSwn}nI~53
zQ^l1vn=VWUt~A@emreBMuDz}aMn{hNg<e|JCE36}Ynm^!Da*dCPZMO+CM52#=yBfr
ze#Q~OFMNmIhpuX8VEV1B-;{Fc=)~Q#vX;+s;90eDtKM3HIrq7wl^W&l$o*xv4vKu~
zYP;u0%RT>d^>eIuG@bu>erNFt{oBXtJw>@q&u8^qQ`iz}#KX{7vg2at#7oZ<f4S+r
z$UXT<ohz_mwx~-i)7C3<?>J_i^8bA0IkUt|>35mm8jB<<ja2R%SgeTgkx$zZa_Px;
zc9r*;JUiX<PQ=Xksabq*Mf~^R&g9gq+M*`M3pzX0rB;=u2Fz;RTb+?7d-p{XlfUOB
zxBA`O4Obdk-wOA&p1Ckh%axV)JKOe;2U?i;byJl7D8;_pRMY(?W7}G@7rzUG*JUi!
zd(og2ACkI+<&_K<+u<9}xKxsr;^u$S;c#DHyP~T8-@jLn{uNc(-rz`TmH)l>T8#Xa
zEf)-~Z4z=(O^AH=U3d1(pu=Hl%(X5G2@?CVRMeK$w==xB*=LzGA$v=wWmwpi7@c-`
z@1Xvz@9kHJ8hyT8mdf=a{Nb?$J9E81JuKkfqmp^3H|u2hf(M6Bo}9f)&%)^2;dObw
zi+KzAbv^IA-jePvr>ekhSjeOr@Mc?{eTUeAYoTe2c^a*L-*fzGHle^vKU&&dP0Fdg
zt^TdRlKZdh?d$739<Q9vwPvA`e&>;k?OU3ozsOxW*DHO6O&}?cdCSjhb?p1+9_Vxx
zwlFkr{LFWFcJhsDGqq;jeS0+d-f^>AQbrwbY-`WH4a|*fdHy^i>TUa~Re2wd&rN75
z47~P)bF#paxq>H-I!Zq+ys<I-j?(IX3R?~?nkaX?VTvSM8rOk+2KCueF3P_)o)dq#
zsF^YU0QbdZ$!9Bn-8ked(^4B7vUFR+h6cIrbFr;!EfcToTv4z+Wm2oCJXd$_Yp!SO
z4()5OYuqjDxbMWzYg@uAGB~}>&xh<NG3V=MIF^~}dFNnPW$L|68xpxTr2MVam=Hd{
zD%ehxEAdJjQ&06mfmiC5e^x%N_x4@<tjgeBrQNzqRvgJWyVS4DXy6lHwcrxd^cM?`
z-#_#rW1e`x1ht|Ei{&kUJ(;lZ`{nM>j_=OAnXI@dNL4rF>bIZ24u*(G&AfJV597jf
ztIO7L-CX0Ack}zIgV*YFIS%$qFOp!1XA><AKGtZm^Dnpa>xNSqcdsn`FgN`5!aIi+
z_~xeF%{f!n^UwB1;jgbY9hQ7+ckNc@t8M)Ke%H|t$tKs*(vG&s*RJi}Go?H3?%!Ab
zE4pvK$d~UqX@X@`!D9NtwVWc;XKv%vu3sy8v+wb-kG1=n_ze$uhS}DBGMK<_ebYCm
z!q}{AlFkFuCb>z*kMvwmshGC!w+oH+?V6&o_V^9)js34)?dliff5$BM=kcT4v%6QD
zYjLuqYx=tu6pJ6}%G7O&D4OOWdgsZ(^9$3uV%J@=;9bAHcBf|j=GvQArfZ8HO?<h}
zGh%A}_UT?NYfJZ^-?Ag~!Rf<$cEp^FSgv;E<5PX}`|*4B?fmi8iGkBb;Bl`~(y=9u
z+jjo=DK7V9!}r<)GrcB1xagS2G*?1R$R?ciy<Xj}2lIICQr%x^T6>-nTGy=6*)f$r
zMu7A1%+=;;Wesf`o*uYg%(AaaIn79Dma3=Gftp=YJR|CD?Bh;Z<P_X_cEHplG5W2Q
zjHf_Q{2lSP?0FUJ_D$b%-!jhLwZJj@#;ezomCH}~%oNay@I0s_+q-354@2*T=ZT#~
zOXq~yK8=rGw`H2*B-aD%izf7B+cHe|{=w57V&m|~RU!ZHtcsHk-xYZDCvMudH+_?K
z)g-U`I`_0#gkO3*u0Nc<K6Sr$g0`Tlk0x*P3{F-4lx@E%+_G*N%sa*&RQ$)X_c(L?
zT_O94DQaEky$n+?bud0^2~qL>+VS+UrVew%^o<sczRMmIeVi^{xW=(`qWH!c-9OIj
zn|eow3VT~k`Eq57-$u<Hi7UPSYs_!on4&7w;VvL^;_ai!f=?Bq4iwa1c~|;2Dbc2-
zCH#d7XG_zvcyZl4)dXdwH5a2@D*UrIehw^J`miF-MzA9L_3x%dT<><QXlia-=T#FD
znYqw;M~j*D?vJ~-eSV&IGG5-s<>M65+w+e7z4h&ca=}KSF3Gu7(XrL@{~ef`XT6^1
z{H;lD3fJ7d-Y7qRK4+osyRL20rS(4XyS|j%=@JnRtok;|xN!CBwZ>cat$AN7qyCwB
z+nm}3mFhaZE*pY0yL<TeoA>GD9ooHY)tpswoXk3+{$-oj-r3idy5rPEm7{l#Dogao
z1yt`k8)Km+CwxBMvoWjF(c^xRyo<5X+-)zmEqP+~zQag8<Q?x}U5iti(|68gt~}6H
zf1L5ti)k4pfd_g*7ER-M_^f1}b#g2h^MvrD6#~4KoVKTI<|TbUH0NeRTF`1+f#=>U
zgxExnGCau?aanBPy13_{-BY`exmxKxJ~MpIg&8w6eqK0h=E9DWgo+~}D(4qIV02Lu
zxv9u@_^7;dp~PeU{p~KVLJnnqohfZ{Ic>*5(aiedc3+e3Ql=}%bo?G2-EvUUUTo|0
zPftx`3I(07G`^qyz-f6xbwKd>9UtV2`?|$17aVa-iQp0Y=enaIL|m0UrlZqqQGmgj
zfOLr}LrZraNzRFXxD7=TeJAM|9qC*+)v@i|$`?n!$h5NNvMlL)p<38j5p<(egZJE?
z{7WWB4o#U|ztNNVQ>$IpB_UT|shZfyYO#~mR(dwOUSHywb4l!wtV&IS$I_1~Cttc)
z`^*T^Ft@q<sEupuor4nL2ROBE%UL%aD0#eZ+nTnbV`s1b^ZA&tdhT)=^I5wk8FcQ{
z>1^6pqhaF~{_cT7_N#UIYfpRSF@DZ@dGW^5S4Y(kD{1G3{$s0OBDSt*(u8&0IoEIB
zJ~h>;>6E;AlXt_HUCKM^WB31k_I}I7wQG~p9UN0G-CMZE;n@SLs8b)#KE0vHYrfm*
zU})<Cv;GBNzW;Pu^4iP))&*zTqOhr7)o+*={&-{bbKO$Osj8;FHO<o&s}#O_C1k!x
z>!ONs^M<k|1u;k7>@Gch)_G>V^}R&X`&-wA9WXqxiru<E>Z_^N16^CrX?C&=)@?pE
zQ~xF%?3@*_k<+-_Og4Lge7FB~$HPWnuWY#UE-NbY**%8n@++PfQuGz(<lgmT-k$H^
z%9irq{KAiUnJtB?!V1eKaf;>T&R?6E`=ufLMYQ071@8nha(5exZsGd8Y4gu!*80!8
zzH845mx%n8vi9vY6PcXZ5B@Z+yeTA58nD4xpEn~gqtc3N|J|=1i!QDEH$U#un*}xb
z+f&Xl2fWnGbhyT){fSfC?qAM{zPYh(ey@0cdYWue5!}YPtU@dQ^s185XU4kyToV-z
z-9D8zKks`!yFbh0SzXt%3)@Q8CB)pkA+=;jz2>XB9oGsbyx+E|M03Zq&l_&M-W{R4
zGOcFb$FF(U*Y8=oyE3dKWBYoJw9Tu3P4cR#xiE9WmCBCT_PsKtYg7Dh-pUuPJ$AwJ
zh6CG|=bdxhViHd<CO>cBbdB+dyxhTkdE1ZD@NIe~ht52!>=e1tWx&JtevYuXMj2De
zwVZ9KrY*7cHxz%0moN6?Ty?HI(q3+U(aC8lKbE!36R5aivuqmE(aEO{8YH?HE_D$%
zJHO?M7=P+Vk7T2_A?G-cu%6-m@%BLJX2A^k3wK@~JA5zc%(9LB8Smb0+V-!ip5ZOa
zoQ#W7-#8UL_r6_PBlj)QuC12As$+)TFJJ%lnsS%5g1WmC)F;<}7H;LwRCb)b;$lN^
zidb-_yZW5Jhs%8}%lpJ-SM1$9^SIryy{vJ^O&Vj%%x28UKioMtset!*E&IB#Cp}yo
z8k<-|ERT7_JFMv7)cxjvlIgWbrotA#sa*@Diay-c*)eNxQ?gOQjxRM!AKflopOO1b
zW6MQj>4Q7@f7n$&JT+nOhx#Wb)fc;DWtr4OJJmMZ${u6(<`?3Up8dD__I#P#|G%Gq
zy?s4AqOdG?+mQgKv->>yq+>5!+H+Afng93uT{TfTQLL9=cD%~s<iDn@(>r;m>YspX
zyHk7E8oosKv^myVIqcag8P&tN{{BOAuKW6STbB8p<~-hXuIFde+$jbk&wgL8Kfm7N
z!20|3pTD__eBfVyzxJ!6#^3pyZr^+ryZ`iQw&&_B`VOCdv>$vw;Sa}``<u?4%-!XB
ztY!5=^*M%{w!P0vdVNv-cgCk0m&mfEC1-@>&Wk=4+B9*U$&vi+xA`);as{W?{AEyn
z|Jo!ny5`|w!L%CYRHttKzIUZ^X=aCyJTo+@XI86EDsfx<tdQ|rk%vv>{WDoHhkbwC
zoxA)?!=qg<IWKnDZkD~`dweSElF-|thocMbHm?8Wvuor0KiaZ|j~TY@+q7W$iJQ;%
zxqaLr*R`u8m5J%?-Aa!P_w(`>ME}WeSh;*DmiCXO5&Ue!>D>1GoXke%hLAIOjz&fn
z-*y9!G96yVwQ7d)8AhHD66%{KPgx&(diP4NAiW7K8b=fkJlL?Pe*U|cY#axiPgdSi
zKXcdCwzlRjNBHm19aWVd|2%v2s?{&dNF;N{sjFw-YF%==U6LBAA+$8yeD~G$jh=e-
z`+rulK31B@R<`S+{A+LB=HI8c_Dx=}y8dH!^S-kyKR$c=`hDGjT=DDX;`MPJH$>Mx
zso2xwDzbF-+lP;?-#>hn?^#`3tJCt6ukNk2S>q$bIrG83qOboR-4}mYIZt&<s!n*J
zkZ`vC1mgsK9;uXvuUdPTzkZk(w(_Bz{HjO#QKt5xnu$wg!fZdwrnpME9_|Wvy;{wG
z$?Hg3y-0M}+dVd#f;S5<zRs!MX%@tqfB*7#@%slS3NDN+(s;he&`Hu-XXpM9&j$XK
z&<o#w*WN3;a`J<6b8fALSn4&=QrE}scP<>beJFkQ`(J9yTWh03s-rI5{n*(4X0r9a
z?E$lm^5>pfv(!|{lh<TRhmTjzhn4fYWA`=hwc^{fsqA^Z<L7-Z-mP#|cV4{qciQaj
zOfG`12hSSpQSnfZ)snU_D;2qOZJm1)<E!9G>40Y$B0o->%V&u4_=X=nbStpt_uFgg
z$pOnx^kq31osmvkev9{v(t7?YD?dGalv{hkGe~QzQ|rf=Aa<d@>ke4w-97xkR+Z<e
z`;1MFac^H}CY;$j%cWjx1AB_w-fs)veq!EQ&%O9Ux&KTRr?$tk`~H8sZ7j~p`sdTU
zf)6XMelAYd3|Z8!`ypZH_d5|SMN>XK-;?=p-hov|#IKv}ShuT@?<I>#!=HydfdZ*2
zIYPQFoky-u+_E5NX+L)WhxYN;cg;*soYCmrmN<p8q18DsRh9Re`*(xN)_VTV%dW1%
zyBD3@{(v{|u>77y+Z0cz$i4V;+VWJt{l41T+MUx5hTg6y)iFF5|4D5E_Xe(M0b5-D
z?$emLF?Vu$>^YtLPfce0pSs@jbO{Ih(OE9SAHBcDZqp20w~+J1jG7*Iu9%Z6ltODy
zl-c=h6$!MkS~{tg{lgYzrlU)FwC?{rR?j7y*&nkmz+m>GPp6J{9eK4fztqLUcfrMb
zmb<grUVVMWUm=$@{phi?6HixEy!t03VWMu@de@I_(c0P`M}eM$QI~cKiQSv+t+~ds
zx;W+Y95)r=UIRB)`@4&xC%*e9=VaC7@kR8SMzX2lXJ%_d$vbJTH|>&z>b|nM3#lph
z{<W-ETA*qs`*r7v1Foq)OZI)ua#!-vn*Su$GP2+4Bg@&XY|i|m7Ev9iSNiN1GhC9j
z<lp{9w*-G=){68rrv2eRWaM_AB{u5nwR3z6C(HJyZj^O0<dK;>?b@1s1_j=J$HecX
zu)NKvIeh)-ww1SkO*8+uJ)`<d@(nlt_fis)AsWslyX))vmU8&tlb>EJvHxuJm+O%y
z<&J3y9_#KnzozMpsD<(^j@tzeY(LjM$aZ=zvVY;_Z|+@1rLTD;%B&Y~21|F<?Rjae
zq4vw*_}=L74-dK5Fe)=^6v$5a`FxMor>xnFIT^Q92AbryTjlv|SY2&VvbS~mk0*KJ
zdh1&K?z{ERjJBz&Ka+oA-TL~U@4i}Zc^!WJ{r;c6S<dG_?t5MC+FScY%YuL2(lvj)
z<aFmB$~JU5d15h>1QWaH0kgnoWwGC6G(&i@cv_ZEJY;)$a@z5U))&=&aI%URdmK5Y
zxV}n$vzcJ0T<in>pUdu7-)$4~y7}^K`mK~C-&-Y}$Mzg^P-ecwIcHV<%-N5!cTNg?
zlycz9yzj0%e_L&vw$0FBAyd$@MtS*~iyc;rTUiC)ew=u2FUyI-M=LC}1pFNCds#3>
z_XyX>*@zUTq!-39G<*nbW^tMQr29;o;*pRgX@&P@&Ukiiwo9vfv*d#=mLuz)70rr}
z)H<-cIIN7#|Ab1bz{-CYr?v=GJgT2*Evb7bILW-VopqUsh<(rzh6&zUyCfXeN;uAH
z3&^ox7hjNEpuBR?gToVQUFW1Z3oqci_x+tvtOiG~0RI{ZLH;chUFS55X0<FYE<1Qw
zbHUUozrLAMBo}P=bf3j$Dr2&-Xy^3kiKSO&ReWr@S6Iam{bp8hhpcb^@nywV*n%I|
z%O>PC-4b%jH8|n9c=4Oc^{uz<=HI&^%#g}`&s_4E-$b^&e{U{sG<mnnV1wgim5(kH
zoWj4b1}8f3UK3|rl=8aULha#po!{HCC4>(<oUQhB5@h=Jrl2H%!A-Vpn{r#<iALVn
zCnJSlZ;rN`*{QQ+(;1f;?ccH{Z$0{r>&d+o-gEUfF$;sH{B*CFW~}w3_ixnPgZm%q
zoS3uuL8E;7-V>9ItzsToR3CWvxM!tH*Atdp*3*6N=|2CjByMb+cc!+y@+za;VIA#B
ze62Gc9_*<utuuJDrTpEw@1pOYzW-i+Q&2ckrz_BO&CTM-H}?AaVf%MYHuVqQc>3Y-
zt)3GOnAw*xU#;(nzIwpDE@8nFp8PGmbEHoz-$>lO$d7-;tC{@QEe_;QS@Jp5;+jAK
zPfNhID>if4WIw##>Fwj}a5<tOVMc4QZ2GE)3L1N+UOXso8@8apHMVl@o=p#W{47sf
zo}T-3PKe&3WXrk5OSqrSTKD!v{;#|QgZyJoJ}kdBtdPrjEq7RdU;TwPqxx4VUo^Ap
zCNO7Ob189#eh@pqRJHk6Q2y-Dd6)BE-}AJyO4rnyc4&^aY>!Ayp>Gt2X7UNCoKJ>c
zht#r~VkO092`ot#%Y56B9dGIP?AxnU_9P#T`5sr=TsOPC{dw}`v1xzytv8V7O5Xd^
zzlLf5jb(q>rTm}TXWJF=?n<jyxju8H2<LA9e^OTG&K{m_yiM_I!^EESa|%+K8?@|R
zZ7eR5Klr|`WZ~by>uRcdu5(%yet5J(vY5xt-?Fde(yN!Z`h<+;-jIA4&{HhXY+1NS
z#o(CGZzYAoNFnEN37I)hli%DE*mU%n<U5ARD}x#TZaft{%gy`Uixl<BAMZYu-L4nO
zDe;+FJ;&eJZJ~{^?CZ=EpG6jyOqi9w-$7+v-;@mYJ;C9t)<q}@eQ|r)dbebq)iO3g
z2bDz~i-b%Ir)aTm2z&G1%EyJVA>mhp_J_P5w#$9Z#5Vfc+zQ!o<wamFld}EPU1_&k
zM7lXskAL;Napc#=lti;;|4=5DN1a9-A8zldKeG65==>jF+LMd*{s(nVSU&01jIU2h
zY#6rfdvhW^!;&%MihR*x*Ofx)e|}1yFm23v|Gy>j0Q2&LTX!>a#$<P?-H=$!S?1tA
z*KODD2MkrGANqZ6nkdiG+b5)?8qR4WbIfhVlaGfcSSJQOGhDFy>EVDi7bkz3@GQsC
zpR1qk^p48<lgB^IkSmJJ@cke3_E)ao;yHO4b@f^AyU$m;TAi%Xf4%wL(|D2J^FB1l
zuY4$_{6uJVC!^0wk&u?Yn#uPc&(3U-_4Pix@Q7tSOM=I|o;;x~1*boV-6(V9mW~hJ
z(tSDD%=(b&joIN1nX_`<*CiyJ+_UUs?KzSB&CY>hHycEp&elhYZR7avbl8x?>)AgY
zzUReWOm-?U7JDK?FW)%waPzT5huKDNw&+cK^7CVPTj|Ax85uVcPglno7yIuJ(9wN9
zna%2m!I`-YyL{6Gr39rb-j%2F?XF$0W0kCOq0NK*3{m!9{4QK~QbqfXz5h&J@sg|k
zcS2Kvyvea&s%2^Wf6BbJ%VYg(aOB&If7|EJkw3g~mj9_Vl}Ikb|5ZoWc81?E554}d
zy0-YEd5gW8CT6qN!T`Eh$kJ>&_{yH%h{(ye&7h6hX~CTaM~*7zpR0OPdg_~s_2k8;
z{3<mkDJS|)H0rnf^m@BAZ@?m-<CTJZOucU3uiupyVZE)u6}PT#M{MlA37H3!r@2b<
z=e=)oF<M$Np`&A|6WjLG4|*X!o4QM<r9AwaXi)t*-EPLVoe`%kID2z1Z!nu(&wcW+
z-uC_eCOh*N_8!`_E27&a)hguXQTgrm>(=Fk&kvIc>0q*(dm?#RshG&`tGn$NEojNN
zXA_(pDP?nG>Tidovp$M^zk2ZOtLLFl);)~YHw^8`mV055>a^g1zqXpG|CYaXm$uIT
zqi0_DGfSTRe6+y-&tEd%s;ui*TKn?Hq?cRjy&`6*rtA_=vo5QsJ$SI^PxS`(SuNKe
z7f7_vTXy^GgxSlqGE1(<b(p-l;4@u+i`CTgq7fd)7EBcVd-nEg^YioScl`Q$b9T2W
ze|=SL>F2Z6dZAxuyyq{ynp{8m`?3Rmz20Y*o!+f3^KIG9YggOLKHFPm)J@!KpLtgG
zM@wI|{L7AdvDI%%HYPP?ufLqXO!F<P+%MIGUD5S!lU>f~$n9Z1pT8$;*3lTJ(~(lv
zlmA`W+P+HKXKO`E-%Ott`=*PNERR^WpH8hi$<6Y{B0_(qPuus<>&&~VrM8w|iHZ&u
zw`mbr&KN6U@Grr<<HNx#rnOSl>KnfpFMHXprT=`=Z^lI{9qMhHOXqCp`8@Nc|0AtK
zJDQZ=EOq$1Rm8_lbM5a$lTyyOr7LO-4)<04{-gYE%{_O9rmT}m3LXV&My^e9ybMPy
z_<a3y?dA9`cpu)jU7~em;&lFf;epGu-uYfP`@O0#{#|i*^5pzKE7KFs35gxQQ~gk$
z<yn3F{+&^m48yJ&<ZTSEU%O>{)}E-!$5!Ve!+y)Ye0ZJV(ds0H?CuBy-iVFQ*aG~&
z9pl}gyU=Eta`l1`NwwXrt1~!Hy=<KwlXPL>fmUfpw~JP`k3=?1Xj%X6#hzud`wq`j
zVvZJNu&#{#eTLh3>B|RNQ}pJ{TYLLGPs826H~5$QIaYPC^Y9rSaUI?$fu7`g-b1OU
zLX@7f9c0m0NT0a+@(m@fZB{M|pBe0`vbj>3y!Caaq~wN0XQPYbO-=ea^*(au&GV`_
z7AfPIKV^D;eWcO$j+p_%V*kFr-R}LY^^>UP{$&~8*@MHoJwp}0sAt|@6fucyspjKH
zS0W2q(@W%MC%v2|FI~O8eV5kua}h5D|J0itjuqRi;rlF2&0eZQzGc-EC7T;F%WgmY
zZOdx*gi-p2_d^vEZ>7Jbt1}k*ALdAXR%`!m^(0FHhj;CV_@kH@7qqTl-5A!F$G&Ud
z<{eD7?A>-VWTUd??!5ctT<M&-1?{T?GTe_I4(|;<+_~CnM_ye0^Om=t(q6mFQI-qe
z?tQJJ{@FHLe$RMC{k4A6O|QECDf)T6)o|9*wAuM@WG}w<XO|A_KIz9f&2K~7kH|BJ
zog#Yu9hSLNygqxq>Qn=>zt9O5>-Qe@`uYB|e`H*|7W3i4F@?S!<DJRsAx#rsltdq|
z`1iR;bkFAO1^dotnS^Nas+!GKd?Gn-=CW(;7i2y%HY?V@x8D`#oqI9#XMmt+mDBC5
z$?owT)+Qz^<W?uiY-nH*3sKoqGP~i@$|W~<E?ae~uI`lKeP8!!CKj{!+5B(J7kRNT
zJY?U2c}*)a*4nJGw0hOKd(G64bFOpdtGdmymOEOj^C4O1!^w1$4Sg-!?#uEr9=^6U
zzEs@3{N&Ev99}`~`SsBcB&S|y(cWQeuU~d$bz@7A{(fnV$a%LLvKaO-|62a{*rB~^
z#kG~vZ%$17`~7#l-lMt9vGa<)=)L#+av{k3)9STr?G4ntn)lw(J!7tX)p_=W&<bO*
zyrVLTd+$Gc#K^u+;o%>Lwdp!<Uzj<#YX3>o*uP9AW=-Ss(;;<vGna0eQ$HuDS<`O%
zio#Qqln>8L-xcEHV&?p9R;I3wZC|n&_kx#3X)&_*vxI^qMOr>sepG&J;k>9*L1kXp
zfg^11eiSz6@$0UwUGnmk-Fo*&Qt=5r1%368|CBivE<512j_DCY@=|>(<D-go+u4(s
zx5l~0DjaQ}S5|U$`NfD$ZSppu7I*7kI^Dc?;?z!S;WtV*zSXJ(#k-q|8Oij#+oQDo
zj*P6$pI)b=$KRN*aEHlkh>@ALhWUfQN~_u@3BOJ~`jD6|us|z}Vfi9CZ<gs@OE1e>
zSy#wLtakW6WyAbNugBh%PNA3IeV+7|ulv-C4%MQlS0Wo*xv$PJnPm1gA$nFdL)A+)
z>G~eG7|R<qDaBir4K)ioUCzEOULYV<Rq;G4QCak2$Q1`ej*7|Nh4&T)ST2w`SGcO*
zqBMmg>!4hx<10PG!=LQT^M2pGA);r<aFBof>_fVRSB|{>l9FY3_MrBs&tA;M9gEkC
z{Sjd@4vt^@V}q90pH(+c|L>7-u2H{y==w5AdGV+9nL7@bym~rG<?NLs$@Q6M9#0qg
z{Bi0(Rl}N7@AE%3`4rbWzkMI?u*l-w!3_(J1~>Y&)NgajZ$2OSs_Fc<b2pQ!8t2}0
zck@|#`DmT#-x=4pJWP}Der%xqc#7-ideaFS)?TZX1wWq9+P0+bP|1|JESKioVM?AW
z*VCs^&1R!IPq{fjOz-1^GewUc2Hjd7Q8KSW>x^~()%)Hy?^xV9`eisoW}L{LXl+#S
z#Cw{T()XhNrt|+YcJGS)D}V2@ggs{MZf<Eg{lh#K<>~u+c~YeeEEEhBg1GdZoboFa
zqCr=67#f<ID;S%ZP1m>J^cJ@;ummfxv$L~<-`HVlI(?!Ar-i44)T~+B5)2DB&Xk<t
zcP{k8_cNv;1t;0FI9M1K-R9H5v>Rd?=z?k+8@Oo}hDOr`EjhIXKsIyfd!%NjXOw_l
z@b@sMypV;VG1vwA!M=&b*$NhhCe!tfaN5+@UU-`xs#>vp`Le96e{){FDq5DgdhRTz
z-BHWZTvjiuUUpmSk5++8y1;&=N8;NyiZ01@&0$&M9q7_Hjl<<)0*f$*#(kB>ni(w<
zT59gxshRBHkykW%c1z8oYg2;H)xF<Wez){{-M8X-_bvB-uRU*@e%I>j>#u9}e!KO1
z`?<5XD__;eJu)?~|2a!|e*QIm)deh58iWFvyc{?+7$KY+b6MtnU6WpW_Il0P`<K`A
z$5rgD&AIh?-uFG+`g=b7`~Chu``;jB4G`UpJB2q?-w>Cp`!c`oHut}e_CM9@)IaaO
z5q<B|w8QQE`#&d}zg!HmtRA8sYFhx)?&$~4`u}<RbNk)b=9}t2u8+&9*GntkSYG>P
zfgO^wV7fNk=8X9_b-mr|-{&{jD{S7sETi82W30UWihfjYfYrb8Ws<M@A^H3M#G9pO
z{(VnMuYZ(QUyJVJ04A@5e4&c}hvT>Y-_#y^{NK0y|KIxUDm~;OAp$lE9z3&I?v+20
z+}(Xs|M&aWJ->suzW{p+MNt4#_2dK9ay8Fx<mNoL`lc>^ZxP&i^+<-k@nx$2bKvCb
z8}s8zW@GiOIp?0oAHqK_Pkz7i$G1ntw|CCJr#ZLyV(#;pn%jIkD%dUbqO`O>qK8vX
z2vdIb|Ec!>f0gfjBD&x9{c)SKH`hy78$6oxy}tIB>i=ie``*g`_y1gX=JK4?-k0ll
zzJD^mFH~xOne6U~Z|@vE<UW0qKt~^{u?ee%DsHad^YxH+-mgo}{%3z1`WJsw`JQm(
zyWQ_-J*(gS^DMvoth9fYdG6|a_I-VSZ!UkIQD;|jb*=oqXA7qO`(s=_r`oCbU43EA
z?vL+(emNJ65xm<B8mIqz^!|qHo37}-Ghp*=z9+Q&U3lX%`}*1+f9&UdPoDQI=I^>6
zd-do4xxCSS|C4jCitlZmzUTES{{7!4S-%xKHmg{F=i|N8r^T)j2}4Vz3ChAhK8Dxt
zd)e(iZ`Yp-6TxnscSEjcgZJfN^O|=je&73gAztRUgvGbQWAm&ZM0~ZdP^@@So4)(l
z0l)X0Gnqe|JbzVP|9G$Z`sDX}zpQ)qy!QBy@3Eh6&j0!1^}kQW<#YdEkKgfN)o#0r
zud?DbW$e-2+_Uypd;I(OneR`&{?Fp7*8Bes)-$Wu*}mW2x&O+PKd-N>^VY9Bx!)$v
zc5An6%T%<iXff}Azs&wV+lrqHE$z!>jnnrBd~yGCE&BfFMe;vpzDmBDWhj?8eVO{Y
z-JcHHTfctt{LW^%E$0oN$?pFq^+Vds$XH$4e}>J6^z@m_EyJ%b`v2$X<m(&j_wRV~
z?$zgi`}ZC9lHc*{*#CEH^?z=E{_mN8&6Cvp9beq<f9QPwzm@;b{QA<jqG49=Bi{ek
z`|b2}!|y-4_rE=0{`W?;|Gq=f_kPcO>|Fo6oloY+!f@03=e+)ZGR=Q@>HVH(J3N<n
ze?5ejc6JN@==}d-_jj4f`d62n-JkuPvE1_a{!8E8Z@9jE|2jTwt=MD1vdpSK#na{g
zP2Mh7_x;@Sf5Hd)(~|x#Klo?*L;ISmtC@@UZ<Wa|`P+BikR22gW?x=^pR=cLZuw8!
zv*+VuwjGWyI4b`3=PCcWpBKyjY%I?IGcP>;)8qgDlGp$H$-VEZ`nkXF?ThZ#Zw<5h
zAMrarrmp;Q%J-Ay^}ieQt6u(|wLW2~{J*Q$ZvTDtU8drjeoWAtYlb;~f-6B~79w+R
zGi;pyXQ}z^z0W3rd~v7tNoMi4`tbMt8)gUAO8>529oBvGmPF$8Wyjb3IaB-o&t3if
zuWvk`n{UTh)|dYG)9N$N>;GGS)J|A^uYAqv`NyU1zqw&^cIS@5JD*?e_K!P$ZvUfs
z&z|qmerNWNIs9G7{o=Rn^)Da&|Cw(8^X~tv@BjR<|8+M0$MW>QkIv8gzkkoW#rj{e
zR{y=R^x0GUH}(JD-_+m#WXH2T@%7(2_Z$3pyZ?1@zh?b+i~J|I<No<Be0^2l=Hlo2
zL*?xA)A#?mUcN5*xoKSDarR%q_deb@5_Y<8XYP;Q{r|QFf8qUnP1}1Jn$I;FlgpPb
z*SGv~VUPU&zMuQ^Z+Gl2|Htrd;WPH@hRlCHTF){(tEXJq5`TPO$u;TyU%r{&`W(l6
z+>Y;E?QiM(|K#g$uK9OAxV~O8`A^~B+x}&;?`wZc|FsIcD^>TB+rR$v#`tf~^W=AY
z@;-b1_xeAJKFaUOTK;RI^!l2+Pyhd^*0*@P|L@=Me|OsJUdr!%DPI3#@Bi!P=YL<*
zU;8g?bzFf@@v4*a>)K-%#{F1s{bcsrpl^rwZ!=D9|I=qKFI|2wdw%VM*>!*RJbqH&
zm|yc&UM5_w;@fF`>#eV6{HyqVQtbQB=DE9PPo5C_?eYDJH@}`;E|>EEd&AC7?}PR6
zx%VDRo2^>@%LA>l+-A`@|5yM1?>nRU_kTV-KfkW-rTMu>+Cc}xa?2z$=RJG#pYOhW
z;yix&->D3FzCxkwHiy<Fm)Fnx`+NScZTW9%?tQSm&l@eBabrf`J+Eh(=RT?xJt{wa
z`n^@9?CuAvs%OvVk4gQ$rrN$@&96@Bca?8b<LjR-kNXn;|D5*!+2((LGv`+w^*;am
zn)v+B=g;l`R=n)zh4jtMclYdjseZ2fAB)}pt?~5_-2YwfEd2knm3`mi?>+^Kb{(!4
z|M9)<$r1T}+0Q2OyZvRqKb#hP{l-fxOTPCR#ryw>PJevjfLB>-idzJ{NdQUyjcH6}
z;k%w~JDgts<kz#~?{w7vxrg`uzrO0Mp7Pntb7~)b6qMil@6EO2KJTo*oo1+aFx%a;
z=h-%PgG1|+#qIy^6yN(`r}+K{^*=5jII92SS@-<^XW9OJ{{PpBrzpKzD)~>}0jd7l
zvM<)U=fC#HAD^{Tvhvwn_4Uc}yMCSi`aDki?^DBr?0Ht-?PLDf|NFDN?#pleiogBy
z|1a8X|M!phyx&dsdtNyS*F2f^d(vUc`;`xN+W)L8w`;ur-)eW?-e*U4T(7y``2J6=
zaQ&PW?>^|(Y<m4^e$6>U|Kxd}cWv(bUEp0YF>R&iJCk`|yU*KxsC~XfoO7O)7QB@L
zDb6-bKH&fV)BD)!-^}%YK1$D)-@V~Z?Eg(!n@@XuHc9_~y-5D!yZ-w({^-bDd}H+K
z)@}JC9J~AOetow+_Sd5N*>?Yr&A4Av|FOHm>p+-q?D1Mq<$L<5|NXj8R^P(s@6P}D
z{FQ$FkK*sOAC`UJ`)$+zuXDrqKQWd6yRZIxxczVYJ%7{Ze`UA-x>EYx*0S9b=VpD9
z+uir~3acNJw8e+H`Ic^RAAYU3FF2N6?zTAU!S*?Y4=mT$w`-P1-TA!aymj2qJIv~y
zJ~s7cOuZ&a?(g%C-~V;w%j8GNdzEK;EJn-g7LC*Yo_c@3;QK}U{YU=ki<sM$74O{p
zFZF8L^oh?h&(-a`(JWY&x$F6z^0=SL`a2#S-*?+CeBT$=wvP|D8~iyY|MTI2m`<_m
zJ1_s{y*KqQw)@&u@@dh>OVR#u$LsBC&OY3D{;%5aE4|-qpDeSstGa9}zxUrg|9b`h
zf6m|k(DnJ=U%}>gXUm-XyN>z%-<SNmj34sv`zPJ^fA8V2uTnwtj)edFQr!2|=6TQi
zs&k#|w$FQLcK^ev>+>a^>{UNv{nR+F{Lj^d-NAp`!s9$|KU+8V-21B632KuxA(2@R
zZ6`MB`aVdnd#Y=G|F`Jx_Z}wp>nktMzj1cyuZXQTQ<qfE+WcSoH@IoASKi|JtogqW
zX4k!I_p9Og{gM6tmrK(hiSo==Fg!l>cvRhoS;qapXDqk8y!Y{x`zq-dO5Z47w>9{(
z^V<ja=1;c{U;D9gw%m`q-skszcre#lt^S~+J5m!6+^+OH&+_l?`h8!w{hmMPuUNvo
zXK%Ju8ywQ}ZMXl{C|&n+dHSzCXTYhYpzgu6<sah1{=9fDKj%~BgXHV>KQ^9!Ut{;{
zC%awU-{vxR<ARF^or8VUe5YXK->u#c(&PWuZ?l%G`8C<x)&|@v)E5Wa#9#aDvHAXY
zqUQU*iMGdm?{Z#$m+`p$`s$y2`-7`~E_{4r#`N1CCF*%3w!P{UV*pjZU0?poSXIj2
z-Wk_hYghGm<L(=rA3GnPTbgsh(FomtX3CA>`yTe|?flkfUEgnG47OSMR<q#!@B06~
z`_KRD-e31^6SzHgRs8Rv+5U0I?dlE-Vri*Q7P9!h$a#Iu;hX9IZq?8Ho;>f_o7ry;
zcG&;A++Y8G^Zuj%RI=~&SI#P)`kb3@-XH(Unoq~tzXT$+1mW?&*Ym;dJgc9}ljrYx
znTW+IP^aL>H);R4<9ap~AsCI-DGfq5X0yyIe`A&QpMBfEhw}dv{cYU$W9wWzWtk<u
zE`RUCm2>}RAFuyf`o;%q4@y*M$Nzu7r|;{FTwDiDtkARyNx7;Y%Im+Em+iGGdU7JU
z-}alu->OHQ>Tgo~|5SZCsXo8z)yl>0{jaQ+-M564R!G%V<5l4cr8!@Do-SaiM|WX_
z5@YP~X&k<~_;gW8Q{yYE`fpz@``3S69lv$?ztdgbOIC@Yr<N%P4zbL-Zup!3*6r9g
zmgg(^?w|M~zbjs184IQhKeBu(J@Y;({`c1S-@5ld>88&qWXnt0)z`aRYbi?Lfj9|?
zOb@N<pOtT1|9jW^>VKc-|9=&}|JT|4y3hH4ujT*j^|`*WHPH(x*dXC9B;l_RbNtP-
zuaCs{{|H@Qb#?dszwh{KUpUYI^F&>L@0UydHIIaky|yx&w`vNe3tKr`UeEadaz^aF
zL;An-t6tPwZ8PxUL=VpZrpKHuuWvk7ue(_va8cpk<}S9hJ$<qZ;vcWxbcuIP;+a{O
z1%nN&3tomdoWI1EeNQ4zz@4r7GuLk0!b$esjlV4&(iW`0bN|)4cbuPh-n+;fUU=Ax
zZIl0pb_?z6lR1CuZ&Zo9c|hpxU$GhW<tYzE4_%aYudz}tT4||z+KMO4XhP~i`A2JF
z`Z)i2&qz>Z_TKV6I^o{Lwg0$ei>HDT`Yo1k|E!MLpOrA*&m<gT<HhYei|_PA39FU1
z<*96K6|xLd)EfP&(|<kaxGKxWUYhcd_4CHd*43Im^H0yul??yqDBQQRo0T#Bqm@DZ
zo+m=TBdV`%T~xe5w&eAj$8A&npBW2>-RgaO=<n)<#ktng{qGeoEEY>SmNPp=&iurg
zr(r)+?2MaNo23@-Jo|L=^q3cW0w&lV1(%#+Y8#GU-}qtino1L)Y<9=V>rDjCb4;6Y
zH79e@KK1Dm{<Yn!wm(w;c|OS~GfAvn_K@N0`tqqan_ns`H>t@KGwG}-cz4UaZF)>n
zuV3}@Ek_m{oYv|r&Sj7h(>d+x!F@bWx0dHOKAlq>o>uYy@1e)hz1rVD#g^r-zFU0n
zbd8BOr$*yty~e+L`&xJWQD0~~Gyh*j%A}2^zYHgc@*A>9^iE=&5ZM+Ke16H}1;+&&
zQYDQa>z=C*vB~DyY_X+4Q@=S&ukqx+P)?g1##yQp*cOyD2+8wWpI52cc}2wHq-w$x
zgXwo?v|KvCaekKCF}|}|ljmF!I`WXC{<-tk;x{jfIqftO*D-S(aL!~{(r9<y>-d^<
z?Poi)<L1qk{5|E&m&(;u+|#xsXE<^uWz5NZb<-?4eFnc;SbdS&2Op`tUkl8`jfMY2
z3K;Z16Z(ABtMPkTeoN@n!!}3Qo;|v0{CLBY2QjZtg*DFHV&C0t>2;%*z0%ZpW;$>3
z59t*@{5qp&?RfcK<x5S@tA!$<@sr2G5vyNEOf~y|rHI#fbwaW8Zsuwu$%1+FBqg3r
zGOl1tz2?l2FiY@^(Y1Qx_mBUalse{kU-N72j*XqYJe%(rOgI}S_m-(V+3rV$CP&2N
z?=O3v9qUV<uyJ8|sDJn`uc>OEAOE{{TO@sw<gqsb6*|XkHZZ<>oABK+*{*2ip`E8C
ztG`8CG3Dj#Dy@pWU-Dvl5x24Ln<cgzQ;J!tn&tMC8lF3TfTgfLV|lr#e7*dv`EO3{
z*v#hBBv-S1`^`fst%>KF&MCam7N}7;ZDZVX@lXS6&q7WWdG`+?@-LWIq|ICtTqG>U
z5-k&Xc*ftE>kW8VL0RGli(mKa8MWMhK5NNXtJc)6dzh~GHFsgTfzg(gZ+=Hio!eMh
zJfXHe@8QCQwzF9n<t3lHB}W)=&aU5a^PO5;E>}%&3{$_5&mNX^cAqM4DQC?OJGmJ9
z3naZP`k3z(Cti<v^x$y5h*yQ_<I24k9;trWCE-4UMUp3ybK~T*LQ>2eNfA4HR_EkN
z*sWpY6j=3;L()N2;(6rEjfQ5cPa1RjF8$u>%)M(*RHjv^nasfrNgF5DJyD<Hd*E$-
zPvX<qg;x}vlPxy&C)?aLe&NWp;jok8E+Y;*fs}cY$1*q<tmh21>q|I;&;-?USmd6{
z>;+wV1`HaY&cOy%&NuH%b^a`Q^<O8cu=V5GjR#H?w5*AL6@GKF;q33SF_Kk3Id}xl
z6rN!+U^rVi^UVwAmG|pUKWe?f@{CQAVX~}@SJ{*Jch8jP#J_m|sMW|Pap}Z|9Fhl|
z7^g5i)_v?{9Iuhan5@J0Aheq8SpOaFH%T(Skq>i(j_7gtm%W}I!O0VFHi_{!yPZrV
z=bbAiC!ZOuSyNCf);;^&y`x6Qe9zm>T)yEU$GSf|#b@y)*goEnsIl{*Lj6gjga!kS
z)teYn#KMj8G9Rrn{CvhB?^e^ADUHt`!&N6|KU7ZMVd@zo`^7YFtNN~ARVP4g<QorI
zzWuOD^Zev5cTD4B|H=tAUl?8#Jq@wjk{t7t*-_&9#l<WFK5tH_CNy|mcxbJ9gQ?`m
z-$|i=#n&+O%y02MqdU32>M)-L6HBpN$it7*3{>Ua?;YL!Y4fY6n)|fA7ll8IJnwbv
zPO5||gIa8lki!L&N@e#HJ0*?78(+$sd??(oA$8$`PtT7n;8cy%oNhGP{5(&&;V~UG
z$=M1r7n?3QF;2O6`wIJ{{+`6AOKk57pI^4aSiCpV_^Q^6vj)bEEes2USnBWf{p*(Q
zeW?6c_|vEVYmdxKZ!5e!i?v6QPeopG_Pzd!LkAs$@94B1TQf6D^h?@|=_$O)9g-y*
zrhWkxce<Vl)7K@7%i5fp&&@Aq`+QFEIh)Tu{-XB#czn)E>P|hWvQOxC*j%CaIh$Jb
zS+(<cZqzO)IUuE{`$VxUwSYVH8cY4ssS4+oZeTl-!@>KTWm9F#y;U~5PBy0qNF5gR
zdN$YOSp7%ADm7oR3hSbL0rtJxzx}`Qdrg^Dqwsdd*93;5>BeddCz8@HoOTy$W>4@x
zcIWC7-wBoJzihI3cJqIGd8YK^lARk|^^FsS?alt~JZ)&7$alen^YMcQJqCSN+dl5q
z_3K*pGk%dukPBlFDCkbU=5Q=ehx^eRHZ|)5G6zi7rAHqN*u~?YA#=lc%A7_XyE7Ht
z#(&P(oUv|@t?-)M&TzG_xL)3ZVTRm4#?K<x9N2`J_0I9kPPuc%`eg78o8+_&o(ePD
z?XxA=8>fE>Ve(3l7K(Ukbxd6E@cpX8!9Nm(yy_oXZR0(dcgFgW_1zifQSV&KOxexP
zpMM%=yLNY(>GR80GfN}t`uEGq9k0j|xi@?M>7NzXwSN1|wGN$szvN!-_ha>6=RChP
z`Es(&*XoIJplleRx*_`d#@YRGF7mO*SN*v@=lTElIcLM~Ui~`d@VaB%#ZP-Qu5rD2
z{C!jZ;@R;B>vz4q98<)6qV#m--ETJ=)<>*gz%qqFeZ!^F9=({dpH@%(kNfGqv^qAE
zTN~Q^fpq^t9395k<6mwg<_cgk8}vC}SZ&kan7snj%tDa|Czty*Q|y18?)o)%8OxM<
zv_Vb|&NW4{kGZEO{=457Tk~1@&&5)mBkLAp8uaw_jg#5a*CqdYy9AUIVRnO?YZCqm
zTVLNexqHUn$Qzp1H#+yn_{jf#dE<w<5=JYqK6=stuj_`p3T{5_UY|VQ?hA)q*rn1O
z?>g(3rsxB(68;HOUrXr4@U411BeYaj`oG(f5TvdI$c+i!LKjMNy!U17T?XPJ`~CH_
z1A4K??TTLr{(Iqn{My^<>!2b2dT_gC3N#enR5PuPIsW5N>Wu%J9;N41w%G6Ld;42_
zEvSk?@nOVvmatuYbE}?TD$TjOFXk;;kA2DkEA<WD*Ef2DjQDYRBlGb(#R>l|rsy3I
z?p=7~&%Z~{R{h>RX_+>oYCSl>U}kTa2M_+sAk9<kA6liAi+L;Gi7EJ^^{7a$>bWDE
zT<mYAiq*A|4$kNSWYH@W@z$#B)ZFg%$<y!sT2ZTK`SIj+!~HuS{9{VEXvpV2g`p{-
ze)99R-^zu3!@)sU4@yW7?<f2fj(BSIOk8h&<xS)G;{ms>zP{mcqAqaL^3I=^t{lI!
zwSX&HSHv5|!C+3rN2@mO@Ev`zWv>_i;k<6xeOFKaA5Vkl|FR#mCU4xnd((fH_00J!
zlF!0wOq;$=b=!j!HPHS~1ITJnzWlR1dHUUN8ugz_&y*j~J;rFiQN`q#0UzImaE51Z
z4!0@qFiJn)=cbC$NnsF*cxhGkYOZ$7alQR-18dmUC+`!D@9uf1Y~Ud9V6V{wv5=WE
z2QzY*$}+fIkOq?Kp-E)I0j=wXcecrVDAk#gwzKbJ>hePs>v?vthN`(6NX>4Loy9Z}
zqcg#%0*d4P`~DjK)2WsH%*{71;x>Z^^BMC(_Z}e|NtQb%>67lx5J#W*aNulV3ESEC
zvGugU|CjX<8V{|+mc3qqk%?~HVkvuRRd)1k|3~-h8`u8jT_z5RGDM6m@B(Fs_#Hf-
z=l8`H9#8&rv2@L;c;w&($87ZM176oR2EUJ~k=^~N@A!|!uWwxY$9B0JRHD=)+Z&*|
z;Z$jleoWg>tFo(e!S-s^V@_w~LNm#aE3a>auiN$c2_E->$^q`_vHN~leY<JB{}8xH
zJPNWHYA+=GH*AHa`+a?}wb#Q@oCsA3jwrYbOJ!F(iLFPL0w={2oNq3bzA28cm}CFz
z^2RxPB+wJeHk-!Kb;&gkjn33tm7NurtAF0VE;;(&ZJ+h%hB^4b0=M+dt=;k<b(WQe
z=!qbw5*ipY)+b-T``MztME3Tl`)O6R=oS}2)qw&{`1;-APm5ni_{H_W#y{YZ8a?ko
z*7c2(#r1aAd@OzQIliXJepg@a&wS&(`;f8?I9@GbUb(*U_5L3$^=8kk$`t;7@(`|F
z@W^-O{?^*Wn&-8Wdrt-QS^ZeRBG<z>;Wu~9(!X~TkG}K}wM$?KC}Ox*@1XG#DeX1p
zBKf*a-}d1A-kp6n^F{xQd;hmJ7Onnm^{4Lf+3Sh(56V{L9+O*R$aBZ|1RML?RXM!j
zQuXmV{1b}#mg-2zt0NcmX4VLYO7H)oQePq)z52fE+4|_X)%CoqQ!74mMdvRMv3zfM
zUi#g~7oo>mxBiSs>`7+yfQO2g11EAwo8SEnGUfCAv~T%Ke*gRZcFVu*kFtIq_&o9B
zzV`FnYu+a9NjZ?1ZWkuOr^BELP8pCQwow;chs5vT$-i29=KtMG_49uGWmfx>oqlw2
zVZUQUe*g0Ic6^naLMt@wjGj%aJ)XTgLVe~2V|m%fGkqiGtWE+4JR}ipm<vv952nw5
z(*LjIOnv#y{S)8)&fk3Y$M#1b#O5aJz5N~DaGz(}?O8g;JKXq$*B?+#VECMFW8sH1
zB3I9uQv*#IGya#nd8TiFQa<+hwO8hsUjEiUwx_aH_tmN+fBw}ezutUuiOiu}H93#e
zEHf7!fj9x|vm0+<#Yy~ezPsN=>Put~zgPM#9`c};<<I+*zjqwFa&eDY^5=ts2hRRH
zQSs`9<k##?$BOb>o-$fl)^Be6ShV=+QbbN_JnM}}_|tyRdvyL-%<(_*nm=FeSDo>&
z{_UAPhS{HXcYKeTJk{;m1CM4o)ei|03wG%rFuytdVll7l3<DPC3p$OUekeH0g5CH5
z>ckJ4*Ejy2zpK?wx>)vdzO?EBl=5c*%aj8#oNG#C7ek7SveyrngNlNf`_pTX0v>GQ
zjTs;#f408fcG%zg!Rr|l|6DB1Nv=Em!WCWR3~fa6yUlOE_jBcg8=pU1-qm;ZYwgK;
zcTk%RY$7y;^m-;teSPDj_4NCD4watKOZtMx+^Or5OCD}IE&l)I4OxDhv+}XWpZ(hR
z1fwx<Oa)P{K5zEF{k%_DKK8iTGxMIfdKYy2cY>OzZPwG9gV!gYzw`6K$^Lc8#kKLD
zkVj2HB|$<mxU&CrD0RC2zP`JqPiF3xv-yd~v7zgdt;O|rl^uOOW2#?GiR|pxzbEx$
zlt0pwL6wE@cHRADA4}hGyU%;rzb;w&v$UK3B19Si=SxsjLE4HSZwFy|+YDSk?v}4=
z0~N-(KlUyu$7rwB2O(0w&Xf|_*<Y4=tU<TPOl86A8)h}9tK88`)oTWgvAg?fzrJgK
zlU$!#$e#0gK4_RO`>XVU?@_C#x=mYXQU2i2G_U<DYeYT1?(?k`xGiX;*I3eU$w|(O
zA@Akn`mj_(w{)SU7cPByzny=Z0~<rM0h<F;%BGd+LN|OGBsc8*JTvoEtXP!8p%lvl
z!o2z>iM0ZYkJy|@uoHj3+3J}chta&~sTKdZ*ynq(&HJh#yWoh82lMWO$t9`pxE+rD
z4pH5<%HVt0ti4Zu?yYziGOxPvCd-Z07E%rO944m=?RZ?z%<CXl&AE7?$pw{WyNrSu
zjvMXmW<Oi=R&yBCmQD_pxw3m3=bAFv&(_yJs{c<t`XT=3ja#oH{<+ur)~SC;%HDM8
zgjC|&f-`)M4ayDMA8-`R`efPoLFsJrJ1$Fy12)OREy<gg`d4jzd06GKANTY%sVOEV
z42fYDPHX|3Gt%Gm*4MVJ?pZ7D-jE~V6?woejx~92f`gH<XnX1*!`&Mj3b*oPmofit
zdlO^mE7!|#wY$Q4-WvJLMBB%!rkn0={OfvSXVNSiDaKXeAHRKgvM%7(W99r!T<fl-
z`Cop(ao~wU+Rcvsmmj;oD)1V_CthRTePdq2uZFX+Cw*Ff&pRDz$emDcDgQd^ZsN;}
zS$D32GIXo8c>M7^>pv#oN}|5Q?|%K9%HreS-uz(>dTBm&{h}53%3bUiCDva%e>8mF
zyZiGGg&unonRv~5Te_;*ystXRcFAcwP8)_xe%|3I_iXAs^-aeNjW^6<xxqM3wtdZW
z-s0q?>8VR4pGR8m>(?w!cCG(($nmk-Hy$awPYbyEU$~o0t$#MN@c9{&pUc*Gemc~n
z-np|d?o9TYrqye2TsE;_GLZDKlA6NM#Q!<R`q1V!!`~L)vf>ZN`l?PAO`9BPz;AT8
zASUU^D?V?Y(9?P9@NEC>=I(t>=dYI6re?2C{_}P1NqfiaO>FAMef1mnFw1DOb2QZj
z|6FOQb0wVV@x;UfcMi=8{ZW@+%;nK=Zr+>o5_|ayQg|PG9k5A$fA&nr^2}9k9~g3G
z7@lrmTyUPptC@k1uRta<-7xuG>b%0GD=XfmzWF8CHn*{O@zhx=Q8EsX8ICJt%SE1<
zarBJwIup_JdwXK-4{b0m$lDTBKiS2bE%@ur#JINaGrQQ$8+98@jnd|Kt&fU0UvXse
zSJ5>2dyQWm4<GkBRwHcOxwCQ3srE7%*#|Sfw@>o!vtFtrRvZN?-FU?Hn9H6&dVRx{
zy+5wxGpNvd{rUX4UpbqO*egWbYuNfYBGOUd%j{GBXBV#jKE=i=EKRP5x#M~Lqq_om
zAJXS}#wkBO)h^q#d8@?Xut*-q%koR23#(JR#l)Du?~Y+>_sTKS3!QOyg9CfZ&JC#o
zZsm728T}~MpFX3#lar}m=reb%R^jFS_DySN-I!iDd0FUYZS9{+56z3=%F|%A``!F;
z+Jf^cbBa0l?rhP^aC7)3`SO;kZycL`YJEd{m`(O9i=Kq}Sw}khv)RtNw|z32I`6n)
zp5C210;m3Qte&;Wvgu@~!EgVs2ctJ|PCm4}6jWp#n(KXi<EwI}|IXo=-+JO#r!L#K
zRlh%+VMUGB-({bIi&uO(6Rv1%FB<-Ds{hjRdAny6%K2+=oMiah*lm5|g>#$K(*AQ*
zD~H!_4&8i9Wv%&#nv@>R#xKbgVM!kzH_TnD?X$jSQ_oDnGw0Tn?>qlx^_!TTlJk8p
z+|Xp@ox&hs;yBIFxasD!ujjtcteZMl+x+onPAO~E3<;mB#qal6<R3c25x0YX_J$pg
zd@t+tPM&cohx6Z>M4rjZ?oF-OWbs%q`dw1(u}Y2X2h8=74bz(>+!-dPzTx>SA@b!6
z_xydJ(SzIfW54=e&O871$NGm}b8~mL$Ori8)lBr-ztSfC=#HxRYau(hX8v3`Bfa-a
zSk?2JjZ=4?@;bJ&yW02UaW9#QZ|gsF=zjn9wKjFX)U@r7Lu$)T^i<!v>|N<{Rj49Q
z=HQ)kRgVu}oa$qAu0FJE-Kv|7yMKj#Gf|blsq%Q4?quZ|xsmxb7P}^S9@}~9T&Ssa
zLHPbtUWX?iSy+BAxmZ}uy`WyTjN_E&(q%h5KTYvEP}92n*9N=fc}-c9w`hGnz~C6L
zbEDj>JKT~E7YxqZ9pGjS;F{ycd872ruGi~!KWO5<SNdxG=JR&9IjSFBum64j|3B%x
z9S>hzT>Slh{r<fR{{D6T`|`#i{aOE4Chpl#xSch7>zN;?+qTYjS5CYk5>Xmlxu=5R
z>hE1=R)2F5e|=r@^S=nYhKYZjx%=*9r+m&x2|oV_6tTva*C%ah+_xz{b^adbqfge^
z372Ka^|o+wUt<in4B4%_{P=6;4f`k7pItoB*S7mR_wOVdTjRg4I^@>NJCyM?*;;>6
zTb&SpL-vj2xAb(q)OnJ}-o#sOsM}t+mHD&pneLqm#xvX54w$S?$cw+&zP6^=)?AHo
zci+v}Hy<7zt}lLcJ-q*K)timS<tm?ST<k7i`QzbYe!Ge%_p0~TT=q4u|IjRdr8MVK
z`1|_*FFqCr{a)Ag^Z224e6z04Ic##~nTF}f5Bmi2CC<M;x1%cl@`8|;*QXtS#;`|g
z|18cuEUGgu2=%Su*VQQGKH+u7rd#%Km$!l}i|Q)hI!<|Gp4gfkzk__-jvJC}y%Y{I
zn0PDjI%Fm&o=-ZS@i1tz%*E>D0Hd2ai89Rhju&iZsW<9~Jg@qK*XL2>8;P)(tVzmM
z`8-}~vsHVN4c0wb7kg+QkG<gv&#0}BcCrYw-@Bx;HsoVy=hr<xGY&0Xl`49#dbQ>o
z8H4wcTbrM2_V^|o_YAvt=yZ#wuk#B<KD%?yY8yO35ik3`qCNiT8@X>+g8l73KAGHa
z|L@4(@Ad`n_tt;E`}t_~`(3Z+HJjfrIyyC6-m2tvWPQc7b;+~8ynP*u-k7{`oaK+z
zvw9`aw5k2aBa`EQo_gGG_v?o3_dC_k=a%0u`#rav@9wvq*>?3mpN8L@-}lmLTmStj
zZb)5TaI1JjBIg6EZ)c3_&)fWb5?m)<{o|qgyFIVpMd$B*{NP~py8ZtiTn&#eznL0-
zui~*|>~XU<x39lO8LQG@RNc@I&Z-Z?>)9)|KiB(W@B3fK=y_(v2h)qJwi4{phabB#
zJ^0SM^xVZ=tFlg<O_30cnq}j`e8KqTjz~~Qn@DlgSLqo(n>u5C!P5LsK2~M7yN(A4
zGnhy3;M%Tsb7Ruphs*pg@W_3>uu9Nbc8AV{&`#T(t(6jNn-;rwMmtDFv_8Mr(_AUm
z@UZrRsE2(O_w<CM1&=NseY8(5><-hV16nrUjmqlNzKMVS-4>pw7xvP8YJS^+CHr?6
zE3#O#&67?)KBInLm+}5{T6VAQHn5b)-oC0o@qc9Up4HCoXRc?>oY)#Ge2wq;8(|g;
zCYIZm=bq<m5#N$raeUR%^(Dg9i}r5H{p1rSaV~Lk=$8*A!qrWgO%o&UM7(tWajL!Y
z_?v4f5eFo~e2mN-EzF`F^w?Jk-qh77WceT_!`LH#aG@-B$lilx^$YiXT3I1s##nC3
zs?aRt&Jg~HBjFDR-`lf0-w5Z3zuH;Oa(DyhjfI*wjE!=H`YL-B4hSBIE?}|n{W-@W
z;ShJ!)R|oDlOy|Pux{A$_7$IZf7s(F)dSZzrqBDis`gF2V_JRo#}gCV`Q__A?EB4E
z|I+*W&Hpt%^^t{N^K)zeEsU<8@4IZ-soB=s(vL5>l&=-<I`RJYAglLP?~-cQeVcmc
z^uO9Ov2WrZ3flUo$iGWHBXw-eN`u$#2ERAhecpMhC%HOG`SZ==lGhB@eL3TQ^j*B~
z$-Ff#>rc)&@BW=rYKAetKeGVK;Wg<?AA1>3J%8@a`Mjx<zV@uW-gi(@Ci4A^`8s9w
zXMEm0)q1?|`40c5C;uIoeB{L}*$+~EZ*R^7HMicoB&ybBYs_3@aHN<~E=1QXGt6Ml
z74475R1RF<xc}$u{eSKMeck_W<@`S<<7=<3{_}a;_I+R1|NErB|3j<(E30k4%=fAN
zKeG0u)aj?4Ph}rO>;yLf!YvK@%hNY?&i0zXP=D?8jI~<(E}dDLE`MxK)`QBWYV*9$
z+x1jt9Nn!Je$ax$z3d#HKy;^Jd8keHv5z~Xr|=c<Y@Ss!dCRdg>1}^^o|<9W6B+!_
z>wL|zH`7+1ad^q#eoZ3plkX<YbyMtGSN9y|v)Hukkbrao?`P3@tJc?qJ>1yLETioY
zZg6R_Kd%3H%JFcGurcR+2fwGz)_r^*o`gC|CCJ@iwcyGDEl~JotY3Yz`kdwS!|HXl
z&y45q{B|q5R5tpfIom(an2YJtzFqz`ze*?nz@-Blz1W%-+z;7ziqR%c#)mz{&{)zs
z*}tMG(Qp+Tll|g(YYiqIH*8zL<lV7WbvLWL{Uc7>84K#m9n}s>81Tx=Hoxpo*!Xat
z#8sXq{~2<9J7syMu=N}fY*Kq^lz;M6SGsD!436gq!mA$t)}6}FBiYlv(4;~3#wyRM
z>DxE#IKNrwM)aYLp9~`}G_Q=>B)3^>gNt|SR+D~No*A5dQx#bp_phv(>a4Ea&*X1m
z(7Ypnw@qh8*UhZX`nWYm_A0P$(_-A$_flW`-K+5ZYX5hDV$AjJ>BpiBTHC!qI-5Up
zKjwNHd44Bjw79nWhZA;hj6=`wm9%b7uXtUP(jK#R#+|8>@7AuGxnAOf<PC)ha~H0W
zJeXtJcXQ|cr(Q1@FHD`;y7bN@N%NC7#y#4#^)ufv)C%{!j^(tiXUH+$ykSbT(PK5x
z)YsDY`jcfByl;5A%c{+LN)3AsQ$S?sFW;xDWqQ_cl6n|<_@d-7muoDOqW6d#v0!Rx
zz1e6AZnWh4Gu6mmjt{$Y_5I#o#|y&S&CXs=pZu&!R>=NZ%;pcSpf(xz;@2ESE9LdW
zmnY3Ws#{qi=5uNDjCw=<RTbBsm^y7O=K1$<hP1ZhGwov)+glk9R2-Wj=V8~E@WY4c
z&7J&`rM9tRQilyALa&}lKek3}lA}N$_w<*qop;M0kB-SapO$=o`KmNKW3xO(NtTBa
zaW>(`!cnu1KixGeZ1seFZMJt)9)?Y=3;tQR?d*<OOMV*g^9ZoaINjt`Ke@7mk%jm3
zjH3w)8;%~DJ<DMSC?3xJcKvLh+Vgzwrk2}Ly2ktJBX(Ds2(|e(hMG@3-pzjC{plO2
z=WcAiEb3L3GXFB`=jadT&KRfhCSSKm_TRE0&D`Mp(Ew(f?*22zavu|GTPxcO&*a^C
zy2sX$E%kp!td7J%yN;<dAHE8iQ-9a!@VvOS^QK;^tX^cO@!S1%(m{@Ij%&{FgfD;e
zW}4);FIit@!o&EAKPFCocG06Jn`_Okl{RsEm>wQ27Rg9aHE_t7bE^3FmAGrax6M2l
z&5;udjfmd$_x?vlAFh9NtzhZIKbHQ7?=%HX=6TQkvF+oZcLyG(zU`RA7~<Ge&**TH
zv4UCj^242X4gc)CqT>GL+Kn%nQcY(Xd=JIQ9qhfsH1Fht!>TWC-eGwVdFSKGs0WAt
z`52v7leOFOy?^fCN|xCz(_)g^eBHkBKg(G8<5a!N`RcMSI?V502e#g0@L=D0#OFeB
zXYB#wlmA5HfA+sHG@0=s<{FEQ26yc4a-Q||XPN`DCOvdjxMwi${@%`?wU#Vm&E=bJ
zCM{LVPr0o1AtT*R`p_wFoex227nC;Sa(*ZU72db^)$Uyn8iWDY<<QZi-!mL`^zD6U
zUU&H4>2K5L{3!i;HC*1NBH(}O(b_*vCQ;}EJ-)sT>yzt$o$i|bOZW9&^oB;nVU{0O
z-=0kNuYIcBZ~yB>GQa(w6LZV&*1ld_E@M-1`s;Q1J-=SP{!-6Y_456?U)G1crO#ch
znDuXI>bc7w4w--we5k^oeN)vw&uzIoA=;qH^RTbn62=!ZOYZ2Ho)ol|;$^X&F7dhE
z>rD8LOXihovb%GSCa>UZn5`Sr8a??<#KwCCm(?@a`YSW8b}ZzJ5j(N!$h<p;Y<QS&
zUR-=cSAloUq2l~w2W_|ye6V}LwM2eztG9t+z{eL!h4K8_d5oC}qVuXHciS7kZa93p
zEbLLu1yK+CU7XWzY<qO^XwqR>TQ6w)pq@*+ajlob^^LKAcl}MD(w~5+`)5n))pRQy
z5LCD^?_JGQmHpz6z2uWl8kuiY_nMkJIepWi0<(b38S)pMANPJ^xy<tB{0>dCNv6Su
z)kXTB`-)8sYEpQ#!Bg?Gbrq&FU+s7!HpPOeg1e95SpS0yeXOhQCF~A}um2fh!!x^K
z_bjFfj-AR4+J!6zbu8`Qp2d9Q+{XR&j&)Pw4VE_-MBW%$?(+|L#PMMEV@UJh#KKp+
z+ql0@^*?$zz=1O-k!e@o+ndwR**AU5$tb??E9X+odgo8i`rhtr+4srv?oX|*KXFqp
zRbDR^e_gzF{gb$F?~~sp{pad`QD3R_yFfqrnn9XxYovYC&GxS|&xfYT+`cR|^Ss@;
z4Q+)>)9bX#{%3iWC978X9;>n2<$vM8oXQHR1_g;UTW#6!Su1PG((21rPg#?mv$u?g
z@8OB6<9|{%CZ`qYhf999JzlHj|BZc~ire)!2d+!Rw@rPqb?uDv?(x<cAN0-~zRXb1
za?s#)<jWnGe4cLJETOu=7St^La@il$w*6)<+Aml8WMRA9zQ5mg^U3addrUfi-@9GX
z>wdj4ogVY+y7|3|4{PjgUPJp%Pm3QOTr7U``LoIM^Y=c~{Bv2{OU(|lCgIFmPP6@*
zhfXftn{q9s_i3EuY3l<Ui<%W))SFLTUz8yC{#=T%`BVkQHPa2FLu;1K1UCV$9{B9#
zYcqXbt;FXGUFE*(nhFK_-pr9z*d~<xZdJv#p2vme8nO>0(oBD<W%kZI&-1%@s$sUo
z=4FSb&imPOQ#X8O<0ZzvHHLSd%uWf8(X8bPmu#0UNbzk|G&>;mOxq?j{^y!=_5Jxw
zOPOU3^ZD-cj7olHeE45XD!7$Zurxg`f-@(YsZO@~+067mdfz@AcJG&|{L#qXCu3Ez
z`tJU9zyI)t$Jf4%kN<e{d`!{Kb;;iU?|qQ>`WAC5@tE5`PRqq_??oh5@(Ul&vVzpV
z%oTeqX7HUzN;4`uHtz$=;iM4WdX_pj+vr54{$w6U)@cIK-euf&bw`A&3>@D#`7{|O
zNZDDjU6wzXbhy@Vl_bl216!G5YY7criB4q}-%F|YCQTJR@Abey@Lc2iFUP(|YspI(
zNr*dVGFWd2o%}^FKe2Fry6T4QEy+)lH!WZf-kM^Y7MjpG?NpX)U5&5??~MSN`pQNh
ztH-*LkssHv@I5Qwt66Hk?|#tF1E56h&r~LB{eI79K6$%8PbT}z{eE9z^Xr6i|1J3m
zcZ<)9zu)!xo%Q=)hh)p|RNl@lzf*KN_j*k6-Rk?l<Nm(9acRH#wI}N5XRX;7)AMKZ
zT^X@`-b?R??3@4U&<>~SYsGm79(F%i$Mw5jVO`tBgT<@n%{4A#J8xrU@J7IEZt}ZR
zJln&so(bpq!IL9!;#|PBo`h{u$KTv}U!?kl;l-&lhl27>_RIz?kD9t~zfW1iKF(ub
z*R{woY?~PwaY}b);p8*Mhj(21KK&%$h4KSMv9gDkdOx1ML#T?O=Ny{e`m%;NaQ-cm
z-TeP?QknAR{T(;{--vzls9XP9Y0k_0Dz85uPOmkaDYYy=&p$urhtkx#;Gcf;xHq5L
z`&Vq8-%+#f=ua<nW-LiJOqL7zxaMSbOV)FVKZgy?!<x>7_k7IbW^DM_V`w{}M&{s$
znJhPU-hbg$y-UZWEqTMLRWr}`)JN*7G%Lu6>s`LyUS{97eaEGFXOHdk4?SCxmUG9+
zh~tpqo{Dv8YFkYDPnVjm4O2fpy>O{*ZAJ#q@eL6mMQ5@=?TsA;GxynTdA)*Vn<8is
z;J?_L6BCvDZNJ@k{N;70`n(O3Z9ks=_v6jV<?}9;=3IKu^>60kib*H)I<9Bc&-^IP
zlWpGbc4&j<hF8lzReWUlQ7gIojAV7$E~k@yZ;E#%)N$XNS$S+t;v1>-H=SbF-mpE}
zDUsEX{&8aEF=e|o>kZx;^xf>;J!iZ6i3M-u*LJfi-(cTpWE?ZMYjbqkjmxXAZVs}_
z_cuXrctG17^^Z@TN{rig>v&~#QcS?N{%c2@1m84A%#>W`cl4&N@tc>Swo?z3sV#VY
zBd`AbzsqU7_0QHk^isah`aE++G^pmTRRq=CvKD*R$OalUXn7bgXjn4jFG#Yo*>2rt
zKYiAdj(bwG?R=dlNN(_)aawuD#OMRYk~KS6Y-i7Au<5q0w+rR2xiR1K+07+~+rRzW
zxY@oxVe*AZ-e)$PJn`?Kj4rs%P<g&@Uh08b+f^5&8D1((pTSwBw~@a>?dJYR+W!S@
z+t`HXou1Xep1Lr5df(jdTRT^LDw*)p)#$KV*xH%{?8RF`YM$CJI({MH(cT!*Fs9ox
z8`dS?{<-({TF~;1dhjX?@O(;x(2eh)KJfST4%`?${kfo?{@nY!?_o3}YW*FqZ>-$U
z^ylsCgy@fs+om7C{N;Vl?^_joYSTWqJ8QhvI{)mzKQ0TY2h(SrD%O8|s@?Q}PFatT
z!-JiyQVjL0nT$DXW;1NQx8bvbqA|mygCVxxrQ%-5f4Or>$Moa|6_cM!SJlq4ncR0%
zGIRo)gA~Jg6@yjY3})}QC(mIPXWyi?(RjN7|6zx+FB*m19?Yvh+&Mkt?_rK<jGOm)
zIz0%LX}0_v%K7ggSB(Luo!V)hH3>{?c?+-D?Aj4|OI+wQf4$zZDxEVb8^Q}s81^zg
zTP^f@Co4$lJto8EWkPwNZKKh%8`dQo*M0r>SXDZ#ChVQ$<~Hr#J=GD`GTQAr$!YsH
z<aS?V@X>2@7kUt>{A<}U-#0HqzopDs{bpN0Bxle0bCEex>c_wCk-PPIjl$#P;@-Z)
zDz@FrA7!0Xt=Z99pUeKSqB`Iahd@(m9ZP%JoA|G@8oar`>c|~5;AyB{ExV)jt7zJM
zufsO4nb)~B^V>a;4Y_*8_^^dU+v6QZCg<vSX165E9dF`_7WZQCVUy{*lcf45>yz)M
z`$<>t9OX%l;M8c;^>MhqF>+tY|A~|8H-!Arah`5=vRW^9>+#+_mi3$7zG3KPoR%uT
z{@l_2Ge*4q&fJrO4Skqa)HLz9Uu$Ohpq2e=#_GIDvNQOb4^6zQbtZ33<J88k^(Mhz
zZ>n3T9NRtTd}!LTq<ig#ze8#+v?!N<-DuvoeY4PBv!<UlUu2uux((4r0jAbRSeW#k
z*(!E|VMb1U()`m^a(iXw@1C==V*ZTPdpr+-##xUkuYY)Bp6vfM<%XY+J>WQyB0SsZ
zL)j7iZ;Y7>&OcveEc*W3&QrpzQxALtP0jV(Fa6rQ^ijHuZQj<f(>?3odg;7pIKIz6
zJ}h+R{H{v*cd7RZHXnHsBJ*dq`?nmfRYzlb${H4=+im$FSbu(vi>A2~Pr@v&;!e{y
z@gLVD+AMmXU1Vzfw{y+>uA4IrfA@S?wlZqR-sa=C7nU?68{~iT-L$i2=@-qIRGG2^
z6HP_iZZKreNayKgmWez(gS96zc}HZD&<#fmw(X}j9Nx{G)0}wp`|c*rzFPAWWugh}
z>=t3pkq0bZ%vM!vlx?X`F4(NhvM}VM-s)AN_uq3ZE)8Llo)1oNN3ZtJ?V4ZsWye)e
z4{V$E#yyP51#f<rq=agIKKG!rGl8d}q#@|R&QnX5$)$W)UtxCU#%?2d3A5)r@0`1F
zYqi*vLmhnYy}qqC@G;nX|8!{f$Hyloi@$iW(JgrX$(2>ov0F`ks&&@?4P<@1;L%R0
zs6&E$JPQhij`KBKYB*W&WE$3L`2u4K+XG3HhbM}iPxgO!lBG~+l3-+K#ddg}#z9G+
z3&r9`7<>!&v+k8FxwENay2P7=18xs)NIsv{w<(fKrH`#*-RFuVUIRX{PkJ1WF0?8)
zuc~h~J>&&hHFr#Z*RPvFAC3Fuwnwc_J$AipDQG_9#qW?!EBE+v>ei&3`EBx3?d1C%
zGS7BOmbaxDO1vwQnHM0HVE98VvU9KYmX^+iv(}2eD(*g?YxjA_GM$QN>+CMCZ|jVF
z)6~Vkdt>y~OHXF2?CyO~C>-v@-=GPutLsrJYxW0TFBqG6+{Fy?xU80ZKcvX~n)T*E
z2|<%{o1NotUN6o+c6G{{JGRHl52!I*brCaYtD8_Fc|>xC;t9TEcNP@Rll^sS-@Ix>
zviy2Q-rcxwUP|a&%abYbNA~Tst^M_&+a%TZQjYdM%ZW#OEbHf-Nndtpa}mpC{{wgA
zy#6L%z47F@r}Qn6@{0SLZ(dcg{?!`1r#xm_`qQbueD-(Mep1j&6%JW_$s%6UFiD{2
z_l`^R-pNQEHuPB!s?8CVx%ut2M}M~N)k(OMdEQ9aI`jO66ORPnygkUGV%=bJ;mK^3
za?_7RvA(P8Lp|aT&&%6Xpe<(bZcF;i&beFCGg3ZseEXKbG)dM$D&v#yq}?r34{TFi
z@cKs2{fe)`%Ru?;Y8G#}RAuXivd<YQ8@P;C8yPp<oiKIg!>rcg@U&I;1n=DiEn<GT
z%rQCsd~Al{f!N&#{pZg9x<@hj-ZW4fdGp7NMBe0U&N=lBrajt!L+06rAN;#BPPYD&
z8rER~aBY3|{DMrmUKeF<iRUk8CfX(kKjJv>M99LweA%PbJMT<2EPwhc&ImkAu;vKU
zF})YYF{wFwEtm{;vaI{I@<-OX*Iz>*wcqBN_x~QZ&d)o|^S_>BR_co`wb$FuKX~2Z
zv6EYMLIT5{7G;O|+p_}9+#6E%ni};7P5z=8bLh^4;E#8>&m<k!kaXDU88x-?c!r}W
zPq!n}lQR9MdT9+0lNBNy4=-5U&itDBS=n(NhpnEQ?58kfFdB#Qv$KC#S@F%B_e--)
zRMY<@%KW8g-mWk^>2*G-{;+}Jfu(Bamn7$d2M^+P4;M!Y7f2iooib}l=uGoD>W3H^
zbQ7G!KMNeT>Cm3%yCYTWJU7dkZ40;PAODcGhuO>b(yBAk=hm~aGi+(#j6LJb^I2hC
zh1tVtD{b@@*05~TWsE((?XC3n-$;uN!J`Hn)Ie2wy;^+BHOR^nXd?i$f8#c273=MN
zg_wg3*^?U9C4a6H{5E}Qv*Q1+F9UAfSN<>i{_owCOC{%wm*3sU_5QToPHpS(UtR6X
zxesl0F6ulx(|mhCQ$1@$eCC185;s;IV90o=<#B>xmg)qaJ@u?SGCU0?2W+O#SpVfr
z_>NC2zdYD$D8rn2_0;}HJ6WIcT{vXp!5;HyU8~LSl#e0D?yyBy=<Q;9>2Cf+sDDL8
z$;KN6?)^gB8%#EEo!{GY)4nG`(%`kDl|yIcgo8DDa*J0lgshObvFgyB=*(}E_}_0W
zFnQf9q58~G>IUyU+j{F~`xsL8_=i5SZJm1H8mOVy6L0%}OJQ`H#CeMn%hg+>(*B4Z
zy7lnJ$HJwyv4?wmicO8ztT!+#Y_vUIdm+2wuXT;8GdH({vw*{e2OI)l%5tX7N)a$O
z^}BVMedDr2InkL~_m)3-9%3uA=i<C`A$Gx)#gD~$R{v1ob1#uRA67r}x!bXY*&i(4
z2~4qI`r#tO_<_q&;780^o@%q(%qM@Xys`Yb`tO#)NEsI8y=!jrzVY5veAJ}UgsG+c
z%eq%5W2dI&|JdMZ@k}=2z>O&nU+ndH$967QYuU+URffri-}GROSDpL2|9hOYkC>5Y
zbNa$k-)rfUSFS%W+j`scdM9BG#j<14#%aqgJy{qk{#kj(+{pNk>o%%$TkZJtWZHs*
zf(=L8!XFl|H$Ky!9NbpxR(1HbN&lP6A`K;~ugjT}=P-U-Uy;MgD8a1o@Yp=jXX^xG
zeAiTcj!E92xGUnCx^w<ke(5lY=2`RN)>diHvz1KWYpBCv@jCW^&31$H6)yFMf7v~I
z^}}x2nO@P8+{SrU8xryjKz0Azi;?e>p6#4lc}!XA+IPe7<KGQa^VWF8MMQAscrxwk
zJNv`cy#CgK{qe0i+YioKv++)LQYE`Z*_{Q928FG6+gHy#d3DW0!8P&+-(CCS!fD4>
z(6WG8t@E%{=zFc27e@sZ_Hchbz*q33ewtclQ`hsjW6f137!Iuw+&Am=-l@w@Rx593
zX0A}~V>lK*BfU4d>~*>0ONQeYu0EN)#5B#$_|5syV`~!6%;E~KdM0`JIAh<Ml?L6C
zo99&?o4V}L&gmOpyGxX@o$C$Dnv`)eVU?ZrnscCfzt3Xx48!k6=XYER0ZmN(<v4uq
zK>f~(UcN%QOkN4qpgec%{jSf=OM_<>HVUr(dNU>E_JV_-*w(ZpPk4BO>DY_XOY<@u
zJ0&N`+Rol_Mph!+ZiB4g;UkRlyybO?Uhb2<_Xx?%*fMQp&DBHOdNzhC6q+#jcg*ey
zzj)#i*X|qcA+vI%-43Yy2&pkMX*>Gn^7FldZ+Yt33{xahe4dM^@GK}NuJS*tEOqm^
z=XNLY69;B9sCF>!X;JRhp6@m1>$*2R39DNze(U7SjBSwplUf*Kp`r1&Lw$R*$$>qI
zQ$Wik1j6m6TD*>Z*>+Y>4V>TV7regF6JPtU@$oZJ`^PT|LHVsF*H36YL%`1+3O12<
zN-`$xVX$T>4xe#isi&QR`2n>z@?Li?9eHzE#Nei2@ybKoYj<2cQpe*zgQf7o;~N*N
zHGeNy%Ivo5(6bCiga3jtZ!Is)HcepqpgiveFVB|_Rb!3b=0f3nEU!N<=nD-!RbP`<
z<MM1~V$92pSz^&EJr}h$YA<9@@I4lJ><mYm|26CT>AynD*4^njua@y<%7R3L(DQqX
z6Yn$5X87`VGiZIpKeY7`j>-#Iwka~k9#8u-ZMJ>HtS3Fr(>FvNp2~LrkoorIuhsW@
z1l#!O&AG8<(>k^LD!=QMcO2bl`&&1T*Z&*m(t<bIJEIcKQh0x;y}TO0<$f)qvtQEs
z^7F{cN6xa&I%U&Q?Y_Zs15fY_nd8gOXq(zPN+r~P@D;l1Xpr~Ft9n;)2G4PWy`X7;
zw5=0(nhIie_{87O*)I0ny=u0Un!CaJgH?|Y8|qJEo%!-dxblTd<;`d652_TtnEUZX
z_Ko72)z6;!^d;1>UXzyZtK6t_!sqyYsm5vhq*Iu@5*`a*D9t&x-r|2kV%x_a=joe4
zO|*E$HFs^KZkq5UT~0YBeY`Tv=ozcg{q!AHP1gENrdslK@s}OW+f1H%K4jmg_|$1%
zlXw}_tY<toT2~YEIJCNmyWr~X`uIJ%#}?17Zp!JJ{q~MghqnClx194AypcbAPG{W)
z{zqA9JFG<0x1ZUtJp8k9#w>T`izk{&5Bywfe7O2qR@$a}ravv$o!R>tQtk7k9<)k`
z?=e5=v)^jb@z>lMkfGhkeR=-{kN9s-Rr^0<R_d2a;M%?$T-&SF%Pvk)FwjYxnH&<x
zBwX|03{%NMuC~;+gU&a<r`Kk1o~xCYla;D<nS4g|UVF6ICmlAv*qV|%AyFrPdc}V%
zINcEKB)as#Z9!G$xU)X(=^K-K9te3bEAPqNk-Fh@^aFVrHQ7X_18-|Dt&Tk3lQ=`-
zLD1y%OB=U?yX5PqJ=|HphSQ?wffnAC3eAP8<!|M_)qZ&5IFp5$!B&D<0n2&?;Q*%S
zsSWFrqraBEP6c)Ck$d(L^I1w{qvyYOnvK@8uUFj=3Tg+0#&3@cL!Tk|>gjNO<Ia8E
z&+cz++Zoz;on_9l`rO&Y^QL4~#D6<^-=l2Z7g2tH@s{NFCqlE0^Ya$6{BKqG5mNOn
z{j847?3P-mlkV)7`u0qEc*f#ouTGlwGx0|`S922U53g}t>B+V+b5_-t`YKZy>y*o9
zJuEC5bf(PUU;5yJz2Dcw+5)%E$_Z>`&E@C&cIq=oz7L*Saek%65B;2U@bX8{635-?
z$M1+Y^n73GwI{uG=k`l)RORnwKg_tsZs>KU*<^$Cp6aqQwTve!=C3+Z&86Mg3mT`0
z-1q3u=a$@^r~cSIGL6Yp>8;;TW>F>+lj(oGK>2aZS)SM0J-#ss=L_Y(NG1H|i$A&J
zXyFZY?uc#XGs-#io0J*48)si_O$lZ=&k&Py{y=;3hbPL(C59(&usrM#V~^XaF8}++
zs)NQd%?+!2n$NWJ*)9LIVP4@@X3!$WY-r6LqW|bE_xv};Nk^-Wh1TnXq_~l!9-fR{
zxaIh9P^F%Vvr<n}U-0^d&VBv=FHX#u8F_4N#-_aAJ^T6c-`$wUeS2Zc4axj7GiG{C
zZV!t+)1Oe5R(o{!v3WWfNgCo^u`kt>XB_W+5qbH&=~B*L^}k}y`uvZrXz#hZ_EU;&
z_JvfYXTPh~hgGc$lX@okS?XN77PnZ^>#wP5wv|d{FDz2_cF%lX_Dr%rBjWz?7}@*B
zr|jIQRQZrE&H4DZIZMh7e-~JP?r}F+^FDc9-}~fKcOoY4F?hU;nfn{tXV9#^<lL`%
zY4dK+Ot)E-SSw##T2n6{{OnlQlh)R$2iibgj5qNa|87p2d9%Gwdfio{$Jx7uKqK{!
znRy#JwPlta*tR~uY$59c<LRanQeS-UNw5Cq$36YmjI-Kj_|~la(JCeGz;>YRz|L8c
z;>PDC!XzEoCYUBHC=}?M!03?R)2dj;AnBmWu}9X~+k%ZTyixYSjC%Jkk|uf&o9}H<
z_n)&$@@1<3^?rjlJaeSiUQxMtiTy=sL-PL9t98=O?1e2|{H!K=_}qb;r$E)Vq|ep#
z_N$U_9xxmiOcyhL7WYgtd={uRu}(hmhNOjg)Jo4qt`3|zai9jv@4066Z6+rxpZD!v
z3-y|`K|R~?Q|+uh7hf;2y{V|NmnC)GA{OCm2J4<3N_627X0I{1^XKTcp4mxin{P<k
zY`)>;W5s8ek^kx1BefM_zn1OXUfg{;f+t-s^^DQ6$dk|7eBb!9y?ekT<6xB_Kc#7g
zsfOf<Uomfub0&TNsAZBPYG9Ulp!e8k!!6I1^_$&hY?fP6-=8sUMv2Uy-k2AM)pX7k
zi}xk0R^$6uXQIk%XXZP@W%1;L_S(&MB^&2?pZU!3j5oblOq#FCzHHa5UtMSHrWTdj
z?Gbk~-k@orH%DSh-I2++L5mk28}$pl7XKCUXjy$dOEf1m?@8`Y`tLcFSKChedqX5>
zz2bWP{_uK+6*Uq3XC5tcp8RFqL7_Cm2#f9ZP44W`dLKm+t}!o;YV3QvB*;By@y=Hg
zJPi3WPTC#5%C*@(`FguLH&fcusRn!vp6^l}FBF_Ctk~rL!nM=)*OKt&dFo-x3AY(f
z|7=M;#1ymEVEqxP=f8dSpE@^n_Q#tny>o?3L_fq?FoaY+uZLFR^Iyfk{QWQNtn<Z7
znvRDPR?Vw^erO-F8RLuJ>5|6EGyX=tubKZc{N~OgW4qZ4HU>AjIdJ9#fnxP*ZdqMb
ziC3}j{3o09e)s6VpMCpsv>IA1k6g*C+I>r%o2AjJ++T2p>3IFOGpZ(=_D$ND#&UQM
z^Nr<`b{?CTX!tIbXTHOyiH2X;j{PiD{o~v%|Mq25fa`Uq4K4n~Vw06;h$rv;`0$07
zn&fjW>+q{@4#fV|(l-7UR~@!^^|S+@`IKke#<ha+*y8nx{@-P8u3DK`#PV6Ye#5;V
z1!uZb9n-A-UFF#F<*tHo0F(6OhIPrCYo`8L+`MsidfK#wt7m`)z1It0%aiNPiDKQD
zY4o`Fv5mImXQr9&jbmgF&J}-X+Hmu-XZo9)S3;^fcsHc!o!K^Z`TGM`&lGGubnj|?
zk-op7T(4uZa)YMiW`3V0wb#Ys*%Ilgru9qDv!5?`a?g&h_w3?{28k#YxIRl_*yjwD
znura27Rx6}-ZKt2p8R#)$@7J&@8(YDoNdzYmZZUbjq!KV9?!I2R|Re3;vG11Qb4it
zY3r|ksk&Xd#y^i=)LA^;EOL7-TfB<PsaOremlCSXjfsY*Wfpe{&3I7HoG!M2JJdkO
zm`Co^KKs|s-UZK;%NyBe&h+C<Vh@mV==3~(R>*^SA*<@M*-wQ2eTd}vb$RF9scnHt
za!VLLfK~!rSipVt42xmk!8_7{t^5+~51Q>xh{;*oX&hwXaoEgqiD3$x*e9K`9x*-B
zlY)EA*;FT=6*|_-aPP9g_602ULb%l!N`x0(f0uZl-Cu5srvbx-W<!Qc2UO-A?Mpnm
zRLyeH_hSoEHbow?U{u{O5mbdwj9(q+g;9lrYQ3-j`?f3;LhI#AgXRIG>wj*2wG?CS
z|36EK?CjUpS^wr{8L$7b^O@e;;;8>$bE4}$9JT(rm_^%wXU!@1g!hLoGSoPoj<M-q
z@$A!@o|}r{%*}#lnoAmlJ}dBs*i3i(A}gOCUn?KST=6hQgE^vb{<)YbvxL{4vN^)H
z<4MJY^!YhP_2)M9KWyz?lWzFgS6+NU>sOFYlY`4oZss(YV%OS#&Sa{iS%t~!!qob8
z;my&P>nHIac_V*f)s*RpOG7vNXPi9#U;^v!LpQ>ji+@g?t$S8H=hxw^BkW1v_)|i;
z{=H!0XJb%hRNe5A^M#e!>F_!A|90daJ#SPZDjb(1I=}X%Y<>K^sXe)G3%-bRs`N29
z9{ZD*d~fHhr>{f(->ouvF#D0iBaVc($`&VPIkVU9xqkH9lgAdvm>5H>St9M$?eI_6
zn_iJOnLouMYPa#Xl+|a7l^<W&`az=Vu;KR23l80wb~`r5Uw!qxuJ%yS_>ZCQe+d@H
z9>K>6cN(Ym7@qd5ZZfRD5V)zQ@B=5G1yhB7A48?pbc2nai=rBz?$X+R_2<Xhh?5f5
z7McDAY*t>=4EgL1GP*OoKPsr;|6EAT%rk^_$^m#wKqB$XGtu+2_8xq_`Q(-FU(X)@
zo}SuT$$m|uU%8?Cu;FB#8RE00^~E;iPny4vIe(JrnGmmM4>Rj~XO?dl+&9bmUbipL
zhTBEfDeZ59Gb1cF{nwJZ*I27{&-7ah1JC5JvwMv1osbA?Zm2d~dU^KO%Jw(R#~hZv
z{~YsFR?9A<prm2(_S=&sj|uQJovL4Ad;V<R%);k)P74={zYg3g_Uz}0n%2)QX>5kG
z`M14kJ99lEZ|0q;ca0wBPpq&0`L+l}Q44fX|IK~V|2Gmpccq_|dte%wJk?ybo;56N
z$7as$8`hjOwiFG2_MxyLd1<=c<Fx8&lEIn>tvTGcGfCEH%@bc?B6?mq!uaasucGVz
zG|L$=2>Tp;6Zti4mfCwYUv0I@&}Z6bHoF<r$UKOs|GH^G=VtyChCe~gGg9ANez>+J
zKGZu{;K+rZ=BF}F;(ZJe2`wj+-Z7OmDDRSKU^m!z=+0@WXYL=g_A38-JnN|$XRHNN
zLZhHs_fGB`jD0VP7~~H8;40S7o*^E_bbCSrXt3<`+4<^zw~FsYp5AF{9&;{h|1Pz?
zOoyJYQ<IEqum2iz%I3}{o#_W8680vqZ#sVQs6`s%489X@r{0)a;l#$y?DmKwW-E)F
zd)WujAmpj}w<XzEpKAZfcg#z+cX|c;v9Q)o#&0Ws<Vg73X!kXG-<y$c(4lx(A=zrb
zLUKZtz14%q3q(_<^8d&=H(P=)?2bg$&XB|%t#QwHa(k(NWU0T;GQqInlBbL~(+r1`
zd_A!NhL7zE3=-y9BsKaRx)WU?Jmmu4F~%Q)8(dCz<OU0W<5_%o<I4jocN{h`CyR%i
z*}*TvGef;ELSeGOcd>gcs#}^189)=-&Y)8Ghwk_KwlAxV*InEmHQDr+_qWyFdz>;J
zDkq=GofNkA$10I8HT5ZPinZBn9F~^vt7`k^m1d)D%*M>H`b>r9hZ>oKQ}=&wQ$JE!
zVyeBxr2o!s5eZ2%M{Wj_cL5)F&YHQ({4=~?Zzsznvz)0+uJAFd5u0#>{KqG%3ri;T
zOCDxidZ6KW$C)qjn^(5qR){#)vRkHIec9$qo@qws?9R+!uHT+=SRtXX_3o0)qf6D&
z&M!+if8wdxL%rh<JO4($R56xJmrpy>7`-V`V8f0>d6%|4nzTXa#tCronEiCVf$#a&
zrnKvM6JBpVS(Ly1$iIcH{XMnw&wTmmXBzQw;zr9B<?1L<7k=}Hn=%*QB&8lZTl*_|
zW2fd%i>8e#-Hv_z_0P(V9b8oz<9dFt@(r;B$#028GP5tq?pXSg^U?toL-Vo?)!)89
zEW4-pcpv}khmsz4Ms4>FSlF*?slUo}kR#&Ul2@l{=AR6`KeO`qw==5A5i?n1)@~?&
z8ux7W4BpvIdsU`KFN3J4FMlR`+jx3UVyYOZN}gIhQ#_1m_N;nvO~3hS|Maf;sV}tD
z_T132`+X@|_x&E*!(ox<d6M(b_#E9l>0^lP_plo_flLXP+RNtMIcoI$E$5`EqGpEE
zKW%*ZOvSwK!5!A(2EqAW%##^@Rjt2eT=H|{tGoL5wmrIdW2dLt(WydV+>QmH4G8?)
zT6bc$dTwg&PiQj~%c%eL<X%@~-}iMN)9Z^@AL^Rgqi8VUr`_b$?~d6#wowXcZde_>
zF+a%m=GsedRO8=1-ebFwM_bZ4LE&?)TKL`G%43x-E7%yrmnYqK@mJk&6I{%He{CQ4
zgY&jp=PNs=e-n4~XZuK<O?>t@F!j7zCesJDi2fi2?R}pZ<!cUnj;U9ZU93H24*wF_
zh51eU<U-%EN}iedT&Tj#aL<Hv;cMYFAHFLuTcB+`byFtCrcZ{9UINSuQVyIvQ&J&j
z{m!DiW{t?22gdhAryNXtwQ)1Q*Bj1D4oBN3oh%ZUFw4}6Y*=To=%jVz)^;tK2z$}P
zEDf^1mV`#Wk<g8Mx;S}D0jG*X{W_y$2`}cjB(@a2jr`j~Y_cWN)7QN-eD?Hn(uz-E
z3cLpIEkb_2kkE}`;+(Mhj6~a|hUqgHXL`RmtSfq6Dv^?^A6)aJpT7|St@>B}J6C-4
zylHu+e0<K!Z+~;QJYBAL;Qi@%t__k*%n4i)%nHTa(`Blaf1GMxJL}N{=Hiau3yinl
zym39+v?TPGr%iWbtw0}JMakrJA&J<Tj+rtCjyUc&?0CyzJKce4!=;nU=6NPuW;RZ!
zFMe)(`O0Ue3`WTrE8XX1R3utMM(5c+@2r@A)$qIHgpYSt9r^8l^o{+c+gFTFdLO#r
zk-$*WXvkpn!+_s*@`1Rc7a6_;|J`Yr@SXpOoXqO)tK7`L`k2KZIg!($r`O11cgFcV
ze13oD5u4YoQx6;icc0@o{^zMLTrFsG`a-Br#mUf`Z%fNNpYA<6Z(l*d0YQa5;-5vg
ziRpb*c>Hrl;pXj1dutO#H!V2hz3Gx+w#4(Sw21v&X6aj)4J<pXjkI;YcYil*FE}%A
zYD49*cNfxkoSN}{WyQ4*+hlFmr)=^QpU(F2(9VPHUweGT`tF^0lJ~%7Y0@m4Fs6C~
z$>jG^^+o!RPc@o~p4+>|rL?7m?Z7SVGfTY=|LKssZRS{zo%Kw$Qt5FPSGLxi>d4Ml
z9GtujTf=8~Pi^}tXuC}`fJu4|C>Pi7{Ihu3q0RhrQ%*$tX5A^@m~U75|Bk3k0Sia|
zsT%oc(Y@>5ypBC1wMF{H=g_ILMshEce2>+i*<o+2JY)N+FUuS`8%{c&G5Tg$_cH#?
z;~Vp2&980l`Pnn`q2BSB)SOTmMkntFiE=-lP4ql|=0KKE0((W7%%*!s&lF?y_zT!K
zD?VP;YAX6H?)rvHt7o3HsakvF7Z>|XX*Q$pQp`)4ueAi(`3XJ$wvwm5KRM>-hGmED
zyp{^9GBuv*zJ6*%{6mG}!w%2lk{6U5m=$m-5Zb2yxAjy1M6UC8C3hx-OTCZMe!3*Q
zK|*0aw-*Cw1-<o6&7FzC398R3OOB?SzkBs~U;4YVzd*gk&mz|h@+DLm)T}FxsAs6j
zZtQ24(Vh(2%=rBzPyO%mRiT_V4AN<5j1m}L7&l*1XlQ1ZalaLLW=8eQ^q5R7&^pq(
zmc;Z2cQTf$bxtcZcyxFc*YnObU$WAe-ZPzG@Hu92CTrRZma+!r-zJ`7EH<I?x2D_m
zok{g={mg_*6^C{sueZbXjgs~I1ODVB`cGh+abJHAqy5uk@r_e^ENh<0KAxGXvrVgy
z?a)O@wYz7dFU;^XStPEjcg%Q3!+M9O!7qFB`(8|_WSMcNHK@38LHiAc*V=MY-x3Qy
zG|qFpaJZ}SW#N;!V+WUO8RqZU)Ea%^_s082XBEnSOF5HwHkGNflgEeIpSgzTZT-&<
zH~o!kqZhV%D>#Qgcq{SeV2Yfo*~5ixJ6Yzey};_rx*+AiqnvZ0$KE8|@b(poy}9R-
zbLN3tg)DB$XBZ>iq=-2uGt4`9&|5*AsX{NLkNb|X&Cc4IjLS<r582NSuhQU+u<kpM
z(PGKaJ@-sf2G0Rwiwe#q4MI15fa=h{+V#i!rHa>mc;kGWw{q#nbz6h__BUxCo_v34
z^3kPsZl(<Ok1~rDC64?Jz1cgp*5+QQrncQ4k@bdKRbTwHXfm92G;wc$(`gP+XTInA
zu1V68&$G(TRb4hYd1iBu;WCy>{SPBM5B4*cZChus_tQzEG&ck5&G&xVU0%Pb_-R^=
znPYPOau#2Corf1PPcF4P9C|!~VMBe|o{*1WPbVcCFnr*zdZvBHWaW{~AH03uY<Uti
z|KX}+1BQyTXDU`cT6;?Mcml%%`7dX<wHtkX9j<S@xj*vX&7g-j+x?85tW`5z*IBXi
zZ*h3q57wQxj)#49n|844<Vp!OwjJAz`=V!A{PvkzDzmCS=;-YiF|Ukc)^6A@7;Zdy
z^;wx&OTOPSzHRo^=hGdo{u@R4@%O{Ot=>~<s%rgYo!w);Z)@D1e0vt4=5BC%6MEl$
z^?{<dbJu~4E6wr0Kh0Y-xn|nO(?wS|+D<P^e%`vcxni2~{&PDLmupY|#S<=j`?7ic
z!=R%Q^HcvQ#gyipUwZdOWCUl98`G}7v!86A$(!ayf85Lyd$dJ7`e=H5)#|5nx2G4c
zzH=2c!k?>gdIR(1;zaXw^PX&`Frzg2#}`ja9b3~bp`fj8t1an&wOIf0O1p|yM}aic
zez!xttjZNT|K5~b%nMpJdG$`Ad05}$4bJtSGgNpYH}KsMf9z{?d41oDkH5GX&nKM;
z?%}taI%)Tg)EN0Gf0f->W_~;qG9y)%cUj7T*qytidHhq}Y@V|*T_RR<XLt0muZ}nE
zlUyc9p7&{uymm36t3l|-6;S$mJ^Sl?l|P@4%+;=2x6}LglhEngZf$nsGk)Knb&p+@
zc|{s~y|(GpW}Df+r@Waq)9dELn@2WwTl?p68cjLS%=kg5k6|aPPsYlM%~{iCEjj;G
z$Sm?=yREyydEUi=N%9k>&Zrc#ZWEpEV8!7TGW(B^U7EzMA2;SS$%-{49Icw-(8QQA
z%|WW+(gCM=NBb@wLh7^cXl<B&CTztf|H<_xj1`a#aZHjmv%+-BWai8~qniGqMOuPc
z!TP{g*@JmgDo*ZUSY@-za~8uM#uuRV^Nl=qzS?5eeCK?gO){=H#M{F-0erUDh0+}9
zeW`mfPRq)k(XcK#`^VA@jB|^&)q|$0wmpo#W{t5vpbgxZntrJM;Z4Kai%vb+_ju3q
zed|s3HR#%Fxc%74sv6Olm=J2mR4v}e_CPr5*`rDq)9LA{XZUuW;`zN;dqUk8J-tx7
zGmEt+Ozl4z@JMU|TiC;$=8qHRv7Y;2binaVjl$a-PwIPlyl%8z;yACX{LA20|GgVJ
zhA02oOgBB?c&19v@jb)RR+}jdcP^=~J(bjRPQ`2C(wFgD!)<(;Dud4_B?L1u7gVbq
zWN_d=#^AxG#}NE-X1eyX#H0m}A`jpAdS;FKyf1M&Y}>vwu|1f6Rz-s0#X$*%lLuH6
zv}`};9JTS`39-qpZ<%_)4K(Yo6TkXDPi9o9m+#+u6JGDU`e1jz{&}xsW*RcJB?^Ts
z97fN|r9Yp$suRDyswjMEp`8X;%)KDvxKZeO&K+9<&OZ|5Ijok@zKkIypl$KVIUCiZ
zWK4dpnj3v=qh=z<ffV-NA{=XEeS|mI@0#VM-Yn<!OtRdjxqi+2_@5g%A3K_77p6Y#
zf2Ht1RwDeZW3#eDUe2^xOTHSNm)Pca>$2pvkQuq!zDJYugbTuhH@sKLKd~c9C!>Jn
zMDN+4$y?%{NglrDS#5QA7T4z7r7J7Wz#9cMJO3oN@M_O9t?s{Gyn3Qc&F7DQBO?>%
zotAoB$Wl;fQJ*%6^>b43<D*R9d_P?-f8e{RO)_lJb(S;F7hALN=FDtg&dAY}cy05g
z!lg4$rKf*O-|ls?D#K~9JaguwGwE#e7;YZ-K9ioqqt^GrkT3Sl$<SkK3f~k*9-i?P
zv>)iP*JiHxufOj6D_Lihc0Tk&M>=SYgjhuD`Mu{1?E8E(ch~p6KHMGRZnnlG`%wQH
zDH98(mhwo1G)VTv3Kla9(1hyGqMygPrNeBpze%ir=oKt10Ui)Ao*Nx;?a9nJUH|`=
zom05J?VZM@c|M+bMhq(bO=h+#{0(fy2?FmfY&gQQ;4q7hmjP=yvn1z+g&E<GjvNf1
zS+9LP^7owL^S1BrRcsR5sHCi1e0<-o|F?hrUv)CZj<aO$mnYV7+sY#ig7TgPxe0%r
z6w{@iYPQKMCZ}|1+94tK1#LCQpP#yP+AXnB<h7Q<<Z~-T5>`zT_gnBfRK72I)`bn-
z`P=S@T-cn@H?L;hr|R=dXL~fBo%dyb*US1FtHl~G)&Jm#uPPP2ab}WQ<GP&4Ns2Qn
zz6r%&-TZy(k3QS0N&#YZE&6+Rapk0WPId_2rgKuj$ELb>?tyTx1M`#pD`)@76^@uE
ztbg$JLGd5D<u3)NtxxcrR&MC~a?hO?3Y%V>44z-1*%$PoQY|3)Vt0H~@y02Ze&M&u
zjArJ%Jk_~8Xvd8D(>p&*w);_g`iZi0lXsHorq^12!euAT96l9JiuqLJv2k728=q-h
z=e0N1a7|Eim{Ou^6dSxCxTfh`x2MA2%|9~rDtUPim|9&6%ZW_V<Xj@6`HUqcT<fWW
zkyrT7m95*3+}b>07u$s8N4(WmXDzAdf1hzv`d;8!*;AVGACvqT=GS}ksT_WyWxw^p
zw1{f4pz92urc|6v3GEe;wr*TMx557Synl5+XQv$Um#@k@G4<T;dtQ~tm8Xcsb$*@U
zZL~_*ernge@JDm34Ii<p)qc7hc}qR=!^$af4!U!9M!wRW>pA({WW{-3ey8qg{^DH_
zDzCOwb^X&RYd-IEGt}Je8~Ul_TD`^30L@LOk6h3-h~`=r^w!ll)_>cgXDr3nlz)9$
z$UO5&savO4(z{~O_)j-GB4-(tFLtX@{2X=8Q^scMuDmaiTFy)FH~-%CZJvDK-Yw7F
z&RlBQX>a<7d*<~bzef*NUMXFCK1fn)Z=>*!Tbw_N-@JT3eZP;|pDzoi^X$C3^q9He
z{rZjdnGdI0$Zs&Nt_#);+auKOyz`Q=*PgODXU-N|Cf%HR>gk;e?`xN3J-0TV8SH8E
z@@s%=P4IfRro2O0$E*K_ysb&M$X+$cUnbq`n-K5rW#P>WPX;NREqZrFsqT|{z3Azf
z-KxeveSY0@O<h0lM|r!g^Lh6vUuGKoT`9O<Wpk8Q{ZlXBDHU%mX4?Au9zXpu_8Z@s
zpR1}>R|`M;9Hd<5nYMMxsj0IxKHe%cs-7p6to}h&_`~xX!ExI4;&UG?=czr?;%)cn
zv*zB*pH3c+-1e%<=*Z0*Gdq`0`mt)>USU4}sVpAPE}T87cWP39a7y62^%q?aa-MSx
zDQmmBddKe4wt10r>(6=4teLa4@X~kL8#i`;<5{h4k>;u9P}Kardef{K|Bi-Tzp!HB
zukvH3mtPM4^6HDu(x=Z#-%q}3(apd6TzT^Kmfg{kve#FZKe}m@skYBw{jlDr_su&M
z3-f09%t?Ldd2-$Fg7;dBAD?=uK0{Z%D(hE?vEPH&st?X@Oy7I?&)bXj?e#u?Hb1-f
z_Hy{%+pki4c{aaauk}50lA?foL)BC+%a4=$e>_s2SL~@47Otrpe`1H%ewOOJtKNvt
zTrm9v%d&Y(RsARZ6Sn_3|HblDi|JC2dhNrLx_>x5o7yHKGVl5kq0K5r2RP+t<t()L
zIPbcGSyv2`7IX08OOxgtd4C|gn9<HDq5k8oZN^KVe%SRfaAkz*ewAuZHO3o7lb1*A
zDET<6Vr5Uzr^$7Xo?dg5yv~|`=)=WRURt_8Rd3FZ!lo+i0n5GurhhWO59wd;f5tMW
zLAZd)?*OL-qxu7uIR~uOADrJ<UT1ypEK~$6U4MYnqEUZNgZ=S+A5MQ=YzbBimH})0
za1NAgBlFw;-`s5DsTTI~^1<D2i!~=i{F`KVq~_j{r&HSYEYmr8Pie1%*|coM&8q~x
zKVDJ#D0iaf<>l&?>0h<x@4e_M{AknpOY>E}3d{dny2Nyv&G*PhFQPsP@4S+2vb)}8
zQ|pp~5>D<VQ`a#`DXKMiG>LS~{35*m7}E;=m{othY*#;-Zl@W*{Z)zCXOGFz^plre
zB2LXYlx^glI`QtFQz{31Kc>BV;vA>UHS>Csp3(Ls?(a1%{c(}Lc0wW(emU)X_;ug&
zSN`TdC-BeV6fs&K_-c<(vS&)>&QtBnqtxm->v`rJ2=@gSrkj6StE^S~GsW?|(ZfmS
zKh?}UFMB%Od(O_3!V94bY`A}Nx^sKWh}f)`)vs1Jx}6`U`ufy9^`ox-A4BJCdlSXS
z<ru!Hdj?<oo)jjNot^8;bibN=a&;uz#<HF|r~W5sa>|@ckF%V5*)LArQ#c)J#K@(#
z=Zj}y{hUnGuYNU=4tB!+^Y{6$6mwjkb;|cZ+@qBfXRV%*y}A5wHt(zXt;=_Qxz6NW
zur6lX{)Q)QM=ob%t$Xw#q}ze-Qs@F5hkub3x7z=u^2X0SFx?02m$iSc8a`akQ`N<3
zUeopPv`^9J)xW>5d$eG+L#5KEYMIcl%Zk?f8=7YE*Kc^fTuXLWec92QsYx$<bQ~Ez
zRiDW!Px#7G&TiDX+utBi>Hco3$-h3Y^R%~|FyG+%vbNiPf8r*`zM1>sUi;M}chzU;
z319xIZg;cv-fi2H7t$YfyIp75l~z3`r9*WG^PC?6#qxdYHrcQL@<e$;z23Xu7v@{*
zd{q5->0#=VldG=Wsc&DbJ+EW$9<jLde*bn_+}Yu9FzUbo&YFiTe=NUEnO^;A^-IlW
zIrE3B`ghlM9bW1_A!5P%HIp1JPKbY`V!qTQhHH__yv6GKc5hsr{8Qz^R_)!NRn+Vs
zzFXFrCD?I^bDHx-{huaN)-oJ5|9ExXy7xZvyDqL!3Am*`Z_}cSp$bQY@74d<prSLM
zWtUd~1FQF)S`}fA^Q&j*zPbD1PEFRtHl`%bcMR%wS7Hunrg58#=pV>R_;h5-#QmMY
z3NsyMy8h?fTz+W}bNwcD)9D3WHxIdsp{uA*R{szRDl#|U%lUb9(l!-l`|NAVc7J-m
zcbr%MHqV}^e(I5!c{NFMW8DfvN_hj;ot)saJtr_({pyOitxF=(4F&HvPRU%C9p2^H
z>-UlITZ;L8<E2`k8Kk^E%{d>sbwk6QC;Qn~-p`JBTjl#^Y0jJ<D>j+@^szbXyjXR2
zx@O=7?<BPa-(*(3Uczr@>bf$UA(MmaT4>(EC-R1wuAgN7Z@*su{=dJ}yO}GB^xQWG
z?&vtp5xVp~Lnm{9Tij9==V?9b_8QI<dGTh`Qs-apFPFu=)w~wUm-1rU!SXFRciw3~
z<$F41YK5V+LLtMc6RW4BoS1ZRtGU`_rn#}(N<98++`Y2e_UNutjXZaI<{l9D11HR#
zf8IL!eC}NSjP-}_wTdU6_2=akr#^l1qF2<rdQBE%<yFaIRf{9PLtnb39>1mNAbIy_
zikb4XrOrmFPj$L=*LI~vO+6QU`icMfBhOEH`m;asTra!pM_Oi<;`|+R9^NsPQg`S*
z!Sq6A>1<t*5}joYdtN=^3sO6oeY_}OrNJZ9MaI96$Gm!4#yKY<(0Pqx>zUQ{9*v&*
zb__>_{cKmyO*Gv&gYVRxlH2o*Zl1Q=TeV5u^hngc36-Ln1}~4YFQ_=QGJUJ@8a1)Y
zjx%TH+08w09pb0`ziNf@j+o4^$ck&epFa8byzl$|R)?qW;9p%Wb2Vp)PngR3q?s%U
z@6%+WTQ-}Y`z`g<`NH?kSC*RE+kEOH9%Z^bysUmMXUW<%)0V7ad44KWMz+H_e%<rp
z<;UDBz6s6GKgx2bF?^QDnMm39wJWCQDpsmavpZl}zi!I^D@q3~EjBJ{iwNeLdEFv-
z!<tpw8M@SEbahTPrW`-GBuKUKWWYJr4I8K2dt0?h%k)UqG^b~#=R|Z?ztU}Z1S-#p
z>J@Gl8mtWQOfZ_Vxl#B>6{xt^d|&d*)aawX<gX4+@#-VbgR7Q5o!no%GxYr}<2Cah
zNO;XGQ~0Sf=UK_+9jY3qo|>Mx6rB>N>O7}+?#<78z1q_g*V$G+Q@eapFKbf&<dg^N
z)Qg)gPdIgMLzQUp!_|AQTyEcyG3~m-Ri}e3&S&Z`Z8ATpr|hgV`DD#W`*#O+s?QMa
z+-yG6BGr}G@T(BJ#;m_vUugd0I8!*;e*V(rvaheK4em^^DEC(LTkD0X;^+;|nya9q
zV~zRj{hmL5tISpZ7g_xN+soDWa=&hJYrFY9eCzwgK@6e0ou^DY<vj0Mz2(x~rD;KV
z6|+?QK0edY4Ovw(nWymxW8N!GzcbU8N=IwdL2DC%fH@VBqB}2cE?LCyJ6~hd^lAU3
zYu{biZDp)EdA{E-mSsLmRV_O=ck4E$F4Z$MpDMD#+b%Nplc(R?rCRK--XHkH8E`99
zNq^Ieqrox}HB4dF!CzuyqUyUUW3C>WbmCF{qICVjUz02SZJr9;UUlTGD_g`TmCQ-K
zYs!|r*u7)Rlc~$2rlox3KkK`fh0X85YPARFH?IGc_BRGz!9y$UJ(W!VWU4=lKlzGU
z|2GK#SOtpQ)%zmtrz08$^^j&l{=5eJ<L{~+|E!;Tx$%Fm$!g*H`*+mKo+kO5)GQSh
zwwrVMxvswJ(sQThs7_=&!JejB$aN%Gf0Ea%fS8&qK|af}H_l3Vv{GF10kpz55!w7j
z-Sh8}_Grze^@@*I?W`_XcV$7|ikCW_PdFwWx~QtNpfE`&gQc>5B1`+P*>+!ed}<#A
zy$ydAsk;A*XJga~amj>7OEvAh=cyeEdL|M#IZ~_p&9hK7#=I``Vs-gXQh_J-h!s!V
zDH^@wxpK{yQ(2!TE@-$S{)u<}ciZs#T_@XX9{4PnP}v*we5!=ElK1IQJDaOUKfMzk
zu<XlX`X{sd@!4njJZ55U;q{Fo)3s&edhVxBwwC+T_jI%Bxu@L|7CPMQ`qQ$wRh5rx
z-u1redxdAdHD5icH1+=EM~jyK(DI8e(`9d6pncQTr`<Wuh;i1PBjLNJ{hF=9dSv6g
zbxf(xh3i&&8l5v)@{DD=X-R7Sgr{0F8CZqmel4*$w`Eq9`aT_n`JK!C?=KJOu3r#t
z`cy4J|Kk;pv!Q3U-rW6gE8Exehc3tb%5GG(2-mwE?@;9YDAU9=ys%=Gs{;E=tpG8F
z|2j5ro&RrYTkrS48<Y^d*PGV6eu)=JS;G0ebHB-#mq~eFOFr|PhHPUz$NqKQq=t1&
zN9X*Ja}V9S^3LmEpWa){Z+@=yYJWFBwy?fzri7KSw?M-mxy`p^BWw@eZS;BcPS|J4
ziSO&qE%~=6`;tH36ZJD&S3cY(y#IQNc(wYT?}?^`-#M3^K2q|x)4y!)_cDK@FEf8E
zx@g+C?xvi&B(%!B)4q81oAcVXKRKSv@BVG~<vE{sjpv?{3dzb%TBhG0zUWd<(qG?t
zy?*oLdObdKy?_m31_ey<7L4_McRv>W?AEw_R7K<Z1(AP!3(sd=%sX#Xv-do>_SauS
z#oGVJhI+cx{<8Vg_M2>q^=U|`5OqfO($9M30M9dXPpV(LnJVHQdY$3vES{4kr^QUm
zf_h(tdUutI34fIJnE7m1+0q$TUWmvi_?LaQ4PIr$zhI%t`JXYN+}tO8|5Z=;wYTl+
zy6Z>cP95v)*Ycix{>Wt;lc-JA(}Y;}s-!VxonN@i@7IIi;3>P<CbTU`h<z&N^G|Sc
zn9BK&_4U<%|NUR`a9*d@^CA=J*6tlW0inNmCs;6~J_+?QN;&!Bmh@!L#&denR!i!q
z<h{B&FDdq^LtCD7jr-|iZ}$bg3-F8V6yMA!#J-?skC$hgj$~|gvXSP6o2lOIU-~ck
z?!6VfX0^<T3ukXYnsjByPru!-JxMU$Vdp)=kDa<v_0Kxz>2I^DZwZ+;`F7r#h+D~_
z+$UC_o1uMB@!onbb1my@e2k}F=&5a%+^8cvNmDyLGAA?C<npSLc~NThRcdzOepOZi
z{#9=;95we2=Kgu)DbMqD7cCgGT*MrnYuwFQxFFe(^+~9D`2-`+IO}Q6Uaf-b1?S$h
ze-@;_-TT3jE~)w?UagckS1zBbkBl1g3SLFN<yqZ%v?So!vfKZroQ(VS^6F&Um5SFs
zwVqjxt)=k!CCk1taDnpo)%NzPudh`lIo0BN=QC}&x7??`=0)xA@9WMLn1_A0Sas85
z<{FQ<qeh$u?wz&R#*v;s=ey~t_WA|yg|8L|h2_lLaO85wq2>N_ZhAyV>UxH9o|}5v
z!b+fhU(EUEe!cx4-l*E$@8WD>UT>l~W3$!0-vRo!oj!T#)HW3Vi_!eQ(zU6$Ajy??
z<1!JW^@Yn4B17{TMf@$IA|^4P>}&R1>cup9;T-OSWX-*|zovv{b$r!nJ(E30Ga{`1
zYBa-9;XbixPaHNqP6%2#=|GA`I<xwRuR<T5-;jMjWxvU$y#~9ubW+QE>cYGu-$ZU(
z|8eFtf4g%}rS@i@-%!<*tdV-F@yX_bS(kkuPg|fd{knp8{zTWQJcVXuY3ILd$<Axt
z`R&Qf**@yKS9sd_O={dd?+mA(vzGPYSD|NG*MF-I@|S<KC^D`&gqu~E&(QnyJ(b-(
zJR5z~KCAxU!Tfw)f}hH{dnu2mh?*X`;w`fv<J<K`%YP^v9QXZKGp+CD)z$A06gWS+
zqdU`Ls}`mTF<9$+srl^vdKIhYraYLvhh;u%(Zlnz>h9kWGAib)cMjdX(<{ewQ^$0#
zS(g`nSQ@g*@`d345{+${D=x8EY=5&-sCs&eWNom%Fyl6zyGwW+J}TR+Rg*s_w9I0o
z7h{O1rdvW})TGJ#k8nPbX;`}Y&y%wG{N^vuU0(IZYG!oJqP^vv3x5WAHtssrp*sJ`
zmAF+!3;yxx%x72{tNKZ)JI<#5XyZ}!gssM|_m3`JI^%e#u1=@UKlQ3_Ld)%Eem@e-
zw{fl4otTscRsTt9H&0}xckS!;_KvGumFg+>|H7Rs@Cxnss{Cu`pF-+#c#Gh`Y*3fq
zyxuYHJaU&G)Z<@23)JI(HT!FQF-DjF8K{|XHh#kOV#MeHxN$+fRtLnPphidi@q2$*
zD{Vm|6kt2RqYltonru&z;HP@(d+I>9{qed_?e_Arr{$mhc{0(_->@>JF*QGLtIl5C
zpF2J0`QO(F<tivYXQas|TpyqEzToPr{wD>W9g9x+-jr?XFW#3dxg9cS0}hf0N9QL?
z{>c94_T_=dR_;BA{ZB{h7Hdv8e=DY#^;`D))Zee}S+1UZ_{jW<eQ}?s<Q`7B^+)sH
z{3JVG)Ax{Y1|^8bRHlD2(Z__IwEt@@klOY9e!<eeht||xtN#@K{N2~zTJy^fO+I|Y
z-){bC`+aX8^YyEI*m+t0=AFGDz2GsS1LEEfg6)ng9sazZZ|SBNo@~#&Z%)w=UKW?q
z@Z@C91|KhFU#qn1$85ZFrbqBGoeol5zPf_(=Cqf4%Fe8F)}H0kEz|PUm~ku1f@Kz)
zw;cJR8Mg3!-j&M*_2-vQ%DcioP4uUeU-(BB^V*;V)0XZFnSNbZe%AaK$pX=*Vx}JP
z|D~sp{07N0*VR8n&QJch<mvjv)9K5f3GOk`w=Vgg@@USjldI>(D&?PBbXDlG7t=(>
zQyuF(+jMWLrm_pUzZCL&K3jKk!{eaIZMBC})a1Vg8O*GIv$ksMkAfpDi(OS4->sR%
zAl*H0md@A7vxI%vUmX>n6rS{wS!7?#$~)aRD@2RAs!vK=gM$MSGgCQhu06l;@P2F1
zG2_FDzd7eA&8>1if9Z;!-PgiR)78{xw6SiERh`Ia5pKa6sT<oGGF9RB<ee>-|D<_y
zRb=ftk?^8knURt8i2B|yn!l1lSKXW;HCIJ=dhjU*9o6_-)0gZ@QB7kC;+o=E_*5sh
zJMN!%;rBZ~MA$9!eX2Uuj?9YAsno5S)-xCE7;w({u!+U)Y4Mvs`c9K4{o$PVX%56W
zbt}~?n=)@0%5Kt9b1>MW<{Z?fIoY9x-AJe2&ito|{luk3_PfHljd``Qr>}cjntb)H
zn&D3)SJg(54_Z1G+`Bn_B`>c3k~sAbXPEv`$4^yF-rYH@89_&Md@DZfJn5bA06A_{
zJ}}qz`PP56dbr$R`MnF9O}0*sf8{wZK}yfi*J(j^Ly>P=iqt08Svp^XA3drsp6vfz
zI8v*-e*d?-Cw!XM{SvXwEsja7ustaKKlS${o!J4Cm(~S2uc@7uBI$D5**5jaEbk94
z_2-n%3C?|(k&IMu>@jK-ukU*r-}1<&-fim!?UN>od~Q__|LVMC_SmTs`Zi&4xaKY)
zVUas?t(7O=yX}22z>V=|y`8G$tIn&{FV^2<xp`DjDCdNZ@A5hMv;6rEX7ld!)Nxbr
z-lL{hGvRK_tOHp~q)mk;_?#&-ls#eTuu|;v8ZY^9t|Qzsue$r!J)F#UH2u?ZJJXyg
zQ*W*8*NRp#D?pT=2hvqPJUYMee3j4nQiN!Oa6vtYw<j9ZXWMT6s1~EorUojEXYa|d
zUxw(jK?3{zv<Ca*_ulqa$RmXTxY*d|2^s`e)4$dK5~385iFbp>zRRnX?;VHM2=%bE
z)0jUAR3)73{+4WoNa2t~l?QUf-FqG13qh_0+W~RtgV`z%&Tq{BwCL{)xE)XfiS!fL
z{|FPQ<0+^UEb#kj&yV6a>h<+ME*JlBe!Bl({(3nhBh6o(`kTskWL<SH+VNAt^69cO
zOzIyNa(<C7`uAtE)kpbV^UfmYwu_v5eiZA-ssE2MwY|R2s&wLf8MS$P-#5?Slsm)6
z|BJ}~lXvzATX-(`FCgX?-nd2g`sB!K2+#UGuobTV@cc&gzUjyRANslDaJAawwfD>#
z|4i)u{H!fVtnkxKJ>MAhf6o-SA;Arajc1@jN8<mwqa8oKuY0nT=fc#<^Y$JonmkqF
zm-y|XQ2m3x^OH7RIbEQ6?$xF(isq`l+!HqST6md%6_Kdl&hkaM<i~@j?Yg^;oX|SZ
zW?wIpG7~9f-7{-E|4Zhy!<X&)PcP3*?KFBM@LKCa`bw1p#}+MD^ZvW!8O!Cys*kNt
zrbhf?Xw?tb`krJKcQmzYy<fs)hWcGWYM|n!OL4zp`AKL31I2~C3)B1mmecB0FV9^0
z>V2kdiYD`hQ(}pY0Yb&~ULU?hK6>-iv%Rl*;g0?jtI|Gt?fIx_6sf8a8t1>^nOJoE
z+yj+Ne>_jGOF1GQu<m*Dni51JJaAj>!?XFxzqlh<EFMl;o5G~|AT(mZkIkwksV@63
zwTFIEkJu~1e)2V^p6({m1)hSNO&*?f-*eF1N1;CIkxfn6zmob?@4^WQkNDXmktR$U
zxBEWeuIYREK1b4Mz4=EK4(+KdX8IGQl78x(+_%9^=9Q-MwHT(E<&*aIC-fQo%j10F
z?>DEN|J?j7IhsA|n7nU3v^b3%V{M>h;#0rYOJKQ?pz;LOIAL+S6M0U)38t6od!;x%
z)Y5j(;CmvoAf&r8Y-ztX>mydauSealfADO7Wc)LDzLeQ1ueVoLXFXss<NVOxZl8QH
z$jfME1t$-(9m;B;0!H3Y={-_K3C+kqIzU5Wf-7%bMv4?jhOI9!26ef6PB5XDB6AM7
zt9*EL-tezI!_SU%%a1z$`9r_y>fhM*X7kJyK@ERzonLELp0~@k{P3f)%p<CWl3z}I
zt;y3m|MmA;x$l*C7UooB%-G~?=<cK28vkpuPF1hP^QX)1F(@&2sLza8%DEx+l1QBH
zlX_RS9~^eJ=FfIEq})l@Dm-tiSFBzre@l8NPwlinSMD7>`KEH$+!s6VwY+rxFKlZH
zY9NTca%G!Qk=b>A((=v?Q!HDrr%XGgw7YVuXT$7AnR>oL;;WbL+@&EFS#!eMKgeSB
zF187E%t8AFH>ea(s$Mhguw!*?$n?in{_@*=YO?D2YBMH9yj{BF;uF_*jZxn=)rP7u
zemk{B@2iS1ia8aVmrL1mfU^6%MN7V%C~m!a_1ou{L0mC&OBcO=Hh1CqeO^zCKQ7&=
zIB!|}r<p!xe?tGS{&n_+_tMqH`Y)Yrbc;_uclN#Xr$GKx$8z4I%Pss2=V;HHCtR<`
z=PjRk$>ra{%iB(5T-|s?+M)Q-VX>1pehXT#U#v`;wnvK9$!$*T<;v}w%+-X`XKsD6
z{M(z<uPpA<Q<zlDE!4kFwp+TlySriU5!Y#UnjMp`7tc9m(S82N`|p~eH<v{tW|KI-
z$7zMyDlQf5_{O<;%f*aFz8hCpx7Js>)NJ0)@hx08Eal*2%Y&J&sp%1_*Q8S49r53L
z<?^e5_*<V(#XVX&!`XbtcfGm(9+@oPidBU*e(k$mJX8LAaZjhM`Q(z{8UHh%|GiUN
z`l)7){ru{6H8raredt_#TFrm|Jo{TaKTTAf9z3b%^M%UHqRrp;c>kU<Rn5-*^86k8
zX7xWy>OLvjKeXF!9A3S0xpd_tVcxIRXR@ry(@yHAdQakJ_dDD9DdpXhYd_CTIlATc
zyywq8>FkZ2JnzZxDeD&g-}&!|`#DCnzw^?!+F!qCUv>4;)RK1=Gd~A6FKVqQT99_=
zjW6%i$hSVvuS%=FQjbZ=w3xU`%;9s8*7f34lb|^k=jxMAyj~KXpE>`>$>K-q^Pg<a
zJ~a9Hk<0C~n)p+fu8zrcib>fOWSrQ^yrk{anzCh|Urjx~#B<+?Z%bC4XPy7m^4OYB
zokv(680%F|>b$w>NY2EDl!T9rYSG(DYTsA6$nTZecqi+Ve(x^7U!CWVtr43Xx9H@i
zr4t?=nD%J>q#wL5&K<4a!;vEAuubKpcLB#G^`l1)7O>n^tIIU{dEv>#ok!cNxy0+&
zshnl|@~wBq(!*{iSuVMRGtOdH^S3$K<rd!f$aB7@^SoceHJ7Y2PY4&k<Mih({58j5
zj>aA7#amRaIu)!-371q9hAmAAIinuO2U^pj{wHYj$M{#xPmJmh-CaKAlJAoz!4+{g
zcRyUb#6I|RP{5H(F|6u#SA2GyUuv{^u4WCFiZF*{;moZ%x+gE4c)c*rsL|x4_W1`(
zHEo^?z5lvuQ)@8S{Oh0Bty3{h<XhTi^RZLy%VeF(c_#NCoSdM0#b?H^BO!i14>!B^
zGASyb)0=zx(xi~n#Rt=C`<~VZzwl&jvOnlrHjndcH>Y=J>8btMAwn}uo=ktFqN)7u
zYJ!Hsw0g!Xa}u@&@0lMxrN|>-)t-3|9v#!ZeYBfLV9C1J2|TPvF3B@}6I#7@!X6?2
zs*j9akoLMo;;umFe**U}&eJWtC*$~8cuw2hcphJ;Gp{YDNq-lYbg=RKBvkLCAiaFm
zk6wH4OX>kDKNP+#R^<!$QeAkx*lMjw(-XGuJEb>zz1h`uxg~ZJ?}VB;D%1DK1g%*u
zWj%RmXL#~N-+!+1*Gu&N?Gls!m^CGFT8Z9Ir)Q;~RMsD3nESpbC9-QWpRBi=L*%Cv
zHJ|nan$eSrUObx|cZ%WSy44$`QuQ1P>nBNX+-3E`E>@W5Z2mS60f)Wbw^hDZg?1mF
zcm86I=iej2k`a$sB4Z~_p3!Ea82{l(e9A7d+WD6xzlsH{*|baL>W#DNd#5liiVaUR
zJr&dNNX0y<)K+}Y)#o$h>>K1ZFF&$I#hT@4Z}_7E?Qp)cL4p%_*3@?S*zkG=`R}>1
zyg|Kw?X(@$Z9OU*Ww=gi7j6vNeE_tE<>_U{=nzp!1&`R>3X)tMOYK?SsD@Q5R;teX
za&WoNbGMa~b{#3W#u=8pJ?SM&@tw}NS(A@lnPM!%wRua_q*rH6)#lrtzh`?c>-vQE
z6}M{Er(AD&>EQdRIxT+b=O<z{=7EowshmBwGvn0O8THS%&bb&gBQ?D6+SZQgHh)d?
zR*KwA)e+tEUH{ReGk?|PKONe#^yEVO+7?c;f00_w`L8rB4od%DS$p}CcXiv<BS|b<
z+|oChd<?uhCB?g7#qu?eQ;z7bmx=lir++&&T(Q*l{j4d8rS2=Ym$-SC8FWs5ezTg}
zI8sz{{p@LRw~W`Q)r%=FxH$LZr6ca8!IR!@J`i2omn*j_{nAX|-Cj$(!yjFko^7Rb
zQYkKLT1w^{<*M++Q>L<h=PsSl-na%7U@uOG@^N}iy)GPc=hRfb)R-wvH#xfMH2uz=
zJn4Akm9EPABjqoqzYVX=aI*QSGXIo?>h0#GpZBS*3g4~vSG)3@)xmn6#;Q-O@~1X+
zKN3C@d4)ZGUG@LCrJqA$`vM;C(~4{;e!AskXY~9_GgsTa6iAQHF`8e|CwA|Lx3k0N
zzGhED?<{-8m5S3m;iG`FAK10~hU>qT3==*+Gkdd%;lXmr`Bm{tKP?kIx<z%Fn+0p3
z+UEszS@VDVy>Rd9%un?SyM%mVTlK@ObUuduy`*yDca2%>-Yw}7zB1`~r!O73Q`3?+
zDNMd_-^1q;^7V(#OqexWP}Fe!kuS^DP5TonFR6GM9oZ|z!+PYCe#0!`HDz7ji<gQ_
z@XXW+f2HoTS~X4iZ}aoey_4&d{j@E86y|pCKhpYq>JPrXw^&nz7EIVPul~W7MVn^3
zPkkciAGWmH=+P8a;q;eDTc^J$7QNiNSJ?lo@{E5+CZ}g@l3E_6_SgOM9rx2LGoIaB
zzTDVwd5PUB6=wfmQ+%(UdoLO0Zy;`cF*sN*;5ukHG3J$~+Ov6CF_V_A&ZsiId+ulP
z(|eYy)z#I7F5CY|GS$3!bXsw3;JfwpQh_N4Co6`X7Mi2IzE9)a>Ff!&vNUI`lAdR$
zZn1X7l*)#4lPg(@y$){CUHVzux8t(nOpES^OH#z6&wX{>xj)NgBCCH}gswbG+#kzj
z?%o2+=XvvZs!k5=6kf6P!|ByWm=qW19#46)@*9Iv>Qoi!{8y?IIvsXB6*<XbHUG@N
z5bOH0i=Vdm`_5b)cXsMjiOdkL30Kc~_&7eAY|J}-@7|DQ<&5fHK1Izh)n@vzY+91d
z(8)Z(KjzD&72di@O9C|=!mO1ISv$QwpC~Jc?|8Z4j`8l0S87_U30ptU)qHj|G5&4d
z+?}ru{N-L&nZy+mJ1KDQ?CF~u)*QJoKjqP0yVb6qMfH)BmLEvV%Ltijckoz@F5`{R
zia25KGm}m*sMlm{YJGI1dR{Y^Uf7ydTT~WXeOxMH6uDBRP0d@C_0=T*u<13Ef~!}a
zYW%f2LXD}!LVdCKBL*YInH7;jku}r8MAY@psZ3w`PT<VWprp0smu5@Ny_4vFDaNbu
z%f(QKe@RRoJR6?Wd#Z(XdnE~V@E^D|Nqy!FUD@FKtDp1K{)!3B+@a#EVAt?PMOfck
zsr&q;u180X&U~`zitN0jpsrhF_H9@v7SzXpG-p371`T=2|K+W!M{m#8T>v$LoA+6)
ze~Z*B1}i(zKMyo$_sRa~lln_PPcg(B?ESNS+3Zd&)*n*@<{6pKe>C-X^)+$t2bcOU
z$l7oD;vaMF#AbuS&=WeHZ*+B3&$)e^%)fTpqesfVj9;LOmcoC&x$EQO+#B(0@{+no
zhu2Qoa%|G|FPtvdL!v%;?{(YksuJzN<vx8wy+hPXtp$QfOdTp7jWcFfX$l9}_a<<E
z72f~lq}$dxKRkQ_YC@F!ixV}OSx&+hJuT^v_~!RZI8IqZOpkx+p0Wu#4JR%Y9a_F@
z#)gd#Ho2{wwtAY*pJ%J4eRj;cdE=hWNtFY>g&b;sIoAt{aEpI_vUO4lqsz2u!gi)d
zTk3m{*@A{mjxs%c`+e%UncnZCidoOG&(+>tnf_wi`k<dNHJN!G%U@2fQ4{`r->lKw
z-hTQK$;@p>POiQ*ZDE5~tUqs|#_3R>57qLT!OJ#FuiC=m8ozFDYm<9{)#Zg}P6f@0
zJ*k&uCG%+#=Y=O~`)+N$a$iMLq3>&nsD}0Y58l4@lM0t9njT4=v(7bm-6YNcgNFi}
zr|dm><m78hztlNL(;uB?`n@{m^4bp5M=TqrSG-#KOpDKdE5{RsSk_ZaPvj4##>_N|
zwJf~UQSVZ7NxQefZ9eliA%DIrF-IS+6l;`Ovf3fC;g9l;9_`?oxk5h*?T`PsY-B6@
zb9L1>yQc5O->=rYKYLew{`oxZ@4~TvKXE?k_nOo0U-fUX>ht2yHx`yp?cBvR<?PA#
zg&|jGpW178^vVj`14n|LeQF<BXlm?u-L0^0^0Ln<FDBcpR^MSg!ShaSQ>W0+dsk;(
znP2Yv>ty4fmYrs%cgh}ppY<l`ealPdJ6{h51Qc9fzToqhlUdh&_RdwWcb?y=FBL2N
zV%FQjNs7}R@D)6AK3i+C>(swJmnQc+{44Zf_q+Mv^R!}B`522^=Gh+GuE(sJr{i<B
z)?$A5-kNELvg<$fCtGE-98?4M+|5OomkB!?t@56ilJwIjVbaB}z48a!)!kX%Mf(<e
zFJ3pf?$PFrXP$0-y!7g%E5a9-)K3V!^ocEAlku;|9Gj4zoRwAGe^`HUOl9e6`y-^j
zQ*-IVAOY1+GPWPD2zbwT2+!)!RIs~PQk#CreF?)!-g#vapEB18GKt(j625!aKI7UK
zZi^>5WX`WR1!|oN_|LFAa!LKdRH-DcX*+&<s0p-%8%E#Q{c!o#n@YU4ovJ&S=hXiQ
zDCS%~L-$U=9){J8CxwIE>JF_;pUPKVb3=6|L%Z6_AjVyJW;0Dre!eqfgNdY{)T{hQ
zf9<lwA6z)_q*GJb{^6C)UhI!GL4MbM->v_S#oapf^5stdjpq(MFEvuJf4DSpdusK1
zHfP3-f4CPsV_7}-(ce3ZrZ_hRJ^jieZXRF1-=FEvM~j+QpT)E~Ejw_n#HuJhW#(J5
z_vR*<jq1C9&eIH?$$p_q<^0bK|H5t0r-psH&%E`0>Z&r^cD89j3%2WkreK$Mu97|<
zbnA_BD#J;p4_>|pqtv1|S^eyI|Ln`lupFJeI=(ZkgM;h0z1<{o{AAGaNrE0~L1)-J
zWEzY<X{kzXN-25Udvb|G`gC2{OZHyvzfQKim6b1Bsxy7(O{IgXwPmT^_b2yEVG-&O
z!8!Z7u+AuPx1n&w>hp$wD?ar4zb|?8v*d_(?IfG4PDTX}OLY}?d(=--^z%*pbZT;#
zcZ|%gx4w>B0-R&KY8!iJEafbBHomXI_|HSe?o*|=*6EX)(%RF$MO<b2w95FIS3w7V
z_*9?GOj86e=`f0GH>JLu;1g+iI>~$WqK95rE>~tPoM$IHUwiZR*C#RNXLqPBaL&B{
zV)K>s&U(#;V5ZBFr%q0;`L5|x*nRJuj|#hL-G`Vyy?Ivzyu(iH=@Oao<q>m$&BH63
zZ_TWoD*S!NZ=J7GO6T<acv_mN9ke$|=t9<|DPm@N-b$Gsdqh}Hrj|^tIJv^>Kj-op
zSI@m!EtS5(^TArX<7U-%|JLnx?unk%8V_pCojJa6(vI-@>2Ec6SBj;_bv_ODi0jN>
zw?%NXN#fh&53E8bw#z(!xcS5KM@ycrva_uYPq&zR)wb`IiPDeS{QM<#x7uwAzrFju
zFs?#Mswws5oS41@>y1Y)-#L_?Kj-F-Em4zXRBG1EId-wp;>*)j3x8i)W+gfA!xe#I
z?MGLR%zScIj0-f0yS`qQ>!kL^FO27Y7BBs?T#WPF!A?=rBeQ}|>^U~GDK&I2Yk<we
zj6_d9mCoP`lBRwS_OyCET3XEY$R_^Hvgbt?+H4G$v_))dJ(E4>^mDDGnI(o(k1W)=
zUYoyO?Q!w^1JZSUANTrO$a$$Y{++Cssv>_-%6GELNrCTK1|kBd_cLVq)o-|^dGGwx
zAP2Rj8)H_^H(1+K|Apm~?(xch3V#mnxM|w?y}0`Nyu`08$8Sw}sp(<IeR>bWukW>+
zq@M3vZ6bC)XlZD;U#Qmn)}1$=oUFA<6JLGuxTjIUb<jwHM{0V+-maY=JoUdGdBa;*
z$s43A;<Mv-iuG4@pX>gy!vA+TTg|VZKgZ(?Z}W6T<k{QEid&Pd%g?;r8zs@z*{!qQ
zHDH~(uJ>8rNzENQLqB|4*fyi8lUd~Kzo;)F_T2u}Md^>h_4k)u!bet4Ju;!^)sf9A
zlR4+i@F_OcIIFJxsq^NFRc0c}8@`7pGiLE0xWqYsmXZ0oC#83P1lP}>(IaD_vC&^W
zpe|%u<A?TDuS4JN)nX0UYVDG_(&kC#yx?8Y>1t2sozJp=8UHP?GuGRP<&pl(72V3y
z@`C*Sm4C>Y`R8;}<x&g7)Ky&~${TcaPo9i_#8Sj};8JK^(d-(F?is%_mwMWNJgS~D
zXHslZ#-@;<1?!BGPO4jOoxVz@e#L&~)9MbH;hlR<EE4xGO!&wd@z&>Jd10pJv%*kr
zZ|_YJp1}te>g+a|ay=<xU6!S!OX0_zRd*v+y7*6IoMv<Kz!m*yv#Mz?l;@>9O3m~X
z+iSvR3#!n+vYtU2X$FrRKVaFH4w@O5_x`RwtPKQO{|z1`Jg^+pa`LZdjf1L%4=y&o
zp9z{7cwYTI7-{Yctm?x{(9FQ)_(pN0xejn^>_IhXVbc4b_x@giw9F7wL^V|)M|=r?
zz&fWvxE@90k9i>Ts`r)KZ$%oE2D@bbyaxN@c7H`Hz^(<`0d@j5PeCQ-5aFkKT6hZG
zPc^5W-|+wNeBX`B3e}zOi>v4Bv3!pI@b2i7;_dZ^XPZxBzcTfKY5#|d!umghb@rTh
z+{94*^m&+liT_Od*OHe%2%4`IS@2t=zH|2{+nJmG%X+_>$b9GGzWj+l-NNJ+#+di&
z!RGKaIQRT3?)iU1Nw52<DU0y>OTLqr9<E)|7MJxtcJ9Q5a_$aGy%R3)n^|Y^sIdL8
zqjY3t{eil>U+ngVEVDm7f7_AC^%tjPzhAWAfnFVZoA<qq{#*QG`K`onJ8wU0muc~{
zWS?>B(*7Oy?$k^DT9Z5f>E-WxUfyAy`*K?vIEwrZaDD;xgTnqbZr#JS(zZL{q`y?>
ze2#ZBw&p}m+Nth+Bz%6-tGPeC|M?s4G}+jFn(yhY`mge*_9Xl|*|A9T`aA|!;dim~
zPZXTAzIJ0vzE?SqRnAV!FUuU7&rQv$l&Lutu<mam_nqf8@#6DO+<**a?@MHw|JyQ*
z>3sdPqn>p?`7I_Lxj5sxli!{rLK$1U7+uO{dU@NPJmR{3HAAZG<df4<)aK1PATnKS
z+ApJ3-zLp?S8qS{$my_zNFhmwQ!H8^r7S8Zy-Lm0^q8cYIMrl&p2||5f<wWZkK9U(
zjGZ(+s%uBg)A=<k^VUh%>YsF1J?pE`SfR<>!L#A{N*^EFwI?>e-f1(pv)C*BTTRGj
zSMOt6x2#avXmV2L>z20`lAn&Mc%2lPm-1j~e^vEX<D>JNnk;A4tA4ud)q4J0&XTDc
zp-H~6mMQ<MrP<nB{~6t%3Cajxou}Y8iS>C~*2(OPQ?hohT3XV%JT78EiLXuSl?m66
zIOTnr9keU3fU|wanuTBeYOc(FRHChY(fwK0n@1}{eq6e-evb9SH?z*Y=_(e|sXQ0O
z<)L?Uu8Olv*e<RM^O@=&34GplFi`7i(bGGe|L;An4?CN!ep8S4B&YsS$9G@XoKid(
z^2%nWs-MxhzZ_r1_Wt-}@i$7sEUQGZ()M6@?GpWjS)!YKHGMU1+?Y0LJuItNG1(t^
z9<e6&-_7INh2hVXm$xlnBoJBEz4nWV$WFn0uhgXSuzaR@=I;9SM^AUQUb%4A?sCbu
zxI>C@>n5s2#&S)Y?J@sqQqYMtlX&Lvoel~Mo)A0tq}#m7L4SM?q{gY~IsbH7Dx$se
z)K`}veHn+|n@fWpR);p_Brf*4dG)-KUR7A8TtwKF4iSy3MN@qegywt>DU<Oz6ZJ`D
z>C7)X3o--4!_?0%^Exc7qg~(Cd`8<}b9%$uBb!dG3%WI7so_*R*c9Iz;U9O-Z~WB1
zbI-AzcV<4~Ts^T#;dJPx+RXT+>V{{(^R3j`yN8Qgq&RlBL(hSt7<KbsLASmK)d;sM
z+))u$*m-cNNcca`?J^Vp`2H8UKP8iEs^hfPDNN?9L0ogT&(S{oXW0y<`XpVo30Ez+
zCx?IIS{`vdz;DNFkwUIhp4)3Xy%HNU#aO@S*X#_^+;c_e<Wr*%zY5FlM@x&#0^Rm}
zxih(zi`W0dlk;(zW(`%3HYI8<eQ3Ee@_;I=<2w=5r%h7&uj#fXXu{>y6XP6WZx&6}
ze>=<ir$@lC+%H<3B9nL2Z&J}Q;57TQOeMOpw<5kP>)*tw4j-l$blfajx&6(8)eeTw
z7jVwsK1K6y)hC^sSI@7U9$XaqZPV({SAspytUI8^Il*V67nAGeC(Sk!pLQ(LxxTdi
z;tBPGXQ$0>Iyt}BHP|a=<#emd=I?oScbImo6mpyj)z!Ky;xTitcP(fgdnl;?xBT4F
z3ghtJ*y5|JUL4+FoH_@dj;4XiGo5QE>T~XX=U@Ng6#Gmcy^oWB)SR6C`+}Bv{JfWk
zYoE-in)YJD6W2}Qu}i&tr!C=8DAX67dE}(HZS9pES2ozPc;7yBIcA5+wAVq?QuGX7
zPM6xrdg9x;H<i4)37<G;)_a|v=A`$vNZ>{6$rgtN-ID|L*Nb$EFHkq!J*|erYW|sd
z%hd{gWz0W&M<jlhcJ$XtnzNsjzC6F~h)t^A1{2N4PZsDk>WJ=LXTEynlzN7*Yzq3?
zjGQ+n&5%0z!Yxv;+}!Z4<1?m(p0>H2OMPaZo6lRXVgRch1UPF>J+GfJ`G2F3M*Zs_
zjb`=lR>{wDp7s6n&i)V1J8Cn|f#yy3Jn6pAcU&;OSEKrO<$V9Lxo?bXdjGz874sUB
zN*`o{>h1M^>*Q;!{;@uDTrI!ruH~L*UoD?se^OI=N`2pSf0?~LFE82slZj5txCALR
zy_o*VXgB_N#WDvz{|~KJD||sq5q!_hdxSJd0!dLCoKwzky#M!I`Tz2-&+q^Ld%yno
z?fY(D&G-L2yT1PKYlEM&>wlcRf9(IikM;k)Z{Ghu_Fub9pzczE|BuA?|M+>nK5p6X
zR~UxY|JVjH_J_#t#rD4z|Nr{i-u~}P|NlSw|Nl7u@6GvtpY;D5Rn+&@-j)}#-vKQk
zp-wGelAq}CQ|5HN^*8nUPwMr*me>Chum31s|24e+YkB?m@{hXD>aD*CKD>=S?b-N#
zj>Aux-`DH^Ua$Y7^!u~@|IhLNK26{M>+1SX(Qoemdwc&+{_%aE&v(wh3kfe+^=8qy
zTz$g)<o{p%|9{c{|4IMj*{Su9?zbKdzY+icYy9hIor?NCTiY6GE4ULOCE|y<!Y9se
ztpE4CzOP<iOg`q<XZimh<^TVj|G!>x`HUai(>~68_J6(2zR&*Mm{zK*O_-njas9DJ
zo3-tBnAJauJ~Kbr-{)Q!#Au{;)n}GZ#XA3@k9<-Ti;p|_=O6c*|JERn{N(SEzmM*b
zbkzy-lmDKs*ZyaG^aoG(=06{w-`G59dp~*@-?wS}BcpvkX7+0P<NI)%^l@V8zvtKY
z|10(RkCqJX`q%weU$s=^QT(4r;ul}oqdFVX{`}y<R9@3(`}+4qJ5*`VTE+Z%2mamf
zbG`Z>eLW&b^18~0%m4q@f05VTm$qm*W{Y=@gUW;RhW{lnW$aWL>-%c!z23-Srpgb`
zXVkO7BOM-@^Fd2w>{QG6QP=Q*)+4+q)@k_v93y!bFs=7d_+KCP1$`w>gKz=UdjALi
z^%*DdUi-<FnwL^sQk0sQ3u5IbWpP;;nkX13fLJy*T>3t#dFdq?3KoWD(*-R#wFL|f
zP0hLVJyJ8%GfEVU&CI4Z%-~I$zV{?I7b~ZKheP6aLt_>bc7qS{5)Kvu*&s8~O*h46
z`t-NKEY9`Q%0n)n6g&R>yLUc|2ZyWI3*QNT3@=R^no2eZPI7SKR8-XH=sNX?D=cKm
z%?qIdtk;=NL<w+<i7{5kPH=UM73W^G=u=&zYSq2U-}h(FnfddHb@{vZ=jK>Hk6}3R
z-6E;bY7LJ=n?|&d;ETgO-Tn!W{xMiMFh(S>B=Ci6edFV==V$$Y%kB>2gqn}brrx=}
zf7ajktfF%9r&t-d+^0>h2+CtSq(0%^F;VYLj1G#j5_%`aPVbaS+{MBv@bGYv-^@p5
zmg>GA*Lu!g!4ZEXjf25v=HZD;7#ynlU!0N2<9gKY<9@^Kh;Wy{H|HD8+7CVm=($v+
zxw$Qy)31~>?Mw6gDf0C*4toaucv27~VpA%XqW&q-eqqR*b0_Ei`TSqT=u+y5T3<8f
z6cuh2N5K<o8t+8rMx}K$xq22KURJ7Dv?x>TMAM?>Gqu0EzAMVo?|&?AbavC0jQ5$(
zJOq9ncbjpxZ&sRTTFW8(_*e3lYq@{qRIc+mrtCF;^@Ef|hU%#E!Y)Vs>Wljf(%zYP
zUse(|e8O2Hy30juVTWa;&;pC(Hj$e@&u`x`=e=PH_oAj{rTa|$1eyEaKVN^r^<vkI
zqc`oi=0Ey!GG>0y{P}V#E-ba2*tPfOB#qX2r#PoQf45|>g>_7!{Q>?T%>hr2vy>fR
zyupwzz|G`PVOFm>shQzNT34~^ArZ%Vv&+(zrZsBON4Cy8xn=XlQWl4QY){P?_9Xl4
z)9omHyL;M8E{4}!lkVT%pY7?f&ip>R!{jfq##W3BrG^Z?(mRYi&rPx4QgetwX#tbf
z1(sb01ZFU5t2n7YVB0gHquEiSgXv>}-~%Sc6AVHdSe`V8F5sBba5lku1<US(b^+Xd
z4fV+jB<HX_KbTq|The^{f#M71<_D@0jPeI8SR5@nm@X>#dhi>y=_p!vuvR+!3(yc@
zJnGyTz@^fZ5@5H5O{>vsp;v}}2>V~IxlQMs!xzfEu)D&~>zu#vyaAWm;gSe;v&Qs;
zIya>G8W%rkE#R8N`ut$)2e%zE>l*nF`+lhWVO3uv{jNFw&|-}SrG*k2wNpg9T0gnA
zE))tlsll1Wx=JFnZIz?xf~Y{*6|+~^UD3XxZX)LEY<w{+!@NYmO6sg@`oi!9*B5JF
z-1<W8i|ZHP68kEazr4-|Gm>=-*GZVE@l9@uY|=b5C6O<|FG(*kFPY6yenW%~b9Pth
zF}B3V8&}rfNWJm(#@rijInvwMts7*IJ}j7J;XTJ%kLUQo)W=-~qB{=nDBclwN8z3F
zyq4>SZ$D)Iz*!+!XS$E4o}*sues_JJyt;;P59hiT1E&57-Zxxs_-ClzQQ#3e)~V$Z
zyvW+HYlc^htB$&vfWDx-;QfgnD$J9(Gvz!zv=pXJ?who(e!?%$`6pJTaBtGDWQ=sX
z=V9lOr+i<1|Kb1*H4%L;Ce_)SCI-3hbf|RtxxyuQQ&^Jr$0=c2p_-<eU$yow6IyXB
zB>$CCmfY5!syS87zr1EH$XWDe^_jr9g)vKOyne3xw1Ug`Xqc*xs&nezQ;JhpYdNp7
z2o(;k51p5_@Ri+F?p5{7CL(7iJoA2h>Dq;Fm-Q~Py^PqUIoH>J>GTWz7k0l;&RUhl
zmt~mceRb89b1S|Y2Ji^8&7OGf#u1BSI}ZO?vu^Rbwdca)m)~1(Z?)YrL+8WZ&Fcf#
zTwGBY{dlul@a1@8-{S7H&Cil`w@hojX0ui`YWEhs%)PT5=RY)Swq9IuY@=j7|CYpD
z?zbFoQ*Zs=V!hS9w4{`&^oW(Hm3T?qOQVv#CBdcJU(UNKdu{Q{$`_npx4oQux%yy8
za+UGrnNQDjpAoFh{i{$r^IzOwy}yOb!Oa=XSJ`^m`guFsbPlH+&TV_!rtDVbR^0Qc
z_f@Z)gm6#fF{a0|$7GKst1VO8sFv+JtKPTG$JFQMvdU#&m-U~~NSl`ynP!@{{mjN^
zI-gBG&wX}RY(wkf)&q-9J!(_Ud6}ZQ<xb{JV`1aVsmn6b&YsyFmZF`%T4r_C>bmT<
z(iLB`UZ=gjzPTq&^~^1!)ydb)rQK(j%>HY}pBtLnoEv_7+pT?DH*a`+EA-~wP0Mev
z-&nsTzkXx=<Aj$7%5OX^I6v{3#qq+m$-5titEa1X1~*^cuz6zfqT;QeW5wo*o{Kua
z>rqqT$HK^$MYo<#UOhQ`+iSz?`|qx~bLkG>PTsR-bI;D-TmP+Lccb<3+V$1**)J<!
zOzwA|zkHwi@y*9RubjS6{QT>N>&5xS??c`nzPG+Mr$)t2y|(^XO>FJ--`jpJ{KNFO
z>+h~Vp???u)&4u5MS^7s%N6z>7ArPA?i}tzEUhfLoV!k6ODw)w`etIn^9N54iaVcB
zoTxZe(cf9uNp<1c;s=%oi?^MtG`U`}E+em4f+M*-m$zCbPimg%zuPu%_I#)e{XEb0
zhT9YO5|>L#;_h-?e*~Ti*KgH)mAEBxi_R|FHmS`D%k<K8uIX<x*`}WtcIVTM*B_%k
z9{MqjCC16;P-Dx*pZ`8@KQABiV8?=tgL7M#aZlIVv&$np@Yf>a?v>q^-TmrGLdnAX
zs&x-r3bQO0d%junYKh=F{c`s2s^`16_nMz6e?I-weD&Sx)7AKw?pU7VD=Ah{&vlAr
zeapT>UJqwqS#ag<%H+(%O!muamy$0_8-I}Olw9tzYLUssqds@fES+ha<Xt#%hyH2P
z?CNVBDlSD1T%O`y(VJd+Y`m;#Jo&H6>+>H^tUUE|hf3PXk4v?@UA?V~b&IY)wL8y!
z;&-ZKm1KEj^}f1)tN#3Zdhhi2bq!%EYct~OGk0t%c$(mt;P_VS(W)(>``2%ajNSF?
z@2nf9Yg?^aSzDRyS^tH^F9}i6+_n2!?%Q|sFWPh0zl%!Wzb@(S_N2IvTZLv%+B8Z3
z_0HGpb2r=#*q4};{OQ;_U%%O9xySOva`$aMTI`*>(knCW<$-IK(X+Q1ZWqn3-e3Fi
z+v-%l)ZOLv0_7*lzD#YOwmn25G-ut9Ak7tfVxI<IjaVDIcU@JEdVczQz4fuYyGzTa
zzxlVveaG{A_YUm!HB~cB{k`FL(Kp-M@|*WR7Qd!n%D#nfip-CyfRYXC%@%!2np+%u
zSMja$>{kz~BL9AP$lAWU|A%a5=7y{rw@+l~SaS89>f86j^yBq<>*G#+TjkSb^DPo<
z7X4Crn^GuzWy)=nOF9|vvODu%T8h@J+Iw~F*C+Yc_RHF=t>5*k=hjT$^v-nd^L}$q
zTbtif%d0N6d-})W_oHv^;*a$1?6P>DbbaXr?{Gc#n0*%>-YtCB^?T~&@Ywb9b{*Sw
zt>*5_s^I0x&rjZ$t+&7V^vc!xlEXjUytjLoXP<vFZ}Z-Hd!Oh3y1S>QyY}_3w>!62
zzjL|2v%LJ^-F?-2s-3@Ie!stR!smoPi3gR>EPizSRR8ID8TKoG9{$sR%x?KU<G*!(
z=lUzpx089mx93mrujkVb9!j5*o_hZ4yz9I-dFRUUNxZ8w{D1U;_s7#8!(HoF{t5ki
ztNzW`&i#A;y_4ybmaI{(H2zrj*ZOQZ`+e&@`SQH-wVxCpAN~>X(fw@y*7*_ht?Z81
z)!FTP!u`(sXZYv!YwtVlvz>Kf#teaCl{qJ)7+QM@ii{ZY`I#I#*&D9$G6ZI>a+|lM
zVcDyymZx9$?m2zC{$q%&?aoIm2lkmUEaGC|aDB#=m15>-b(Nc;vQy+KYeIFktGh_$
zWVPG3eVJUQDJ(sCytA|1is3;N;}5NwGbHX?8h$Lb4|=Vz)i?TDNUq-YFt=C#ZC`DB
zxNTzY?o-@q-~Su@Vb5Y>Gse;eHZq<r7{MgWY-wpced0exjryZe(Z#oqiPl|T|G-&(
zh3C#=_sZ{jroTCsc}zI`WkkN`G3H4VT3A>@m?o?(`*pwiT%1D_!^#6se7-6q<)@$j
zd9HM$N80zzDc`=Y-o8D2{l4dEZo)~z-s#)RjZbo3FIyJr#PfLb?XPd1@AO$$zqi)D
zxh`o%!_;-(+h5JP{PX#1*81?Ydm%qoKhK@}v%UUKO~q$fz1>yi)nC_ZbFH2v`SwJx
z>yj;-uReSAJbv;`sblxf3msZJv$o9G+&EEXA=`D)&Hds3_joa#|5)xmndx`P#hIJB
zGD;_@8LyMg{FYf@8XP5{d_z;}WKUqjK^_l}ynTH~7N#s$J*qoJ$!-4zR#SuH^=-Oy
z7A>8rnPmDx`ioB^>%uoak_`MAmQ(+Itx|MczIyBbzmtO>Etk);+p|0F!q3%jymwXV
zZ2EQ8Xzk~#tCiyOF2DV}+DiX@_nY9Ye{y~9KYMK<$EC|F@v^n$TF-_h`d`%k+FGCc
z|KzOu4|es(>7UL^PJAHj#d)aWLH*5VN2Nj@)E~`|Gx{H}{u0yHX?eB3HE&<54E@EX
z_@re`u%zrMEs2c}CW=oC)jAY1!SuJ#lHI4fKYY3MUuW)`glY2+=y0C1*1DhatnE{w
z<C>+@H@YTrY_5&gdG+{?|GlacwwF~Br$3StW75s<l>N8*xcde7MK?O)oa(QK@05Ed
zb7AGz6)z_Lte5NZ)AfAP>cY<abka8w_nM3~@n(lk_Vk=^@=VfG;TCS0t#FztrJ}-C
zNnn*w3zu{Lt<Y$<{21FOksKzWuj{Xe#y(&1u2Ld`y+5|~{<EJSMI3^cN;6F<aC+Iw
z(A4C5Aux6Sn%5_5cw8ombt!%<Rbdi;KA|H<f_LkoRt8@orTP*EkySnYa+h;WR{oc1
zEw&POc3dzi^<-tiJjX?ko1Db<bIiKL!L*{%<o>?e=Z1e&8&BP}t=;o;<LgB~jyyBZ
zzc1fjp_T4@Q>1-Ot=NHhf5lG<swvluKOQaQJtM(%T$Ekkn#Ekv^ZWCSz7CRHT;hJM
zUBwHgJ&Zd1vf<Y}SEfhxi6tg;B(+TYg=fC{?lSeFrEy!vY14H{K~kD!YyNzhaP6k=
z%$+ygzgme-R9xmXxw!iV-{qDgyZZL`Xg0rCDl(ZT$Myi@91qT|&7q7>S)cH<^F0^I
za+3~e-TQZ*?6N}T7*X@tO)o-h+B%B3Q;(zyOzqM5`QOc?@1d4?oyhK$lj{2u+!y9p
z3R`=0&uUg;4Lp|YKH2%hfk@5dYXv1<1(CuZy)=XaR%NVC?)RNyXkd6zwrNL8S4(um
z?Gt>e8qJkTy<3$z4$W}B+b{24u;`C7i==u}9Gl}h51$uP`V=&Dw#GzsHXY6L3Q1aP
z6!xJ(a|NT$gh0OZ3vx{{0T#I#i|bQNGA46mvxEqiy|`-eEad6&ekF_0e~L{ZLW+9L
z3O_cAF&+%&d(#v;J%TT&_eePNohI31JWMyNFSJ{}T#zpBVE(M;Mz1_;!Kxq548puq
zAG9*~a2#=*zwE4H!-LtAns#QsV|cQ0`|0f`4Y^%RWJGMYh%H}~AW^dJykGmlm7n<Q
z1w^hj72iDV;33JGIH5np>SFuTd7ONoIaEdXUI!H=emgZQapUF(F5aqZ6F8-nUa%L2
z&M4qH`0`V~gGZ;$?g*Zv6-pfs4X3Iccf7;jQZL|=-a6T_M0zjBqY#!h1*w0RqW?}`
z^{?2&MQ=+>(r=?xA_0Zc!d(CVS9xqU+9S9AUHzk(q91k3tL`m{uUVX9e)`>3j~RP)
zE?s?p`c?P(gPWFb$+)bx{?xCOxt6gj6!pA>UC&=WC#j+&eo07GZ;33gVl2zsH;=u(
z7qUJL&~mK_?2)S!d3y3p?+JF*-hC5lyd2`E=&zR6cZ|E2nmJehuXKUg`qhhacZL5x
z$MAVl%l3bj^`RCL7k0&ccNUz-;E-f7DNDD1D$8z-Cx^Z-_#=O8K`e(=>1hMm<%(CB
z%6#>T4~PdjSBfsE`yrOCyJDfxvZTcN@4Ba6FlA2pydq=rPpPhBsu%w_g{kN?Za%(H
z^zCf{R%xe;i)0)7Z@f!;>ha6o!jZ2i?0sq5=D8oIl+M`bCv~<yC8F(wk?$5G@tw1T
zm}DH^_N3hpirY5nWDig3!f6@V=ek~`Pw4pm&ck`0-hMv)d$P;6e1GV;<k(uJQ*A<D
ze*f8bx2e-<NyDZ&dyhq&JNsu@uH5Zq-~L|R<oVes`uDZi(z9P`x;HdmbIE7d?MSn!
z+rOcF_uo_Zb9(ONJwEV|_q$^K^KOp{$AuN0KTquJoy}`oz1fjROPSyPS?cf99<`9i
zK_&B}b|k#g(X10Th&Bk25%J<qT#(0~J}-LDpQn>r&l{+ehq9Ml@r_z{IXmsy?XMDM
zV)>%G|Ni@S)_k$g!IxfTd(1uF{`^?QXdn4@d*_SY$IQIDFU(Im+w#XIb@j5Mocb&K
zl=+R77O!4)*X`NmMFqw7kN4{Y{Fr0TU-?qq{xO5j2W9P!#0|f#ej9H)TXWOw-EPqh
zk{r?tTIbb$VzUp~IFE7enb+U`$u%v$&9-ZH`<9Q)iNg0YUT1F*`Tu6!t-^KxuO0m^
z+r)G@^G4$3b#lLK`}-32s5d+GNJg*v`MqO7d;JOjB7;R9RojIxFo^DsP6}wBti9)Z
zu@9%#^VLdgUmJ#UZ#dw0x$nX2>-R(7UaHld(EBpB_>j+bmI%R^%Bhds=APTQaru3N
z_o;0L?AfaP5x-VC>0YihJ|=i=VL=+7HiKpA&p*BQm#>ie-=L<tV%GhwPq{uvMLqGA
zbBHcDaK?$D{>{xJ&cB|7yjr)`afOa{?PlY(Tl4Riay7AeL{!HH>!&=s!fN&F&xGo!
z&Fni^8-E4M1?lUZJS?|gB}U|?hSP+gg%_3v#w}mlV`F32m&CkqdfANyvyN#vC0$eV
zb6PVy`HM=0?eyvhZ@vie*5iRHQW_WS`VRU?wq&g@{Vu^;(p%5RpEKnp+r*>CmHx|~
z)#R~w{PILe_UW%26BiZ5ZTFh(!9DS9VC3`L=j`SmPk6{=U%mNwkjviKUd5K_`Ip`Z
zd^+I3@!aiu<4(q~rmH3Eder!Y?0+Xb;O*S`Wn$xr)XB~gHQ$7dEdtVRUlGqd_oeFL
zG4Vj=?B)-FKfk`_DGhMbu4k(`X3+4;ZL{CQ*KhbXW!GN0HDmSc-`75Fyp?kBtir|&
zy<Zv*Q#seYh+ucy@z!R`H(zzx?e{hwdaUSjVY}DiJxizCUsx42J?BATjGddQ;G$r0
zqu~FEx5d5Mbhy7<%z1shWNL42vc^WY?@hOE@XZlQ-X;4<L5k&jsmO76ss3e*^;;A#
zy=Sl4z?abdF(aU9Bl8vmfo_QniAmEhY}lCj(ZL|XL~40rdG1TcIdZ~Y8XcUmhaAk0
ztbMmFRPtNV!kHgsKety3|Gp)(n6)DI_%^<r|AJ|zb6m?b7abMSbJOXlo$}SUX!)tu
zB@bU;-QUxhW@%_$U2f|1=T+bD^A`e|e($N*xvO4jv*+i*`w9oHZI_!HxB7SPE>1z^
z3CB*IYpK3Cf7{jIclPg?@3!aq)O0@iR`l)T(f;@Ms(xhVrN3xDB>E`s-K5!_S0#GZ
zA9y-TH{^VT_u~%!33_*COqls?d+bkv-F+qVR@KD*R-CgryticCI~j?adp_^?-NqT(
zzgp^&K=<AHi0KL&9?ooO|0TI<6R%x%!Ouk;kG<0w8&@O?+{!F`|I%sV4##p)&K=ou
z(~jI1*&kMQ>YA*gFlQ^nOUC0fH&)Mn{6~<{xz5?bAVoa#v2^Z>7)#;f%lAm~3a8nZ
z*Hrxba_;qpPx5|yBYwBcc)w*z+uqMYn|$O-x$?HZd^vHx#?ks6N^P&1#oeb(kWI;+
zqRR0p=IbBX?Vpz~bLEK@D4pC~m3?0?)M&lj?3&5{cc0GpG+?SIaOyGSIX-`{v1h^$
z=V%klqCYRwenz*y(0Cp4D4O@?<JiQtd?I4(e{#Q_k)O5Vy%l$7U!?a88x8f%C39O3
zpX_|)_vmbKxz5`is{9%U-74ZP%?dadzwYCUzIBI>JZ>y0-`(@xL6J*y<!|*1tv*-&
z_`X!-dj9lpv08iZ6zz(SAH>cTAGH4ynE#(cy8iy%xWD`XJHC9IuGz+;&SGR~VKV)p
z8INXtRCMueGqJkw>n|+cBfR)XufpeRWwZUPcjs>Z8a?ad1tHyyOFgD8nUhlgcOLhF
zZl0Td>GDZ}3LV7<E${DCIGMHGE9`!JZE^M2tJZVZrYL<<nZEjV`_#*aBz6{Q3C_H<
z`u5vbe{XT<uFEf)zP{d$@9M%|`Gz66#kGrrx37C)9(}$3>ff!?UawoQe}3hs3y1PI
z-J5pZ{M5`l>(=i1SMdAs)$;A(^|77_ijgNLF7j#J`ZKF|N7aAD$lQl_`&YZXu!*i+
zGPQl`$u$!s>%!O9?f!K>)JWX<*b$G-Q(Rwsf4lY6HTj9rYiDF9e2Lv^U8?%=$e9xB
z^H<m3k6(N5vXt_g_yboG>diOK=<uApY^6bvy>{=Z7S^ZinPSyT(x#q@QSr0e?z+jy
z&tq}3olBq2!TayU&v(x?o_l`#vC74B3Jz?!zeYQp|M~9NYbDECE*@BW)#>20C2w!r
z&e^f;=dXQwX7%?Dzf8}*^k02TcS@|C*jG&nL7mlA^XwnZT6eef=)-`#zq{M+*NfWN
zd`&IitXuEDB{PF_&#f!2_nTXzrur?p{oDT3*#O&VdzRHcc$w&b<d0uPpTdpaD~D#y
znYsLKg6Fy!>toinPdgqfsqwi&A!);djj!5*13$l6D0ARez%$)<|F2qSKjWILCp>eb
z!?Y8BzkJ@m|KIc5+wa>xdS1kvmAQL+exP&t{Q5fo9H##&`J1oo-tu6fTU%~ht)aos
z{?J(C@HG|ZvkRqeNl*IjwmN1(y3P^11C=>lyZ)V-*Vw-#zW2Ar_HUncjBG@{t~>g3
zozyq>_X2|5krwT~OA7S<OE3F-<)BK&$Dg|AWZ$Ij*f3LgrtfpNIX4rgI$KYW>*GjU
za#hE5bC--^{SOzmfM@;Bo^CeT8Srz*yfu6;-W{lru3PixeRl<`j%4DzM^}Akz4+??
z_JONXcIVAyTMuc7THM^?Ykx%In%4^*?$cdqr*E6(77O3LrgBL2r}(>H5oNXtF7I>A
zt}A)Iy_9xwWp8oLlw(V|uP^Rw^0~5KSFU@N-n-XAUncJC@t4?NUvFV5?X;NVy;k8N
zt<S#>v+NJq$^BaK!<<*TlV6^Cc*V6dVao~kt^9Xa_Pq5muzj`MO1!RZ)f%JK4yi>e
zH~rgka|%Q9ZS#A*vo$;{EyaH=T=84OUFuI|+7AA7iH!#;Id=0e_+O+w!**uILdByy
z7)?%Hx%1p%MN>^)xz!ZkD*>15eP)>Ow%8x7IPDmzoL!L+`Z=^(>cx$YV{J}B*QfrS
zs2sBS?N8o^wnY~|ym#W0FlN~jYP>*fb51Ph7ENx+po7|Sir)-u9$C1~mhW1%a@O4C
z0xWk~0@_wASh79;_1W1!Zio3AP7zTo=1ZOs`SH7f;l@MBNwQ)-H~5*)+sj)?*wtI>
ztZ6IG6_;k(yUG6QVb-k4N&zve|27_+?R&as!kNaW9wkqkmrC#&a^`G&Z+R*Cfz-D@
zN4`8*_%-3SsN-zI3r1W$rgOgh=Kq+Xsj?*5IJ@JKh^(W*s_&j9+EdR3zG~!u*^}=h
zw5#sH!DVxW6xK`Sx2$M7=FPvX(uQ~M{JGgH>-F1bG~MVlGLWv7J2l_m!Gy)~t<ulq
zvT6$Z7wGP-<#u`h?*022tJ6PExYHz^zCQ5nll4ir<T9&-PR>5w9kRg6;N%ID$en(B
zvmP9D?t8jL|B2;<$yOGtT8k`HLng@euJBjhl2f&?;Cly4rQ1)B4nIRZMb(LEeQi4o
zH@5L_?h&b9`KEi`^S!I5&6^lm)a~r^TI_buw$|Ad-`{JCuuNsI%M97~Pb@iyy~DUd
zsa^PZ%#phxPp;{1H9FYpdGJG@j9Ilq{3pK|GLs!D)MCG`VN{*|oaJS^Wa);F*;h_=
z-ch|LH0RI)l^_GBsITrZ(}lVg++20?a*y&1)4pI%A>(5_Y4xQme?{+Ek!m86IqzKM
zPusv_#<|lUoqwDt<jdc(adF*;EebV%f~LF1Z}N!!8BnEo@|5G<ibtgvz6&otqt^7~
z$ddz1ceCnk+)P(1NE?5CqPyv1@5C9lGh7`Wt<}%T?!BPa)GhFRyDH26UEd{-+unYY
z`CxkTHiy>mm*JKA4;na=>zg#|<|Jjm59aj$m8mxIL}@*5<q5W{7lp2<omAR+pkqc$
z1<&c-La#PtOz?DB<;HURzHFDjxRKK2TdB7i>t4Q$IbqqLY4t`$#ou6~<v}B^*C#vt
zEc_iSqd0yX{8SQp^XMK2$EdfLJ|=t<H1}vdrL)^nYSqCNB?+QJ0Rn5Cx?<{o{kt$x
zQbXb06j{azasL|_o|=dn|G2%S?vcyKI7??&-g5<>eg03EKPp(`Eq7-=+x~O)l?q1l
z|K4VZ_-t#MIq^GN*sjYL>!VB>8CLJjsXCT8Cwkf0^q*W$x2Q>+5Gu;}6S1|_gSXIw
zUDVl)S+m31zHPI{bcaYArfcgS&kH?oU4K31^c%O58{)n_0;VZXypPY__iV>f;Zv`!
z<|s0T?fbX(%dLv~jbgE@pX}lJd*HrJPv^&&^#>oShqm4N71JN!<L6b?D(Bu3owvnh
zN5MV)9qrX&@m^hL&OT;IEq}omvQkS{$lPJN>zxD7X3FF~p8ihCsbV+tlmuhb3C;Dv
zXKen|`@}4G{e{Eow30+eUqlb{hFQ738?vS-X0tVXS;;hK-Q-}4Lr?8w1mEi}UfXoY
zS1mpBYW~v*$N0RZ%be!jWbyT9b3AZAf7dICF1M2v?EBrf)w|8C_%zXy;eI&NU2gT6
z9Xho|Qw(SAJkk5xX;!GP?Xi#p;+sqDc4^M;;#qWY@`w5~p*K%L?oN}Ro~S!dN2Tc1
zp*gc2@*UJa=FR1|O=Di|(?4y#3pKraqK`P7-mk3ixZzXLe={*3$Gurx%fx@nPFS%l
z@8WxfPTPr<p?%4dP85f>Yzs_so%h;R%vtr<8uPcSuld{9zU@-9_SaMO5PI$Kw@a*3
zD5`H&PUG))$*w2m>IIz7`ppyydd~5qO?rn&O^n<w)_v)|s(&ONRMj0`+x5p&*yEPZ
zk}&<brXrJy4lQ09D$QxS?(hC3JPp2{)6OMx>@ffEZubA=pO3Ewd`dCBcFy+tkqIZZ
zvj6{N)AjhyGFt~x&!+DyY`skvsy9B9$bS2jlVN7%R`(T|xp&qnE_vc#?|jPjazMc2
zl$U2tr+lcWGc5m69_oDdr_cJ8&z~49*4nxAN%eodDF@F5{l4da)Hc95cgkt~tiaPX
zuWXy1ZGS3xcD}*Mf0Bz%?*G`hsr1Q_cBTEZX5HqqzLjt)CgxGjVO{f_8^?B>om)`W
z)O~(Bk8hvQ-RnN(pO;@>>8W6B|62Zj{ijrc9cLHn%$jGbonid_-E`l5S4)fIdG9-w
zG9T=BJ(;%ZWctOr%yOwu!b|tRsdMO+5c(yiY{&ZI#uUYzLk1@ECN6I{n-jxVw)xc>
z?M>fLs+oQ3`L?%k?E;>g+piw8_YYugR$L>Yp=;kK%komXeM{RE7XRXR2_Ba>Y|xWu
z+rOpW_O{qYKG%>guf_=F>@4e6J+UCi*Ryy1O!rOHy>#YGUepb<17!tOH&^m(XVr*s
z3b;G{;%A?Q2Z9z?)`_c#{#OWFbaYd5Oa7zeoI5kV^7H%jX-&&nXf6}9bc*Wc&yPOV
zYV;bdcdW74uYGjq%#RFzDtmb13y)lw(5~{+DCOJU^7`eg61@G-Zql9?Ro|U`&3WVP
zk5XNS|D0a`f$4#ZM1OH_yvtU_eQGRx^XJXl_2%%j>i@m`4Ifw>7pyZA@O*Jh=vslk
z!Pdnp=~HD^92DFAL$v?G<<>Xdi40D!J|{A)IHma{{!E_8$7woTtJi;&*&e;B=~+eo
z(-2MDolNGNrFGT?)^q<in6g(t`0(of-$KC?R!GIDoe_DoZ|~o)@#gp4b~9L+AKGPX
zu(WR3wz7NYk0icO{bjdbHdi$H%gX0`{aY7S=Ed)`FF%y_^YTAatLV4y&zC<f_<o^m
z_NRC2gI#T(J+Hp;;Q!@Pp?kR=!i$&-SkxUgA03|%x{PDtw?9mKHOrFs+ho1Ta$Hq>
zVBY@<PO(=r50&p#ILtZy-IPi9=KQViJYg&KEI;(mHlf{D-f=5+i=Gs@HvRwl)Uww9
z_C+?*v!*}L;1ijyKZBQjx`iPp53`Yl!SsXM_%!R+N@f?|-tlpFeXH8#*_Vn1eI_U{
z?wUU-d(vs&Vo&MvD&v#A-V-+*ZBr^$d3t>Rdp)rS&dXA)--=I+aOkex|3ZJA_`gSY
zPrmM+ym|Y=sDk;bb%(^o!@D(77W#-8eVEC0=&0+yACFuQzI-pfUx(qGi1-J8=D$1b
zcz2dp@8U^*T3T;vw{&~9>E1uTJ|14Z|IvNFdogqV6drmQ|F7x$i^?;LG$K=GPuAc6
zyIba4UE~iPpDT~9&AFq~(j^i8V}H@dpHJSa|C^C!w{YfR>;9igVTKdSHnM58aO|1A
z=w(@^XLs+rYYu4(_Q-HrS4(#qPIEDsYVnNc=kw?Jc^}T-xxF;@?wtDh@3&RndU?8R
zdg`v+{l6ym&;IbFrJ#R}N}AF`zSL=9F78p=O!uzkF`ag;%>DElpW9*2S#;jiTRq5V
zdzLz(K&)xXG@F!(9xs;hf1mDQA=LZDwD`!$hM%4nF1M9$x}2(0t8F9CvC_YB&a#Vd
zuL*>OR|dvDp7*8bu84V?hs6sP?)n6#J7TGx&)N7AC%)TNHMz`n+O(&(b9GkD{v{pv
zxZtJq-8<67(NRL`Yf6u@O)R|c{jugz=&xzlj;3XwSeyUFEqpHPwvw#L&u(pCZ;LD!
zbKdS}ee2ydzLkq7O!HWAv|-T_`>z)6&r<xuw-_f`eJt5(^5#dd+ojNzpEvKxILrNm
zr~X&a#kJ|WlZ`c-lb2Qg42~`Jjh#1t`>x$*g6?RX_Wp3}Sy9%OYYBgy-K0Nt9MvkC
zZfGT}_8>*4bJ2kaS&hk^9(o5ZON!6w;}SDsd{HSdk+;=|>EL44_MnRJ-CD1^cFo!?
zk|KQIzVPdP@~e4T#gE?mt0@t>H#=kN(a_-L17<As5zBS=Ms&XJnzr-btM)~getJh}
zr+(#@cHx^~HzE1Kl3g8dLZz-Ae6&q-mtS~-Mc3|*v_A8%>$J7*p3^LwyhyUCvb|wp
zwE3~lyysV>8f&}lZ2o+C++V!tpv9Z-yRMhdyr*>YtvAo+h3yknSh~9U^jsbvNngCV
zin(rr^zA0*lsEM|O8Z%^T1VxS%f98GbSyNDH#&MvX!?84=MtQgCLFaXb18drVDp?W
zZ`OJ3Qu@vIsMlf7d+krZ0zAczRG*vloVBRe=k$W>vDWTAK{^vY&fC1^i>cPX9WPfm
zXsX_|zno>}%^?0zu4uw1!!47V3#xeY%5=SK#F|$=WK!-86n$Z`wVu7_s?vcd^9=zr
z8FKgpD<4=Co~V(WctFY9I*Gwtg~yS{QA6FM)|FxRWowOwIUzS?Zre18Xn#BUYo||s
zz$&Rne&PB0(Gjn|%`m7CF_irJ@Ti5sBuC4O0b#;R_!sSXag>?;*qMn(e+WLff4cFA
zAxr3CLz~XW1_d(A86Au}wBFPo%*{H)b1y>d?XkRVUs^h5?Vj;Np+!}vi#7ItWcl2y
zQ(bx%@=GWtzc?n58-LcPOF8^_#}W3>WA3XLJ8b08D7bo2#8X1QrJ>=K{LzQ{E@vG4
z*BwaW6k^@~UhRGGm5VH<hg=nAwpgT1G_5M!+W$7<<un7nWojxZB6+Rf<xG{F>euUp
zE#aDc!*B`L!`z&u3k@YWGQV;yUmMpd@mloZlR}2`rdKT4rmG#OF=4hX+W7v-{7c7D
zt~$2=UZb+0?&|UFRbS=jmI~Z%3Av}9(wwKJyrGTTYf9q`sXSKoDDj+$)o+=0)Mj4p
zt@Vx;pO?AUYj=+C`q_mH?Xu#}%-NprZT(iSXLfGpmMuHKNpZ+|nTb}ZMIFDVJ=^Zv
z%v<8m;)?!!dA*uH|Ji9iwaNQ_mEB`IdS-=@(Y@@uGyJ>G?QCFmRP5@{p14ZY`SQgX
zqRoy4mYSVuZ>!f|X5|0NXFi9My`lN{C(DNi0-wxN-gLl2^bW^7p0{@er(EDubvnl)
z!SSF&k){6L;tv+d4?HKVpDz=y(Bu41Hqp)C!a?Qsmm422UG&`K^2==72996sjHO{R
z{Yu_5DwY+sy+}H=>8I(%qw4!TV@f#NFWeRX$SJ(hceC>1@W<83!l(YQtJyEq<7kXF
z-T1>JqPu;1puWK|-lgWk0sK-%IXi3;j!eFN;D~{_?fI6S_555%V?O1?+HWvFps@J)
zjoZSvY8fXUZD2d=w9CAZ`&RJmui4_BIX65u8qdALY$|%CZ1?L+Id7$mzP~Stl9cHw
zV+`?J7+}2WzILnV<5l|0;=V0CDwmoaoA-QoUFW-f(=Gm`B;9#>UjCuqhIgAo1LuZb
zIQuLlUjO<R8xN88y6A89jF)-L&uAX7w^EHb@cYx-eAlhJXQv8W(W@%9p6x7Rcv1Z5
z|218eCUZJnY$eaOn<#VE{qZ?}|JejCgDZx!YjP|;KMIp*eiCv=zwX7;-bZzx4~NTf
zO|Z1<xiNF!W&L>?zZ=+l_!loy=lmb<IyJc1GP;i=@6KzE`3E9Y7OD$RzE{8SV)*ZK
zm!(y%9KO3{)jSaf-MK|izoy%kWU7ns&dQb+`}gr(%EzN~nC7X8Ze+dv@7ag{Nyonb
zbMF(WFxh5x;84`^+JXa3%je8p?WiU3lPQe1&+*;HuVvP^pKDHIIjC~PX-C^Hvp%NF
zGAj}|LJw_!y4L9FS`$tVrr$dX4ja3s&#%|Defvg$@7Bzi+hVIP$(b2zRqS$%c(~!h
zpTqp}E4UN2t=Av;&bA~uy=Gzg)hp7~+O{5X7Qvi+{Hs}(#4dE3`{<Hq(}T;NOSMmJ
zSi-71a}iIc1AoQFqrBJdmg>t%Z$7nR`<L5W^PZJ*@d<wa^|J8%!WOkq)}lGHU3Gdz
z9^KgOS$|qd{e+6*mMy+chh|Rn*z-M{#b@pQl^0ZYcJh2$#OS^<wqKd$(b1ytjv4Qc
zrB9u@d(N^$8|QM}p2zS%K$203L$-K}X#W&7W%Io(9|~G!uXTO=;QfGOMb^Ovsa?Ud
z(vq8QMBU6P+mq>5vQX&TJOQirMOoIpH#rWf)oEnU<T&xQK6ID1b<?h!0aiRb-&a+O
zZcce2{_pI$e>T!#%+7)DC!N;t+{2xdoV80s|5onJ?Jmhxax7-f$+Jycr%p;eQpvyX
z{PxLq>7Fb0-Ih;N4-K&AVNT34<)5*~zGq(A;;<u+0_>tX7rdJlTjn7fu>0rX0*%!h
zZy%}oewE*;>b4(ano@n}ztnBLZIARizaPqYp?;=4FHh5{;8Dtz%MV}3zPYucz<ZXX
z^V7U#rx#C*WG-=^AI6ZwBQ^h6`}*=9R}VBDuzGIN$$L~lY@UsTLF$(aUEeNy|52F8
z@qVgm@cpH;*K$7Hpb>T2;?BxRo=yAo^0r7v-h6)hQI)&n`+$8s3g?gg{#h@yT)3%P
zJo|e7cNK}b(FxNpu}hho7)LVl%lOTA<Vd}l5Vm@Y?j~=Kavf(+S&#XK2DkpFb}+0H
z(@)doXAyC*{O+Nd^E2x_k7~Mu=VY@T#r4;mc4>cA{c)j2R(qy|jjpM)tKsj=HA`iK
z3pk!03p&-C{UDb^^Yp?$PH!&j$84+bdt`F2F@61q2a;UR<?4E8YOZ-9+;sKn!$sol
za*J>L{Pp$e?EBBu&5PE&x?P&+7O;3?W@x!f&Eo$z9M_$``B*rBPjtJL-TaCYrc)D*
zzMgpEIxFzLG5Z4MXD9zmE~vf#XY%84rlacj_oqCt3p~~EE3Bq6;LyWm(jt!*U6noZ
z@x=D}#epogM%vs=E6SGEq=d2M7JhsCBWJ#`<(ZQi@4Bw<wp4aC$uM@^^nAnR^9R0Z
zGuZiVoH|Q?+q>1Q`+T_dJCZNemK?deWsln7Hlb2yh3F>-W*fTKWR^|6ZM;<A-$mJ#
z)7qlFFUF)D^^bex7_|Mt|8T$hYb!q9{ATyKtU-xE`;WZ5TJO7`@mJzA_Fyh-F*mZ9
zp4cj&Ha+H=6d#j;$@Gc;7`5u}=1cDstiK+AaJyRVf**#5CB+UhcJgj#EZXs9Qu~)4
z8;x(@UVY1wO_4nDb^ZJNu+=WwH$QpZV%e}a=G_FDbAO(7Z#nX$X>vr&8CL(oz{QhA
zV!Xc1ixt}Q`~k=QNs}KR@pCGSS*6_+f5GF><W!}dR*8$x`*9x&E-_>gVDXXhxL6-x
zqE%%iC0O6Gp)AOWf2W5^#)j@Y-yTd}(oxx~f9%PWm^D}38aGc%Rob96LtwLdSHv6%
zUbg8xQhJ=cUmEP!#BH44Fi+&7Lctl%-Yk<JA-(c?dhJb>1`5j?Vjruf8*O|L95y>L
zRxKxrODZQPVP=d-&XhNs)Mj}oPG8NraKqwy2?H+uDH~!1g_q|VbS}PXb4}n&g8GrG
zQWBve^Mi^~m_#?WHKcpY&DtclLUD_5*W--U&XqjN47C<FPF0<ltkci7I5A1E^vpK>
zf&)j>!p<mrsvCxx+$wEKX4PVuyh%*p`U|fE<$<l|7P2!It2VMWT5&UaFzw@>IY*nB
zU+sBR{RIQdaL2<>Vw$yCg@O+(nz2E2f<~9E<_;ZEW9=;wS+|=R85adJM>>?B4nA?s
zp!Ath;BC)_G7}eOgAU(oH@D?Dob-8da7B!vVgbhyhPlUNR$8=HEVR*?<?~`j=;B!^
zmt7czHVS4*trGm~uxW<u;mIFa7&R0YTHaK@AQ-UVm`r_gs_zfoZL$%qvu=oRT%VQl
z>Cw@YU;p~=OPkkLR$IsWEqnjYUibEQbMx*0XZpmS6~BJ=k<kH@!^dCVU$%aE`t*&p
zGkxmw)=hgS^y_m7&x=RGIunDxI7lbR)p#jXzl_^caJfA1*Y%&jcg~)-JH1?@!g&AR
z&HjJx{QYp4#s1jwoxAHra&&jhzx(B|eVyU!FBc!oH&hNOuKs^JUtV6dZ=tH*)~aPz
zJr>;aCgk@2NUGbN6S=Q}SFK~cY+0jj(W_@W45lzg-kmPSakpF2Ii^2T@l)%WgiZ4p
zUNN8BEpEC${I>W9gWBCQ;`e4NM48uC*F9YJe)f6q@2z{MZo7A`E?4ccas7r{cl6%-
zxR~83DKg(5A7fg+Ry}8TUCz4vwDr&C$F4qlDXRVD)3-T|8x0z#9rO)+`XMxAlFdaq
z*)JKz-qBefr@l6bN|a}OtSH4$A-q17ExKuX^l8ZyA9c<Nhx!;c%c&fg%6d03^z+1H
zr>{*q9wqVgk+G8Cp_cF?4v(HF$D{|<f9z=f?Q^EP|F+t+*Nke{l;fg(Mf2~a2oxrL
zU1jBQP&(^QkU@?~c1(R@&C1vM9c8=B_I2q0I(kH)&vHH+*G)#&j|u@CS7ig%NNk>y
z^i}6>aG1Z>UE^|pD_)m_M|lNOTjN^-#Y~&aM1=NixtaAv^+U77u3eF4|DOJ>6n>Q>
zT<@~nFexJ~MP<#w^wXwU(t0<3oc1?#N;aBwWU}R_pgpV+N(Lf2ZxiCT*0@hxlCx+-
z&B`k8=|ZXV1p;S8-M)GL<ZQLJj}a$X5+fdUq&oyn+WD)=WBN?NwU^67_}55TFtRuD
zZaC1feUGL)Q^L#YtmP~Gr(HM@G9g{H_k`qxoc0&>%%2la8R~ncMwHmz@I3T1<<xG!
zPZ968M=gE+H|$~ghVQp;ls@llcbzNuF}U-t^O2P)@=mfU7mgcsu3d4tU$;PdQaLm4
zi3KcECqIcR3l_YVyqK>%ur2jWM$@D_;Vt}A=G{AWn&te`4>2<ruV4AjoGWBgs*8Q&
zQthPIv!?b~vD~ZAX3(A=CMNZ2TWgW*y#L=a!Y$V>wK=l9Y5nx4ISubKLaxe&h+2w;
zE<GLUHGTCIz3rN@dBLYvWH|RZOxvQM60*d%Q*a4G&Z?Wo1^7chcAilXh}85;a=iVB
zK}p3ZUg)!brTmxsCfDDKYr04Y{_UBy;L7?tB3D=x`5va_IQv{^tC#JXkg6}XoqH8a
z?rPCn^KaC0?_@9%W4Lxk<VaqZ^NgFK-7|mQa$|2@FZXfZhtepQsx@CMuQ{K{+cSOf
z<GoKF+HG;a{WBmmfBD?ysV;kG<nk%Es3(>AA34qyRL;CZM)tr`?gvWA^E6$4aQ2-@
z(h1v|e(R?4b@wpgiEpm`Jzln?ez`=}d_j?gYZskdWnf*zm-Mst^?@gX-hZohOx*T1
zgwOKM1om^<Gj^0dZ|>l{XU@T|e6DFymco+i4>B{9zg+rn7;wf~Bd&7x^1wYt%X}L(
zc+1&sZ%wsUn6h}=PQ@*n;vwf3pZfXHiJ`f8VmqIP`IW*oY+1K1I`Fb*CLHd6k(FLw
z7H+gi{-l7}%~X*ox76;RU{pxtIN@ERa_(RDx8Iv0f7r|u?&NqK#_ndV;@~G0xas!K
z8m=y>zYkeH&NttGPhZM^H~SJ(xd+ZwNBpO*;ukF5>MSSaA+xx@;CgdMaf-gl3BEVK
z^p3VKxNjeFW6K2IE%KZNyw;NKciUvy3*IK}u8-aKm4WZry7%j6xmK^f-e(zYV$7}Z
zd~@pMxQ}bY=EQ%uGWc_|f3x=Y%huly&h%(j|Ni~=&7`09?Xuf;|JYMwS6TK?e1|lj
zl)?vz&U(&={y!@17K*6)>n&e@{#@MIceAp6?*6*cKY4|an&*t;297i0RCX(>%}Cf7
za_qLFq)zaq`nng(1s_`&z2T@;<GttiR^W}+j7^IgJ`3kO(dE8kU{m?#;;|zRbwxaB
z0!H72*E@SRW~uTmiWOb7c;4mQ$cyds?f%|=lKFY>zx8)B=9jdkryJcCoAzj;;~l*f
z?AFKZHX3|V*;H@$p)(~yu;r5BGv}7dH9bW)rcRW5-5T_~Rj9oF{3YAtzV|&RY@7bg
z%>63Uys0~{{>wZVe(mqGV~->E#yV=fIeW-<!W`#stRJVp?NPZ@XLfAOH}0~~hox&~
zY}j1cSP`_f>U{Ru`(HLCcpIjPy|wiDB$M@eqQIq14UT84SI^uuxie$c{THhqd@OFM
zOT6P<>c21W!d>sOv+mJR<?~nB-mP6#_I>3n_pK%#!XMB4Te`|=;+1>$h1%jRGu+R~
zU6;DcvEe^^*h1Ycm<<{W)9HqWoWjgTCMMGhRd_V(=SJQxx_v^h_Idb%ZJ!vzI+f4x
zGHc9c->qc5d+WBc<fW6es=Ha46gnkXBpIfx`TMKnJgdryg(+{FTMs5!)Xsc&dHM0c
z4P1*J{C)EF?~`A${!CI6O}sJ-_Vb9SJ6&+t*rC$H{@wM1rAW)<mpY-D72990_WkO9
zE&O(x)#Hs^+JEbP4(*EavE;q&^S{<;@@!q3#Tzu18!vOwaz43y|NZ|qJNM52lkeo%
zs<EKiMM_xnvci2IyZ>^mtTn$aJ2?C&KL}iZhec^(i`tLfRzFOB<_gKqcC1Z1V$>Ed
zp<Nf{m#!4_P;d4o7LmJCYHyaM@huCvG3}XZeEQi{I&Y?{t|{vNQvcZdi0kdI87ID4
zYxXU@q@vVi6yW83=6dSCt81jQj|*MUDm%TdCR$VIbjp^C(>>fi^#3vwk!ic4d;g82
z?b_E&GV@!mty@)jqt5j<`|U7Ex%ts64i)XREo(8|p(!7jW{_Oy(h_p8r%1^)t7U8T
z4W}ZxXESAaoW8!<runThUQD3g(L~7eN8#=8oqunv-+Zt4&aXA=-d?%(T>KboXXT&2
z^Cq@vnpU{Y|0~QTa4v1RNzeSU$m<Ks-}J<uI$RrWs{OvR*lWq7y#M{>#*eieH3bWf
zD2LZpeEvRrcD%7{)q`GvL+_uZ?acjLwC?Q;{nt6I#~vK_X4}Ydtfb&T5`T2ziJkSi
z!S*u)!)#J~`_c-|Ih4vi{jo4Q|9ffTF@s#TQ2(A8hJ0t{%$b?sVvxAxu3gGkyXMIU
zRm?5prc~xm`o|%<Y1xM6D%S4B8`l2%ddw&BfC9&kH(whYLktr$|L90K2zk!qNievj
zEXE+l`S9ZAXcxyt9Zc1_b0&y{Htm1!{`lg#dQSiT?Z+w)CWr^z%DXo0;HQ%9ryZs?
zl<(w7Im0>i+Uf5Tc+{>vdGW+>Nl^I*0iXFb9}fx(ZD!=!@?Y@Xn*XjMVOCO?Hr#si
zswmiOZ|9UN4wg2*9sgKdVNDRSb=lSTj6d??&n+FQ3=bzPF<m11WPiuw4|yN&8@*r4
zb$jXL7gH{I*Pp$RxT#T&hsVxu`5s;4wKmMF<qkT?IR5xOg}wGi=c^eVGcvaERrGiW
zH|$otye+C&+4uN%v1=7e4G$@@9RFlc9w7J3|F!6G52xVuJI>8)bKiOE@ygO86>XPW
zmIzFFpd_?(+qJu<JCA+%aVfEDM#0p&_ld_QOnDSycxUgXua_Gb>b1hf!VQil1&hyN
zTQ;XBS#bZ$;Lk^+xPI2Js6YOzkv%^z;q!9`c@K9lr39|U6$j%bSobK29+26qQMh^i
z@2r1KF{gqB%&+`kI@RoPrpPPav}2W5nVa&NI17#}F9`OSG-K5V-(<V#_l<mlHaGeS
z&R`Kao+~e1{7*!~PwMuS32yZpPNqohTOC$C*-@A|;q57<oA&qpo6cADDrB)7|4^Ky
zX2W21C`&SMQOGa#3Ez0$7jjFjy#C<t=_mXvxKda)zu}KL6y$9Zp~biF=*>lMK5g4{
zWT`=MXtLP8CoVCs3m=IF#a9XX1UFWEi)wlBK&Z4$K=YDL@3h>TZ%tM+Ub`y!wSHm5
zYtfme$N!yLpf$(q&=rj`6E*b*8ou>q(@t0VJYZ0K6wo*CS)WWrX#c{B4n}XqbE#78
z`FnWyt@;lh>;M1jsklCOS7(y*B1zrtp^JA~`Oi?R;<_olFQs(5sT=PU{`haRUOilq
zwQJuQuFX{i2U;h4CuuZ)+Um}}bDDtIMnjeQnTK~2{*l?zy>o4wPMSm8?oV8y+cdi3
zyNhNrPMN{F^l@^<kF-}CotS#H*^@uA_8t}Tx%|QR`djl8>0hf3AMCwz$w#)_BV&rV
zzGZ;PR6h3)-`@WDX1_hoiRqt}%nPg6GR|!}tY0L49!^W>{NcK>@JQO~i>9r?4=b3K
zvg<$C)LbvlbL&ufhV`yhmu;BELe6F^+$I~I+5Pdbq0ZsgMfaafJ9B7NyO#0gZx^Rp
zANDo*?U1}kSo@XE|16)2R<(y4x)i+v_rK+m$yVd>_6xaT>-guUXHLTeoudJA|My;-
zcfot_N~eXARizqAUtH2Pnu2^fJ4-htNcJzfoOg3^i{`fF^|=p?KTcqH#`9;3=ASmf
z7qNF1`M-akum4s}`M{6H*%5q9tGpj<UY(Y0$@#-Lk>>-O-HU9_>rW5ezMxlWneTO@
zyf{w7{Nlp&c8)jE8MUzyi@f@;iYz|2Cm}uUwkuzST7%)QpSsgt+BAz@{8ree!@r|V
z_r7!3)tigTZ0DLsE!bb*kRf^Kss61wKkeVy-AURJQ=VJbyKLguyyxoX7rf+SY8Phv
z1Wn>fSzK`H)U+w)H{_mGuAFIG(hxCeL+P7sU+-Nu&O5I+vun-y8ZFlw%O*)QRj&9r
z$9wj*KP!$s)_Jh&xF+W}(LZ<8Urf54z1y*T?}=Sn``4{*eJOcsdG;Q`6{juhm-KJ9
z^UQF%dQr4L%yF?~n)<$w-ly%->6(5~B~M})6|EePFM3tBb?-rk6n&qrteQiObph3_
zO~NlS{+fu)Y0CEX&1j$Xuv<7|T8k9lFYhBe%;gk5FH)Sf>7Pr;&4{mm>e}ZuRU5x{
z`}}r#hgpFC!oC|WI+s2iE;~^-A-^+VW_@^M?BB#jDX9d%8=N7jdM1iq)w2WK7j|}D
zyP;#l={w`%!pbRACv=ytt^J*`?pDWY0Ug&n#=QSTez1B4y;6`prdDvZAiw>3#gAP&
zihq2{w5MxuaUTBBytK}td6)KO?HSQ>?(zk^4}MgwF4y0a!RI2kih2JH_O++#_G#Sx
z`ut@5N(b#z{5R}AhjAZl&`~d{VJS{OQQXe=V^y4vOpgoutV*#kzu!L(mY#2m^zy9H
z*zk)>m}82y-N_#XHIq6gzc{d-Z-)TCV$x4f_g7xcE@2lBzu&d*)W<hVMBb@Qxi#ld
zqqU8LOa0bI3AMl8+*~;0UF2-m5BZiU{~zx<b=|Eh`dj_)ZI024za*HO8Yr9Ef6_cE
zGVvt0`I1jBn!X5Uy|At4YB+p+4{IOGFNQsa*%LN!q&meJM6)W~Vhb%S68ZP*^#Q}P
zO!Y5Q<~Y9LEnFJ9Cq%t*qDGyJ@rnn#S1LEJotUiM9cHz${4R(8qdDv{hxfH9N8iu5
z@y2}GlkLyCcLpqGuV-83)a!cx%$CRd9emfFIg=dy_37E8|EDaxpx|ZjzIC6>ef_(K
zlT0fg<}uueV{-DV@BhwSpTvB<IlgM1rUs+2O06T)obD2#FH;Y5_A&$r3$UGFoLRyn
z@cx-<=)->dS<m^qTP3H=TKxD${*R8s^2fN%PaO8ymGnw(>6&@5I?r~P9iDJ(@qMR<
zYyVf(Ejl-Q{kCs58V=nqo367QeJS}zewU;W50*xp8MF~+YzUdc-79gj=+3rJcJT)f
zTL*;7&0yf1aOG^@@kp<2b38ovYFV2eeVAb4v*XNTrO5jEc_ur0HBYu*vG!m#IpFqw
z_VYWI^FBX*_4e(nuhsTNJB}ymKRfsK;6%I6hi`DU9#?v3y}kPRX6@!~`~3PshI2}C
z2d1<A3NC$E{QY6l+tnv>wg2$e-(7cc%a4k`56@cv$=SLy_HX{thuY^KGFPpeF=gXq
zvDN46tIo-tt1Gm5c6{RJggh}n0ncN~fAq@p!uGG*BYAe?Vax8NA|A%<zji+A>k^qL
zW-$L`x9M}IUDw|RUUvxAxa(Yg@UBs=u|<(~jJl=XX0yw@u`Bt0NbmR{$oMIzJ?C0|
z=g<Eh2bgv~eHW+P{9NeEoUIH@N#3VtuUp%-<ZRF+?^#bOolke3dG$4}{^OqoSE?sH
zU+8SLdecJjALjZ8`r5x7l8?MwcEWQ3)AkE*1wVA1xNFWaF|UYmcGT_OrED|&Czk%`
z+5J;lHtlKcSMz&rS^^sm_u8to&N81g&A~S`qsgRR{qqvP&GYzb*Pp%?)ZpYgLvYnX
zrTwd~9b48Q%D0OvDQW4sTgeCYu3h54dwa23veZm2-r#+oCa%0-&^kLtJ}T<vqbpIf
zKJLD|;hSS*`;yad_b$0}`H|qq5ZT<Wl%oCD_Ih!M3&daW48E9O?Q@IKn<XM^SLDNY
z3u7MXZ(Zd$N2#FR_=#Ijl;h)yCCV|cY&(=V_Be_#?0-MC_x{|Iu0B(GXRq{qn626v
z$a`#6iosT``R-@L1K;0syFY#U?B6QydzNkq-J8<0@w`*~*Z74A;sxuO^=2$@+G+Ae
zSiUFf0PpteyZ3K<c5u1e<4c<z8;{IX_f3uw-!rkKtNWl?PyaU0Y1#GFTa=B@db&<m
zv-{fk^lP=@@|nNwj_ekgqnolXJ^7({e|!4;vyn@m76<Lwb7u3hyJ78bSDrfHxvipL
z)z_8lg6^6`R(?M^S?<qARl$x6$wpki+4UMXM(nhgC}w=u)OgbQ>TM>b-uDlkCf6u#
zlVFbh{v&Ocp`7%B*)!#rOb`2e@ML|&T*dhe9z|*TjJl$)9vqxE@%~{Z<+-e(wsOvo
zXVsmw4&X?aulpSHfA7<&X46dfy5DSk-IDm?-V4{{?RA=+cmGS6=GO1}x1qB4RK}|>
zUlZEjR9NZWTEsO|{P$j^H9IbzYw?v&C~%+q#`jm_)|0w+tCTjYS#w@{!y3(_{H*fO
zl6o;dzhCcfCY9f6KCvxwb@mo68;$u}?fo}c%$PC1$N78uDH+97KK)}K`cDc?&rRFJ
zvPNh%r{!|Pw2uzT0Tr9Stdcjj7y7$)-i=8g(s*ZX(r5j=bH;3=7~M@mYagi!PTufO
zm2<Jo?wKvK^;}Q8-F);g_|sFvbgz{w>)o^T5)>D_tG9Y36fXBmgURc!L-!h=-G_d;
z-n=AhVqs$)5}PTgAS;nw<U6zCuDuOE%kKRqB1+$HP4G_3Ii$U|lZ$KDv*Q7c-ToD)
z)0Bf>F!Xe>d`Y_XJuhLU({aaDWjCw7z4`B(@2{e?+R^6XZKa#$w|7<Fb6s#Mbm5#|
z9X)rxFT3)h+2u|B&S1O1(}r%&0=ZjHmtNfCbem5jB4EL`h~<shLJrTAd~@v%Z2jsg
zT-Bq$Xu;ZjCz!<k208wH`%~X4?Z^`QJ4^@9ytMdi_u$a>S6mI<7u2rKzvz?dk){=z
zuQ7q!QG~@w`jGbTHJ)w@JhK>lk10t%+;-xa@UL?*xo@6kUj4#V-&+5hq4c@rsm)w}
z)`U$`n6pvz)m!z0Mm@WyPp`FE6m8spN%hkHr6DKou3h-mGW*emmp&pNU0PXr53XqA
zw4L6jpl$m3RrwwX&1anlt>bQ9TVWoX5$O@PZ_}qkM>|igV_CBLwd+F1(;}N3I%l%}
zuiN~SmrG&A`aAOXVq)*+n9JYav$y`%p6Df~n^jgU5?48xyv!{y=U?^ipFi?G=ly;u
zrCM0}^$l|bQ-5ZgVr<fieT_$iUAN5hWR~{M+ff~N@^Izi=<HvN9j2eoUkcuOg8A8v
zg~zI|oGoHxvRyDEi*xSZ>{b3|``+!Ay7POD(#81b*mu8gB-rYn|LtKTVkqGpRqK9H
zuKuUu1KW+W7h0N{P5ILL{fC_V{ojut_wt&~(owP9v~*jgZjzWM2akY4Q{ATqK}+kW
zWy=^YKD}9YqwLQ1XD=(l;&eG94?2ImZ1>q|!t;48$I>}ICBK*Wyix1u*)^-pQbL`Z
zg%&TEH0hIL=(1ZbwW(hmJjLGkJ2lJ|Y>J#&CA3ev{<o#2e~*_Tqhw)P{(bS|8y(ec
zXV=YHBzf1MN~mm`<KZqf?KOP~u}@_~)6#kj*?0q-T(31gR=REFK1HLAF^K1{lu2o`
z`^?qdta}=k`BYsDVu^d;m*^mU$TT%p_?kj#1e1~Xr{8bZt=_6DSCA5V|K`oB`S$DP
zoPXwbU{PeLWBo=auZR2IGU!)Yn;g3|pWXV^fy4Wl1!k<2x?=g|?zLnd9ougQwrDM^
z*YzwYm?q)RDw3?5YAE|^)r*bME;s&Ozp+zM<jt{1H77VaXWh`uS+FE8BShdEd)l;5
z2|3}@jh`$wp4V@Y6FW2N`}teT;sdsLWcNNj5P5#z^__AH)OPE**1L)tuiF>>e3ItF
z^QHHAzN&;NF>*hAb!Nfou4Ao@6NH2L3KW=^GHf}>J2zGAmZ_WR!OO{_a>oK*tXO`S
zM`ilApMT_y>Rk-9e@<vIj%{7CdS1%hvSs_Wm~m=4&olK931HInl-^-**Hpw=WZRdM
zPV*Bkd}hr2@pqm?|5C%u)(g`06O}~2lo|Hu3sg)Gw>FMynXI-pLvF#rmr8O02aZP<
z-&8osxiLX9=WNI!p4U0&g_%<S&2;cs5TY2i)9j(;8~48QSjT2x7Rl)Ay1DaCJz?ZN
z)_GO&r1V~idRF1Z0__J=CB8I!oAif!>w6rXB6H?(e!%sz=~uQ&7V%HL@n@rePQBNu
z>Ds3bOg7%*J9|qvM<biS!7U=41^0He?^?L@1}oDkKC_7$9Csh(JW5GFd_i>LoY!YW
zA~+m1x0j}$Kk1Qpv7|KiuA|PvYbF6TMQklio6}ah29~5Xw7zI>6wK*)|MKsfCwKa%
zm|rrR7b?d1gHLK<hhmA2tMgyejXMi3iI}<@O7(x;JLzw&;pYQ$8;;&jo2R+p|J^(5
z{xJsV&c!wcW^Oz^QIk`I(O`Pv6hY1Utr6bkx6Q=vy$&xh<jzv$&=+zkf2UHmOg-<C
zOL5x7XI~B|<s>>y)bot|_UG5miU~?Gzb<|&Q5NElyK}sJf3@PAJ1Q1CBmV4&Tys8h
zqCk(zG?kk%>P?F0Je4%uSW{0f^VzpVrf^G)r{d-Mt9$d-Uk%d_*AZX2FZ}myuX2M$
zD)o~yr|Is`tBcxmSEnvsz=BadMZ}|MN~+P#cjEE;9xZ9vI$x+~hR&qLw|DwiOjHcI
z@qX2l&yS|F@<s8Tf1mQq$X%&EOhq?<jg3!9S<uqIXxc(0{dvNTlVujiTyoS@S!?y7
zT5zxXByP3ki{9ESXX0GFS^V0oC%-ms$qeuinbM?Gf6n1H)08$*@hRIEzvt9Xx%GCI
zs_v!5EAtPX`4{k&t?b5xHRm_yXiaz`;yL3`+_k4SXP>W&uE}!~IQe43YTGM^Gf&OC
z`pRHeY|zAQXXk2`N-pz}jr(<X0YksYhPX*T6@JOv*GJsUJ=rD7dT55K_Mw1dPgmT}
ze{UDFFP8a%L*6T%`uNqK{H{jFu8Y3=b=BMFItwHc)Q=U1#GcDM%(19u)tQO~wz&>J
zUmn;w*+WlIaq)z!cPzE}UU?i?yjkzFb?ltF>Pt;F&Jqtqj!av2_4d8iU8cL5w>+7$
ze0HTeH{U~P`_kt&l|E{M$CFp&-(@`OyZYN{QBl{ZmCk$bMsB%zkwe$K-pJI0b^i|6
ziDuU~cL+1RQP5Y+JL=L_bVK~;|BPR<1w6_L|JTnjy!&d`cj1C9&hhUX^3(GidzEs1
z?v~d*+Lin5pYPe{PJDSn&1vtiZW7S!h~8Vh<LcW<r%I}KTq-{0)%fG&{<*H48I3aR
z=Tgg#bW5svaQsx)cu_6KB3P;SpQB#TEoJh?mVzS{e(ItMlVwCFh&Z!0_$b({V_^0E
zI%&ywGfyVTvlX1`+FX}X1->RP-FAOnO^?p0cW<?)OtKD@4at`}ZCIu>p{q4v#?4i?
z_TO0lklR{A=JJh`9Fk>^Zl#}$`>N;Na$2Z<n*WQ3yC(z|+&Zjd$zazoHSLC?L0Ck8
zy})ic&%=g^Qgh5+D<tq9@nbLvEq(DT?5ov-^5;{me=%mfnwKWTE@8E_P4xGYzDnDF
zvscX$VYl8II`>`O2M1n{i20XitX|?0RFo~R)Khi0?x>5+FReWJKd%!`-F$ldd$E`?
z*Akm|zZgpnDcbOePs}uUue0rZ<C6o&FRM&hp>d>M+fStCMu}6K{f7&d;fEzp*=rR)
z{qW%Qo#y#EU+1oqI<L3w+)c~vx@-1lep_a?U%u&<{4MPRtDQL*`P!XCl#fhPO0b@{
z$~sl6H1*?)w%URXz8}7+rTkjn?fQxJT4a@t+{NC!(9UgIB8w~vT8gJUUA%FEXvH~Y
z)~34b8&71Jxa!y6pS{|c;hj~N(VGUDQ!IYxpBb^tXzHAJD|+pzy>5U1)>s}sFjM&M
zkA&?n|9n1nC$l>td)4yV89W>P*Q7V<roK59Z1?=m@2mT!?7F?}m~roF-<{JRiz{zy
z=v;SwdtUIgYf?g6rIYi+*W23L2no&2PRyF`zWeg;&$CtKlo)TSb=1r4+pz7y3ho;#
zC%kn`e9kN(7k&Br<AgQMiaRrRUB0?@e$%ek^MYj#U3h$9x;?vPh2`qsvBCBgoZ{>W
zbDlNKOK1Mg7dq4FnN#<_DkF)+kLT<2?`_+>awenFi54D<<u9%MBMhILZr^)z_W!e&
z940EC`ZS&YbYR`1Px}7LqE5Yh%v1kEYD!~TafV4uYtxy#<@%NUvz)nJeiQ%m{n=lg
zje$)@GhIWpo@ePOOE^51^#7I8JTv#P*UHzo-%3PTW<2^U_f-C=^V)A|udmA*iuFmj
zD!6f$r9_-P+G5oA!sGLQ!_t?Ft)f{Qx3(k*XFKXR{%biOutRHa*1CV(OQn7!K45xL
z-?b^JFDzGX=E*wq;^nu`eHRz|_E_{->aha{>&wOF=;wOX-Kw$rUAc|>e1qrmgDrPw
ztA2@W483#YLX^ULw*P0l4(!$BPbtc~#kfSPBAHF_LCb~b(H!l^78F+7D7<+dd&Tnj
zN7bDTKm2l<_2+NoJr!iewj-DCLNfbz=i7hIN?Fv;u~PYS<B-p-*~hm^&JmVzR21hr
zmmKa8&iLlI<mPz|-X**8+Ya2G*tTN+o}}69jC6SJ<k{byU47f?>`sTEmYo%Axfl40
zU*5gK`c!0QKWEsjo$rOtu9GjXx=?K<cOjiyrK7|65r3=dt{;&tGZ+|NOgxp@n03rc
zBq=m2`fPhgU;V_{6P_$qGO4*C=XChhnR-RWg_9py{??YPC@izA{+z-i=qLB|9(#P@
zoxLho7F10N|1u?f-81g_;VB7Gw|nhpJ1Du|d}-gT9@_kRy1;sks2=;kEo#$Oip%&g
zF2135asKxW-O6*1N}1I6_<7ehUhY@EWAw(6(Z6AKt!1j+8P<RG-<Y3GZ(sPSUn18)
z@So;R!>y}UvH#~aX?wP;te{Qyq0xis$Lx$Vq*O1xtofkfx-anK-n%W+4$pmS`u0vm
zb;I{~z6)KmHhl1OzGyq8zT9wE$lj&<f6mkC6OQ<`@zN^pXIp<oZ7-B6-*(09tMPR4
z=cfPu9!;_`{JHwc|2eYV-?&nRFwSc<pDyUaFT!kUY6RVOnw@{!Oyuvo_=Td(T8ppp
z-tT8*p4EPPna87br5hRECTMJ%!!h~kwX#|7?)M9+-saRc@A=}%9~}N%CN54c$n9Wh
zLzDU5#ewf1n1(XCEtq)hV1`%$SI8>|A(pNS2`0RD?J-~eOYY@9QyVa2ruymK`Qo)*
zhj-Vxv~peVexz~uc714)zh2w(cJ-sldk?PozP9~ru*QMeA0il@Tg^CAJ^#Ps!7G2h
z={Y!T<$8B&+UEvMz6jCtsRxhWi?<C)T-Sel#*G8Vnb@7UCnV+jEIRet>e*k35Edt+
zfSxzqjZ96wJf}DhuB?jcXg~AKST|15K)|>DBNtoG_4OLovo_!DJI2ObFMR8Ps6)$^
zTB{v0UzB?^o<5xaw<B3H?&#_gqjQ(EJ?d2KU;BSGanaLMb2R$4M8LF5OfgGj3gfjk
z%9%6GI#;gQa{Tb;@5|HM7e8#TQ&9=qdf>W#oXP1|y~k8j*fu5XQFfZreBhVj!jBhJ
ze1FuHSnc_7qn{)E%p~DN6P0PHBG2nrZ<)E=++(`>q=qdSQ|)w}LNs<PJ23N&NA8ja
z;hd{>*0xgf=ghhj=#o?P{JVa~;!T(O?(?1R_LG=l{o?@7b+@&D6?f^Jby?v1+b^Q%
ztb_Na)Xelgk4d?LMm3*~+RQtYb@9w;=_#kZITC!fo?K|Am?bi&;nFVU(pDDL)s=sK
ze5(KS_2xrqW4EPGj&$5!vDBPpI_p&jYc1<J#tT{^g<k6XOxwK3<6jX=%`OWYec}I0
z|31_?n_n+-{VYrE#hrgR*jo$SStOY*tNQ7SIzMnVWm~j=^Yn|KviIz({JAG3HmoJ-
z%=|iy9d`L@uX(Sgc5@2&StWU^2q=BqeAhbu$KgVWdc(C2i~4Ltj*Im4Z|a#;GwYnx
z!r%L^x5il{``w<h669c^W(QeI)n#X@9K!rwzB#gFn<t0r)ikz_O_jAl=UC4EsybXW
zvyio;JY@HbB@G^_GyU}Y&fCr9dFTJ=;>&j?aXc>;u1#ZK{d7ql)7h527k9NtGWWT-
zx9nsqJO7!lu0AQs?AgW#(bx2|CEoUjwe;@Za&A*zi0h4v&ckmXUtAKYo<C`w-<1nb
zWp`R1v&e|rx%=To>&YLYa;LL?-L?8bIqTVN$K@w`b9*OvY+I$S>vTm!fc0qf%=Ko9
zS|TB{nO~i#F+9?!5%qgo&8#yy&+~MCFW4CWw{b_zll9-6<@{T->Uk!GiJkf2@%c!Q
zq|AQVK56snE0YU$_^_}x-JYeJe70BCtUx3obmrRdlTXqTXYM&asUmb^lxp_!<)>b&
z{GX>M{?q1UcjL}&q0g)L_&hFJkajZvtWm|}g3<)376sXt3KBC|YnL9@ITv>JxAi~$
zvW>xv66Gn1n#UWiTq{sL+jhGC|6aWkr=BF)N>?w{0xkK+qJQtdc5;^z$lJR5nwm>%
zQ%2s7&t@98T2=&V@JN-12y}|2b>>uW{G!}^`qGxa8<PXOB5U6pU6G&Y?IkkN#a#8E
zPgsC>rFT~J-R${SPaKu*IDK@@XVGc0g@RH`j`_{3Pn%KDcWCu(liAb0Y3<*ZT3=He
z9RA;P&Qb5`f3}h9F1g-3vyG`C{j5@jae-@sM9(zY&I7ChZc?rq-@crd-fXh^+$xs3
zZL_bOt=W5US4}5NXQ_LQB;!Ku<6pDhdnre~>A5oNx&N_u-=;-QpLSc<U0!}oc-QW)
zcE`TWe37%;H+g%;tkf^p4onp^J|L^>%W<)x{^sNFxBVVHjh*#A{RQ`V)eZrUOB2~u
zW-wnDJsh67FY0)t*}2D+7pI=A*c*`&s_vKf=#SOSvrSdqzZ}bQ<}Uin*nZUPk7KAw
zS9V6+k>8VxzZ~>pniTu8nM2`Nd0La&t^KP6{%wd!o5Z9pYw5m5#Nh9WwO0SX@4B#)
zO*cCC>Q>JBz<NpjB#)CdcD>Vul1k&9QoFSIHxyo(ozJ!Y^6T5FAJ5KzG=b4{Gkda%
z%%6_u@ta?LOG@kCXnW>y{qG}dmh4kF^-68C>--f3kuei?-PJm~eshuMrw#g@mhNt|
zUiEVv|Hl2wc?ZkPdyh*O-`$>?nWyOU_G|2}eH+u4vTFEgoln+_ju-8nUdZ`z|Gq^F
zWl#9tf9<RHmw(+KSwAd8;}*u#8v~hyx9{NMlVfB&y8Svg-y9Z+?&(G=uqmG2Xuu<~
zeZByn5+mcy?S};U(pV(^J;=L^MXlv@MGHQW?IB`(;*9kVUT%w8z@~HYz>36U`LC~r
zT7}+G`MGY@>8<<q{+$Zjy+&_)Vn%ez*G+d~zJK3(S^n(0<^9}uzD@kX>AaKcSKj}B
zkJV0iF1N{4%?x?5v^J^h=j!&q%>O=D&b_G9U#gY9a@q%_7KbDb7lp?A5}UK;BpAC%
z)?H#hIc4p$r)81)*V^kjMcB;C70>Py{rRpa>8SDBOw&19E8Q=y(wV0JZt1^ozu&Ho
zU$;Jg^X^ltBj2yD^87ma|L=?GbKkxDTonF){+jOT7r2{@u0$I93G^)RYu7MY^s;Pw
zri#6?(k!R-m&^s8867EHo1glj`QEW!SEVKm&MQ%GOZP;cE5E&LzGq+Wxh?gam22WX
zSFtFR{62PepWC)z{_6n_syFhoCVx=>uwyZwkNHa9CBgwt!RuVjSO58xKJofg^<Aqs
zRXX18kl)@Pd{*2c`Q~%yDAfmSlHATwsWvV-t6BQkn^yd)u)E24SbxUXga4oB6dl*E
z^og=^{(5238<W(E80I%YyR=W<-{^NVyZ(hM<Kc7h5ihNTm=%~f53i7l(m5RF@g{zi
z_O#gYBULZ;>mEF}j<@Na$EP!$=ls{jFAgj^zoSF<*GG{mC5G<lTNl@y35w*h>iF^9
z=H(03>Lskx%3iW9{m9Vaz_d3^<Us2IPd`;Bxs<}tb=?8-VmH&`LZ)2$Y}l)MIruQk
z)&uPIttAXC>WVtIY}Ai+YBFnWsav=Ci2hCG+zYcCWtQ@Aw4a;!`u)AgN2XsEEx5ST
z(o&_q&4ERz;T&(moV6D?PQKlFPU&3vv<fj>S)tgO($6<2iTrYZn`G^6(>jmCCPho)
zxCB?{u@5(o3GGjM&vW0wLn5n@NuvA)zoV>`LL!6gg!;XH%PV?((pFAAnXKg#Wahl-
z<c3rJTJM`z2C^?}Te!QZdU}iKqr;lv$`^Sy{atfBb?=7-H#HZl%$|JV9+R!EwfY28
zo7nrmmo~&!bFOyl^8J+a^!@5RH5v04OrO={aIssU-RAV)r9RUfOE;cfwP<T`ik3rw
zfx|MHxr!|!{~j%Tr6^J_KYRY78zyDGDqoc(&g8A(&HB86^Hrw&_ao>3vJ38BHvOV8
zzwq<~MhTJaYo+)^85w_VKP=5B&B%CW`h6L`>CBIr-KG~h2?#S;8bIc<OwBE)Kb*s&
zSwA)8blw~Tk-MKo;|?($=a=}fDRZ{h#9OPhc584mr#T#6oou}LPi=1eWVKT{yAJOA
zey3RexEYJApyPcdp=<VnTeTfUL}k(?U3Wg1ae>J+_{$fcfb5O#E(YSNyMCSEOkMNE
z%u)H5?BA|;t6#iRT;3sAW3fRd^ltVh=SJ40E3z)u2mjeQeRbe-m8VTdDnG^8-m|?S
zG40_ZofXM~Q_`5GPhno@<sv!1{n--P_T%2quj!cWWooxP9k$cu;`LXLRc6j@;r?}h
z@&%#5CRV{OXH_J13(v8de0%)-yMO$oDWW>>mbUq>w%Xat*3&IxF4~aiIYXA2$FlGD
zvy8v3vgf~CzF<+W-W&chwkRk}y?3%nvd+4yrB{z{N#FWwkJudNP)_g7J`B2-7won1
zi#Sy{uk~NHbi}b!J65dztzjB{-7&&%Z>F*K+Jn=Ixo3-NJU2M2^4yJa(-k+q&0K|B
zo8uGiuj-bXK3CF6Z{eh{wC^R=ocBv?S7|EDzIXYb@WtyNB%d$y&#(72_mr=edbW7-
zgy$dsringsxp7QqQ_i&oD)ZWs<^RO7yeuhch&*8Z#wt#P;o%+GvS|MHl7e;bx#l(g
zPjhO>7XQUmz4`36#}^#yKi>(Pp>v1-cH@RutyyRGO+6bg@_NeKqo!AyuI3gex1~;d
zoWS<<z3B3Hag3{@k6ldP`RiBT!pN!W85|L{ollLnG$tNeT(WT4bhfeuzquvCk2B`_
zZFj4*4LEmmozOS`%KyeU?|XK3J1v-Ub3W5q2?72uu~TY))H4Pa*j&IYzb#Eb<+m`4
zk)bJg6~AVE<jJDj9zuIxYZtI6x20Z*E8U{Ab8X+oCDUH)+hHvuz!@Zw{7|4F<?MC;
zYfK&79*45Z<V6$?Mj6GY?TZm%?N;Ebv$UQ+XYX&1&<5ot%Dv4eZ61gOu4ML9TEfAr
zw)sJ}#)%i_Pp)UYDxukxxV+X{GE->XrI+8cOqMydJ-uTSS|4Gr_Re*0S9<5o$}&sK
z-|uJMlwjSlo00p-PQGP7Z(g@woWQpKuarwimZ;6`sg(yr+#_bzMi$h6yB)bj&ulqk
zT8EKi&kc!?15E5roa(Y~WO@zLZk^CPw9LRsQ!4I$O<jFrOVxM5d<{9)WTxkt`~L@T
zYLac~G>{V%-B-7<zq0<*8@rIRNfSd#qr|3G9z0xWsbmzhGye55kM7pr2V-;M?d{cC
z?bYY~VpW>6wBBXPp{=fO&)1!tUOF>8!z67++vMX%=5DE5zLDFbPxFzF^~vRiGJcwT
z@(DY+gugFslRbH+R<C<WEaRqqIeT+N4dy@A`F#7dD^pvnV)prK0&hRxt#@yTRo3m;
zVArxG<lv0LBOBX4-+P(l%e3o`dAA_nUNHr=u$Y$elQq|)qYfA83hEfWOR7tlqoC*7
z5Xd4Ht$I-A&*FS>XD69^PxpAPKiPlK)bJ`}IFq36T()pF4k<h7d;<<<wRgU;yV9qs
zymNjh@a2A5=GHT7_!%$w2nyX(FRefCKV?(FG@Y<#B08)OHui{jw%>lSC92}-yE;qm
zeYcn;?i#q;7jTsvdy+7xGUAqnbwkGz594P7mggV6EPtM|H1JV-xV>J_gRq60R!;A|
zF1BZOs@xQ%bG@@vx(?}2J!n*@xbn%br9v_sH%@*&`}61a-KV=(?>@~xdG+k<?RCx`
zPW7ydnzp{~wdGsHeoU5O{)LVMpL^w08r-%nzj%MvjupNWHvdrk%;2lo(WriT5u3!0
zrWNyh8kUCX^DV#qxqc`A^tbJ|PZ#sAU8?%MDC!x1reL+yp@|{Qd(@>C*iGj+XFc(|
z0V~^AlhVWq0+-cRN6W5xv(P!&WZJCPxdwNPSx@wQuW$KyX77fX$D6jqC+cXjPZez3
zvteCnLvLFPb9>Sf%ko2aRU_Zrt(<ox^jE?<@6B7@HHossEiK(-^ylj1U4rc@*O#91
zzi$`+wNl4SMDk<V&BDo?rUz0)L^|)i*~k*a`Bknuc3a2tQmOQFAEya?obdMYG-gv}
zlbZa7nU&Q?-hF&u@1N&9b%%&mtxba5*$pPo8n-l@IatxKC_?$9-_zL%bvk?V|K)k!
z<C=TSO{(L1*5&K-E=Nw<D`6h0vL|+`|A)KJ8#Cuv7Kr`+syean1RwLwkbTeEq*WUq
zUt^uI$gur<kISSD8h<`Wh;#cdn6dsf8>{q1S;c>Xt~b_BYHSeUy~0)BEwV_kF<bER
zyz7hQ{HJnkh>YG`vbFX3{N-ZWr?Y1SKlsY{=dk%y`OhbU-m<YwF8LUt-n#p^`s`&h
zBv%D6ZC-qR!vx-h%4Hf&`!DYhn#_~==IMVKasBlQp8P@`>l=9w_peN!x$4a1eW~nB
zZQXZ8uANVdUuCv;RcWDUQ_z~yzT5S`yA4HFe6P;C<F}Q8?Wt^`=MlDqGonfX;`@51
zOI%(S@|{amRAo2Us^_=DSMShWxXLIyCXkc;gqc~*&aGa{-kEQ{RQU7LR*!8<@96ot
zG~}OH$Fp;%w5Ft=-Q5FXn$DNbzvf|_$oKrKu6%14OOhj_m2_E5IGe`JPwSVbzEa+_
zrGBR{H*f8shU}w`zao`OuTA>({`&Xaoz^W^En8N&RId~Ky}oc~@?$ZMiZxf`uV>v>
z<>{FleZhCTfyrUk<M{>;udNm5w8;J?a=mt{-sB0zp0D-3Uw@y!-#2gH-1{{<%NTdc
z)(UR9(DT>j=7RPe*H5l2<Nvg~v&$%f!`8z8<KN1zdY1!P0fB3EtDTizwLUM-RGhi=
z^YnEOXNRu6+#qaw%+C9`S+@V}{F{rEHN`jg?_7In<uYc2sXr1v#4Nd*Z9cKz=Xc&x
zAERt@-$lYxr%rMD=;s%b8_4v2NBZa0HJQnKYP>!jF>`X8?s{8Q{G^h%_{z{p2N|Uq
z-$b<)?c9<)W$UJTnF<&8L)(L8Prq-Io65p@?Py%!vt_Fvw6s5V|Gq{+n}P9*#qAjh
z#*ZdMPyE*($>O}X=W3@8lWg|~shF*kdw=XMytD1g*;8VV%brY>I_;Tl$<BXJ+E>7l
ztK9d(9(Kob0vQ+A?eJKp{bJiMi6+NPk1Lv5kxW5>YGz$G=cjhm71z5+Xdd)S=3AsW
z<(=KJ{As1LmjCaLpFHL1#A(%+ww0LZmQ4QLxaiTtw<oT>C^pwRQ9Jj+tJ4;zh2kx3
zzML<dq<;HXitn9Xso#uETYAd99Qb2m&h%Z7Uc{^&A^!esR;XT$*xk!fiE4e@!=!bi
z-!yGqd8;igpm1@=C58Pq@1$G|>Q$6~9lJEWpi$!~dwbr>^s|d{lDD6BJIQ~(&ULEY
zOu<cIht4R>PQ4xc&*QUN`R}_G#;1>6K6CNfm*2Cdzdg?6m6&+@`{QkYcCYsO7aaQZ
zV<(H%oCf<FH*dRjC$_u(etj|{LezReuIW#At)F50yA(1M>n-+s9e;Yb-lzV{lTuCF
z`qw+m7KbiBwdS_%VRNTW&-FSim)6;ytGjwFuyAW)+x3Od8Gmr5R(;sBuKneVRI9Cr
zOWb6o9WMP{{&?!!K4V#h<6rcy=2pg;-@m_NVXw>QuM2bAFD~TX$y8Gw_~I*@j_IT)
zE|cqY3=hrWE$8!-<Xq1+|KN6m(pUB-o7b&+&E{cS&%3?p#<N)K3x2BGSe6E?pRg`3
z+Vp6hh^ZRWnr(NJo0*jtZF}Y$@K$$qn9J|{IX3HNPo4W!bJYgzpf_K3hHlRI)ZSYd
zVfp@Y*Gx6{Ieywaj80Wo4zXxOIsTv7`0Zn$pxB1s(`Cygo}A>l^W}tn?6&{xKkIc5
zS#N?hO?VI&)L5EMHxyzLVKOj-Ea&PC^Ul9*A+Yav_=gSbTq{y1Rz2U=z3eXAiEVc)
zHbyLQb@bli>cAhqWRBJTea?JOt=hy-C>lIJIP>Q-={})}vYjV>AC-T7^i^z(fLLp4
zh|#8dlWh1Vw@jSlo_H{M)4G$&zRq%Nr;YSq-cHuH3hmrx%XZr0^viv+J+`7HH>9tw
ztWQt8a$)h>z*{_yXI^lev+=8R+uU%`;>WIi(RbE~-xudu)xlw{ni@G{nd-`2M;~AB
zxRS72IZ$FcYh}?qS<fz$l-9l1C$%4a?po5P(#z?6$l~M=$w_NY_-Qn$CZAO8QkoZd
z;3X4lh7DI<pu@w}<!@Z~D{Xo*Ve=Qye;13c6m0CN&s1lMyP(YF&v<_23tlgQ3x9v@
zQC+_3KHs&}H_xsltXm%V)!OF&*N^|cZ?BkQpJE!Rub|p&ovk6LJN1R(9X6@BfX=8u
zQ!lxc-b>HcXkFFSRpV|tnmB6;N7DUMe&3Eg^)qtwRTiw871QH2Z%M(;*do?@ckal!
zSUb*NX>hor*tq^}cH$Fr+t8_3etA!E`*3`n>7=QVGZ-)1-Er(q6VesiF!$FfX1#{a
z|4gT^q~yvNMlaV7ob$zWo@08UZl&Bofg>FHM^Aief5D(w!r)eXNo=V$`-S;aCqGRT
zd0K2*{zzfnR)!VN11+onKCAlh_I&^M?b^4Q=6kMpsTHs_NnmY>u5aFXk3lRg(u|$E
zcAvO0@0w2=G%Of@IX$SG_vVKGH!BU}toH893$I!n$h-02`vMb_5L<5%_m#`9y$C<^
zWq+@M_tw^PpJu%B`j)rB-Sma|0`H&~Wp8^oT|c#=*{JTsnoH08Ed)%z-0E@qI^l}s
z1j{<JwPCy26_+=gX>`SHIi4O_zxerNqu%~o9w9eB6x=?zwJovx7kgx^Y~J@hZ`cl9
zHGcPp@7M3YO*Xq`o;ZBP`a#}Ldn2XuPKKK&REQ;TCiH91_$#}{=1x=D;|Sa3?B5;k
z1O+BB3xDDgd-ry>uW;3eyT_~jTF=Yz?Vo4MvG|U)Kj#{W@4x1<n_PEiQhUO8?W%OW
z_OudX$t%0B-Ey`swR`l!_-gZZo_pIT7w27+_icWC%JZw{jgL~i0h_reIsE8d9JA;G
z-|kA&=)wYtEXzk6B6%!rC-0s~H0+s>;L<HEs%x6lDf8>EX2DeRr1cl;wsa+ax>vnD
zkNri`a>E(7FCM;fO=F&Ks-yK9=eXuY>ZuL9x9dY^SYQA4XV2ROM@*UB?S&=I^0VB~
zUHQ{T>&pBitbZ>&ZnYK43o+gLB8~GgXKhwW|MmWepB+M%-c3ksam(1kF~xTMg-;)4
z`tSF@V|;pG>y@nZ_>6gRd~;2uZ*XNCDW5an?Q_SgpU%m;QQJ0sk{2=Hyi%32XtG;W
zfad1=QcKrI80Z`QeRPb~yh5OgufFtw-fy|j;yZF~3-31nv;3iB*!r8IZ(gml(0msE
zqyD*i$nQ$u>7b*17)`)Cl?5y;P2iVY85vn1&g1VF*(qB0KK|kHyEZ%C6mP5zTRb&E
zaCYb>E+(birV5D#&H*P(q}Vq8o^*fS`;guFXMD>2FWW9~EZtc9YW4d&cdte`bM<<k
zh$&ptn8oK?G$Ev5iNdSvGDix|>aO^)wKa(KxX`M^xmOZ=Cb#XhoGLae=!B)PpM?6W
zMNucFe5ltkog*RkIB#0d)hOq%dY^-zE)^_Ks7%$-kBG~jyG2RSyr^-)Wv*u-XEqiZ
zIiw#_{*a*bIaJI;f+?G8$v-CsZ&OQ_W1JUE?<~!-$`oDQ)39^t0nW#|(tdw*vv}ti
zzcV@1nVcsyV^$+4Ur)WoL4ol2dCc9)IjS4f=54uFkR(wr#2a(u=?~64^TV6963h;y
z*6&;<VWg0A)c=Y)bKB3N;EcofxkJ43&be_qo#Qv)WK1*WK2)LZ9WXb+Cb;x&V?l>N
zD5sjHN8=&gK!yWt!hEw<-=DZ(PG*wl!o-gYg+gZYUtJ*j{^^4&FSn;S@-E=H<jux&
z+EV1uYl)CJm7fCb^@|=k3wf<H+qh=omY9O&EsyjwF4X!a94g|jV9Mb*6W(^NH)sV{
zw&AITVl$RAGV&a3moQ`Ja7)njoGGDMa;@fsugIaEJ8B1CtO#c<b$ce(96Be)IiY#3
z&W6;-+!oSrl;-f3ZJNWY?md^+Jzx%RMaNFrS^5SyHa%1=_If7w<XS!d<YNndO7bwS
zE<CoOK)TjBA?4Y*iC%h>H*Y@q;ZHyRWdoZXJ7&cCwx!RHi|xH$Ut9ih{>cvoWk1uZ
zekvVwy?pxN`NR5${q;Xp7)s9bi;r&=KclL)$4b1Lvt`4x7c~W^1A~t3VSo5Whv)pE
z51-%s)ZytrR4%{q)7>{p(`M}Fx3B+aaq#|i=95>I{!Ea1aNw-Z;zJKSgIWylaXgNH
zf3I%W9JkJ=6&eEUN?Tks-HqfPirA<1eb}9AU~$T-$Niyevruq_RNMW3AN^mPPI9YQ
zHAnfdpq|~{`v0G<owV$o%zfSC!`8iO*=)ie=JcNIPZtkYesugz;HtCJZQDA9d9v#o
z>xK73?{7$Hs{AVG(m6#;yo0IW)KAt&=BNKK`Af}<ITvR?yJ^3HP30F0p7YE1$G1+O
ztyNj{ugpraj%mTmqgUN4u4>%q{BQBQ<Y(2dLY|M0*Tyf;zc<%@&R;pVP|+hTSuCIC
z&xudcop!3`-ioLF6|0^L9)DDMq+h>3W%7~&E*Ag##V;xq4@=p4DtvRzzTLY??xMy?
zB^^OWiGJ4#MMj;LEDJZEr1Ap~w<%|D3)bw)F+A0~)8?G6=0UaBam70iR5N~g?Q=;u
zdgJ;{TZ`^q`;riSIWM~^BwAQlLtHQ*_=xa?3gs>~EfMb1Wun`aXGv8HIG##uW-E13
ze)Kf7Z&vw?`dPJ^Syj^+R+zIoXkRRTQa5?^v7Su{>rbBf=k$B#GdG_-cl{>Xdj70%
zi~c$5;<cI;7pLvqxUFwnX-?dOdwEC9Z+dfSIA7aj<`gi?-Nmu=<UE6;lLI?7V&nCE
z3$`41c<|=UA1x0LMmX}EZ`*JG_vrun@9$Ty=C|iL{QUg<$G2ZTt^Yau$FG_n_uqWF
z`ja(mU)6{E{O{Y}^P3m3?@fEcdQ*1mtPIDA4_o&hX;~H7<#uJVxzx|s<>8lqe14NZ
z{d{`o{$uye7H&9jU~h~2vOo=)IS1b+hJHAF>T8(>zy5!tzooZs{S>T~kLWTt_RzlP
zS@|aLlOFr^$nDdbO7{L*xut&I&H5R)Kl4nw=XmwZsgL{4D91g$Hha!jj;lUfU!RM5
z|76YUk}cLp&i0<<ZRM(3@FsC~hW<A*i>Sq)0@QAO-Ej5OLZ2<x5*L5Pn5-9+wOJ*4
zWO<IYns~_fd0(WIZ`Mg)dR2PqOTwj7vS-q3jW{*F#fmx?<$RrOkoeO|c$>WNv3R4z
z%=-Gzk@LNKE<Bf(xU^_P-uyY7X3q+Z7MGg+)w<RfWD&8`ZQ;p-BClk7GLwxiwdX&t
z5Po1Sc7K+b_x0Hf+3c5#+VxK5y;zi|l@q>1gX_xE)!oY<6`AlG?|hbcto-wa(AbyO
zjeSSWnV!49bbovNQvX)@X!~=PA7u~xH2j`C{d&1nea-j$x;LMSrcd9!=g!lodi}d>
zUVU0|dNCSf$LYs<{kv`6eL^r~H+zPZ{5$(SCb~~_%8F|dd!tQymtNQ=^w$4G`|;JH
zp%!X;R*QANneET5a5i{lF1u2VkHTERE1&kXEnenvt4yHi$XoB!-uiv(-yfO59Kmo<
z(66xHL99ig_2;`ULLBdAzqxcqQ{p6V&zb^;@XfKaR;n9>PHD=@p0)7F-TQn_w?3La
zwzf^~-@`CTYSmiVSqqDp6kdpVMH?!4cx}%$TibBqW2o|nFt?Ogrc9>GHy29UGV<k4
zytqxbP+{|8<NLRMUei#&z|-ebpFJzE+5gR@Gn|K389b_ty}8Q6b;jM))n!aq1KdiY
zl36aca=#Bat2u|wbi<ld8^w^4mvN78%5X%x_HW`^)AY@G%KQ6nJ2J0`@|g*2(LQjR
z(@1Xdwrg8`4zK-{-|=1YoYjO$f)Bziw0>m1{rA|q+x7q1O3o!e{vGSn3iM-aVQi=m
zw-EVr<rlAx%Hi<Lr@MW=UYlR)&#m%w#wo3f1=nV5%ikz>(`C=I4GwD;_BW&n90{;3
zc5)2(RQqgqWl8*_hz}dZ1?(6nL@_MTZJe+)BKT&aqWX#QkR{(uWj$D(cXdw`o^qBY
z{p<U=(;WV|Pg-jbuzM~8Tl5$GqtgtgB#Z7n{-^%_ZAqsyAI{&J=D_mj&6<1u6aI4=
zE?yh@{@+xG$G_JIiuW9dlwN;{C-q0b?TO`|IcwAoN8X<GUTw#PZ)T59TwEhO>EY^q
z2e&Xx;$;clciy(a&%^Qb?y$Yjr{(<>tv`B#bC0=p)V-~*Y{i$%SGv#8(bJjA>T>bZ
zGV8ZpHeC9DoKMv6H9u;up8tEp!)?AFzuwn1H#_?Gw?kxIVZsa7Y09F?-Q92If7aEj
zaS-1ur6*>6dPR4|Kj*s#txvDIUN&ti|J}%I`ySugzsKSd->Q#4W^Y^Nc7Jv0(~Z|(
z9hH6;%eM0PpJm+wJ+E&Zue$8?M&7RPZ|O?w1f8=V|L0%%R|)QK@s}W92x<x5KO-{T
zAdtzA(Q-PYtcWm+f}y$LbkGFE^dxgWvwES7kaL;bFBxx5GP>5}x_FQ2gm(pk>?d{d
zCT*?Qn|hY<s2cnE;OCXTx6=%68m{`PE4q9ckD>Jn-+*~PxR0*$NSEBxae3E!u475J
z-apzSRcLjr$ne|IKVNg$J~^ylYLir7FRJMHZo<c<OE%Zr*RHZ#^vGx{*r8B&a^$6e
z?klx4pKfT#32`Wsr8#)Ea{4R_zWDm-3{H27*A?}ZtmlkUYSMFGvZqcyaEFjf;E9a_
zB0sy5ot#bL``_&s+|p1!U*KSj=a<9hVw4Xqsa4Bpedku+XLrW!y<Sb1#6iacH73=o
znphRXrYyS2bhrBX`HRag+^jex`myQb_M6Mg#SPjyWll|)wVq=ZN2}`7cg>p(pWl0=
zTJQC&Dsi9CJvAfe$Sv0dG|Uy<F5j%<V=8*kB{z@RJtRSoDeSc40fDc~?wSWmY!-%S
zyiYqbQ+%eq=v>a}2g09!&hgnR@vL&TlArK&&8ZziYdUVFa#a?KzB5YQG;QSqwP1-=
ztzs+}B3`84vOVItaB}NxzdcH&*JH$Q_wM#(tdULrFCNLIw~TkD-MTMU{}1yxGObR{
zT72y2XRCSBEj%Sn?~2XN-S~S()x{%El1>Eo)h?9zDdp+6SN^<JVY#IMql0b#f3=u1
zcM}$UT{P#XvFyIb%ZlfU+|ZS{A8o*SNr3P3v89anr$<`xDc66Pctop#!7a?~p<+wW
zjJBm~gdXfWKU=G9=A-5XL8==onz{ZnJWW0QR!VGd>dhHk1rnPaA6O<vG$u&>xTaP3
zbfVg>hMD_<nip`tb5{Eo{bhN^Zmp;Zi7S~N$~W%Ox8xA?DBbcThKEmUg8Ip6Mm*;%
z3pfvNaNR00VMd8|Md8=d`d=R(p1%3^>dp4^m-+t6vEJ9ZZ&kByZn{jwHl4tHefJml
z^70tdp0bo*+q(L9Nzv3Duiu=R_x;tj^mltLRv#72iK=YB=Knm%bMHA-PvN@@KRXA0
zSM}1=VX$>w<kNH@f}fksprG$t<`fQ}Q_Ww~s;W!>eth-EJfupcIc(-Ni6aH|9{a6C
zQvx?#*?%v+T_M18<FSN=y<)<}7uqg)1%?H+EELe#6@IkX^0;7Wa%SlhYt9=J`U^H`
z`|p-YdMvleV(at2ho%b3$UK<rZapPWxcbFx(+l^v7cLY3FzMed4rd+Lr!BXFN~9ka
zT(MQ3A>dfv5vTrx@k*HOalZ73rf=1A4rr<zT^K*jr+oV6mxq6Ty}RZx({ab`kqa1e
zv#zR!{M)uJTcGv-_5?+jt)HhW+VCmXo7g{XshOSn(n#yngI}sqxu-u>K5}+eth^k!
zjDxA$KqLL}r>r?l^BoJH&GYR&-*mvxjJa>)&f=c?yG*vuW4~;>ZqZNsrJ}vR<L4I2
zu6+0D^^H>g=s7nc%5Ob9+-&&0mP2tzfcnn~+-EGLAGstQs&KkmWAV4>+s}vZer-G5
zbNpfb_E{VI-ha#69=?1v-*MiCc*}Ku3Ux+{o+b!hR!UzMxy^6mCh^qpMRyOInX68j
z`Syzb9-FQ2xy^TVeO?s$%ir%2t4xV@dXw)=^R3TizjEz(z2a!wkMH4!)-V5`pUt{s
z^1p*CeqU-AX!$&O$@!k0e-x$IjxqV1eXnW1^#9h?9M*jGJ43&ermPlT&9R&(K;A<+
z^4a^l8UFeQ>(@`0XsS(}Y4!J4W|G;vaNGN0wr7tBq-Zf-Klw!@kp1vGZ3!oqyNXq!
zJ{;d_El)i2Wu11UeCPXH9qp%Yzuuo`RZ=5Ux4Q535B3saW`h-5B9?E+R!`W?*Lic@
z!$W&hr_GX=JKIq>L()I1MC$$RvX_^wet5lLPKn~&J1?{U0)N|GajTXG{~SY4<*DXy
zoxMM0Cd*qxmxZ6xm;5<v%W;3*{r|qH(RIiLAhi6OF38Ly!eVS}1igSF`exB%GqKw5
z;V%N$bxP>Ote(F|Bkz30$rG<aj66@ddT%+?=~Cr#>gBmBe}3QLo?xKie4$Oen<aA&
z_Y0XjtO763RxK$nEwZ!w`Hx-hyT(VMNf++@*ePDn@9wFebfjDIeed$U@xK#me*OOO
z-d66Y9H;UR|BF>+r!wn*O%t1(Q&n&EAn{JU@5aoTdYi1G!+zMSAO3i<-cREX_shVm
z=Dd3qJgO!iJ-L4W<a;9X{_b_RnRjHb{n6Ro^W@p(dO!Yuwzqw9{k#ch*@Aa0Q+(T6
zc;klY{Hcff_S8i_nS9qLc&|&NINOyhY3{_Vd%3U64jqn@_%(07LA1O}55qHuGQ~Dg
zw)(v{ydTVex+0;kf~D3qPULi>Xu@Cj(~&IGg3VXxaM`lezF6^6v-|hy;9K+8ibV!W
zKkF;L-~9eiE90Hza-F*m&r7?SGIRg6%E+1{-#)s!7r%3tId<^+f%%uO?lCL0Y?=Op
z@c`Q;M|qux?UVh=oE(MUSUmg0!X|oy{V+rOv0plF^%FaHHog};C*^DRr>Oj6Wl4Sc
z|EC9?9v*&hR^-~l`F`v=FQ<Pne>eT}S)Q_n^%83yFTc7y>C+~i?xN7Sd`&8^!WC9j
z&AfK=&Fq{CJ^zD8mhM>@-*SO5_d<Ys$!D#tGtND~DKpJ<{@42nhRm@whpg|dH`-};
z!cjN<><hPW^}X>&>t9cNZmxgg=@lJSc9npjOX&}z!y-$zn6GkVy5P=`_dtS^#gpM&
z=dHINc8VX~9j$s`rTE1K6A#?|diZZe$^XY+k3N3;;o;{rNtukMNVZ*^)~61z?wi!u
zH{b8_btwtC*1xV{drz$1a$@x+HcOq;;Y+@o-?WL<{hV|y&~dZM^aosG^*`fR7H~9c
zsQg{N<&Xf2zW0k2nRB0=&M`80x#Fk4*YBssb(8A0&hpu`YEtj|q^3<v_f&hg8hrjz
z;_%zQ_~gT{a`noL2fw|q@94DSc5uIU%=`Q4%PkFCPTwwxIyv1snC)U9$9=m%+e>HP
zon!T$>h^X0iB%W>2HIzd{C;q-Fi(r2{<LKI<7G_}Vy+z~M_-&jFTehM-5;a2{o>~F
zdhPxE&JQksxU}f%VIRY+t;wg>MU^((&)V8NzuCy*W2?51_~|V(rg85P>r2y${_It^
zZ(Ua9#IR3OdG+3yANrfh`rfF(UBFLo|3lTc&s%e<W-Xs=KkvzkLen2wvp+jAJeYms
z@SP*|K}&hr-(+mPICIjXEgs4F0nH{0_><lz?>1plGMM9`+@hkxW9E@u!**%MCXL4i
z-e*o-(7hQd$@gKZQAte*o3M6eo4CO7rN%dd>`u3Z+}r2n{CUx|?<+)WbXM~4W?r5k
zrnb`L)qw+iR}Yq!KKSwQ{Pk}er^xTw7%R)ivFOS||L*!w+3IGgD~z=+CYFA(I^UcQ
z-C1!sJ?@RVm+ba*d;59!@5KLk{PE$hc;{|CzRd^MaNlKn5NX!DB6YEX41>1giv!(X
zviC(aW^*(zh<{q2`ibjm!~B(hDrQY@+A-PwO0w|F`<H%twUk|b=gE72-jy9co{7Hw
zdN7##_4i{Y8{~d{;H<ar`fAq}qqFJu!9*W}TWi;(v)Ii{`kPTvX)6`iv;O^iv*3RY
z%x9)t=e==JbjN}4GuJ;}6m4nw^8Q`^dA+Akm2@vj>Ku6FwxdIV@shrAvf3pT!@4sq
zF$z}<)_#2Sag|uNO`Li6ANAm}Eune_y|<q}YBKWD`_&Wqx%+RRJr~>W`UN_6eg=x4
zJr2y_IM&WFiFKmP-=jB=ru%4}a}%HT=f6Y6;uxzByH6cutka&(R~NQqg2Q~iq)8`U
z)M>6?UitN(Lk63^+RGzzoI_^%oK)AJFe!MV5KBsE>iN}`mp`P(Z9l(heQDcK*5nRV
z1+D5;Z<~15idbz<<eu@3-Bd$yNnA~R%Cfh~q2~gZy=6DxEZoc&6K6kX?)`{EOPD8~
zRk|>7^)6kVnJ3>fgink=p3AjIc*#qd&G$~c_usfo<z)QHX(4qs>6v?@(mp*4{ga$o
zqLBYHWXU4|jm|UDVil1p({`I4_!E10#oa$m%{K#+E~KX?Ts(Ad2Agg|>J0gC$#0oY
zetxTGNh#MYc-5M?InnY@rOlq*GI4hQD(Z_rTkK&@%votAo6!|1vrBV#6$kqdFBPl0
ze>&WY=X!SAb~N4IwIas!`Y*2oQrGr<logoA>ie)u@F64DN}+3F<)?qf+*_3^zGvnV
z4T+VT8F>spUY|61W{vgyCB-YXLS?3LiJh!aK74GYZ@uokql^ou%=i+yg*~!*vD6cm
z+6|9wxQ|<$op<BSI<-j^dwfsq%983|w|-rK@8YvrRu@Dz&ngL?7P%|ZSubE}TS>@=
zeB(9D3`=VdzTa{Gj!(h<jn0V|JlhY=@3CVG`s6dIS}`tfRnR7%+cuGD#U5$*Hu+Eb
z8-0hjea+mwa&tY8`b8p_ex`M#d*1op{#QeA-hu5te;%7O3CeWOeWEDi<bP;3v+aD>
ztz8i+g%X<rg=AB9tH><aHtEHJXRdM2J$@*3MOi&gy}3g=!s324hoKH<RQ@NW`w0_{
zS9yxGCM`erc#AnhtIEPv4U&6=p6uNa@NLU?gTSB0^Ud2l(zS!<IP%mx^8MJbHA$kS
zV0B1Kw_;oOO_pc=Z%QBOT50<fE10#czWU~<gyOW^%m^zN9+Bs7l>+wbygAv=&9;r{
zO^tHN4|6vit~=7#7dX67w%H_ffcXdC;#z;vnXDWS^R9$tIy79L)^sy*L)zDu8`l21
z=F4MvC6nX-w#a$yk)pG%tc*^*RPV=gOq+L`qG*b1s2&%q(gmZ=>-`J=o4yVD%epXj
z)4uHcrkA*rOl9MHYYmQFH-EKIxYp0P|JT3Y)@RJmT7Q)2*A-r$Qeh)Mh3o4~^?AO{
zzni2~IAS-v*l~G^Op@;`mb^I&&fDw{eQ@{hi)%^;4=0?Js%h7Ka%y)&s`axSEy))3
zUsqW+Z7tG!_vdKgh5ze2?IwIv>9R8y5t`4yv`hM1?Bs(dp3CMJOcp=Sw)3LIK9;51
z|L4Xr$(-qmV)ohGbSN%#(-KC#)l+mQ7k%8d%D6e~VD2%`>yh~rCNN8B^6rhUJFLTW
zOZw6Rg_zlsA9IQ8ux-8@ve}a5;uKTsee=)D$;sERJ2p+}UgC)~-j^q=r)kO@(BAaw
zL#5$a!|6=hpQs-a?DQ8*_}Qs-qj7oE33dHU)%i<~Rej6asgr&|e$Qd0hf_~6CELlj
zg{M>)_&&?<6<){r<B^RyTaEwQ#@tAboJm_*O-}IM$V}`1DRaS<({;XS@>8~oqfAe|
zXD9U}uKa9kUmueGc-F6D#|xyNH$-T8HZwRK%E<L};j-temz&l1<Y2bq<wF7+*O{%I
z>sJu8Gk(S?+qXp<zVE4v;oZ>vV#h9S=GV^m%Qs1F(D?A^+3mfRdwv-G;_PSbUDuX;
zdQySJzCzy%AJ=v+<-Sm+dcpB_?R|xJ*KZb06fX+oX!gkCb*_%9KYe~>CG(DRYNpfv
zIiEQnWFszO#?5Iq)&GCn^Pkabw?n_O=67u}E9Lmy@H<JPa-#gR846|}H=n67=e~bX
zXX~l!=_@t5&nR{84dmT*AmFO~yC*Wt`DYIw=`~Pr;8>LQBO+^}^#1LKZ~wliFP1Bl
z))Xndi}Q9L+fIhCUl$ss8w2WvKK41eFnhV!8NUB~iZ?;Qdg2<f>Xd@TujC#%#7_7k
zesfVyt?a$?pI!4r+`om&7{;gl_}snfuEpf#uPgq4yR(Rw{Y}8F3+Ww#Nhc3}Yd7s+
zK78SYMy`X%>xl<^H_l6x4GTW@_wL~jk52!PsyWV|e*MGVJ3RXG>yID4C@H74=}&#s
z3x~yLvMSB9W{1Tb&|16aa1v+XgLZ)rYsLIuv2)zGAf{=(Ux$O4hsDFXe>#8L3)VNO
zji>nMU*2=G_Z9D?Bi`2zFOd17$$u|5tg(Bew&<SzyYCdfvHxAcIP1rQzP{DRf(wj3
zZtLAFTQBL7?D0Cum+kQUb9p);_B^*dzVdwutKVeJkazMPqgcsvpNqCHPs?gMmjCei
zGI_x##%HdTi9L(dK3@%avtKRowdsdXs_SPT+j3y5T_?|e{SER?f8Uh|JWN~XGuNen
zy-@O4+#@A@mMtF@?p24iZxsKQd46}ynNsa_=VJ0FUca}2tum3PJSNU5@(pX>w`NU?
z8!PU<axQ&a|HO~a_`n*&yA5lliW%0JEMxYbF7z{7k5$TS=M;;Dw`;kUzi+MlBKfwG
z)5*r|Q2+idn|}(kJBLrX-oCH(Q}tmf4gT5>%KT};LRDA(RbRbp*}uCt=Cj78HHqcg
z?GI;bu78}rbPscaYo%<&uBj<^*Q)eJH~QB`wnfKG>(xu$YFaN=WWaVbww5P)$8PgA
zjk{GC-WSAp2^cmk@Z0oMh0V-Os(5|A{Q2|S3%(oFD3_N0$vsoba9b$6U35?CoU+Pp
z-bd!CbH1*w**J?icloBsBZkta_RpQ)URbX?>5-$b=gI|~ahd!cIp+=;woUXjUv@wG
zoR9U4rD0OPbZ$=FX#T=oIMG48f+LwfcFXbUx6c1(wspE{HNDV+Ph@&w0*eT<v5DdI
zi=G0S^+#i3iyv8t)t+DfKroAat6k2`b(Kn-FVnOb%_gi{_x9Z)nF67*pC=k#&Rn<l
z=lkl^n|(6ejk&&Wy$>AQ`Q5|nx!10JW_h;T3tm4y`t-}A!@QrPSr#*}FEOpns^qcc
z%d8Ypp1<i@$;Dr{o^>qnGyl-^ZO7pP>o*3M?zO(w=qvkO?>D`0{oammpYMJ$jmtAH
zU<y8U%jQMR{C{N^=g0l2b37oOH}Q_e!xN>=*J^4%eznfieX#w0l*GmZ`F|(I?98*=
z*WIE2FaPSSm_MJHmUnn>t2i+6c<(X;_Xb<@P=kYW#n{7Tf+us%`68e&O>9!$<Gj=E
zjO@&dt}{Im=J)w|;yZKw&1~rx3yZ`9UMcn$X~$_M8|1BdVfN<2g1yytYZm+Nx&Grj
z^O0Kbf6U@P|IDqQ%BA|AZ|MouD_!O7zb;IAu=o4&4;#8n=hgOP$R1BU*2sB0=a7eG
zX0xJ?hw`l|mY;g7Z?(=_zHlvj5_5<r|Gls3^V7l?-}}47UWUj1+%MTn|BUM8cz+*W
z*?9KrffqN|EQ-u~^uqF%WJSzn<Le(IzW!<d@bh8YqiNia85G&{o}4JJ=vI_pUh=zr
z&x#9u41yo7hOYZH>%jCK<>xb*-`U3<@IT^TKlvf=xf=5o#|}++zAEsxSKsTUn@$^D
zKgd!(*DdC`geBwlL#5{?JU4EA{r&Ik#*|<6(+vy$id=r}c+oiaXwj^frncEL*HxXH
zan9H0f1Ba8Npl0gzgOJdYIy$SI<xKB3Dv3dQ@1s9N>%jUc;~>;7&?=8+inp{gAMsP
z^%C*lm;Jq&nr}2iA|j5zY2H(<wpfvMJR<8~hItoWeQSP3hPS$w<Eq|_HO_bRiZgy+
zcsc2tT~qyrjRNWszc)Jn{pSDkah>ejcpjGR24^e}UOi^TA)j86x;(Yb`oVnGUWs!J
zX?7bA6|^gyxqPG8T;iP2G=H}LucU9pp5Hs~?yCQ_A}1Ht*SfmjobutwLsqw!R|ABX
zh4E^g$)EAT<e9PRGv@r7^;cP&1@=$kzJ9vb&Gd-#nZ>$Kt?HXgH0+h;=HECPy>Qyx
z6337mJr1XveP$Yb7vPQKukxI`=-MNxAM^FroVWd+!tKF*O?A$7LHh)Cw#4WK;d(ix
zcg$}4mc-ngx_8=CUbUF{W<h3U6T1D+Ea*{^-%{gs)5JkeG5?fYe_p=7=I(jbdpCvt
zpEfm?U+tn+bZcddra@YL=cb=CPd)ozo@(8(D|2(4acVJ(jIHxc5ySuQ1GceNJv|k6
zTsN@n`trQ!w>ut%^gG7aT`P3C{4KA_(>%1Y=;39vlkBCt8l8{GJwCknjrqmduS)Gx
z?qx{Yb*Y}!x+TwVGSzyaOvVA0!@XiB_1<V{Dw{F&N*6rYkTcO{*Sq`Ye$~&f7RYk@
z-qxGo%Wx|o*nxqWL3v~A{<`Yy2%Tug32YOY8Zw0K);09$mEV%AKJxvn*|hja)3?Vr
zuIbL$e#a&~-Q&0C@%0ibwl<j=vR|2FlB@Y?^2yHQ1@gK_!mo+_OfJ-#BEMh$&{4gf
z>BVzTZhf=Zb&J)y2x*g(BGE6F%x7z@4=Ild>M&@GT+Fgi``XJRhKm=lto!J%#q#ZZ
zi*Tso<hu9&UQKqC`?}}#(}lb2qvgyPQa%MRrhF<`G5xf2jsFwHeJY;>;=fJgS@n7P
z7YjDM^3ssLd6#V;C-Og(Wcsk#rsi?|rfm_;yS91$Zv0Zs{92c%_FUE0w{F+M%c9b3
zXMCvdxZUw}in95KwHxG~1>Y|`y=H#zvCE7+NAD&W$;L>U1n_sqF>B4(Y?{FAu#8dk
zz$Z=)Ndw6yVY5?@TR!ef*<%s+?&<Syrg7`0S9_)u&RJh{Pup?D3ybx-JbCA`x7xbJ
zg_lJ=Go6v(xOhsZcZ`dywx;m(A19X9oqFAV`(;9zas6%?Tb}j2k_Tt~`x+C*Xkm1z
z^T>jSWlKfBOHK~`o|K$^<NU>K?Jqv^#`^hie<(^?^`R&F->bOOXIO-9WNtfmfamAF
zsnQemz6pHnICbXX(>LqNZD-!K=TUq#izAA^ZQcT{zRBikYbws|SXp&X=9<x^=I<@t
zx7ByP{k-v%blZddo9lZQzR)>)Pe95oV&B_)vS!P!Hn)Czk`i|NazM7`OYOzlljVF0
z_Ft6sJg$D?>Ac?5Hs!W?22;N*KL7Xky|-`Qd@5pFB0l@#<2~y;T~7aInlgFM_D7aa
zYY%?5`Xl_qFH(&mo{PaRXa1AtkG1CfcmFp<M|INcOzU5Q>-dhcmPxrg2iEs*nyyvl
z6)u0$aYt09$<sq@e8JtbHeC##xs0ne)iwC)#i=H$J_hg1FNv)Am+6qZq(r7sYqz!G
z8-BaGT{3t5)BftW-6{0_UZuG5U*c``Ps+zjQw|p{Q@;99Ey`|xN;T_7!P=Wz((SIx
zrCAi#+Asd8I4$~?!iS>LjBC$63n(?!Z`m@ZJBN?uqDtWl^-kxBCO&?hx@&&a@I3z6
zZCIQv(9`O7k~R2+$mOn8yRL5%IKaXub=ReEg-7e|Fg0=aE#0S<^&fkD@$Z+!89CAE
z;d`}b#MpiHUsjZL=pwiC(c*Vz*SH#d6to)NzFxhk@5ctu?JG<QQZ}ibJl(O_rdN;e
z*~9ujs+T@SdH#@5-`0BYZ0B0Dw9U4DuTR;X-ohpvx7jJW-J(NSyHuC&V}oCedv=5_
z<62+tWmN`WO2P`~_@+xU7+I}m=(}jC>E`+J&+5jRV#n0emvx<<61(!<78mV}v&_RM
z%Ws`fyr{D`CqnzS0nh3QlOE6AdF1i)B^t9#45e4I)vIkXU{ago7TD6+y6kX{PajX!
z?Xz0Py91wGGmyXLvVd2CmE$>^fHp(WGEoK@ZiP9<sdggnKjpk+PMou{ll-UkJ}%_m
zswJYLKkv*IxuLuJ_VIf6&lNupZ>ZXG(K%8>`%8ecu9s}6d-$b^299Uc{J1*VH9o{j
zUp8d!zLIREc(<O{<z8Oexx_0ii^8XLJx$>|-1XeYYgM|n<88J*bB=4-Jl0#W>$;Ks
z!ItOd++Xw_EDM{~-NS9TboIm~J#Y3Hy_hBNWlxCVjMEEV@47m*UGz@fVV8Kew;OG4
zmU?6vUW$6=aLs7*xB1Va(xj88ehzW<;oW-X>fC9WTxv46UL2E2mZ>*%TD!(Qrss}M
za^?Tb6ooX~<yA?m;`{|RFN@YS4BdX;U~yHF)Al7tYNmEB3lMSaaQC;4Jw8z~@uTEv
z*`K>@)^Vgb#+jJk>pUL5{rv6>{mDmS{jW)jT-QxXy_m|F8{fA3ZjgEPlP%i~zFEG#
z`tQJtAI@4J2k@(LWKLO}bfvyguXv41`U}QaOCozthQ2Q|_>-}q&h~iKtJU*npS`iu
zCFj6tm7oT5{&3Hku|>)S%7=@BvQ+#;Hg7o2navpM7a=;g(l+pB_RNh5hl-^`*#a3J
z&z;bFc*6M~o`;0`YVLb--hLl1pPp^IylT^`xXrD((|`C}`TFWzW$n@ZJZ+b6*2lg-
zU4Hl98^(W<yVv}^uh-b|E4*lmc+Ire{rCTV|N7wBvmY*ri*L^4xRUn%(AlKjZ5`)V
zUU>Z|oHrmm=KSUv^B>ma&t(etC<}}`c6{=?AKq3S+h3|ME`C>abYHB?qlrd=Th4CK
zUKJ|&j8mynsg5(b@?HPaEY<T%w|{ziFp2a3`T9k3_em89FE>|D*8HsD!?ns~<{8D%
zeHxqO`PXe;buc4wUCefee=*-*HOR!z4gD5zY0riSm)y2$Uio-nO7`PvN?$b|W$wI@
zazpz3vc;2KgH7*dKVARJ-aIhnX#FbZtN-hS_m%BhH$Q{L&a>^shR733&Y%C19{E*w
z->T62yMBFeF|21P4*adVY?Fp<RiD|!6E?b&lErI|{C=u*iFJ>;K%3?THdQ0d6}3rT
zMd9Bg#h7O-IBT?AB&_xkr#-i~*(s(Yo6_H?J^pv~aBjZUk2&|eMYfCbE?U9vtj{HS
z{N}0^><cz*JQ2E($>3_|li3sY`fPOjd|0dJX_)h!d4XO>T`RVKtrywbYk2<Vx@}iI
zzMt|tU6Oubf8F9DAuowfHc83Jehb+RJQtryxi$No8h`ob%=iD2?|*0s@MWl4w3_40
z>=Nxf<Eqtp?aB%k6U1e<CVxEhJ8$nDhm?EEpHK5&KD{^cd1lHZmDj9u%nSbsEoF`V
z=pE$Fw@Kh@Y}=Ooz002GgwM{azjH6-d(<-P83lXYq>F?Ep6m$ga?>cA*zReTwD@CA
zf${E_-_@E=M>{iy`m$8*TP<*o_e~f>%9(J+C1=tfJ)HNV_v;4cY5q<Jex~Z!Pkwr8
zqR^3^^9xlz2aCL$?s+%Vh&d;m{j>MxoSuSnd0Q*nPECAe=Y2;^ZN=@3r%n|UrbN|8
zJurJSUGVc|&o_ye_Ro*~nwPJ>`QHZh6TY|F&er%!L^X*Q%<(OdW(aB$XUK3iSLE0)
zI?a31l(_$oC)lL@zx1+5|Ey=>o2`eP_lTan6<~8g?C|s_VMc!p_`_H4{WI(BM$MeB
z8^Y&kCxp)ydub<Y_IXdk^rh=}bU!(mv{T%3eQUO(x!8@#FPB}&US=9lx;*vahhzFt
zitDzDuN7Fgr}NS0f}%}18<yqojS6}G{>r2c57xRg%!`nVY@C|;B6hw;cBQ?3&4T4d
zr`Nnytos$Wp?Bk%%ro5UMJ>-IZU5-)+S1vjFM4v9;_pB5D>fFSgS%f$h8EKwM)HX;
z8Ng1gh%UZ$LI`wGdi0Z31~Ydrxw~quQe(=^q8xeWZCTp0m6%c%#R|l!%=vMD{=Dv%
z7Is0NI)lX*SL|NCd;hz6+~1zbeY1<%BOAM?^1M@jg2=;;ipACb21lAsaBH|JrryhV
zR{M>)=4a}c_Tx<giINAV@7i8{vctZ*XLF{}?l%UK^}qNxzKS}2dWpxioxh$fvfuUN
zebWK;8_J@&N)rVpn#ab~{A=1Px##!c!yT>*zsL5+RN07hw7lBgYQE>keb#&W290JD
zk4#=@Qgk;*uFH3!3fC5w9j=RBB}*zCbXn~YqR>~V8Z?<>@;nitW#U^d9*8QKu}g7b
zx^k=dA`h=THRe_IiHsMzCcFz0KIQP|`J!MoK}+u7Q<{qo@?HKh$?ad&zDTvmhXFFl
zJRdvew%R8jC~yC(b8`9XFAF`wZx%nZVaaY(p4)8c!^G<Ju4sS1dH12G2bp~S3PoGj
z@MTOWlX`2H-qG;m!B2Hdy*>xlEwx5-7784@c7<b+waj#G5y9>wdG+hf<-Yyi`|(BE
zpSpsp^6};Ro&Pu5-+6sjfAW#HXG=ZRrpp#Q7yZNk_v)gfbI&U{ygXO>@8#cA^#+c}
z8t)M051(CFeXmY^woHAVBl}0+@(1Fp=j#7E)}vn{!yssNZTqSp3@$9o|CKCF-0k;?
z-S~0Nw6x;Set{wT1%w^Bt<;)K>vJOR7(VA~zt4X7;@P|Lw>r{Fl8-$&Ve=q0uHx+i
z_Kb(2k0kEJ)JpN@t@}Q4vdpZjFDzzTa+GoK9{6~8*_^|H<tA%RyyKKg|L{#K<4W$I
zDNl46A7`xNTf@wI(eJUsHP(#A?dn!<0+}{*@h8g)t2k$+{a^R{-S>YLH~wz6-}m-@
zJ#SvsZ-akMoOdMFdrwGnHS)j4m%dQ&(UzhWCH8;LD@Jqv-<2VCq^GD}%K!ATgT;Ar
zJSuNz+tghV6*ZZBJmv3`8G?$6ixQLFtdm$ggu-|mUM*kj%>KY_fxxm`2YlCjS|h}I
z=<xlB2a&UmPi_@!GX8&$Mf9_Qr}gTS_9wS^$P3p?czt7jE3+<)aqT)^t#6OtR4hAR
zxGbY#{k%3~PF9`Hb4|tp%jV5Kc=PI60i##9cfZ^HFRo*6&raba-e;8?!(OJ?*PT0X
z<I(bi;(tCSE;RhKBqs2=hg{R`RrgOk^LXK5^gFFI|K5_DJg=^&JoB18`KZ_P6PhUp
z>pzRx+cj%?+vnAvd9}JVH(7yegHB@gdj~srq3{FsSD9KCFD+wmOnoH$nO9lk$(~pq
zw?K}`HXY1@3TM`St!jSwHuU@Y!u9_juG=rqsh|Ab&1vplSEqKtNA>>Q`Kw$NgYvE|
z%b#}cvQquqPrF%)8aTIRrt$EIx}5!QC=$GA%ZKzo+99osA74%vtG_WfahmFzSCdsN
z8G3@#(mtO~b)R%$zIx=QKJizq>l-A0`YWhUzq6dHX=}a=*9qaxJFa9MSkw0|e(JX+
z=dW%4G&S*z<eI0sU-uQ%JbiG8d-c<<HjWadp3qlDC)X(c`^QkgCclo!!Fm6O>rD?9
z-?Vd|f9ojc(e7z0#T?WFR^0iVQ7`rT?&P8f<J-9_pSbU-iBQ>Zu}G!)sAI@fd+Uvh
zm_urMIP(mDa$a8drktr)i;0=H^3kWb6{*a&Rnw2iHgW!t7Ia(N{QCRjhcEK--_%OR
zm%my2**2nePGjNA{L+21_pIr-dZ_ZNPRoowli;bf)5MnL@9&;_P$x8GW%p05v+r)#
zb2TsiX>~^^!yux5&ZB8w{8J`;4mq*G=7G|d-}|@!ef{m%kJdGJ=S8O1o-jUtaL1Q3
zR`KDrXLhXYm)!i-(BzC+gpvPdpK$%G33^j!e!AVK-Fxd-WcsDfTMMFQ#BRxqK3T(e
zJ8WO<{1*o&Rn|G3tl4wr{KSPB2}Mz7&#*cN{{Hp3etC8pA2;8j&Y8d8o_$bdqPO|s
z)d!Cgwumd~Pd>;wv5jYI>?~UeOXl?MiENKk|0u`iO`Gsn`BnPtrAH6lD$x*G5x+Z^
zD`?j9m3NJ={Wjjb<?+3G-7j{0$_*y1mREnxd*vh=HEm+$isjr2D<`tveH#9=WUfkN
zbLZEZt-6o3N+xjBueMt5EF<kWLFz}DN3y<pv}BC_rPQb``OoGYR`+%>KjT!$t<azL
zieZVBLgK;9h8C}wOPf=)&arZx=52V`9$24a=6ARHnpn4f()+fgxqlDllv>>v>fqfr
z`)idc`<VlidR(4PTak53neVn(g;e@8#pso-8aj5`IxFL*UW+;HU0)ir>aSIqZ0?Ga
ztXqya2mjuk-YjrB)$|L4gI{=9YyYlon?k2;QFs!uj<11%vo7gSQz)0M$}#_S1{SRo
z(zI{-U*B8zTIg|W&)o|v4DC94j6diu3{3uA%-!Q_=KV!zvCJO{eKXH!(=xWtA^ReQ
zzlSbgJHu+$%EP9OY}4LI+`m#kiTjygp9K52t=vjJQ`2so(i3b=n)czudsWvtvo`ky
zgdUurDEalecdc5IRqpi46X8~S9K2)o7WST2&A&JK*j<qh9}$*LooU%?6s~87nXK5@
zbgnu$^G4Qz4N1#v48OLnRnBVP(Y0M}i>*r#v&qY=$yT>NZQgq9(Zgt)i>barOX@G*
zn5Mbyi08EvXIkE#b2&6if0MY%J-tUS_X}^0WWRrKzx=aZXRT%~%`P=tvV3#(|6><K
z_Y_vUC#fuc_2$Rh+aF{1o9}qNUwY-%V-KF)T6)dzr|20*)+1p;%u5#wH1}PZXvJMV
zB_(cF_>J?E5A|q<`E69lxVEXq_SW60%xsCCSwHI;Z+9zeh3;YdCHQ%LzFk>$+jFCH
zk18ik4^mskC>sAX>xjgze^p7Qv0@AD-|X-WlzZX$N61I^1*6gFxkuS+8MRjB@xJ)>
zJ>N4es?Ewo>s90W+Q7j6B^QPE_|>Ug?v4C+@N%-$?6$ur=YLX)oMpD-;-V)S8<y%z
z^F0hOPG&f{qTXue-(R;^+h#4>6I84jZ8Ljn)5_VrPq%FGo53NNoEWS=b;qg~5xNJZ
zj8oN@ludVjY`f};!Nlo5PSu4d>lx>tS+d}v5od|MdDiZj?OPU>?^|_Ka$eZ9*r+Gl
zl7l4{Uwx&Z%U|*S%u?$+bMC%)th?sTyL&0Cmrk;qr&#)#t#_CFgnHGt7j!00IKOJ?
z#!D>f|K?};sV#L#IN%k+UahfO^~tnPUhE%=X7Oz@d47If(VGTcC&9HIjYs^vBsgO#
zyVmhcEjU&#to@SZ(Q40blT9DjwFs5o^tI;Zy~?F%^h)HZ)>Vn-)3+>bZ8DT+?a^-B
zey`x-TcKwcLN;INt^Bp3*8S_#`sk$BcY@3=o{ZUOY<o-l!S#+c5pTNI><K#Hv$-{O
z&Mp5kp+kx7jRDp>_Wd<!`hP0%UTp2Fug8DCS@9^*;bfxosfMdbJ5v|Dh?i!oUbA|Y
zy-c3$(o-oG8`R=nK9<qRebUxuUF2PSewl3n^Y)GlyY3r5D;Hm|(`P<kW0B(i{bug<
zmA6+MvaB%9UA6JhT9N2GUU_=Cui_rBzK~kH?&aE_T6=cIYu{K^mt6HiD|Ulpcu0w;
zWx(mlnd^mD2rhr-QsnL8z@R@#XZy<;({HC+J6doF9KHQx)>}@o3E7?+(!Vp}+^@z5
zM3|NaF*0{eTK{ehKlhxj$Nzq?JT3FkUSHA5<6pn<oQuokrw(TgIzqxcLZ{Te?THlH
z*tME>hTb+A4);Zp*$v;W)qPl?f5Y*~%w?ynZuM1lZ1oIqtIKeR<aZ5qZ#k4Q(?K_*
zw9;W)b5^)t`O#$!s}rPu*F_b~)qLG#lM%62joYL7*kZ+h!7?UJ^F41YlVXtwh|k`;
zt1<SU)5ZU+_4BOfUIaId8I7hdT+1oKXfj>USWK&aYh-TmZ417C^Wq=oKR>fJa^jWO
zb;ag>x8`nnsdn$&-IDU6uCo@mCZ>i@n*8Oyyo1AfZ}q+B?x;^zaBZqMz|Qd2*GxFS
zsPI!+<)>#c$Aw>Z9`SyXQfc40<wLDy=M?p%rRt}@J~?e7;x*^oB#oK#W?G#s+H5!X
zrNOMUqkrFpR9~(yntko&It9h9CtH^IZM`j(bM$g;*3p;Ot}I*Qm+r-;(EH@&{L}IN
zVy7psR~HKTq_*j*Lz@!Eq?1|IpPu^XZ))2ZuRiaBr%mN1<L$!sd@Vg6ch?jZf4bfI
z{nf@p7E6?CopOU#+pKJ<+GEN8=byWyf|Kl_N#7=K{%-zx`*iME8tnC}&sRL-StF*x
zcsAZn;`$=5E)TZ*8&|Av?Yn*VV4YUpRMyE=m)9)1@9f%8ak<KUe*>dm+|1w3^Xipv
zTCKjc`%ZxR(@M3q{7V@Nm}l&_>HYeJbN?OF%^@bb=Iv`WU#${7cxaDT>5cb{Cpn%y
zK5}bKec9X!F(#jRbIvRgYn*?f(yl&cuC88w%=2p#KUl9`e)QJXWj-#C+|MpK`uyk9
zw`Z?@y|gv%LFbBSe+$zoaXL$U7!I)9spB}SGvOllt7BaIKFofqtLA898qa?-c~<ko
z75Ni6A2`jpmAUu``|-^1jl1vO3Z8rJ$(4CLS2&g*J-3ueBE00-kCR*LG$vU{>D6zZ
z5&yrw>Gb~U%(oU|bt~c=neW8CT=Dtk>!bR{bIfOE+C)6z-x$Ad|F4SOf4-}4)1C9~
zuBfT~zu=<e!iP31+p2k%9I*cTkTtH1f7(~!5AQFnnbB5bV6p3od6B=fv5uJmi^PNl
z_bg+%{T`Qg?Ar4C?f0KEz4vN}bxx8M*mBxA>hiHA3|{p-oY$V&**-Cqapu}KJ?zkT
zw{O3u%-+)EU-OpP%XE82Y&`pgLsJ9Ik~n32RzGw8_0)FdWU;qGn%!rLW0zfFalRV4
z@gZy3cfIUPd1lu~AMQwhS*u)b#I~N}k+^Nyv(*e721OUxcD}P#X9`;Jzt?)r_DSxG
z4!xPW@T!ddanaKFqxErZ6F&&u)%iW;sbvFC;4{7&gKc&kb8~_P%x7<%-5DalT|1{e
zE@hXB*r|MH?^(~wR;%}H^YYESzg3elXo`o+l|F;c^l48EAI#&JYsFUa<^ZGI@A7YH
zf!5~dZ)R=Ry!_XB+auSv%d-#1zvtp`5C~T|_9HH#S?T2WGXiVAFg(qxH|~oH-Tmza
zN4Z8~>Ne}_ms?M6eE-+CFok=&eL~bn*(cq1#W{A=f1J8r(PrAyyvf&&rMkc0VKq-E
zYOBG$KXtXWrH1i(dEz_j<?9!P^F(LZ_*wV0aO@DDc>l3)r<WSnl$f<Xt>1b>k1w>j
zVae8e{biff(ZthvvA0$h?5b)NSY0omaPCb}hv9s&eH9*+{Zm+<@%v}r=&icuo5TI{
z&bw4w*7lr9g2q3-E<CYHYR=ht^ZQK;=5hU4Z8kf<=AqUvQ`TRB#V^}VE@c1CduYy=
z%*M}ecAhMd*K|E|gFVp1BW3Q7OiiJiw|@QkyI(AQ`~2tE-#^b6JfJL@^7*Pp>y}rC
zzt&4GuUA;4cy&p=!bVRvj{}?j8FyMRwqH|TdqHlgxqWWh6ZYBMYKglyE4?gmKV*6~
zvdVwI*{OpXY^!Iv>^`*YK*j?_rzPIG>kV7>G%hY((dfKr`VZDeX3c-*zF<~=qiLS|
zmT^(;sh9@&ds`dtC-F~SGcn<b=4yG5n3?Xu%g$WdTK{*3&Djm-73{O3)xUg7n7wc7
z(qprWO<C+ktXxDM?pT<UH@nA8zV{{b?B2s?5`!HW?#wvD{B})5`syiXr?Q9{2wWFf
zy|OiI(@xth;k%i-wlJwjyEnHi*&jZ~q3p8T{zJa$N_@99vSb%9F*uzNwp*;}Hjkyc
zXiIZgdPP|GJE5%l-H-3H%PnpFsiZFOL80o~%pT$8VhnD=MhaP5&N<%Yi@3$OA<p*0
z)=1gis{@ss)~mkzf9BsqzPAOYPZu;<ykaP*Us%UD`}~FrmtVQZGEAFc$7Cz?Ix&8$
z<PCv~3RSWJnoHKVH(U}+G1=e!GvJi<YvB_g7O$9JZeKNJqD@hp3QPTt4i>-pcDuH;
zFvT4G=W)8QSLjEspT%T}C4Gw)TA8Fx47vQ1E#{xP3a9T1cl`x??VUDXxn3~DKiE2b
zfvWhCg&zyK4o>*~Qbp28rg+o4r9s<*rOF;LO7DLZ_(u9kz^~&ns~j$~c&I#+oNYH_
z`3;F__b#v3WlZRhlyN=rV4LBSocbwWETw;&9ZGIKn_O}Jp6OA&Uw)}P+Wq`?Put?_
z*6I7H#jj!87vRKqE}gyUS?c184f^I2lHYNeJhQy}?z7?C&4LpY)(EcJ_V3sJ<OYAn
zv)>%ABs2uA30-l}`IwuUz>U{kTT@<`%diKT9hvxg)gG4>3MEezW;7L;G8U$O6OT`-
zH_z4(Ed6@qd_qZw?O~fkU$fY@uiia>=H>vw#=N&hOSstgy@<>GSM<zBfU8yhxbvBQ
zk+@imLkt_GS-HH5VzN9moKn4O`rln%;qYzc#jOGrCEs7Qmz4+dEvburRBtn1^Q@hJ
zxUbV;)d}6tmwd4K@2c|QuF<>ctmjxHzp+_Nk*j}p(*8qR)#ivfwcnYuKEFBWc;943
zVAukwFHbZq%ND-)&6Kh9;-kBNia5XiGfZ{5;JWqVB#&buU#76%PGf!V#oT}M-2oQn
zmnp2Bg{J2cE7ej8Vj2|sD-Lllc3ikWXU|66!*95Dl|ShZmw%S7VsifXocTf(w|)g|
z<21ePX0GE~UeC0PKPTv_|0)m9>ga|!vzq00ywh^?W~vUhlQYS`Q}6wuxAa`c{S}M9
z^;$jJ%|5AD(<ie#`OVTVo7bO7+&i05e_eU>to!xXn<dZc*E3vA@crC%)2f+eZ<dy@
z#F}sXZE@S1Th@B7nxeNfT$7pmC-cRk`HEVfzb14|m28`&7<9M(Hpf))Z(q-Np7-js
zxUl{%mnhfGy?f1;Of@_Gd_$=-Q_Sv(`9CK-V!rvM_B9t@lc&cdpUYhf<8HdwPPlRT
zK>p*{3vWKjo=<+>al!IObJO%i^98ehc%F~h%lqRdLzq_O>v{J#u06Kl#@;Ef=7*d5
zbBBJOCdZTE-~FzB^67F3%d21Nk1ct+(u*NRomb7t?cfhvBZ>6ox~Jo7ivEc&SoF`j
z;`<+oo_X?*^(6P(^e$fc+0_3SQ`U>LxaXNOxHRfN%vsX@KJUie+j(w069Y@DxvuW~
zobw>n$vxMlZg#E5^{LiRjs@I35qM(h9oBq4yFC+>%v7s&ujbZ?pPu}m$-zhVBG>dH
z3qD~+<LQj{{KCve#+K6;3h;sMfQ&A`vxB#8e*D6AyA#hVL_C+|Rer8g@7wOTr}u7|
z|7J_OO-E)1E}od?da~@>b#VocyNe1h?~73JU{c_yVK}yK>*ko(Szj;zeRbAaEPCE+
zmAprh-=nn?__~F(KgFtln^`(Pdj8uJ_P>k%cOPAJqwp|?pVq6RlAquF(OhdZaen>U
zNQv9WMLd101lDG#%!|x@7hb={#^O;_-1*zwa}_++yxH*U&(W<#5x<WX$xb_RZS$?l
z4HYsLaXrtyUgv$?KD9b3k^flSi^xQoNpahcE3bHbb8FDDx2v4Cxwc8UZOfUxMRd25
z#@l;)xPP=v<>yj+R=0iszpCFa|Gk%A|Nh<iYxC-BYkzL|dHg8v+}SH1RPnukTeR<p
zRguK=<(BbrG5hY@+{x9mi`^GLMPP@Yz*nA2TJb`g(l)+#3Cvk*`;5iLQuVFd=?`i~
zG1+f_`#oSUc~hr<AT2QAdWOF}TlJy&8*LMPZ-16PyJ^>?4H}tYAzxVIEkr_ZiCy&*
z=1KoJWtyzcfqFyTEbseM>{JadbFbJLmor;QH?yP5wJbKoE$x;R+lvkFt_bXY<k{d?
zcgP{XF<p3_i;}BmYx9;n2Yr=yYu@_nIC+U(=w!uJhBFUmU)W<IGqv-TIuA$8!QYwN
zTAyuPyIZUL+_gLY2adE^-4N`T%+lMWq#k#sj;(fD-cph0c}*AV+b?PUns!IIXKuq!
z`$zZgo!QH*{_*j~&zg-dKSm^}98}qMdsat(iqeItC-#<o2}xafUP>)!!mXQe=O3o3
z+)(e?@%LTN9X`3_2X5lrYIW~j?>u~XMenp9--ct$%o97)<Co3+<SB8=_`KUxr4Y{(
z#Ue6U(|zx3Jbd_B^QBn-7tdzZ`)*sWY9&2Sb5%?L2d6}6?n?d{;&b;4e^zSUd*A+w
z>Aou~f5aM#S?@c&EX{&ZG@;$V%dh)~+=Mi{gN%m{-<!mDPh;Eq?O#}nJySbohI>V+
zedd}KQtI6t^XHvWT&GO#JINUyAyEhaE|<Oi{LV-B7rVj=nS2<gJ??n3Ffez=bJhB|
zFH6p=A25`VIa*=WUGwy%PSWx@hCGhb|2^^4|B@ER(bFr=^j=Ymh0R%j?VIk2><m-!
z+gr4w*Ydx;!Y<14e39U+=V9&rMjhgZS0CSOQK@t7>*M{d*O;shN&3t=zRg0UUMoTE
z)cd>#UJKXlUKDcgO^M(ClC7KU4y)bolZnq?P#?p)=i!{^5*I!Rf5@8j^ZZ_>M<;?c
z8I;zYXYzQh-y(d7_u`9g84(#bJr`-8{VxkW56r2Z>f%r<E?m=;>iYiMk01Qz4|w?H
zFG%XuRsVST?AxdH{N>mG-_o(NWxFxqSb49<MdhjU-o`Cu6o?CFdY^luDd)UIvBhlG
z=O?dlnaL~G^PXYjXYpPhtt$3Xt##F%uHP?=BV6oXPTQweZe*0>v-5JKmSv2NIzy=C
z%Bty0RXrPxxVUY<Z|!LLP`G%X(yrZmcI^CDv6UmL>iLo{5-F^lQw0}h*YEjT@Nu)6
z=dWe4(ee*IZHP_OdebDJ)pBb8j)yBfI(;ITrZi8eu8nAwT~ps{B<z>^QGFT1UNd+7
z1-9?I&wRKrZ`Xur^A#4oh@9&0*7D7O>!M>v$|>drFaKP)@TOBj{AIFc$l3#Mzjxg<
zuCl$e-tzcg!8_hpxe8cJ?p&Vz+$Dp>l7}lu)O*Qg385q06|)*n#b$3=y58?zz(Nnz
zX^C8YTdL>j*h#RvdoPu<tzUiPSYYVo@*`6@nEyR~qN(e(=Y{31E9Qr;%xanBwO7ZV
zqpWe8@|;H>74}SalDD{GD{)AW;qbPV-chSo-_-PsE3?}dZm>^`?PR^TZNoRi@AU^R
zS~A<eUzj}KOLoPVcTUW?ja-+t%dUiJF5-(@EV^g^n~jnQM=ySOr{?#lRd~tLdaZe%
zZ~BU?^xeN`tH`Pk36Dy)Fmg>-GCnP$A0xhX(y^64wVv&Mryw$CP34=L_T{{+hFwNk
zKC7~83gvuRPOIv_7G`4qVD0csTY#r{mi;Rsp5qG3GBRd(g|2lk3uEYcwb$xFL5C)j
z!S16omkY42d?Bo){zL7V*6$ZjlrxN(Z1w8--gb+v%!>LP;Nh5XY1UQmd&aw$H|^M-
zZ$3l#x|Zg(v$wZvJbTFcHMHt)fZ?&7`S;6or!j42S-`;TE_`6dF7ds~>iFk|`9vIC
zvigM2vA0{kY`h&CFjrpc%CW?|TaT}sYI5+kNN8Bu&QF3$hI~w0Ki)lYj=NIFx3$;0
zCt=n^`K0>Q0&Q*&uFSmF(D>_P;(wmg;(vIiN;O{H`SR=w1=UFVXOFi9zjwSFACf8b
zd8Pg9Achm|e7hs<)0~$#2(MgduRVeD<AuGdGEzCb1u{3Ti%tx_Wy+c5X=3#F=Y^|!
zF(I>9Ucb)iisy)3CB5*2>l0nCM|})EDl7?i%o~eUB#s>WSf9Y*vp?DS0q>p@`|_3t
zl}ak5E=)+*$=Gn_n{;5%+B*@o!4EHa)e3M|*ttp+Bu)M&nYPmF!iwiDlci4QE-g9n
z#&;>V-ekLk30K<>uYA_^vv2yBr|08C1Z?)~|GVMfhPuxYA^BPwF%FFkI-BlYzJ4c5
z^FZ>7NssK#=D2f8_Hgmmvu`Py%r5uTkzsz!mI=we8p6vQO)e$Lf14|_A!%h<+QP{!
z_LE*kG@Y&BcjMlwYVu~`VcYtsq`WwnYg?`Uo>_h7sr;J-!QbvIJhx}peVd%R+dj7@
zoYbH2?6}kXN<SvAecyza^xIEA^4EVtu$m6bmDGd@;gvhWWGn?=tg1g+A{0{3^)Jr%
zSn#!jEvA=t^2h8*pJ96F*14U%_42IhGj3=U+8E4!f7I{ItgL<6v#Qu{XozP|J<-{&
z_i|1{>4%*=Sze?uKb!gX(uQNtWTh^wJGEkav;d2E(M_Lo6S5wdeA)jpKuY=PMxV{=
zZ?zi6#J|`+#j)p>>r7d9;j#yhb_y=O?me-dNher|o2i}svV)b>n{ZvXH;bofMPB=I
zcJ{v9cg&gh?0?t(Uo-8#=<aouTc>|}bKzs$`=tj99;7c8(l2|<qr<P@H+i93OXsP7
zA1^o`6!1~}nzYpG4M%;o_sYL4t7L3k&iY<wKD@A|o%3%^GmobBvnd4=Cj~QBEZTES
zsPJ3#YNfQ5N?bf^S+%0#YmeU8ekp&=m(v>W-e@1VAs><K&+tO_u<(6O$L{(5Qg_pG
z^4{woS?<rZq~ljZ?z|SU6<zj=GPlQ{*q+>9;Bmp}!?}OqOdmeiC!F~n(QdOy;aB{I
za~UT8|FK8P?vjKIhnawObPF>Z85u$@A6grkoB!BM=-<5fh55@F3{RU+3~5;8aUmzK
zd-prDlcM2o#8xJq?hA<g7FiVc?s|Efv*)(OM?5#jCv{1k`)y+!Qeo0vQBqe>Rr=vB
z`%|TZk*9(MV||rZ&$y<vX_B#eXo+d(z9Vg(Wfoq!QvYX|M+QEde0ZXfnck|Gj{-hc
zn4Yhnl@xeUEw8h}mH%tfyvL`Go<5VG{&~;I@UIU&x>(BATK)O^YI*bK)y@B9IRZM}
z7hQIcn5L3xGEctd=UjK;itoWkW_rbzyw`j_v5Zrg@BGw@PY>#|+sycSCtu%L>-dgK
zfs+ob7u@ZXlVz=#d1^_(+#W``b4{x!egAl4J$rx3sWtT%{VOz5XI^=h|KY<!{}dII
z;9DL%`%Pw@G-<kFpr_mV|GEEvyPqF3=S1D@-J(-DpWBy7E#j}8T=mr(uMe7UmMB?}
zbZqAd1^?G4nwO`V{rk)|>E4lU=O3RxT$z2ya@oPhol|wLzEV{!ImKhnysm<oUv8$z
zDV^GB?H7fzeD|$rPpx-5<;Tx7StE7j#ACaiq>ja&KeaolWm)}q$1dLslA1biGEyFH
z;IgacXsMbkFzJAb!o^^ZMFClpnWlBEp7un^VB*Bol}}p=&fGK!(qS$5=yLUPMv3G{
zE`1wu-lsgp6J*|Zwgn|@tO^Z!!+DHPJ^x4ex+?(|ElEmOC;HB4Ec&pdK6sJvNi|u9
zEiV>*oT^^aA^D*5-J_2NXWX3re#<$M(B*M<OSjtv(KRCZJ`-~*Z)<*<%FU_EHS03J
ze!`rM4<>z2+~e7MerNf|8|#nPO{q5ScbqY~r?|oL^#X78C#Oz-&DuI6)%Tyxp1q3}
zRIsefiuq(?VmTrAt$E|J1FPDXr58M?7ghTH@W5@~`lut;Yxdl-=TTnOWVLak-;Cme
z`>Iw*Bs2-Vx_zZ!)BZN$X-#GkN1Sft#~wKx&_Cl~kCFZlhICnprs`D>f*x+$`h1$^
z@`m|re|<0fcQ%Y(U*sfk!_H17Q}=gY{>I1A8!id!O!GC=|98Ld^oGsry0hF)@6w$=
z>!(kB&hcv;Zu!d=r1x%N_;5|-yRwnT<R5C;$F}b<`B?Li)$fyXfYXT`JI{8qwdLR7
zKWu(;TF%dC2PetosPedZ@pEJ6|NWkGf_K96sE%nytFuL3Jt}PMn!MwjK-C%fPak)k
z%=4<sfAo9NPTo`7^NL=mJ-^GsQgBFId56`~L(-1^UM2MzH+0S2_Wipt;r}zqO%+Sn
zlcXL^3QyR+f9nC~3F{8nd(_vzX#L&0GMs6>@z;-G9A%${g(4(Ru&{b2?-to&onBVM
z<Nfi-;l(aDemr|7<+H5RHoNG*$%AUfT!p8xGiI?yZjo(C_|$f}ok>q&YQ=KDfCL8>
zh6Q2UxXVo?pRfrmt+!q@U5CNuQ9(2J6nA|q$#=a{R-#XA&pf?V%WS`YN#v^qk4w$&
z+<zu|?sev#6{n7uO}+f+S!UtmviC(*dRf0>um5BT4(;0K+!p@1^zMUGM<*|eo3_tK
zUh{Lao!v+0`lVHFOHMpX3|;$N@p3q0;<AV3cXh7&`c}@px`mUc>uSKc`j$%-Nf8Z7
z@{E~^4;OA+Hk)CI>jkb?8+7t&e*Q3uvAy(6O-*y{<0P-&lCt+&xNgi{x4Q6vTSX_|
z7a_4P(@eORya+uXypT;aSIpO9(*4w@yILbFHZs+Vgvzzt)4TSx<(jVFf~hs^X(t?o
z-_K<UagXy9;%Vb;xP05eI7C$7;F0>WX5FlkzYVh6^82l~G9JB~Y!Gy<(oadhxQP3y
zt)J-XNC|zt1&%czUmYkpcBSn3g19pVzg0_Ch2C9onn!&))8j?6M3Rg4Z`a8_v8Bh%
z>@f50$2vO_E@xlhdw6S2d98W-m&F{GaxrO^Zn>`7UbQh-D<eums((*?GHK_Q*#iG6
z>x(LTr~dQVFZA~-(;K-%`UP{Q>Yh#Jo@xDn`*HRCA5DqnuG<#>p0}i6PUhvay8kYp
z`uOoVPgk0Q3g6ASM=lCjJBXgu@#%@ax4b{+`0)ofUmu?M;?L)xZ=4B7TyJ?f9}x1a
zVO?6<!jWq5mtEw5=j~bMDnI?08Lmy6qb~d*iO<upUd7dk`Gw!#Munz|z9zXFJZru*
z&2~2_o4Nhd{{MCoy8jGqE~px$TWx%7ed_dG!K8V<hgQAaHJR!Cd4uo}-`i!3*A7K&
zZ?%_pZhzspCvxrKg?wMx($bEa7BAyIU1Cr&hx6vd3p~zq*pHN{o;~z@a_)SM9Z!}D
zDC}`q^0udr@59deCHlMe?LY87_SybFVs9hZqoe0nv@iFW^E%qL-gf7YilSfZH^2VO
z&2xMC{~9@-APbX823egKIQ%#6jNrXsbM{)QGyj*FLeo5L;+`f-wbtI>R%pl_cEE^1
zb`8Udyak3Vx7O$|x3juzjncoiRlkJgl-m5K+W(jQm3i{=LC*bm4F~IG6~hgsvNZ06
zyD$77w($9+DuLBuwl`*fGZZmA^f|{d=Xj*&>~fW@#rAXFOSA2{f8U_tgpuJLy{30Y
zsea$i#w}a7H}}Mqp!D*En~UEX=Wu+GVQ7)y_@&<StKh=JZMr_;@4PpeKA9Sxyi4P>
z>x_GeN;4+7nVZ=CES2ss=vz81s(!Bgo(4z3y27pn*CVd&m~5|eIw{5^b;jYAr)M4>
zKY7+;n>g#7S2dfj1Z`zJq8i5eFE6X{x+wR8(rF9XKi-+g+?XBrRQps~%@^T5`^J{<
zqP9AjY1-cPGhOaYPIA?}(6x7$tV~haoYg|x3;Ube>z*~W|C5_~z+mqE#w69fjoEAK
z&mTV0c9BV#`9t9EH-0tS79>98e6?O_m8<uKW%loUGqbN(cRu;Je#h3Sf0*4w8A~^-
zPyPBwb|PE)PR`eimVY}{FSa>KW$V^UJU_imKjQbVCSK>6`}g?G4;EF_&|bBxwR6IR
zn%7<%TI~z!yw3#QUU4hr#<r5v8yxre=@kEE5Nb1<`uY6yx)m0Ge|$c9G`~4q^UsXC
z5C7B#PGkOe?%G+V|M?tpTJpE^6)OU7xh(ni{mrWf`o67C4#V0qAM;s+Squ%0ET&KV
z$EZ=?8|FRvwi(a9-{CJb&aV*-ywdz7*Z6GOtjx_XkLB`trnPHd)ZSLLV_HuC|60bT
zOHqBBE;svfF?3#MZ&>*KP3yhiM{l2fbXHbej+<H1>sju$xI@hIJoUQ|Ik?=pEpjj1
zzI*z8b9tM2oeDn27MUxzd!PIBXvM4;@zbLIt^0#LZq=`j`d)Sa;mo7E&px`(+N`|r
z__5uQQYxKaK2?4ETKz)w!0!jGjMEQUN1nXZ?J8u@_+0D#=STgn6`2OJCC((A4|=v#
zNp<(WDZ3)qDNX#@e$M3lmbc!$v#<QG`2YK@zRT(}myLuH-W#3z^LJ)PDR=fW@n39V
zGx^w!|5x6ZE0c}Alvm$bwq&uJZRo9y9gn6wtzKKz!^bt>C*H4zF?E;zT)UoYvv;fP
zE748U={PF!q5r$~?Dne;@rH6L8&&jnY>lfAlKA_y>*tKdue&b)eH_1?fB(IGf8XAH
z{JXvS$)BGuqi3{yNM2Gbb&liRxkVWlDz$v`){51wT+@B&y<wL6pX|<n8TI*!&#TtY
zp660-wl4SnH;LZQ=XR~wov^d3aiik*qg#L9%L=e7Tw_;KpxdAPzw_O~{+Q6Ita5L*
zIw==kpMC42sBW*_#beL<w=Fw7mH(yVW|tTD7p`5q^-oaj?cJ;U1p+Ud$<`{etT}Y)
z<!!lHd)WW+)}`r}cpR)?n#;5N-ppkNJL_5fl{msXOBfgrnI34EvfcEUaEt7&Mz?>D
z&sBC#mnc7=`Z$BD+vS1A@r9@7^P8&XnK<yUow%soBX~OImBWHOMNRQ{Do=Q&!X3Xh
zAGi6($<yI}afh1?ccp@g{DpGP_!d2<AEiHxUg*YjJY+i1arVVZ<+Zim*?EQSh9%De
zb`{h&KT7Y~@XjroeWBw%gX&!7%XckaI34a;knB5Yx9r0yt$wUI8am75e)IV&s{1<L
z@q3;dtf5^j#}^U3noC>5Ge&Ac@QXM}t>!CY&s?`oY}qQS>fY>W7S3xp??mXLyxWHp
z+6!wm-tM^cf3dCTudUy<nDUx56m6e<T8gKwXL<6a`U@=@-Z@9ozI-zA*eSE5w0K3j
zbY#<t5~s;)&fS%Cb)2&C;#9?m{=bri+b<VOCCHr0ut}aRT`tOWtenk@Q960eTx)yn
zb`9^ukeBCfPWAa9vsuCGvE#|Vb(zoIx$pk_JjYji9*0JQw#+|{tY;2qmmPR8F+cs$
z&5vKgWLMeE$d0KmU)K2Q&`QnNpAXVrh!-193sBUL+}1opO{{IkJ)YNJ<B~7Ri+;6<
z{$f%YFB=uZW+bZ^sQsKd%H)x>ecM7o&%A2JOKaSm^qwaq&G3nmn!2{8lA*wppJ9pY
zO23u%%uGRgf7oMR-^#o@dB>_<)A+tDeI=WFTiAN@Vy}HRwmKO_d8vmz+M~)-wn-^T
zIxLr~SuTFy!@pg8AyRBBWm0c1->>*}$>9<`7AB{e9jgV`ys73;d?=+V-M)QB{q7Et
zs)jk9WxbZAC(n7${r@@3+TZCr-<InpQR002uAIE-`n!qWYklkMA1N|n6`lXsKVH0~
z2QGxBU+iQNVKy{2oL;EHqdEQgGQP6<hz%X>o<c`+wpuo+TAgW0SUt&>MZWxJox$B2
zMPs=aKOeuk{E06|N%U0+cg)e7PN|7nD!MyndP`36uMD0c6uvT{ct-aEO}5)+m8tC6
zRV_2`uG9M)@Sy$7k>7tO_^b$6r84WsLI>4HEqzO!4dXc$ZhDYxHzU`2df<hdO6wo=
ztgPpmR}}Q*bywf^J;Iv8HfJi#syOXV`~2P@;4wwcv7|}C&rxAP7xN{FS^By0C20mG
zrAMo7JY}9KR{1#eXSj*6@|@p)jxEi4^B{4y^WJ&-O0qk$n_iX~&s*MfLf%LIocPAD
zgIVcS#Z`JAL}G=FdP3dSnd;6_Jhkb7*#qUIMGX7uUmfVbzHQ;x`iVXBUWEGxO#S_S
zgYk>K&7W5-o2xW!+2*s;Osd&$y>n#h-_7W{-!*Rg*=_QD3m&jO7YOKRX_1|kXyaLG
zaD1)ejPO5;FE}afxR50tW!iM?&zCrbA}w!)m3ODuEBIVlqH#;A>7k56&m$%6b00mv
z=Csd^zi8H+%lEc^;r_feeG~UT>Z~;4{k4ke)@GZX;-)9JYfPTLU8VV7z?%~$-)Ehi
z+rPpjZhm6)eug`1He8V9Sef<PDC^vv!Uew%Ui<c5=H-J~!ILH0`_$bo?LH<RbR==v
z<od_m5&J$J<#byVF=a`j($nn<7QqhkUR5j#tTsY_?#=J<pAbCLcVS@tdL`McC#p=Z
zd2Y{HTp2FAeC{WIsa7v7wMv!?T~4LHCta@=k2rdn;n2%{;+`F+Hg`K*P1DH~Df;tb
z!FCQ0EiGpzDYM+v=u6+18TFlU-|XotAaY2G>5lcn+D)p<Sp06cy)X?+|6=9a^uF%b
zr=QQ-@7MqN^s|g}i>$=^mqy?9PuC0WJu)-bJ1%bF8;`C47tRE0AC1(tv6|YVjmyt&
zGwLq;%Wn0#<#?#kiP@8u6;HZemehE1mxSZp!epm9quBS46qi<%%D1j9Rqb+qy?<(~
zb$7DqPS+j!eAj+9sA@hmTovv9YU#(+0#$!MFQsQnSFC=^bJhliaWvli*0<@G+pE6%
z1wrjzKe*#8w@p1Dd3DC>!|T+pE-atR+;i<8>w%4@Ii&b>Ys&?;oqAkx>EJ`l_NJ^!
zOX8CMZZ~;nD0}^quI7#dyms2Gj3*u(3>IWtdHYw!-y(bF@FSewjgJmTZ~LQ?eWgC`
z`-33o{g>m8ypIxK)v}ELP%&-p`QjuNkNfNQ&i_39>MFh|^(*YpFPkW0$e;Wo+Lm|L
zbjC-|KG{B0J{ca)Y0@~!|7eSS@`k0ST9;0DxW#BG*nA~%e;d;`4qM*#LQ|2-?H^J-
z*E3(#&Rc(ZveU<~cS{`pvR6g_h}gC6cTkLgnV-qAyz<v4KX1+6`+#HW8pHGpKTZ{E
z>Qx<J`L#jxV7K{s=C#+97iL!p6>VCp!^SAO;l5|7t4(PMuRGV%AL^=h?<@W>o|9|J
z2NxhrX2#P6BbbC4%^)k3=1OK4-`VzYciqw2*O|u_aW<_lwm-Udl9jRFov686CZ~jS
zwY<CVX`xJ|`tJSvelu~*d!cgKpGEAzyQKTv$7cUkyH`{E_1n8wU$5`Fv%=!mQR}Tc
ztM8;(T{@Z<tWp@FR#kjGr|yo}&#%3HLTk6j$7XNMJr^23n=PSoW3A2CuPN>I`?B7q
zoUQo#`R?}c?d9S7V>A~C<WF&5@k!%!+3a1re|>yjarwZl?XxW|?JoN4W4+rqDs7_H
z$C%weE52S|ZSf>XcSndp*v?x|QqSqw#okwWTDIY@iPHMrZ%bCF$%S6uP-J5BviGjM
zT!rz$)ZZUo^qoBRtHfqjT)>T!GOInqjs@4&?^qIe_|-hYTf4F(E7DGFtI9b0qEgdF
z|Lek6-&NdWUP@1qjrrmBQp3BvM*oqz=BBp{i<SBHKPatGJ~BU5TX((Am%~SxMI1JY
zo;l=JQaf3#s=C}@v5rnk7lXd1RoGTtqyFS4LNn_Bnr@KI@O*9LwOQnyOS$2Ewae!3
zdJ^()SJp>y7&>hY`O$lL>jXY7-ZcUyg|&;fwP&}M2Ssx;@7S;RC^y;qa(}}7J?Fcb
z)pOX|)O-JGUc1$C?xBiCINwHJhKy~UcWxiij=7a9&wfcqf2M!v_baCsK5rJZnVPV3
z!&K3=?NV*dRyS|$+gKs+mLq0DWRqk4t0z+KY!eg@Z<qU3fAZV%hbrpla;kDnCMwT*
zbKvyMXR?d$RQ4Zh*7UgGDf(pcH;r3$=d~wWe{{LS*Rb>P)SFLDI@hOfund38sdw=M
zlO=zRuPfiuqukDCHlH+*%{Mw2QWLlT!$O^cg(l~>A3nUF_s$!g;1sr}oyq47{9Y}r
z7IHW|A#=id=cl@i>Wdoc3%NctnNQ8!R{Oo8u)u8dEge69j}MZiDFHF>E_4;PTo0Ia
z@}Yrhqf*C8#)LHC1$G@5!@kJ0>@v=Hv%|n!W?|!z=9OPH-0fJ@Osy{Q1**D7ObShJ
z_;af?M&@GWpQRR)!~*#=pSVgKR9@(-(6;#Q`<WL~Ic{cd_<AI<^61NKtNI7BCF|;B
z-^$FbFqZEUKXdqKcttqtozR!}kJj++`o;9#RV1CS-MDx{zR=O1sXi{^O%eI?Bn5Xk
zN=$mJaedzG@9}?sK9;iV*joA0wbbTo&*Z$hyCQP?guYnq@|%?>-|u|f+GS1V3>Slg
zQ#g-EZvVoxetO!hI>%X_Y>!Q%y^K@pyHYtXAM4RL7n-<gMbG8?>Sr5otUow$!f}a5
z+2`+{>tR<mSjn6a5^k#+DXU&Q=_o6Qs`|Q_2}`AGYMxxSJ#6`gvq<s#3$v4xTDteX
zt@dvG@pM_rwoTJ7UYITOwAxirOLL003B%3H!2xo<%kT9~UR#+v$DrxW$~hh$xg2XX
zr1sVy3XWRzm+7(6RwV@;mMfbC0{ja3zQ+_PR34ubsXI;UWT|p?ZwPBJ`#P1>rt|>6
zR;P8#4zvcmHoMB6eJ+A;ug^r0v&IMb6H9LtoB3^4IU%<pVy^b>q-nKBzwssgIHPUa
zdd%l+E4!bcGHbL%;55b(JzuUb3e8(Di9S60(qmdfz5Cy1rrZTdT+LQ$6=D`QoEcrY
zrZRHO>r<CxWp$jj>h0!I^~mcMv+}q2e72DN_04#`OjUg!`&|c5<D(uO6H{KiIZ^KU
z*kG@F_VphJ{hp|#F5vHZb;>$OvhDVch?eLX*Bok})V|rj)S#tX?kLB~ZpYJ6+|zEn
z=MogX_;|JVSC{&X8#_<yr+(HKD_A|3t1NzohxP5^z?NewqPY=bO@XrcF3Zwy@7No(
zqR^+gqr^mz{X{B1ht4Y-FPZN5Z`H5AbrfCsc)?P}3m;5wp8Gdl@9c#1FrJ=$zvYb1
zL~*$7Z_0Qr^SV8I+dP%S-?)S<vJ@vaH7sxsHofxyfW%*x{rwA0);FG3YYR?Olv$Qm
zCcr-BMn+ZjJj3EWwg-H}+J!~_CzV>s^ztlSC$6;i#6+E1*Ue!@5+=Ic=S;m$DKr`$
zyB=D6Olr2&>+5$Ef4qC(`g!*A2}f-C&e?f#>U!RuXW{aB4ll!D<F89NxVD;daXj6^
zoPOliJd@tdsgpf9gG61oc<a@FdK~mSC%M&xd3EhE>pS5cxdGopiqb=VoLliBwj?m-
zo70BbPNr)bVx9Y&b2(?KJM7UvP+@ZUh@_C()md6X8fVLPPJeuR`}g<zet-DB`}gkp
zMOt=u)}54dd7#~%n(4h}VWyJp^Ec*J!4uh}#NWzJdy_5mG;pPj^Z#F$<*!|pe_KDL
zXtvV386K-{Fq!tc#x6(*_9%3&-nK5D`<BVew?~36S3G4@?v1xeV0e*HXL)n+?2Dz1
zS;;FbO%lJeF>@uF2gSZz;qhsyjLNRU+}4FpE{Z;FV|P3pyW=0L-kj8;#0I;NVBL$$
zlG}53sGqORjrZ8e=k2UNL;geB{K}Y*k22=eJE`AHv77nJr1RmyKg%t;=kMsB_j{(d
ztlsIh@AK~0exAPl{{Od+|LRIzwZGQu<?QnzjWtB%TG|Dvd1`VS<`o=SDa@w3<E~2H
zaqg=n8(o9E9apk4YQ+E1yT{ZrMLSGf!s0t;mEw~)E05KOex6oeZE~{dov_;GZ(S;P
z>r6Hs&ljtIJSC-7;D49X@$lx%MWG_^uPxH#`u#^~*1ozGFP3uXq`mDuxiC8B`9<61
zFE^Fs*Q>U#5nBAeqx{s=N$esGt*b6Bo$<AXCAL*q%SX)0so^$H=*+v{ZT5XR9F(N+
z;8`9sgG|}k6YrR`x0T<q*>F^-?|k;mQ`UVUBFj738#jCVZmj3{SpA`?Z!tH+eEw<k
z3!g<vd5NxQ-TA{~#=;FAmb2Dv+Ux#+OTI8#=YnPL`qYX1-k(+;p5^r3MD~f@CZiAL
z96=BNO`pi$ATHOW5Z^B<v9YB^V3Mx;<*4m*FDIVzWmnj8!E3Gkw^p9@H+JYLi9SDf
zL^FF|W%2LKMdp@ka^KrK)XRQ(=F7_|%XP78*KyYHANTA78G9#oKRVTQQ~ju3P~^kS
zw+;yk*Svi5(|gPR6OSzqI$C)Z?d7P-(c~<dez#L=r%PqE-z15ogC`ugRL{RI4cgOu
zVNu=dd#gEvQVSI2{f`SjpSf%8u|SCzGwp7_;VSj`JYy}(VVx)?xvsLQb~iHX=l#5F
zp3R~luXW<<QP&rLcwJpLeyV!3-TcHI=9?+b`adkM$o)Cc<b7^aSMK44mB08yZ*A)9
zEtJ~5U+8!6@r$z*wj_SM$DZ)SPfon~dO^&@4|+Sf3%@&k&iGc=66)W5#_ipv9ktmj
ze`*DDHa$#MId|w=?z~f<^%-o+Eh2ZlmUvV@bxm`_&I1i6AMtT~aAkV8=GL@k-<M77
z3S6pt7CjYN^>+);oa>^_Oz|=Ir7Qezp0+ldQu6)Y+`^}v2i{!YpQSsq?~@Yut0N{4
zH)%E|9p80dNBp2#=cgO{w<J}>xyvrydH?A=_7{vNw&plEEn?{T_RYsvShR3)x3rd)
zQSHxLZFghuRIO^a+V$iAB1gGBb3Z+{EPFCb*m=$K@aL*WW!i4C9{nD=`B$~pd8M_N
zOqKrZ5uP-8+Q~CVG6h1OPx<iYz5n;Udw2hmpD6Mo0n2Horsm))I`}P(%((P@QuESF
zG8BxAjHfeZvS`;w=F999teYQy@VE-U%%)WlDU8RM>=vk;V2fD8`b6N5!tKee6I#_K
zs3v@V|5-FW>Qc<CYb(~;+&KJhU0Qvq{1j1M%@jRH7JIQM?nnu5uCNc$qWi^G6dIgu
z%syPo?NoQRV)di#ElMWFR|94}`YSbs=euUcQM;^#N&2fTO%DFPRqtfH|JXgr_sweR
z^#LCb-r*ACYrAx2)nUeCF-HGX9dud$GhADhc=3<!oxtO_wLVxKU`tYdb6F!GsQyUf
zCdS~&4ri>4Yub)nG%Z-pX}~ah%MaP3hc-l>lAPl#la^qcUUOB$z|uIOL2~<9m4d>u
zwJc#ruPtkgX5xEuaNk-<m1(o;_vZ=7HtuGLYf*GuQ#9dRl$VH0WG(B(YkJdF9Cc={
zS9qpkb(pK^+*<p!3k&l0Wd$^Gt2gct`JA7^x3uV6=%H1=&Iwd({MVb~C~VE-6;WFG
zC~TQg@y@JueVW=+X3mw{z<6%Im*t8b6NDeGOiLGy*0^E#B5<{_{*BXD`IL^GlBrkO
zu;MA3Scj9Ztlrju&0o(ZsQc)ZFIe^H+JvIUw+xxAySE;=v}Q?wskQCzRV7sdA*Is}
zM&`QxV7h)G><#CeyrVqc8B^{W2#MV?Z!|0_`nTXY+rr<gTEgzEnG}$bAg?XqwtDCN
z;0jOQA1$k|g>Kk%@0~ekj&$iwh83RIeH))~*Y8o=-Jnpcb0>F+z4kkWe`-E5au2@m
zI(p5f`g5Aue*rz7_sc&N&-njW{y)#uMGcB8OpT7z)P8@xetw$$pAGY;S+AYtR{kh(
z%aXv;J8Hd8Zd|gq_WZQ#+aI2tZD7x=&9e6U_HzjwJj=qx1-N*B&rLjNHNmlp$M6^H
zx7q(oHvjolSYIfucj(V@{`ADUeLvos-Kl@|XaE1m2M3?(ci;SDYqxvHzQ4~teZ8Lk
zdA|7lY31heV)v^KyxRV6*N>{wpLsu{cN9oPRIPBE|6%57={>ibCtbFEc1v!@xsyrP
zm>1o5s^VGvCZXlr@q{f?1>}=M<nm>uw`A*1a&>77_LTp^`}=A2+WMwhA?06dSB1S^
z7q)e-&c^qPuSS&{D0SGdKmPOf>sO)Z*e^?7NZ6{cs|){hyXnHq^w0g}^Yedy?GL~H
zf8N>qy7~L`@_sG9wEXA%XZ7>;??3VP(7{?p`ze~c>Ly%Cax+uivDZCat@9+;i+g2D
z>v%rf>z$v@nDqOu`JT$Hd;U33`BYzh{jrI|7Ps@4rX)MRa(mKqG}zcXr-r4?m%VxO
zv91mMQi@_bl#07Hq@U7MT5H?8c*${#JNs7keLul_OZj6J|5}f3n@Q75U707J|91cI
z!D{7W)v_LkC%-Cnlbjcl@_RaK!?m(Gt6#1>clFb$mA7u4ymjm3tTpwgr<_yU={9|S
zQFpzDU%>Z+F9SAYHBP+xXG-Z&sZ=ZN=|?`~^*=V%%93lmY94aERktYHz2QU4yRZlM
z1a{4E`L<!PZk1(7Q0JlJht9V+u+-fPXzE<e7P_RvWyk&<X&Uke4VR|12-J6P=QiA(
z=GA%6_`&})_b-#SANF6ZeEBw?;i0+0tKA(X!*9rz)mL4)q49>@=*rW~*uXgp6<1W=
zQ20IhB@=5D+pRv4z5gu@LvC0h(3+cHm*szrzP>;A@9s$s`9H38+vsFOeAqA{F|e(b
zuiHxJ)`kt!Sv5^uq$MXTEY81|(C8r)#~E^@($&rF`Tpx{`(y6vJ-WS{pPT92bc@4!
zQ@ZNYqNfVzXSXNWc{>>SeOl%5pn=O*%Sv{OYMiP>$&#Z=optdlw@ZbNK5G_rTlk1o
z=*kn@m0Vs$c0mg-EIGCD#kAFvl2)zu>P(od^)+El)afV3k6!;Q?G>r!5-g~=aAvj1
zTDSaz?hAhANhv)sSj8{pl=U!c{R+iJFFwnwKH0+KU!UftS9n-+PJFEWGtR$^-3QzE
z9<l99%ld0zq$p!PMW-OnF~l*n=giZi0cN(7QZjGF=$~z`G>~X9*OcO%F1hT?+pmQk
z3!f|PK0c9U`{&mWB}9}bwD$|JALU?K6xk<|Sn8yp(LDM2>}g8fzaqqsDmHZmp7~OL
zfoHaOZt8^|2jlvXSK3@DYbEv1*ZSFIwCz=^a6Kxp$TI8Fzgqcc6P0AO3pPA|th_Mv
zR>{LPvscJ-tx2--5m{)ee63rlZAv(A`U=OI8}m-DQh4ynb#ni-elZq<u)D7$e+3?2
zG4tr=+YM(=-9N9GvE#*Zfub#%6<0jw+!NVi>)SZb!r{$wjm6Pxbn9O&uUgZ5rD;j)
z9MirT!ahz<msVA09NqTCFl$=<re!PMWOY?cS>~|g?*6ZbS9zveYNV`CH2=|Xq2G7s
z^uud<Ito<GCcoVw+iQR8rjlG*Yx|iD{*5yhsa!2Q(h{_mqu2UwWlh`WM8O+3`n|7<
z-wZzfp-+DLz6+}>{a2rV$-2#`r2dJC$<36>eRo;+GTLm>u)4LyD}_g0d+V{~z3Go8
zaX;OmsImBlyCmOhQIp>*DmW6`_*1^s$NnuU-`ugwGQTRZnnC(>og4T2k9%JIy!wBR
z!eP;@+C>NJw*T2+vHRx^i}-o>XT-kSA^QCJk>|Xx7JsaiFZGNwx;F8O#-jsql?$_N
z>x&j>^7$1{+H!pMt(W(X9DdXFdWm01bpDo^7oVFwS#(6>{6V`KZ@x2q@9p^OSeWOR
zOgdXv$9i7zRdb5ohLnuf9SdYupO?A&ZGVcye117$;YQ;r9CoMmtG!!$*IqZ=C#JG=
zqM@A9y5^l5%{_lF`sKDKU48fZZ#7oNHXj2WCch7@cj|Z}wdulVo}U|^w79!XW?p3d
z=R04p%E3ds?@X)Nb^FwVZALwFQctuQ@oe^<RrF0KV*~3Aj=ysb__1u<zEkz!Qt#FN
zTSDjO>s@Ynyy{)yrlMzEbu0#4yR5$*p81WXXZ!pA({4R2v6$7LaLbm@dABXo(dVVp
zBh_7!ZgICTc1GKKt?pr9*3k6jP+5HS+u>=|DoZv@6g>6w^rqyKyIq|YrXRV*`)K+3
zm*0ittybLk_VN6)BKg$hU%eYP3(j4pAzR|lbLr2Uj^FloE-HF}ht(LtS62wL7#o<t
zt{{`T*>}h6Q|-P*@}?cLm4mi#)c3R5CT!tnCYK;yz~nsb#@(3JOFNg$Q;wf+<soak
z#oR$GBB4R8duh_f2y^v2Z_FP)`+9V{xp?^cMK#LKfi10f?z}OJRCyGUXC&Gc<2rkG
z)n~;MEh5uzD`_{qKNa|X_h}Edy(>>WE0SJXSrA@twBXN`7mN-;qFN_5oxYz}w`0e?
zoj?9M9ZGxX=C>tPYtoV%A;-J<_qWcLx>k3iMM>+^S=&T8^TK%?Gar|qefIaLz5XH9
z!<UX1%vyft&G+4>*LodV@ODDu>Tu6JN5Z^Pv{<8Be!p8TAHS#O-=ANJSKdAiW81pU
z{@)!_-uj*Q+)ugGADLM)e^%r6oqIznFO-+F?Mppz<L3S5Z-o;?old>!X_h}-^&xlG
zF{N&`vfcjwFJAq@b7HyX#Q35O?@uc;zvG?L;8uP2mE1ZW&-`s#;YvPc(UP4idNWcu
zpZ7iZR&u|5x)yhp;||3H@dXTFOB$9;;W@R-Z1KyeCklN`v0>~n4r28U6&GffrMM*9
zC&)1_%=zYXucuvk{X_G}3%t$8>~}N%=SjOi?eWU%Hh)choQn74ehJ*J>?x_CxBY{M
zrI)kdDr3$4?z`d))0KLcTi^V}k(bQsk-1Gw-teU&$BsmcmtI$=9A;QPLBT?SdC&C(
z+r^pR4fu=2f@Q=UOEq2^ozA*azgN;Nn78NR>t#z83s-Ib)x$F(#hdNNpQ70!oO-k7
zO}~Blqj2nmce>1%lLUKqJXDTfAU7}4H}Ttb_pSF;3O{tNe|O~?v(TC6cPD8`9MC^-
z@(t4rSL<2vhc%8dm+K0@DC_C|z-}eRaQYgbj`7}?8S)cE55JGFsPXZ>U&nI0%>8VA
z#<IH`*U6q<8=Pk2k#zoGOo~>)ejRs-8DdwY_e%NoRardXxcZU5yWn(_Ucc14cE=s!
z21kXrameUavfiJ$yzqnD_Ni>!CL1Wfjm@o<D%l_VQ>dTsSWuTme1*Q<{c8uqznfNX
zi<+GOds901#hX^E4tGv%og#Ll_t8<s#THxId+L)4q<r?K?J&*wVw-o$?x2w7&&92U
z%C|n6^w=b=z0|W+g!P1en*np*T)*s_w&8w#uH4fS(ke4%U7d1A<Q)Ig1I;f#FSNNe
z@w&)j5uRrbcEvwKOJ7yL?U*$&Mo-S_wAd8!<7`@Y^H$DUoxDP2uI8g7K}S5rLUvd?
zsTV4WTxma2uX6bTujYSSqxJ7kJQ97e;pWHivi38UtP3uD_S*iqb?VfQlRoR`#f6D#
zyZGw$yeRwgwWMkHCd<tClBdrfk>(0iE#UcLZ=?5f`6HF)9S>BP8@#s#Y||=zv3B3{
zgF#2M%4WG%PjF5wxSCzIbW3tJdyW5wp0*PTJs*DDetmFNnYBdyjkycYsm!yQ5jC0l
zhzrL%MkcwwIolXG&UDE}x29$4DZVkZZz#FqzU=pj&zmxJ^eWFE49d{8%G>JZpxUwN
z!QN}1*X{ct@zkmEvGS*oI?Xk?cgt5xtNL$zq%+rlwY(S4U7MMePnjnxf7zh^n5k&(
zjg9G<JmIOmZ|+Wg;PF~JOt?O1;_8C}kAJ(>x2U{4B|T|zgvw8m$?4PCVy;x__!@7h
z@BAcjX~}1s&e9duy>s*@iha~|=bmr&<I-~RvlTD=s(W}&d9kr?ZLCRqkkN8$t9A5t
zJpq$<CnSzvy2Z7wsXpubEb&*t=XbIk*nRt=%vt%RXD=ts?znWzV3Xj@GtB$8bk+09
z6@Iw6s`#9tmJ&bT)49(C;|+P%Ty7DxJp1NO<{_q~1-kwDvcgwaYA)X~X^pMWThCK1
z)`}P1pM^$uY3TileQGx&c_HhQ#1CAW#c~E4tt(_NMQH`j(|yFURPv$t<}*%CRdVwq
zFP=~JcXRPP^nicIggI(2wQQfvwJbdzSShu;UipqvM)~Ix3g2SNX4W@+-<I|*o4at8
zM$Q%&x$ddWRnDvG`!{VAWa85364<CSuPUBp9xE%$#yh6|5#f#pMBYx6(U#TO=zLT#
zTe$Db;oM{`<3}f-o!7i&{J<xeGj*5n!`(-v{o0ZrERs2~%&F`lNAnEZT@#-z-TFje
z(~0<kTd(Wy`!Bmbt?BnZ##hS9C2Q|~?72BpL{-Y-xsK>bi(^q=ew*EF`59fJ7JYx`
zy&ZS<toJKEp|7y;LJf0B^FbM*=55lIHmo*tUa-f`-I1rYqvAlk&)#TmZQY|2H9uJj
zY_e(B;xc;d7`^NLLNV9(t*Lg`zyG}__G|y1eK%?pmPBYM>eh2j|4^W2a#?h7C}-3m
zf#m*%oip8K0<KOz{`RZi_Zb26EfePGeZI=kU1jz9$r|rt4_R6jv`c2+V>))(MrD$A
z{o~?q_ZP;eF}j7_EpXVK_)A1}PNuH-UALLHJN8FBPh>Ef=HR=kUEptk>GFejGPkI(
z><HMfV7|_zBo_TIGUEA;^_SxIzcAVyv8uH(s<~uo_mm0sGyfiJJzn=9v@5Nsh&k(A
zhG3R)RKe9uxyZ|`bC%r>UaKx1{^{%8t9z=q-MGs$Zx0Xm#d)k#pC_EyJ<&ZyaHsEu
zf(AM7f|?jtLAOQTCvJXiG~!J-en(K#C@k(klFW)d*4!DTOWPNgth`%vd+Pgo=LTWb
zkn21%QZ_#N6q9LVUa`zc&|<;wW;U)BuM%BCGoH**;#<Zf5uR-uvUlgxD#>uoCx;HT
z>^l{}arma-`zuEObPYMxSpq-uKKivNh&$YC=Zr;<Kf1ng-R1iIFOzgom$TITnP+8p
zhq#N_q<M7|s=Tg!a`KHT<65(d$=iEf57f8L3jd+-<6wzE^miYVJE@G{Y9cp&k|<kq
zO|tuZ>x}@mt%aVoOegGf&Y76XB@{ltGRc5<d!W<KT_tfb%UXI47hX(lGnk>@To&!-
zwBg~sH{Vl)GGkco_kT-%?NFGpXWy-DJ9pR{Om*6*-Ich(ZrXZ*h9$PMt&6Y!-?y{w
z`=?(|>yOW`cY0j?``hEQ`uF$O)&A|?pE$c)V}910^gT;`wZw0l_&wtiRIC25eC<)W
zH~Rkrq|e=nv=M6X-5essxsuD@PiX1QRoWBR?G{=ote+foab}TY{&efMkh>SVP77^a
z+j?bN>&&$#vz>VRPEQQnk@_*zZIkih-BnAUtopfRipS)Y^}b(TtmT)z6xqKsZF*$i
zpX}O*Z5hQ+ZeDrz;f-#p)*?@CIi0RsDT_`xy?embk-A~+iA{4h+WnUBX_;~~tughl
z&G%{Za%OiL^e^kWDC841H+dq%fuw}0C!%v1cH4``Y<iZxu1wSVQ^3iVQ)+4d8q25t
zu4LNFzj*(l;4k-8q^ecxtB&mq@orT5e!t?ZV0_#%>n&dXg_E=HT|1sKsX3-={i+zf
zPd@{XEuDNf@V18U-Ay$se`uW#(-c^xxKI1bXJyYxCqkcXc)eSheb(>hg?#IKn0`-~
zu;!|w;K@4+T8lpH?SH;PAmEb4ntxaPBDn*%wdTFQb>qq{@6Sh6y(DIpKV2zVpR4uc
z54+!-U^W%w3i$&8D<5|rwG%mYTQ@Le|K|5S$~;R`cb_=0Le0r@%eF$H<B!&G?iJY`
z^=tOgDXY0>+%8`oqx*g$V@>a?*I(Y4Ub<1i8?|(y$L9a@9p~?j>GD{6U%0XG1m~L$
zsk3&ACn(J?ee+&c=~uU%>F-_a8|+M@=ag&LhsxAE{<^BOBlMH~zLx#R_g5XV3+}#N
z;i;Iu%;~8zTjZTP0-rYVF85dKd2T0l@ldUHy-4?DPa88v#)(ebioe;M%za=ov$*x{
z%DJn)sq0_1Jo4_v%i9*qqEbq~G=2F~S$g5>^ZplQE1s{a-m_3&b0^dO`Abe--nP2>
zklVMI|5Gp5&z$@CX2gjVD|u%YDYxD&QEauUXN|h@ahubUuw2jgr!87S_H7Ti{I2BX
zub&fRzD<`f_{z6&FGHo*_UF%}w{cuJ?Z;c0rMY7d&uz9JegTKww(9S!PmOx@!tt(m
zoG6#W8_mqRJ&jEl`{q=a@+QvQ6?OQSp6^~2hV}BQd;fnH=-gBPLG@z3X7|5}zweH2
z&tD(^Yw<RrqbaFVZx<i<{=;4F^)xSDX{Mlwr;T;z<f&?IIP>U`ir1aV9-FGRdUsh`
zIp6R;(EX=d+w;KY`0MAVMe%;<iq}22%k<>U(-zIob~mlPV_A?`)pLyX)UKJXm)HLa
zfA{^@vq%2o0Y>uBfzas{7JR&n;5+PunT(94FA(6<u8)YHeA|q#{=Wah_UaAkNp32x
zou|&)zVS2PnRY2h?_=3BwUZTFjB;0BoxfJ)eV*0d53C$s({kRb`TkCttiZvf@PS$5
z{_U!L-(S5+s{Hn6=@q%}k#COQiO#c8o!OJ5FJyPwsp|CB?}cJ7e>!m~K7CW8_cNz<
z`jnNC%(^{kvukJ8Z;K37tGt%BY-WAjKD*s9^Zu3{d&qMC@m>cxqoqmuy65cbzU?(#
zv-ew#TJqbw(dQ0vZ%K-IyzkEMf^Ykc>sP4CXP!(v<NU7GN=0<DP@jL%1x}GY-k<g+
zt~m91x>uD=f)NMnyU%-Ddm=TI(j|mHvp#pU*?mIn>REj@pPj}EE~o1wOK+#SeyeUe
z7P;E0)a}~WE{}5|3+9{nXDmB#b8cm_qS2Qr(-Ia`c(uJ}736N(@L8ZcQ1eHvsZ_t~
z>WLXk*p-q34_GH|{b+Xl(!5W#XLfMynUF2^<J|xJ^>tSN6ZdiKu=k!kiOqNFV&lRJ
z<0Ac_In~c=+~l?$xxKR^t+aIV?D{5-NOi6sK1t!1=L&CF_`l`fy|b-thJUUsTida1
z<?2nTpIs$h-hApDr1L?}kZngxgv!zUVvbv`3+6bKE?T`QD|7j@$6J@Jm9<}2x3KUz
z+tZNt|2CU>OkY0xF=^B7Ia{tNNQf;k-LU3kK!?YsYndBZV^78Dv6dO^5lIgbm>l|l
zQ+?N(f7M?vtFruf^V9cI%FECG`#!yGtZxV^4XS5kTK+YM)ok*EkGb3nBNilE9N<cu
z!X-ShXv!CX*Y^c4EbnYJQi}gK^~f)_I{{uB0$vBc@rpm-`&e{FRq)N*hhDpVvQU{|
z<izfsSzfyJ{<~eBh1-|7oeSwY+W2Bl<-~&r<(KV|t3Tp%`rb>=eX6ya%EB)&W?x=n
z>M|{~+;_{F%ug2&itgHY&#Hc3eJR_d7CA@B0K41LtPx*CyBTWQcW$gX!o^qlpVv*}
z!`3c2V<)ati`oo+pE&9unJ)V&x$O~G)pfpI*+t9yx9|uq-NULdSDt-|)5WKK0&zzk
zomhUQ(Mi0Ldj)I#!pGGGF<A#hH)y=c6?}J~;=qCki4}bhC!d$?f8e}y3IE9>dk;qH
zFE2S>@r*t4)ci@J28A3;+dah%6xp>B*Ks!-`frhWQN!3IW`En{tv$PV|2^6H;0ojQ
zv`eB!2RxD%mOO3rU&*dF^^kPI-^tVLl-$aE{<GaV{4Ld~_6Uc=o`v=Q9_7E*-|zkZ
z#TDMi(vRZzFBD%q#op27Oxn`+gJOpFRu(vPu}-NvW~su(U{+$y-qNsYN&jYP&q}7X
z5BpYSn`D2>%$jxVYDmJJ>AbzG&Z?aFA#*Ho`SoN8=DRUxe&5(o%hHjvsc81>LdoMv
zT@{S~kJ@cN@HS-eq4m}m*v@cRT&^!Tw_*w31CA)J6_%TeEqspzoXL;9-z38y`LK&g
zZ(+ut?H#Sn<tHpNf+wWio|10CmLB2hKKs*}%;TRn_%%L?ylEzz|0v?uK1TJ|Tn74@
zcP}kFRlNF%?T_?D;zc{SZl6()XS)$}`;}TP``&-?Yjn?ZEZf{>w*0}TZTFV1T^r%B
zqrN?3VPO51gU|NvmQ|UsGGx-ncf0n!uI&vg***JY5Uak(vaLU|L>M1*$rTuy#D*SO
zz`x)(!*|E21%~$R*ALoiHRmqtS{r%u)|FbH)(dCeemqt1B+JD2)|2or``<owdh;}A
zHP>Pl-_^A*x7~Ta;%0Yxba2$p42^X%?fjQ=ewgSls6X4A{7E^e{`TYUo~X+QeakQU
z+}*tF##Qx=-QKd?olh<*%$Q)q<*0q?+m^$;TX!za$l2_dV<K|f!tT|sH5wke4vFpB
z8?MY0yva9voBs@B17)chilXyHJ8$<+{%5pAX!9YJv-`GvWbxJ$ySkxLdg~1vwvdKR
zZx^v_%TtqnHo^05eX^xV=Gv8WjSel<lxvr*Ew(s+DThVy>@(>JQ90+!fBaJ1wflEV
z+Havl=Mu$43IvZNZx?8CFv)rSq|Du!TXA81#O9CAhi@qu+?)BQ`|-*b_6zq*?<#to
zyl95e+11C|mOnjREY<UolOrO0)}r|B`X$?^Ont568)a;j6}@xwo5>mV3pB#iuC*R8
z&^{?+%2ng7&>Wgx!11$+-E*ty<kPR7sCGtI$!l__{iyGdn{$_k@6F@%n5nL7W_)6w
zI;}nU<Kl(6Q`H}S?upv|J9gT;7gMHu*kIOMT(&cBS6JL8gD36_17yFRvt0V@nnHkL
zB5x?0{hJ+ibBvB!U22+ZxODP`$#d#YBxWA3e171B<%C&39lQMR$R%aDs$LM4ciy~i
zgR7ZQlI@zqE;m$rlV!EqtbhHwpP=~Zs%HD=gZm8DO>$dz<kh-ghZ;q=Jrkq6wk0P_
z_z=at=wD$$;l^FN;`Z&1TQ_aSp8xgbmZfLA^R91T2)?>O|D4>4gi8|MQ!6@!pSREQ
zyjb6U=IYVcD?e9o^a|PAJYJjNG3(MUH+i{(0k@5Of@A!@<+eu5a(Yy!C?w*({PdT{
z6OLc7JND`JydCZ9>aN%))w7=8TfAq^SF6S6yY;p$ZP<QU@Jw&siM^t+O!DUYl`M+7
zSX|hvXY^FepMLS;vc*;j?X}*8f75<Ge)aU#qgTIl<Lb>NxC5E}gZCYJ{>;ho?4iO>
z4~``{h)=T%bxC32KU#2OD)WoyDzgp<H-2C>TeL`fsgl^{gcD9G&pBsJQH$Nt^srCj
zn0!j%|CwGdCVYrjP7>Q*-F?BMW{Hi{VL6vqtDg$qJK5e|(x1O=DPOvM-iw}1S(yx#
znH(vJPJ&L4-^>uM_c<pczbo4~#f;yxaQ5uF=PkdK4(L12jeGY^?Xy^vmq$w>OWHea
zHp?~4$7bhrZ~wB!{oYCc@<5K<)_-l=n%ZllN}or*E_{%eaduwMcUJbL$s83E+T_3P
zvwv_uZjDadhnwwJf4|;7S@K-%(Hh-$N1h+~+m^jcG8bsC3VGKpeZBrw|Nd`tY@RI(
zaCbjrZ}D-ZUHqxZcK-|OJu5g@Mf_vt+x_e3r@ud?OK!{-4e2;NKhfx^vEqZNy7N9n
zYRo-<pt3<Oa-)96BbgN^8ykxi{@j1!`RnzLa_3J!mbU&Wk2SuTX?TR~&D~`-{EVts
z?w9^~p!{imMbLa+Xp1N{ae9>nANTYl&3qz^#?!v?YfrB~!zWnp_~oqUn<HzbmT$bY
zdADyrziyzJxzNgvDUY9Af6v3VM{3jL%kTC@>=2YV^L2LP%_nJx)YkXMo#~%9|76Oc
z$cz~eC;!Y^l)6G>e#XH=E+<abSpHPLu#l&Jx!ddqN3CLOcG=DIlACh;!*jV=8~HZv
zF4^n<dXLVA`3Ge9!>;&b9{swjzJ-ljZ2p}t(cbI3ZDNCqy>CBrjg|G^X(-6Q#qwYA
zzt0z6{(13PkiF|>%XXGe7ClPFkvV<;eoXeAX7K%UOY0?-$@*na(-uwAc*0q?eO`>*
z-?AgWwm;h!ecaQ>yl(2+OMiE{O$u$8ep)MQ`Ee!AGRac0)WD~wbEfOAoWK6X_I+pT
zwYH~t%P*O|=3Lo6+pbG<CyAQAW9bPCVo`r>$~%3-O}?EU{^)f5Qt@UL3gXI3(fs%I
z$yHTd>3cqE3nv6_&T`>fGv8;and0R%qo+naQx>+$_Bxz-Fi&CemJF%eZ+~f<zMfRK
zde4r?bi1ZXk@k&Z_Z<sVZfC#!=K8g#?BAs8+uzmq6g}4Pp8j&%wyyBMDWOXze*A2_
z@Yim?oqi3mMMk2AcdluEb3gX=#b!mrD>)rA@0*EBztOG8s4DvL{A#y&`11Yp&(v)1
zemvoLT;_pRA-*-+oOiEbDsBji)CtTMa^q<eUBGX$!Sns+vvtmkkJd4#X&w-{>vrux
z!qu&tBkpi--&empbJGpYOovG=bB@RhCQe&;<h5wc(q`GxQ-`!~O1#kvwAZ=ufwR+)
zS<j>Sh{}wOKW3{Qi}E_R?wR`g`1$8*O;)Q+@sgh~-N17~_?K)^!MDuT8d`t$o?HI(
zYyBqIx%X4;8)LgQPGrxz^+x-;(#@0`7Z38T(aD%|<!)a2?44{~kLpiv6kRG?Fz=+0
z-j9arjf^v2EDWqK4mS~&l{)+85XTzFgPRPdo%>!Wubg1cYxF*BA^(Rt+=+)@EJ?hv
zkooBYhlfvVRxEuZ&(Rmi%zQrl#0iPVT%RsSa<cHsn@;3>Jj49To!{pg(=G}2JUVhW
zf0NSfrC|#yytc;Qx#UtiyUPEOPklS*<g<3#?~g8h6zAvuxV!t`QTt6DKl?%!1|-#N
zUl{u>);{O)Iq6%H7WKz=yE;{_SAS^mH95(4h5N_vuO|L8EbH2T#_#9<l;wZoBRG$E
zE#=wOvncS!nbw~kj8;;WEhV+ijO=sHve{2%+_B9!uHjvHMxm6>x&q<t*Q`VyG;TRn
z|3TsG3G;_<n6{lL6JvZdDfQb#&(IXnv&&3&tv{VRZ<p%amuBp1GYo%uSRI@DMrrn5
zcInuJ!rAHNyatS~b!JU-<~Wz0&TAL>_SB+fX>pbUh7Nk$?k<1ZsgQd3?0w<IY`4@{
zET&vzN_$zzlwqmAEPr2~;tvjCop0A2a*u2YeR;Efwx6>5a?Xy$yF%}1DfdP6i*24~
z%agq1isJRPC(qxDiJdoZPyNp}yIXOF7PFW$_J5jPDZ-`qdmGb7eKWNa+_xHL+--H2
z(%sHCk)z?Aj$Gm;tNTyx>)fb*rfe}u(L1WWL!^qM`NaCl?D=ayS2FPLm~z+e&&#<s
zJ9tZ{C(Qn<>Rg|ApmEPOOa3yp4ZQ59ME~+FVfpK)s4eAD%N}vBaNR-q7mN#vpR2I&
zZ*6Xmx?nl$+`*3rEq5ra%~bNv?Buv`ZmtM}SJ#5Q#-2h#O)g1W`jRqh+3TF2aoql*
zDCp~06qx>fYxt4|Eyw;V!bWq=PP5%gS{to?_TtGI?0W32_rsLxZ@e^?`>oujQk&r*
z-{0rBfBWjJ^`6eNG#9_{T)<=K^0m>(=+*}3TdQ1dyseCgoZ0hRWBJ0HOB(_+CS{yB
zz_?!|e97z&)>m95A|`$cZWo!$oN-Dl)%&A{FiT}=;3q*ljhQ?`Y#$VR9<j&-Oxbr<
zxub2a^o+e9H#Il5{;*YgGrN9wwy9x`=iTg>FQp|XYp1@QXE|S#S$J`U$o!mDJO|HQ
zV-r~xkf31qUe!sg)bdLE%|Cx$J^Ft6yZZ59xie|~Pp8N@vA%!QIW<q8ML)21O3@64
z^dP0wmt8V;oQb7NiyQ0oiZ1Ir@bIwfzd3Qk>i;vLlf2U`JYFWO&Pds^f09~i{ZrXZ
zSKZQ^WF@A^FP`3cq2q;T)z&YQv}Jb|cm#@FF7kE}KKgaviPcu|7yc|PIO!^MEY@a6
z#rJoQ{{A_9`}1i_t`C2nPMxo&taxg6--=ypm;HDoB;hi>*X))3E){-P@ok2m>>3l6
zbUL41w4W!D!#vQWP;%3Au34>fqhjOE*qu3FuYWIY?%eYeyqE9eere&;Bd1~h$|-K?
z_19t38CJHOVu)i%*9g6`yzBVE+uQ|)H?BB_uKT{uk5hPePWH>Qt9t%e_e8RAY6k}}
zg$S%>`TkSwt=;BE=4n^XGQKZRjh)+|)??}*ynT}&!!ez&78@c`LZ`;Bzx%zs^48lI
z4{vdN*=JS1zsB79=k=>k{~XDhe!V)&fpKojoc3>;dQX%*)rD?+5_<Y@sw+?3WtD$P
zN>=GJ7ZiW%wtZ)^ec}JBFSAwt|6Tcg1Iy$k3m@>NJln0aG;8KX-h1t0$7@=;kDZjf
z%blmg6>3yuVmj&H(;HGdLs$4t3;P`#>?0W@@BHk_!pMkipV;a}b>4QeUnrXLbLNGT
z=}gAmd&A!|e{<9n`%<^tPg5u{BafHCOl-zo#T(^rHEvUtwC-~@T-W^fVcQ9ov#<Yt
zVyoplw<zrP#&%I>nRi)#MAzEC;5@kS%Yl0RDUr(cHd8*TOo{#C_Wf&5-}&$oEz!dX
z4?f$)KHu7X(&EB}`^GT}b@jJcq($A*S_+~Ti)~!}<fzmlpQ*RK%=sS4uJ-LZS}|wy
zSF>4}uNK*{HJtZdq<+;k!pY6tcSdlc&Eo=HTQ-~PQ{DNPG-S(CZx-Et>M#2Ceb<B^
zJeO7enoL|b=Qmre)0tE5E7F3uS#{cp3VoRSIb|KsgFBL&*0Z)-%)PsO_S;*v_0uoi
zm?iVP_jV%3<?4Ieu6m2lcz<`=+&HDA2gj;{<Bb+7)O7twTzD^Q>GiveYL5>GWc91a
zvmaz@T07~Z!eu9E<5ilGSJnlrF}N~8@%qlomd+hf5;sFC+%HI_uh_SyDvGnYcCE>(
zt6rBC3*%jR_sr;=_sM3$_Tx26rcC<irrDcSpE1?hap&!dg_19_KFRho$DH`Lx<A>F
zd0}tx?pNFHtdBjpTz7tQyN&XSAZEGU=8H{PV#1$iUJ<=*nqa%Z=+)OL*X_zK$nkrN
zmTk-TTey42oQByGxfU_7=AKAMT6o(%B*0`{RsRYm`9N0NlP4Z3Ykhgidi>hC5AAUQ
zta}$Y-MU-vW3IpA!ktU=!m4d-*qT_bF~qL?z*5=D;i@pFDaMg0S|>%Y<5p$C?67Y)
zgLfQedH-;7#+z-Ce{7w?=1y?m>VBt=*J1Y}wYeI%UUR-P>QoaIf7|`Q`Par7-*t;u
z%jhjWcj!>NS(cmOfnyJEUsuTTQj?mW%InA+{LUj@Ld^f#f_kAZziwZ#kPzDJ?7Ok(
zNTKxNZENQp3V78j>6GE{VC~_yKM&8chTc39o&V9CE3*CAyxtWr=CMx<N?_lr6EFF+
zp~u3H`Sf2t{bzIbF$8G1O?cVxW^zFHw61d13f1{9B3Fd&UbTv`qB-}tg436z8?Qtw
z<)0k0db3Y7|G(nAzU3Wm^^ZA9?!5Eeeq`F&w-3u7^yIenPj1y+rf8Uv<8bcL<mmit
z`46wJ1a8a-VLQ09s6zPm%5T?a?{QOA>}9SI+bGDla?|<h3o$n&<1aIQDH9ca^F@~V
z+iWM6Z6~F*^Gigy-erpJ+`~Af?|<Y0)l}CXuB#PpD6$^Z&+!Q|v%0)*>0b5vU334H
z$n#ab`Xsi_IBj*c^#x8Np=+1=-ZG!`oAl+sFN4#T-Yc8Cr|(Z#uy2>m|L-pwCly~>
zI!#gb<009nUhLQ0k}lO=6E1Sko+aK_w0%XTsKBu;`#Ls0eB9bpVQ}1twbLSy-*wM|
zEtASmHO^&yqHjLUwCvc%HuLl17Y_WIH2Yrc^=8Zem+jomGcW3Q&0*tsmbm&>{`R}S
zVr{K*1R5=hPjm|hJZ><46CN*Zeo$_u_$`5*MMrs#Z#%f#>vO#9@3+aK{CZ3OPM_C)
zs$tiM)8*RE`=?y|Gw)pgKkl>(Hfqx+_VQ`MPD7q5nO%I_?9=YLR=Z2ahTaS{FAtX<
z^PC%3^j7uys>{2*ttGvha_4AzscPE)dYvE7;Mrbw+doF9;b_u*Zne{|Q#bu7`&hO2
z$E&rP)3rLoPkQNI4?lh8$g&7s?zu;nnw|cd_fu1A^5){jTMaKBof&xX-MXx8W$Zil
zbgc6`yRE!^S^cWm_c`U?UjO?0sA%tx+=UNXQdTlKPCXvEEh_JOxBq^%)3Rsw#;a|N
zoO-%CYG?eiRI$}U->;sQ7ylonlB{>N#hZ1*sjEi%#c3aBPj;=_w8H+xcQ=99`(b<c
z);+oSuxtNp<5-ve=d+DPuWoRje(~G1^f$4g^R@O|(smGe>5v(3TfgIP=K1DlTkap&
zr?lzqlusM>C%a_VTi;xl-YD3tpuFS8PNTwU>t_6~ulw=uk#xia4U1<yH!7br&N;~Z
zd&AZ;_m)X2Md2PVR&S5An%Hwu;l0oc;k(z@+t=5Be1CrZ{@)*-y@_%C|Krc&-T&i0
z?OW**zB)ql?e^NU?5lpfv0?39?^(}Mke0pr-GvWNt}_12sl0H1N8X{2zNOFk)Mq~3
z$r2W7o2(^tXs4MLo1l-&MoDcKNim(8<xQ+CfuWfpjUR3Q`6V5E>ihRZK<U-VMGSZ3
zz8$~yC~m)N*ybWei7DL7fq9ZY{}$Vv$tVn%dr|r7%+6N{ul^k~>$!jL#@n^o>nc@(
z>RnE3tG*s`$WSjw_CbQg@8+*uHdD^0{ynhj@JElD%~`*KAMd)CTj?jmICsj7AF3yX
zZimdCwbSWr<+Fpw--ed1s*YG(@%2U4g1wJ7ep|pHIqgPPwel2?R@T)5X&yBdtFMKc
zHXmA^{fn=r;9byk$7>sub!U3)nsv+l!1P879m`8E>wV@3-1h3|h^j0Qk?mG}?<uh1
z*2zc7t$~ZyzPfd-&bp1)^1a)MoL5=ZyCt9edoa^sQTyv{w-!sU4GNe%dxq~ZaapA)
zdcwQ->iSg*?C$*4D>~5mcjaqIF0r=ebKjOPKE8RCfSR75Md=FlmUpr@B8}(ig~i7)
zRbGoM`5CbAb;+LkIh8_PMF*|h%WNO>`uTjHxA$Jci4~5O2R_$|7Yi6^cRc;5b=rhY
zQ6b?|#L_+cJA8Sru_tPF$A#NUhBGEgDBDE6h>>s>_EKE!5mlkClapfIP`z#5+}fkb
z@|7o#>u5OLIc$1-@`k_ONtbSw{WCi^Icc@ig9~3o<HOzmZTijpqCQj2$$#qq=gcLN
z%V&OMjOvM9e)7m<j*F4`)>BGKtah0Bh4-wAO*UV1?v>cowIL;*ay^@y**~gXH~e?&
zZsH3itGgX?OW4A6_)l~^?AFVPynecP=fNXx8bwQ2ihcG8R{qwzV`AgSkfT2mR=c{i
z+qFDxwUAM^xU1kY%ZWj6cXCwyUi(OqUIlF_9%Wr2`PaD-dLf48XCi(-yt4V=lUvhy
z1b&$P-y9%!_hNwOEk+v&o~pep8V)~<yxJsYpPa{*)b;+>yB!ZM1b<id;drnq``8Z!
zgQJ;&J*S%a?bq7>+wyOZ+w0%wk4Ij%{=QpH{F~dh?GqT=TnwkM&iLl!#j!BnKc}91
z`JTsL?7B-Gf<H-Ky!DeOxYVxFXPuq<WA5)?3#OHXvE|=2o%yUu`|7tSuWR!AVs-2V
zcQP>v=syS&S=Vbm*E?LiKzr@8oZ#0fS+jTOJqebH30;@QaXLK4UP3-;_u)8&BAu9W
zWe$0cFDe2H?A0T`7+;et4qISw>RJ6>k28<zFSST~G5^{nYkgE8&PMaGhS@5cO}~@h
zZ&u?md}Ht=rEyBa&j*gHBud&U@&g#cZEOQ3P7+f1@bQ_#hY8PKDi{QqNuEx%2;kVq
z#9hPXp!6nX?b{<>vty4-FDu>clHXJ7>iBDMK=hNvLKBTLr2fwRvEO~yw{zRpPuS|@
z<#0#G<XF9_aG&Sp4_~?13WBaF96Gt(I``YU_qN=Vu5h37p62vphQfKa%JWBz^lRs?
zui42sq2oy2-K)yUD&k5OXPp`(yjUez7#U@X1P?6l%Zg{2smqX8c+YOqfg}H)=R}B0
z_2@}FzTI7Z|Ln{)=N?U|^12rO|H%g3`3k@E0`E5}3zk1$QUC2xU29Q<Rq*o^yKgC3
z22ai`7cpqnF$`LMxGQ=S+n(f~mt;euj$Bas`%w1tjVUYRuilmM``YI(UnL;H;eTqo
zM}w7vvi@Xe<L>Z@8FPENOXn4xJ$EXpVV2#5T}gr~4;|TgYMD|}W%}yO^j3~dUVkQ?
zv6B0trObWJNL!}E>eiq7ts!AkHmGmeX*mDmxz86kriW}Z&}ftn;@zStrun|&5NGql
zthm=4?Cht)?DRJNeX!Z<my3n-hEu&F8k5diW-(oJUonSkqMF0LSwECA3cWkKT_!X5
znauS5&vSp(J3gMoNT%y8TW%HkCR#i_G~HI>?G2Hn<BZnA67yev+0j(C)u+C2k6D%q
zla7?ich9W#>lXS|sXdm;;7v2qTjc&$TzN;-^&d(l7Jb)m)Lxw*<=wXC@9Bwh`=5N6
zA?5ociLYsg-AiZp%l}@v*t6ukF)Q)A8t8bEhyTI7EIp>v+>TDB>pizj54di8&GhyM
zhN~Rs<mb%D>|}i`9i+^#>8Nn|i-UY?>!-#~^~vD-=rfJw-K=cBg*Ly8w$5DgMBO5(
zX-RcE&$*b1#@oLw-QgD;)S7L<uskiJ=*(rc;~wpXx2#Xjx8OT#$a7)C-q6SEyjHaA
zVac9T@HmC<{@a+>=_?JG*VI~E%X_Wy=A+h{56|Db%Qky8t1I&;E?Un0sG(Yb;a`rO
zL269>j1N1$AAb7#wE63u2JEkWq&~GZr#1hUv*2P?Pq%)vBjj6-(2}Rl?2~`B8?&_W
z9c%xq<TvkH!@|{_J4>sWzj~Z*ZM2b}xK=_`#L@JRNm-9fM$CiF4{9egT)6u)ZqDZW
zmsc=tmtLjfawW84=dAkB-5EF1_s;IyV>7?@3*(o`D<;>wf7g}MoN_0}bY0km*rzkE
zUvs~G?R-k*)Rrq(bEC^syq!*!UX7W*Dm!tK((ePk?<a2&xqD0e?&8y)Ri_^5=&Mbv
zVYl1xmOn1DYH7O~7rVZB;EqQ()woVQo+N)XLpHwiVQ%R4mN3D+S&Usa0{b-UFRb`z
z-?C;=#Rj3@4hQURysck({Q23Rb`g$Bd~%y^9@$WLZSsLNlP_pi$~jfLB^d{VPI)=`
zn?>!%lf_rItU77^c=P$)H{SS0<+-(bHP3SDT5-dmEog31_4DVk-<_tfT6V3Q;|yC}
zJOBE-TZDb%UpZIy`TIIWF8}%J$6w~xjiLdJ_FLywG<~>#`s<_r%L6&sxTY5u2?#M6
zSWXv+U=m>lonrIQj7PIR(!2P!h0wm&;U6}zuTpFJsB*&ACv=jp+RQHVo1M$cRvE1n
zalL4EU1X)|$|L{2-|l783|urP<C-}0k;NC|7yo|UcBXlD1N;6naWQB0;#OM-%u%%w
zJb1M<LG*GIOIVSZw`k1TCjW)0v(Acl`W~v^x4-6J|4%1ZvpY+Qj~-UjJzc+N$;9=Q
zm&Hm=<4?Fq%N{Eh?E3k9b$t5zb!q?Sa#~DePqJ`uIWt4$#I?=-^D8$r?TlwW7b3)d
z|IVq>1<8k9dVZgJ@c2!<@w=_>ZY$3W6f%^y)e1WHZnwClkl;&&O|y<h*{L<L2W^Nr
z;x5D^UhjKEah-eNBhHCQg=_ZJJ6)Oop#I&>TMB8OEKCn(C7)f>=Xi6*#~FD)pZ`4M
zA)Kb2_5azsU)(W|W`Cc)UhmWIlD(Rrza`Dw=E_#T`^~pSx~paz{SVSlyjs66C+Iz|
zd-=WD&vK6TFOWVdv~oU6Rm#i>NiDUp=9XXIMV8;6%T}~a%H3fLL+hEz42FWj6IB$N
zu1vq8QJ-aEW@WPc<D9i;1?5yFo?o2&;9{HSyOr(2O`UGe#X{$A-jaF9`0w#8J5IT!
zGq240aN^?MH|A2aCRd!h_KbtyU*W=I^@GZylQ$~bq@6#^R{y!;NTyACc5%mX6+>Zv
z=SC+Z)y0DRIiHq&v3+8aV7_3hzJA=F-Ja$K$IYJhZ#Z(Z-b${qr*YAm3ZW?rCUrf!
zxb$b5;9Rw~&!!fK5|q_i|NJ*l@sVc!_QdCNiVF|-OY2W2(sR}y671m6IJrWdF>#~p
z#DfiqA0;|AhgvWtHna=<RZ&<p<E2Ya(7FDK%QvNDrdDV)sXv<|b$+2hu<N=;6Gfr<
znQ`Lg(Wm|iitKsx{&T(Snv@@1r{tv8t>3sc(QE!`qqFa(1-v_!Xxnc8-DJ<q!;_Zn
z%e-XD`y~Ey(d@DS?Th7JLDN!st8-`E?OmGv>&+}B-RjPFJ&RsNNoi<p`FJ#Y@%O;Y
zyak_p7<MqTu-;*s&e~m<q$py1i(Nphyf)Q5zN28*uEUby4|`AVc5e3KsW;T<_;c~h
zPKWsYhlG_mSwbX^dBp5_5w5=_Wtsj#o#rh}$2kiYl^-qQJC^^TQ}NI<#(Cmm-NqTN
zJ5DVZd7uz_cx$xKw}odei{<%BPnZ<{oVRp$)u}wOE=vuuvNUO*<`?{2_cukDWi|`*
z@BZ|?@Ug~;GB5sPJIl^JG6_nInwVDqbMJm_QSXk=A44m}LmK4fhu^q&?M3SS7mHV~
zj9ngD^;mq_jS~|m@BDk+<lgU;*sUgk6$d}8aen(NT~_C=m3_euhlPK={T1e{eNmXZ
zE^oF??ABnl3xb!6KAhPS<$F??)4Sx3{;wJ9FQ3)Dnf2+EX~b1E<>}3{LmL_FF9=r7
zYWrFr6J?NnNGY@Zxz4Yd_iWRXpU&G{)GqDz>-ihyd(T$4J%6#_<HDB-DHVc`+l_6v
z{9SnAY>>UX&ZOV1r}cDK)wssLD+;vI&D`^QP3D%f4|}f2n+r_hom+k9@`oSm3WGP^
zoAxBX=1pd7)YGrqbmgBVFjRbgeWNXW`-<s(d>;><;G18+?O~UVZhq#vRo1Vz+&-J;
zKFQa8_41Od7aP|Z7`SlfzS?{9yw&VijXH&A+fuAH-En>q{BHi84`$yDoqXoj>oOSi
zZmDcbKdkjoHp?eg!RKJM_xn0=!FikFuD$jRv^raVAbF1O(rJ5*J$xsovwwbc;vKta
zMC6t$OuP%TAJo`i{aSzNTIFpkHib%E!yUI{OCMNeJ`-Ogxy&iRk>{AT-2Oiw$|k)P
zRS5jM$ba4&LvM3)yV(EVPV;d4+Iq1Ve46RQ-KcqZ`&EvL@RZw=V&2Sr?!>F<c;h0g
z(zVQY4+8(#?&Vz~eN$g+Lg@9%tCi)mCuAjyOVv5Qb>3j580UPQuky*w`Xvr&3+H{(
zzGu6C&Xph|+12m6ZnFRWbT;K)W764IwU=TuQvD+ZwuoPB_`2!DtX*r@Ti^Qp?6CK%
z9EGgq=Y-}Q4*j}2|MGgvwaYoqf6khI_d}wc+T1;FKZ#ng+DNT`wvi`xiuyc`i!bi{
zw&0O#;q1}r?mEWxL{7%>`?>d@b8av7u0JzJ<G{n?e%0Q7(|+fB+!y$|MR1d~XSufA
zg~<62-_NY!2)VK0-nPS^UgdSU?H9fKHsx4IkM>tteb(@4owg^kAIoQMEMT$}P&nf<
zuO}{fZOHEXDVf|m9{symW540P=+$p^UYlAjg&$!*XFjcEzXYG-m+DZT(~VLwyhT~z
z$9*~L52xgo)l5!%!KzgAUocwopP}mQ3-2|PW%+YDyxF9!?gthWvrF>09oyHeJY{lW
zSIl&~Z$+DCH_c>!Rj%<V(fEqT<6A*p9QU*jPhEf6y2hJ>`)QfsQj0J-pWeNk&Ibzi
zao_nU$YrKcy{aa6cFrrA3a?_rBd=FwD6nW;wo71Ws=qAlA^fuRxz}?Q#%tNzd2JKt
zXk~5>K2^G@YOfsEZf4~K#yy)4E;~{8>m^I#Nm<*v*}-QSrWap-^k3fOs*;P!HPxpZ
z7jD`svnN2U$wKGjJl-(Yj<sbh`)(yk9jPqhnQ>3KoAWR0oldi6^YE`$v4$OS(-ybB
zS6?06Z9nIP;LpB#zdPxQf8IrMh+B$v$#O^TnV>oK!8PIBs-GJculg;{GUe$pxf#o@
z?^wHhimBj~OGWOM6Xq@cpgU>K#gGbz+0%4you9GqNYkgL8=`8~_MsuU(-&RLY=8gd
z3FlqrO>KfIuM<^c6xV%VRq#3@#Gigk=j+vjM>SY2&d443arH@#-sHWpr*rkA&U};X
z?LW)&OX2S2DYGjU{Cmu(Cv-4p)8@Oa+ZnPin&+v<IvcEPvpQ(I=fjMbFQ$Dcc=*w!
zWbu!G8$7vM>ZZ6X7Lc#wcQ`fS@vbcWU&qgX-&b2|`dfaJ-r5DA%`w8$mo4KHWic|f
zfL#|G32JfFeP17NHqiC0i$USU2UpI8-RzuX@j5#>b<$0hrHfo|J!?@CowR9g{r<Za
z8YdS$3VkBZ$a27Keth}nC*Rjq*S)`b?_oy%f7Ni?SCdclXXKY$ojm7*!K>CY>Rli2
zX}qlcBJ!HwB6&_Vd#&HzCuVwTnM~P^FJjMjdrqEO?>Z;lciOeT=NFq-AHI0+x-FOa
z58GQpOBg2_z4BdFEpPvOFUz-kUuq61U)_CKeYx#Im4#gQPgjdq|G)WJcY0pTg(U|J
zcr)}nn1tBwFFiS>uFNDn^TPu1mL`pZ``iz|H}nz-%~nwfw|9HAFy;Pqk@XxFfnD}>
zt`F8-SjKyJo>E}F0LK=c)>=WA1M8Ib8BMD#EHSd#Yhh*0nj9opxyhbmXTZJle;ZRS
zX+OJsdW+HLPh9Q~?;Z;ki+^@^S(yE?H@o&sn%L1Puk>)ojmDP8P5~F@)kv*9%@8w9
za;v;tU%PzU-$o9{h4z1qm}P_Y&8y}e4W08m)6UMOCjO}L4du;$me-#>b#K=3QbSAC
zeeyQFGn|B;eGWS_xtag*;m4bw|CfuG`CFc0<B=nlmhE?~mGQwR*Bz6ezi~KJ_|RP-
z`Bi4fDT_p}ZCbX~=2rFQQvLs|w*RuRu1Su0{^vr^;lpR8?#<e0dNXAS$J5;!73^Gn
z?4m+amzG~#@87tD^$34my@11``p<ShFPY!EW5e;Cr9HFW;h|{zoKoR%->{h3$(xO|
zXZ4!hjGIwf+rpSQ<!#CoSq}?6CXTwFCXrrkf`Zpx_MgAUf4`6a{JpvRUhvP5cfDud
zGmV|mk-J5)yo&vW$z<1AMz2G&d_JzXzq5Mw+l^Z#UeB7)w86usSB=S)MJ#<qS9$&O
z=lmfX3qms64)83Tdbz{)#*-D_le5(R|2aHo%K1BN(f1g3y=603zw5Rma&q+Q#MsG9
zuiW=V^QAE=H%>X==b^IQa>vy82!2f=<!gU$Xnj)K=bI}VGV9}}IpQau9ZIi`yMFX3
z&#9*g%N_1DwmfEv?Qipcyf0=_1J~k`SU!i3pX;9=+*lg_O8Jq|jK4Wo?%!FWH)Z{4
zt?ayI&o+9l&I~)^%e8b8@2lOjx7^6-S(_RW&dlSqYWYW7wJ$r~R7aJ)4X?Ce+_;ZN
z?{xL%N%xNZv^jQcRb0`r-c5ODU(8yg#I&b((ejB?i<s8l>{>Hj^M=>?Wra+e^2E}r
z{jRkJc6m6Kch)b8^{~)$YLGrUPo+zNae_h4?rq(lA2;tmrr);y9$&8D3A5M5*=E<I
zbC(?4@BcV)`P$Tl+V{nxvL=YNY?6GNT4sCviO<L1P98VjGw}Gd-1}fR?_AOL#=Fbs
zoq1%(y;p1AGTyRfRc|MsZ?)CjW8J`W<>)_e&1w4S7nZtfG5ot$RWDp|+4yf~-FwE%
z0fw6cc7ETqXtD*XsCW6Z>6bS%&U?k%qTeYLn9m@nn7BpZN7A2PZ&G&5zxViT)S0UP
zM(Z|n{xO?8`>#}9<J{LaveT#6_s4qQI4XB|6Ys5<YSW8(5B4eB{Mlh#u$=wEGR`!|
zpQ?3NG=Jauu2sye(jR)Wq1gL>eQlVE>b(7{&)&Ss&GO<#{?`v{g69VaITWY%XKWFV
z*;aP7=+#tjhu?O=ajo;GemSM0_eShT$EP>5pQZ|@v)1(+MQ`|gcAoz7%{tdZE$rsa
zYkXEHrDMt2vF(Tqd$sNl`;%&+k<-I_4b{RYoK)JDb;f>kl^pYNo1Q(-_y27ZUYcER
z^ei}jdbF%nfS}9eLn+KFS&le{ng=9(Ji-3YQT*v0f!XI?AG>g#D?|I!9i8K`e}dnL
zy1ss*{@i`8opMK%i&NV_bKh>a<<iBI^|Y*CF!Q)5Ml1dQQ+l11!KQ1wU2vAR)S-;`
zdV7<(#c~&azyADu<06g&g=+D;Dg-V_vm`z2sxPqkv@R;{!PzScJW`xF3J2KOSA17F
zd4~OL9&2#y#dU?NG#42=<X!&9&@X=0=H#h!3Ja$E*rIBDIc948^2y80)=QoDU)z!P
z+syk*czA?k%>yUBD?7Q|r?j#t+@ARVYoU!)orQ&^y`0jkm_NTdixU6*vKDH%#Pa-I
zm&)pf%EhtuJ$4TYA3Co-!^tXeWnaXU0R9QQeOjs$17C|pEG$pfkCnOf<yd8zr(eK~
zyj_ZQftg$1%P>^P-Ca_ewM^U0uuels$mz~HjrCr|&Hi?uPo2A?us~+|T3tUqhie}%
zzWmJlDd^XVJ$8{?j=t}HyqK_AugQ_Ya;K<?Zr<iqItJHx57%!OOUPZ^<9*gQ$DCJT
z`Lo2Jr2$py&lG2dvxR)EtX9%q(;ujMAj{2r+r6tBo<4BZn0vPHivHs#e#=E4JY8qT
z?HOhsT4otvxm;WBp^@HG<py`fR`-WO50nm0+`Y$7`cFvk`j26^nfVV38(413WRqX@
z<+aUfnT<uWq-+i3S0((cXV|uEsb8#To9XEzqCaGWvdU8377Nc<6TvN>*XufGYr)Bf
zk?m<S<R@L=m-lDgW4oC__MF0mH(SGg%{;j?^xs*X=4&0gj1S_xlsGrNl4AblFMlBY
z0P~|?b`8ph6y!9o{Aa&#{p&-fySJ~#`uucY`B5Z$<i#?t(slhM{uxsi+`n3%{rOhf
zj}umlKa`p-6uZi@=FYOvwY8k*XP%Qw-!{qPt=pt~%XSKzHZD<YI-tGa2FprcjZ;&%
zux^xP)17vfjbW+y+>;zkvt9XLEeefN46Ku0dH!@!+Tl+3AoJkUAGf@e;(IC{?N!;t
z=B=@*NH*kk(^k_1KaY0z?r{!QZ(7O}99&;pKly3qa<2ogm44P|s3<vZSg|VG`Pve}
z62qD-ZDC#;6PBJvk;U6fbkkK$!j5z9Iwl*nZ;K*_RkC6{??It+;RW&~tGWA+x6k~x
z=9APc?%lbu-K<xdjXrU|Q`X+GRNKS$^7Y3@u1&XCyO3+gMux2T1}8Ze<6;m0WA<M=
z^PjQRpPBwu<=j~%HPs3HTxFkAvwCmKOjK!^C9$>n(y!G?uY?>g`KmH~@08y<@Aj0`
zdy-uer%m3R`_%RF*45==UJo~2)shRpwc{|miE-cR#I$Q>Q=jmB+O2=}v4vV_^^3)C
zn>MtrU6-r>``cBy9M6rH6c3(CFaE#BW5dEDnK^BlG0y$<JL8`>h^=FB2$*_s)iT)|
zDmTAQu?XJKq49g^$G^R8;wx^JikW7x`v184yqi&B?WO9NKAC$=C$d|bn<JCmzuU~!
zy|-#s#PVXDb>5r*FI{h#o92J}^m55x6YbKAYBGci)b&^HeXV!;v)=cptb-1ECKXA~
zepyLOk7c~Wl5lCa#@qUd$NIz$s$Z>{baZFrmNS`NKhEm=ZZh*JxN7oy>)s;;G1oJ5
z!%NbhW~OGzL^ym|SO1=$NwT4L^ZL&vkuuyX0wTqG&z+Q#vJhSOc2SL@mfe}xCW^~C
zYgX<yxgHRZ7<oK+bLG<r?~PwC+(_kHd(>`TdFsK#hwq!rIIH`Yb3=%qwff@7A1$B6
z%09k+_(P5{HJF{tbw^Cdtatu0=fjc?_a44@?>~dWMrL1d+mXr85PYL5lZ6@N_O7Xs
zk;Qk+gzB!ZpRv6_OUy^W=Ib-(vN>J-y-&{OS?cM#CZz>DGkm5P`Sa`TUN(m!pPMI}
zU1WF{Ts+?XPOg6Q{U5WZr~9uzFSlRdW!rC^&&K<9-pds_cxXcYqyy=h3TD@zK5L%7
zVM6Zt%_^Vo?Wz6y<mb1TBc0`EwjcVwYtO0_*Lvmcn_h?B&N<(#)8nLnx5z)oKJI^2
zS!M0Fr#*)||F!LAt~j$u<F?4xo9+GombL7RH@6dx+_m%al&@+&%Ey9Z!gJT1`&atx
z{LW|DF~>7~Wcv5A%$syVns1k2b@JkUJ!J;>gBRbO8^AmFl(v-hA={w!p=U2#J}_5`
zkNeY!)lUmD>P=%i#cTg4aXpV=4P2rBL^wFALR@_M_6nBoc6$$>)z|x0^n*p_?@M>P
zKZUn4DsAOdb$DCva!e6aUHCoA;nvy86U<@<-k#r?5I94ymucN$jnAJ}vGX0iab4VN
z&$jnheN{7y41zV*iT>L;-{}98+7$7d_NzWs>!b^E|2eYmD*M6u#_F3V^yF1!XJ1|r
z%DXL8bGGB(m)!wn1!qk<_J;EY-hbj;sIcl5N35L^C(FJB$5}e62|1=7!Rya$cc}B9
zyJ&5;#ik264;sSMb-q_=dP|*}U1T_Y(pd$;TRmzE`zLB;T)MDTojZTko*y;NA<;j+
zPu(^#KGl$KXBg|GiKREER@7_PSI%9$&v|<D*~a;6S88)bs4;1OTJCSZx9an|zovic
z+kX9e`}gx{|M2P4&xiBsJkU9<v|DWb{xp8c(}$kyW{<J2+_}rXVt2<J&4mveHXQ6^
z`Mxg2P$5SlNWi6}x><Dpew*7h7hDXvc^DHJat}$qj4wFHw8Kh)e}UNC!nJcv>YruY
zk=@3$Uha3}vAivRC7NWe7PVhe74%+o?E%B(CvOcdG)COIwdN(Kd_%cZfUl)khMh-c
z@)_RS%})<&U0_N}VBG9pFV<LIsVzM#;MohI(ptOiZ5?{ytKGgfYYDV9_>`(R_lE4d
z-hZ?)tteaLV$f}d>5aipZs&2caeA=*E2`hRY_Cd6-I=+C7K*A-JDw_MEK^XI*?&9B
z`g)Gc)`YvQjk~0EySL8Uz1;6IpGp0R{ImPml6GEiJ~(+&CENReS$caH$+kbX$lyFS
zv3##@t9rH5n*+J(4obgmd$Rwkte9LAA?hPzY~S_PxBof6r^*?L^Ex-@uF|?yzWz?*
zsxVQ{`mSYGH~U2m)js?=R;0A@qIjk2r$zfV@^Tl*JTU2*UcO(_F^Az_!gVQ$ogd09
zV}u%w{ggj3%=vHhY^qexfkFmf>HW-s9i7&D=el~&c^S<h6Y6dJT!!6x>YM6CTJFY6
z8te9b*3)ORp2C0m3D==s+Ygb7Ug<N{AM$o^s|tp<zOS!-`_UpX!@TF(zlq!AKlt99
zJ@v<@hg`X#Rjbz@UlqEfMuL6*g~PWVFAck!6JmNr{m-$po`y?2W*BraO13w6@85Fn
zmFgLrsNK^Y85+-v8Rb`f+O{??b!S?;X1ZYczn^Pz<+mMS@d!@eI9cTbOT!JRR>Aft
zeTx(wktnyxhaFy6)Nf{dBf))i>a^dj3JFP>3vGmYekU~s{Sp;Tw3wO7Vc~dyXYrDx
z8Y_{Ou1%T~-d=D?P0Tp^L|VPKMr_yeS9h;|W>00lC&MC~7h1h`4PV@?S$>z6F{xi&
zd)P#R^>AS8lI4==hD(mF|9F0{q}?l1-3eFse!Vo~=t)n7w*0#}^@0)gH=Dk)*wuOl
zT#)Gh!dm+BH_Peo;sFWYy#8+~doE&dDbQt~<%4Mv;T0?6+H<OQnAY5pol<Am!WuWH
zIn15scKIm->$|PeFW6?Cj6Xa3OtU~lq|HhH1`{S{s|gltucmF%w<^72$iOqB-CU?m
zG~<SW^~Y25+@}0oWH~$ZR^jv2W%aqC6U$en<@=ePSJ@XavGY^Mm0PAIMYr;wt+~*=
z;A6zW>^;x!pXTQH`)X2zsZK`A%-(lV+@Ce}Z=5E3WKr9(9}kpY9qg>kXNhIFZQweW
zpP$V;ZpOT0p7JwOtCn?%S0o<y&`HaiSAXx;4UZWL9{baedx?G%ZA|}m@z26*9|E5X
z)KAR_JTJEEXVBN9H-eiw{>o;G99wcw#@d)~RZ#uTxp(-~KeF`Pndjmjru<CgLD0<g
zhlLa(+s+g|I&|rNh;dzP@hXL;z0Tg>DoWKmR_Gl3?Y1`maHPf3X8SwOO5+4R=dXY9
zd;V5m#p6BB-x*Fk3oFeHZkB(wK*O8&-m)eq&AV3hLQ*EJOv0}-b?oInzWpoh#LYC}
zmP((!!WUKh*VlhE&sC`GoyIk5qi5QZWXT@Z*azlM{yv{Ki`CUzWSjatMFYl)^f}v?
zJ>c8m_w;gD_M7$<CEs`L3v<2x?d>^(Px-BZ9JwFfJf9yvS<*hurl6|DyQeLXNhD(B
ztdrIn&YZ#1e$`)mRC&bZiei0zfkUA?Q|la-_%jo#-^=hR2$(kWt(<UaT5`eP3KLQ8
z_O%A9ggJklJK*zTi&FSimgkp!m?bypNZzfAlwcC)7Cymz$+c?g4TZ?<yaA5|xkaM1
z84h}%o)l8Eok3)Yj?hYN2HkHRhk2LP-Yoa__~+KJXY+-y2@!4eG6(-p@BWtbI3#8B
z+(L;W)oBW+w}h*k@4kHY+0vDhBlHp$GQ_c3@%~RtnrLKSysh(mOu}ZCoI6kU@>K~J
zPV!?5KII@AyUgRr_a+Uwoi|=6ma*)}n`JBD`0!h~fQrPuls-e2ZCb6B-;TH@yv~}H
zA8xQQa56)=(8=vjwR5licvpWXIQrhRt22US^v^WwPpdRl-W+}L%pn%#`I}Wv{@ck|
zn|*YHGt;JD>|uW%8>LP7bs+AEOz$4!S?+Ngy|)L?%{%<Y#;g0~U(txwDuHgFHC{2D
z&e+$Uy3KF8i^~^<s82nt6PbVi+o#FbaOdp~u5W?IobKQ3HukvlKd+46n8i|ZNxgR8
zA){M|tdgZXPd$p5v*b_jIl;pc+jCY-RW3_9e1qepB8PCUszu_WueHmI!}cCyk}nGo
znGhr=@TcV7FZQdC6S`D7bf?D#{t$K$YI*tb5kv1mRvD$Ui&lQ)kezOq>^^mBO7=r;
z)pvCX$ptx9k!^O%AFY$OSz>%f_{fy+e;m^54F&vD4_A6d&rdC4w&6<-Sh`yKMsV-n
zCaK+mkK%i7=tLiRz9d2BeDCq%4euo$&H0&p<MKkOeV2}eg-chu_txofU6Lu;V%M<Z
zoOkD|rqcCgCMFU#msq1#$LqYEG%ukdQ*lRhvi8o&tqaPG_eSgMI_GV_GDYlz#m%d$
z9DSlfm()Mgn)%Ih(&Wd94EMfW3dnrl^EP&=;)!xASM%R@W>2&IF;QE}yzkf=YuDFD
zLRM{98X9@-+uG|t$~iCXTl(HNuIAV@O^twES7*1puFnnq=W_ODzq&;0FM(F4F8=_L
zR^x;NHK&(lsx8lsQnD)5D4zH9NN9nf?3H;g&u@Hrf8^Em_4U(Iy}vh1Ea6*X@cxgu
zbua_h+(#F_S^Yj@YW1SUu`7Pz#ueAs|FdG5=x7vLIWOk#_p_Vh>*{|$d;7bc%Qo^^
z!4JOk%bLA*p4K!zvn6|tOzWqX&3;<K--|@~E6y05TYi7miPX#wTMq0KigcJHeB|YQ
zjfG5G{O$G5*7FJ85&8JwcKwsBF@JTHgmsGTJ4|&Q7_0xj6P+C4_e(3BRbsP>*ys5c
zV(Ou4@}`Vz=1U#sopoCA;feS<gR=a)y;)(wc0H_f3|0pC$8oOrc<@pyscHX{my-=H
zE-X>(QWQKR#$g$0bId6!ZqpXY!v@;-*L<AiwB`9Jr>}vf$)6qeu>Xm$3Kn&U{H>~y
z5O^s4x1#;(D6upCb1wKEyS%<|ZSt<mv(AR-tt_5=smFKcJAWBH%|&mHpR_rVv}#72
zj?mP|EkEj|pZzrgx2l;9jiASX8&5ZU$){DnHX^$CwwYMn_w^4B+g;c!*d)!l$++@F
z+U-26v%9Pd)615<ElJ><wqv13>yjrw?!RZ`W9Tx;y`CBG!ZE$Mx%lTf_6sSqFFg6(
zT^|#_=bxVl=i((xRK3^bPxcX5c*>>Fi%W0PYu``aQ72AMeGt>}<?Yghm(P~W-g?s^
ze%+<p$(!rtR&BdjY8tX^|DU(N+Pm}D>)XW}+-OwO;YzVQxydN<y?))#UNvcn---)e
zrnnY8PkSdEnbIO!7CX0Q&yVx0U!(dqNobrZn)bxiFXHDGgSZ|49dCqmoS1Agy+!<w
zrliTk9+5Q_3QEF9uXl2|SH1ZiaJolGb>3|!p_#3^bNr1f>)!>lS)JI!Qfs^@qtEZI
z{Hk|1V%8ZgyA)b{pzZ&kxA(*4@BRDyy*{?~$G5M(SNG)IIxXt`y~^3{&zE^K^pBmt
zHuv7-ho?6@`TFSfmG}a)6DL|KIycYdy`i#hvB{5T0`2G6%B?R;uKsf;X^%>f*M#TG
zWD8D(BrxWsCc0gXUsrMRQhj3jhKn-a%`XJ4e7Rxq-lOjy3R&&G*1OjCzV!Ye^VzDd
zGg@p?Qm;I@^QgF2;j&lMnb1ph@wF$rMZ#tuEU9}Du9fmubl>W>yKi`GeU4qreJ%F>
z>x0x?HvVBT1wl?sYi20S{Nna?GNYVP-ys*aL)Ug)D{NS*et{{W*+C_6-oE`u>+e-t
zFSdO&f3Drnqf++wR<xR~vbIkbULMG}?a@Jo*Qx7MBj;TF75m)oAoG{?Z&qw_&nSp9
z{gMCve94_WUwaFUmi^A%_rI<yjoS9NC@0V}M6M)5tT|hCrc%%8m8o~xf|l8B`q2Ng
z=8CCVV$DIFO2-vK#j8`E2a7yZVmo)=(P}}xP4p%1RZPpZ&it90wk3CuTs7~s7aL@o
zD_3;}Eje@3_}@gWU(44kGF9DZb)0dcY1#X=%u5>ft~vhhZ(8a86mgzyZ!cCJmr7sW
zew635W#F64@(n!!a<R{n1wub=EG~%N{*Hf|^BIAOQ&se@G|5l>baG*rX4DNn@tLO{
zZWN8a9=f^y=tSSElHmo_v#k;)zmGZ9a;8c0S@%8ptmMVpHO_AmJd!!5upsuWZ|=7n
z?<dtCOl0C>4;5sez4S)ovL_c)^K-aTRz~p1xp~PgeAB|W%4EgG#c_r?%d8ukPhE7b
z@w~{Rb%NP6T{4xsu&wU|)4JUzyw|3FIkRj1g}rX;%eNhM3$K3=-_E!p>GrRqcK;vl
zHtl`+C85CS9s9#2rr&<#u1@3FeWQ8z!fgj{O4%Phwfodsi)J;Md(B0m%=5M_bX#s{
z)->U2zT!L8h^;ow3(d1GraNr;^y2Q`&oj?jA3VRwcfq0L`wbonGGbxb&CL@U&nB^P
zx&5$I+NUWV`tV&zo!CLm;QCLy9^DaBN&MV*f+;<2w+{2FU*~?YYkf>)eez8Co1^8O
z#O>UBJ&vfQs1>kBGS#1&r>r!yqN&ttK~Koa<(z^yoSBlUPkDH)7XDLbpXu+KE_`uY
ze39#v6vv44Nw;@y`5b*<j_%Z!#_1^sJ^hxqow=Nqyk`Gr9S231hiuk5OBQz5t82zM
zNt}#mzPI%tJ9l1KPmk%L-R$2!e2Tr*$fbAv!T!Y?wk<Y4pdnEDe712ze%LXEx}4;M
zHP64Se92yY_T%qR-go5%Q`yZ{`8rgzYbVXBJ+Ul@DMu?Ik|`t2IKe&t%(CMx1*P5w
zI=<_!{*YU<>QK=FJC*+Tj$vuh2Y>tuQLNVy;CaX@ZvWuf&2X1TPEJn_><IZdsi(r|
z#hwtw1xmjcRA+lPdsMf?Z*~(2Rhp~3cy+l_Z1nY<0xur7g3~PdEDIyQe31&c@*~!#
zoa;`}v9*l;5h`|d>(9w#^(sCpFYZn5@A3IKQAAfG=e4=Zw8tg}F*g_OZ8!M%$fQkN
zTSv8i)>Yl}Ph$m|cAQxDR=z8o_lMHN_BQ*4b2+kO*4){-DwTcXp_?0bHpO{$-#_nu
z`EK&&T}N39nTs!d4df4GF8ALMKWF<|zhnJBw4zLz`QH8sO$ysva#wQi##XiIisxjx
z&$sH&U&cLMX!FKtEsrYqI+sjn{BkEm`u;*`{p`zf`C0YNZv$Uz9O!SE(6Ef3bBa)p
z_!6bhXHq-1{4{(fR=UuM+eLqsoXpXFJE3g~k)7;`+}u^oj2rLiw&nR5DTJgiJiTM}
z^|Gbc4=fj5@gzl4{q)%gX7N?O7(MxVtQA`Ronu&RsQ!Xqh+U@O<Cca)bGQ#xev{!^
z@1m*jpnIj_>VrmF^&hURZkQp*eEs-2r)=A&Dtp^6`}Zb4Dd+ts+bPa@uc_PaPW<st
zYMQ)pw-2RCTG#yP+Ej9Udu;OD*?YG*>`j^2$(I}by?g7iqM0WuCX^=e+*$mm*kr?h
z)4cn;>)v!(=KtTp&Fmv_NO9RzVYf%o>=9xYdY%SzZ|A*bz`vC}Yv=Cz6j`@f(;u6C
zkgYWGEA3?ed;DIa{uU?JGtWc~j&uDuo78jTxRccC|NYZjz1GX8a?NZy(6{8!{o-k_
z_J8$M=?kAbmFrmLl!gGO<pK7VeaBP9m)*S5#-CNoeq`U>{?dBOH)}pF5!t+>xzFIj
zmgd}o`kN-N%j#FeOr8AjQ-b@&@0aSu6uKj}ZMFZ#yzP&a{*BX@YXu7Xd&N>p5*v&E
zsGTYiNSJNB;j`;WTgh9CnbO_~^c#q!+`9LNe-Z2L($dVC-O7P>4;D_k^}E*XGXJm1
zZ;gK#Tz%ZN`(x8@&O{G|L#rRW)ATDk*^uML{x8DxxPJF{PR@Cg7ta@Wd8#5`dFZ_F
z)_NWGNtrEAE86EamUEWh5d8B+s=qLGy`s~S|FutS`#-H%V6M6D^Ljq@ghzHO8jKIP
z?wOJL_59v@RZEUs>Ai4r`NK4KgU-9J=gls-eXQ#H*~8-Z4qUS+IAW7r|4Mh>Wg)NG
zKaBG~>WhDTw7nuN->~&h_Ps}z%^GLBrtdwvyXw=eef3B8@80$6B;(`PrZLOD-4dE>
z|4rrpr(l~emd)J-kty{TC)+T$9g_H*nAhBYIkV~fDwo1C=bArCnu_{AZ&o)7|K6B&
zr<jGm^MJDLw%Unr9k+Y4pA)FfJ$~$s;%>nvi^JQccFRooYLW5()$?6#S?}-N-yu=%
z7_g1|`VXE-Yo@4{*ga)&onL7!CZwY}zjDo#B^q55n|$=TjenK=TV&_RS$ipT?L@8a
zqvA!a=L5<%*nRtW%S-LNM*8>j|Cy(lzo`MYshA9nz$@!OH>@1o#-~|7H}Y=r91EfP
z@9_r@FXanQ75T#ZecD;IojIz7@80aby(&lRs6oY<*2c($H$V2@&)eF-XxvvWKS?lX
z_0?DX@#UujH}Ecc@b;#Ec)I?*6BZ8yy%)8xhhJ};>Z2(aA-FN(#Dgs18b00NH#Jjl
zsQjt;`0(lZ=h~S$JN(b5ikM|aKC4$fd*_*N^p&eWy;Qtb8`wQxX!pP9>*<@XS8u+5
z-eQgfYmG&N^s-W+l---p$1h4?&fd==IN4L?j^(M?1xaTsKnv?Wy@^l1$iLKVqhja!
zyrM}jFF!r6E%0;FzOu^l;KLKzrPU+O7kWA*n;PG;(^}9mlg+V;QQfA8t0ZTpVgIK3
z4yFYg3pndtr!DaK@c;J7ibIyuP8w#<31`~TaA98LWcKUDdB;yZ7JhoPNpmGrGRx(d
zel8Z?y%meU8m@fc<1Qp&xyW&6U(u;66324y1XmsHmJr!LNsFud?!GhSl~=d^ID2@?
zvV$ud(h9U9GQMX{yZlJ){Hwe73Rm7<RJ^Y3^VhHSi&mW4<nc1DDY)p=3`xs?rJ?%s
zr*qdO25*?Opggl;!=p)=Qw6@N<!@dVVcl7DXU2^UD_(rxTyC%>a`V??zrWu$zM=Nx
z$j^jl+%3}^gHPrPTVEFUS#osU*TsDGk2kD6eS6WZODUdJx1aIWzCYi}JG+Y4>f7yI
zv$wo*-}!vP(mHwFdY+Hn-Ah6Q3W}1&|F4N>T;4tDvFHt{>br~)7NG~eo2@T0(DZ$_
z-}O=oYs5UU^{?ZYe%#poQNirY9nrhIy?oV47p|tbEmXU9ZC0damG!^clUHI4lzse_
zlpa-kYiR^oY^~k*#8a&)z<b_{FKSYAUaGyFtInvw_)u+?%Wuo&j3)K7W^$+f*_-&}
z9q;~F-~Coj2ba#^I(K5J7*kzSuGOP6x1Q)LTxPCu5j%CHo=sl<;DUK8&3rQFm)#5X
zzQ&+^EXL-fR6};!hGWHFvIU=IwsrY3M4tL$wtV4rdzLx8g1HGFW&ZD!&2V#n%Ix0a
zd#_4j)vcu1DX#6)cBpHWWOysO)^A{wz9p+5bvC4ZE<2AuQ{%G?wP#CK?o#^S=%cbm
z_4~&kHRZuOsy#T<buv7)(vAvm@PEyC_HvQ;Mviscm9ObddRYEm_1nQ+r_C86ydqiF
zn5obDwqf3G!&7Zv<}rQPePhDu(*<`|^Bh|eA@SzYw&JS7bh+D0RQcIsJubA)X}e@y
zzsB-W%Z~>K-rqHQ*{8PcXzsgCuJ8pe${XGFw(FnW_wZWDY<qVtiLL5om7%%aToZYx
ze|ve4bGCV2e$SS*%kP<eO?)4@@ZiL{tPiXkWT&Vvm~|@e)wNj0W4udNR)yc2e_ZHp
z)Qlq!U29)t*sgt-d7-Lv6H`EVYTc&nOM3Tr-OX^T&pQ-eI`ygV(@UI_t|(MJuH?1Z
zb#1<@Rm0Ymv$lT8irc}p!CBbdaA(Mr9VZ&ji*Ylm&n@PeA-Op~B)GukpNDzi&w~q>
z@}3N2>wGlNfK&f|tOG~=u2=rflh&O$C9_^9^v9$Z#tqE-7oVMddynNbqqZ3tuYXp)
zT(q$(b;Bcu&CV_Ldsn^w>$zpqoI(wA+m+7M3xAzn+s#{>|B87Bckk!hTWpp@uy1`A
z)VX`ghqV5SZ}eV2;z^QKT5zEtb;UZH-Rtx}KaiT7qc!6Sb4k?(ZEx|p-VRC;LjDuP
z&h2!5ukdmI){;5K+JBU!g3?S3AE!0t+-o{@v|Uzs^X0!%u`zDD&iB_lOuOVVIiF8*
zrpH+aF|`x@4z;e#eKr|Bzq+)8He2snxhIRi_i)k!`;MtsMR#ysF^RPM5ch$-Kl9Gv
zRjLuGOZH}d7D{YA;Gn<d^I6L`t73~?uUzwq(Ms%m75aDI3cmZ(E1WWqRT@R5Gztc|
zFdwa7^+-hi#nY-)Qm)a{xIS%vTJL<w(^zY<zTV27f2Ez~7Be@MsXf-I6KS^k=Xo;D
zInu!8*1HQ<?i&|=Xa05I-$I4w{XR45{Wq`Mvs|_775nqk9UnK^R+u#KP6=`HStq<^
z$_1ZeWv`@@3(c!e=0;7?Y&E-5w)=}T8=u(eRV9txCR6pryZcsrdS6-g;uE{-;{&4g
z?{+uG{<pZ<>g^!Ax<2B_!|yBA!dJB%ef7~x=+-fbDW>TSS6{?Gyl{Qu@;dnr4PN1d
zCCB{(9=!a^xz6e8WIpA#F0Z4FSLSd&-pI9Qr6t3%%)G;)TbDQf|2ccL_P&3gA02)z
z9veGdciL3_D)G9F`R2PzF8|WiToQ1t_Wg_Ez2`FP1Ge((Ue|u>fB)sekBzQhEV_4o
z^ta!8!o%U8k$;ncL7EZUzyDk-(h3g8?rstCIv8+1AnDo--vFi9QyB(R4rd=}SIU01
zZ68~y_Ugm`#ojUsFWscJ=MCTNMR7JQ&Z2o|W(dcw{#EaxzUA`rP$ogs_grsxT$HYR
z$gyKpAhY5%1&#W7>o?`CEITHt<M#1{V)c0&(O+h^3>P=|i);703MQzmNNsX`v3Pxb
z?azmoe_x;eV&VC^$3YX_<Sw@M&5#hbOAYn<`km!RvN%iRfu(0w9hlOYdHvG|uB^?o
z|Meb?pAho$#ob`mH9Ze_H@|F~#a=UYWlZgoADW_TsyO?#yH~Lt)vuqXFBDV$fiL3>
z|Cb$0wn)C(wbDBCg;UC=C;l5!Kd7&j|GZoyty7|+At`CyVearS1@ZD&hdR;U>e4CZ
zfucc{p$|_j(3%q~-?eFRWyloeoT3%KP6}2qd3w%hXFc7dX8EO~=G`71qw}5L`4!u;
z8ZS-u&)WF$z2mnfx4RxsdMbIaUVWF^F4bMji+w$A{V2Kd=ti^VI{mbiJ?S#~)tNd0
zPuWf}{J+w9bVWkgxkt%D&y746T+rdpx*&Xi!Fm0pg=v$LbxVFeyu5q;d%Jy6lLE5E
zj(+>`wXku1#|+8Nj{CpM?L7+*u@v+lWVxDq@ygY{dAA)Nv9IU35xul-BG<b)b|(_+
z&Ax23G`S&TWy-n2Ve3Zkr|XVg$gy@fbjALBmgCm#?^X-V*iqcTpLA!d$wtiu>blq3
z>-gp8m89o#_B{T0km<{YoKlaTZyM`9aIjna`(yUrYKO12%+s{m?R~-SfzLY2{7k=p
zx%gzi{DJ9v%r-b(`Mi9uESu7S%YFCs&92l3uXn50K5F{!7dz{m88f)T)&BDPeqFI^
ziL|Oh<sT38fZnXb$9-PPOMLjV>f7^Qx4-vGMkqYC%HS=@%w@SLYpr^}<Z;lh`_sQK
zu6OWPSNghOWwh3M#h_yhe;q6HP2&F)H!YZM^xfNE_{SM{14sGG>8bX`Q-TYZt(fNQ
z&lq&fpH+1|L;ZInEA9!(d!qI%XluSwaA9xo$Hr5Cq^p*<aB=QkQ8@SP#pZ&yyZ?6C
z-JX4CuW8@Y`u~BBX`lZdwWyvPcDv@98IMP%=KRZv-kI0DZFjz$ILU6|w7Ql%KmLZ*
zJiWN+u-CZ<m-fcBZI_c(UEFKB@5+PTf(OEL7Z;cxI$1h1?f$iMi{tKY-FMj}Wksm`
zv66F7)M~#)?XaA7?lJSps#+~&uQRO760zoA^DdrU@Zs^Rj_7Uo=WB#KGTgt*JVJ2a
zo^Scf?l|tu7pu*;*!-q6cA6h!`IqI3EBh_pFIn*U2Xou{dM#+1(`34#A*V2lk(mMX
z-0`iEuZ!<&6a2q!f79d4WmkOoj&-ju`*g4{$9?7vKdr5q$G`2kB3OQW#(FtV&wuYX
zce7TixSrmc{>hbHPprH4--d=A+rRJl{^-r`)tir>4}HUVPG}y-`>f}zT`M&{DxHkf
znOZ)zGXIZ-&3z5csh{T0(SDe2p1IXj^1`7L_rG4<cDnwxmhLA#^S3{DubzKyUhLez
z?|lyN-4R~wAh=1vV^417w`a27jb{8l`PfHwV|livxBqcQVZ(LWdrohTKfmMhCl&98
zMM@%Z674=J{M?f_{*`Mv+q&WcxAWN)9r;NIZ8alw9#tzbiPq2UIJm_B@4f3r4|Ia&
z-*z&V<%zyAgRM#`xSrAKg#lwNv)IQ8O}}2uo<3c_erLu1zeiW+pEEyHuRTR?_MJO3
zb(`(`&zU!N{PDed;lN*;Bp%6^`IpmDXKfY!re?cL_4T`eg!UyD_U|(@316$`{--o-
z-4m7*98-QxnzLb@(B?1lOFvFH8Z%+_y!oeZtUsUnME+vS@$;od(ZZWOT<R6B8vUOZ
z9@)#C7o9XOe}SX7tx^4MHT@(d35mLMtN-Qs_W48z^cG#xik_@u*#4;TW$LchS-m^{
z{}ReJ|M-9JDut-c7xL%%2|lh05jebinH-P5Po=kXIlHs<^p~-5%UA<f@7rT{zv1|q
ziD|E8eP_(x@*>zpeEYt_9P8H)k~1CaIbK}<@l){Y2Q#I>9_9-<ElmFEOBy`4vrp0e
zv&|!)hu3|%?wQ9vt1fQ7nkC|TV95mI&khTW{dvS(&nY>I9enSbC3^ny>q9$Sqc`ZC
zKQoabbb+qm4W{Hep^UA0k|IJ6-lzH=k>&g?wm)gVaqe@MZGY?d<JFY=8P;U&E$}G!
zSXgf-8eYd;sFBg}Zd+F2%l9$+ZgXB(Z0hoULX9_T;&Z7>O1i%3eYzL9Ca2{seSGV>
zS;^L~U9+Rzg#ASg0<~YphaCBI%!y6(SK)iDfAae04lrrnkx^6+xOY*C=e63CgU;Qh
zHTfU2R;_k%p6NUJul2#}LP^F2QTpuNt6~lm9uktQpD*;rdS{el!I77SM^BuTU_Pp@
z+5GO(q5YdGl_q;W(M`TBd->cO`%6ncf8OP_<95V1hF{s9>mzHNgjcgHl{s-vd;8*-
zyY}3&PI7md&GO+cZ`L{OxLaM@S86dcOwX9Ox;J#TP)7ExX=e`fDhAJ5v|ZUIU!cU$
zHd|@WQ%3#Z5633f@5@bkkieahka1(yW8Sl;SN1P#dELi0v+>B86KV-nzfRkC*17op
zQr2Mk&5`!?d4eNT?d2yoUhJOdq7{=E6dfwo(@-?~_NC^)xZG~L;+`k!5-H2hei!Z4
zZE0Y7woETi<3JWiLEh?XU4>`LX7}h6hjQ${%`BR5cNg!1AG+!8o9e$G-<5x>&_4Z=
ziI_J-vumj<-%i^nDc2doP44YH@Kv{X=5m9{Q}|TXM2}xeT-f7LcZBJMY>VF?Z|0v@
zpPEl_*}%E1pl9n`F?q$eX;-aZYqT-Pu+MV+n0}iv!@=&ZlGcTu;~x*_b~bEwP(OI#
z!A6#?P5brJ9`AgUpeFq?%1!4|ebSUNlY4oZdAGLc@1Dj|#rBp_Y(v2Ab*YaWs;z?h
z`1wj&A0%yWN$Q#sHN}3*^X1nb?B9P;kg2?Z+vBXpr~kWd`8gC!7Ie71?))c3<D%_5
zSAMHZJyW>GF#N-Wq^AoqVoRT`OFk^v?;+x}kugd|&v^YgMf<i-{DQeL>%?_ygO}Ay
ze=nT;j8)CBc9GV@h5(C-ufLv7me07c<Tn3`fL-S52Ny2NQz`Q6zK~hAEq2%4y!5+y
zbJT<t;;xA=(z;R-SE@Vj^~aTK7MxvZ#?{bM_v_l5s_V|B?`m{2PKnt}_<np#Zb!&9
z<vj<lx1Z9gjh>N{-!c7xp_5OE&*Zi0RlHUcw$zJCf7(>oZo8=@^Q!KLau=?b(_hY*
zbK}<y9hnbXJ>K_38=5J1eE#|G!pv7KJ0`3AI9MVOe!KMui;qoF0ar`)LdQo-lp4O9
zz2|e;ucz?t%F&y5-}fXd8VAJ0&MIWTbfM(uwQXBv>~HORA+~EtUgpb5!e!B?o3@n3
zDb&pSp|14bqh4BYf_+7X#<F%RwbJ!36I~)5XI5X|@*w-c2Rl7&0ny_pr$6}AeBk+#
zPaQ`mMmaKZ{xET6;#~Ww;=<!6ESv>=e><M&*w4y!*ZfnsHMJ>B)yK`^Pq%B&cl&*H
zKi_QJ`}f+0yN^$&uh-LGr}wY4@az1meOf#Ri)_s*b>H5-5wmJxeTBEu4!6UaF+2Cg
z9qgTP{Gd^(fndVll`~Q}PBMl6KJ=_hX0nW1>MzFcM)^B0weC&GINM%U^v>eXz1gP{
z4nIs|-=_06NGg;~ddro{+$oLweG{#<M9TkK?=ah6xO(CLtl!@f4VK(tYd2{xTYFWh
z*Rj;($&Iov56=mHQWnaYdRV{yN=D+f>f+Axp~)e+%YWFdzjZ7jVEf%Dk;M~KJLkk5
zz5DL-<AZN|<Dz%2I&R=|ELlilOM#eg^t@{8VheWnRQ8CgHMiz0zB$!<hQpz)q52ng
zW!-(bzjSW3PHe`)p0+T{u+3&RuU|3>L|m3Ny|K}1?IHIia_`@M$&3z9C~aS*y0d=e
zl(b_WlS52%89N%z{&}&h@{CyI=PxHO%g^6iU-$9zX4C1d9L47nH?P)SvXA5MrsGd8
zDp@q@PP$#35p0$9#XND5=EDiO6F;7q6Ykr;?s%q&Z2fNMcN&u?OWC{YEaKNbU@5B^
zG9#}{qbB?CmqnKQe?3@yyP#rc@DIL|2Di%>NY!tAQm~To>i;(JybGI+T;!^RPx~{n
zzS@#<^yNkIXpxCKrnvtM)+|Xl+&)=o=R1AnS1WhijCvbC@i5a{@s+%u0t-$(>+5*D
zvqRo}^X8A-Cw6;y-Mv*+vrfW-?YB<2>y~|)$6jk(n*02h7W4NO!?|1*j_1`Z7AZ@K
z?_PV%gOT%gX#IvW(}Z=SbEo*-Zt$M;<jX&%WG@$)xeYd+8d(hoDn9d<zG&cAON&@;
z+0MKsm+RHKIVau~nDkXgi`RCp&pPq4uQ_GM0)3N>nrD74?~!O;wR4uzwzamJX%gZa
zUa*8mA6MGjp(?oiHdA-PNwz%0Q?|kX-*s8ch}Dv4XfuE4R1#5tJJ7hY%6VtBu&B|>
zW3M^Ien@2;DOi2UxWPU7q@hTxQcvinMP5RiUVK@%JNmk+Kya*G=A>V1Jbx9doju|p
zo2|)qdPCK<dxsQ!vX1!us|Z~q;xkvyZJ}CIiT}C6nck+1)pz80EZ)7adH#Uu_>WIc
z{f?apN_^A#r;G7^^t$m_vVLch{hXqhRr;SErxzLi+FxY&YjV*?M#K8{bu9lmx2yR&
zXgK{<UvhbQkeA1_mXlusWgdrIy{fkQ^d7Ibv8<kAzO5EVh4j<%JlLP5^j!;!Httxw
zFX`0p3v<=uc7A49!u`K9yNksx`_S9us(IIV|9VfJcUij1QsNfN@Ab`#B>o+@WxhXY
zR?Gr_hwHX~!jHNqMgBO*wd|dg{?%`p@k(>Hr~L?TY<^Hs<;}Nzdx{8S?AGcR`@f%e
z*>UJEqnBgZJ8+|t+0evdy5ku>QAU&L6aO)4)=S;&du;Y;?|!F#BZIUf&WpDEHn}<1
zM<`+QjgsU|4njN`GxM}3>bg(*ePjK7EiqTmyq)UepDwAbOxhSxE^6KRZm~*L{pX)|
z&!)$puzAF(J*mmPe7A@9GLil*9uayeCEI)V^_!l)krn$w>EDJ)HfGv0kL0GBZH--<
zy6ka&PU-&o`v+zm=VjXR`<VYVhMlSlqP>5g`kSR|G<SL7x^Vk@wY8t$y?ZuYn(vE>
zAph~tJxenMr?$_2U+=R>x8}E%*9@IcFD^RDDNSA8^L)qpzP$W@#gl#BADRAc%2Ua^
z>DSk|$ZdC+F0!%KsD1Ko&VWA=U#q1gm%QDqA7bb_g;|}8@wi33$$z8TTr(DP`+#LW
z&zU2_w_RPSzQ$f9^ODTp#87vU8SKGV=gr<xv*dnVK4<x=Wjl6;^rYWx*lY6iUfr6$
zyPVrT?|3u)#YM@}+_pJ4!`A9nKRRd}a76N5=YxQwK{MU50~_9Oe&g$i(AIo>Zra(x
z?qt#Vcdk9#XWDMQVUn1GYi#}Pw?;cB6$UJMm~;DZ>f3LNEv1%huY1?P%dH}=c{=sR
zvwq9QS5G$P?q%SYy(ny9I(^zRorixurQAyD)1L70>gBCTp7Z#k9e-}sdh~uyk%I9r
z+g#>(iYZ!)OsDI#K9;rlAoeonmHA?oyA3DSy<5F_rRTSKQx*OkUdqO_fA>Dqs~79L
zLq15xe{Nc-a%bHa1EouAE_5;n`W&8Tnm+SO*Z;};v#pLUnZc6jzaYSKdS8goiUoiC
zy;m5ir96<zn&xhNnd5BBH022a-ZL!HHThRea^+3*6zl29;f(3Gy}Har(|@L>n_$kW
z(#=0PzwEF2pdBoz6R_!8LBK3#`NoI$wD=Mh*X#e}o%4+847=Wpm6FpFO4X+6+*tI%
zT}-%PN~)H$<PlpQi9jv`D`mgpc@I08R_xV_Ry;WAvqrj?_<qM7^;6AG`e#j!y0GkZ
z#y`GikxxG61uhmb%5Qpi{?f;Zn|9W%Q;b@2pmnRjgIe3)*4H*KEk5{FE#~|Wd;T6L
zb)Uw?p4~F_N!`18dbs$wCSLT+>gd*!JEx*);^Jp;a7#mh+EJew)0eH<(ZRxOy?eto
z?sSvQ*Zed3|ApRK{GaFT&(M7yF~1gBK0a7&z{+!C(wWZB=0<gTPaC+4B=zd}cR$lo
zGdj7&>G={z?V4TRc5Gi8`-P45^pQ#FGv(Gs^6g7HdG5L3q|ACB8F!86jg#+G-*P!_
zoxQ7TlT^gJoc%6AemxbAm;M-BSl?-I@b^4@e(7e_#SHb^zq8M`=D+mjnC+AmXZ||3
zwTbfm-1F=D?fQFqf{VGrcmkH~`);`RzC4F*ic{Xp!V?0QME2zWGIE|^b=*h9xb@Oq
z_GjN-hJ>eHy?)*#zwe9p_xcvc>+`oy<<6hb>u<#JedDJKE|;!tV=<GtmZQM@NujNd
zk71Q!#-$#mg}STrEY8a9=2A+%s(j<K*7O<NOLrE$Ir>`lbG5IL^Aolsv7e3ew#xeU
z{$Ja-y!idGI}@3_)gOBpvfsXat@-Z+kI>uZ#*v?YZWYvgw$x$<TUq&uZCbg{>$kIO
z)X(#tv;6pmm#vpPe`%-6U0?QI);_VupyG7;tQ-y1rJc48i|p%^pI!QK<BN&GzwPn?
z%4`n=R9cU}s(4@iPOst3WZm<%S7kn$X?@(@$UoKnd&JeRJo3KhrWob>=5J?Kc;dpn
zXz}6-q2#nTS)J}r`~+{a2hZo7clT@#w}Whbne2wcrw)Wl2!(UD7xQg+c7^|$b?~<>
zkCsLqIlGg6?gCe%t4T{T*M-;Yuuu9H?Y8hhO2WZIrW=ElCQhCAVuD&x;o4`XHb<7o
zd9M@tS+e%YsZSI3wsbY{mE<%$_HaBAka$y4OXvRWI+f$KjC|5jw^)}xa!zDi9qjxy
zhQVa5<=cACw3i7RrVD1CH9mOZ^Z6Meak^&|_a=4zQ@+`LZefjRgGMrIz3vXjOS60@
z^NalC-c+$DQmI?RcR^fB@qdpJxq_985++FhefYvhe1^k9MN9t`qHRlcdr#PEzxSN=
zxiCU~{`w4Q-r0APeob}CJhXYg)&F0yTOX))Ke-_-;VY4sRsSmQnE3gIggv6WrZ=`8
zGrrn7)iRt}d@g5J_>|o{bT;%Gg;%$$=^ps_Q1IORLp@=dDTlr!%v*K%r^DpOKOfZk
zdUKyEUTSH1f&F^&hkcXxeXoB0KXFUpblaKhHb0!b^z0SICeaUuSFgp@)Cy`OzO7>U
zy{B-WueJQDz5H)8QV$i_)pJUJXg$Qcar&QR=N{MdzkQky<S^U_UuwT}>)oC2*g1ZE
zHDWLiD-D>}?!0&L^=9Sb+x3>=x?3m3?aG^P;&5@_)+=Gm=h~v<x2;WK3o7qCy;3Xo
zFss;{9NwkIc?Ty>Sm+q^<?NhuJ9sp_-PgW+F_}AML*Ad7>n$bk^Cw6q&fB=S-i6Ul
zs>$`p*5%7><qvP<_FN$%_32@P+4Z1+fV&%cf2s-i9(UAx$y{N5=M3LY4U6h6r&<rJ
z=UQ;t+(|Ued!OaAeHM;~-kWR;vD?@Z-xc2F<C0kNzDnw6&!>f(`sEIv%fI`(SufaU
zyM>la!>qU4oGh(557h+E{*-<xOq_fEw37N%pD2TWOO@(gA7xs2;kJT`(G;7d`>L1J
z)Ng#*w##)A(*yNg$~qFiECuv!uGkd2t(aK9;pWnh8(u~4&$KaH;As1%Id`S}3bmcN
z+e>s$aT_)^+`e(Hd@B3Zx!-mkD_j0Lt-7eKEyXz7$I0jp&yF_Xw3zmvI@~H}r``yj
zDDl`qwZ1W+^J%KwJRS$;okjj^Gl~z-|B%9v>QZ5JK!s!fPIYF%%lCB|cd9cx`m<Ra
zPx$h1_HD%(Ez|x7EmB%qlDqqQoPZ0TXsujOlVqQdt5flgc@?~_La8@?T{tYw64K@%
z^rzNd`n<vO2}wQyk9RR`zW&3>@kEsLTfL33^><IOF0riFnj~{0{>kG1(FOWV##332
ze@r}DDK=Xy*0ptER`BBszq2L<FgIn!NC;^3m8mXxbLa9OCz<Iboa>e^=ar3ewqNmd
z@80@vS+7Nf_Uy9k{o37;{b~Qx1#JPp!`TnF3C!DU6KK$IB=^OJ*xkDlYHB7kZW8xw
zo1%N=+uYKLr!wbzJ*jU=YCW3jzF(xHrf<{N`+Zv;SFc~H@#EXQ>;v21=QCJ-wQPz=
zeCl2h5;^Nw{MrqR3Vyd6n=O+LFqhl9IVR?Zz@wW9aXYMLOqZC&SRLOGu-EO4xA3&o
zpLY)4@zd-5)2?#(&D))8ckR>iWLbYltF~~pd3d9&o~rnb2Vr6*^=Z#C>krMmcJ#f$
zCGmAkfd#7d-K%HJd>nI;ZHZQ5%!}(+b(^h}S4g|;ky@e?;Nzad@K8f#zs15?jt!h`
z;yy9oI%Vw=O13z$>h?Jm6i(h;UDNtEcykfElUi#U>#51d<G(UbyH&sJ!-D`5c5e+e
z#-^T&vCq5&jvZJm)VngEb6RY}O6mIL$*nUarOt`R{VcdCqd2uyVqeA`CgFSjslKd_
zlW)1qlz4D=>)A#RqtBmz7r&nTXs!Adb*E~s?TlLrbKTFg26&f#l&fH0wD<mg$B3*5
z4%r>6)p?~IdoBO0l;#h6w^ov4(bO#S<~QebRlYu$`R96H-QFM@hrb(^PHjK+-r}O}
ziu#6#ta1;=UDo^7*8cqV?eW{+yUV-J2CR7I%=mn2(M!=8n-_8PPwjZ~c=vxjWuJpn
zpFcjm`td3uO_60)=dQjF+o$tHYRbpPAbpOEeVUUN?%ZOs=$Uj~_MzoR<u<fTQ2n}m
zQOi7y+ZU`)>BWmB9*qqBYH$4It&3A>vwBe{!`uxuDfKU2`@V3}-M&!s>iOVhj7f11
zuB|n_{rutG&r4?}wzPg)d&nxG(}wSn-V=3R-nmQXNJKq<dg5|V=ESpJTh|*bDm=mQ
zpZCRrmP<!XpS_sV`O)@&703A>NgU6!qz>)mU;p9t7G`_tDY9RU3Tq#8hyK~J)tb5I
zpv2tgjn6#)^DSQy`=kE#Jeh*)Q@cBycB?mD&u8KbHVjPJTvWG5aM$E3>P${v>)%@3
zT0Dt!e(1wP*OKZVykI=s=l_c_PGi|I4%U*oJ+<Gz-L9|M>7v&W_Ufg5&I3U^frBRm
zJZDd6OEAAOOIerS_bh|v!dXox4ke3E<|<ftZsWmSwX?qEFTZ(M#s7!B0P|gmGvJN^
zqv7-h10E4(BNKz^7d-_u>(@p`m)|xMs{6kF!r^yvyVRQsl^Lt%U&__Hy*cyJt+(E@
z9y<qbI5KTf$fQk=>-QT=OjxGkwQiEljU8Mwe%DBRI$3i_J^$Rk{dT)6*1mBmnD!~e
zXWe_XjY+4L2rFA|4)R@>KDmG5*5|>hOM@<+E>>N1vo`E$9$Rr|=R32|dt$4#>b1MK
z6`cLK{I&e~xY+rBOVu8**$Mt_R7xzI<M-+5&Ex(xM$KF0)#t3d;wSg#+*6m^GdR2V
zYpaK++t2@~I5nx;i?McMhi8(o(#EpLO1r6@eeX6GJzf!Qa%CHLdr9n`YcD?tC`WLK
z|G5AE+vU(3(c+(XuFl+lL$vqFw%<p&Z{+*bf7zh%iS@5Z{9JG0t6Q_L?GRhLD$@PH
zt4@LYk!kb0pQd>>&&=+UdfM4+#he*bUg{ol<l_Xcl|s|9OjT-H!Z>GF1?8XC`Ttpr
zZ>!*hjK$}Fbe{~lIi*llEqGxB&!UgjvZwenS4{X8;<~zeLfd=6uQwvM#@$-kv+C?5
zzISGf7x&e_eQz>R{B-&(Ihph4mPakS`1*6-nu4a^b9ApSW&Ww9x2Q+WdhI1%6*1eC
z2+6ZkjAT#GnOPB{XJ{N%zI&S9YAK<%XLAa7EBBO5-0HEktFG$*yQlm&re1UooMv+K
zTE9u_ucMrocCUVaLTK8SSr?Pm7teV;L%@0$>*i;B184o1zu2ZeW13Cwt?+gGbG`dr
z%64n4a;SJNaC@0*$*H8tcF9o+T4z(Twz*#2aptu_d_!Dv?&AOV0vk?j@LbgAlrNxq
zVs6+)*Nt<<zpq;~H*yA-)^W`V?>kPln)2jSIJ`T1b@lZ9f1bZx@mWov?aG15k6aU+
z%Qbz^+=<<$89htd+$4LZ-_`ofWo#GyzVqEEyqQ+NXu>Y<=9w&V$4iYuH>OV0o>W$I
z=OwRkLcqgI0w*PImPau2H|_9~-t+vbc8`<Rw>~!C*PmQNpWNG@xI=BLXlQq`?>pYl
z-&?CI46~e1Z8E8}vr_Gp@nS!J=A>1corsdFulvmoDF>}N-`y*|@7c4bD01%ndVkj~
z61%S+IrD1Xmb7B)v!~Z&8caBDb!t^X?!~rkk{oXCpF{HxnsG(neV#cXZ<f*C$AWfU
z2kmq{v!YzN-!J4hIgycjc}LZ&y~h`PzwqRe^=0MUB^s|X0v@dN4&R#B#u#$q#i`cl
zy60Zgr!<u>Ree0gbAFU<=Kl|$c2)lVcUOB#{WaI%=i>Kj1M0ZH-L0~H_2aH)bk4of
zjnSH%yRtVg%86Lu=;)E?)x7HAbD12=)J_w{9fr*1&L=wSat$gqRx5PONj}2f!<fYr
z^(OIv*s2!{4mygO&9U;$qL(&B+>{H;kzXWqKz4zRX8+uS>Rb_irR_cp77T$O{+|u2
z|NWxkb$!O1>n~cPO4_gH6>YD+Wq4+?5o1<wV&80rv+E4iwGXmS>|TEH!kj-lSR)=j
z>)#@}nc-a9oM+3Wvhoi;cX_f=wkJ$<Yklq}$w!ms)NSXnd*C(y@Imu^_qRv{wtl-N
zbM95H1pD6n>iUPfGp~u>YhX!iZSP|9w^Z%1He1spar0P5{fn{->KgyKP4?txR<I>J
z2-bO<&k(^|=u>1Il6GkOSN6wGmu0RLKOn|?P2|Ay(rqz9a{Q-Suc@0jUQB&vU=ngy
zO#Z8Z_u=)2rz-roZ6EMif{)?6^Y?wxI~K<?R%NW%u2}!pkL$bHmbpP+*R?U;W0MkS
zU{UDtc(QNBZQrm<Z!Xnu?M_f%{8R42#BI+K&g|clQ}gH7+~YF;jzsVXb8YB;IoW~z
z!xx6DUzLtIZp#e!Hu<|oM?O=%EO5#e@s3&^ONEPPRI<)*Ia#*3$nU0H!VRIjZruts
z5i!4~iayACZ}d9uq?e3?BFEJS9d<KqPw&_^;r~%Fg~r3yH&|oyEd&n5i`Relee3kZ
zm3_tYgTi%{#b!TWd}n%hi|cHGQng)Jb_G+^()phirpk3*)w-%9da}@eT2thMy6+r4
ztnno-$FD9doA0H)!0>#`LdlBy9f#UGVnwr$HL^`*D!IC3`|nW3Y2w_%CU)QMY>Rh0
zXeZpsC|RSewkCyb`2_AQ!H<-FeAvxXAAgEX@#_AJ#Fy!hj=XwtG*QieS;7315|12{
z_D?!#(Z)WJrAoo|MZ-GV6fve}9m`c#<>edrO?;MjP1itUN6>Kzo0+?6*-UK$U4HdS
zw3vA^f7ubc*6YcEW1B8VU0!$XeD>Rvu5UA$WWHXVcJt#BRc7tGr!<eWcjVnVZmQO#
z^31tjEI%uzB(j;ov#8>R?89#%LEmS#)=cvF*t^5EW74tPck+tnJH%dQX=B`IYsj;j
zZ}XnEJC!{bC!f6YTqN7zS#+UR(y`K-3t^wHF3ZYyl9+pF{SU)ue#>(DEi;A1?Asmx
zn-#|x%x$}szHgO)9N(jttADTgvhf-7-aCaack6NOWUt>}!v3u~IOON%J@fs3*u8h#
zbY(^U;oV!>mfou2eeb&U@LqS{y4U;pPd`ji`=%%`FY%10K*pPo3@4{V^G;uSrcD1}
z!)>dYvQB|uH+jCrUiZr;+?H#&WB5Q}c8%<lX&+wo|2E#%sB~?+NHYVsEawTE1JB}L
zN@@yo7VKWsr#~-Hww}ek`vT|FBq@dt*;)$*qwT)}zADeT5R>xo^fA^w1qDm@RXRmh
ztLjwfE%TqWkZXU-lY4pBY+GGrwcc_rct7`(z|^Kc!8UR>KmK$_9lCtLxkS$XV|(+Q
zF5QR1&Ajs^3RpQ0m`Tgru$`M|Q|ucjzHpMs;+;w{|2`_*=wEX0=+F7}HjP?U{BN#C
zi&Qz8i1H?sIr>-5x>G0GwxH*}?Xw-XGyKg=qEjCKSXq#0GLxz7SC<6eJB117S46jb
zO`d9?s35;uFnY&_2W!shue+vqf69j!yUQ0UwQ0AnN(y3d6aKYwlTDH49?|4wZ~9pO
zyw8m<ILv*l-@MCnb$e;H$JvP0GWBae8J?cJw#s5||8aSR`w`Q;em<G=Z}ypXp+k$g
z<14~)UtCO{S@rlnzk>GBJ=1kL%C`LCei%~l`3p;V%9Z{vmFn5E&R#OD4!`Ca#+EO{
zHlfYt%U{NC-i8`6<|dA&BAV=`B6IZQyR-aa`=6=sFJx8w#9J|Iea++dv5)5p``i|<
zKX<tNe4(<p%96&r8#*~TO)tj9t$Te{UN1lY)>Ynl)jBnPyAN;cKK)osA!xqT_V<4i
zx9&Vz?OlH9=%GWGd%w>Y_Sn<c#d5PYY|71C$xWU7cB_P~YX5Kg_j|hj?c7~VaVv@y
zSii6qNW`#hZT`=^E6djiew9uxh&8?5f{&Hi(9C#xV<408^eTJ)gj}0O$GfG+oOd>V
zT*1u#;YG<8zEiyC9x1F94bSYY*tcX;kJ9`nOLJ~NNqbY$(Wn*nWbZqr=At#qH`l*w
zSDbFs`*&TG`llIL`Bv|$PwKo{eXMTvEf+x!Q|0<qBF$<>3)akCeR|1>`n1?t<{K0Z
zIKZt!CPTC7f-d|b(+eE<{Ur>|jTH<O@{_U@Y;3sneNyw%OEMHJ%#Ei%oWr77zc<Xc
z|F)UH-rwOLG~|6gJ8xR^*z7DD$A-+=J9efNFHpUe<`vlGvUczPead`KZ%C^+aP3gP
zc=+Mt+2;Kwk~f9j?wyJFQ#ZHphtVNVz06rflSC&O&6~VwUhS_l9<0UroQpR_Oin(r
z##8IsLv!V6H8cL2{?0XyzL!3S!!2BU;>5G{?|8PI$~<U!GvrBd(e-VgTc>oEO|?9@
zBH`rSKcAny{Um4P>h-zw-0`hFI+vQ(?L3nDe(Tj$*B>*@+;Qx6U5rWf-k<ZTx$dMM
zte?AE#b&8dY$x|S&6bL7U3WC+>s$DDKY1L}<x;*kQzjtlw9BPAUTd7iT8g7mW_FZz
z^mIARQxvFoNjceEc(&s*qsu(ir;a;o*JNj%`4qRL#W-q%(uzajA?s8;jJxJ2KT$S$
zbyR8Jz9^Q%fr}^n)p}#JtwH^t0q>WS{mK*H%-R{j?l%2%>g98;^K8n~>OXv0&Lh6#
zwiAce&-$bv@A}(!-%pGWQ`voRs+>vKwF>4-Eep7KO#c~_X4jXloqIi$XNRVC%`a!4
z{>x{-b?e#ot-aY7S~}yS%yt`Y0i!zwQGDm-O!KYpI<QVETT=S8>e)+7k>BGggBQiz
zXLc@NIj5f5e=Ia{adLm7`!vH=-4$<S6bfogt|c8R+t=_^>ToVY-aH@CS4}SizU?^u
zpj|J`cA;bSfoI$EZrv}aU)31A^pAJGtw#RUvcT7upDf*F8dhmzCBSj*)vSQ{mD&sH
zvp1DrTl6E@ee)6XAA18tnYAi3eIJyRWL?zC$y&SjUBRNz+WvF10xm^ZuxtyP`ah>x
zCvm%QTR*#OV*9-vwruC;`7dtV9Ju}H(u+n<_@eGb&8rrUUb^UO+utW{^&Rz!kJp{~
z+j2`{>(*WSD}NuGyPC^V(_EHeeQdtmOrO)-#aDTM1=U-(Jb%rrdpn{#w`2K+;~VtO
zzWdoa^=?42eW^=EnY~k1^IYkKulr^8pN_UITYJgc^hU+n@3(#%Z`T&w$G7U$ven)T
z;w*Kx1;5pDnsPSbaVqonmjSO%Un&)M%+7s!YWDp5;XA_H&3{J31-n~KeHksi=4Vam
z?gstWGYm`8RqgiuZfK5M+<5x%+MWBamwsOIaVbOkFC|~GkPS(vZtwXiJbB$l78OrJ
z)wy?bm*4*X>i?%*Vii*lEY6$CSY5IDh`R5=^+gYCzv`#-l_@}Tr#U!xG8r2}`fNwT
zZx`J*6R5o&{$b)QO+lsyUoXzR(P>;Z=UCSA%PNx_Jv^LFb$d<N_vH2N15Hz&oXDMJ
za#FbQXwt^&4b>ZX_HGrgI-h2*pXPtA;@QOsPZIt19zE4<`7ra{QXLh^$M+U}x%b0z
z_WtNSACzVZxh3DoT)IA0wRPI(2KANqx9q**mR(=AYsO#G#S28LN;bI(3mxAXer2=y
zd#Cj+TgBr%D&|#g58M20k&c>)@o%m7Ro_nQl<2knUbiXZe(0$KTHSk9ye}-?uIRg#
z|M4>Q^e+k)GJTA5R$3R#3y$Bu^~l6aRSgyiXKJo4STlL*i_q6;+gIIxutH#O%=Y4G
zzvgPWv>uW+Os|*ZII?NdESrL77ycfo6gKd>^rc&AN6vFbnebKH75lp`p4RwwTeR+X
z?~%rLx8H`DW*d9|SrokYjoRDWy)xfTuiCC!!M13!Y#0BcL#0zJUc27T2tDODEk({H
z^2z*=&}@;sT)&3hj89eiib{6pEkD~(oZ95^m(!_o`&xl(wl{7st1k#|Q9QU{T2-^y
zmR}Zk<?CLWx7T^eHO_y!!Ollo{r#<lnt~NG*0wFX!Fn~{rGIuFufp4aseDX3{Pnu!
z(x-07SQFcGHbDRF*3*2(Z%#&@v6T|sA(pl{IbgZwccyuhTT)-V=S=+Ea7p8P{p`by
z8^rIP*m0io#bU*I)l(+f^sQB_-(e;uJni#ImW9VSy8n7#-EyqYbApIag7U1b$_>XI
z*!doKK4A^?nDivu!C&Cck*0r>B~z8Bq@7Gu_nwoyPi5Ju@V$(elJ<JXN8Gfs2%j;1
zYeUNBvf}txYtQ;cY6RZA#qd{j+47k!i?x4GpW-u}McP{AMwib71)gM<<6Mt_Z)mG`
zHSF41XxlY2UYpma&ok@Dr*#ve&jcC2HJ81%X|{6ojNVN*bA|FkO|>gTMOd1wyhXR1
z<}Z+c<+jL;dt3Hb!S3H29MRRBx)Ce>bBlcG-cYgX%eGA?3;L&Os1;pITC-zgoO*)H
z={KJa2so&A*>5z^jp>tn(z}99diB3|b3%4Ks1M@ld*|GJaaWK0;mJog9QRu_ZT><1
zmmYk7=KpA|6Wjkmc7F%IeM5ZR*0((;1B2HZrZM}R{_S>UmBY-o>0F$({(_NgEbl_Q
zmWOkuDDPiTlhR<h^=qG&_lqT7>6<DOHigWUiRYd0c;cPw&Vdfo<g^zSy;!FHe8HVH
zPjV&N_s2KY&o@{wgFRoyV_Ev^YwIej|K_l5izs4H@VNI^zf<OT|NX<E=I4VL7VH&S
zdhCqlo^2}1nkq|!=Q9|U&UCMSGSAt2^PAQzogEvt$avpfb@P1K>4iDXekQ5Wi!<JL
zx*m)&6S_5V<vqugi+3U=rLNvy%`qqcn^RKB2F@>K%x@>Y?E6%Iq+V~8T=n`t7s_WO
z7kO;g*qF5RrK$J!-$!EVIbL2}qrH6j(q4YI3!PtMqkE67;+nerK~KQ$8l9@;Y?7ra
zopEuo^KAY;oAY&5cK(9Wl0PjMzh}K+JzmGDwQj!0FUF63wH4c5AHJzByZR;X>{#Z^
zU@oS+#oel!CyT7MUR$*O$fx><cOPdgxw)dO*~Pu@qVycL-AW5o<_So>_2~P1K`m>e
zrAzb`p*l91i}Etl4(UtH{x)~NP5hksF?;GuOBw(D7Jt9~{C^8uwt#t)HN1}HCVT6h
z3Yuokbm{PkE{B>Rd22iND~J61_S@{O%R5*9=f{kcnn!Gh3;$0#Vw3uzPc{CkySk76
z`rrHu9{Y>NykDSh6nFUjfoqIOm2=)(9a27f|3_>6tNo1CfiI4M3QrLxGqdT5tpaNN
zmgc7L#*C4H`Sd~+9?j_+cJs2-OPhm^B6^Tq%`cK}@nnKSz=4$ypEa=PK4K_eJCR-e
zBC8wo>jyU+-rv7(KIKZr-t5ZoTi+B7j>=9tJhT7)nF$Lg9A$M^R9C<GZ_?_V`qhi0
z)-Kcwa&$iFDfC*?@0R*mJ?~9!C0+Fy9jm8^W!&g!;WX^hxY5(4sFJJJvoPxuYrTAu
zYIb6prohI2&0AKie^0u#UX#zwICy>0Hm8$)%v%?}nlbCsjLw_Scy2Je=P7eVWql4k
z;kj+!EE#nk=har%GB!KNhrQvr#n$dw;TSQS`&+-BPfVwI^ut-VF1$(NSbN?l#d@)V
z-lsH|(!g0&qP0oN7hWc1DSuE@)8sBmoW@cwSmNlXdgI2EBtutDZ!eCw*=0^?IZCdp
zXUVv#%dG8J6c5hs6!yFr^+DrLi|LNab+t!t<m^-A^V>2jEau@kGjEr8T{B}HCf8{B
z#Y?Xpzp1+DT6pZEZSg-ek7`9Q3ojAL%@-`XdBGttRx6EJ=uEipYN3k;9|Z2qbPo2q
zlDf*bUT4>xJ#I=3Va6&hMl2g!LZ*k_U}$j5ly5w6DU9`+Nypl*)DmXv1)<3X)0aI8
zd80k;BAc<-)y%BhZFfbgl3LFkFr2xwP-}}x`{RTR!|#kHQO#$&jTdcQ$)`T`z&0kI
zkTXAC1aFyjbjro7eXReu!X3Dx^##ikEw;KeuVUQCal1ZmL5W~)?F@7FXvPkmThCgP
zy-v1O)!b<iR9_PEruXA&CiQM{eX-NU<*XrweqW=v|M|Xtza&fTWy?wZ5;ea+JU#vU
zD8IdpqVGaaXVv))bNap<{q^nM-in9Q#0%uFZ;~uytb3qxTR!PT|84mVxhzw2>KPtZ
z8nb=Yt=}14zbEEy{ci2;f1dt1q<equza8cEdSBnw|Brom`0MklNk5gR#ooPFZ~BhI
ztZrk??q9p=cKqJ)YnS4ZYv0qpzI^uU=`a5BR3}Ndi>Kaiyzo`l?RLUFj(K<QtuwrR
zwe6nIeD~94jYmIydU&|@_upU7zI{LX>FKX`mtU>(mAj`Ouls-JpO0O)_%GK#S1wa>
ztUYR`s=~i&(usL*&jfz-T6QXO^S!0f|F+a^FWd01Jl^m_TJ3NC^Ixlty^rgEogF`A
z?+IZ)na9&?AM5KsxE_)5z4>GEa|5Gy6BXYxw#<3ddGGSR?+yPK?_Dlk8}-2QWUs}#
z>O3ErnnOjJ6VET`5m_ug=f)J~JG0pT{`gq`tnTS~IlcAuzt1R6d0m@6ZyE28bKyUN
zlD>&`8SV{N{{Cd?k&~xPQX0e5J~+Eqo#x*;qxXwsrr!pMLk#Nqfq7P0$^t8#1>PlW
zZob7gZ|BiVb0t=+eDOfCp-(E^<(FHd-X-(Zz3#vE1#<T<ZrWFnbBL$hwdL7Mxr!!c
zK0~kL=jvnKem*<D*f*Np$-z>QWy%)SiMoDKZkEXb4r))e&2*b4H)qTh;N|+{yd={u
zK-T8K|D8Yo6m0+W>ZOR>%U6w4ZnJxvczv9<S!v>i&6y=ZpYJbc6LPzMso+Dn%e?7A
z|AJ0`-D{K1_s%eKW$=tO%6n6do~*qmbojE9)}$oA8l_F%_3}4O<@?{vde+l*si50v
zC5MsoY6}6`iH^nvQ@ibCJM{AF_tk&>u>SSuQs2J;A*D>4-*O8tDstI2(`Ap+V;h~l
zPaQRHO567dKkJh1n<JUIcm0W*?wrQ%`JqQ8&M2N(wpQJp=|iE=K6w|xxw>oZS(jV5
z+0Kbltk&^cn=?;%`HA{_YnC{MK4IRI9$De|>7b9r^QRtjq>}s8XRR~g>zJC6V5{+E
z&WCmX4hbnvop?#3xYljPJVF0zhsu`ae3!m`YF_-&Wo5s5*W(W@T08oe=elhFJ=t=#
zHRFOEJ9OM?I_`J<==8DZobJ`W%6k6piLXr>jz<ItC^QC$u=E`6HFBL?SU)?Ig}vj)
z*H>>2-#q-Y%ZdN4%Hzl#+Iv#%|MX7u=UL>hKD(O1Mk?*j`IDWQQfI!MJrJxHx$DyI
zE6gFGr!7{O@?14cH2+?=sbT)n7UnbOfBu+!D$(zmI^#vI#|=s%$`^e*zG_)4@JL9u
z3elXuK5l)}H$PVY6TZ6+%?_TJ{nhhTy+vZ@$>|Gol07VfKK-(|ZLxOV>w=p0zv(-6
zD8CHPEn}}SDO!|cY4`4g-LqKdbYJy=ZLAs-wj6jQx#fJ>_UT^9|1%d@1x{w_+baEK
zu9|3KtJ?~rGryN>9_DaToUk|d$EKanJH@(Kjy~D!-g~J1r-`RV!rQ*~0FS5)uauW!
zTxaTa=53WLbxg~b5#C|TH+3qbrrpKPJO4_Q>|gPH|MA$$;Y$(I#r*FV;>x!5Ms^2>
z?N$-3UiSHB*A=M%5w+??pJ$y`6xg#RIqKP-^{!US`U<_8ZD)ivx@ou<c+KQH@bT>Q
z@av(^_gJ`nN&N7{Z*rKxP3}v@v-a$&`>Y!9Kj6faf_e>R$JGjVJF8yJz9gtGIoF~5
zf!~dLeC(4iO6uupevP+(^YP;g<EdroS|{hE`fd4r@RA%u_Ez=`$E%0m{t|j&Sz|Ar
zzNTo^FOdi4A2JwZIdAfoWoe{Y{dm{-`A)UZX7NXyJ@eS+*#vEy?Oo+IYvQrgGbbe%
zr2p%d3wXXie7Q|Pz1-7{PXo{G{iNYvvFQa@{tcx<)>3)>-)FC_{9E2Vw~}++$=bv6
z`P;1$%xw?mrK$wTXa1fu&+0+E?ZN$4NB5s%J{tJV^lITDrK86$9%|X-{kp`WL}<-9
z({S|$o6rDRUPal434SdX>QZjl9XvNJy0d@nGZ($k6;JuwmT?$|pKRBh`Q!3#Yd#fQ
zt7}HBeb$$Di)XZzoKs#Ze93^<Dkw@~>9u(u{xg2PF25Sopb(yJ%_YD$UDk!4gW25D
z2(r2^0^T1BoaM&B_<`x0Z|BpHnKyPu_*(fI$#u2pnux6ISn~D@s6)17#f4Cz?Uh1#
zNAB^Rdv~gIo$U2Wv#L!pwsubsE!6A0(_wX5Tm8wA&ntwDrgI#doBC>x{P_-dwaXek
z$JUp9auY4JocT#X=KhJ;m0dCCBOd&I+)?jur#HX<+3AbV1z8!_Ip6-B;ZS2=H0kV%
zzwXyP6W{NAEF{PI{Mwv57V|!EivHStW~annxt(F2<?)fv-fC+rDaD-UbZO|SE6B_U
z$=Fv}<5hj_p}@8?AA?KTR~1{uUA=CxBldJm|BW4bp>=EDSJk}w{X5)cN=4$0n2$x~
zf)95@)r+TZp3MEjDCP0zc#XPp4JkX3wQr(B*9JagpI%*Vbo8XJP2$6f<&Q$uyo(aN
z@Bh#&wiH~*&+ND2cm2)-I;Un^tbTloEn0rQf#JWV=V6hCGn=lRT&~O&eR0M5|IWY8
zZMkFOday8W>+Wvz+dhw$?2zh`QfMt)zw_zUqn(}C9cD1qyTu%v)qKk9#FbM=RIfcM
zk1r@(e3mWuiQ(pleo{6%ezv>U?llt$Zw=&9zZ$hDH0}y>uFIbVTVLs{+f-qiV*A}w
zV^;FFO8L#_xH&$*tnYD3HLU2jb@W)FUUz1m-I+}GVuww$#8&T530f)5qjjLe`ik-$
z=J%4>JH2NZKNaMRxKY39af;W<>&fm19q+XC={n9@{mbQb)A0w7PE@^l>%zSAX>dZg
zAJd~(3nju`w;%auD&w%(=D~slheaQb&%3dyu<}2vq1TLZ{`b5Uai8rp68ewdG+iVT
zk<YyCLcyLsZ<#e`v?r;_7)&jndPe(jyMghv!}+mhUa~X1JsqMG?mO?DP=C5&b>*ru
zs{=36c0@+*ES$B9>mj3Yg5Z??a}5!#jGT(s8JIfw6HLlaT8D<k&U>-)n6uEPFfD8O
zGn{gQkF4)UGki*Xsd)ZvsqAv=gwIbJjvJlUI8k(I(i`73Msxdq<rp^zyy8B@P!o1a
zxKwQU(+M}_c%oPLt6I(om~VUH-cy76PKHIc(`{Q^rj$l-8QfSI+PmSZ-)8CPlGLlq
z)HYZD6N>Yl{HJz%`O?Zq8@&1tItbX-c<5ct+sLDl`)kL#(5%P%`fi7;pS(L~Rny!p
z0ymC`-uP{+X<yMWD~~~c>zYS8-EXy9r>^xpwe8o0%)Oh{x3(oRU#h#HX`tMHYsLQH
z%B=b`J7wKgxgYAYx}aL{-!AoFNwd@vujxf>OdB{1+dCdhY;jYx@a@VCw%a)^E1^_>
zwRG~^<sS9{62hkz+5LU7!}qkV*5r~)yh^60MYqK?=6n%;wB)G6(^-)(q_=WS4Ht9w
z3|<%c{;Sq$xBTF=o4>eTdoh+iHQzh+FblV$qE1Up{RyQLo$;xWXVyG8`}pS->skIk
zw{KdTe_#>wlAC1=g%kUVr<+HsmF?u)eo*Z28jk&0$qh^58Mg2R<lUGoYA5+E^j@ni
zrvays>gOYml3pELZ8uT$LQUrWQ)^|USK3782Tb-?J#;bart{-@>+1Bgcg%C$Y+slE
zcbWC!yIXSw@7qY%AAG(?o+ILCM(ON_+js6cdU{t)>*t`P%Tw08-NRIV`nCR#nYCNu
z{$H%RRX+2M$x=3%kg~^RYiG?)x|3PJapBsv-L<>z%Ri<ny~<qv+{%5!iPlSDsiJz4
z|6grQieB0KD>^%&@7a&;H&e5Mt_92H*4{ey>sY{+xE0&0*&kd#ocdU!eskY?!Tncx
zQsWoLb*$AhVoPRU6EyXX<g!);7KYZyFtPpvvJ*3+!XIuwlCH#9d_+p4Pt<hHksp^!
zIyTzwcy6r6r^IzzZT+ELUuW(-ks!p@k$dBfaL>e62AK`ZT+Z(LGe;#X{DR5mn&h~t
zFBclD-@LDOL$H`{xKMcP{?zUjo3iRV&Z{i#eRb>kyzjk#)*brQ#bnz1{?sdV)v#yA
z+!FGqMejb%Q*o(Zv7*&1$~)U@*-iQB{_*qT&&>a~?+VYB3hVtgb9Lj+`0I(E{yF<*
z5##LU()9u=JbTw!pO__+^Tn{D?fxdMZ7XJYF3VQ2*xS5EEGlj@YZb@QFN~_Op}wiY
zkL&&8@^$#%e9Jak(fDbTpHSqq@X|KJtayi;_K|n5%R3%?U%pN<uX~4r-Sg($iyNIH
zzVEqsnCoHrwwGUzRW|N_(X;5>Wg+oz6JACio2a_siE_-wit9amcZHr+RqWps^LPb|
z+2P4n(YHT+ud^{c*x?^tuX9fP^wBp*pWgiQ$Xxd0>H6-Y^FJTdc`1BxXW(=Ojkw8s
z9hv!C^KS7QUzuW@CCqu*@`u(s-h&2z&qs%yjxRlS&@1?uX5Ne)o44g;-nPA!U*{yQ
zbla(F1HY)sr`yLDuZcNq8nt?x)0It0XTC<&^zDC9DWT#qO}C!0cuKAB?ZpB5%I_nW
z9+XXV+0$&aN%@i;H_Pn%Ka0NbPq!=CKE2VFUxd*BeBdv$fdO>+c|>mUZ8M&K@8TEs
ze|qcVy-3CD@3qv-Td}uFd#`_8clT>XXJ_Sdaew`?Pw&|UrsOQmyQKHpPGy;bfJ$Tg
z0p`kcy^k%$H_s2>{FHm1#lGV~`d{Z>-6~vo%=J~rfn?7Eb3@<Nlw2<Ocl}kk`WII2
zKOAXNFRep0Zm#;-bo|iTSAJXTSD0GIpZz!Q=Yl7e|1!?@M~W=<3p;1`@2REbp5IqL
zO85(>=bLz|`zSqAw^(1WE^YsLo87MOD^@#J><P7JSnc@ah^LSBuO~kby-A$0rRJeO
zpZnp546Awb>>AFlw&mSc#P?r1a+RNHM&?hYSvoU+=?Enme0cWf>e18l>#NJZ{`^ya
zxaQ&R=O(GUmUTo5eN61q>8g@bdAIMVsPJ~_ZyP3t#=UseHt$vTud^x3^RhN;&OO=G
zV%;ewrF*?K%X5jg(e`Pv+YApz{U|)-#J7KrYogcc>0fIYqjn~Jc74(MZfeuj<^%1H
z*Iw@0bnfs8Q**PH_j+mP+!w3Nu>ZJD^zgBh9hUXp0u}3aO?|p;!!qtDVgIDBC8ejf
zerQuo;_2IZQ7^S`-QAN~!9OScNvzq}viXs;)qC-Yeyor0y(lZ=7YkO<b$VwgqtC?W
z^l$xzFEUC3m3gbBau*3L6LFo8tC_&EdRoe^Ur#=+2oH60WG_9$v?p4+e`W8Tm%H+p
zZS&z^ZP_4ktzP-@1GdjRll#_igs<$9lMX$|R<x<icZQM2$7K>HU#+^D%Pzfpw)!8#
z^O5p4M+@uo3c4MocBZc`pWbaO^?F*}_Gcxla(Sy96xMFKb#l>kwyn=BrQ>cCM;nXo
z*z<DxU4z)@wNC3_u9N;<t|BwnyTAHwE?X^=InS>!-#=m(H8bYdfAxEQ?6^(A`rlc5
zLcSlI$8e3g{)m;#)6Z|!^*=p0Z_oPNfT>39en;AT?hW&7B+n-Dyj%Hc*O9^}VYQi!
zHzz!B3tcsFZtEn$$S((dR%cyc*EflK78EM0Xi%0o>!+;nqS%03&6-V<vtwWI_1>Sz
zTg+OpYNxsaL&O)?>+_rp7d6!v-#=>_W4w;xk1Xdl)+GYm|2O^p_@b_FrdjEA+n7%m
zzVrMGNZ@O1iaB4qy*2md<VU9y>t{UtAn9*6^Gcb}x!jcK#jB!<okZT8tvwVNHa*(c
zl~rAF4rk1RrHgrsS1eYNDE||c?tAyz^=o&k?|uuY^zoH6QD3+3)vuWAPwsA>UsrF%
zdS4=|R)U{9C&l~Laf!y`XBZY{E)e4_=XigF&C79}QS7W==}BJiyzW@<(eFPJ@I$A;
z`_~Z(wm=8NBaD?69TqCgk7GsnmRd=AneN*kzUpjBPm|=^j@&!FYB_w2cPA}-F15~w
z+tOv$><J2X0T(L-MEi<tPBFfIxc1b4@sQc|42#?g5`M5B>0YOHyejs~skWPUq8GEs
zEn?#Ezn*-rf&ETJ>hfu;?(zidhBSE^ZvJ(@^1_GXGG91)R5pZP4q<3wK6za7Ht)u?
zfEDe={;Pg4KR<UOv&2;*cB^JRd#M=5gIb5oKS$y&elMQEJ<t5;q~o2ZBY!M--LU?%
z1&i{5pZn_HS^R5weDBeuqH~QE4qf4`d8dPCGD@`=$Z_8`_OMK3II<_Od9zNbld#If
zqYfRreKQlCysoXh8sY!ptlul9e0k-|;mr@-CH1vBtMfKJ;w&k?dQhl8bdp7jn}^NY
zbD}R8AMVVrtN!~(T!v`{&xdVO+@q^<e^~Hsa$?GrS`wmG|Ki~TrN#;8y5>c6FZk86
zpC!Dacg@DTr+nr<GQ870^LX<{MI&o#!DkAL2FKX{B~7znUbgZd8`mAt@@@M*2w0s-
ziHa8y;C~`nwc_OwP91*<fq<J`jbFA-4mDSsFjwmR{B4TH?wiE9eyy85aieKz<t9^4
z;b%vaAOHS&`1$1YFFxk=SyLPC&)M*VU5EGRk=XO|YAcK$Kkj6xZ}rzJQY?tSz3!{W
zHMS~QuIQpePj+N1zVl=E%atjQt8?Q8659@Xzqu6VP!#w0!K4;5Q>nJ*%{if4KJUBN
z)|8dE?A|@bzke3VF1^mdQ{8Y>vna!#b?uABLx<9Qf@OBDx4OM-+ZXF)0$KHWydKBu
zz8`G685bh+u8?(WUg>hbZx`+!p7!mxZSy6~;%O&SL#G?X%k50u`SR4Gd6D0bUq5EZ
zzw}smjEdSu4lf<fX~))Gd_C`mOvcyHyejsIeEW9$yVfesc-|}i<k4CAC3T&=3C?Ny
zK4-Y9K5mN_x7zGw#k_5a2lvd!PmkXAK2m?@`YtVdUq#(c&nU06>58Y^l+x;?{5A&n
zbSHe9aJA(m-<f60b65(urpDZoS(3M#xl!|q;qnjsb~~pVPnytcmp}W>$2*g=RXDz0
zxGA-)@Q8~Xlk`6Ggw<7Uq3_Z%`|s4LA7WAwwE3f7p;o(KbIF5){3RD6e&2i1v3m3K
z>Fe*s)XzDyeop11)8~u67(ScvV5`HkwO<@k`z!Pc1)V?e9{<4JCs-qWyd(0%-tg(p
zxgPV})WUw`wg=V5%5dyF>cP+=@~hA9{jqJ$U2AmSMcw5S=-czn`b7vsiPo<AD;pbs
zZ?~EDpWWu0qWfN(n(4g0fBfH=c12eGD9V&}yz%nGS+PqA7yDLh$Yt?=s>I(U+2fPN
z!RBZ)E5l94_t;gh+U!f&On;x;`JNnpNlE3FS;n!FDY~8pS?llb|C{9{!s)%}i-l@m
zhgow@;^brzL&0T}^Aqknt@zu1(C*K?^=bbZ<{OC~1=aeZ(+!1~M3~Kuz;(Vx{Z>S;
zc<mLR4gvE?CuZM0w$j*l)~$8RjXjs8szf9m?)C~QySx6qp4b$h)@{X^^EnzG+$;F@
zrm1iP*P{nV-~34W_QfTQv43VKFTdWprVyj06%)E<q&l&QpMH>Aal~Y{yPE04lQG90
zZo9v&Ozxx#@A}-^qP};}-jCl?&m&TET9|Xv-Eg<ZuipGT`ewak`%#Mr)-P=mqh==r
zp1rrPzgcxpwd4_>Svorktyepw&icr+U%UD9P5sS30w+(_Q9L@m_@uKD&)PFimd_Q1
z&&_f?b6I%dyHgC!Dl_C7Z{Nz8^jYuO%Y*Jw{dP@?@^|*mDW2C-8T~}wtH)34(DiNg
z5o_&D-tNkrwxuZVbD5scj)=>DV%I!Aef{}|2P<B_<dm;et2h;+!zSu|TldzZ!!|;Z
z8G%YaBCmY0+1@QDt5$7z?d>V{zi*D}RJ=A@sv~L1Vsx`Pv9smGj3-R&K8FkMh|l=g
z*~3&ERbCr6tw14IPiuqcyKix(#UIu#?X9YDnpK~AlP_k!?@1${7m3d0x4&+CC0D3F
zS;zBgc!l_E$BX^j?wnCx>e5jV?A10~hVjO;sc+vG&N|+8H0!xfp#G`1m*%c8ELrs7
z&Gl()-|~0g_{On1{j<mNm;cT#TDfXZoL}4NjA<X{cG<sLcFM8wS*FC=mp?DwyJzzD
z({4>}<wPFu5}|sR7^Ag4><JfhPs#MZ*v8E5aO_rPzw-2)8UsEy>FtH$Y}>EhGI~FE
z@s7<i&E_;GnM%CtowF%WYT2Yjd4VaDGAj(vr&R3Le04P;w9<O1>cle|rm}NSHe?+B
z_M)0$X_IE1hWJUrmy<kCJPmYE?zz9jj<a(6`GtiKM9mdbM0jKN)Qg@!^v6oyOG!S)
z{ba**mY7qS%nMS34<%lxR+`+a%)9+UOr>S>laGu}4VNQY-BYjI%=~2YNv!{mH0!n*
zB_@pb{J%V&cy`9cmroi+zlIuXTKUfOnEX=WlnUp^!#f#5!Ybc)yE<9;Z8>hJqq8kH
z`}I6EhJ@MW-#9OA=X-zBmNB%RCF$!=jUDq$<g+i%yTEs5`k`o!kj>i#)b^<uPqIi`
z$8p2VR5PXgn9(|Ut?7R@pIYh@G3~|rM`s@^W!e4d41ImeT$s0Eqt?HZ?N;A7v$@Vb
zs`ax`zV>#_-$h&+`!+BY&8!Kot#E#*E2W}hag=q&+SCeP*F&Y;lTDSpXWncUpILvO
zA<5AFvCf-Wr!H|kQD~~Y-l#ogYaWv&&snEeR}UMlV1J?2XcAkpWq*-SUgo3O+_OYX
z->B~^Th%p(P5P4O5rdPg_kIYTx^H7|{r6}4<@fdbZDzUK*jU?I{d@T{MY7#X|EX+}
z_=K$EXSc<bnXKCu>%VyJPK(G}<r_mxXLVm*SU<f$_{7w6`MaeJQ%qG;Di~L~)V(NF
z(w?SvGvU<g#q#IWcS`LMwT^lAw97>N@2*dg>y160Hm^B9{pT|ITRZkGeBLIrt2oYX
z^~(_3m=&Ktn{0T`b-8(6KuiAnvuyz@4!czRk5Cg>w_jB<Zp+y+=CbUmJE|6k{;E(*
z*gj>+?jL$Z^*Rx5ZTC`V-Lb5hbI;*JrpwohCkicRuesZqSZzApz2(CF_&I-jD*k>w
zo6>pmot&+*ultG>%Qv#x?VEc@tikD>cVit(V%y6UcQ%$u%XAE<i%$8(R5N{AR)Y|y
z&K8$8*|Ygv;g=J)oX=l)c<S2R*Po^D{Y>%@p8Z&s)m_`hc+J214@WuQNqjn$``h~X
zGA7=OAMKug2z|HFe_8*6c%fb5&NofDY7Xg3A8=?rRPkm9-~BZ<X$5-}Sl7O-;d!OH
zx8Nu9`8;N$&y&<b;&-XLw9aGtz<QL~eRsu!C0Xm%PQQMoPWS!a%ay|Ye;cY&YZqQM
zdeG%Ll_P8Z#;*eBe!DE$oo!Oj(5YSCE4Dk^#AHqR`it%E{928zOFlaJ8894Pu8?}f
zj5%6|u{3q_N(KSu$P1#6Z$6K0G8J~aGyB1xMwapm?n#SR@v)U%m}8>tFmt=gdRzBg
z>-ZfLIb_(^@!Kyf-SOy&cJy1TIof9)N{6^K{Pj4^Uodydf8p!3zw8s_yTWf5)z5QW
zsJrO*CaczkX60UcSjt!B-t3Q7p7{3V{i6)UAF{fFEfiXh|GHQ;)o|<k#d50zZ>kqo
zJFyAwU!*!o>_x=Ie`zo53o4(uOU32Bc6HgKpmJ%RosY(ervJ|}<eXk+K7IL2O213E
zF+@^$&im-A;XjLhy>Csrb>iiz_X}z^Z~MpYepd93G}kXvmd)!lx6fM;8)TvIyS(q*
zWYz}>ccgbPZLcx066%`qXW0jt+j8DdQa%N4;!>D$Z(W=3;&&-I4?fh?8U7ak6vP`a
zJ<y(CbULFwe+83?$@B+vShVV=2A|BkZ6L7swf3_M%%uWnA1ZaZvqp9?`0aWzjjb`~
z<TeJ~b!*km-k;w6<i-ol<&hTo&-N;wOyK5ur(|~XzF^d821jl!)h44RqbnQUEn1$=
zHq~}FyIbqY2WP{}6e^!3v+4fn+2<bax@AWw$DE5MPr16zu8dr@(y?Vxllr9h-|GvN
zSXTaC^)uV{@QKhrF?aOya#g2?q)W+8b5!Cz8^Cg-^l#Mm!z{KIa}<6XZM(Se&8v-e
zGO?3iEc+4Py(OyUpnvv3o(X}6dFEwKoDrycW{Ilb4yU3u#~<*_PFOut=e$ki^vx+d
z|0%pKHk&%p*_L&E>g8#x%eZFWi}X8ocZ!7lIj69N#nu*oqEF=36mTqv_c>8_?C;Cj
zb=GGywl7>GSsuHY@94CD8QOh@La(O12<vasstn2$487WO_QLeFv9+sotj*6)|1Kh+
z6dmyCkJ664ekqqWeR;Fb#zyb+>*?$JPtUe++!SH@cai+AO<lsRvs9)|pK@jeck2C5
z@;^U4Root6|KiiJP_Nc!pJn#Xy4=nfGRJFKZt~n9J?Gww;;!Ee|1m4wyt)e1AQ53Q
zhMbVjWM&RsI29dTe0zsv?f3N$qMyFx=$3XY`sSIf-5GTIlGm5KODc!8gi<#v2lnX|
z?%lsno?#MW@`P<FKEIQi#2;ESoI6;q*t^%7zdHYXUHAFA%EM0m2_g?WDn1_iESco^
zgjHnm1S9=<)$^?aEB>k0z2E4da7y{d(p^<E>-?v`ZvU*OJh#4tnO(3%ZrSsKZ8O(h
zirsbdRQ%kpk2mM1v(&ZN27UEo`Skb1?6v3YY7gF%dAIkwK~mrg+g0k}a{RR}PCs`q
zHMjizmuL2b*7vO%LQURBSS|=V+6Z#-=4|m<e*4Rw)1Eg@Uf;cF>+bpQQnZ`G3SY(x
zJ<!i@I`BeQ#N)vRndI`id-Y#e-k1D(Z13wQ%gXOww_nL9u*6|i-6!+A-+v`eUt4_l
z+_qaE)c$TeZ}u`KzIM;~wC`WppWRG96S2$lb1bWsezfiaPl-hV8@Rsy%?`Znc>3tO
zO&Si0i{qvnJUP5-_4B%(hQe!+YtC!-c+I<TPD&u}OKC#mp12JRw#yy2rYJetEv#Q_
zv%v1rjBuM3<%e3-{|Fe)-~P2x^k8HDE^g`8hJGCe8x~H#uMx!u{>xZ>WeyKpnQ(sX
ztChQNuWw)$V>FagP`q;^eZjE_n|J-K+%-3MQx|*bYnvk-?pHcX^`@#Vn!i?m+3%<4
zwiW&`cze9(_93em%|HHqTyuHu4-J7oCa;S4X4m&xlt{h4q`#8;2*={2!|(dlnpZ#c
zHLmVA&PiXNSuxpfy6%$Fgl$S|Gru`@s?AM}-unEMt%v+dr!BdOo0?Tu%*b(4s=Z+m
zT~V_kmYa1Ue_!)u4G+yliC6lXg+v<HS4?d3k>ggk*&%tP`Ce$z-T8aG+03W^<v*Ka
z!`D2wSFNpH=l;_22UBKozC2LmdSchpoav1s2Y5H1)4F@_b=b7?m;awo3*BctWnXaI
z{1cH{HCqgR9eYq~${w=5_4V=_p94i$oMyT!e%q^OBPzOW<I$V!9YL=o`D=qFFG^1?
z4);0z<E`W!uI^~7drjQ&QBNK>*iEfD!+AvalI4wMu2vV=`~2#I`s7_VaGdEa;%H~R
zq`Y4)?%VoF|Ku0UJy{^5F2476@ug1o!?!&bH}xG!3ZKyU^mV1U*)`KYtv5ELCYLAf
zzcew?KHB4Q1p9uI4y)B$olN|v|7zoNc>YrD^!qPU-{u*!UbTPu+<5EP|7#ZCEaCrn
zcHdFm9T9iBt{-doRBF7Qe|!DUIoCJ!D_H1iePoUZu`h7Sv2S{AU_8_I<@aOa?<c*!
z*RCSRym{$liKDuA?D+bo-Zr(+uVNRU<{frjM}KoD8>ifjfW$5vtv2ox3qJpSwffR*
zpJi8sxoeZRpDf7<-Ds)PEU$XW=NY%w6T?eJlI%-=t<sdO+~>Re6tg4WEgfd|`VfuO
zfZ2@ql$x7!qf!`Z3uerpoWj6p_xMOJPs%)Lwq-ndZYn?jZY!U8B0@Ihg4jBF&ZBya
z!d+a~MWr{zxbwPPsbfC7%IyQ||Ehbcj4vnn>&_}<*m|jlvvm8-=f*c~K0lCj|NWcd
zl?pd^)mLeJF}j^yKQ*dNsasNIMO#wmR*m{ku9g3d)f$%yw=so@MrKWBbd)r1GIA1V
zoqyuSngYw6sv56_m?pFCE)}<NQ8-i-ed*BOZS&8)JvB9SR_M3uTWsCS58n6M{md(&
z#k0GH-z<Bg{ujqvzbhj5^(gx6l>W)IGt)sQF2_V}pMTPX_Xe8I6}y}Ios+{ibUwQ(
zIE$H~eyW}?gOST)iz_O;rk+oC7U@qc(tj1RTR(%Xv|aW6OZDLB70Zl&f8Bri=DIaj
z@2*9$ok~5$t+hYvS|hVkh?Rl+zbSdqDFqusyLlvB6~FpVW|U!)*)@^z=>~&+n#@lR
zrf7UO42*j-|8E+nO#2Z%M&XmE3+FJO7X9vf`u1ODCboKKrg)c<DZ-)`PcA+exnSej
ze_BySQzpCbJbIY<`KP^}if!w9|9I~`S}xhTM=kWBtg2fDyZR+>heMOkehFU6mHJ=v
z%l;|7+iZ?A+G-Wf2!8x{8qdFi)nbJQF4`NmK2PMZUyygCQBz2#Mz8PSS?wc*Dnh$0
zd{mZNlspKSGAHE6{`z3c;>8&;3aea#-M36w^l*^~@8OB-u1!+9IGtBlsx*7y`V$j#
zN>+UTAJomgFC@$G`IBewbp@|J44c2&^_%0O%W+!@6$SWe)UzfUpL!*#zjRvR`=SDC
z&wB@wzUV!AxFgcwc;iN{Wo*m-^0skrUaFOq#+&9eA&~p$)18vOKV@8O>gT3cXXj=c
z&V9>u%KY<<gI?2Y*7Y_mnil)NV6~VWw|r}(MelK=HCgV8^BXSiJCS7XBGH|$vv2N~
z$@cDN@7S_6%-yNhaD5rm^4aSpa%TB|etCWAoz0Pwvy8Jsk|mX`irQDN*35Yp99#5b
z=KlUkyI&UF)ZN^YYjysz?we<I2dw(*Z~AE|ENDy6nfu4X?N-_6$&~?_2j;YI6MDZ;
zO_!<RH`DxSQpFY@F8F4hQGCID>esusp*9}(c#dCqakP0_)3u2lZ=?(a_DEc@*bqJO
z{)X!HWp~_9M$DamsiQ3I_0_|1b+sz~A(CNc`~0W>4zb^HV@>$BrgwhjYN;_ta^q9~
z&91HYzkTCPLZG&tw6k<?`}FPN8<*Cw&N=pJ>7u%K?dN~4yqxzjCbwgHv*(<ci(*S<
zY-GB_9(WwS{3%_HS^eR&RF3uu{la-&u2ozG(uMjvB~FVd=1n;>(c#S`!^S<=a(6HU
zWFBYPF#Y~3!-EccU$?V=Rq~&A)=ZM+kJTdaJ)cW=h1RnwEVO%D@iFvgx=+hjTZ{fx
zTJN>y=6#>NB{En~Z2zSxmQT#&3wK<6ekMI}f!23*!}zwSeY3yI^Qeiqw|;A1e6c|0
z{=EZY20J{~<>~+XC^%#Ny$bWq|1Au{zFj}CXVzanhAD5>Gp?xB=KQIC^k4s+(7BBo
zCN@*|zW-LaEtjKuRei?lnHTxm0*!W=^~6~1Nb{4=xppY?h4YW)OE>g*bM5d<lr%8r
z=<L0`>6voyjg$ggssDv{H?5R!Kkk<;>|ZVR`cRH*+T}IEM(yj>Ha91Rq?omTWSYru
zmaS;~<=~CXN*!kDDLa0a^dG#Tusu)dGw+0-+f$0F3op($sb5*BqF`M=+t)!q>_=?G
zI*#0^fAa6o@wEjC-jX@S-C}oRP3wgM`N@}0edKZ15IJ)4`Gp<>ms9_vB>EnuR1|+T
zoVllWcJ>GNS=%pPH~Ifc;xJ=F*HN{G&}pan*}AST%@){P#kjTR(#xfKt4>4<@a11C
zFOcuJH7R>n#EP!vY8S5U_>r(!Y+AjOywe;p=YWp2weK|A4zREWJ}g!H+nr*vXP1{A
z`(u@V7FlVpCJMaqF;&dDyyfHW1Xs~M4W+H`o7ei3F>XlO#2GNvZJu1$`I=q(?ld&6
z<Gwp5T{==d^7*Eyj-4NSP3NqbwWKC%_PJf#8j|Op|C;wd<d68|X>W^e>ad7EUeofR
zs9w?Qq72`Mof#?eJ@ds@2XNfeEEQgTLBYvJ!)CV50-q@Ry_T1@gzA`HUVrymEQ7|;
z0Okez`uaNlnCR(7y}Hku>Ma_Y(Q<Xa*om|M=GvY8^j2@~x!jMPRTsIg{7RUAuIn>j
zTX4}nvpGjgcII{l@ompuxM{-H6U~dJ1jRl5xSwqvlf-jqyVL@_-G|X+x}dR`R{hlJ
z-o>{qcpBdS6SX>JY<hUP$Jb|Sxyxo&U5>5Z*1m=PXjsnMh)Ll=leX=zW1O@}=jX+D
zN0l6fR6a5)_%xR~G~X8ddcWSCXP-$zqnL}A*op{&QzaYDxbxr7*wD0bcY~1N><3rR
zonb!N`}T5z^cna1zI(cE;qnQZ(_N&`HXXfO9~XJVQ>W>uRt3lX)c)IRV!}`6eNO(9
zTWDUj-(ur#gO=id^=0|_N&W|Y4rp{{)>Lpwaw>g@spw(<cJ|#pJ#IO*!Zn8_XHNR)
zq9N)he>|o=bkg-yMx~<_7N_?u*Ouu$G(F{vZ$#?J$7ZFUPsdJvdh`5}lcx@y)trCF
z<B{EMqsV$+x#PkS(|=t(dh2YCS>{yrXmfq-SI^(Z^>V$IFP;3X;zmR9qAgr%J_4%A
z<rAOZTJ_NFk=u`-Uafb`GM`rMUeZ|BD0|^)d0gI~uD82N+%wHA585^))MQvMQ(X|8
zpuGEb?fYqAt{aPbzaO>IzI5f@DXmw|2~2!zT~@!~)#*xIQNJ(9)$-4V?LIHpPtjhs
zRaRJWdB`NYC7l927d%*m<pftQO+Tr>amk@gCbHg)(&sOyMy^qN_f6YG%<oHu*-7tb
zZgXx-YI%QeT2oQFckecvOp82|hm*E`pIblY+?+|fKkd}g$q7hOY~GN5eeyNqmXj+s
z%k4Vs66DA8xVAkZFg^HSy~wQ)4lXm++Y5cKURbs^{Hu?a-i#^k%hH3?3;P&)UzeTw
ztd)D=j#K;f)Q^+GUT=w5mM7rbb>C*KdEH+vM&&&}K8A)ZJ$-CzbsYEKWjRlo+ny&a
z$y<{+cba^KlH5CocD~bVGG0yo)1#m>jkzY_AfJ4Rj$OdF>>9&`R(1t-F=y*b+_e@7
zPU?!dGqJ1B!_%|JggNBXr0>SJoLf)L+|uzzK<U#a>rY3$*PDliU60IVpTex2!DF2F
zw@3fQ&y(Boa%?=MT8&R%e0AjRH=V$u$B{|Z_cq$NXIIUbl9m2od96iL<}DkZv-{sV
zR_&Bn(r)3$uI|Fvee>m-HYvNM5--1M)=&Fjz_pT1gLP7h-m{z&o_7m-`Zr0Ww-}l|
zSfSTC=c03;O<&B4hZCN6Y>L+3tv7%6bFHtJtUuj5oquW3hMcuKl=hi^KRiFkUN>63
z-^}gO+WC)y_uk9jEg{X=_C0d5+w+DEF*%o%x1GBCvH$nYFUM}CrcX})$zQ>?YXZx4
zjrmd{_4^)~%3i*5(LZid&h3Z3Qu!KdBvx(Jm;JY^wLSjizsI7JJw8smx-7Ho>+RL6
zuV26Zv86R-ZrI5#oyn^gotYeZ{)aoGj`AX<%UM=TTD%uO8nnAjZ{R9s38_5Ib(t}A
z?M=rQl1{6WIkFoRnG7E0MjhzgcJurd{TKJ@3TL=pzU3KLuXrGads6zhNjExd#ivF-
zOg6BW57ScnFk`FREY*PP58kBC*0T?f`0@1TP9erM>RV)5uF0I6c5U6?cfG|NZZ91V
zB<?A^dh~YS)dQMSCO=@WwfU8F@5){-fvLr>KBtN2YZSi}Y~kxqV6P~+^Jt>N-w8Wc
z@jNe^%2Kk+>(JN9iA*i^M`M{<{PKh!SO)#QH6>g0ka47WDAQ9(tF~#)NusLOyO*`7
z{(Sj;!qHhA`_5O-&z+!WtYbDkZ~EWU8RZp4_wQFq&V16Iy0A0GN_5(~E8BEJru<su
z&e0(8^55LXUH{hZIu_HQXDaIy9uoPY?1Xdp7T@I>cQ<cKn(bFO@hg|i{M+@FXP$*x
z-+vzJF(X>SNZ`TuWU;Wb%jP78&2oC4_V1eRtZmgk=Pt3CH&vX<;xJy5^H6o(y)&_|
zl>_{9j<(v0zh%m+?w`HZJN)Q@j_Uc07cxKDB&jS)3*dVAc%y#ng5-F=AOD1Qq_hP8
zw4SQ7JhoQEyE#w5{o>E^sWVTkVmq#^#P_NG%cC9Uod0tFv1h&9HGSe+K@lb+lj#Kk
zJfciyklBpsdFldO^)Ea^dj)Jf6Y@6AUGk_a`TdEhwl^#<i0N)rniw~+=-AJ%w|m*-
z7pdG1-da7eA#cx(`1-rNA1)>xai8z+m+xm+6I7;RQGBQK;@QV1G?odOd#R*{t-5%&
zrbL?a+;RInJ+~;YG-2l8y+2I$$3K0VG}%r!KA`^7$7fIM)tRo;sNAY=bve^hxVZi6
z$+!G=vzp%}9hq5F_T_YcO#c>BpNKizrOx{OD?N1hWySv~NzbP+-BJ=;eB)TjwCL}L
z<rmI0-Zj@^y36#OQ^$mt#+vMvKdo|W$?H`*{}?7-yeO*4+wW(7^L^?>+vSeM2kqF-
zR)&dGx_ZatL|j;Ybk3Ffjq4L1l*ZNTY!WTmVtmo`-PCKP+cYz>rY^1f-LCreb5q*Y
z(`TZ^c(M;{5MDUrVxQg1Or6{<Cs(bhIB`rkGdINUQN7UF&8}f7v$vdEvHuizjJ#X$
z|AjiMswO{kjWvw<cUV1QbH43t1NBF2$5$`6ihsWUvXwq})B~f{(^btDSGo%QKYC-v
z)c$(YysxM0m1HM=lTZ-xR$H6>jp4ATxO>pu!owfk|7gY*9bfwKe*dwAN&GqsTAZ7;
z1wGH{-e#@1bi+sMSm}o=(Fec(IZz-sSJBJM_3~Sr)q*N>UD8uO&dC)^i3|BRHS~69
zY~b^aJZzy}?(_HV4FCB)$M05l$To)Nglp^)=25yC^^JSt)@esA-8fCYV6y(SuZ|^K
z1bnzIE;Qy;+cfQ{);-fec}o+KN;MNZG42mtIm~&L0&<!X&kOnG=A;P7zPu<HqhRH9
zijT>*#UaCj%b>iW(W0xdhc&U`--H=2c27U~;)|c;#|<jnXPYP0@NE%Ke0I}Fce{P@
zk)UH2-<+(@2&=!cWNBWcvb34XD)Y#w_0`G(N+mfDJi<a%bj$C`f4d!aFpIr%<|JFa
z<<B=K6!(`pMaZ{Y(Nq&IpOOEc!*uCGo4kfuuNN+x>aP22y&(IJWmCCUoMbbtlrinF
z)y+Ea=)L2%{#mcxyFR+O^xTSfX0bjm{?hhf+s2@ydcW8XX2r7AznP|Z;jQbEs-2qK
zyBEZzhh{AOEYfBt&%fw%&174JKLT4<3#d$7d}&2NP=L*38~^v=lAc{WFDl>5wl0XB
zw(xQDqk_H73%o7bOExjSUUVm~tHd?9R;69JCT{BY-Zxo1a<_iJYyP1wp!$2w)C5Oe
zEA|QJ-m-=Ac3z7<Vq$o8pLzYVZSxlPRkywVvBtqHRot;kO5ty(+9|VpmN6b{5~faw
zkluKH&5d1h(V`na8@!mjJwNIX&uQVL4ZkdZm*049^u~FkXsuS~V$GMU-lhfXDfs#|
zHJ{yl^~s9Wcb1E`m9ONrh>&IAZ!(ikSnj+2?1u;I8s@wAT})hG`)*yPfXn|`Z1u^f
zzVp7`D{FFD|MJUr{mnO@ifX3mzgGXWP3!);zm-4v+I(;9XepU`{_`uv`lbc$oG)5K
zf(y1zKNYU`_s1oE+qu#ozVB?bd&MTTXG0<L;fLKft~=CSnUlNvm*3GYg%hU@PRMh8
zeIjD@aBlDdxj9KT8{ORG%>!QLT(9p_@7xeDyI$dEVTpI$ey_tNSH8@sGwI?NGGUv^
zmnzL4z~*SLA*;DMVSd}}&H9(UXI&SR7uS68|COvy|IT}w^L<owjADaVm@7Iv+kSO_
zU@h{NN$qRx)4w|A$F<eZa>iv%GIvy-ax$vqfTk{|g{*qB7H8X6<qh#G=UZw|Ds2@n
zx%TsZ<c<0_Gyhn#WKIca>=B>vRZ8gDLxmcKswTGD{jF@)N3?$OWyn0P_KfIQx5>2g
z{Gnqn`;wE^mvymr_sU)K`>3sPgOBz0f`n+19DY_0-Ik`ue*+f0<ZCpaaMaI}yK6b0
z#%*RT>zdYvBj;NJcHevFe|eUOxwh2tEoU@#b03Z_GrQJbFFRvrdE<s_&#l`3-JcQ3
zdp76coTBrmP8MpbFWOpk>4(*crm4Rjy&@gM%#J0Ua!gG>n)2Y?h5e7c)@SMX6~5TD
zJ7wa7i8~zTF48%)b)9JIr>!5qFJAaoe8b8+*HR{1icCJQ*>>`<gVo6xn~tdbz{Q>=
z{~Kg?amSo1lHb1L!TK28`UOf!8w(CAr1n2ocr5i`gXhhoTW+#O=@#5#eXwSVuiZh-
zSUbbLHA#2)Ce%Gqs9dndmEZdBlR}<l=AS*+L?k`^FC}H&qUM;v@>C>SP)c(W-^>d8
zYKa|oZ({e{)t(Y0yL8rZ;R&Wwf@-~5_vAm4$Y=XIop+8k$4`^n``_#dn7yu^?Z&GM
zM>=_Dt*A8KA?qn+@$z%~-`lsp+x!moeXv>W{({0EhAzfi%WuDnj;r$O2tT8jbLP#x
z*l4->_ZK#q?q;)BcRF$G&5ciK?EN3-TriBZ6Xa@^^xNs?eb{!U1*5Rv$%5H3$r4<*
zQhZOFE=+T3trlBWd%HI^@#W*GKUPcL^{7v~`hT{_r1A?HxdJkCzr;D+k<)BRyT$kZ
z%BLUR9ZkPh?6p+&bY`1Smg4c~*;&CTm)SSmHXHE0zf$+--P~Ia_m&>&*7IK-x@}SC
z)!<(O&(3UaFOrq>S!J`s=tOO)fO?7N!M5j@1(pXyeUoVGT$VUPN@ZX9-U%EHqFKkw
zA8Or;tY5_Y^4YFSjt*CSdc5PRH3L6vJ*Vaz@>JV&)|-H<Z=E+y`^yz+z9Q>#NMTbz
zYoT1I%>M3GZJ!$DxOZJ(UTkpk%1x#7TCcu$Jy+ZOQ+eT+waX`cmTS0M{OsYGl$lp`
zInN)Mx^1g{DDxF<|Cr0_JJ#4$oIMz!S$Rl-pZCD!!uJzTi)fw-TGr~vvu?xL|Ho%f
z{?BA^%5Dz0M>qY&OMVe%BO|lv0o6QO^%0)sw=IPB{SJR&_N7|PN#{<{<mo?-UY4p>
z^8a2v`H92i2}d@%?AmEj`2W{Rr^eN)$7=--u3~bz5`LO}$L6zV=ElySbANu#50%4`
z<&jU^YRdM{W1XaVG`+DPQsc=RyScTc=Qg*;hUJ|4k@>sm*WZ6>%l<SJo^LkonYUZ!
zsCxMKdiDBw1rv4|-_t!(`>gV!&dvEXf8U)8x^VYQjN0OYZ-*n^rE7hW;4i$Fx6SJ3
z_s;D7=Va?t?Y~T|dvRI3M)cF}pDktQ-n_n39Q(X!?zyER=N5UE*1A2GE=yfH-Rk`2
zRie|+^gXg!dhpb(zsuIvZtIlyd#+UQg)hX*^Z7rMDSnd6>#O2wikGVFUX^#rC;ZE#
zr$3&YJFMp?S6KE!Wci2Bldl{Np8Iz5{zq2YMQzbPK6ttwUdwfG&w<%zcc#c?oGHs^
zpPcb^>ALN$kv3~RlFARx4c)lT|KaTV2m6ox2+sPoc%%PL{YZsM?pKm$#SWTZFTQFX
zULn`>!+pMY&BxX(-55Q;`sa5NlNp}be3@DD_hwAN4M+AVR$NoKL>XJ1`^_3QO}(nf
zvtq^p0k_8D{abhKUAHYocDZ52%gD>ov!+^Y<PM*;XTp|gyL}t^v^H1mR=+rl<;$m(
zKdVl!F{q!F*6G>ge8A@NsmMPYE?;%Dn0me?qqZhp!PAICcIpiSomocx<xg(aC;6Ti
zyw|=Uc+So|lSVz4Cp#E>ce9zCTg;dde4s^o<AqQ$gY~Ruthr`%{IS~{b4q-QV!#g>
zrc@u5#xAQ_?-Q9g3uc(EHh8SC_+RPnn3ze9!7nE*%bBHf_1b|abN#kePFt|~!iVm<
zSDRO_$vkKJ=2Y)9BMa-UoB6lWe1!6iV{g?@-=b)<Zv8$TJ?rI-?aTZ&YxgzZv6p*t
z=ylC9o9Ru`DQY{8YR}gcz3C!QXFk8n&+X`uA36eecGjGHY<pyx;o1Ybk^2;@bsRO;
z_)cp`@Qh?y#A>zryvS!pwcx(WY*P<8NfxupLuQo$Thti$mZa(z`1mE><o@G%b9VFV
zWfK-%t=IM_bZwck+VZ>LRD&%)8cX}-BN*#;u$KS%nryPON`BTsY1Py3y{Fxurc<D_
zIH)+<?#Pb)9Ge~oPg~C7nen~<w#n4Ihz6dfgpV$DecyMP&31|mF6CYl&_6G^C3m0R
zR=ck2`oFou{%%<PYxVhV)t%`v9Yv?w;>DCC4b5kWDdp8ybu9U|uq9Kz?!H~je^Va0
z;7hZ^7JcaTQemHZqIBKb9MRidbEH`FU-y^%GY~uU^L?6hviL;D7do?LbKX3x7x=Fx
zdtsf#)~G30Zg0vki>~U-6kQRx?BQ(5>?)-&YuozPp1bEB)L-D;_V~^0xj$DQKHJ>9
z+Ueb2+YNq+*XxDXXVhP?JS6Z@=+4`ZT=5T|w)_0ND6;;Ag}N}apW2jz-d&n;3lzkZ
zIrQgTedK!dbjOP4iv#a}4!rlRMrQUr`5T*9-(TLuI{Eje*6bjSGyTu5a_os$i+p0d
z&dNOAG&RxFb&fpKhV0+dDrdAtzZJJtFlaaEwNUA|e_D9r;VqRfQ_?x+)<6Hg^}^gH
zEyp9vzxeKAH;mmNedI|0oMI)<qsqIYr*E+Pv$8n#>%!tj(Y2!Y6Hlg3FMFk~Rq=E2
z)q5M3UX5X%-!!M9#<6<!(kO1PN1u0;9e;lIjnGcTk{hWXeQt!y_b<vcvOl{@rMhXG
z=e^oS*XE2MhJa6Vj#_ZEiwGZCx^7-Z{rk#P*U;c~kB^kRFksQIjnm0^CR-Qa^UNdv
zf`pK^fr_rsw6#97#HIG!+;Hp2<UhI-rm$+7D73N&)iso=ys&nc+Gr{9FoR*bQ30!N
z%#P*WZI-Kgj{mNU&swdv$D#V<xwl-}9XU((Rkn$+oqAz(?lJGS9m=M{e<H<Z?{NFB
zb+3N<g|2(A51ryPN`9Ku>Gm+}{U#QZV|PEqiIuv4I;eFublXYKR*ef8cc(badc*T~
zvo+_N(m3gRPuW{uG4ANNvpx6%CzDoo%BhuH6$y{7l)qEROE8@~$u;Kk<Q-8AI{WTT
zV)_64@bjx#mEP}HPv6_ST`T*W%3^`1>mOSlsIdDmk-J_)TR+sy)|l`29$mrJyKH&I
zdu>gMH_tCG)X==g<$2vYz<f%^`By96I|rRGQ#rb#so~;=rUlp9q%wX5Y}O98XnIzj
zo%lk1Yr_+LXRliQD%T3WFn;gTEHW<af?A6TL>8`4;}aCf<#03Xe71F6)}<HoKmN;f
zUoLz8XU_7w2Aizwm%qQ0^GI=b;9j{|o~fzfJ<sCae3+rhA0}4B)^z5L@lB`qCV5|K
z+?PlC{*Ra|yF~R)^1Su8`igHCMn}Bdbau7bo`QnFC#8{Z_>6_7|IE6v_XGF411l$}
zi~62_Q?+{fs%yVr{dgqMQgQFu<Gc6rOB1zi=Gf+{*dLw!O=gACWf|xC)jK=B^B*~P
zxp&*9)R@r1O|6?VWBZE_@|@rNsqnY2R%`q9?@!xnl<fufU00pWuz%Bp@8yvi%XaHX
zeEr$j&EsvBrD-2ve2PEhZ=Psw6w4H`u<Xo|2Rb+9oeytXaX?iqYvMdv?-@p$->l9!
zQ|N1vy@b`?Z)JAFql;a)g?jZL`_<>DWLK3<wOrpZ`Qa5cf1b(9uCvE{Ydsb_NiOYX
z&`uxMyQ*hb>CIk}=Vdh|=&8ZRtGD*Hd+wRtUw!8Lm4lxrKYiS$bi(dg++B|X{S+sk
zlRHA(nRv`udltwX71!hc`{Pp9|COJ&obj=BFx<*HVfIajoM}>rmRr8@J*X_^7V8wR
zUq5Yize%=Z_aFA6CBN8v*MIDKz92cqLU0wI@E#)$(b(S)gI23F%iX%WSTX!yQDItR
z5i56%<szZ!h5y!^es#8n@9_7Fy6-!(_a|ii5Yi6vQ$8gvv1ZMwn5hSgi<WD)e&l|6
zrcr2Ky;)(Gdt*!7_iy{c-)jl|IWa*?LUc~YGh6E{(YksGr>`FjTHe1s`8;Bm+6329
z$#ly}A}einUD<f}W3QP<U8Te$yE$!4hFRjZQQG-cGuOU}HQ;+;WL@I3vf{H*w4uc=
zK4DId<q~n7Uct{SuT^#ly|5|BnH7*%A>DY}Zv8v|fBa1i(JJ8952M-iMgtyU(3r^r
z0Y0tiw=D#C>w~k8w8!1t={L)4ZN715`mT&!0Xnyyb;`-vPI~?C7bAz)wiwmRy}nEe
zu1xZAU({xIn(wr$-f#2!adU^-nc`&qw8>Aa9&v}ad{lWdPrA@Ba@pkfe4l^(?0<UJ
zrRbg8LVj=FpL^@hl<ZtN>26v7pUtbE-n38WxpA-MtMtYLU;kFrZ#s2;-~SJ4njiAi
z=4n65_>`pbxwEHcy6X<T*>~put$cR#a^>;mDb2w~5}O-*n=}?|t`R@TU)+{=@yYKi
z-))|s+FN*jxsy?Poa)Y1_a3@fn7^B<8oz4Mg;Mu*F~*b5y{%M{`F@G3*5diZVAZ3O
zr|vEme;)iyV%_taK>afImnyFHUf%2OTA$u`e_Q{qhE5*a=i9X8ji*jNv&-c7v$t1P
zh;Mn_T(;b2$G)DIagmo^Y-0GhKzzC9y|iAx(!G~<`-pcweA5~FPHOJ!`Dv;(*VwNu
zXWIYaIQxxn5#5Dvs(Q-5&8eMrHlzJ_?LO=IpDt)--+fjVUfp%{wfw%2t@mc=A5?u)
zf3Nv=jjffWY(_?yz0sy`HY<V{+XHvIJ?$@;cOp>qVnX>tzPGl$GfwZA<FnHsW77r>
z_r%1v@~rH?y;Y=tKhE&m!Pt1)YyFg^lS&(ZbS_|AT$#xiHff(o0JFc<^j$%#*;JjD
zhb>uhbz0byRW~m!+M;&q;06QDQ%qmFvYnQn`sPv}Gxg|eiIuap8bu3C^nM)p<&v2l
zo0IY50q0E9RjV?y-ZeLyTDiaNYiy~$G*y6ekDxH0`A#jf0-n%^*WG$fvy`g}yI*^1
zSN@0n{CA5#8@P`hZ9ZPB_SE{&1c65B&V-8ScLy8&eC}taX8d}=d%4(t%QE})XBvv`
zua%WIm@{?muh&iNytu$bEb_03pK8P%X-U<--X3jh<@RGIJPcnkos^9<J83jkP}M&y
zI^fQZU#<c>_PXDxpQW2|*7s(Z>!e6q&zD?vO<a%HKhXOBv{>=Qndj<u$1iAIif}!}
zu~y0X=eqB<Wmye3%AMurNh!#g9!M9KOqEEE;FWFuJN-;c+Wh*1XJfkdsuZ;shOLZ>
ze0L{;-*SHAE&Z1r*OsLDob&0PcB22mZLTZ(j{j}f5r}{Brl4b|>bZLyXIEzRxa}}r
zoWQuNGJo;G%R4#4rq$=}{JbgmmRIDfxxdd|(&rS?-?c$&*_%rneZMJAWNX;8(Mh6l
zM)6h7mybAIL(*=VzdN*bzJI;k=1nW+zuEiI?%oHjXAL%G>$E@5^mBA7QRJ`i-ah$P
z&vVVqCXT9|9P6gO=lHuz?MkKJPPLmNhYlJiypQy~J~hZircGnXoFgs^)||YXv1#S0
zZ63>yyMKTAMBmN4_awJO_U*gtx@XpIxcBa|R;KY@rJ13doV80DP0!zUGT(7_-j90g
zV$sRV;yXJWpBNP^(#u^`^J|WXcIaikT?@|c=jAV7p7kMWid1jkCEldU56+KoUTW@o
zZPLy4c<#QB=K^NUko>jK)Vk&Pi?bgx<_1?SK4-c32*=4kRou&}uk6SbkZu=XblAIf
z1N*JLQ~xaLC|_xQQhDjYGhH#IsX`rl>jmsim(<T)S$95PR{LdVis>Jrr4bMA39XY}
zmBtYBStWXFfaKp-v&BT!?t6*}T~hElbVTK1i1M?nq;Hwx>H_`V+)TztlOHUa+o;%D
zWH2{&R?yPqV`h676);<!*6sW5I!XD-guL?C8@Fyg>a&=WXZgPwYQCRlTv0pF8Sr4=
z3a<G|X`8a%)lcqSdgbY@hVMrU&U~AeZ2D3@Oh07rQo%$q8Ah4O8ns869#==#u31wu
zDc2)(*Ue{-BefpsJ+Bp;d48WyZq}xrgJ1LP&*|y!nlR)2t!3J;6&#WRcP`wKn#2*1
zzkLCh^yd<$zix4td-6D%pE|x@z4nx8h|6z7b>TDRw)gEl%anH1CmdRS$@xp(ksm9i
zIR$q$T6h*s+WXYK&g6sg{68Ek%2S_fihK!tJuUSP=fC>G<%eH2i<hOjDOvLL<oSMk
zDbpq|(-y)l)KDgs5|+Jfip1&Soq7k_SJWP?&^_pF{MUc=<!x$O*8+04`h{`b-K#e7
zoNht}Lr2q;lU6@wEnWP<m9PFM&zg60AGX|kpOs+y$klm5@rT9xlA5#LOFXeqpU|G)
zFz4ru<=<XJ=1pBIovWK>*SNs-kxb!^S1W8C4(l28s5fe~S!r46O;moF(D8lmjI0z#
z*G~&SbT3>Y7c<-OpY4Jff5X=5{M6|B|GaLI7SpEdr8m=7zHQdieVhGthRET28ucvY
zrTZi7uAbeM;S<f0dNuyE_U&g6rv6g>URAp?>{$~-#0#!8vry+X?`BJ@e6ieHyI5Xo
zT@&A)z^$!zJ|Q31tlo4Y^x}=YeL?4UUF-EazE+NXok-Gzx6iq=9-RHVYRL-5%TvNX
za4%cY_}`UD;OxQIJUjva{xy7Cw<tK-;z3-3T)ltYVu=SI7lyQlG~N){Xd}Y>==&Re
zx3~90A33$1bKkK{D<db~l8J#sP%LuNszo)|_+yHKv)RwxXP<s8piyg*&XjvOnrkNR
zzG-$c%~!~(Bv|~#qeIVpV;?MTUb(4{f1<-#b}KV63H=*x4n<eLWm;^U8}$CT#mh<O
zuj_@+{%fsQKc%R>E&t5Kg|3q>?3`B;ddNAM^LF^rW$U^6w6@33o$4uG^W#cX(Uqw3
zD>pwe<hZ8V$jM}L@V)x=pl-{Z?*SDI8NsJ#L>EmDsaPJZa&PuO4)^)Ko2RL+p1*A8
z!fk8oE}b}*#J8wqTmFVej+rY~%iq3bCv@Ns=N`csUyrVi`z`*oo?GXy&@b=blUf9o
zeoboO_ZCtzRsFmAxk~oJSIcJpHF$gJ>%9wkGt31<BEpy6RbWmryZq^(aMO|S+^>J4
zqUBuIsXr;y+whg|B7693b=OI+%oEDy=uP+)udmslcYnJ2i!PsNfq+>FhUToiCa?34
zGBt=l{;0X<PhdrDVfu@kLP7P*PhQi?G>R6tSB!N?_y6Oqku5D1w9QTG>kEag3db|I
z1$=qj?agtsXyGiC<9?p%k-pr&grdLcN9>R~wLir9&9bsjrUs(9eAQon$?WUsW37~E
zZx5ev(Zk@dL2?k+jn`$n*T;K5(rGjLc*W{W_XQilne4fb<tJ_V-kn(U?$|;7`a1i6
z$8wEKR!sTzX}S9A6<^YFqd4-UE$Tw7KCQdXw5XP^_2NUzImf>!sIi*x{rZ2Z%Wg7v
zrpC{l0C|%y&%Z5{=**6Ce9O*rKx5mywQ;604^^j0IQ&x2;8ONDYWuOC`@!Lf4PpEN
zn}c>QQ|sF{iSzHwzB48bZrk#9vzMk^`@PE~aJ`Ai9s9D44_7b0DbMF6m#^A>^Jy+S
z+v`&wSQLJ+y)tCxzuf)d$JIR-{>JN`|Hry#TQlUiL1se>6Y!B)e3s@$@FTMfEvGM3
zVA83N&W|=1s=L1aLGosPn<qT!9(p}YeoXJhPB6K?VcO06>A@}bbsJZP{AgP8zi$7+
zB}ckcyLU1CPMH1tgY}bwXS1bclNH5ddRk+H{+zuTy6O3&j&9x~8&i0)3Rb4M2hLS#
zzVc$p7RjPhZx_EYdG5JnLX6@z^9bW3DGI+;FS<Qa60MKkon*H38{g{=+hbjwYmyef
z+F%m4P(X&2*Q`rm!8TnHrlL*dH(hc!3s_CO)nRz*8{h27SIoToiZ-2fE){6VF|**?
zcuT{oFX_Hp(V4~#?0u&+Z^{`ahe)k+kiRiqV@A>~?Xoo~28Wb()-vqeIb)X8x*LU^
z3r<Ph-u))1Bhl$cy%wwC%p8&ClboT;mgy~eBvia5uv9Zu+VISRgVUM?GVA0Vg4X4V
zabH*C>YhA7V)=ttEw@f-Cba11Bq|1b9q4SmDb^^Pvd*o8m%ICHTF(}%&;v)_cyt<0
z%9<SE;ylaXiIDFyPBx#}FK)ONS(hG?I$GhtDIcQD#i(O?dkxF-#(F99oGU(T(=vL#
zwKhZsCU!N*PQA6U)o{|2O|=dRoav9_gIVIVLwdp)RLzPu^&WVav-;76ZPo#ke7)wx
zg|c`ZN;K&X6kC2hN2e!Yj@X>-2hX%fs$V_j<~e!!p~$3$Q$-5aQ*U`}?p<_xV`LPk
zvf&}E6a&6v45jJ8-Y2^nXDZf*`JB7SW0aD&rRiL8)|&7f-K6$*U89mdK@(Q<jgcHv
zx4wGvB*kb?sr-Y(ta^X%@&5mJetm@1501hetJ*#Ce*JiP`S{6x`+Yra>6MN1*DW}o
zcA34r=uw+73)`yh^XE>;^oa9+;4?n-$MKB*r$>xBCdGPb4>&DO{b5XbuqB2;zJBw$
z>BqJmK3~3h_2-WVYYPsa&p&^sz_6~eAYOIXkJsk~g{PZ8PN`sidF<uky{vP$eM+gY
zzjt2l{kmhnD>Jg*|1*udAGdE_ZJ|6<oJP(R?b;)5)60L{>RDI(;AM%`;Vk)QiWi>z
z%)8AtgXekwe%me2%eP<t@7H#H^X}Il*XhdH@zwvAsgt_*K=IMRCp!;$CaJ}XdR>0S
zyrTPQt=o&mF*bk1cU)ffwAlPla+zWAhD-e6+xZvQ8&{jhDKi}lUp8yGnvTCu$5q`W
zX?^n^>YsnRm+2YXv_*Ce*J>Xek&}7H+<e(?S%t<#v&&C4kIpM#=k8#A(A?qTI8X4T
z(dmCKS?iyjtS>N}@btm!kT||mMF#ej-p$>PHa!zI+Ujt6x@?%pS}8E;?9a{XITl4N
z@?W@4^@;7iJ#&3)ziH>#_)Jha8C~Ek_K9<s6BB#qgi7toi#uE=Yzds;YbUw??VKa*
zEE#=Q-A^xL{o;DU;nUZIgU8pmXQoT~`TO1CJDhpD#zMZX^8e)ezkfdbK74q7y?opG
z`S!nG-<-Zb@7T)uckk}G6>Y%xh*gxg{fYJ^R`E}2;b-=3iP*S1#{BW!r(5^$l3BLd
zUT;0Wz*@EV2fW@FU2bkKsWG|P*2>j>U;f{ZE&CTd*l_;D^(B(KTz)pCZ&YEQRe1CK
z4)e?I#&15n{FXK6UjO&?eb1O#>!V!nI8A)S**0CE#%*VZ6wAjyuJS*mHL7jWO~N<K
z>U^_)>V6(IrM!hUUp1<?TP&9G7YOm+H+7!op_~<;CPYQKD;*4f7<*`Ps^)9oeOIj)
zG+nip-uzUnDo|Ec#dOu3PPgTcPA}yAkeL?k+i*YV@x4sFb)Ll=jn6j9-Cu60T_j##
znKg6gBctM@J7g{x21j%WZk?jg>bm~gsY$=2)-Lgn<H~*5A=kgA#Y=1PPlx4i)_!xB
ze`)H~Z7H*TsezTtgsWPY7Zq*rGYVaQP0)3NfTW)1N7s_#sg=Ke<nes1Xi{m)e6WtC
z*F~k+WD7^Z0)snE%DG}szP@=|QC4mjcSi4BR{dU^MOhKGU2lyT7>`E%d9_wuMWvRd
zX?jR;-Oty&r#2M*)LC`pN_^A$rsu7j!c<f%%ETiCeibdW+c1^qTG2b1#;{fI&OUtM
z$+@qbMX5@zQR9tR<GfXkN$EZR{cf!-dL?CfnX%{;-<n89{m5nu_0q|?6ZidGeUV{#
zrT?cU%kSIj6+RcAEx2Rfeqqt?jkDMPY&dMVyCCdqQn*u!<f6M0l}9pNOAmi-Rr~X0
z`{m=?A1_q=w0p_K&FLB!oR+ja>z@~8-t^D?)oD}tj~`h!CK)e062+y|akuAO3BRLM
z@=U9{1<n>t8cyERp1n!AsF&;(%XiwL)kCqea;r#g8mIHt`H$-tp3%#mvG%v|?D$>2
zx9**dxE3_$nij8H<5Z4Zagp357dIu}F5SOYea>vd_X1194(PkA^nDQWu*0;hY2v1x
z1?m>8>+f*4X=f}KS#$7qz0<D)EE|^DZP>b^jQKA6v7ahsU4q=N4(<7vlvljT;#;on
zQd3J)*$Kgu-(0%Cc7eF;?X>!R>s+}PN?eXB@hP*u)G4-G*zZ#JvaS!lb6>P<b*=WF
zX_2$S|N6q6ZY)dVHpKoe{C;WUj|o+x9%b#Cd%3oFi)T-=y2yC!<la|(H={1E+p_)S
z{cmN4C(p<FEV+Et#J1S*qO8y%u8L@<2==hZ|MORGO<4RgDm{i-tYhQ0?x=QO*08tP
z?+*!Xi#xs8^ud(C&Z6Z;ADZu(er?>z^~muZ%i)HJR;g;b`+}2p+h6fhy}kcX*N6Yd
zJxh8gzhLxRw98vA$}#_}bM{4{+R&G-?B7&v9v=J8;B5PseR?D4)DDa3iWYpL(;2_=
zYt{EgcoyH@0h+`5;1TX>z`zt!GkLm>p7yuyuWIcormWo)j&QnWd7SFIzrOx%M!@Ws
zXJTA7NqaBeA7|IW-rc}1@29s+J^lS+6M;FYHo^x><WvNMy;wS*=u8bXINO~6(Dh@4
z*w;mdub-ZN+5gga!J`(=wTZmT#ciBEp8Wdd$@_X?#vr+lw@ylFQRxSBN<Y12=P$Z&
zmt~G?q?FC>iK`u!&gv9-KK0<?ll6W(w)ee{)@)nTb9si&k7bkO&$ZO~eaKy6$uEE7
zrH5N&MfS_eP@OZ%d(;-{22TB05To}hSir<}d(1_R8&Cg~h@@KmsWF#~pF8<WaqLvr
z)Uzvn4!60K*S}sDA^P7qHZWYJvMuz*+UQ@liLLBa#(Ar!Y)i^`f3te(+xgyJ%Y<cn
zT#lGz+_`zo;%N~Ro2${BdCLNC%vfb=d}oX6N{+(v8b6*lyO@g8mZ_X{wtfGh<ou3~
z!slDId|c?PdR@mmwEu<mELqk2JD+jY9oZT5{E_u^srk2FtBN<(%l@iWNqxm2|1gpv
zwBP@inq8MVpZw9sx^|imn5#7;+l9^2mdMy!{XV;Dt@iRO50}ojzxQO@XJMbImw!l?
zy}cT~ZB^H`*ZEQtj&0<7UufBMdCF4V%s28H8+^U*xq8|zS6Aw~XwM?lC{y_GvF6*y
zoUWg59rs~z-=}f*&GQ$Bj^3%)7kb++c=&+u!{u2PHcHcu1@>P`{PEChXY-GxvP~AE
zKAjozi58catlM>L)}`8}&HnC9F`t~cnGW4ilsT|G&8U<A{NIPaPXFM_@e7i)o8p>x
zF`dhy!pJpK&il2!b-!I$TiQeKBh&dO+=zNBt*LZFrK?(ddhGVR^XJdan?GN2R{gdO
zy(e#;nPYpy{c>6B+8b+2rNk|_*}V4ox!G2^`}ff~M`wi{Vg6fLTyFn2_>sw8tyR<3
ze*WoLBDdR*<D}5mwdKbZ`+vK9vUs%lV2AwXXdRme>o{BEW=Hp=aW1faZ@rdd|E`v`
zVt%T%I*+&H>OAJ@NVPxUYU{V>IM>DeKykeV^+_EYg9VdzBqTaa-RPT}_LXgpg|g>v
zlWeWtFT4?A-LKAe+~4B5^}xhC)2%8p&3%LQecI=HimmfW6)Q_!-FKz<MC|V#K`+ja
z#XH!FPHw8OI94cXrKwZj`)-w3z~tQKZ9GTzbSwybQKJ81<CE+)S(idhB{OxhjHbP>
znc{A^#IwGtBJAYOs@Ufz)Y%tg|C7Ej^;tFNHRkmXJcO6qGRPj?*U*?0ejwnDL-=0p
zfcwpT@8!OzbRTX%TlMzarrg(m+SPUxu|4*=c;@vYm50J#51jiawYRfk_m;|c4##iB
zUv<rX`E{kimAOR>k2n`pZCYHJymy=3iah5AX4eP1PnGPi$*k{=ynplAmzwyzu9^*N
zRA(LaEW5J9rAL7Koxwg|<s(1Ldhbu1>0IFEWGJbAyrS#=Bh9`^5sv@fCeF;+C~`QW
zOLy8M`3*k5&&4yaNA~3G+hB6&aKrlEv*vxGe}d1sUHB8{%zEh8hJ{DE);NWFK1obW
zeE+9)O76y6Q}!P;JsGj*alMH7*JUeZ^bgK`_N8RUr7U6V=viD7<-Jl~)HuCU-Q*p{
zx>QN@(}Dx9UFLDKSBT_ia{2#@{dLN5hkY_{sMVY)Yz6D)cfAkt6#4ouu&P^%%bv-8
zbBFY^7xLEA0t1|nJe;a4=AE=?O6BQW^$I^vX3o7f>2msM$Nx@;(@yH;>%G2OUv-(W
zc%kf`R4y$I!Bxiul1t`IUYVq1rBxiC^ZMo697`6bDH~l*FAkY}YU!+km1-5!7QAkK
zu*d(XPW9725l;JSre<GU@LB!L#EOooyL&acbsl<3)qOE??|be0FZ^O9@7DGiI~Gbe
z-I);hEZ98rciy8<3yz8xl(F;ulFQtv;n7lWRkhA1uymWz)iZp|6B*B+xb)azdEF$2
z(uVFUjf>Zt`}(eU&~|Ned3u-fTYcTAL*aW9_Poqm@>Q2l{#<{Aq3#of`s;jBbFEU6
z_9?%&sXCf+spaDrQKMJ9DIcPkW0z@3mFx>U@O*#O!`SOrqZK>t@@|!tWH0>0U|3)!
z8~2m*R{i&VpVZy<<nEbufaPs({Nq*Y#6%YLN*;46)L@O)QTsmsT;?+o4uRN{Nz=8K
zzFpJqp;GX@v#&TYPnx@fzcSiY=US3Gd*kD-w`>yWll_B>KG|-Id;h_EbJY?nhO4)?
zFY3&EsI~phmTj+Z#U6VRE-7rR`8YY|i-KP8E<;rTkATPZbM+ND4z$Ma{ZVvN#DODf
z{ep9oJN~U=%}+ME61&x5$}5R{Z_Q5?5A*|4CU~pVtarL-e#fVNmsoRm&h^~f%=-H?
z`0|eF?o2DsW}3gIE8gsTPV=@m-I^Y^`cA2R;a{}*_?BexkEa@s3QjlG4KDq^&h$w0
zzJE=vuIg9juAIdD=zaZ)#j#aSS=Ea5_k29$z2LTN?4E74Vn@t#N*=m7^lCqtaE|@%
zi~YWv3&nqm-%sD-v2s@K^bJ>oFJ2M7l)K~HK8NV`*MV{S_7v^PpRzOd_f_*={%ED{
zdovHH&DzHxn_#FtuWOPTL;D=lw0peE7I}!=348kb-~QvTkJU9E<j#IF<A+qDXYk5w
z^DDV`<b{Iv{mggyzh~aOKk^dqc1?rS)s~<w$;phy(*<1kMVSqaz$Z~^)Gv)VU9{Lj
z<nC|nh)1g&o8vrm9`{Y2wXVds{J8P#68)3_p=E{@4Apb?%PZdOt7LK9^pW|<#hvSm
z*MFF+e!M&{z3%nz`;sB|_c6=1F)Ci*{3D=nZf=Hg^^cd<8+U!b`H_)t=jZuxI}14;
z{o4P2$+^F8Zs%;A^|x-ZoGXjLxdof6>TMbWmmR1nRV|ad6Fu{!(~@HT_8Y#NBIKUg
zhtE$x9Xg$5Da!-_f5k#0kI9X98tpj#ewf6=smY;ema^_y$L^1DDHD4{m3!_Sj};5`
zoY!fxQYiA@vXhcwM=wvj_x<+F&kMqwr(b+ryLt7m4+?CK6;1y?eLdIYpv&>pTg+Cx
za@zZP9`UD-K3rPWz|6L?%12*+sY&;&WzKvGNy}a1vlkzgF$_PdIJHzmM6hzg#dX{E
zuoc+IG5Ae*ypZ9?7mqZ>SL)qL6I<h0oCTC_sqC={X}#moef5U?mS2+|x`l1pU@6FV
zSoCMG;%TFs{!gENow-9G^h?g1Z6}|{&2==3xzhEi`FH(c`}o&(kCSf1<txkaR3*%<
z`1wnIrP1wIOvlvo&K^3rR(xeg-P*0QKUuA5HxGU;TX!`0u83bZ^T*{@hqqfCmJs`E
zC3ZJ%iFIK3-Q#oim{{C8c=%{jOjrBDEqooNS!Z7+%+e3EFpbEW@Z#*9B~yetdspP7
zxF^U?z5mG0MCV3*O1;-QIad|?WxvZ$MjgM@@!<59RSLqJ=PYv6tADrZ?K&foRkO~Y
z4*Qs}ZtAg$iS@b86My9%e0rGkPwX*I#l?oMre1G9$BN1Cd>R=ks&rE8c8r1H^}yvH
zBf6VQlFM$cvhRFxQ)>Rhc?%VL9xgR0?3$M==PGu>%T98lSIB~DcBxft_53{Qye9Sg
z(}I#(yeCJVwKUs#D)#1s(r4^f^B5QNEt5#-s*0SovmifheoBkMrnvn<smmJAo8MLu
zeIDqo9-DCO!oOGHWjB&evVG6FK5Olvg!n|3Tx-9p7v$ZyicB^ve6rj%pR0GL%BIIX
z_vSg<vN;MY*#2VX^6#GW`d)7NyZK2y>l(?_ZTF_HeqB9V-cw&J*C{jkkxFo8`igt=
zPoMqs|6%a|%X@#dY|}Y#_|E?*-R_sQoQeXEl#gr;Slp<Qnty_my=9^2(rgzuc0&#Z
z-ot8-Ur(Oo|K4tf|CEHLwx-hB^6!S{bvM^8I#(!N>34$r=%%m29ctUyE#`2ZzF4d-
z(^;RK)75@SIfcRS&%G}V6PPY>c$U9-n<2m=V_Mbeu2||C^{lp9n5RZ=&a`qqy;W;3
zF!V}Ju=NVn&U=|!{q9=<hefMyyV*f&w!j8;v*UKguLAbIE4dQD!|^oNZ0eaumsbl0
zmsif(_f?6BJ-JI>x%$4Fc<8$C`(B)!_s~1!x!R75li}O5YrkLGzU5=up*I^1ZeP<q
zvTS9+hBaSLI(8YYlwG-U+NClHMd9w5{QM&3o~zEu99y^gZJ6{l?$>MF7O;L*c)TuX
zufKlA^ApRWip_ij;<?!a9hjH0cC4IYeBwgBUfjC0|IEpoPF)2bg$p_m;bT6FFteeV
z(e#A^e46z~BYmr9TL|p?9bT|y{_-$ECk5HrX1<rzZ!XDx|4#8OWAfE&V$Ix2y}w_F
zdn6?HOf0<gR#iSi?(A`E<M%w<wr<FIomF5cyQi+dgEiM7muv0IaBk&>nyjCFydBMJ
zUf!vaaJnsBJF{*}%nRn@rBB1JKGqi7Y|`PD{N$&z-1(cq^@Ujlma;YS4wWaiJqVNe
z!f@;gS9o)~{x;L;^J}-{G-zzBTQOPtw5o(dP>ud3wPt_j-RqR^ToydFe<8bWf5lR@
z{5<vbSDya5RuUNZ|M}GeRT9c9?Gn@HXRrKpTtca#c1Jq*|C7&@OaIk9`El5RW7@G_
z2U}Q`+j%Y*to;8!C;4~%t2(9ngXdPyUD&;Aecz;+pB9PC5}p3z)uclYCosKw@M*{5
z{`)m6UM}vF(kb72?)Cpu5x4f-QJ6Tvud`mf?$V+PgYFsA{;@yqewt%4ZNBQMiKmzR
zN!Rf|S1slGr&jdX)YUR7i9x$wS*6`CmJA8Jvt4p!LW}2|PLl^41I+i-y}x8tzeR&l
zuSlyUz2~Jf?;k-1*&x|n7j}5;{E{rV#Zc$KySMIdt)4Z72iEZ{nj^{M@@-!uzcceG
zftO!dmG#y=F4faop=_Si-l60F@9@!0P6D%~^S=JR<vPdDw0wGZ!pGI`<+iJ)oDE#W
z@IGy=KrYvY{G$Cjw(-pqwjR22^g#Ka;Dq{Jwk3kB54T7Cv)y~iDqsK7gRcS#H}0Na
zJlo;JCa$`GYZDc{57&fk-n>$wk>TX4JL>&>+_SHB1T`$&{eJH3)xV`{tsW_MJEw6x
z5scp-;+cE8Yxmb(VQ*aIKKp#Qz|xhs!QbzMeg#uX{tutbrDyMEybj+bci#6v>EAT5
z+HJBmU+S%$d(NEO#k)_G%P=<6=kJuVnGuREKmWQXCS1Mm_2K!)J))cDadRB`TeM1G
zS?l{>Uds}_WgKFcFTB#R;9*J4?`Ly6*KH|it8$yCwD9ojsUp*Ke|s95i{9CML`tAO
z-o>zU(X|fG{vY?^L_@4t0;g>`$`_bWeVZZPj#JGtTXLUKefa6_y4m(opRN}(IQnho
z3yHZhMN3_z`R^U;TTk!zml#fFUA$_~c}=C|Pd?--EJ{e5!18yVoS6^P?IjtDcyBTY
z?+^EWJ%3s9bOw33XPII;5w!*<jpX!a@zz*RzjH5M`nk}_g^Amhe*{mI<y$ss!@C<b
ztMhB5cU<t8UE6Rc_n&F~@|JMc*#+&F7rDICm{Rr4Odx0BLi1}!uYO&6Wm1y2?-U0)
zue!B%Q#<_(a<;l%et&oE%(^LSSmQs=pY&Yi<IFv4yF#Zj1YR?~Jp0{w<%7phzKIv(
z`j>G^z3c3uYgaX<J=^GM`KIjK{N_Zx>{iycqFG9Nqq4YlxN6HbC>(wj$;w?{Su6T`
z?V;WK)L$=u8_2!e<K?2AH|K@(pD<+<u}<GMb$85`erDCZY6q6>npM4oW!)y<*?STW
zwan@}^zx$KtD9@yTz$FSaYu?RXF>J#bt-XU%<E1qeG^$!^|@$&a@_4*zt>HBoocti
z=UKa^a=`Re<tro9(m(8)R$(*wNxtbSM#I$l;(1~n=HceMuX;K0zA)=3&A6Y-_U7i*
zz<8;KjCif`7gFrZUZ-WB{1S=sw{k4mzq-~@WMfhE5x?_lw<Px{KbjvgV}3)AT69LE
zO#ZqaA0=7ip4VRMXQWuM&77AX^10z8Ti{i<BSos*OPvyqwM>vX{p9n#Z1esS#|IAE
zEvr)k>w|P-eQpKp7iMI?Bs}%JDks;f$g*>rOPAE_(~P?8UH!nL*K*n8s8+R!F$qhR
zjl&mvZ45AN+V))RYmd>RpRvbkG`0(P<xdQW4hmlH7<Yf>vd#TkO^T5YIZ+d;KD7Lc
zJna!S^NXo(l5(-)vs>G1?>~C6UGT}2)HyqsmFWrWiMOl2<mj+s_xjLTIx4SEsIXq;
z+jD_WH%@8BlEd$m>?_NIln>24`zBcK%w>lcQ4zCWotMm-5))G-ee&}5=GO;9eoo4s
za;_!gjX$4S?fUQD3yc#Q@4nIvlz*0PUp&9$+3#s{y9(8~-#=cKCF!{3<PJ{JBd?FV
zY0-b=@Z{yh!k$&(C;rFX7tma8BA>8ZaJGt7t7@q~=j0+K<F_t}%LNu5)IQ}>)HbVG
z{Z2$v{dMo7YhP7ranJu!asG|z;ybT1BYy8oX+PmBqnGOM{ps7$wswX^fA5J(+$ewj
z?NO1{5B?+VE1SVBUnX;N@a&X;rKK5scFM@Y4B7xb8Xemoy<M>Oe*D4XPg<2M4=YCM
zFj*MhS>_RVxU6woo8X$<tFcG!n(oO~`T5<p{Zh^&i+w?JqQ5GNEq!V`$NSvznUZSL
z!<@Kwns7$_T$%Xfg7mQ@#ph8@?^^3uESz$#k@eiElR*;>rLSc(^wG0ry;|00X&d4+
zMQ>qY5#zB8%lav|KBTA>$sIZIM_Mi6MBvj&pUwRwpT$po{l#qgoWxBIHZ%7-s@z=5
zV56FmDI-~bc=eMg&94W9!*(7!kgWS~s>{druxI&FT}ytl#09s$Z#b%`dtHJz|BUMC
z7mVvo=1VXd@2EIrmhz`L@K_tiL`HolPL}>oCI#WRH9UPA;?I7nmvj?b(r>w*)i?Fr
zYsbyLdjw0k_-b-;9?pEyQ~apfL(j2SUsp2yI`{RnQYBX`*SF28IxcnNP1L73*PW(%
zJ?Z&;(QdxP!l-2|7N>4a5t<^C^<0h1K{xfBwva*Z3D@S24Th@@ntZn1&>2>`XiLI1
zH81{a#^Hy(Z(rDBy=mGln?3b1Q4eQwo2}_AFm2qFG5fQL$!*!9R;JEG-kj>!X3w`?
zxO}JZ<-*6Z7E%kR?|d9ERj>H?#+3EN$G5iRT`>)8EIKdSzN7Yx?D1^g4C8ADp7r#|
zKG*D1s_}etVu4ip(Z$K-E4X$BFFeJ))%fHCC6lQk&wqw5%#+@}`clZP8O0xMd+UvM
zOz@q$++_>L3ai4ED~q`eS(K*C&_7vUG`H#i`+`lEEjIeS3l{dt(B9Ig88>s8YRuj#
zv(BA6f8Ol-;mbaa!4)EA_5Y9C@2oo0uzHzbb<NjzUtg!E$JcDMiQIj(@v(JL*~A-t
zt;eF>nq}oJt$SxIU^{-ct-sr3gL3+GA>k?C>v!C=X!6+p;ocke>*3oU{;|oCb7=i>
z{pStlh}cG}H~U_2gt*lm44&PdzdqjP-o3WviJw3GYu-?~>F-0cJB)TeKb{q<-%+vE
z_I3^HhqqVX^2WwJ`<y=8{r2qF<@xbB`DN$w|9zYO_Vnp){q^-6{=#(z5{1%FCB=4C
zbT5CowbcA${k^MKO)t!Ad$~>Xe93K@KS_TrKj(aY`t|no+uMcBY;XU`{QUKqcFn;s
zo5d>nANW2j-RN*zx8Gy)ij_zBbd67LoZ48~f8TaL>$7LGPp^J&_Wj)X=UlU^_4D-C
zuQ%&Audn`M`v3Qv``fqY=l$Dov*!Qb?;o#zdwcZsk4H(LD}MiZ^sN3{QMKs)o5y}n
zU#~YWKR!QCKd!!fv!>?q{QrNhxBKtY{c1lw-2CI&)AhA|<v+Gumk{k@V2?;Xp5A!Q
zRAO~%_ukk4->NRt`u1hAmeX$0b?Xv~C2j1k-2Se1dQJ}WG#>flJ1Nb5^1VHqm;IA5
z-5HiwXkBDvW+!hMzV_%k_kHu7>SJF<_0Q6APPY8?^}&T?=Lyz%Mt}TrzwNd;`OH!E
z^o#xH*Y<o`7%lm7`_8HJ_rEz||9SQXrC(>`uU?DysCMxCu!{dl%8q|2-_1+j|8rpa
z&ivW&bK~w4hGop3_WxD*z2JvK%>ug>b_Vh$@+I;XMP*OkoVYo0vvRuoxxP8FmexgO
z^-tcMI6ARgS=?Q(FGgmkMN#3CM__?&WlXqQ83wasITEV(%PxET@2kUv=i>Y<JHJN=
z{w?)j$#>Ie_~ay<b?JsQ^Rc~|OZpE#>%Z>5j`_;J&E^-vj&z?t?0)EczPQrY6&?1s
z+}<pypQP%pW@{CclkC{BYneb&$D1?WI$D=4SOuj^7WPj3_t?oJDv)EX;bG5Ay#>Mw
z`wKR6zVbShS*r8KB`&x_P<xaA3&%MxCn)kbtNqxXShlEFpx0+Pi^`N`%`J+2Y12F2
zc^geJHC?1sap>6l6oba*>&-?dW~Db~oELfR*VdP^sQ$}gqZ_l*CnjW`c@yjs*SUFu
z#)*?l#5G)^KM2<PE^SdgaQ8lE<C<01l~W|LwOWoCp73;-GUH-Y+iC^LRR%Ly?Nzh2
zT8^@0@0q-?)FR8)sm;`Uk@4Fz_MDA1OdsED5ZJY>TjE4i#Dd%0fe(zeZ=7*dyfw?I
z;SpbJ?IpK}=`Y0Uqnib0P4xOI{8ClS*di<O-?aqkP(cBQ-PTQ>u^dv_ua+JPWc}cz
zVw4=E{@PWcP*C$z)Bd>2{s--iKkpV^B>D2NpwpTxsSlhB=9D`btW0`U<iU}dU6r%J
zVuRI$6)V=5A9gW{kd?4)jlR(t+R9KXu_iE7hIyw?pX8in7hFzR)Ccmk3v_<XE072~
z6D-p)ueCFCqOhQMfrVHMx6Y9hdC_cJ9j9@B->T5GZsinTW$&-$N+ktRDrW5|D^kzq
zHt={{?mFNV`G|G1=7%8GDc4_hI<cL*Z^XUOf=Q+0i-b;{xT8(*-yH(6*Op%Ibv2)N
zurKy{*ZZBx@_wS*9?W-dPOf*jmF_fm$_?Sm_O0A+)r+Ps&^z_5gWGVzw~dp_JUT*!
zc>|^&tUD9e(G;^qvDaRsWnHH9$phz8Zn>m>*6NR#@U5_Y!dD%Rjap~(7Z`aM9w@Tj
zoo_JBEV;7xK^S+}&PRR*&vPy?%BDWEU2uKk+f9eRc8HcImE}Z;9GoqESnV)tz1`Nv
z$6H$GUf8xw!0C{{7Nx_9;ij8*En&0TD6+FE?y~`#knNuGn_oF2rZQ|zbXA#NH7ltl
zqMavM%PI8~V;$>vTWzJC`Wrgdz2;oF^ZceBo*y|IYNzheKK(@G;c;=1q@z0&PyI;?
z=Q>e3{o~7hA`^~f?&xXoFu2LmFCjVqf#BA9Lq@p`msE>xU%%p&@o-Pg24Sb*Ue0;H
z7YJlm<vgoCs?hSlVADq5M&|^huEQ(TlcudXvC&^|!|9$S!dL91xXU;6vVK0J{jOOo
zf+gbaT#i{u^L9Sp#F2fA^+&1NOxG7PmTqLr+x&h>zpK;MWwQ_c?6+N<_T5culFYU{
z5BFtVyZog7flk{~CnnX6r89Z=20G?Xtk!E=8~WFj$$Wj^7Z&j~pG}O`7aqv^9JJ6c
z{9DkTvPVV-d?oXpWhX6M@2Rw*;&G|e=7_27jNKW#o8~^PTXZ?&1IHduW<U2t3F|51
zrw`;z`g-}M+hb9sUu<j!H{70{wGd-@k`Z57U&i|D<96nI^XvD#-?BWm^NsS_jHO3!
z{eKbEy{hiQ)ll8}cdn`m-~7t5`a3TIm8-nI8+>o#8Za_>?=eexHX1Z{&+EG*v(vJu
z_{p;qXD7~9{@p5<*>^{Fr*%>JlXoZXPTZ|r?*0xe@TuU*!xM+=C$=kBx5w@|tamR_
z{QZXR@*793-@KA7`^vYwsy%k^;dS>C!{2XMU4G*#O@y!4*S7z?S+zEz`DoPraCHY`
zk*W-iRa@t-(2NzZ?f&%W<-1+JjRu@j`6rrQP5K{a{4rts@n^jeDT~(3>b1K4HEd$H
zUg+7dwSF5?G!JsUzuWk5La0c`k=;|hUlzoFHgJ%Cc6a~XtLrW~u76<0BV)0gwf9Bt
z-L?YpI4AeGIj`0!-f^mb+x+Cai>a~M;)fgGr7(O>`~7}{K=wR0t<8U*JBiHUx?RuS
z8WFC2dCA|YA;-!>kC?reYo7h3YEhEjw)ui5TQw}tzk2AX_-mHxnY7IpgIHO*uk1eW
z=Y92@%HI%a#;#g*r<tx-iy~S=w=-7v&Cw5evj5MSwQeh#4Foq|4$<GKa>uDCV8`l%
z|3h2f&ECHH!MX{`^)VdL<<c9JCM8}H_d1fdL21_3OMWS{79aGE4mk4h%I7^#?i?&B
zO?&ouM$xx=M&qZ&LC~Qcv+0Hxc!inG%uT0nl;YE_KUg%|Kw$4@QL95ffhvs-F?Uzm
zp7k-#?J4#wp5VCA^xy*~&$o58tt_3g)d4ndkM>-A_4fAN?Yk8=Fmarj<M}Gamzm9=
ziPOu#L*7y5fWZ+3H4Y=81{3!0?|h~#de-`!J@CybBXR5ZihJ1-MVx(BI$a8rIC?kx
zx%aC-MH{NR8S3j=4+}0aVZ3>4XT5_$c=~mQg9?ccwr{)BFd?ubvV1*5@$>d(KFdeN
zGRk6-=T{zQn!esH^ZT*<y{|a$oRcYd&(2tud}Y3LOlkfXrb0=}eGLu$%pQlI99VrL
z$9BHK_D@&*&)N#@{(A57zoN+QHKy#p&s}?@*Q58ST<U^l-PFYJdXrsA7LA+>kEh+Y
zZfdj8=L(egbh;_s|Md0?WzV)&JUnWgpBidrR&;Xd&130{7bfd$w%fCgZR2W_Tc^Ym
z`&Q*@n}6zmmi1Yt@7c#auhUL%z89*uDQkkG@>;%)r(f(iyeNzJQ<T}<hDZGz9J>Pz
zxU9ufkH2%>7VE$@A%^S4{LB6I(;{^@tIt+ibeT!GwYl?PWR5SF>s{@D>szYyihHX~
zL;3jA99$Gb|K2}8&y6Fw#74uQdB&0Ei%XcLTY}AU&!*m-b?ieVL$ZvF`?d@=z154N
zJ}vxkC_^#&_Np_-SoUVDUi)O}!8b=2zlgaJ>dd#1ac}kHRZmVk%`vgHJ>gPpw!U7m
zN#g(hJwa@qKlIiI?-bst8(_2QX=JQz{%^PXEsnk0k8bbZ(0R;S`*Ewz+TZOxFCDjE
z+?UTd*E)3Di`Zvso1PrD+gO%wu}{wKbJ&_QWs|!0=UOi0o__iF&BXg@kDWheuYA$<
z>weNc(P<9;f;E#Ij@<}c>vzlN{vN@it#%PJzpCuI?^iY9E3Z-gT)Aie{ar5JJsV@Y
zA$QIZ_aiy}Uq!!(mz6u81Sef)6BF>2pPD=-i2kAZ^ofZ)TJ?LQeY<1K#qNGzf1xOC
z@ujPOC$OkZIAS3=gHgD8;*pAng|ifWUhus&OZoSA&f-_s=L&pUCH|;UbM>mwOO@Y0
z$Gn`D;iBbfA{95Kd7hTt;RF>~=H{?T*-ssUT8aaLrT;ixHpzN^VA2$UJ_E<L*u*2D
zujcgcd{%SY;O6f?Y}4`%)ql1A_Ws=avOPU{GFL-fceq{;S$(#0n%4h@iOXLdvaMoR
zd$v;d>anFFr>`s4OzU&kaAR4lBAU0(dD5zadn-K8TI6R0%`a$Iwb3t^p0{CfLcgGZ
z%bD|0Mw%{GRhw41a0%X=GH>dnGa816MYy}pc==vCWN|5__DtopJsA&AO!j_JFX}dN
zPm*^}RMBFewO^k2&6HxOWLT2${mEW7_enJt<&$SE;yHKNnZ4!c#H9z63!i9iF#I;5
z;n%A<*Mm&vzy2z+_xxA4EY}_Rx+^<{<<+*|vRv=<IEG8v_iS#T&en|2((|IkPn=>{
z%lmlp^=VZLBR?co=^hDkf0Y#@*?)g+Vd~WSD~kmfS+33g)S1w+*L)q5V1Lk#*;P$J
z*558PTr{<7-)5o_VaOo0E{1hB|MIC4I+ZSGYz?Gp*Y!+Snkvw-_=+a$;Uw4P5*gk{
zTR&~`o4qVi>h1b1nw(s0m!8G^^W^%U*2nAmY+FoV$*EHxe>^We^HR)@d43<m<>eVG
z6dM&b%&ss0<vY9kA?r2!`HZ_A7svEW3pl?{<cF|Kga5(j&Flh_XV+{qd;Vx?-=W^+
z`qMS9xvf5aE?hq@X70Uz@2|fu`St19vv2=ieR=kI|NG~^>;Kh!zQ6i%`1W%9*!z36
zJ9wV{eR=z`y<hzP$v>aH`f~T{@!wzkY(6#ISg<9AQ{64^g8H9&&1&;Azm4`*O!UjY
z^m6v??b}~|G5Y)VI{*Kj=Y0Ro+xO!U*MG5wjCtHStl#Fam+0($+UMS0`c&!Hb%iy$
zEQTuKEt7a%bf>YdD->*b?d6%VuA`wtBT^!y`a%5>jZU8a8xxO2a402kA7bG0G?*1+
z+xFmQwcPGk5t^LcF@n`sbnDN5csz^w+ImI<C2Iw-qz@CB`?><A&wZ#F<;D>{z2`<P
zPm9`4#Tt937t`*3m6WJa?65O3`mNj%rBxy@-Eqq<K9}A}+B}ZhF->=tJ#ARN;#<sJ
z{y?`}Q|)i}6iO^s+A|+?3JqDYNYU2TAs|EPfS6uVgw(o+O?*lV7tLHL6(m{jbyUJ+
z(eaE$J;f8+xMoOZul0yt(5<`sq+{Zxghr3KTe>`B6Bn>;VqP@W(fGeq%a*OX7)mRd
z4$k0R8pHBX`|;roKAR#0^|>p!A2UBPbC}B0R@>uhpx;mt?tIH_(<%{`Pwu5h-fU`K
zsQ-m0?_5;J9mbFu)z&9cUB8Ll{d_JWvwoUv3YSk`O<RjZ+D%8zl_LF%C1lU|M`W2^
z@D@{6UclO**eYRdnDiqmYNg7{Mhn;b2c8|8B|3kx%B_#Rt!15E#@1b{88(VdsawHl
zyhTVh>ZP^BtwSEIr+D`@&bpMr#8?#nKzfDx!If3-k3Y$uvSOx0!_wxEMR6@Rodpgk
zCCk*e9-N@&&gFQ;WoE}Cv(1nAQiAo}8v_~~1f`cgY3mYLs>Q|IFrh2Kq)*d?N3e@^
z&E_jwxnZ`V`yMi<MIASkna|p)9ADvlMl8&B((|31n}0b@?0PO{SGn)}qV38hR-WJE
zcIat~GOm?o$)Cq=vF)HqGrOCDc&>WDwWS{!D`!2g50GYa{bIJ4$7#COqExvmo2Czw
znvWF-9&xfteYf+~`z?YUbIu>!5G1{zXzd?A=?`qz(=!gA^1AMlV&bi*aO*QerCYB1
zmA-AqmxUeESZeJgz#6gVkgf7(nF|v=ORn2b|K+ye#Kx57qkIk;pDk1ZBi{Zn+#}>z
zC^qlf1m}rbFE-RCF)x^K;<#MLu1O~|mN7J?c`6CdJigRS^Pb<aj;a4{idYKI-o4>M
zbN-Pt3T$2Cn~H@N)+%xsWj{N^E?~kccP5TSP}@->YYo?AhZ|3pb}L44td#vz`radL
z%hrin2U2*Z?!RCnu`*+xRL7$BOy+$LesLU{7*P4WMDWNZ9XZ4E%Jn|y(iyH*^ziv8
z+}WnyF;&7!L-zejGalwCes3ie#AdZLA3D4EH@g7eG1<qGlOm*41M>TmPDHKPzno<O
zZ)@=sz5wf{j;%WLuXpxKocL6Eyn?Y=zxT$2>!*JEyUuhzJ%Qb4+V@EnC!*@2E8Fh9
zSZ4Nf?FWIq&9Ar1I&PV2=p?bCev(y?SaGH69H#rNIvaegm)$TlSjon?;_Aub$Z9W}
zm;#v+k7G*|dHMU4Vk#fDEeZ6R%l<p{y~~lXXcmJ50u`42%^GT-U7}0boxg8g)7Rcw
zn=*S!-n^BY71mb;-0f_dz5R`8!YrTosG_g)w6Y$C-8S6L$rB{Y`A3kYNhE)^UVT$U
zwOo)ffB(UlSwF6@b$^gz3cJepk=u1<`x4e&4CWt-b6yEBA6a;<f1!ZY`l_#-EKT1H
z>e)J$?pryN*F?Ib@_o#&Q~_;nUZb6XH}zQR&U!VgGy8pQi2p6u5wVg_Zo*cR_hxs}
z<({vMb-fw<ebVz&!B(tmMa=3BDBL`=bj|<z8`UNPPTsa!K~vY{Ok|vKuB~HLW!VXa
z9&g)@J4(@I+ivA3OxSqnk)%S{C5|QDMKj$6?x|1T$#E!5N^O<@!?kVByeiWQZXS&8
zb<kP=b-@f?vD0}Ad6{iWxB0~$5y&pCNYuX0=5%x3qv?)+KK8v-U4O=B<CpT6U;gsj
zZ_?)RQ?FmCdBZ5_{@Lg8b(Q<i)|FNl+lSX4z5V>+`S|Lic?<=+KT9+3u8k15Z?$*d
z?!P~tNi|%4`So=8%P-%4ZU6n{U%ycWZ%p{|^&5YDJ^NR^teUrOe*dqR-#*_x{`zO6
zb^W*XujkkO`*8Jbex{dti|?G8JJ;pkeaQXRezNk>lsD=*HrDmeJJQY0&1DbU)|k`0
zjd$D0ZNA@fH|0-W__n<<kNGy+KHenh9PQuRHsxy{-&T}^OjJJoo~@I4Ca&v+Xo|=3
zf85oEf<O13G`uN4(|+^s_kt`vw*ypTST-7c-1M`*ecztdA!bLF-hQ}Zexm)`y5nKT
z%(v~S%=E8UVEZpW-EmEbdurpA^XAK%WlySYR@Dnw^U`tqHqo2Ql#kjbIc!Uu{Z5r9
zTUu(uO9AnUZ0R=_=b5J_-@CQ#26JNfR7N|C{M@f=cpN8i7BuaeUKSqK^T_5xlNpz1
zroFkSf;Ee*d0E%7h+85n4Gizy`d0bq%)8hXY4>iuyO!<kSl_@X9w%#VZ$85#U7XS3
zXkD|X&Ra+4QVr#un|jn(FIV!sTcNb~&5Fg}r@j(k$@S)QyL0m+@A;GqWu+dAWQEmO
zW{ZC_T9BsyCzQb~{WLHC<F6~COBlbuI#ewwrNrWRa6!!z*I)PkhD2vhw{d9F{4i_6
z)5R}l9-p{Wd79jnTGmVT9K2`hey#XCoxieS$IOp1e-?yAUTnYJap<?iza<Z9qz}sV
z-@W#7)3$OcL!*r`l5g&}Y4XT@|G4SQF-HZd$H~=92S3}%Pj}Smoqjm&`VVF{IR&1G
zW3D{8so#>Oi~1V|to#&i_bA<O;U1gG%~f11l`^T!)<0H?xcNV=j#Kz;D4@A&V`;<O
z*EX-_ruT??#x(CQyO}KX)?YRG%koJZubwe_<uCg9KO^g`iDBTDER%^j_)eYa1rGfF
zOs1yO1zq?>87-$DROi>KpBX)Uk(tba`+r4jURj!Qt0<mScDj-ysPmv?nH+!mt(kMD
z&y7pde|tQi<3YnBf$+53(;xQC`tkd|{;Xq@6Q#N*R(|-CopN${W&~R!gW~A|AGRE?
z-uv_1Z_mxNIr06Tv|2-tRQ+myJLwb4Ue#azk)g79zT4)KFL`?Xw>Sj6bd>A=2E?{?
z?m07My^X}}jX(ZA{5b!lh>^v=$Iky;9vejMtowLr{&!)H<NDvv_s^G)xAQG~`CHJx
z|D%B$gW-zi@Xl2RhDJKV29vKE3Lb8V+;E_z*52FV`(~3<YQfny;*95=%8yQ#d3E>B
zqOa0Avl-ZLed50IaIN*mmp>l9&XcbFxu^cOV`t!p{WepZj&x7lIM*qozcX@Q{0G@X
zzN>dH7h{pwD5NjqIpx^Js0uFsBHh~uBv`Jb9FKW-e7T-p`@H8`>+_OS%NK6%S!{4?
z%d5_a17+(RmHX%0CiH6B^v5so$(1$;`EVvpa{trZ8xt5<;&-NhpI>(S>-yb%Odci^
z6|MVY>XS@N^cK4AxVPlf`svnA8$RwVx>IIunws-!cXRK8d5oW!+3RZG9hl<fR`I|)
zmaT;+;EuE8%H0`PTU!~oY}}`}Vev}to~<R01`bO^c<Og+UD{o`t}AT68sCB*o_E(z
zT(MFJUUXS-H|zI>2eiMN&1RkWJz1|{T1R|TYno5mZ*#ADrzOgZyr(%kF7l0<p(mbl
zSBrHk<D#f(n>&|1{lx6^n&GO+)<0}5zueh2r7GrVbzitQvGMz>-kthM@0Kcs=Znk>
z&~JOuJ7>vaMvcgjl}$_U%zLd{In7)(_sa}Mx5CTTR@Q=&H+DTaagjGCczaiQN>k9K
zHh+;_o_D0@iLTTan^?boGUvJrTeh;6ojiK?Ml|0onYph@vjQKm1}e?I9r>mzrg>?*
zaB1eUYvrNm-gJxd3tyD$+;q8p*35T1++=_I7G@u|OAYEcwC+gsd7iH2mtCeGnRZuS
z+eFplPGq&0gTM?H-bb-dua<t_#jxb`GNWf}{>hm3u3`SJSKRDy*7MIX-ukLDp5kd|
z;*5h@pL}**Ghv4x<1VK>tB01q0uEmlT@f9A<EfJR%GuA9)N8GuII6haSNr(za{%)+
zp9&Ts<|GaUy>P>txg85^U$2U2s^0nc`1)9-&32KCUfi3LC4MA7Snk&*zO{=T&Sp#U
zf8O&^ULwx(deE{4%_AHAJ0~AY+W6pO{eO2E>6N0*PP0y5w2b?(<*L1g!Zgzw(KlRg
zCM|v#T3o1|Tk!bUp}CsI8LBtlSv`4iZhvfR_WcLfr|b{8yym8|+4{Is{7oT~I<Cnu
z>N?yo*nRZVE4LEe%?4fJw%3ZoSu10A?$tWtyD4SjC%HnyH+MKn+cg&n`b@p%I?3(h
z-IIa!n=LhX!sLJZiB_^qwOzsSeABk$R)Qt1&sGUKmboegJ!G31b?NzPO~utma<c;s
z3=Lj}zRoL6J>1&gQKffU@66}t#~v%|o_r*^hcUQ+9?y5-Mf0{bpSgX+JSNods{8W8
zdDG98?yAmaKW!Y{zU^m~K(1BzyO-I@f9|z6y-1f!-&~&|ylvYAKDNGG{{8RYN!<1B
zaoZNO`*mblmR+v$f4RS5t#RR1eQ|HLg~j|8(|mpO`)}Q%_g}fRxrE>4Ua3(}i8vP<
zdF+qR5}UHmzW%@acTS1B;P0awX=iAA<EQ1`@0WQ?=M^=--YUM=>ZQ!mOQGuymDR@T
z&wl$iButmfM{V(KK{W;|)xK1-y_1(Ou4hb~?;Z>;GMUXxz-KFqFd9!UoFb@Me|463
z@oh7K<L`fo*qkyJb(+A!DW@qkX<`tIbHl3G>&>3o>eH9>@43|<&#)xe)?s3ahPCZU
zW3w=O9kJd2V{eq+vs$-#p6<~%M^7E+D{*{t?1Esv%oAq&uDK_Q8Nb!I-?20==D6G4
zDqd|d=kopc@BZ(M_>pMx|FQ4q$PK=eOzrFc{rq*P{JDJG{{8<;{y%(tbZv#Da?-c!
zJgf4HWq(|?;9+#y`1$tln`hU)zO(ZF-jbLH$8Y?+{pV@5`T-7yHP`nR|9Ert%w1Kt
zgL)emF&nh_bsT0ZpB&@4Pt0Y~+oMe9CdV}Ii8#2o)=lw1;gXzLs^%wK+n<-m=jBf-
z&(E(nc*0x%seQX{_11Zo=G^zcKU2)Bzpo(sNhj(u_X}o`Bi248%G149&OC9=uhp<&
zV!7C=YhMJXE|5-g<}~O~_|vti=5HYb+nnFF5^HbP@*L7nJvFII`0bn~v24$EUSSiQ
zZd_O(-*}>R@!cn^|7?2vKil3gYshF{ucRFnaQM3Ob615g^7WM+wIyrcCV#)0I*sG8
z-A*5ir)HZh*c=7sv92-Qd)}2h^Tv+C+vigrRZFx~`(#!6=X}dOR8@FY&1>58|L=V_
z^gIbtmz`W|vHHlBo9c4&Y6H}#_)Lxp2rK@*_V}yk|M$$fTmRDA&G6msH@%+So4bTg
zh0j{;XXNSSR~*K(^KEcIeWd=*g;h&4O{Si^b6rdA?MDt<jz<!{+*fDVa4vm!s+>Jk
zRdVgl7}b>tSBsB`Zc4g3=fwO|jFDALGTB9D7IRcWR~725&E#czZ}W7~#u_0HsluSZ
zsd8S4{v0QAO&^u8U!P^;d(2C9mWH^=*5i}cn~Bd~{%`v>|IbrJt2J4Tk6y3$l3>Xy
zHCXvLYI3z;{PU($Q)4#WI<f3bRo4yX6a33Qgw?<8`DIdcc+>m4Y2s^c&4_){sTFY4
z_+E5#u+G)57c3;FhsNGm-`?HO{rCOh&HM(__HNK!c_wbkiJ-TE;n^&q?otmcxGvUL
zSyvrASmvi2k#KZH)r-AzU2VVL=x21hP*fjX5_!U>eMYy-GSRKuB~~?l6P)*jX}g;E
zJpP!aS9%^cUHJNRQfSPqbC0sJK3dzIIh6RQyj*yVN^4A*XVy}8!wy5MW$E+nzg~2I
zmpS9wm$-xtn?kI%>xF#1Ah&eoq&+WHGdGpHZwiZ2l8SD-+S<+dg>PT&p8b0-7S`-J
zd`|lBl6uZl)h<m|_q_9L7vEsN(K|m?nOW@1)_1%$_m92)a{TqX#WjoWy_w<tUFNRp
z<4$$MvOQCm%-(b>@6AdXMS~a<2NQ=wS<TDymn;hsYPz23wIkN1MehUK_pDth--=Ad
z`2VP?Xct{IUS~Q}A}C&sLpOS=hNo-fvYO4NQ7&I)PtWP8ms~V;|F^aflel+Nd&Hd5
zrcB>CGd2En%vL$sMGl-Q{C10`9K09wE#Y^AujaPpbFJm-<o2@unD^@bhGr&t7OyEY
z_1Eal?Dcx-`DCGcz}NE+qApt<5XfQfS?=lAy|whpy2l@^S2pXOzUNpx$;|jdPuR01
zM@v2Dt!I7Il5&limyxG_Z|9vK-LDs(GyTl*jm4pPQ~%oeOQg1LH>$ibFaFFDk$J8Y
zwk^{Q>4^^J;%bn8Q2b=qwNH67v*y2<6jPKIv_ZmH??;(R^ym8qvAmTE)ix(3P2~HI
z?LYKUN%QNKjFYbxN$Soik1>A35V0<vWlG1QWej|Q9M4u3Ib8hw@kVliyKeo5s-@fC
zu5FvHvi9qgOz&Cc6W^UH*!AyaiS?HPM^~jOX?Hv(&M?}bmgK`U`<3WRgB(%O>kkc=
z?6r^1U^#f>LV<eT<DAQEdJ&p0z1Ddg@;&+T(w50z*U!ECbe)LM$*LZO*$(^dI5x#T
z@9@oJ@tv-~z3*$iJe!NJg+mYP?{llWd+OJyh+m!2WP8*kdwG)mjtzRDw^O*<LMODY
z68^fU*8E$j`_rQvuNuCXxJCDvou&Gu^1b~s6@^Ta*`;#f`+|KP@A-vu-z`i#KkY?%
za?Wg%zw2Yd-MX$mja+)8;mPy<>3p}F=1Z(DJ6n7HV)4U`w~tmtth;Z!S^K)3Et`b9
z|GblYoc5hF{&ENX5b1<e4<_bDpw&Z~yp~-0KB;->B^e4v7M9a5dJ1UP?~Oj)C%awr
z&iU|ynK>1n^VmHd3?8u0Vew!%eCbf<f>vdICgrwc6I2iU{2fyG>(0bC6;Xy!Yg^mO
z+iD|x=b66_`#R5S)h*NBQ}gF#&6n}WIvZpvz4GNRU;nK?W|;)74YoKWzvQ8$?3AXR
z5{X@BtC|CwHyo>E{?8lz+2pFFMt*%n)>hNLIoX=-wx*KVa?`f%dUE#4ogMFVR+e&I
zhzy>+HM#fZB$3CD7*wWmzr3On)T`{h$V>C`<Qr8-Z%+QQYe|oa^UhmyJk{b)dwE7_
z$1l9H#P=!N;%OlpoFzPiw9idcD~<GzIJC{T&xSGi@e1`bvHm?NqO*H0`dm|cesz*h
zYyIa96J}~(TcJDC|J>?HIUWx^Ci{x_=~T{)*<SVO+O#S2Vro1kPySpbarVi%&l|!f
zl`q~CHo3oXuTf5!{?zl20;-;_i@bd0ww2MGvg@a=DlC{C6!&`N?_1N&g5*nW4TI;O
zQfDZda!!58vWs1bynC)q*s8CTnGyeaK}_5=8}G&IYwHF5lPxBC`6sU{Kb*XI+t)Wf
zn=QjHPg)jmoyXg+;fU0&OJBa`X>lGuW*+2QY_`tr!P0=aJ?YV}B8*q=y)?~ZO~92M
z#UXE!l3!Z>3#ob<qZKU~wm~F)s^?mx!}UMh7l_13Kb3F{i;Q-;z2erjJLeWY-hQt2
zy|~d~s|zbk8IxvN){8$AG?TFndmOoaqu=$7F0-?_Exb>u#O2Mnb6d64E9EWIb-^h1
zHWQEKp^?YaU&dUn;4)%!ER%}K{QB(V<k_dEm#@FKMBV?=Q}3MGX3HsGOzlE$&C8Q-
zh}m%V&xe!h=F`{5-QQbN^;^x>fBO1;Ka67M-Tn7RZSRhQ^EE!)tgqWse^h?o-|KJB
zJ}u_hU;Fi$`Yz7LpUtPQ&#&KA{rlI`xBlPx(*C~7-+sUL|J(F(`{mDB_ZQr7od1?p
z?AJHbdC!jQQp?k>nK(~Bf9rwT&)@4mR1_V(R=zSaA$R?~e;*Eup4Y$d?t#hd{fAC2
z{<FUz&aU?BE51wf?(g<_6eCwGeJ0nytDYx|CyGafO^Ug@@wkFY{{$PSPdq1$RnAYa
zaYkkoPxiULgBMBdg5wEC6jZKHh;c6BJ!y)@;6ACVvVFoGry>-Fx5u;zI*O4_n_5yh
zPYO*^Rq^(iRzG2lVx;q?wiMozQj<(ovOTUr1X@$LPl`>_Rmq?BpF27-s<ycD*SGok
z*PidM`~T{``SkPe;_AzPS4Fy17XJMFRDb&U`PaWTx_uF9V|SmV{YKtvhPHC$`BYc;
z(?>Jx=j*Y5F^T<G^8Jn8!F~TfD4#L<{>lB<>|}#06S>dT^QO&^t-iJ73FCA|?vnuz
z@3TF8Y#~q@b*yp4<D-ca*7oQG6#eM1@jZ92p+?*PD!ahhBKK3<xsy&bN+(+I{tyYx
zV0oOaUum?SY1yj%y^g;cC3dB<-P3Msyxb6chux6hhWBbr!q!_0rWGtW!T!l%Nx)i3
z^^!?m6(_&xb?8OfvD6=#$kvsjW!|E+*4B7xQ&d<*TrOYf*5WHdrS5J;OIqy?M%1KO
zxv!md^zV|x4Zk=iP0;3$FPXJl!tPk)37v}VWwtysjg{xypL9PnZ)WepSEssI7F}h!
zyjtUW)v;xB9;-yP8aqrXV7*u+cVc<D<BN$Ky`$1@m9s7km}vFQvBX}W-evL|4GWfY
zNfOy5=T}#?ZGKTYFGc2qhX>nw37=0b-1m=O=r6hH8umu$?dlr~x_qA0vxL^pTQZ$j
zZ}&cCrw5zfIy=bh6mFX0c#koWb>$KE28$~eX7!b<h41yh8@_P=FntSWnb4v5Ljm%=
z^WA5;eLUk8zd(}LHFUMHw3ka`+LZb@|4rwY?YwBr%8}u*v6iQuZGEF}`(&3N2L!KJ
ze##P1stT!8IX}H{P4|ipDe1PSiWMf+5?A=Y3A|aFCsDxSwfn~5f{cr;HC>u#*cjg>
z_V8PD6}~V_cz@GQjzh4w^!|xv`{l{iez)4!zRO-wlvTgtcgM<(Iib}`#W%Hh%-Cnv
z`|Z^D^OVKRHdEOud-c+ueeakXJR4mLCHhr=wzr*23UFSLyjUuUS!+_=HtUJ0XEW6+
zJC0TSZD4F%e8{BCFvI$TflOLw)AWhSU-z>gFo~b&{B=pu@?DFbJ!uulWmKp-uf=dM
zcvk-usl9SDpI&BbxgMu|@tNV8(~CRjTb<*Q60Ua?5<ETAKgd3NUdO_%&i2o3P9`5V
zH7p1}Jp1!MUIi}wDuz`rZBAPV9IW&dRCuuYX2?C(h3?;&L=0p8FtU6)^Ria{$i}U1
zr(f@C3-o?=N~PrPqN{h#TlEy>&tPQSW_T_2*<yh{pY=0cH(lA|<e;Rudv?JSOO8E4
z@8@slGyARdrCxlu?3>C5jv7hJ`>!4_Q!%mnF!}7`$j$SvXvD1l&ycwHAG^bgzdvFf
zZp`3#bUpUP8I@-{Z*NH4k#|_G&G|c{D%(z`RUV&L&J=Z=^IiIwP5il!yj?E>{xULO
z+SM7AEq-|7vXxA&4aE_?Nz7szEexm5EVe6KTl^&QL9KSakQoP0{ewLoHx3u1a4D}S
zPCsmBkQAcYsQNjKozeN1=T4d56Z_7(?>Mvhk$_j^TY+txs;^IWP?(sLBV2Cgxp2yf
zyvT0hkhkih(NQLoH!Jp;uYc|5EcTpZzuju_#cS6}pFf~5YrEX1#R9uzGG~9@_j8kD
zg4Wd%`NI~METm<al-NG~h&f$fwsPyO=FdxbxVDNIt@zb&V8XE-Z;~vG)-UHYGh-Jt
z-L>ZSl0#uUuly!Y?yApfu8#dXf78mtNpBnjpC{)|aNewO+2@|@Z~LwfC#7yI<k#5e
z^2(D-P=YP^Wg+XuWl!tEUc3|iy45y8VwUyn5^ISoeIXr<<w<t-*XlHcs>+rztgZL8
zJste{!N%`g-!+z0D{W8yeM8{%v&_mV%IdH96*4q)-!)roN?a4M=b+7cg$)%mH}OBZ
zki$2zXkD62DC5gDQ|{y@YHgl(Ss}$ubG795#D@EMq2C>4Zq5mwa`&9HNZji+DMFT8
z*WH_Q+tb(UR(j;$SG>%x-bLCm99bx}ut#c>RDH|TqpikSH<&`-tXUEicyq$!*UXWo
zlQ<9eO?d5nY08{AA)Az4nXXR@*`%nNZg}HRs=Ibt@lETsGrkK>*mrupNX*OKbKifK
zesee8f12q{uFjyhe^2tqq#6CWWBzNC;r-w8N1ok3o%*dh=xMb~;{N4v|MdC{JReHG
zH~KMKZi)}TSN$^fo0pR}#jCU5yxjcerQ^3Z5Tv-X{fXS9YL9n{mM2b&JxS&Mw28Iy
zX49S=$GB|@`q2}n>k=<qJz=`-iPLgVQu#k^Vz0c}yyuN$+&2Y%uy8#NaViU&fBMw@
zxauf#hfHPe>+jRgZQys0ihgP`?Na?2(dX}b#CoSp*`=}FE^FIn1Ccenzn$lt`(q}q
zU$mm)NXVBZtD8H|2xdF;8oj>jbxufN;jc=a-cQQ<0XO8^mN)-e{J?c)`y=@_Uf!df
zTP7PUI4AzY+M?l%KG%e}+dp*I9%Il`Z{*mmQBkb6eRgcfN$0OBUR*1q3igKcEXg`}
zHU3T04+-f;jwwHF*WBPpsM_-4kA!sLQ32_V?2j(=-q<5@M!A1sxPGg|+~14Mz1*7~
zgbEc2FYevI^E^~2$<XoY%jaKOZYeo^N$E0w9v&nv$fT8|VJo-T+P>k3zFnHZO>hI8
z$;@<mV61=^uQ9y+ZDM3HoiUR|v;J+2@A{POg?G=de_(X;&hdVwNEQ}mKNeNSO$Iu;
zb2#E|oKxUP%HVNin^Zr)*l*+SyX>BqyRPnRn8>*7b?E0$la40UPPScoep-=MZIsqp
z!Ivxh98;ET6Pq}*Dp=k>dBu6J;!=fqmsd^p@Ki1T_HC9|<X2gPlHAa{20Kc>KE8gm
z{-8|pnNt^K`1cfheGi$IJ!NXvN>i)rx4uSsZrxZMZ+bP(_*n$+m9np!L(+NrMb|t!
zvZ3V;_r{q~ijuXJS!)Z-bk@yG+%~Z|OR46`q+2?3BYe-Ez0a7Pz!JuFX42F}b+(bF
zU!_k<Sup3Qy<RHtIpy$`eAU^L|9bgtyTBUZX)9fS{BXeDGi{b$%KhxObxO0BaHV{)
zyPB_}AhSL}e@~{3f5iM_(VU+@^v=4xqF3a~BsXcdHOmsSllTmzZy*1-YN_GQ$;`Kn
z=R{k+@|e-|`aqjskJp*YYrGdH9PhP0%a|rF!zz4sqlMS%%qrO#%t|aLA84GN^!#X`
z!@BFI0&jUJ#MLi8^JJSzm%4i9fv`^}=gKAYS+^!ecxs3DF_o>mbW%H8z^d!Kf%j>y
z@V>PXbBh|bE;Ef;+_Pob4o1O<b+xa1CEVXBXry=DeK5zeJNnPO+``+Q>3oq7n!L_R
zacvgu;0-WZxI@e_@2XlHkB_jEdTgeM=z=Q^I-A%U5>;K=zckf%Kl1yglqn-}SILd%
z71Pm`JX}mi=AM~-OZx5K9@mL&Ck3A;F;A^D+t|FxeEAY_uGl@H_1|x%zmMDZ>%IM6
zfBpS`p3UaJzqk75r}O*&``!Ql(|+I2^X2;W-yhztum1n`x@4Q;|8Gy_<Nv*U`hLIO
zuTSruUVs1pL+r0zeMJ*Q_ikNWpA`Oj%i#?-?;e{teer$$%jxr%PS?MD+P>z;E9a`8
zHh<5~ulxS~egD(?*>xYg%YS@#Q95PC_U6#sj<Ei`*Gfvu<ZFW#9}iSGy}_paVA7XI
z$D_gpFJ5C@oy5)Ee(OqHA8YN)o$}Y#D=n0}A~5^)i3=$b?tgL@aBg|>>9I@CR~Mz4
zdRe~U1ZM8`((_*>KE$=zHkrj7=}2YgnU=}_!1t4l(Kn`l4?f&k_lP-TfpAuY#oVV#
zf{RvuD-)DoBWw0lZKHb0jmH@!6LaN^Z@czL{EV1z%vx}>tnjU06FPp@FPO`ECw<SR
zt&>d-o{CS^PMq<uSz0A=mebN^!|79N6k2wA=_u9<ZSXHw5_4gC_ghiW|1R(O<1O!9
z3d%)VyWR$9c*wr|tmK!lsY+>4BlFMY0v~<+6mD4<J(|t7G=ocpYf6jD!QL(Xf**bS
zO1RXL-u6vZj$7Z{#OWye+Ciam>gQSQ=4xzex+`UwINcOx74G-4tZJ{-S#Q!Hc;<wh
zkl}IR&J`W?&tF(7_H%z!PTI{}w`AeX)5p)G*6oW3dtb2Rsou2G(um%=vv~?%+P+7v
zcTrfA`Q!J5j>!4>TV9_L=nY@&Yt6;9-t<<v(zc6r9!G*LFTPDkWIEO)spRwgV9nk`
z9tx`aIs}CU^D@`FIGAkudfdfks$fTf<fVHZ2_3f=F6{4&IA4FhQsU87n|GG|IX`!t
zO0(`futZebeI4IzPNfa9Y<(j8PxU*qMXYlA<Zj)WP=9dd)vhP`F;oBO`dr&6Ez-)T
zB#`dMp3F6A!RkqJ1`9TGFnv6e!eQ3>R3N3L{d|$2Acx|yq|hbuI#VtrechF?TlUfa
ziFYMF&)ju!gNB&Y>x&s?^|J4FuQ=s$zN(iy_10o9%}@5}MtqC3UZ;52>TQ}9HcRPN
zW5OmQ_VstBOky)xwxv{1aIO4dn_fOni4(48`RnFBmH4XVR`TOyP<-Zsl3BKDk7ni_
zUchx`N1Nds$6M^r&obF}p8BlRoy#iI5ZBi>l|PJ$tB1|yNKaMORF4}QC#2Wk=`?8h
zcU4~4@U(Cz!|#V0ml@o>KBfe4eORdYVxIU+j>A>jm%1nV&Q3V9Utu1H5?}W98(z*X
zM?clN|CtcUp0I(}-^}O|ufDh-qx4DT#daGD=01?IdGUf<ZOhf}jD!bAyuK}Kv^3zp
z*`HCduCu|@;Z4zE#=6yt{PiBq_Mr+7>SYA%zA&nvQd;FN8ko3B;!;eCVuE(K?8@(J
zHgQZXRa&PMcwvUT`XbxQVM@Dl_q}r|VF?nIsq{EvoXc{af6w)BrG#~CNwbf;*c4lf
zEwb9QUva`Jn~0NZ-j+XJc-}QNCHd?H1tFb&AGxdxwQRmizpiHDY@W*U{d3bJ=`}18
zN{i|%UK#66@^;ZZ#?5H1bf?d)x7MZQX7N<#v_xUYr!#I$Yj?2;w`BWt_WIignkxNH
z^1>fO4z^4!<5FRn*sja%^5LGtGtE1x3+;q`CA@YN&#RQ)bpMv`yFJ(I0&SXi@JVIP
zP1jwvq3^o3#`^5Ir7|aeuG$)|B=9Qz-6>_I92?^e_01d~c&6<1e|9jLRnWL-eqkW*
z^le!$?(j}7FGw+1@nEO)qW7N!CuaEb>2q5aC^K!#GOhM$u{B<^%ExhHVQR}vn`YM?
znIc!B`popK{_g&HVcUjJ_wwzod`iiEv}%J^(_c4!C)Jw=>n5{r>}JZ16ZlZ2zUX<^
zk#lmwhPR8)y2#gCef)GaMYY1?{*1-n>tZL&7WBQ_`JpRdy}jC_l@IL>RoA?8`7)<;
z%ZC{q>95%SSm^VAy0g~NL}9T3!wtEL30dK-zpqxj`|ZWj92?)?S@GJ^?)gE{N!#bt
z&5f)3tp9)31RvQwr_80-_<s9xcK-h#$M4^(s{i<K_Is08;=8s#`FN{d+^S}8t>zxz
zlwVET<LbV?ZMU!aDaW#WdVK9a*Q%ed{?^w{H+gV9yWz}w=}qo&TUq!gnkmTrh%`9H
z`9ddRPh-!q-)omDczO#r8DA<13yujF<E}ar)IV*`^!PG+=OkwB4u)Cp!>`3ncye`%
zK*YJb>c@Ho&H5g6na&n6PS{$zrhf5f{cZh*AJl(@Gj2?t9DX=Szp~Zvtm03>IHQ^`
zJ8T7HcvKhk`c^&{63ac8Tz$`InZr?$=2mX|7zuqA^JT16{kk?Up1*wfp!fdaZ{^bs
zUiDV{*Ud^x+;TwTP+vys9RH7PTW{=85Mz5j>Bq~G?I$CDJg-gHQq6yqYcubk%#P#r
zB0Z7kHp~vui*n+ueC)c)b)K)y+z!r@b$j~1?0Q=l)~VchsH*mruf&U1-<8`JCf%s0
z^$)aska6d-?a^z|PA!kV+SMJ{_-gL2&sB^5o-v)4QTcpVacFn7N!A<xr+m?A-0L&m
z%v0p_X;g?i6Bzl(ck}5JE7+qfr`_YPQQ(v2x>EnX*u~#bO2c}4!t~=)mPq#Irf+MU
zsP*)CrMS)J^k<tpUrb(DzuZ%I%EE)vg%eaBec+o^6=BF1yH$kOnVn}vtCC3)*J0J9
z%_p97ndz-$HJj@6yf&jdbGiDD{>&pARu(S1v44IY|N8@$$rsh#xK1#a#q}oT-Ss%x
ze_%$dX~_Pq^>flXr?GMt#=Tv)+mel6A~xxgaoxL{*Cz1^zVkfi-@B+>?(Opf#<`5i
zdTnQN51&1hU?5f=za@Cr&zuJ{)z3$D{xUV%=_MDbej#o9k=-5Db1L-R_#|u&R#$&{
zp&nr*cg@__xq1Fgg*o58*}U*?2>5=(;P20m>gn6|)_!_+b$f2TW7>iKJt39Ppa1J)
zv3fA6gFPjnT=-taFE^I+kL2!LUBg%1_iwUt$;opqPCE;}xO`zZeJrbU%i$*1tz`=z
zw1p*oTI8r@leXSSKw{H}rI9OG?_D$7Z@?bvR=wqS+hxC^hp9nEv(|7gVcW7V@+toT
z;rmW^_woBnA3BgR$>Eo!U3z^)n!*J0iJNtVI*ruzZ(aBme&c|u^osJ-zvcB6p>4H6
z+4F;{bl0)(Pg&nv9Qe)9Y4SB6tFDRDdAiTccFXv)v!O4s-i7Pi{P)pa&$E8q^qKoH
z@9nyX;6&48K?{q^`;N|9+SIp$VK$#!Vth~Z`3uvSCcOW(CoD7|W*g7c+q+#A>pw4H
zms%L~!v0H`U|;!B-}I}tdnT_rep899=Ct`UlRvtX@3c=8nrFH0M`c@CEBk!C8K&aj
z_kHYYTEy^g!s1{f1x91tpP~N_bspt;*Ro{gWTD^>$D;qOJG1YF%f&@fTDgnfIGna?
zeKr4qzn|b5>%F-LoFwl|_|8zzP_|@3?&0F<`s}RtT?bXZN^2?cc}VI?f4gv~VY%V?
zf^UDGH6J+k<k^?>bxQf`UVQs<%^_}c9Yd8`?)~<qT^Ify_ntUga8B%e!xIzxoy*UD
z6n^k-|M7k27fLeks)+2`m$R*V<L;GTeth1TKT|)UKK%9Vdq3{oJaGPVt;nTWQ?}LK
z`!9Ft*X=gJ{`$EK@BY!VOJ={KH(S?#ZBA2NuU%ow|8+6WrE~8p3%ocbYV1_%+FoU)
z9R6a`&I9h@EBx1=oIk_pwp8^w)7Q1%HvT=Fv^1mI>3+o)_PZP9f|DHg%Qyav{v&qj
zciz+dqqFo@>V~Gg&P((NE}vigzoGZ&<D=!<&h|@+1Q)6v+Ts4NKG-^3;=*j3`3XI@
zv-Yn)`84wUk2%@xTh;u{&3f#fmzpp2Z~QNF^M{J!bk7sKw|2aLk@;W4{#?&&$-PS(
zqPs-ie{#Q_J0beWxu9>;9edmTd+OR`4Fzpmb!w8QwrsRc;L}VoEGY?|vrg3QyvB)V
zD;PAs2eUTppA)~>W7o~YpD)!%JZ<sL<LX`zczDOz=uJXXqy<}&r~8CV?``Gi{}vur
z8k%MG-f>q*MoDf)`ouRoj0--jvp<~j^`g@c+er)SULECU{<$o8-!l1tx9SJQ9xJsN
zb5D)(>GnDK^u?bKb6E^x9|VV0E@wX)cx^V<MBmI7?>D|H%br99@n~K?Ci;W#U;Pt-
zGi6hE<t%T}{^Rd$9<=C(&$2CIp{l}SxptNw+NX+UeOl<rwCI_5MfkiMQ*@8~zIZOa
zU*zwX%ORRsyIsvsKRO%yzG0X5g(oqalP20WFPgm3&?rdSYez`3QO2W5?B}hI$Nttd
z<_o*EBvA0_j*<*t&mhg+-R%X}0$v|D>aM9<U;o-5HfiNb?`fawmom>@!LzG0ST;0B
z-{zLAcD8FsM9ANeg|5#`@^<8i)aPye_WNSo#Mlq%`rEsr@9OT$DL!%k3;&HfB`oKe
zRiA2qTvH-?$7~tT&C9DEt5htS8GbE)hsr{2_gSBUC%a4E3|)0@RqHG71Bu?A!oq7e
zZOr)Wm3*>(zK#edZ}-i0Aw4f2Naly;T>O18Zug7_p_*@Q-M^brvgr8E@&n6+)cI%r
zjL&pg>0JEdlF~2UbjQsu&sIn+)&5<4H7xV!G2ZQKI;Og+|6HYNt^PWCQ-5s8I`b3%
z4;@}nAG@;dK~AZp_dIRUo0E3Dd->?pj)$Rri>LoB+j32_@LW*+Hb2AuX;YU@`1ovP
zy~DJ7uXQ=~%JSd;S#K5-dO<7kf@a9`LPzQC#Vaf}PC9hlGvWbH>uKqlvQ5j{4t^In
z<gq^W`jkiSmvb#<wwIOv(`s;xQ)2U+M2{;MJ|2_4q4LNyNa0p#R=Ewg=e;jSf1g%a
zANYTID(}qv+U16y+h!k{dM~v8+9b<KOh-?6t5@c~c(DGLUkz7`y0d!UOt(cpUuz|A
zG5?|Wt35ERIycek#pOo^8d1-z_Ex`=-w?^E?9+Sk;ly9Po6f6uzI0xi5b!DU`ai3(
z-d(caJ_`R~sh4>7n<e-46#lA-4Ywz6_m~{Q(Yd%y_}rx4-1m7_%)C2(&#AFLyvVGm
zo4L;Ht)bt68Bck3^GTimc(N}@>A=MK&+6HZK0Y;@wbLQvviSS$vT=X+^H0rVy!@X*
zu=oEp$gqaF!L$M)Q9)A^3)r}Zk%F0-iP`jn!9t=;W@gh5ZsXIOp0HSerG84bxS3D+
z^aV#4lw_UDmzQie;$h}7WIlZ1Zg0nwOR65`mw20+8kV#usA_gJc+@UFUVQKSp8xx=
zeP0`y{cPv@+P8b>XCL3&)*E?#Lij<xJnq2O!xQ#6*fDxGOxo5Z8Ni^Rpm0Q8LBZp|
zu{0LfT@L?_ao+Gz;NaJgQTrLsqsmgx(&CbMN<pP-1#df}T-7dy1}BCED^vn}f*cqW
zG!zs*nhW+#V9{vav!IM2*Y1F`1<xbL1It*-Kf5}}%1m5gQ*X~?abOO^f|eGE^ZDfs
zP1-Dstj!4wxdN92A9bDLVB5*S^Dse!<>l}70y3BSJeJH>vERRaySe;{tIhm<1rwgu
zKVhtJp4i90+`-QBkaZ*TpGiCy7<W4T^LVVBz${_uWc$xZ;?UcP_Y_!I8kk}hBygNz
ze)@=WbF%`&iZ=|-yt)nRq*=a+N50l);(y>@$lzf2!2aRCivL_Jt$)kd8V?qPn+u!~
z=PG8n;T)^L5F4s%w}gKZJ44gWze-IpHV-uF>nDhFykgqqDp<GQietg51^f&PMgCoU
z&gkZFcY<7vT)^~rsh{<&j#DF9)0VT8m$n|5Ajh)*p1)*QLqlNc_ox3a$D~W#k$(37
z`$;*j&71$L9zJ)u_r3&M>GzfljsFi9C^Y>~;1f`BaB*-7@CgxNC}el2IneiKzmUYw
zU5<6qjr;2prnEWKo9~c5Ag9VK#Idz~K^?~*TZcFS2BC+XoL~OuAKvfJ;-GMVkIRiI
zN0Bc;;$Z!v#R(mM<I_X_3kJwHEM>_0)4<ReKfiw7nn2++_V%4W{<Z(xee};NF{@>6
zzwXql{7()EY5C3Yr;@dmaZi)bA|{3f8#)Xee0&51e!O?6|3BqH{?Gk^wgO+yzy2HU
z!8^lNM&aXhu8^Pq!XAB1H?jElhFAT;eaVssD;nDvEdCk)4`WhdO1L8a;eRD}-R?jC
zdH=81_<#N9|NG`aUrP#q=05+?{o(({=9q<g`|2fDG=6hgG|gGMFG}#n{~%w*`rIvM
zNBCa7{Ix%fSA}D%3YS4W`}BG)&aVNjzZ~9tS>UnZaeVQYa`}LVu?q}3<nA#4dVP-Z
z0~0IDzvFFD)*Fmp#eH-reZ8Ht>DH?H<sprY56kvn^AB(lVQ^A#*vGQs*<wE>hI)l8
z|F;Tu`;SW>IM3d!9H_@IWsgIHt&HP`)yo$(G1Nt~aPT-@3~0MQqvMDCnR?cw{w=Qm
znins7WxqrF)ve#h9lz}7@z`EpAab9#^z(tb<Be8-nwkGU*uVVoe%?nK{QUmm*Y8g^
z5PI}E{9QdKTeVWayc74GJ69dM|NQ=RelHdlpA81w?B1>xSKUkgtO(ul{OoQ^z0Zxg
zmrW*5zFyCG@#W9SEattN)vVtLKk`w`tzXiglNsCkIOL!5<*onYvX%2nZX5socDiBp
zaerPl^V^)y)HB-diNDu0;W2t}`Loo?eAbxV>@!-dlD91?w@*1;{#``<qV|$M4{aAb
zyKE4#?}uJiS#bSow~)ynR@HQwU$i)=wWVa%+5=|kZPQrUPo8c#?ppZ7*{ZhcTcgtZ
zzq*&}4==yN()hd6N%f!D>LyQd<GRyR-J0ZVOTNF<$&fVg*SzOz_aXexq<<gI&8d$(
z>2=Yhc+%e6YiG@QIx|q?(oN&pu`O=XJ@^^^n5CTzUu&^w#<ukw;vTZfb?HpUt%D|W
z>Hc~)cYFE!EkT~Q{e-8>8NX_rx^tra>TuPKuQ?VlySvuAtnt--5zHu9K4Zeu1kWej
z8(9_}l#x2gKF^BvT9@<>e#Iv(M<1KVO|O*^nV)QML~c>$gcYwoC0j=qXeI6`;j4WX
z{&9}?nj>c}pZ<N6q0s52(-r=9_RSxs9t&>|xpOLX8JBAF>iNs0CHN)G+S0!i)hy|{
zu}0AH$)}^MU+mcKSy}&tHET!a)zymZvmL+L%X7KE={z6*qk8G8ta|-Ff`1+tb9;vc
zJT)sjweCCj`cvl*U%qI5<-oGNvm0%BO-z)ox2K&e|2TK!q!nppY_1JgPVMY8)ZXGe
zE#LQHp5E(z3%-3`f&P{4YdvSjy`H5z@!|A~J6dP#XK;C-bE!g{=lt4}_VtHZ()T1?
zUog+c<L^!1z!$fLqRdb1OnSUB&}H2Ov(DEH_tOvCwl2-LOHAFp=;@V9t5=FG>8#9+
z{#7ymniX@}A>+TF=S;HObNOV^tf;+pyAG-ZSsy(awkO5Myuyy7GHc<EpG}XCi@%8K
ztToGb&zQVaZeNsPdj1K1$u-AW;)TQi*7K<C-gd)%<{Xg}&ov>1Y5VtI{a_v5UlaPe
z+J5l|JEqwyKHg)Jub<n0dB%<aG0Ar?A3dCvvt$07yKDV|I*aF?%+bHse}7L`nC1GO
zo~|i7C2pB+VfsAl?#pcZ>AJUmojEygzG1~AmNK<)`x_Hw?oTe<I4|)|y&dQDoXpIg
zd%9tj^<wd?u{yRJY8HLa`1|*(WZ{_&sciNymvtSSab<RL^IVseAwts>1N#n!^UnJI
zWXg==DNAK!EO)1MTya<%|4}vJ*ZLXLs+Syo@;*n_^=UzXk!QV2zvr1<;s<1pN?I&7
z|6(@F>%+m-R@TQ#%ELcgRliosD|GzVGyT7_SEUQ|df$_%Kg_1nc87HlhuV!}-*z+n
z7cvO$*}Fb`(FTXFsrTn?ou0Sl&c~uXtVe&}2$T)$J)BimqTQ+be&XqW9(%KVwyUd~
z-^exFJ@>+@TAe=LgWIicl)R|>rrLTxOGw1ZZGO}#Ti$&VdwI`r{8L!A`Gn<(Zkwk%
zbs-BE9sHP~>3Vz87vY5ZRiD4kn^-$D^?Ka*z1!<fTmSp%-NIqCH1go9ywAcP(w825
zl=x=SL9b(4J>0*~zP1*R%TEk-Yv*(8;^Xdrb6croWtXour}D{NEhf`tw@ELU=N|uT
zzGKS!xv?*{xT&3A`gg&Knv*5(;@IYxKdH8kKJj;n^8??U4PS0mt}Oj*z5Y)9tH|(}
z?$3uO{SjQWMrxV&Out}Z_u@<JZ07$$&omwE_Lhym@x4S~5sz}Ie~$3yx!v;Zm+NXw
zclK=$u6CYWzWn*syBoLKev|ttVf8@Z>#Tsu_9rK9dsb9*;_>Fw$GMra7NjoDWA%yt
za&d<tW4Dp(|K3MTNxN^J^^-Z+p8oQx^rrgh42I486&oMVnwrF!9Wk@mf6_;_=kLEr
zP4wKm^6#ejqq&-M)>Is7b(?>!_qm>oit4oc4Zr#uBr~<z6D#ihOYqZJn^W}kMo{+W
z2a6uPc_FyF{?Jsp<tKL^TfpQxPiH|xt7-Ga)JHv&6hvLT-2OG+;ChqZtKrBHd+#OB
zW1)Vo%KD7D%jXT=T`b!+Yw~fGt|O0glVs+!1Wuo5cV*V1^TF%y{QmWIeZNNRG}ZSZ
zkN3-LEVQ5T?Jw6^>&i9JS6WrKIe(3ep1d=9$+W}C)33!<g}5@TkG)%cG|B(k!i^;f
zKC;VO+~iLz5!OGrM^n{L<NwFY#V03xpUPiWIln-oottBeO#M{Zo7UQf4}v1wo`o*g
z|9L@GXY=VFE?;M{t*)<j<=|ENprF~ic)`APU;6fW_~>L^(0#{acyn!EXG@x|eb1$+
zrGGz6)>Z92SAVSBQrKCv_g$Ckqy<%S89PfZ|2J*FGD*VhwIJuo*v-#E?>+JUKW!$j
zn_b16btV<|<+kpJqblv{i&rd~v-gANk;@;~r=QBY*k-}}>-%!2I~U$hJ?~QTxXbH)
z-v1T6hisDq@4YOWagsG??WF_DH~!dp)PI%p^_1ynimeVCyqlF;9KL`4jkRm7W_P{m
zdi!eXmi@trZtL#u-r^r5aLh4Ks^tjhCr^nVpJZc>#pW&MtK0R^_2{Itwv8wE)IZ%Y
zujS+eCpYb*&;F$DnL5K%=V9x0JMOw0+1p&-hSx@LX)f9vX!Y;l#QYn#F0B#HoT~pi
zcgeOC({EN%+q&A!WM|FX%squ?Vf?e-#t**<ALc866q8}A`q1g;zLz}5+)uX_yN4~X
z$(a?W`KI<;`s$6}L_cLmp5Ob-KK$6-h?wgZ^@6W7u0^*`50L%%b6?xMSzKS^A9epY
zuCiz6`6f5b(){#ue@^XEI;l2alFR1X{#ENYcdTfg$Tnv|sM`#QPZd`?^myx@Nwe*|
z#~+ctIBLS&IlpQSWQwf0vUjfC+cQC5LOMFLWaISDrzY4OpKPKnwOO&YKXiw`#Cf%Y
z?v*bx7-aS8R~mK4q<p#FCy+X|=Um6Cy2Q78_fD#wwRB0qyxGUzrNk-}SFY5QY5qI+
zVSwwx_+>ltVm__i_Rb_DqwDsOoFhelm+GE3YSzwZTy5HCmg*CtbXaNKwW=*U_A0B{
zEI8Iy_+_t*sISeX*AZX67k>X^;WVK*qp4AITH&<%=5pEK>#OViSc)g?3BPClBeZ4)
z%Yj|JrH{mF^FEzD%DKxwV2b^%@U%bMUF(!DiDfMRpklY=?S@6Qx9=+deRg%hos0Vp
zMQvN@)jWeiTgi2W+H}6#ffwYMJzM`jUdg_Vd*?Tf%wN1LZa4l`D^xc>Nk7bN|Jq*Y
z$U~7QW!?-N9Fa38#ci*1_o?48<6Y~8k}Wg2E+oc#w_b^RW_Dtw`l~ycALC{1ZX7Dv
zGu?d2#EnN@G3EaGb#(i~n{!$B{NB!S%KuWY$F4OND<rK}*#CcEE83SZ?@Ot36<12d
zN7slG5pRThdrx>i3SV7(g_CpkH47g3%<Sq)gHZo-s@Ye$p9QDIp6Lv|e3iGEzkcPy
zFZuKC^}b#>*(Z3hQT+cp*^A$N*D~IH&!Btl{uQRP0vS6EFZARe3v!c7{8Bh&*URNg
zV!yw(O7mD<mUrWh<JpYf>0;9aA9`DLZOPOA)H@-?D!y*Z+@+Iag}+DcSUI2dNAUy?
zh0oKUyP4#!<+bwtQK6;z)YG^{E${r~@5f^O>-T-md$4}*S^sXoJ=+W2Rd*FyE%Z{V
zY+L3RpJ3ZLQE5W^{t2pE&y{2zI=ZcSg+>3Ndkuaz=^=B@sW|rC^0@7F>PO-GWnpd~
z9@s6MY+9pusc~TeLu2uex~|n058TV!h5vE4hb#(MX`^A@zW%S)(}jy$jidx`O^nUR
zu9|&7@btm@Fzbowfqk;)gZcONr+%Bm*Z%2ZqD0oNS#`@ZSrnzCZP)&2Ywhm~@?RcQ
zF@q=V&E)U1^Fw~E*|aL3d%=sXI&tfJjPH4Q=GASzVsG|igQlVX`<}GxqNNY-PBzQh
z%lmcNoTa~Y-1x7&-m@-w>**^Sf8Y4B&3#>v&YBfrh6<0f%>UNE{^BvCyuE4pbLq(X
z#g3`j8@JuwJ5hP}*4qE+;-MA6C9juxyvl!gD{o5R&kOwvWu~w`zY}It-f>rF&C%#x
zzqzAV?>VT~ANuay`S`DU<oE**C+saZH2=GB-S+h}leWKV?b*6hf;GJCl8#c$f3^cT
ztM-3UWHPLXs(aS3FKfB(!5j6T8Ox@xj$JQz;fCw{mWg|%(tmquEJ||Uc$U3e#L2Bh
zjo+l;O6j40f}YLdm5HVEESJ6D{-$>F%i@!Yl2WBi6C7vFva1Q0KiOOE&cci%{>FZX
zxfd1Pu3RqU=Km}8v8rkO(&7&rj%|Jwx?w}}mp6XD=k~fDy}OOO+jeyxk89Sku6hr_
z;~QjLibXW%dIi?8Y`v>|%JKcDeHJ~e8NuD!3j(;lhfL_0=9*V9{lKkfg|cV0xfyiV
z?T}O6b@kkj^7m(Q&ISA`;56&3`DCpgSti)F=-}m&w9cZ&K+Zd_cSb2cOXa_B|7j|F
zTu+^1BGa2fi(k^$@9&+}aOLvOFqsc4KHbi(Pcb^;YrJ7a_uZ+li<M59aq?Jui>ury
zQoN8`vhitvsknTw^8cSJ-#P4<mOnuv$)l+~EI(E)HhjKQs`mT;c}pT1Ip>}?Xsb99
zXU2H1cv+}Ph{CLc`}f?Pd&}Nq<?1-zzzFTWV^aU@&UvZ5EZO0CLBlQLlJYGVul#)%
zjX$0^&|S}XaffpI-3s^T$Jd;ka_mWy{DzlH&o7p-ZJqmZ=52q+snPaDro}Th*iO`J
z+wPyMb13{OPmV<IC7G6QSF2mE7d^Y7t~iVBh}l!`h372q=!$BWWNW89@ng(ho8<lB
zYFVkQtxS2>jg(LAe8Luof)BD=uXg<>uETj-!m8r<j??`6>+9w`zinxE@YtVyRtJ}`
zZMXTn^vkO1Q_CkN-#9qeM#s_Ztx4XU6{*K%FMm06&v@(O+>;IyR@XVswN2jNerw~m
z9dB8luWQ`-;8sJ<*7XZw*YI3>{h@GIS@NYV$!nNS9K84E>h>^`j~bPFnR+{y_3A#m
ztbVfQ_rA(&Rehf2C28tfYW0m%-rsTlwLeesjHWE#>+G$QrFh%yKOdhQ@aCIPO?{4;
zk^R1l_qMiwND2S(<QeC}Cw0}=kI95zv*k+ob=GIC^ObkmXDX+&MsgK?H}qxYY_X`G
zZ1hV^U+3$WAL-iyU-uuH*u1`fvGVUZaz{Vs`EH6n)RnmJ$}Tb2NxP)YFBcv2tY7)`
z;L?+^PIW=6I4(q4N`_@782wLvq;u~o=Tn=q3R~m7@7nCD|76U)_G4y^+QrqCc4^7;
zJM$fv2r#QlCeQpRl=^+G)!FIugXEr6dA*5A>fM>%tL^Pw$7FK#$mI2zH_JY8mde~`
zb8j%u+i=tFS48-kqh5)j;a~X@gk<l&yu(s2YmzSY!|kb{epJnrIi7FID`#CP{igAS
z$?Uni+o3<x<O@^hd=N^0_H?1a^976Zyt~ZSZM%CwBJy>Z*N3w@7v%zeY?*lfjnTHF
z%pu;|2Z}nD25bz!X;Q=GXcM39SLk^t<cebNY4<0c&wcc+&&p?4tWkX=`<VS{*}*>U
zoiESWE7#9Bz!LH-;x^~RU7RU%yX_Ai6<O}x_-;w8(v3>Vmtkk^FI(QKNuQB9FJ^zu
zm&!!`$<C{{%oNa2+VbFu=-cmi4fDF{(%h4lt8TT*(|$bfhR)KXD<}Pw<olJD<m~a<
z`tH4}MV@lcrcKFCUgfd$cZ|HO?p3GXH!ida?|<P|`#$NZUj4V)X?mxO6tfc!c<Y_C
zN?LaGTJAjW*cmp9WU|8pk0$SIDh`c|m0cT^v1N9=jMU=~*LY;i0<YiIjPzljF45<=
z`ICLm3aedj3sOE$vPgBm^gvJASSx6%$+Q>z%WOIRudI4)W)Zu|;;eF>)c&2*FV<{Z
ze(P79slLhQNdEP88@n>=kGE{{+IxRVhr6Eke8E1W31=J>k}TJ4^857ZUy(w&MN{_j
zQzoVs=C66IQ<mPkvCaDSsi>uAPBWV?i1#}!85ciiNp!4DEwgNxZ%^-MPwB@3{a=~a
z#RlAN{r+F%`>~_XPw%Wwkv=pj_VlvO?;Kh}H}x;B7AeR(`=Owk`Eg%CqjdeHOoMg*
zR|aK0oBiU-g&&4ZjjMKF&hnX{zj5{-9R{~G0oU?Fe$0O|)A7nJpTKSRLte4;t*+W^
zu&ki>Y1SHs>}}7E%3FP3bl&t(cdWay-%pLU+?p5r3eN|(*$S6zpKzooYJK(2W|OPS
z-mbZ-GhIq(y=2wO3BFG@{y*^d6xX}BYt!me9<{9HPiPL~wrpRv;BNced2=pp3jTUp
zWyOY~ufj8C%@8Pkmc8cH%kK9V+iK$XADc2aj<-$dEXU<ryB>X?D8AcCzu7##r_A@$
z%bQnbbM^Rc;-2TinR8ZeVQ+P8)$R|G&W~c}`M0pj8^q`s^B9HCPEYxfdUn&Ey?o(+
zpX3;P+f!eeRx^3|tJdDnQqeWb+Lr6S;7Th^{$O}(^0mG^*4Y(4LOWHi2kp-Pcgf)8
z^Hj$DD`#@|zB?y8DeHCIf1~9oP4ldN_iUMQd}AKt%GtY(#CAm<mWkhadVTJ<D<3&;
zxpXwgrT81Ub>FmnwD;hPd22VAMY5Qk^KpNZ&Mh{{U!%BZc74>h&%ugUIeZvb%J?4n
zUH7wcmi>mTG~xYUCQav#G&pX2qR#)4R`355D|V$o-KneiKI@4@++-*>uSpE>SnnIl
zbz46Ak`jCSw$%+wu4Q*F5&YcNzrkZ(@?NEgS*#y#n5ZNl;hT`|<|z{W*8Ka_;Jnnk
zbB~?K@16dUOYZsKWBV4@ukm`8p#9kC`?H|wb=>!>ulT>}-16+8_hxq%VMmqu@-~Ly
z`ya?JOJ9?)uXDHLr;ytH@%!$z*EvPW=bSV#JK?!v;*YqGoce8tm~X4pyY|cNlYO&P
z^zw^;cJ*K9h{hjO*wi=k@TFDX_j=cC7SB5wdv^Pa^!GpK^L|O?GIEgr%rv#WZ)(-|
z-=U$8_O>w}pWWtg&|jD@+Qr>R<5>Cm51IQ+x>#o^X`AJH2_KEwKVO$cLi_ky8~$2L
zQ5N1$D}L17m?Empw<&HrXV%1$ef3j>@4lOT=U{KoHm=2tFB=jr=llrT>BT5y9Q`UR
z$}8@+RQ#kli}?=!tl9PL@q=qyzI&D=RMvZKUdQ+*>doz_IqyEc$(TK3?rrV+2cPWp
zE_eNMTYSUCcNfeoe@_3s>cjhur~KJ;pHDojxk%46(?Egid&BCV>RZ;HUo8FjbJB!c
z3yP<2Z^=k|5Pi>iXPm)YW7d<i=Dqmbmry9Z?DqFV0<|XF?wGIF=Q7KArhcoP-S^24
zp0D5g`)Ae9T%>vN)V84P(1ZF*WEYjmpQ~ACw9xfWg^^|I+lqgMZ-qZiZl8C-^3Jj^
zvqH9HxW3@DdY@LQ{;{7;t?}H?i!VeCAM&l0e!E_Bb%}#s<hp>=t!fhmN{u$JWOtTZ
zKmStI{)bloCI(Kp^u5ga)xCFZ?CzmTtLHs(5<eigt~;f>`bYhez4H6#Un>@R+mq7j
z|LN6_>Z&tI6&4@gGN1UhjD4|tuh+*5%LHD;N?rdfz4xxp`jB-(>De|DjZL0<UtH_5
z(`&x&!qES&+op9&O`W_+ZN<r4|9@*QUufSn>)NG|y^9LmWaUqbr?<qb#~s|qKKb?8
zS{9=XvmW_XOij`3SYOgDcBB5MZS~y6r3F19)>}j`?mqSL*~8N>YYx4-&=)K?v%q+v
z*3JvX9hE9Ix-UIfW)$i1FS>r$M_A`$HDmHS)h&hD<p!VFTvzCJ-d&=1THyA(A8)IC
z{6)&emd`#Nu42ZX#C7DScZ{Z7*FE{OGxVmW^?6%m#Kp@_^PC#RyWEtA>3PrVdaWFt
z*|n>7g<O7XDR-L3<e*mWWJUMlZ<FSBOkXRpw2|}lg$-;|EaTW?*DT?zH$G6Q6KuTo
zC*ORdPgCz#&G~6P&#2SSQ2oZ47biZIcRsrtC~RJH@oi$#$%8w79iRB*X|y22tZx3S
zvW%#CkB=O0(F@w-Jk2~Rb93>|CEe##ZQrb}KlR1Ke6`qSzqMafZgM_7m>>IsFMWpi
z$!$Nw{y4Nbh#o8ATlMeA?d$s<{<x*!c*OW`o6k~lvCA(fX-?E<cRMemk~%L=S9a;8
zs~aB9v?{5Nb;$D5nt#=EUSGcKo;by{gB|NG2FxmGZ?kw{!ROPzEYR_wxUcx~S=t9Y
z7x$&ExA3Yzc4{M2Y|)F#hqmX1c~|azlNYSGQdeQp!^(%hKGuF!Je)K6QzQS=_Ot_c
zb-T_^+^y~Ac>YtCh-SL%TI0){8X7xuI`Zlt*lAB;x@L38VRNP9)V{bP7eT@Mj`MHN
zNVl4k>O8$GcX8tu(bcQ<?#1);$tQ1LWB=)Oo}n3gym<IKp?aUadn2?iao*kc%!Jd3
zzn?$KWXD^1j-zUop80onur{a8w@BV<5a}trFG=OLOWnSdopYj}Rk&*!?0;?EC}-At
z%t7px$Op;!8`)hJyxY#Bxua>lN6AC(EfXzGI{!JG3fOtaTBr8B!T!GR5`)J*muGD}
z8FW@adQSS%NmIk+!q-2oPp{ToJypx;%a*<srz5f-yf{0XU-|uKxA4m{JrOfbL?0|&
z`!_fJ>Bm^p^!97(7*}uV+qkOpPD`ii_ZXhJw`@Xx1y4-Rp4H4<$Q<R7E~Bh@=<l?E
zo;7=&Oe<KQP59S!S@Bl3<G+PoTia`oZ>i{u$<LnKa?Rk^y498|H_canSf^a?SikSY
zuYU(O{oFl=BY%&JqcTI{6NR^PB!61|7bvJV@UUWJ^vvCPdEMG?K5pS^kEecpeWmvN
z-n}gQvu|0+dP>gkshM^8yrN&*C!Qn9(<*j6I4WNIGJTe?d)D{(Us*ftp3b*Ze~`1^
zL|VRHXwTuw>phol<V@LOy{>QO=cusSy!-W&+hokudTr}w)g1ZqPyL`!r*Dr)a**oF
zi47XN&BYf#`X~Lk%x@pp$)8G!zuq6qTzkGF!c#})%#xi=>Vkz+vcC%PX5Q}n?U5F^
zc+N3@my<_JS0*QSygYZHH)-w^=0u|+wbb%g&lmE{=@B`me$+>FqAQ!Nb==R&`#a9o
z>io1iR9|$%+HL0aW`Sw5lK-T=*~=^*Ie+f0mW^ASJ>!!C&J?ypH^(w2u_>j`3f_I}
z;nPq~(ZG!O-J%VADutX%?z4_>JQ8<*m%K#l)R*hm)J_rqEWP&R{Khoqw${64_wM`^
ze9D<pvQC8kYgw({)IHNRdQ|`H@SZhyQS#Tl*DVhpxVEiZBY(w;js<6p((-PWb(wn9
z-(J3I*YnP0yC#R0K9&2pxREFI+JEK}_4|?FiDgFf=^GU!MTHH`jp3&m8YvhW7@8VP
z7wi=lpPsl{M6<qkJ8Q`7mtuN8g-zatoKbh~-o2}-cTmxxNlfEiz@4=gM`OFH8<Um>
z+|dkMutQ`=N!qzHb3XsizPo!<*eBcD^UL4=Ra>|;<a*M?4NTDuDF@F5i1CG$IWCye
z)y2eaJz?(L?x}O<3OjhO&SfuU`RmTN;414*$2SMgHT~Z-p@?~=bN&3(OV2K(JBw~G
z4!C$%@WesZCl5rQJP=MvXD`~cnfuRifj4R#Q_Q|^*vzzQ1C!{%a|#>{VO(z>y-iC`
z=B_>WdA_^CURCA^&JGRzKl#fSv<RO#d+yR5$rVX_TUjk_)3=zEvt%{uzI6zA|DVfI
zKZm<@7ssZJl~q-nW?4H%9LzJTU&M39!QXm?Zh$Zg<Ic*4H4XbUnM2Rcb*K+aX1&0)
zHTSJTz1Efk*8=>D%>_P0KFCPtENZjay~8@X@lM0}n~hOiryNYhCw!iN>{Pv!0rP(=
z83lIj<M$u_`}9xt#JQjR>BZjO8zy(}+`N76X5I_8&Iz)FOb$(Jt#X{%`0QNRe%|`C
zvWgGV>x=n|t=)^e)0^$R%-K(QWiXtbFZu5%f6~je=S-~|oZiUP7pMG|efD!k>YTMp
z4*2;gq-(Hz*lm|-Z9d`Y=bhD?|6Yw@Pv5Zo^X&f$+1BaWukV|zxf6S%WX{`|yN+C!
z>TlX~GyFf1;}D?0Z*4CxZqG09go~vz^46xm^?nQ9zGeF5eDY)TpEC#F_j2E0&G_rX
z{3Jb{x9T6mp2iu~4GjV2<rD7DuGju2&1hlK5LPxVU;*oiW9KA4_<u<^Jn_r_&z*X6
zYyAa^zd!#dWVl(s|6iR^-8=*B4VxE#w|`c@WrlB9w7Y-&te5(y>a|r>55^rZ*NK_q
zAm%4mrodirZEio|{m+B%_dotq%k)3-e|yN?JMY%N`X?HA@TL^cpSh3ByPrS)%`e=)
z->v!I`n`z^|H`>SKYVs*Zus*5%zi;@{@qVMOCSILS?tflPyfyT>|gvR{`voU?MbEO
zC4Zd#|1UrI-#!0b%JUb0ryu?7u-ke5bZ6E-dz8-o&tAp;t9Wr}y+c^pJHP*{LmOt<
z>vy(nKKpsW=7NIFn~MKyZf`zutFm#;mA4C~ZL8<IT)*q%oWmE-NiN}QyYY8l#k{>Y
zZvJ=wzNdN`-}&j>Pj;r)uR5c6zMJFk;=TI~UsPWGx0_Eg-Fw5;_j8{-dB{3z_s*Hs
z%=6qINq%IwUtpuZUi8H4{+aBXHr87;FFdbzApKmOL-q#g2jz=@-k5*<&Gr}mM|e|$
z|44uQ%zX39e>Wy32eZ@r1<&Vy*|Yvxy|=}@+O-aS7wSE4ST^Qdt9QPap7Qy(QLWv_
zdY^fFbN;hdHsqB3Z`$Kv_PgHEPGR<8`;YUy%m37d)rbGcdHdt}*H8NMpF7R{*LdFf
zT>Y~@{N3qodgnKDZu>R;XffyiBTpXGlzsRm{)Ayu<$rFw;!i)B|AmL^+`W5e-tBM4
zt!%fyvH#JZEzI(XDUwO-*@0<Jir>B}%9?K#Qkkb?EqsVW{iXS@IXc3wY9}r@&Xl~|
z>#}yv8`q`$o4A=}HmQBPyK2%p^PQ_dKhNJLts%8{XZ`vJjg;>>8aj`j&s!IFMs4p-
zwWYHT=d@O?pRVPp7xBuBW3iuD@6~3dv{d62uH7$xuiE!NdXl<q+)SPMNg3@~;r_Xi
z+l=g1HoUvIOl`~AB$w*;=S?3%?=8E$`@vd?#V1Uz`e>;>To>)ID4qA(uMaOy7=2@i
z%r9B6$o;}OO<xI-`e?U|mXKM}E8WU>GCU5CTX{TD?VL2XWz0wC)d#yw+pf&6x@vs;
z?Plj>uU}8(?4mcPyq4%wo*!+LGd<PjWXbkFhwf^uUV5j1Ysa+2i%YUQ^6J~>*4)p!
zsy4GZsba;X?~ii+fBB_fzSM;E@X3V&RcTXQCLTZaR(ZeLt#c9luMKY0e+%Eb^2Ti=
zpC31Q*z2wxWOX*_vpgOCW#Q(kIc<MlZj-&WNcA+6;#<aFH)3L5$d$dkY9*25d%t~R
z7w@`zKML%{=9HIuUeeul&Bgloqa#1onCtvb6WhDr`eDNFD;YBb#g(5vez~RaY4qc*
ziEC`$u;_hT{pn@Fqn{h?`entL#aM#spG=c4ac?~$v}v1rP^fM$uS?9N@I%L<4^CP6
zEc{L^%cFWZrt$*?j5ep3lHc*w%JC%{H?Crs?k3;D|4P5LBz;$IMLRcJV4|z|jQMq4
z+m^3n)hM#|+|X~IQDl04tKp;GJuj2A4&>iICV1c;$JXNeGebP@g$W<u@-_Kj?4o{W
z{`y0gB{=W-*N9(M+*o&Un)uldOZ!s3u}8Vj^iVKb?eO#ao5S3C(n60u=Lqs}9o7r(
zQtwvZ@bYx9XVBe6TX!#9V7TO&v8`5@yvv5$XDuUZUq4I#{owj0fvqfU6P_sD64pMq
z+3dW;)&9`<C$9QS|LXZqoL(fv#v5c{RcCUo@W%di^?chj4?Dbhw&6wA>99Wu@3OC@
zN=IjXoVM`#WrZI{E=}mWYxi?YoP68)-^bV*X6Jb?xhfRp(Ei~X|M902Q=c8EI>(Yx
zXP?d`p;Gwd+r_)~_lvLD#J^WF?q%(~Zenog*N<gtOJ3aExQ(O7_y})$if3Eq(Y1~{
z)b8&sK9O$LxzXcHz0Ft2Y-clfS?;H1Q(f*@9dJDmxlex9j>i^>v*M2Y`^5CwWBtl`
z#aCG8=+@4U7394BRMjfWR{wrMx<}#~-Qug+^H*95Jw1P{q<`1m-g<^JKF6a9pWOd;
zG2X9a<^B_=Pfc8YWp5ncmaJttd;*&u>1kZiI~MamFy-E^&j%K73#mF@zr#lT$P?qA
zLZ0@^*p9Q`W%LMG@-g*naln;3r6-!o+m*u}uFG}e?A8n6G5Pw{%2DOffn94Oe_V-s
z8Gc7xsy*!Z>d>gm-0D)vYj_%Ur!_wKBg@2I{B+~?Bd52&yfyiiO#U*a!p@I#J}W=o
z_w1D3zKs{&$-Lj-#&i46#Q3jjL6y(yC+IC&&Tg=3zVZgss7-a{wRg6tX^D00-f?%u
z-2b^OHEUkZ{F&-3AmBHTHOrcD!`y`~+ul!{_)X|h_5J@DM?Y|%<Zpkc_ez{)d+<lr
zIXj)4udRLmr>dZA`DDqg!#^HwHQE1Sd4=!;j&x@!%eTQ-e5}lxZg0$}zHsm5lP&G*
z_6yFf?@c|uevRhzBBu3kH~3!&`?a?`Qfb4lf5*h;N1Je|bDcaAyz5Db%#y;yRzrsJ
zguL`rgWOGe_wK5+y=h82uIdscuVHyZ&5>=_es%eMJ6xJ)FIyF~>CSyqRt7zn`r2Ph
zdFP2~CaE0F{cBS8JXU0b!`r5AkI4&-9kb$u0^}zgUR;0h=Pd6D2FqJhTy8kz{o*}-
zcJk77Oo6&G`g>Q-=DO;uVsb@GL80Pl^Q%OO<r|mI{dr9E`_IWIIB%wJ@9CGj=WV)8
zt!M8iFYeNPZsPZOlxz!UcZBkB@0=kyn{AOz#h(a!5$-7hSDpoaoK<d;l-$7c&G_%5
zhZUzS|4wPT+3#DLUH?(t?wEpZ@8+qWzWwNT-8A3QL(PrH)=I9sN^RXMd5-*3(nqfG
z9jvZ=Q1a*(YtHFS7g7RKBOe4_GXH7ek)09c&??nt`0Z_X6nl|O!1mD2bvst?Qz*Kh
z7PH1w$Nr|bLE6llXIiprR;+eksQ**XL@Z);<2q+SrKd?7zemQrSQcN;<;JkZUp?DH
zo>$|CXq9w*w33;l#A`O;ugZHD-~F=4N`$leSQKw$ekoVkYMu3G{!XiXYNdFsQFr64
zb#2du-d^^(nS1$qzD8rIPWCCbUF+>5WC~wDm+ITRyZ`p%?o(&1uCQMTe#QSy<9NC0
z{XO!27d%(*J#~v|Rg3k#%+r(mEb7nORHgGal(e<Yt8;WxeK39V;sXm~M1=Pp6FDID
zxaV!G(EM!&M6YJ;5_y!ebG?<!Bj3a|IZPXz4qxWd=Tl3qos{Xdi>YMaM$LnVEYC%M
zuG+co`Q(Ka%&%<!zG`~%^rn<V=KE<nK{AuF>LjmJHt$_F>+S0P%X_$9Z?(GouxHO~
ziTXL5M{X6Des2<)-FYHkaHfWvhs+u0&%7UNryXB=`889)rDtnJCBk{ucDf{l7JS&b
z&)`DYAD#8byo&w?++E|=e<AnCr&&gA9X8(sHp(lUcX+j|Q1rgbvV+B;Kf-2TaJt#=
zTher#@p;FGD3`;V9o|mlpZ`3Z#k4cwludDCpXR<z^}8aRE`QKyTov+l-Lz9z!*@?!
z|Dt=5ro;{B$=3y~Gpy}*N<4qN^6RhSCHz0WFUmZ(@5j8SLEBEat?lh|-)blHUSCU{
zbLKwQh|DEgS{F>VFaIXpbD>`ONcp9byNCDcg_x-LeAzzlaFcL?-`WScH&hIs?$G}8
z=sl;)---yoRY!Xi>W_W&(~*$;TH}{gR&e(AM7s>{pRTu6z9ieR-s$wSIrs6RoELv!
z>*OCi%KvKjn9XzeGs#CfXXCtCyr+|1#pLs(t^Kp_w4P$yP8%gl(M=QmFFMPM-997!
zNkFnXw#D31X5w?1#|LkfYVJD4Z)|g~%4?q;qw(|T%;o#K&ju_}s`jj3{Wl<XV%B`t
zbw}miTDt!4i#_~n-Lm8BW77ELe)j8~%R6Y5p|z_@e$%>${g0(KID9v{^gVm^E6duV
zegAwoG}}1YIkG=GS<aGS4?ANQmGaK*;FGO~HDn(7Po8P?WY0N^`KGLiClfLpFLsye
zRQB0<=XSWWH?mi5XxlqwseQTkl6rU3{k0Myx{9+exv*)u|39%!?$fQOQ<nMjN|m2m
zA3x`G+@|QhzXq1Ea?FnJ<6m^}-rJL08tuBSRoQ;Jp-y_^>Y5D8T}N(k>v4a1>2tU8
zd01~l<pw+FV4a_gp_0>dwf^l+SgrC;wIHu_o}NRWN_kq-;kncAN+gMKc<k}`cs8fr
zf6@BG&(B3`FTHO+bxnQ3!Lk=WZcMYD@+x3YVd4M4&ONs@t6XcYZt-|@^<B;R*WdJQ
zEl!*<nWZ4IJTlXH$Eq9iBE<i1y!`62M~KVcrz)N7b?Th+TTj2g`5`QJl~c%V$$u>!
zmpfBq^|EEdGxei8mpt(@V44)N{8QFrwre%54PNyg$M;0o3T0p4d^j!bcI>yNoD~~b
z4Ax8EW3{n;HRXcQy^oV5YOV99-MQ-#<s%?xdn2%aVPWIu^;|C`Z+(B$-ez=j>e^eO
z;+l0c&gT9!<$iNTQ%=UZ^^N3~=QrAai8A#3TJR}|-9vrx_9v1#3@>|S9~=*yVqUhO
zQFjZ^4zGvbP3u)+*(dYwt6h_SNhkZTZ2pbMT*@!JKZ@V?Qe18<Td$U@8e4Jq*9#}+
zCBHjU<GOBoD1TNA470n&*_POwu(gAGq0p{nJCmnB^*HSJ`l-WDg{g`X3LF04EopkX
zcz*N#Pg{O`m!DeuBDqM3Sxt1?eLe}9tWCGx1pLt5r*fym*@q*qe$SJ65yFQi81i#o
zU3b_h-d+Co^_-KBGWE-S78+lkF`q>^Tkq;U$2F6sxx4pCTCzr16*Rn_QFdRcz5o5X
zgX~{U$+SezaWVD|-97L7<yPAlkL9#P(s<7<JG{G8O4sx|Yi-r7J=a+p&)Nu?-@3bo
zBj!k-TKekjO>6gi`R;L9qdmVq`?B+nBF@>i<qkR=^CTvoSbktpyg}GawOPlHxg0#S
zJF3r|bIq)OtEL4#-(h6=RM)90FzwM{Wnp2DC(fTGOwxWPPpv)UsD0{b?D8X;YjRgg
zvzTr%KE&hrvG~$r=MwkZJLdGf)ww(G#_0zE35xHkOgkgJ&Q06lV3KNe!z0G>WK6yF
z*$CmTs+O0RV?TGz*!VrlU8Bb}ZB~W43Fn`{+eyVsXQ%I8w)A(ndV10HjH44LP1g>u
z|M*KiI72fs^jh7YDet%3v&m(tez@brI-jNr-)f`RoXbz{igw<ZAZI&sPljqneqe3Q
z(!{V8&wkzh@aMOHz53oawbSPNYDo(T+X)zV)VIdh<efR>Y`-K_=DZ2#rGsp<r|nji
zz9`$Ya+=2F@QKeVWcFrdtE8uWd~|Bgoc$V`Tifcs<{WWp=iYwIbaUaiPbsfsxEfbI
zI=R?-*Vjw`1f|u&bZp<}Rr)l&@jk7`pDpRK;dI3e7ms<Ht+s5AJF{{3#(P5i>AwZt
z_Wt<QB-9d9zoX;;)6<UM$K1}C%}G#{nKo(5p9cl!w|!3IEv&baoMSq%U;5L#&jNR@
z1sd*`(JfnY+U5B2!wbcx&TonjdN)V@SBB13CO*#!4SSVm+cqzE$<^y>4_apSJKuY8
z&BABmPSwBvt@-#;hRJ_gdQpIOl5%O(gbNZol*)FOTfA>p5y`I4nsephv;TkmBkfkI
zP2&B<z4d=hfB337{^!)z>HhsD+^O(v?UD|Lv#OWQKXi7QrE^T|Ud!p-g3;z@yiX;F
za0M*Aa8JVRK+ipe?3q*lZ@r_u+vnFY7A~KQt1OO}6&J3V9-BMm9eenemXFtFbv@Bq
zV>$i3nd>Tjo4vi)pY?2-t~jTDo!{~Pq@8Q-cTJu3eqGDGn7FL%h3tu~U!Q#4s~xIq
zG4p7Y`<o(*82JrR-(Q7pm?|jAr`M}t=4VpIoTdKl$HMLM+AMefpLi6bxN4c3K41I!
z3L6O%mzBQEHNIO)>ObUNzQ|J&(cWGE&-IdtlxNUK%MI2#N47i1*P6v|FP>0$zdpV6
z*MXP4?&&f6wWb*6|4Cn_D%MltcGsd%Y1K-BD~V-ORkfct%<kE?Ws9Wawm08YnmOL4
zJ$1MJ$Zf&7)#leLgA?knt)hNCt)9;LQngac&#I+FY`R9sQsMu%Ji6C%>v;*5&n)i!
z`@|&Wmvd&~Lbl(x8ZS=Uy_L0fZnPhVT%=?D=UaPS7W>YKxs)Ed_MygU#d9~~-+s=s
zSd*w7T@%0bk<Sv9&*qE1XMJ=DyYp!I*`V_uHp#}Weqq@gzRNhoQN_}$`s5ql6!)a1
z#(FX<uiFRuCS5*n@F6Z~_R8Pcwt*cQYi&AD-g&1rF(vh)sli-#v0aiE3l?3FICp$Q
z<=LGDr3dR}@}yquSzp5ImXXwAdb*r>TD<pyFx8hI_<8x89!th5WGvbK!suvtAKy~3
zN9Uw`o<DY)#c6nMXXnH@_a-Nr{!rvTTlYl%`;>3{HD6}22Zw(U&Oh>G*^Uz&WtDx;
zp7=dJ9r0*^+S9M$-?}wo-nmcH;+s9U&g)wGg)df-zIXcDrRzU9J)D^qyG3`gTi*0(
z>Q*PB6XYAW=6rgedpKOj?KW4oEvJrHN$YWWsf}O5qB3iyhzglioSMz`_v!uj)nOMm
zwHbByRxdpJ?AqS|r@&$*!-T>MhA}rP_P>qreEp*M;JnOt{6FWZtkqk3YHiAuJw@BJ
z)tvtZU#@&+)%q&oaATEf{d=Xr814V(!Ud;3eCc$LV;+m(`F_jFW6thAQ8N@1biN+h
zq49d*3yY_ZGn1Y^d$sS*6@#*TAtoR1WoBpRHJ!TJR&L^>W^ZRcn`>r%uD5yVybekI
zj{;0OPD~=Q<xTe!r`%bWz#n+yk(sLX`nRkJ+WiJioiQFPw%l=fFW*MX*VXIT>6(l0
z+E6viqy6;T^N*rW_^Q6V_)LpYuy!R&#g)Zh74HB3!reW~_Y+Tu$%-P2|0S~3w=!DZ
zKbhXFXIj)|dVQs=&P@>wuT@cUISV_&YYTrXIDJw2wO#1)UB`*bRo1XC+cHbiv~jKh
z=l;S&-`!S7-&31$Mk#KY;a*WI4*C0E>(}gk9_q}ueR|BDN8;R~+&}jz_kJ)GQ)|3p
z@a|BwRpmnIlb-93OtHGCbnB1i)$5ZPqYviDZeDf&+?_kuYd9{QJhW=Y;<rvmO_db=
zw!hZB_mjE)v$ue>Qj$iFzt)VmuVhPRNnGVNefnoorp)|_>wmh`UHanY{G(~YVdh0*
z7sS^5tzVRQ@}ai>tf_WS^g`{{>D@Txc)m6N_|@oQw~84xhq*(aG^yTJX8Je%j>^3F
zwT`zp_NN|u<9b$wyIJ;)zxv&sroX(Np1GoHJNv~a@%}tvrJT|kcS~e8-KsM>W^cXY
z-ukIo7bjg>xuxp3n3RX8>f(qyd0VF)F<R(Ru`fi6C8nII-gC9kra-RLitQ(5zTP?1
zD!5ZVKg7+qvv;eq(VzIG)mJ9m?ar)VeskS<c~Q67r2F3%E&ILcN|aXe!S)!Fti#FA
zWq<$ZPe?wTW<OEmzF_;uvtr>V4fnp2JUzK*Wpwu|JAq8sv?bE~SDvkY@V#DI&VR1m
zX1gnIXIwh&|8djIMRgnMH(w3=xNqqa^Z8pE?%91inba;Ae?(l$`B0AK<Rg8?C*IvC
z3cCG6QfbZYcbvhNXACFT{GHb{@zGqJzz>m9-jV-<4(oo4mN)SK;PJ7@wK-H(X4;wC
zOMVCLs@t<5zr%T{t9ky^+Yv`^NQX!4%hS!8>ACPA%g3EfTa3Fuc(>|y1;*CLEcmLs
z+IVX~uC3{2gG)1m^TJH^rPjNwe}BXNao(5c&QIFMbAC*H^1-M7rnCn0^8?~`s#OP<
zKTa-dI^0nu>y!Q=(~DR3?*3<69@_4o?i_P?tM=}k=8C&w{O6`je!=pUXAzr~kx)al
znS9r*DQjJll@2FPov`V`(f2#|Ny%of<f{L)U;jvbD)avMO>JwGx1HKxyE@a+x^_QD
zUnZx=ec|3muJ@%RzNLG(2YR!FOyPfB{i!BxvDEDkr6)8NvkP9_Ah=E|tmNdvZR^x0
z^2dLBHfhu9n5LDvvCFo8&tyMW7Plee+2w9AW4}8K&rFf+E%@YeqwLMxEx)xkeA@AS
zR^|%vxcc*~hBN-^_+P#tk#}$T|JIVTbB{RBxRekiwMR;*W%;Hs<~{}IXA_f6gnzHm
zTpiT5@1FdJAEkHFwBH?Adc3NT_nPE8!DZd)9n6<kZCauGu>H~j#lD3`2X<c-T^hJ)
z`OIbUe?$Y1XuP*udhelCg3>>~XQ`hjINj!a&-;0AQ<=VRMg5z{E#=poeiUBf{uv^^
zd)r<0Snu00$xiOOmTvvN>92NEZf!)C>u-}Q%7G`QTxv=+xOl^0;TE0^9u?18q9e89
zJo%Lmhb%jlS)R0{Hq4@@yy;=_8}&KIYT~}QzrCZk;_9nEvOP=Ie2}wA**U?G`{C&w
zY{{v;2H%8_%}!e?uld=hUiZ-=g|KO^AKLZbf0J9<v8vPHVeox^R*Sx*xjeqoKZP@m
z_AdGOf_=G{c)HH5mbHrZRqXfVp1hy=SnsFRb5+BRq9yy*tLp2!814PK^=rqpXDgRi
zt>jx;S1Pvc@>Q{uzns=NJd=p@E)2@oN&UmTQEL~=pVwzIw_mt@R`-<u1NpV}KipkI
zDi8kR-(>t($2^_q=LZutHVNs{eP!<(W<7Nl`e5U)bR)}*eg4upXMfg8Xj`f~_U~~$
z?Qv|g<CB|u&!?^5(j(Ha@9UY*@iFOfR@#Rb@88?G?%C^AlhfBGXhyEy_vFf@b0&Yh
zs&ZXAlzI;z%RZ?5lu=47wC10Xjq#nLpnLT?7X^Ejgk9uq_F8)$2y|R~amwZkA$lL|
zIhKlEe)hy5e`ZCy?41eb$@4Gzep@`xc~akZRhO1yml`uwp1gQ__k#NJ9H)J2%ih|i
zJ#ydIT`5)*AMHI&v5{r!PYcT<#}pzWo#R$koYU`rX!~i^J)732{|v4iHaZo`=zQhp
zQ5|>LXZ7o5)y{ZsczVVp&8NPb_wQMpw0k0}B+oI$J?_>FlV9^+e<Bi89ddlV#@jB}
zAf=OjaqJS$)@cg)Y|gsYzp;0p|FY|sbUZ9~3ruL=*`fC*DS58!d4)4m8Mb!a<=CmF
z_*Lxlk#9;t$5fUri<a>^vB_(z$oq5e-9zJ^F4}FctKQJhQGY`;@cU}FE3@kk_nmLE
zF^;gi-k!72Y`18W!Lu35|INE6>vO5?LFlw*zv-Mu3i{^OUHl(h_Vx)|QD>TNfU-?Q
zO0A$a&-awT%km|eOV%4jhA&98cs_mh?O9=}H?CAy-rqhY{_5jL@eJQg_Z%-ao70%Z
zRy?nJ_G{+Q_(aQFHw0Sib<ba8&<SqYoAR|Hw@dW()D3fUTrNLf{kX|A?)I1aao0KY
z_44hku3pV5`u=L~pPrXpA}c;>m30c(Jw3iWWw8Zc)A89%Z(sadd-rQuVdLSOQ>`tR
zv(KzjSF<w;nU*)-K=;+hzr2SyH=Zxlx?NX0`^?UV^95ubv?tjd=Qv$>QM<T)vq58Y
zvmaO7<$vwlA4O`3>K&J^?VBsuJ>4q*wg1Ty%{O-2G;XIqkl0)+_&rJG=r2x@XZ4Mn
zf->{NOk7$zE`6=sx14ulrC!I(E1M2zfBlrVj;-h56D~Pxw@q^W&bz<$t)3Em`<m1_
zk?m1JdH+qGO}Jd$z9jwG(R#xTfxkmdme%v{+`CrjbjNq5$gj>D^D3`BE?w|SQFhbT
zPu=ssG0vIV#y>3}TdnKS8Lq0ot3KRK+4G?_WZ4&2(PrBsk56~prYY8a{&%FQM0dff
zGUZ#-W+;EI<}qBEIE}SPqC|P0b;qaIzvDZP7DU?nl=sf}cp}+rwy1Q4UF@SR2dBMA
zXETf3Q14&2v|y*Hw$iIYP2=J{hno`qr#uMUxoh_pFD?Jge?5$^+CSg(>2t5}-r1KM
zu5UltBKfb8``7hNR;vyiyAiJ+pxAYJd7z7S+jFn1R7;)>GbJy@v%P&&9~J4!RuLt3
z!FTnmSrQTt6Spr2Ef(JD6RP5-{NHQNX6G|Ei+ICduML=7@BMj_hok7ckhSV@$;ts?
zD-P_{PVG^+wsNoguEi@pJor-O?_Tui$#(N<!@9{PyLSHJjNbb~S+ZYZqt>P!ot-Z=
zw@K7nms{36XGk$j^gOgPe3z`;w3&SKOE+&X-C?)q^nvb^m%R$VC9pcX$4?Ag7s9|+
z7<uZbM^t)ft=EFQn7VqCZD)mpCS7yNnYO5B&HW$m4j-sg+%5I6Y*#pYQwHz#r-BPT
zSEo<kbp6uLSt`du*6L+B+Qc!iss=y${aXH4ziV2&>~t%S3pw9UT~D36d*<84-<|l|
zzXql~;&lD!?8BIm93(lFqd!MV#q{zDP5WK0Yv0t&xOt{O<oNRa_ZB?Ye^y_zbxF|Q
zq^ZAC-m8hJd=K`2-f?VZdZf`_xn@Jn%3YVYY>_>w_@5=>TJVz(E2lh;Fs$#oAaGml
zP{iU0{e-;27NsiIZ=3d2%v-)J<h^?DrshtS{S(~mj_Kt!1naC(ywKvB=hA$(pV{cD
zs8{wChf{wxDLsgowwy7&--J~qFjwVt{iONa`wwmK@MHP(W9Fr`VI|sLkv1>FW%A`#
z>(+ao-En?fiOhwR2F=`>uw)50*N}h{$@gYBCrSwX+xt^Z-O&EWmWegezh@uHo;&H2
zOjq+w2k+NBMs3$_e0^c`@8r{St-dGUZTmjmbEp52Y20^Owl^I3qv(2Dd}{G2zFgmX
zdfUF&@A*CXdtfWuA}8IfX>lD|Pit#GGiq`B1ag&b*Ev+au-0)Q)8a2LjOXjP1+6&2
zzFT_vQ^CaT7vD5@T?ju^GOv$AWR}0_Pxh@=ja$Did@km5qx9>8jM>lcuV{<>vwic^
zTF%uwSaK^jzFKzo`EJY2ifkF(Gv4e!5@Z#pfAFiM*NN)-Alc_HOtjkWR$lz-cU=6)
z?5Qu0OpC3tZ_T{;H;p6QK73t~k=u%j5@)TwQ#sztCRQxj_x;Bs&%&zN=l6E>Zz@ze
z`a7oY&zprGP96HSIr!uslT^WcFGW3Bi7<;C$?Yjj&RP48%sAmL_E9|SimQcpn@Zx2
zz28s$nmzyEeGciKXtjDb=gP$_`!e6R3WPO;y)C!AC1uUoJxza$eXrf02-UE~mt|kc
z@OxZo{^&S^S^4nx(s@5T-^;A?PG39WORdb7qq}uE*$=<{JW(M_VA1AZ)ArN~Ha_cU
zVBY-Sxbel;=B3>m?qzmPaDMkIOy$<8Lv=o!zc%@1UAtn<7`@MCp4{^Fy7jv*zmh*8
z-OxBc^;BK$HSZOy5-fTWo2M?f>Pw&AHK)DSRV-2@wm5$+<BBh(!HYNRznipwf|jp!
z{LRfLxVtmzZlB^^=Jln{^z`fPGS8}1@;k2lRm-?@U+n!Ek29Cjze$-*x9)hTdV?+Q
z&G8+MU+hFq3U~fvd0D(({^_$DlRr)Ku4lTYv^!09UUvEFo`hX;|0FN=-l$BE$>YEG
zJ-A%s;?;t+zqGeV{rEn);eF|43BNh57L#7>+`-YmW3%l)t}7fehw_i<eu-$Y+7?|H
zXdB?sw6oE0UvlmH-#@0;*RJ&1ddjqOZOFrKQ+I#4p`h#J8G8Qyp}Es#>W?Z#DbAMT
zzW6b&p1J;4*7FZjIr<zr5B&&Rd-Y?2$HANLWgn~D`*fy7=k~=P$LAJYGrd;uAo*nZ
zuSI54&c0^|4-7eVqI~bHD-s_%rgY2>@~%oXez(z*<28Ho^hZ*zX4mI_uvu+qv8W*5
z`oeO9z&pL`k^~n|556t!Z1|wyXXeaRkEhtp@qbq=zP-=4{>`pi;**58r+lc~U87U<
z^o2=@;5IFxTJx1lK5J_1`DFNa_qvsiG7CScoqrQ7s(W-%KgSov!mB04jIS<8WGe0Q
zj5hjw;ibY2@w%zU-^fb!@P0XZS4~e?Z?2ec&6<k8Y(WRoYQJB5-kvToYm*(1{3G}8
z@jGHyOy0-DxbgJ&n1+!0qlc_zBg!Afr_M1nY&vkQ{b+vZ*ZUhp*Cf1J-lo1k``)HS
zD~kgwd}r5Olj(1o?^D-gFA{R7{)ggW^Zl1Q0^6KUy}EsGVc5*6%(m}l>{j0s|Dh<e
z>WH$^&fg2q-_~%uvYdN|(XvyADq8)G4LCNQTe;-rNAc1PQ-lr~c<nW-6qsEfu;g|6
zm17qcYuO*Ey0GBN|1BR6C9o8;&J$p`ppdv~>J^FZ#HAW)Odc*jE%ObZTwti^aol=!
zy@|2M;zPv`SWbmKS7<T5>>+8CIbqh^18aKqBW&DvPiIQLo9ee_>H7q8WzMXw-w*El
zuicv>`7=xGsQa<3zb=CRSJq{I%$=5)b+%sRBJ<zc`+nzcUW@D6Sm5#Z=owWVr<=#~
zL(kq1X{}=aaJ>2%!=ZxhMbmuqN)6KG-IlnW^RIfg=lDZOwcW~7wh42cRyi6i-IIL(
zr6AXi^N!hbT~~jbUaVMoOPSSZzD0&j-lk9ela;0#7hha-^k&Al<|-dU``^dcaRzx#
z@JKfOTHnxm$e!uNk$G(s{K8&ux+74vQ@4um!;1KmzALZ9y=A|8nm5sH!J9z!3^&&d
ziHCLRoT`#BBHm5*g}f5U&ClC6J-ZpqQ#?l?B!BLN1(E9#;%arT9XXT6-?qf%$;B6z
zb0b!~-5lVdaJ$sy){;f{7k}REE}(Gx<;3ak-t9s*YL}wxv%HQiY&h%IBy}k8;+ab`
zl25(k+pBnuiRIFoeN_kNuyd+iDLvr6E<9+i9iy*&%hRt%SdZt*+%7)6?dJ8P*Q;-{
zZ#3AoK7UW*srQe?bZmm(x^ZS*J8&obc1-yGsLHb6xv{^W|Gj<hZ_1i09D%QP=`{R0
zSA1OP(20xkn|JPd#Q0IV{)5%&Rh);EPH)wWol@Ftp}ub7k0V`^n6E9`Xk@u%X71tz
zPZ?9>7H<$-qMT;YzQk$r-uJo2x{8|@1Z(l$pLAhg?Czh}wWjQRxted%)H8Zlc8QtG
zcZ+-7&)g<9#VFc8mCwO!bE<DoUD-~Lnr@NSzbVDDpRfCRWm@H*4H18uI`_V+Kb)DC
zwRO(33Qtb~Yqy)d*BJubSQPIaKbsupnY@VUTl9@|L$Mj_%v^)7JWy6%-u}tP%U;h$
z;{5rkx3pf^I-fmqXv3aM`${CbTPNlEXna0elHBPRIp@mU1+T)ch<}LKRbruCIj?=E
z{J~74=bBn|OV>)+Fvfj&QR=Jsuqj4SX?=Z|*X47!%H>|zB<wR_dJ#9}<j>27tj8Ub
zQtfNc_kCzcu8scp_V&uZlFu$)U#yw3+B`o09PjMt&xz~m1o$34JAd*|L*V;sH;<;6
z?pSJSerE>1nY8YYKR5sG@aS^=v^ctGzwyr9N36g3vR}5f_Osp9=K1b@IsaPgLlSbH
zYvT__?5Ur1{Pr<tQT^J-zu&F9AUA<Ydt=qI5VeNXb@GzgFP|RX<;o<+cgK2#%A3l>
zPX^1A9#2kLFuV7(y^-^rD))(eWpe~p#jki~Cv(w9GFop*(XyxQ$?@wWzD!CI5P$CV
zX`OD^O_7g_W$wxB+q&RfskWu=HKl8Jynj7%*s74WD@)fws=j95$IB7!9e-UUD>nBm
zUjNiZbk2P9{%uz@gv~rd_+BZ$`%}}F%I}e_s^q*ZI#w>-dcm<}QHL}Szr2)k@c4w>
zn<AUFr2B%t*XX)y$)48|@S9yU`$k2^XQtlW;{0<0X2*U#Wo{kSBWoFzp?=DnM=@ig
zQC;R|9uXhqKR-`(2%M?kT01|^<w{?$`kDW$w7h=LPGGNU{IBkFfaBi3c`dIFZb;Xw
z|G>8So%T|Hw`XljBfDN@xfR@7EPA=PkbmW(wqG5~1fIJ;`L5EW|FCe1D)WrzT{D%|
zZhLUjlTE<whna%h=X`74{cBI&Dg3u!a?t9p^QNV^i0ZHkvF#{k3A+7Bu&kbGPW*%1
zPPKgfc?$Q-IYRH2hL`cEE{|TSwA$6@RBX+S6<NE(=J8q<{_NScPyNQu*U}4bEqgHY
zkC?ou@!r=J=RaRu)bcs~m&O^sz0Y;sPqLSu`KV=c_<%vxflYRPKeA@>?*6__OfRXc
zW8pRB?He`OYD4b7-k7;4$?F%(rroi&t@UMv;i_$BOP}bwFho2u?w+o=^Wez}hMix3
zf7!O$gF)s}@4sK^EMKN7Ir;8;W{??JG`lJ4cg2Tet~T#0^wzxHeMByF;hYuIIK_*4
z!zBdSN>d&iZgKyWb2~m<<Wz@WdeAE~`zw1yt>?C7m)VG9a|fvS*-ZSJBPTgY(Jnmj
zrjtp%-nk`*%vLT<kaV)|DW2bWdFp?b<M*#|zBzhWVQ1&TG?TqqtENqNsVFMQ&o}3L
zbVltGcTMyg-I<;Wr{*kwZ0FLt$o|c}Ti3H*R~|45y>nvgiNtrJjB<{@RdcQ#SQPa%
zYMP(0!PnX!TezRpTRWfJaKK;f<qY?7Il(<Dy<FWk(&_a@mOBnye;=$_ljEbO_$)f~
z-?`({q8-+0n7Dl1HdAVD^DOy*r@xm9h0HuTQEscqoSAb&CeBozlD;}dZFZ(Yyljq&
zpYs1jVH3O=^Va`2jBb3udRR{A*=*5n?&vS!%)Z%@`qFtkmmb#D>_6n$d1m)2-u2?o
z8A}CuVivc~;Cpn}y8iX+GRB;_&)TzUSC=@S&MC1hD&j2RFy(9sGk$#d&WD%}Nf)QY
z8YkGjTe5iX{`(yc_AyBdwoJaD?DJ!1%Ek%IALiNJF!o(iSGoSdh2xWVILbH#tx}pk
zJ99^9Ufd~zsp|W-Bpd0-CpEYVnCS%VU(`K?m8W*<qJCbzv!NH#qnEVAHi||ptj*Ni
zyHR8N!j`4BUuD1i<#wLY$REG9uHM}+c5aT2D4%GEUEbGE%kTeF`FH3sw^ja>1yi%_
zSZgj#Vs`oA>SHpku430+uE3?7ag~ic3{!7UTxxv$KV#~QE6URgE%=0)%?(VZGZqMm
zY%lvH@I;Bp++ez3rkKd~0#U(E6%a4+lYkh%xf$a0D+>dY>4s&ZqRf^C7Sjt=cr@#K
zx3Gpx$rm>BE9d6m+Ob68Qg2Cl^OQrIbT%B(dozjY(p|+^Ee+MVmoDkv-Mhr2v!rIl
z{)+qG|Jy(ReQw_8H^#=-&(y{nU$;5)C2E(<rD+D-8<==rojG{;q%PNl(C~0E#)9I{
zg+;}m9~m0IcAWF}VExXIGk6aau&}U+{^f7bk*Vh?+4uP*<J|WJuM9LCjvkdeaG3pp
zpvY4}p{LK-J`@#q|KV*p=*n2+5Z<BcFjsg1Q*)DG#hFb8?)(-<ZXNsiZpQw2#x)9N
z4E-G)7cSp_$&krzAj8Du#Q4e~U3$aeyPXOPY#qeeni}TX{#(tmdPeW&&5Jd}r_Y`(
zt$u;=AZK%Qz4r!N)*X&>av7`=SR~$YZDaYP#B+hcs^P!E<0HvzFK#*r)c@IKpq*~6
zAj7kx_=dAXg2p4g!>n1HZOrfZ*k5R^W;BsKc)>nlt9`@rhW%B{4<0`Gx%^K2&HY@C
z3-(WLR1i3GP>|zmgTq?JFo9|VhhWFv%Qx@-)MVh;`iGU}mU4YU`A>&%g(Gqqh3r3S
zixnIkqof)3DE|<*W#Ql}EO9GPQuwxCqv)?z@%7Zo6-#x_9AxAvb$jr4*L)ckKDN7C
z?>4_apYnErf%%H(@ol0kS(#tETb6b!Pq!0!^n@vF+HdZn=ZAh@Pv<RT<0#<f{>b^6
z`G6n82I~`Tufr>C`Q1O%zgIY~|6P_j-`{<P@_|=<EH|W+Soi%t{Mm&e_8>$04(=Pb
zKif0^&wcpu1A~sDLV5%14JoFhzqkLIE1mQ8_&#YnnMZsE5BFV`<8SzV{r&vy;^m(<
zwK%@D{nz?`p8oX4ReM%-Y5kTz_WwvqO2Rt^f4(?D2KMy~<_+!99t;X4-yhZgy`TCo
z^T7Ql_0?M&ChXTc{x{z>b%p4gb?4-T%J2T3-SIkpSHj=y^cxKSYg^df_?<~$c)kCY
z`BSk6Y<F!d{>?XkP=4zF{15e^Klf+;uh(DlASwU9^_gGR|Ne6_%PM@6t7m+-<;|m-
z?c%RC?0(zuPydVMkMnw~n{^fS`2I_Wma)~}d)sbu<(J=M8Jj<I?$noxHw858Xx81T
za86;iz1Od5vGVjA&I=NBC73?Fo?JZr=-I#a8+UJIzInGcOrTu&w=k2^yRr*EzZcZs
ze6U;h_xtJ-&W;AB<6oc9R^VVb^w5ESkG12SNG1mVdAs*+W!e2-%%-7Rn5%f7H{+ec
zZ)_0<AJkXuKX&FY_k&Fg*39*l|1Ewn#!O52{r?LG!;S-e<+Hh(KmB?AWS{qzU;Ll-
z&OVb5b`dy``ak{n|JFMzySab$pR8tYynW!`)>g)ta}Lx0H*_=Xxbx4n^8Kc}^|SvU
zm4Cw2e&6)P_MG>#K5zf~`!);P?q<gd<H-gWHapzzI&f^W(aZYwJek+dNi%+Hrnl{p
zao(w4ILG>_``NHZrN+i-q1>WrRuv*~x3*=Ru$Y^w>-YDAOPJlNPY>)LRxH_&`uBuV
z*{5$Tr8WmYPiae>w1e;I+s`VJRu}s}_=)J=;+PZ`<LUj{FE%Y{{c+K^mpSuvp8Vu;
z(sJyTI=eRYr)1U?6D79Y^{cJUeHF8<dd+k^q<?d`Y!cHoCEvr7OfN}<9G!Lk<D<J?
zp3`>!u6pKaopD>~Pe{z)>-;mC=6XJz|MkL&kIB=e&g@s-b?V=XU%I_#E<1gkcg6hl
zxkakmmTczgRhE8oal7~z|2bBhvQ}CZlzqM;@;H9^-rjfJ)1`W}e+#BtManS6)~l31
zm&}^DrTX>jI4|1;;&QcebFPc49A19va>tW>I*U_&Z8Hkq)Gpxhza#N{(6Q<#_il;?
z+)2vN-H|c5=tk<=>{H7O-X6X5_Y>ROrR%JuZ(p9n@jtLI=I-S+47!c2lRA&)n%>b7
z(V5i|q5D$SM!q{qd(FqD-=8#Qxx1fuqRx7{-Zc2%^cjENOzXJte(#o7Q#J(un3Mlx
zV*3AMr@r~;-K$uCt}A=rC8IS`8<tORT-EbLe6e4L+pZ=3ZrU49+pLn8t(WfL2>iK6
z_H@EG$2Z>ZR82gsKYn&(-ef5Mw$!7@m%;W;7DLl^*TY_`BC`d>Uz$lY-jZ^kSz@%>
zXx8a|5zUnPPp{^;CWxKuY&)-M8&siwu8`&ZiGz=>t}ES=eE$CY6BFO_cq(dkEB3`Q
zeNUR5cJjxOwtG$P*9BeHd>5T!mG@!(mA%vYyv42i3;LbZT%^LzSBkW(nzra->;A}T
zdUZQ=w_e@n|LtV+kB^nTYzvo&Y~EE^o0g?^^zhL}@tEG0&8qeLG;Gy%>`r}OE8?}Y
z=h)Uu$6Ri_+4$|U`Bl~JEA}36``a&W8880ECC#vb&!Kir%DyEBI=XJ3yvtJ*o?w={
zfIa2QiUR55#z7}j4!9kj-YMxYRm(1M#_3Z!CYrtmS3|#id0x?QZC+NQB8TALt?nJ7
zk*5=ty+Y5VhgAMExN@d6xn93g=l?yyg418`HShcVM0$JX+`k8YU(Zv&b8SuM!P@4F
z%u&<C&EjuLh6OsmznI;k+x$~l?3Gs5K5t*QSA0|CmmdG1+CAIXX04o7d~xlS5^pXC
z?XRJxODnWy`Oe-QcV#6<SJb^5r>{<Zyz@-X3ZrMMWfHHaOtZ<FW?Z>*>k9*w`s(>1
z+xm-Z%ijbg-l$x8)BQs4e^0~7u5H=>8kTJeoV22}$wlC4o%ObFK2>ki`!{aO7Rqqm
zvB)Dn;^Q-C=VNys3tW~sxy1dh>ikO~0U7%q$n3jTpS0=H1mVAbroO!3#ptdYbl_?C
z-Q|T2A$!#y@*b|s`o8v0$Kg3$=7F0zbJ;@bEhqmuef#gc;x*@5E7DgkQp*gI47sW(
z8hPfQ)xnT8>(0sY=$x;Nt7?n%W(ruPW4(R{kI|A9ey1Kd{(b!L8^`CnzUPd+xBRYZ
zsj$i|lRtFfd!Eeob23SyV%uhQ%)Di==s>sQ`=b#`kLO=54^ZMe&g^Y|!G3YohnJyR
znHMGR75mitb3AzQ#v|?Vw&NQEk3D&0+i~4|^$NLk&SU$(O%u<$*KT*irPq0`Kj#AB
zt8H)P%8VCGI3lf5v%8=$Gs#m?i1}Dxp`S`?{O<6I_s6bmnW^h0ACvaV_s^TyPYP0t
zk4^c1M(ciL$?g{uR@7fSvrlx2;O$GtbRGz%)HffFxSQ%^f4lzG8mDE_OH7wt-|_hL
zu9(6JuJcc;Ze4fp{y(S1-Oa*z?R=F9nvNoS9=Jtv>M5vIubb*`rIIKy!}N)bdry3v
z!CBdiJ+r*}wNeV=O{;cnkCs@Fv6T6}e%C{nPds(8J%<+?Rj2M=GduI}h0SY|ruJG~
z-zrx2a?{eycQ?<ApCG>>x_-)us@F<Sl_X``v!nw5aBXWlc5&6M(qP%Y!d8K&LRVZ^
zxMsG=68DCU=AwU37HGJyxM6)E$5`l%drk3^O=s>XO3n^qNt&5cbMx}gDNk#4v{J4o
zf1NVr(FKpLsqr<Bzpys4EMrffGb72?fp^!@_{!IpFYNUz)2cbCndesV(DwD*`qisy
zJ{#UPoIP)???wLI$1m;Z_1jf0WZeId{ld|7Pv3>-uAMkvktscGp{!DXX@9;$zVqex
zOXOYGObzM~OPlcXk?pm8`7f)EE_<uilD_ZG*E=;f&XrG>2W8fuaGQAJ+p>k%8fO1p
zzGG^S#x<L@t3J**=#8}x|Hh)G@JjrpQStH*_2(8Hy{fXb;QX6|xnG^_1nqBLFp_+t
z<N07o$jJ}WkL_s7zIh<MmF31x8MApe)9Xs_hP@E^`*Vl*dR_Zs*3@-|+l%$zd;DOl
zsh&5b->ZIs+rIaC8EJ1PevNgxVV&PyTxw$d<BE9fY}1Y@pC7K{;J&vo*eq|YisU;U
zuZI8IO4SzEpVYd!E8}sa=x3t|C7-Mm^y<9It}qx+*>NzGS@ye~Y4riAHsR&@rxrED
z*cFATd0hRa?XDPg(IrT2)7ra-?)lAn{MNZxYyszKO{U|L9K60=5~rnp9kf5hSyg4)
z_p5JO#q)*7oAxM92zs8ivFv-#tiCM{tImCOU)N@^w({K3lfLyIp1ckhvyVwwdFOe}
za@9q1-d;S<<ucX2;CJBLij%BbXQB#bR9Du&>WDR&nE2D?((fgDE5jCeO)OLOI=JlA
zJm)jlMYgZzJM#bDjqNw}tuv}FR;^t$sbbBCy=4}swCfDYrk=dLytKRR-PUV)x~V4X
z^LZ*)t5xvtm=UCzYSHnr)S`aNT224&&u+zjFZk;m<23(WGM`o1!pC!tG3J>rQez2|
zcRIwib*hQuw!-Y=>HM3Q&GM>Gdj6Pou2=28^V*O4!~_`F%fgp+EVEZydgXKap<m1D
ze*Rs`@9j2u`ZZ6lvj=WUwz2TCeSL9Ndw+(+I@?DF>YlsyD<9lA<@1YW9eo<RCF`qy
zH{Zy~xhU$N9{Tan?2lVJgznUd6|WWFoV005(QWHJPapcGg{|PZ%C4<pq4_SCWo7<N
z#h)>&C)sVf$bCsWCOb_pf9_e+a(S-oMRzxZYt|dBtp93I+SDt4y?mwnjnMKd-fJ2=
z{BjB<s{P+Peqn#5_N7okI8L<x$j1{kY`3fH<y=mP#oT#VVtsM`oCjuowM*Z!#Yo3$
zzZQD!q2rYy^KEYH+P!scP7`Wh{q8?+e>QY;d1uYqBSmkDSf?>O`Y5`-`Y5}v#m^m+
zx!o$tv&0`&C5E&v)l5s+nUuXq%-*tLpNsU01J64O&-64kKawhRIyLWj>(#ZB#7iU3
zdG4I~ptFAB?81|0`#s%%dxeTrPhPe1MPZ-rEJyPjTqi~Da#Y=ml~2y)_+_$q*Y7=5
zHubM2Iy4vT(Yu*`f2&~sP4jJ6&bq{2i`?n8Q}D;}{uu%>x>8cY$&=)7Tzc%fl#6|Z
zrkA+q`MDvB^-efm`5pGsCDc9h%IWk4EYp^My}CH%{?eqkUG@3NKMlW|hHW;VpE`5q
zL#Lkm^XK2%BR4%tcyEEFO<xdasZ^KX(?coYUOzm4#U?gbUQt`G7gVq^@Z^r&lV6?W
zzT;@!xq3>Pn)XrQ9a_R=ZjYCTeR?5ujKS@{g5kxNd$_kUzC0iP{rMax&5Tn=CT01H
z9G{qb>%K|U)^mXi4jneSTwloBDj06}>)5~Rb03Dy6QA>S*{R8l@3k!Dm6Hr^vE84<
zFSfAYkr?Zx?uYLmvK-xUD)>x2Pnm0ORJ~(@x%~wz&hOKWdiaiPxhl^WC|5gMB<o;R
zNc3#M)zw!bZYb_w$sX+*wB&ce6}^{ByRUA0I%j|A0>ev+JMY#UkD2lMsLrMt^>vfO
z<2s}J4A*>DJY`n7+vXRyt?wl-gZf)r82cliXs+W|lX$j6ID4mx{Pcafork|huDfvP
zwDG*As=~a7I}K8|b~{-(73}ND=WyqJZ`*wLOE^P!%hS4K=h%$4vsXgq{Z@IG_oVfG
zm-NQ?oj<JtU*vv@l5INdeyR6*&+HFfKWplL30rL2<$3Ydo9a%f`FEZMEtom)p77>W
zwb*rroPuq_ZbDBr^`8h?ca<G+S$H^;A>`hjvyAnRW}li^UDba*dSTPqoWN(5)~~)Q
zEaL8R_0PQ-b-Uq=*L{Vz?<O<9XmZw`X*iQfw(s%H1uG&xRUE6ED<Ab{`!nhF(OQnv
z4LAS!a-lwHr_IJ7&EqnMMR!;0M9DQd{mu6Gj@9`(<!k$LyFEdip4B$jG6nNeoA<~#
z#_Oq1pDMS_>*!YdkWazK`_n7RzAk!FE8Lp%P??eM%g#Ri^tX3CZ5sBzfAr6Df$Opx
znW@IVtkwnDnap}Or)K7pnD`}+yi0h+KXSeOmYz9vSK0aX^^;Uur97@ak+ri<p4cs?
z%%?u#-a@JM1<t%v8g6<&soPnWBOLxIe5>?6`=?UE*`Iza={?V7ClXnv{buF<Pr@5j
zetr5NyW>Xumq6cFk<uPZtwe+W&-=(}r2BF1()4|1j)%>AEKZ((visk4#U&>^COQhQ
z`oui%64NGLufFN_2{{+)r-j%R@hsfv`5^78L2he>c;<EExT?UygRj}=MuzX(!J~Zb
z)Gg`zY7H4qGHOpgsYsg!vFdA{*?Dcr#8q0ScCN2hna>_<a(Rl^>Vqfy3-xS-6@MFU
z3CwR0Hxuc4S}BlKzrFGDq*Qi=oq;{gtINI^Y)SolMKRdU{E6%4$qU~;Dy}!_pW3L}
z^I^+MLv8NJDTyY$&dM8SXm%VF{&l!G|G~ToC$1lCKDVz)p{_6G*G6HjpydH`yU%e(
zNE~SVpuI14d4Oqqezv^%vPpIMNe6l3uZMh2ICDwWGFW7Zf#AiymB)`dCU<7+I&i@&
ztMY>)uh{)<0kgdyyqmG>|Hnti_cpD%TkjcoZ>!GDq$H;;b{5XJt#56wQWk&vT+Q|F
zM9Tvm9Ixz-X77*LbgV`H`sBq*Gfys^$`rKwcar0}Q>#xVRrn_`9hczm7GdHz_@2+(
z<7L*0AdSNluUvlQxvwHfbPs3G)HOc^yH@K~o^)xcGh6;(W2@R!*Yrhg{ee8k8idkU
z8}S#{Pm$<Z=&*lh>YZ%%z3W<iMJ{}GZf~yY+0$@pb=K>@HS9C};%2YC!u~pS6X&y>
zBaFx6-<VCEytjPLF0nu9<z1>P-yXZSE8-%9kA|>M|LM;mtXd00T~c;<{3=?ksAzOX
zXBVgFgB`^e5*9u2zk6L^<M$Jr`L6tOW78G=R#CUoxI3c$FSpf}n)Unq|JlA|W%OKQ
zJh_x1?zgk^S6w6DK9+YOZ=$u5UU69O{k_auZ{Kor7omNNG#~zq*9e*U^n9TL_o?bc
zm13{<m-Ev?+V1sA&3~o5{r5%nb4ByMG{!%3lS|%W=3QoKurFhw;7e{b+21nfZX2uU
z-CeQ%_cGpKrr8W@uh!q?aw)vOJ8Bn8>rySIE(f1AdmQTo!;7MFHqTG)t_j}svv*4J
z^`}*TD<3@9cv-Yky40|CD|?;ij2}zvk8Rlb!d@-@_Jxv5Q*WN;-xF75^SJ$RUC4`h
zPG7$KVg8?DwC?{R+m{S4a=SVX%rt7a{`^I3{)VOEY*QNI7w`Ns=~L_@k@`O?7j4hT
znt3f%tfg&_iMDvw6Wt@C=QC{dg8oMcJo}=|yKlmS?RQ*w*WS5%`;ShP=)bcT&z#qP
zH2Np8^T?L|R}lfnE=%1~IHd03bUcecx<X|A6o3D1%>SxdR^2PpkV?0)pA!??=POY4
ztZ$*&UDF=R@}FNX1ar@1o3KCK!)RSc{ntgxS8vqhr)fyd{}Uwf_<|Y#X6uxc<Ii6f
z=wv&3zF+mnz`MES>Z9a+ulJ?TJo&cr%MY$uTTgMj2wAgycfTsr9KL+P^({Gi&+2}i
z=Wj5u`{%vKvE-LF<HWrJv-O|1tj@kwF=OSKK%wW(?-pzAX{^e+%I&^1b;E+6D{U_t
zZ28qx|Gidd`KB||b8p6~$?~0*ZkivmLNu-Ioo20R;Do|i2ihec+wQk=pXcK?eXH++
z_ne<A%rB=3O<8ld>#E3ydv#9X|ALmaloatDuMwR2!*SlD!%U)^GrRVuiUrqu7qJ<u
zZ{F|SsMpf6>%~Rq*vc!7^JfM(-bqqW-E!xK^rO-lU$)k(D;c~KS@&AEdHUAU{TFU(
z*-Z~ktUh(buuf;uM9ZUf%wNPJeLHrT&rw;^)%eeDbw~0wrN6CPHh!pjyN;`Q<;B$K
zTaF=dJD2)bD)B4K4ZF(C{3oqsgJnY9IfMV3WiLB$w?(Y-Ut%U7BzQ#PrJ7pIi}n9v
zCvR<Z6}opladlU|e!VdtgYdobc@o@BHGA**I`5yg_+WG8%7^c#?dQB4bMC&@b;-`~
z=U-KK9=*&wdHwRHGeWELh4*iL$=kAUx#0E(@1-s4WuDsS`54PCH(9@%qxqO_{nGC|
zcld9|I8AcheR|J>X?LxA7Oa1M>ec6xwUQOGF4LlpIYdrS$ybdp__gSrbA9N_Q_FsM
zEE8tZ_C4epQCj}v@P)T=Yb8JP-R_*VVc(TgE`qb~h`r>wb}OfT`Rbb|6ZyOsE{bV(
z7p;yv|3@@=6FXz??1Y->WjPE5GgbfIu1&ge<I?KZ^jqrOGZ?46TqC-E_gj(pBV8qi
zCvN2&J#yn1SNPsbWy(eOC&fltR-Jo$r9S=ExkXbNcetnC+7o;BV)6>r_9}@_i|gvP
zO?|pNgmX*kG|hx17ZNtDdcxK}HQ@{UZLh7rk0$?K%k{riU1+bcr|6_t_Y3Z;UNhJE
z(S6mg`$o+pyM=-t0+u1O-KL2?(0?wM9{Tb`+asHe$A#MC-JdVqWH9LxV{edLK*4MN
zyLAlf>yPdIRF{yi_$24H%eoqEw_F=_(`!m`tqVK#zA#PuB6a%VH?{Z2WS82v9@{Y0
zdusZ&HIa;R|0PW8B)oL9TJO!C>Mz@5zkZuY)$JR0)Bmj4xN+*ok5LCcHWxF$DzUOY
z*H^RdoeA?fu>{@7wb!p~W}V>8pncYOlV1E;{#BRn7V$OJuiulwqL=6<CbFqW`P1`H
zJH3+*tNV8?KFqqcNaxVxCs%g$$@8DLwlVRXbnEJ!nu3>R=Kk*_;x=8m^rde9jAi_t
z;_;z(tMaGH{yrvpldn)zjO{^*x_8ZjkfXuryu0fb?ESH^|I6#$HzX!DGX@7UpZ@pd
z^p``ktFInrl}UQB`_G^H#&wep>aI`fk*(QZtaSR+HJ1eC>b29{*P5P@7LVwk)sa8(
z{&uN)t}V|6R-LWkx$~mBZ=de-XOUBXsxEgtTi&$i9B-<nb4&4Jr(+B5ZOL{K)1A~>
zu4*7Wb=npy7v<vtA<LE|%LQGkDpY)@l@lLhdiSTt<d2_k@7q4}<f%CAe;@0E9^aUm
zsZtfRq{@`{Z2Tf#3F-GQW#)b`YC5lTBY3^dr<0p=Z)Ud%AHUu;=iS5#q16{#Yc9>S
zy0PZ&(Zo+Ycm91+`@PX4qw~z{i8q<93&ovznO~;X%E5fT>a6b;hNGv#b6wLXYJL9r
zmTO;{ikC)eTUN&T4Vh<a93)rs{Yj1gexu$#<8e{@`4o${KQh@?_E)aE?fFg1<<%q2
ztzX~z?fsk7XzQ2zJN1Ow-I&6we+9gEP26yKfs1-WOz)2mr=~{#JSb@Xs&2)hH7;jf
zmG{nM=ec*J`n7RX$i15~U+uN6tE|45-c90e_FPxRUv<gi*{%EaZ*SlJziEn@^RKh^
zpO)V|bE#hF*~#>+wy|@kxC=ktn=gFyPd3x$!yLQU?~q{VWL{I5<a^R<iRz@=+mGt>
z$6V-|Qd)ffaBtgbJKNt$|IYk9R(>du&3%TUV*7=-Rb5vipD-CktT}%`;hNBlYTiX%
zQ;ITOx5_msf9&a4#{Fb^@|t5#iTdGE>sGN{&04~w|L17-`FguIJU1@2n2GqZXYVg6
zaXn(@8GO>{9?SBjs@*Qa3^65-zI<JM)#J#S>i66QwgyFC{zjNx$(V3ED0j2VSC{X{
zmQ`;t6$<n_S<t0;pn98yb4>6{kDYgCXTCo_E#scq`oy*^OI^k9Z~v@z_sc@X=!SrO
z4~?Hs?V546SK{GW(Qk#7^~+Yqf0s?YE?|7)_^WSAVpgbxZ~8ko>;DHCsns>||DMn7
zWj?CA_(h4+=E7eZAF4Y0qjJ>KvkrwF)RD{WyA-{9`#zI4DZ`RuVYl6bMN(fr+kVe5
zmS@)~E3+peC*+ME&(JsIG%;tHziFSg9>=qyhMh9MXD(|0QLyQeLjLNcuN(*Jx5^y*
zVq&^Z%QM6FKKBgshrN8vuRQLYdcIgtS>*j$g&5O$GfMmvgj$0#XU&YZ%q~}2Usz_T
zz1O?3w6gx}jjv}yK9}pwW0~G=sko$3u=K?Hyc^#??-vNO<NT6#TwVF%A{Fu1eVlBO
zJoBnghBt7#Mc*$F*{GWPKKjo6%aT6}4C<GMR_(SCd?diQSntl<2z>_j*075c)eX-6
z;#}kH+bs9--E;1sqX+lLEs(A9J^IlmWd_^(*kyM%?Avc9*+2K*hZBA;Us|oZ^7q2s
z@}9T?Kkld2b_Vgxt-khoX@2#!lcy#YywyBve{xgi0RfYy&lajP=Jm|wpa0D3<K?g*
zo7@$g^$glcwn@o>LaPsMEzXPlCD2~WXd3eK>B_WaHx9h8Jz4f*xq1x$r=r_Rms0q5
zNGSf=@+ZTmhx>hRj{d20msvP3yYN5yy6XO7&V3bs-*{>Ft@O%T-pAUsE-vF@bWx#Z
zz{H1n#WOyhG5T}dG3Z;0q@dzc$%&N{&$2#vy}Gu&ugs->$(o}F&KXY&mG619PJCAT
zs+>jhcWmBrYm&s}Ql?qA_PqQ2fdBgHe&uZu9zU)`zw|g#V7}yu&*{+8@8_Z__n7|O
z|Llp}2erz;=&I9tZlY~d*9+LyPLJwRo`1&UX!PAnPIdGAUOks(X#8CkoKWJo_2k~X
zq$6)uN-+HhULss$TVY$T%oT2Y=UhX)-W})4tyd-`t8R%Ys##`x@!&1nnytM;*?9}>
zT$fK+tYkX%=C2j%ZtEiMxtwBmT^x4R|M*^+AIUfW92Yny_-yg&z8KS}<{S5}r5YC>
zD*bA=zh`yptBYUzCw+;w?AmsOHSdj^8K=_rLz_e;x|vmlzAgSPTIH~#!@oXG;Guxy
z^Z83Vluh1;m_%pqe|<7pdfJgY8-rQq>0djcutd5=?Qq50L$V7ddg`y8!&TUN+^ALf
znxx5|k}b*=n-$gFW-OS!M87NW@>bcjgFkmJt!fUm+B-kHE?qk_{$6OXQ=t92G#RCx
z#tT=}hZ>4+c8!rJIdjS0)ytdf!&%jp^*hgOD5{z2x6JGGKe@dvJnh~Yrhz{5LLys?
zTSDCbd9Ik)%=T{fqT9-y4JXt-$xMCiBHKPQNmkC}5YJx@o%7X&E5%ND%biaz?AMeu
zog5(EcItlnM#<l-w{Il=p7{Cx^ux2Ve{zUj%GdiA`t003E{W1#RS91=#AIIIV^?7Q
zrJcQ=(J<r6WghK{h*=tLyKb->M!Y+dznH~z+o#iuggBK>XRkQ^^TzoP8&|H(bdmqx
zw&d7qu9PKnUK~8-^Sxr(zt4r|-$*}k-p<JQdEs}bioL=9I-7I9SWj7zr>wN%j<jCg
zDZW2{j82#@oAao>R?Ua`xKDe?h1pgcj%+-BDnKu_U-(u1RN<3t-MfknFZ<+P&-gXZ
z$9e%HPv4$<74uw5f8AO9WrC)tc7WtX|HbE;*VH(>Z=BjVP4Hs#(aFnl<->kn%{MzG
zl*oVPZPLAn9~u{Xj)}-kQeS&v+u9Sk53?Rg`}k&<DqWt<bJ4|2bK~2R;EsK%nbT}u
zHm$o*vCjAKzI$t4E!kCXUGsLq;}d4<D|)PKZ#xuCs0fJhjs16_OXjr4sko)a*=HuP
zEzm4`Kf^rTe$^6f_nd3~AMULV{^y((ul4xmrMQfHCwAF0p4@5qU+c2#?W9j<{t5i_
zidc21A$)1U{#`2)m-c+&m|C`FnqGCs&N;U<Uw?G!j+(b~@q{_{k-x5FPn=($njzg=
zEXVlx&-Ln!&M#K`KHszZ{2Jw))y|qb?n@u#SaWF6pDjP6epW@#>(@3_DG+(|^tz(k
z)tS$xYfjlYTRJfFN;CHi(NA_<Ps`<gE%$V96XO3VYiGHNbMq#R0Pi=Clf;#?Ps?t;
zE0E38ms{H<6n<v1zUVWh|1l4zeqG$TR;9j0<7Zgu)gznb&H8q(TKg{W`mUqh^XFVX
zaY4WPMpB*9=g;4tPC3#0YjM?D!;rVu&s*88bK;j*cA0SZrY<YooW!u)aK()FgK@cu
zEf;u-wtlq~5oTjKc6GLJxc3LmIkrMy0y|}2zl?IN*WOqWRal!n`_W31WqHR^{BDbU
zdoC&Ur+)ocsR%`OcgdfYYj`vkPx`J`zhlYGtci_E3eB4Z|CD^Vv;3CJtyHzgy*KTT
z<;AVrF+aFzlD@9lYQ7^Zr-fdMJvh94k5A{?S8CraC3J#b&Jk<5sIe()rRKcd)7bA7
z%Xs`$oUrF+>$--Ho{+{DGb}7`YO4CEK3MW3W{zOyQOlxb^^s|%TpRu*6vWSY;K;xA
z%KbOJURz4aZ<j9oT{5lDpj9E*{mGKGlWhM^>2fc#DiGa!+F_Ae#m(dGT^4^#mZ>IL
zWefAizxQ@oQCfTAaOal&lTzRR5)?EsyJUFd<&8r>o18d!u9R8W>@&zX!?RuWP}GBj
zC4rwp%~K9k++VriUteVX)ayrOmWsrFP1ksnTkxj1SK^KNnTn-X3cubjKN061?qXU!
z;n!J{Ti4$|7wDb(!|kPESD*diEv0v+pOn0`fi?K$vYq^{`&rh{-FEcsp2E2=?fD}(
zrzl<BX?|i}VC<>nZug>_(mkhNHP<=WFHsAT7dmD%MalK+3eC6Cm%bk2j^0^6rBC6Q
z$lOmqm+narx12lQ^JuEN{mK%z^TJGv6=FEPx87NCz(>^b?Fvrcs|WrW&1==av+S#X
z6?>?hmGP15G26^O&W_>y*~8Y>^WsOEz@)9V70(haPBQO4D#m%Z?&rHTU(0+Ct%+!T
zkeSx`B;so!|MYEA3zuwNe#zW;cHQ2^K}l{wtG`T_ZnupzjBIv3;1wgvUwPU}Nb&L-
z=}9R@<&KATI{(O7vf$Tt_o6>r_{)oy-_uyPXjbQ^J##o_8zwCX3p4#=f5?5#5Abpz
zCUZm3eRo0@hRCN98k(D$gH9zBWihfew4B~pz^75aoi$+2OCdd;gNmH*%mnVRm-D}S
zXK;YQIica8X+;5tfJ(~)7WI|~LU)>+3(Cu{dzXEGGtc&ad}+S#Rr7fJyZPnz`QBIE
zy_YUKsg?LLfp1!2!>$cXH!WBggHA~~@G-Eni%YY!t6S-=6+3d2?~izo-)iPIOJ|t{
zP5)CBSecvaW9AuTPB=Yz?j~lD1rM^=8HyMi_B1)zIr8x_sI#{psOOPQXky5mAbmt=
z!5OxIf`+EK7c-a2$k-+dWJ^z9Zt%a7)gZ!vsey^9MyFne-Qz}cq5!vm$O4|Cjf}VL
zUAHjYWHgc0QAiL!U%xX!U|V5fp-4)4d3kv{^G)l`mIv0<yGlkfyb}<YZeY71$y3Z6
z%~U7MwxZ$9!Fr=)=jE&!Hy!5uKVmAoCgzT#fx!dL4b2e^3(xth$1I$dAn`!c!XY@0
zbHOW)wttyxzAR_tez1NwBg4&x`rW@@f5~?jcp=~JC?>}DtxsWvI!hMshNc^hjH`^i
za`fc%bQlD#eA=#fqW;{?hc9hT@Um=Vo@p=nXQCyCg7QK>23x^D-SalH@;rL+=*%;o
zjlX>-{@p%%d2}7`)+t3BwzE6O&be6sT%EVEQFq?DyOaN(KeeyXYKQaQ|3YgN0=!q>
zSJ8=;y}5OvfO`0bJzwJ0`~`m5&oI5gdf@QEg9p_QurgRP9*`3=d$a#;c73H))Bgab
z`osP_HG5@cWf;T!RSxVE(Ee~)e%E&66TCbHjXRra_x_Lmn9nK8!4l!56T|Q<A)7<w
zul##|gB!2>f3Eyt(7}FS!sC_S8yNcT@85sFXa23zml(62|Lp%M|1~u{=(<UOS;D``
zAMaavdb0C3m}{G}H%y(}&dl)VZc0tPzy7}eWuL#Z{%QXsze0-RQ+Uz;r-5==PZ<P$
zOg?=1>EHJD+wr*vKU_ay!1Pbn@#w>q(+@JV)kod$Xl_6J=q2NydbtMszCZuJ{>|6_
zzx~?(`z<LkZ{Pe2F#faf|Nj+^-vq4B@8_8pb@S@eOr0sR^V*ny?O(R*fxUaAWDaNH
z*8lPKYxi)!$h1*eaILI9UinBQ+atzpA<a7?Zv46F{D0-4$<@{zB5R&K;Q6^XhhdFB
z>u>qHmk&hlsf^M%=fCxrGi%+f<@N0~yju%4{IRW=W3z`rfQRjqOTE_L$w!z!u-W;p
zP`&ZE{~Ftd&5p7$^ZFR(z4*zrMke9Ker+z64c^UfV;t)DU$kfBW7xgQ_Qo%Hmj@@0
z$*^szV6Kar9j5pHK}`MQda<AOTyk{`yIY&@3NPI+7{_4!Bi?L}zu!T>b^c%f-F|j*
zuIQ7@RsYy5<}<K|->6@Dj5(qG&vXrjgzf*`|IGbquefvm6#v~n<bQg;{;`E&;r~Ym
zc>i$!HD}h_r!K)$9aUfQKlRs?`HSbS{%kKYuVJ}k(Z9tN_3D2`u1V(b|CIk{vp>-M
zL%rf1{}Y$*{MWTteU!w^{9pX<@|M^;vi~~&m#mIUxH130{;C6qM86$5@U&mEHfzHF
z6ZJVs1~-^<8trT!CMb&J{MOy^@zrXUmDaC+EjS_Zc2^#k^6Kv<YfgTBrdofB{n#h}
z#_kQ=o&0-qBZ^nAmppegUE}@U^4I$o?^*31kiX;WPUG73hMVp+*qQoVFrBhnJMgAw
zpWCrjs{0-mzkjk=_ygNQzJKjZxyvSN|M%XSb4U9-Uu6HObBk{NyU<zswYMnFwP*LD
zz-t+AH5NDMKi(4g?B)KB6%%74P6o~_=&QFeIDTILSb<TSoTlhK<Hf(<xfVaIl-4Oc
z7W4npEd7g*O7aw!DVixLxmz56DZlXZv^!ow3Uj{botXW4)~6N1=N6x-I5^4Xc-PTw
zM`wodUF>MNwk3SWSATQn>qhnrO)oun7hD(8;>!NulXzv-kEguLChpJ^jmbaoB>HUF
zq|d$LR`qMcww+8dW?DS8zu}|!FSFhMwywRm{r=o%)xUQ|=sQn-y}l~@S6Fmy>Hdz=
zu8EPmnP<k`mT)_BmTTEWb!E|=JT}=ESx-Ms+<0b3?SuW!OsyQ%>~h}sCNP8-Sz7S?
zn0V{q?~{BLMzwv(HQuZHLS{`rwo(1<ox+}Gx#o&cxwG{u_42Y$g>Dz@HTx}cYQofS
zyG(7e6{p3;zL4ILWwWB=Z^p_g4ZgcBOb*hlYfXQ(W42m<blkSu+D&WB4{2Pu{4GkM
z{jJ0Dkll)X>h5#1a`h*bCal(4;BKU`#QDLYqU@)Oc0^oaslV;`{MU*rwmzH8(;~a|
zEwuMU9=2b6G}1IQOzBg7<iDq{)|Z)l4*wlBDKF%k>BbqmqLj>6Gwc2=f2ZU6>C%=j
zm6uP=?Ye#Fea*7o<x4)_>fHaUTexNZ^&iD`*+F}g8mj+sX4|!WyL?RNkoM(e_oU`N
zW*71d@?E?7O?aGl!Q07;nOBF{yN6}&dF$1?ub})2Q%l97Ai+2HE(iLq`&D0W6DyL~
z(N(dbYenpZvgtqUoWmxX-D8cr^ZKRxl$zE{M~*hCTkTM1KcTzi|CR+)j`w`GnE2sl
z*-`D-KW#?a!j_!5`QkRyy`2Rf8#@BK?QG62+7dD28{e%D$7J8P_XP6a)G5s<H+*@V
z<B_R{<y)6W>8nl(mZ<t!9O62BUVh{Gu+R1PjDlPvTVJp)ipoiJUvy|K*Z)PwU;h-F
zU9zTe^|7y3-C8q3H!#hXtA3dn@n|Vinx*umlH=x@t&SF~)0HfCmF3$#vAD<eC7jXf
z@Y}<>yZ5U-shg-a$8D4Nx4lzlZYf(n?V)E+sr@yc#UC~6c?tr=<?hJ%96KOk_<6OM
z-*Sc`k@{Z?mf3Nc=iHXBTfcMOuPqm{i?>XW+!L|uZGTkg*RR>LBJ?-TyrCI?NsqBD
zvtDh|!}e#vb^NA@c@OkI1q)7JsBO7J@{G9Co|UCr_Zhf`KQO!g);(9#Lgj>e)B7U5
zrT5*A)#%%FYN*Nm(b3506`RZVxA)a+^Bti(@2=pv?4$p*{`Kbla$(c%KP=CUaG6w~
zGf8~DhIWj0`itTzUykpp{H!OW>L(Gqm3iJlqd8UfLB)dIF-j`SvU^`?Z#t_f^!AI<
zwoL-3zG+r9A6mkrl4@_hFnB`sIio#20ZaIEpNBk^xa_I-cxw3Kg&TL@-KV)S)mI_L
zC`a*@EIa=fx46>D3xw*mzxiJ(ycDHAYkKwG-61d3{Zb1{KLqPNe53Fws-V~ZY>oN3
z(_c0=YW{akzuo<4qI;u!Gi!H}tYudxi&&3~eY@WD-o7=)F<vi^aD^wgS)I#Ucp_@|
zJ6}%eUXz*AwA_NWX6|e@UL`K<{HSu*9JwjcfBZtcrY%lgy@YRfUABX4{kIizo`N5{
zHqWlr>iZG)SBHIl_N>3JAD+&uztwk1UU~12cc-~e&pF2D`nJ2l=yJ7T<?Q)0)<s87
z`o?Z_qNOSH!1NWtp3_#e+RocEy;0Ygo1ti?IO{<duK>BT!sWZ1uHD_Z{^|VGz3aGG
z$~s)CUOc`o@$0?x)Au<cdHeh;)~|e2&k(naL2$|)ow}Qkl^s`oihfbGV(Ry@H`Yh8
zOX^#v2|b;5>-@~iMLx?F4DZgUz2o}wgja-5!gi~C|Lxg}LaWctRP|V>d~k*4$|L&}
zV_XUjG)Jp^jZ{kiXmr<a#hKsf+-!$e|I)NoS;13eW16KB!xdw&fBUg1&NgM)?P7|D
zXRWM%chR`GvweG)9p5R5WjlnEPwu+W&7bmqc3j0e&3xNWzr@qSW|+h_#n=Te>RQcI
zzWK)GhbeuU!mD@MXvQsF7nPu;?az0*OzO^gX{8&}ZLU@Gx}MzQ>UMae_Ab3;dBFm@
z%*uW*J&wKdn)Ea8mBBH^bD7`HICVsB;$s%uCzJI+p#F-`6I0U@F6GK1rYo0j&NbCk
z?E6t2qxejCrWD_+mo16HW%K8)OrN&@LQu6$IrphOZtUMT9<jDNGlAvcy;~}GuBh!0
zk~z-mKGX1a<>Uo%O;`2RANd?z%Tc-0<B8Z+hdkxDBe$4;EQ>d0`>>0rt5L+qHT&*G
zi>Dh;ow@t0@83eF`g@;U|7I{QeHFtJZDr*Y9NEj9n5-ZFV9Lr(E9>H#Hkf?+Ebbq`
z@^))`TSR(?M5j(?@M)d98mD41Q)k{^wkQ7@XUE3m4V(3{edim>>-NrDzUr>luc=>N
zFTeQduW3iLtjCY7_xS^KHauD~IsErhdwzlUIiJ$(Z{IXh<NbB%b**;2mRIJvv~>?y
zW?o9yPkJozX0eiln@e0-;Dp&-CB;iN>C9*7-6Qm*QO_~y)T|Q8tmCga|NAlOhPiEh
z<q{#7TN|FM5N_(`)U@KfuF1o<hgQUz-A%hX_1~{2<-cA!THKxa@T<bEX*qoit_PS6
z|GAfONTpO=5k33I*mJgsRegE;^!k>Vd+T}hDoXsf2_N?9-!-*Td_hZgX5g=4_fADK
z=XWw^HT{aeyQFb9cqhJV<eJfPqRnU5|Jych>ZMwut@oog3K-8{9Jp>byJ6qIE}dN`
zZO*^m)VOmkOO4DXp36ITsoY$3`sw1_dN!`k=Vhill-V6NTh@hd3l4wQd^Pjc?BKxq
zh04>m$L+oEo^erD>Xf*#tw5DU&>ZHC>Qx<uC5=XM&g_q)Pj)lBX8-;DVyK+eyyv0D
zH<VvqIktY!pN>iUEq2Y_vd=@Ezjl6=;nm0kY?DPemLF`t_R4#z7h}FvOqb5l_*k(I
zhk5r0R+`JL{2^*r?4z+fHQnZ*p2M>?M#*F?ullDZO7d|TnU?22EnM=pOx|vv$m_g`
zD-E4?XxqO&oTZ*;kSEww?7gp{U~0}A?v>Zm6s>OGH1qb|E4$^#E6!%4O1>;#S#9MT
zj`^8gk7liK-?2kV|0;_b>o=Z7b6M{lygYmDw4gmVn$Nz7<6fom?Cn>J{<-Dq*8;kf
zqgieLr#P*vx0ZK0e)4T!aK`i2jgH3WR#tcXK3i+IB-=mqz#qf(xlyL}%-i!Fw$Jrs
zJ6<u*_Wqg88eV&ubk~?)^!V#6y^<&RqKr%T1B<HDF02KKnX?w>h)t1R<+(a^WzhN)
z;?aGl)=ae8n9gz9d-v;$_V16}y<X1r+bqmyqV4(aJ##MAFE6VvZnM*1UjNss`u!Kh
zR~bHrE1rrkixK&|T`RDHx%8u>&(D{t;<x5(J-)<Ww~e)@Mz-W^`AoCs3tyg#9=ZMN
z%j3-pwq>pTmRx0f<Mzj+A!RExzc4p71&J}TX*o}___h7)nfZt1FM6*IIk8tXb(L6p
zzt6oTGxfJPmjB`Sc6Q3C;-31zbjO{yB0rSQy;q)Sk*D46)m{8m`sN+Z^aCQZw(l^g
z?mW)?oWCMBcDZ^$vn$K8D{K=Fowj@aS-IWBrnvC^_j$q+D?);TrcAuoBDNxDS3d8m
z?|hnO790yDyr1<cUOShiIn88^vYYtR=Es>OUWfYZ1q!na-xkdOedXuU+UNIo)hE7w
z>#-_ro79_cpL7bi7sZ(UReKqF?Yo}xm!9A=xqAdff8IQo`S|CP-DS2F0eqtNAJ@lJ
ze_3*~+~wN4%OM&sR)p8QHp=+*Xx^-2b;lJY&j)$0e=DP+zRg?cg2v=acUM@f+n%MA
zBE&rZy#75Ik$rJ2l5MO}u`4SJexGhldGz~D{el<wYQ<+wT{`2y;Y-JtKAU9oc&6Rn
z+dHDB884F4Hgnm>q{h4KUG#?)F`OcnT}7WXO+4<+53}5?EaMUqZ9GS`>cQ&GdrAaN
zb)p~2drT;Ow}w|>$(03y2G5Qz=H9*WyH0XTh@kt9uX(q(#l8@8(JIaGm^C5Wqv=iE
zo2rmmX@0Njmvh%W4*VC?w_``4L3g=CW0UmdfUZc_U)vr`yK82iva;B!`&9WsosS9O
zv;3x?*}ps^*C}>=A6sPJ$J1(Q`@3uMGL>)Lo)@2U`B%#EN5KJqk|Knry}T(`qPKwe
ztLx@hcUN_{a0#ux#GMh8vPojnOQy!o%oA%&<7%efPj6Zmv9LbFxNH64->hAe-i!5B
z9F)Dfws^|Z_t_U+g}1+{TVcJAUsdy5o%OLBLQ!+;VyBiLlGANj<mvPO&XRXA1!q|U
z7aj_$VL!ikhtUgD=JuTV7ZPm$t=V;X^Nd69j+jS%DRrN}vBi%2xaCBr<=0}EW8O?z
z(!g0I%P@~|QcB74?~`Ty7S~rYCS^}N9Ot0v`%G+;jA_DddDb1@XR1ACU<=>qH0hI1
z{0DaHw#OT_q(Zu?3fBL!+P!x%SHF_{o_DquhuSyRmSr)DC{7RAl@eeccJ8gz+PA+K
zZ%*F)cMXH2zqEnVS7Xorhwt&-F}-TB$L7_Je^mz~*fuJ?o#uM)^`~35UAIjH>rcL{
zt4t26_f2`A`rzuz2-|IEPuDqr4N#q}RD12KgT3#KX7vvC1#6b+NB_u<=x|~%oOMQG
zV?j%Re4m1m%ber(b#;X;jVym(U9Jx7`SNYSthh|e+vPVSR-gM}@W-Klr^*-JZDto|
zKJ5JTY0X0Olc~mKvQ8zQPuI7Yr`y%pG9IrtjOtx;vSR7Xt0mVvQrDk~KG2zc>Y^&A
zy^`rMd4;CC3kv@1V0>xRnBunDO4K!G?(zjeoLc_pkA)t5Y?!v^yjX~(oV$l-<1^<|
z{K5}UzX{tH)9snL+y3+J@Rh0DlQ(#qzg#<Iu6w{S&95a}-`Bp^Ta}gd)q2$;UxPo#
z)iZP1ch#?aGK*h1^r>86HG7hV@A}ost=sO^O50Tau5(>@P51TF?F^51hQBbmtl>Ii
z^OqpABu1N+hYrqi`Tm6WxBdQYa^31vgqAL@Wtm#@J^iTn)QW6D!Ckq}7jXZNo%v8j
zOp-19^V6$qZay&xxqrLtTF>d@?`BF@&WyC(yC?S9-`h*MR@HxfUmp29IV-oe`d;VF
z6YEb0^SQFgI!3EWFb13LUX?F!=2AA_r7+p`dGn@!+Ff<-;sL)&&;0FoEQ<aaWwF)x
z^OmY#fp^bK|M%LjxHs!&^~$qBT=(BhI=O>UaEkTGoG{*(Gg38-Sy!{=Og{a>#NL8e
zS-4}`jy&Dc4X3!;bmhw{>RD^~JSQ6)Eb6^_uY7h^<Kha#H(RruwtNXTx;6P)yleK-
zZL_>vR`}$Xd#<@C=dbv$tD&?<`^O}iO;(!fcH-g*rXnT(mxVRwn!o*XulL^m+w*wa
z>l})=`tDj-f9u@mzDXVWjS9ba{`=VylA5{vZ`oAO(w%Fx`&Z^joeI5bV(`CS>~gDZ
zmdxWs&0Y0RIchtt_b^3p@fz=)D)zP1CGFk@txaMZ7Ao%7e9>YqW*@T8Y_^f)+R34N
z1RiO+ohyBRFV`Vva=WFhmq<aRCyU;zWak*~KewM<zvVy6jqkf#;g`gS+fOb%7jN2l
z(RiAOhEyfT=LQx|@i)(RuW>EZsp!%ETEAe?oqJWYrz$cY{;0pMf5oiXE=*k?j~u)q
z8`agSU^~mS{Pn$-tg8x#r>4tIT;g}v(Q;nLCmzrK-fa;!Uh!Q|qIFi))aGbJW!$Uw
zT>l`8f9uhm<}cih&F@Z^;NX+XE8}@uR>$<uV&$f4Yu-G?w{7Oddxh%V9yLd7a__V^
z6yH|=^>6a@lRWw_8GomrpBQa?AyCY(?tC}L;ZFxSbT(gn_V4=q;#+q-qb7cH5Lt45
z^Byw=b*}{pPBQVg_pP73_tADs!Pood=Gz*W^Odfi7!Y)Q;rltsK^6;q^!LV3yWJ@%
zQZ?7D?#1Cwk+pZ9++SXj5-PRu^~s&C79l3WtTSr$7v$C(d!MqK@&DrM7?rU1-!?Bi
zedLAS98J0UM{#@ecRC!sqt#NmZDXb4kIl@cQD44@=WcOZKQZ{V>}$pgQ9g5Cm(M&i
zG2~%c%wFm9KW{CX^f2Arr}uo-8hyE)N55F~-hQ-$`-vT2%5vX%H71#|WkF2VHNU4U
z+FSqX`yV5HySf?vCH?gqwZEH$@=1OF8CmPNl12XOw(TV=+6=6hpWa)P{{80G&sF>W
zzm;aJ+`GAA^_)Zg${gDL&fmA6*>U-2)%x%IR1&{#c&ih<m1ldfvF4eqPkVD_UR<u>
zu6o<aYRlYOM?Z5b-Hl5>%-LC?{Kh?&S?e56--*geUe~O6*WWhx71FJJ^PxU`vrDSi
z$^JXd@qA`SFFj~`q5n<q_WJv$1fpJ@(DL12kS}EMc=`#uCwenCTo<#d&3AvZw_$td
zt0Ou)_n9rw_{cR)uSBr^Tq)<VpEIUyTxz4LmvvfWO?L9OWp^ahep$@C`}@Uqp151r
zCx-oaIyokOefvx6Pp({I7oBe`y{de1b8CH~Ysr5dRdu_-v*8??O;u|GKPJ7o`k;F4
znOW0~rklIXR{1_%?J+0E6BP~#r<EDHcGgl1nTz`lh!?GUyr=)w-0z1qzr1`EWBbfW
zZhcm=#!f#?)8DM!IcGP1PtVMb6}h)~L-)7Tm3DG9O6@OoShfgOOVqD*&J#(Eu{@Kp
z*67>zdhh*i4+=Am8QnP}HBInPQs6@E1;<-O+$2I*tk`~P{)t}xIlRH!Ix;!mb^D)`
z5z1R-le8e?)z)*xAso{U%x>ts^iyCrDU7~)(&PG#Bj+~xhGy9&n_P5}N?gj(xa;@5
z%?T}%E3WK2CO@soUVHzM3&%UIIWUD+ZtabiDKzbqS{PpMzw?c~%?tg{GmZ+K`Z04^
z<rX(~#f<uIolCBFuYXl1uA|+z(zfxac7LMFOsPGV<%(76H&!QC{azFPC43*lWSe&V
zgAr2&w|*C~d!;!2TTl4)!u79bol)0r`S<e9gyOA7o9vEVFHHP1qp|!}<@~%mlBfID
z6e`y}vhL;9i@de()arWe`G@&8I~Kk=cH;My7jHf^ZS}K}ixqU7re8L7*A@5LA9pwR
zE}C81aIkawW`B<b`F`z}*1w;%L$I>xUzqFuH`4pJcoxVW^OMO;Dk$p^*gxN3&6YJY
zy><luNHGcbbO`h+b4u7~?);>_y!U1EpUX>cidkHms<x4{y5oR;wxnjYLjAk&g6!nL
zC0`odt$)fHeQ``z)O#mfbt-mN)ra!KJ6RLohS@qA9XT*F(vbTZ_pPN|TWY7aS$g`)
zHC|Y~;F{Nu7mLncc`GbCUu*65E!(7@U-vn~U1}XTF<o+>;YEf;cP4tT+a~c*d67_<
zv(JZ+6$wk<{)($SRJpLEWkZT0r+1}heUS0D4Gi%mVbKgW>!)Az-z|LR-|r6pt~)9|
z%#2-Yj!gc%t8&)stclF2Lav*>ILflf7Mr(BJ-qnudVb60ZBMWKh~hl0`R(iVlIqC)
zC%-(}6IN%R`DdfMQH^Rd8~eE*GbV>c?9EF)n$LXjSjx<#(%tp%U*DedF5LL;y=g!D
z-YFlfe^M|(`UKxn=2Z+ji4M1=UwyqiJ^b>I5SOzhrSlaO_IPn$Sh4Quih0WyCH_!-
z6m(VbdtCU`?Hy+~W$&EgGAFCpsM7mT%aWdgV8O*XeyiL%uBEQ4S6b32o9R4xXV~`B
zcP1<e`s5q&M!WiMWEu0;Q`@_D={!@~sj~gw1d}XX-`Pd=yAN|R&D`F?yUb&@=6tDL
z0`k8*`kI~hoipcuaAkt*r<Y0MQ?JbIHRBQ8{pH<_Rc@zFIUNoDrg-O8_?wK4pZbgP
z-iV)_aqi8n;w!3ekEj(sGUe8d-YUdj9`sLj_xHY^%&#8vp6uBFq+abu@7d0-d5_LH
zyx(&C)W%h*fr~yZ+-hiDAE>0kmNGp{mDylt#gvzFpEQfN&q#7+=TEHMcSPPIE2pDe
z>V%fqVGnf<E|G0|p8KxN%ix{2@75ok%0pkj?7HXLz`N1W)$Q$}cl`RYOVwg0t`**#
z9v8%JTdN!H8slR7$A!7;<-UKX)<pDnKHa_Y{?!?;1oi5+e!u)}Q_2(u@#FR0|GJCB
zJi^{9ul9K96y>^a!Hze433aJo>Ym5tS!xQ%N+vZJvh4lTuH@ib^nI4i1Eq=fYxX@T
zTW-2j;j%k_$uEn|s(xoZN{kae6?kpWirrkkZ^t4o)0Y8S_r(h~oD^O5yHWZ_PP6F^
z`HjJ>JD=@(Z!~ufOXu^(1V@Hkw%NjG>Q{GPulZiAa`=gz!UY?>1`FBTYj+dAoHDr_
zt?^!#x!q~Ux4@?J`+6z_YQDbQxaIvHUG+n)X8ml^pMwOwg`>@jZ`Y)s+;(vHg(-n0
zhf+$iuiu+!EIxn2mMt$CmZmNb<qd2$-jJekJ3HILu*O&|&zkA=8=sn}s+}%jx^8bS
zly}!_E_rHwNQi67rFYiv_upCeIM46hEB{r}eLo*B)YkYA@K@l+9-GN&7jCxgJ36n(
zfA-BCx~m#?6m3|LwKPoeO;=5khv%jnYg%tFkC-bo@mcoFNtIXD{XMrOdqqT5%0J&*
z4CfvC-UK9E{yb53f$>u{_t{@J_eS{txbShe&AgPZz3XJ_Rg)Lry5s3`<(=wGN2#<+
z>tc5By!c|+_5RttBZrQ?>QFhR9grl<wkdtRi*@z});;l0>uyWU?k;5uejj3>xnRnR
z<pBu~ULOpYu_Zay*>LyUB`x!-W=@E_Y}lmIeP~H4liAsuwo9hZ-fMjFE&I$bu}Lp8
zOZbfApSrA7-ngi8Q%!cg@lxBYinj|FZt&B7xy8t>TQV=I_@ajPpPNF{=Xl6Zw6C1F
zL}lBDS<!}e%Uf&~S%fo3TV@qh1UwA!{CH|rAKO`PuBf|7!9gY0+Aj06#w)%2&X_yd
z^3W6e<y|ZG@GSP&cSvK`N)1ktH6r`U%WZ$8D%Weidr<DJn!jpcmDze0hI&;$$<y1c
zM097|dwcE5<T<Byw?DJ(_Osh9bM>WF6F1MzRWAQOJow%iv?sHpyfdJGZKLqK@OG=f
zNQH_2eq24xzwd9`GuQ08{G|PlG+Tl)!t}~iTUI)WbsX9I%1-{1d~)Nw<pw9!iqAa?
zdaqQUWLCbbeA^VA=jW4GcU_o&CSAj<{=9Q!Kw@Hftb53wd5rEILbW^QG_R|jct-Ne
zx-)vbq7zb6_w=ON%sIj(d2Wip`jz+GZ?3Vu^)3E{!lCci9gDw-$ySwj8~u{-)4#a(
z?y;ip^JZ-|t$BWYQ`dyRk}ucN*@{p1Pl|Wk;>KBhd26x$j5&!bIISBk+4O88XPm0t
zTP9!c(E3LArEda%T!E!!najF+=Uz<YueSai5?<x1bm+9}^}M2a&+?Do%b6XwCBpBz
zlUK#%-M3cue>pe*aZvGUrPVG!U!FhkMYFH=U{Ba7|H}bUlRh@^J_-IAX7a!H^!AxK
zGn{u^P4!-1*`L2n@^<~QhYJp|#?PO#Z3;`BKc~cmbGPbaGfRwWOT^}f&pEgESVn>B
zl+<N1`z&wHTkH2NX<?G8i^@hzzpt`xU2(sqT~!t*6yNxGS3Je**TtFF?RoiDz1?Ok
zwM^3WO#IQD2eVCL#f=p^Jq;P3X20TGRCIXXmz!MOdqM<{#>*$!FOu41dwKf<4)JWR
zyyS$u|4Y2B)-9{<uWws*n$a+#qGzF+#-WRC&p(Me{-{WknS9IOsgeF!u1|aq#oxQ9
zmt1&ma9eJY#M-%sXWiYWcHnHteBO)JHx*V#SH3ZNb9qIdb*h?lz2me;%ZgSBe)`9-
z)3kW+%nzF%ObUPF_SN(Ag`%uQwp$rQD%H02Z_shjIP(3?hbpyLx8w_4^(u}><W6zB
zFx=etUSZoTj`qhV{ueBYQj9THO(;Iez2{z@c}?+#X|v-S=6+kF!>4Vh;-cI(bJv|m
zuTR~5Wx0h*_q6fSonIC&;<~&@)~!Tbw{g)H?zz$aVzZTR-CX~BzS#+<2l?CNZwb!n
zSo&<+>51?B{@f0@&QSh!DZfg%O+Fic{j9z-Jag>M_iddnAiDCp_3U_I?%Q%c;U&+4
zKkrv<JEXJuEwi}J5)r$zfo$3fCUZYcnO}Zry0=m2mj*qlTh?s9`qG!EO25jLe&smv
ztHjnLtN1GeQ_tG1H+<E3GuJ@uY3|}yE9=Ml#bvXCWqs}#HSxQBnU=UBag*l7RPSz{
zcH8;`rfXL}Y-VMzWO`jzXX=)8t8=l*{OP72!tP8?W^sQK>T&zIwv5`F8i8+m<qoUo
zIGjAgyv=xJZc9_y`k8HuJZ?NW#P-SE)$Zt{yfd9~(u|Dr7x}Nh63`dWqw-y6k!;-m
zKX=;llFxcQ>0ZP=MSkn%N`bQXE{P7m#T>K}6*<Bu)zA6aQ*dEYfA3^jXI7JgHS0b|
z-aWJR#>(?6x2PWZc)ck@dco`+Q3g}9cK-UKW&SAGYw4zR{+&D4u_(?vyl_|Ezr*Lh
z>eQBGFkUz`<xudms`=8>jHLDip1x!IfkA%Xef85e`442BH>{YT-<IxDAamf$TP;oH
z+#oT|ACe0%U*6EFR_`%)qv6ckMZ5xOC*z9#*Zr7&k*T$-R_nd9_#Mf6I^DH3g{M}o
znK^+&#nq?K>Fw3U{>P>}a4F}O?K!Bmpd`*r=<ChnZQ;EOoELgc<WoK!le{t^^sDrO
zt~*Ydwy7U4^(QtxKL1obk@xFcK_8E<UHpstZkv^9cx}$e-!8g)hL?VQp5^_NK7Z+L
zl9x7EJZCNz3gYRFpUKLf)cLYTme0WI<L&)ELJpgzh0oyAI2Ai7@T!IH^+$5$r~Z4a
zJ<JtQ^5OEf?^QESG)<nLSunMWmEULUnku_w+wENz8CCWM3!`GM<jaRO264TQd2v*z
z)O4qo^{<P&LtY*+T5@A`{jZ5j&eqRP%fELj$k}f}&+M+>lmG0NXuQtN^C2RcC1tJL
zr1aihQWf{kt~)$0vnlCdGyB_<{9D&VI(%$+a=y0F;bektoA$hg8-7oCcy>XiaG-6{
z9?dsL{NJuB%d)+FXV0Ccy|I$lueO(Tv@UNuW*=7O^*;Q~;UyU_U!;WGGSE6NU%5-&
zqW-MTxn500<!xW<+9q$C?x|x~Ab#iY-zRVPthlt)LR395q#??)_mp&V*89#CDODEI
z+bv(auTN{xTYP2hQ^o7%<rDTxUisW3Yvg%XTJpogP0hP{>eH59Z#-Qf^`%bI?oFzG
z^EK&w7e~qU&r^EbQykA<@jmJ(|9*M?=hZi^`(?eVZ^&hpzm<~`D%bzkKCw_lAZT91
zj|d6TH(TT+BEsG|TTi_GR_a@%@Vz}x3}Vkto%MOK^P0amJpUH8IT!>srs=&~S{J)y
zQ>Zpio|Vw2vL!_ik7!23iM+GUEuVSvz~^s*OLnEbp1N|E^7WICl$kfZHqko2{cz7E
zkL=c4@`4K|q%5cxT`2kaue#pM7jq-7H@ifu-CS^I<-@M?$2XtP*16cTb%)f1^_!<N
z3uXFG+OYNa*Vy%5#+myUwSKLhs6Dgyqm54D%KHUrFWP^-6ngOL#PpbRxtG+cBn>xm
zs$M<)?44-++K#<_&c!!AGoIIvWHng)L5gp~PKRGcd9u+*I=5Zix-FufG4t>QX2x44
zUu#UF`PPZMe~VIKvpFBkx$jrlvKq~r#Hu!Zqs470kv{*b1nO5s&o;GDkCslZeW4Yu
z6<7UKz21Gj;m0b+H*+8EWh<K~rhDb*<NnO+v+wp8{m|guCf@kujYc?UR)H?(UTMw}
zwZ=&o|G0h?Q=EFb@lJM9;?)@W`tW7`D<>S1i&U;U`@lZ$=KM)v_ZH567m=~D(~)o4
z<L&8DfdX?)Hr=hhvz&d7?(*f!f8=$uiL3r9t}eKJ>B!3?xuIXGx!>)5s-|u~&p<Wg
zK$b37Te9Wnsehtd)>X}UI8Ctj*Pole&rNP`d>z=vcco6~%0u>_kABWwuX?Nbcyo|%
z{hqH^d^h%1@vo@yn`gJ4(dy(rmfgPJqJLIdhQ4^-_*d*`wP6|G`x%elt>M}@@A&-w
z*H?=zL*G6$@Lsq7g6IR&-M8+2Pzb*@t#6i0-N~0<HXJ^vKG`TikNxzDC&z7KOw;(h
zOAZ9qWE!%CpFL6+`Btm@2v<m>WIG3&z^>OxtJY=JU;DCdzTD~LQ^8aCR~!+1mc+Y3
z$1Obc^}S;OIn259oa1fO`jfwhYJ9xZ&U@GWo<LiY&FoZ#@Ymv1M=gGBYns-qnmY5t
z%$e)&8{V`~k1i4W>G-YpL*a%C|EdxL9G39*Z4F)XJuvS}#>V6=p0()@Szo4=9k#wU
z_klHMgFswL-T(R>t&&{t{!ZC#Sh_8xC#71<@#9DDU81MkRt4{ywyS-q%^nlR#ZJP4
z>Ix!7lb^=<N$j8R&JZRfZ2L>;NtlwL<d2n$njDr2)n5I1d&7ec^`F~McIU*prx<7K
z+^+VJwYB<E$Q_wq*1faVXV{<p&ON6w@N}H(ey;ql>uSo&6>PkH>x0f{)vY?^cdgbX
zC!ufZMvHF8b&8z9U&G7|zD|Aqbi&3f&x!(^_uRU}eP(X6#~1UeR^iNT8@K~AeGlzR
zT6^;N&4OuvT{mQ(uqn`e-!`Z5!`TRv>{r%N&hgGVQORQMM>?#oOq{w_?CYvqNA>e$
zU-Pzm&0SKmB|IiNBTG!kEcsBqt6;^{>ldGX{r$76cK2)L$G>^bX)F-x6a0EO>!jYI
z#0w7c(ZV%5CqB~;ymxE+)vc*H#b#%C%T`TqZe#rG`g+Ba-aXBgiTl3o*33FtCTVKF
zefzuE5(Wp(q|ZDL+s*H-yc@PkXVLAe-yiAgy6)CiR}=KTd8sK-Tcsw@bi2>)jO2RH
zszbaV_a?o%^Jd0eiBrGl6vXWgyE)76(X`nyMJ;Zp)M}1SIZ!*(?8*)MIRd{^9UpQB
zZwysTmvE`6mzt}lGh4dpiS*3p`zr31c51jkf9Sj3VCJfJ-a0eKg}i08%34hAA-5jd
z9lsd*>7=);-MqColUrQOK7J}y^L=qg?qk`9E%lBSH^Q59)H5cv{r>s$LTpQmgWYdK
zd$A`EM2=rM_x{^t#e~KE4smV%&-Ww=?~}<sDOtA1)6MIFy~cA#?~5G&SLAE3U2osv
zkfi&oTc(n!{PdHWlk@)^H~hQ3EAG~d%QEFfH=5VPI={NZ^qO6y@Y@@4g;(+iCMMQY
zR=o_oE<br+y~+1yH-cI<jM?>O`Z->_*L={Ei{bwIjBhKZRLK2V7{AqO>U*UNEPcMm
zRlV=+`s*Z6&%UA9aL3fc7cR!UFAxxYs`ABU-``8imShI?PrO^}vc0D7Wlf?%)2Eye
z{{`Q+{t<IbDLs38zTh{53)j#0HZv#QkFZHyv&B|n)x-AHOpngiXNXuC@0Bo(JNlt;
z%~dJ8rw-Q=r82uJ8haPb=MnDN&{&{f8m4W%?&Xi?OxYo|t-@EEXT~2DTXdQ?bVvQK
zGxN5}?O$OT_S18ZfT@&6k-aF(#mUC~C92&mFVix<p0qms=Rn?S$)$34gZGur@`<_P
z`RV5p$>5+3*`H$D51*`CQC%Ni9DgKe)tn{Q7slqPg)m6g&vnXHFOrROnNam<-9f_-
zcOK4u{PR=Mo4ngLVvcdb?@}ca(|x;TIMj}AxxX?uczvN=c!K*gV^`@i^M`j0RF&U9
z_<HV3OK$h4I3FRsFDun8u9>gmK6yP#_|T+n3DM!#t1S5wdYqG%94dObCH}5y{RS&Z
z=D<r;CQt3ormHrH@nodSoscWj)D-?-RZ!M0#i=0K7x$`X@1j4AL7HK+*`j&%b*t{N
z`o+XwQ$Dp%X=!Re=6c^1Z;M|zPt^Z2<DtHz{KC^3IicT6*Ebk_=AO6hLr*IAg5tn7
zb$Oo&IZ+&MWn5jZq&lCz;Hk0myYMmXgY`47mgIkQYwNHGTks(+CNL!~GPqfNf4~{P
z!`WX_(w!5n`!4gV>K=?erQ)p8zbn(li>-=ZJA3}VPVL?D)$>>WxRY$SV%}|o-&vo`
zIQCwCn)qnJkAP3k4DVEOxOmyEm76@buKLZ)Uv+FlW!;&$kaLVr7wNRg28(>@^M7~i
z<-@Z2N=3m0`HAy-K0B<ql4|gCsnF@wha|QNtbFhOXzp~62iHCY+}--~>F$!0g&y_$
z4*Y$j6msPKle~)zUp9rC@OlOd*(_hUW?{$5BX=?cj)>3Xnk9T&s7k_+o73{n`;13>
z9&rEM*SWmka=q^y*`oKG8e|G}mTG(X1o(!{coDK{M&aRl*Z5M;MbawIyKY7lU-mrC
za&uA08vT6JC#C!LD1PnQe3-5C{ZES%IRS4Mul#i6$IZ7BRi%#X>;HaaQ&Nsbm}JZH
zo>lQ3yRIKKwtu(nx$x?lvs4Y|gepA?OLX6O!c_2rX+T_h$~pDP{33}jTzd9x+-_m~
z!=tk0^Nj8LzX-h8!Ie_Kl&3T2+l)ttW@p#c?~mJ>_Q0b$B5FpM`|18!zIF#w?B-p1
zz0_^@^@c~ARc1VR=DP6GT*b7;yZM_hu#{Lvyl$(%#&JwhVE_3WGx8>Jwy@m{nz7I{
zJ2I<Prr2zct%%_6!|x;8)=z)BHD{m3d&$BpB@!o21%A<7vN!h2{HLi|cQoohuWVR7
z!$ML=W_I0V4Z-9Io*k2m;&QLWe&~`u*Rxe`GE2EFkKOy{>z5i&6N!JuZol1gul%u}
zs`K;Qxjq=iUOyhX$lB@IJl6PD*_OKcGC3iQ%9HDbg>yB(>^P&M_2<;TM%lA>?ewZu
z?1N-WXZjmG^4KBAF`@8J+ntBUKGe<?tbfk1qAJ{Mzo}i$&6;0@oOOFo@?P4gDS7*y
z{G3_aCuJzC`=^{VDc{w&M#FfKS?9^9T_^wkj=1^J|Bj}+d${X5ExG(RpIrZSD1Lot
zz1D{1%%cURx#@!4bKV&(7cRBivi{TMAek&3(c=o-QHPW_yop}o@VIbxLa&e06vLHL
zIp1d1hjD(LuwCfxj6CbvQMwlv|20=~jkr^B<!E=}d*#_%tc@L9_P909Uepo#V26%;
zsBQON{(A@Yc3#@1IpObu=VJF?$*wx&{Oj<G+Fa?WO3O~U`o5CdJAH1daHNKaG`qtm
zp}j|q9?tG%v9NyJcXg5)ryrvyKmW`0FEb{cZN8XaaKEnp#HR~xK5M?K=Kc`e{X63V
z>#pVIS07o<t@mGb;^p(_%!1xe4p?pP)?Ku0pH|anlk{2A*~xLAP8?X(u{f<n#n#f!
zOOMCosux>xz*2To-|2HLJdb#KaISy1`8-REdfbs~2hXoHW%bi}zl`5Tt)nJ(`}s2K
z>f62h{+>ztqxZDyvSIzd>^`T-#jBDVO13Dfy}PrXQ7xrfBd+q-KIwQfqwkrrYwh}$
zHOgO;&Z*6hVcVM37?JzZXX7fSmh~%clnNXYm@*@bOQMzKxTaUbHI=}S>zlUD*>Yh5
zYi7F7h6<6yqSvN70~;r|*k9*McGb%6jhpIu!B;%!y58HhCR;+ERqnV{AMq*CKkoi#
z{`0GEyqWv$XXTlxqIV?pxeG)->wnpCaZOn<`x39;GkhjUU+B+&-?jg6|Ez^A{z_B7
z2(Az|UnI2glU4sT^`O#+3`d#m#oBWYOLywc+E&VvaXm!y{0lpOPKRaRdh+_dbL7RJ
z{m=RO@~z@hneXmhem5dHa;KP`*tM`eQh!RY<iow6HaTwNGB@D$>Al#=eCSz6mYSCe
zmxz1p+WDdDmPP!mm|*jR{{y?aa5sbCjH*picWMvrX)1Jl_3n8F%e~hJkF=#qY`Rx_
z%4PNWyr;5~OmU$Rrhk-vE~s-my~*)ej%Rw~x+gvl#NP?+y<Bu-+k9EujbeO^R|Bkg
z3hR$Cx4c`@@j2s%;~kYrQ*BMAZ=W4ABR=BkzDa$zs{>Ad4wXJ%|2_P-<BSW+UsrwL
zQO!Kwn6~4jNrTJxwrK*FpCs*L+<C3@^yB9uvF5f)p|>6>=706PW>Te-&-ec+lO)^s
zy{Gt@78_1E(78=>x1K$7*PBng){A3qe4p;Tf5q09*CLB6V#U>`2n1F}=Ukb=5@GiD
z=A^hu%jVD8`=3Ll=3K@vZL90y3{yk4?t5JF{j~n+HS4(FN%?!EpWU<SXLLY$@4BKx
ztY5PdF0Nj|@NOe_WB%Xmn(O|vck!ED1@D7lG@o9Wz#_ceZHnML8D?`slj#ThghaRh
z*&rAo&17yk9dt&nprNU$A>v$Ib5o<~ip#}BnJr9Brx#8U)T%FG4Ve;q-7NOfT%(fX
z3bL2(u54&H!oYl($FRh^+<S482?x_91rKk}a&x9dOP-kjy7GI^|NYm#uZ?^?uXtT-
z`up0qXAdn{d|o-5c{7vd!370!3i|sk9O8ogMGl<*-!XlDJVSfyQ3js&hJOx)5j_s;
z@)9IM{@6eHv`)d>f+=`IeT(uHlf;0AS=KBJH7pEV-OR2>e*R=+`tv8LUh`1QQAVz5
zatYE6YWfbmY^*yUZa8sx&feIAW#0;1rtI%yD9h$!2=MV~`MurJ;Tq=?u5H^|m`rpZ
zep66)amn`PaF9>qWjna{|I?<}OLBbWV$UCc{_^F?){>&ftvheoK6}7c(NzEN8-wix
z=@VC(Q<#5D)pIy~iSvuKVVsOuL!<4DxBL<EY24qpl&~@iFtFtCHtka6xwFtrA)G<U
z%ppFMdBIzrrhg09d~9bje{lX1L&Kf}`|tkE{CiqZ;@9mPmu^Wtdy>QXmCgAr!?pwt
zjs<I%9OVAqRLrci&}_emu40}+%ig8!^{Ns{nXLgo{uX#QOj@INKxpFq`8Rh)?rxg<
zFmF#@!in`fKkIfnibM)#Df1T>F*!cWv)F%cIYSw1r1GkFXTR@W+ZQlH{mS?L&AJj<
z$-lK(rOVUpoHcG7m0hyx!*VvJLqFL!GaqDh`t#?HQj!D1308(ro3=gw{q)X(+mc_R
ze@MI4@40{fy5uvS4X#TVKC$0!5~#P>mp4sLf#J?o*(dLR&u^-~U(n#tz<WcAZv)fK
z#)TIDE8Gt#+_rz$ac+0hUWR3VI36)F{@GtwKmUxtolT97iueAn_@AdYe_7+Cjh$TA
z-?#i1J9+Zp9)^83{Vj|(Oiq6o6!vr2JFpaf_`iMn{?GsGwZGqA(Wm<3{PvIk9|wwN
zaWi-PoyfGPtbXakkLv0-{>zB-9oVm&aZtd9jq%3+g@29f6zj5&u>Yu6`=3Agzx?z1
z%AfHW|L?yKENXYC^S)W%`CoqJQelZlf0xS~Oe(iXQZh;G*xB%J`zzrK^3H2GH!<$E
z{<}RyG_P|8Pvi>OC-3W(n(j_H5T_t5YjEe*KYpgaSD9O?IV89)HSTPzUn|MLKVkm=
z{V5%ho6B6*2${Pquj_W`2>ey<;kv@~%(LrfI5{|(bz)<6_ZABDy5DJG*ynJh;8w$)
zy3bMvj&rvj6jWnysrttdJwyB4`Z}hcj5W9X6s%9jf5>-{;CR5ibBFS;`VZntUpNk=
zbGuFWoA1EDc;HU#e>Rq*3^g57zn_;)e8^K+{`<HS$ARZ;pB&yy+b`(I(v<M`ez{A;
zj=kD1>=!A_WBcCn_i>2Gf#=Lcf0=)T3$D2v8!OoT(A-l{^w;Zu)!dB^aSGXUc4p4l
z>axPwH{*5cR-In;^Vd4Au$;a&nTM}l?!M)9v+vq9XH5E5%@NmL_k2?(^L!3*bCH|p
zQ=YxduibBUHPOvv`HO8azwbt<yzI^0`ru5R;(OWJ-=W*Kwe!uMcHAND_WNr`&uiQe
z+{*cLvDE2o@$$f$xiyo#&*!DCzcp`D>%tE&b??5_O8m-hp8D9Pux;b{rf&7fdl66l
z0*&gE4phF_VA0vXmqYFRIrWbC-g}o<s}?@|A%DbH>x*fmXvcrcr<+3(6&_r3JnEC`
z<k?>3W@B>fmG<`ELA^=Gwl66-TB=dowI{dYtfnZ(&D8HVFJ0PQa`$)Qxl=}3=lonx
zwtKCT65f4j&7?OWXD0M0&ZyqAV%wvoznqtxJk=X*Em>c)o>y??!R;^XHcGEPn^7!0
z?S|j)C6nc*%#OPr@seNt+p5R!0=@=x*Imi&nNt2?=N+EM?B}*#d6ei7X<Msy({J6W
zUD_^AtkE?cceOp+{nH;<eT`F|{LKA+!JL0fwPw%0YUJyE(8nRcinne4Iros~CPlj0
zxtoraPu+C*XnOklr}e9PtIT&vSn|A?+~s!mX(z{?fViMduX8Jw7nbiRELgebh)0fv
zV(p_P6Yf>6nRNM>gyE4zqSuuaPo<R_^)Kyl6iUA|_1eUwtLdA&()sKX*5%mb+4-^r
zM+-Hb3%(m?UZTIgRin`1$Y1$;;kLJGx+b^uxi5cN*co+b(VEgbc9)&&58B3EIVS$$
zkM|YU<Zq0tq^uGbZ9AZR@u!Oco5Hl?KA}HbzoyMzd*WG2z{LyvjWZKpE&0h*&&=@e
zuAhEf=JYe1W~;>|HD!N#>26$M>!)#Z&ic8ja|PaZxdq&xq8`mKYf9PWm26A5-d%d`
z*YDbXm5txMns3^Lr|7ikpVI4ea;&T0KJnJe8sRW^#n2GJx0|p3{_S?->A_bOuTMVn
z?Y;YO(PTm0Niwsh$|i1nC_O1c!%sV-P*up;T7PoJWKONWTXP%I)P5;1vF4v!;*`_Q
zx>|j<<qM-fri(X~cCnScW!ZPdp`onM`L$QNa&_d7`_n$p{dlQ&g4Cb-BfqYRd(RS@
zc(I<V@#>b|({lX&oC}5Qd)3S`m-8msS;Vt(sn!cS#_?t>I&#PKq_fjP-MRkKwmM1`
zr;{a?U9fzn()%f6$-4z6Q+QuLP!CP1cD!80*(vx?WBNTA-vyu67SG$x#Jcv>iuUR2
ziv>1rWwVU>$9iFN>G$B@mn;lR%_Bw17GIjTY?|!udb^@8Rtip4lbGKwh>Thk>NYuL
z#e)F9?4?dS|GtcDVw#a4-`37`^yuYE^X2z{dH#Rd#I$SW<LjSqu<W+GtX$!jex37V
zwR5r7%O#J`Gbe9jy4YLUeBV{?+~OHcd-!-KmhHYZXV&A}=jK_9MDbf(Gu+*6p7dhs
z#B;5#&7$QzvpJ*dm)+|T*f+^0BX<4#N2ca!wevR$_|4{sUM5&v{YUKm^Mr8k>Y&eJ
zep6RC@8+NS>d2vaHCEhfQXeg|vGbPJ^7`z2zVGGI7N^&z9cS&)Z(;I$lNF=btX@}~
zJU8N$rRLGy!R?mup5d}bpJgv|_V9PO_w$O&cGa4{Nilb9!uoAyAE}?G64$lh$MbV<
z^cg;M^6mfSvsTpPqM6t|UjHdU(pC4REaFQKq_2~Hym(*qoh6(c)80gI_3xgl;{IlW
zae_})I`fRS1I8QAoZfmqEY*Kb>`Y<X)*$bBf;?8vO7ZSe&W-Q#=jQtKv+*nT&3(Zm
zu(#Q_U*6HMX`@(N;*qtx#rS8|uQcrO*&my{WW|g-&tg}E$L_ZKY*T%CmduNDMJa)k
zm$sz;TOb*_DnVE?bGk{c(RTY7yF1%-n_JV<7CuZ~d++hJuNko+Qv{iIoOziLzda?m
zWl#29-lwl7`XBt3)^#W%g3bD*<%#`S@pFW{3q?Gm3^msLJ<}%>-t}ThaozNDujbUx
zH+<v0wY$-5(@eHwn-`SH1l?Tt=JZCco{xEFA5Jko`(ukigymmt{oZHaW~}(g@V&7;
zO;J}YIr+17#fc?J@fGZ+Qq-j6(k>qP^6{YF#Olu>Gc$cYi}&sfJ+!!!`*wB6b9wHR
zvk!}EYHKgY{OWs@oEYoh;NKIz=ELzt4$G$)6xE+u{@ly$;>zcrx^Bf~Jq)+t^YU|D
z_)R9npZ!+A{R@7zogIQ}`Cl&Xo_W9e<?e@lH(SMp(_#<oR1GxZm^5$ut*DpIO%kDZ
ze#Z6)oZRzP?y=&j<)uHgvUlr!TX^@yu~%Pwb<H+vbRGQK<lD=<RN?Tv!0h5<YAc?d
zF}-yp`BIB?N_~ilT%X$6{^X`jB|nz9|I|I^-~XG{L)P=ay}<V|DO*=gSnbxbpL^QD
zjqQ`0|9lDCIW^6E<Br&Sw-VFCk64y%pZG02=);L`ey3_A4<7bX+i#e^oLlZ-qTIWK
z?=AUr4o^9^cV5iH<6Eb0uk9!<%dR;kp#J92WPw$l2g+QEelJr`tgmYoym9?>?WH%*
zOg}h=?pKi2-EIAR(v27MF8;aTnDRQX?@>Cxa?cr`vMn{tpOwEB&#Q5NdE-6v{Y`3<
zDzB^L)L1UNHfQ6LH<}xEuxOVF-{IXTUvO>8`$cOy<1LqpczImfxMOd{`2)?tJM0vG
znN-g>Ju~#f9mUBxlUMzVxxGj9NBzDF2W~3+DW0*how#MU^kh4;Y{vIjx-B0cR-CT;
zq~x-;W#_B2+dR^zUa=Ali2q@DcBA&qscOD0{0;@Bt@q!^>F-VWk(oB5=HjOZO13BK
z)VDE&DpcifZoR#C!fvP5pQ5wB9OL@7mia{MpCa+ipI@z!klns(>f9El)o-7>oSL(4
zQT=Y+?(55A%hcU;Qc`xZzX@BXcT6wj-H9~ir&=XtwZ(TmrsU6cja&XCylemUS(m4(
zZg$MG<(WUr$nUq@AK&W}@Akhrt=`@3@Rw=dzk}R?r$rXe|ErU;p_1Rtxv`?Ht2xQt
zs#-DjWy@sqRGHfsGt1Uw<<IDU(e2sUq{hB8{I^)W%$Kt#BJ7#@r^M{zDg5@nSdYi%
z?4urkhUtz<buVsbEuFOF_pTWilEODGJoRPmtp%}8iY2}Kw)ecc%eDOHiSM?NH!e4Q
zU}b*H!o;<4&F|&^n!YK-#&|4m?eNi>$hkJLJkvUU;hIw8=i)+3f^MEmZz>Ur65dxT
z@ulf|dw$-9mUH!5X4WRFte!8C=xM2t-}3y|Zl%@hV=qq>-?it)mGdr7Q!ekGbm}m_
zP`-SFwqo=T_H5~o0dj$?X9e%2X{vhG#`iCu{J^C0s*w1uJ3p;v1xSi<?>Z3JGe7Xb
zv{XBWo_Q%g|L)kUIBZ$Ax;<;|gWzznI*w^s6K*WB`1@LG>BSXnS@m|)p5O6%@^tHi
zJ<Nx4|6VOMR|wkmEcwLA50}c44o*G!>xy<!4>R|Us65M=-tlSb%Wh@fn;qi*z0UHz
zl-jyYuYwkwYHWKNzWTh>$A&9wSDab%UNJp-FaNxVi{Y~iUmO!WYjMNLP?&A*+h)$~
z52nr(Qa&#vo_yZ*==Ytq%Gp^<^6CSxa)>yy_{`rEobfI6g<xdPLgCjo%M*jSqt5OA
zv8nVdi;XO+)spUh$DQXcO#Qqwy~=Ip<rCXHm=yEM`=h4EX{@{_y<&~piVJPF{%%(1
zKb^?*{~fhU^{COo?456W*T~Hi2z|L$^Skh=3(MZWd-3+5#+N$BgY4<MDkir1PN;g2
zRG-SC8FHP!zjW7<o%@p)EsX5H^lPH>YnRt^ZoR&~qsdRXLVek0*=3r4ztt(Hl~}4c
z&DM6dNXq*9x6qgW_xWYZ)C+!Se_U=Bck}O!C9k#|SopPNUG0~<*;l9LI<zkmn{K9g
zd+CZ*dwNU{haCAG*;_w}h5L=+slE9(xUxh=()$lc)z@rG{BUiC+-2WS$!}jDyE;8K
z%J<T0i&^V`74m=lc4L)&^p(#kk{cFTp0xj55Vv@@j_|7Wr?$*k7Iaj3*YncpSEZKx
zn4<6_k4LX~bM%XOQ}_S9Q;|Ap&;F;I-~5fbz`13??bNl4lpoIhbYc5;rNwtd{Y*8a
zyN>?uJ(SdcSuM}YC8Yk)%GArtHEug3FQ2+kI{x0?zR6~@B(7*ZD7$89?h)D6v!^N{
zd%F6<s_WY>%~YFve#TA(b3@yO5B@G?3xDkJ*|6`CP<j7?(u*a_@5}LRtrx0OvHLac
z%2hwp%)cANXHNY!@xWO@uk0^de_osTb27JybENXb^0-}$3P#J6UAHPm+tn+k*fu7`
zw7+?3_h*;q3Z5>ZgDKOrv}g9l7fXpJEsUJm&To=Eb;I*l%+F*y&u!Y4?x~u-Vv)1+
z2d$=An;As)l51YH@IE<tx_?Q!P}OE8yQD?_lPBz1TIjvz+*`j3{9nvZ2|o1NcWl2E
z=QoL?LU(&2iejR5{+_$=f8wXB&z<Y_>l>zYoaFy6@MzzhU3+beUr%?9ms}>xbn4NP
zzmcAtYv=7dn^7{8QTv$9A_vuvUPZfPJ%3c@D%pfCsnD7fuf6}M>biL*JLRW-s(br9
zs9_TCtZA{50^XHNDrY~HF_p}$P}`yM_3*(%FFvK6cjCBEy?0ttCHLYvCPf-IHv7so
z)$NF_5Bq4Be}Z+zm6h4Qr8>6Vx-2wV?VHZq+xyNezxGD9YRXUDZ}U8EReipp6Xj~P
zMStsdo!<913v;j5ENU}5BX4(NU9$J;wFjLn^A22QzQW0)-V)umZPNGFC-RcQkNw+c
zo9wgPYr2qkro?9M%`Xp`iOha*`$KiHRieqQv;;?=eMh|N&*n^wb(B+MJ+tSVqGaH_
zz_`z^ZXbQ>+?ljyrT(g*T^7v?r(f|ZDporh8hB=&@EOCi67}t8JJv^RQnNatAISDS
z{Hw?=`Jj0#x7+HkmMi%$(r;(a=J3?|eBu62TS8inKi$eSLxIQfpT3{aY56sGpP4Ei
zzt>`U#;xVK%Ovs5g-!Ke-fXYncvK;OYw|RYBR7*X#12)ZYp+=?#Nl?nde6EWFZ&P5
zPPsUbU+QFC7O&~9^~=vbnrm-jVRhJRik4%Zm>Ii7YTBK>sp}4Q*qSZ%-R65o#&V8b
zMWt%;E3>y9A{B}+R$MF6IsDx(es_*Y)|ziU7gx@&dVS)!_>W~`bJg^|9<G<IIwz*C
zRkh?+@2`t7o8+actL?Vj4W5^>OYnle#euFz2^a4zi*ej?COTCnzA`zr>dumFx>0l7
zDs>K>JaMW)#KdS)v}29r@l${9hW~sX7})fs*hBi^>UBna6Cyan?E4FRYfhz|Io-Ez
zPx|x9AHRM@bg}-B+K_xa_TKFi?+n-4)X%aAoB8}i%i~{>8<Wx(G#%W$Yx@1whkqY;
zOFnV=_2o6io0z8`$gSl6wP45ciznWmc$@3qQ!*#LTy=%rk~dLrDwSier>>ZJzJJq=
zPJ^gZ$7JK|ruF-=7oFlynYw0$&~vq<iBSjF$12MNthqdY$Cmg5%}abk4}O`XXO=C@
zdTgHi^ZJ&^($emf1NQ{<W^Ot=;rTz;#{qiB->JQ6=KPwoM?c0q?`&Soo9idKre^+i
zSXXd%%Hf8rX}V?+m4^h@=dX`5l6!8^?W8LD-6MDR!+&ZY=lJEPv-nPAc3U;+N5I>l
zMY^U^+g3g{zyDm(pDjOa*7gq>ExM8J$r>lV=R7Qz>+yP0Z?)+DACJj918SMJG~E{8
zvE&KUVw01ddN#TKhWc{cvFq=;9^tyYb_)BcbLlHr9o?Y%<I@SJtQl`r_gNZ-zB02D
zS+srQ!{uf5M?&4~b@OFo%F>J)?Zu2=vj5Szo~yReH(>uasq+e-5=%eNsINW~RPg#=
zr~dQIN2{yYd~!cCF0`$;>0HG3aO%C2c~=iEx#6QeFHV1^@RZKh^PG8)m&vnEh+4cM
zd25F7ljm#V(h5Wywlha>`n;1ZN&ocog)Z;@t=_pl>Avi7IZKBq&){HDI}hH71<w+H
zx}P=GEn-?M@43EvD&G#SUit8)9<QqFE7DRe61u7wu4TSAeR)CfTW9`-`g+@Sn}qjp
z_eEw_pRRxP^_>322YY5`HDxZTS1j}UZk#)H3+sW{wHeO;+yfVHxcu?6yweB6fJ34u
zH?v5!{p!CezP5b%+8etRzo&%Un$UIP#M->o+gIKC8>$jN%_2?Kk+1L1CZ#JA@>`Vl
z)m&c4zwg4br3p^OVx=m}cUvj`oVwhwr~cRO=g*i5U(FMgn{1z|8Z!O(^ChpGcdrO^
zIHmf}_%8Pi#bWkpkEQh8BRiK)c4Di1uw&Nj?Us8arb_;7@atGBfA3+{vsp65dP41z
zReXlG-W~V4eCyP<Sj~mUXP>td-^c&necI{$%X^~)1!NNbEIab0EYfy)(Brs?!FlIb
zPAR+ix!&>LB-8H>TW!B<d#c?Q)1PL&u3cNoscHS?J?p>Qy;4j(YIt<{{1>}TkF^)p
z9<(XdNX~ryHh%WLc{kq{mENpc8a7w@kKx8=uBMLZAJqOm=U%0IhI?xBm-2(>#SJ^Y
z{JnJUhR#U|7oYRXeIuGHp4wbF>cmpZ+_w6LNU)~D?B}l9_1^YRj})}NwR3g;${F#O
zzkQ0yrq-CofBxmg(Mwd_LVv9adr`8*Qj|4PN3HE*Q|aEt9u<rSV-A=-neh1hztacP
zg$^s9|6;80s>?`pex!y$)xB3neo1+H^JO+kXwI497JB4}dHUqm{(SRFc_SCE50k~M
zZJz5c&G)#S{$Dd}^N#wu<mR&hb57|`obX}Nd6Avg&z=}g=FYjRc26h#cOiS*6n=j9
zpS6{HdGDr9yer%xZ^Gf7yo&Aj@3x?(MW-shZD!z*K5P50BIA=n=H*-8^Od7J-(8nJ
z)V6fNqIt6qC_gPPdV8U*#sAeT=fIujw@R*Wj9hSew(6HX3pyVxSs&|m>07;lt>XKD
zmrH&6uix!eD>uq1b&rwtyC>;1+lc?@+|S2OR`q?~5EI2SzncFs$C{+QJGmDmO_f}C
zxyifb$i98Mr#Q*3tSgvfP|x=J*3XMGR{QKNSG2ZJj9R&xUGCZCv)3Oiel8*M<MNqy
zYyL~B-(Co3-(~(>ai{3gj_UWX^R6B1O0T!bS9)c$gUe>#yU8Z?rPIZCIEB`Jm-^43
z{NSqQ)>x0UO|!44D)0V0Eie1y&ull_yM23;YQ-0XUkMQWeopQ}nZl)zpRT)SifjKZ
zkP2Mzcy&*j;?dbcW_P6LSEw%kvf5|!sTGf1)tmM1Ulji~^T2_;$uE}he7n~kdSttt
zWx-p%SM}|W@@4iv2@Xo-W;?W^&${#-v)bpv)8+T~H+if%9;0(r?=COX@A=o~Rjodi
z;(FZphMaju%X~3yF7Y!0o^3q^y15n4_MCgPnM3bM)v8jVJd;HmuO}|h%DuCHuJhA(
z8b0@5@5&0llrvMR(U-4$;xEq~i#0<_)oY*bQ<g~3PkOnaz9#-vr_EoZKW`HbhNOL6
zJN3ny`6uGSAH3Vg>M2!dzUfW>K7OXW{#3r$blJy|GZ#irRu(k5aB64&`SqU3Zqd0{
zM7QJ|j=LP5%f|KjI~%9b)(u?C=UnCLTDwPj)(&gwIMsU<tN!@i{t&nSl!nV1lYZUq
zP|ayCZxodH9@F@?W$op9(YNXz-N}-1bH4t}y!k=kVdgz|m3XVwTX$^E&Crc~=kh-5
zRls4Uz4BLQ+05Q{b?wg;w>UeEiz5%e-Bq!~foG!qnch7OXG-;J7)pL8bnn^l`(j-|
zO0nMS?Kie(Y@I2`zV+@B*NGNK6`dA``er{}q<TkwDwpAG{Rfis9-nky(eS<gYpDON
zOG_pD+dpJGY-o&lw|Vy4oC{j2vJn=-7cM{fBT^oE|F!%3i-srH{ru-Q^GS6^!nEK&
z4h~lyZswFX4m$Nh>HXJ8(f?=K^xMlV|7jikYCgF+duxocV$suAB?3xMC#Y;ndfzO6
zj(6v_U3YT&>nz@>{h7dBWay_-Z0EkqYHhvs-0(x6XQU=_=p}zTJR@<*(=1-|QvMFL
z#LZ#rPA&G}o?QRcK;I~PYvt=nx=~gwmBBiB&p(Ix_^^I>_3`5xWeJNXw=3kTqaXgd
zd8ELudhVfLT}#itZ|N5Mtt<N}rb13M?#bul{A>GOXC;2MY^ZK7<}OHB|Lf-A!hNdU
z-&#90>z~(T96x;Xg6>i#wNBk#jK5ib#>u{2rLMn0Y|^gM6=`}!7U^F!{pM%g_n#|!
z@yOFNcCMvmi&xAS-Dtj|)l4{5@Nw9)*(GPrPkXA+TVAwDYodW(w{X#eH#uwku0Cwf
zpLEweAZ8)w+w>a@_obYt_ttVp6wl)Q!_=86`P;HNWocIZbDhOyI-0+lxTJ%=nCzRt
zf5(6M1+Nt8um_8bB>KO7%1H~boAn@AS>NZ%uO)5OJok?#p7=78Pm}-g?^DLfm3rns
z9wj<GY+n{2JMDOPmD1|Fn>SzL|LdEz`kt-k+=pK#Pn}WmaS6}qAHj-`kG%PAw}fXy
z-l+}!?7epD4wp<=e=e=Qd(qCLd3}`}g=*CatDTgtYumTKVS9JbT<!c)4%5jZ{;zp8
zp4ELSXj(b*=i}tK4YzD6+CDomhF-S+nHrK~&^p0hh+lEaWsgN$?W<pJc04ZS7U#SD
zFYn`(LF|X`{ocH2l34V$39GD^IJNPwG|4LXXRuWK-Ib>$g)@udoSvBOK3D%qVU=s}
zv!)q>W=?z;s(hHH$w&*I+_O1-zWnBmVrxHkfB$&D&uYy<sYSNuUg_uh=6<Wa?R?73
z`RyH>6U*kDnIZT8Mupt_{A|xS$ykqTp6`?joz;(2=q=x#!?6FT!RPF{+AkvV;^n>f
zqZ<}9xvi*w^;h6xZctPSBezeErB}&>dbh52=fspNrpu>fsXd;>JvlD?Y5Sh~*`^6)
z>)M`wJD?}(?^$*A>N9RhHp8clo*Z-gvcmnYT<_d_+j@<#id6o-FY|buMZ}iw-n(?g
zho&vTO<`3I2UZ{8d#hrhubNqYO}KPR<}~s5OdkqNc3=B7)y3XZJn|0j(L1bv1g7&?
zXt&fK_psc_)jKJ7{X_GzxWctpKF&<)Sh+(ba*9s+RGl|D(h`-k_r2V${rjQF>i@!z
zCY}&An)9mp`l{G_57dGs)o&VoyZda<v~Rb!zqoe%o7U2dUIx?B%_%Q=PlnBScq2nt
z_xX*T6E~G~Snyt5dHWM{YUy9kcd{zGE>7h0-Sad`DQ<23j-9Nb-S4+)DNHu`+G$x8
zr}WIu@|fPGP$T`&WkIIhq4CSUtP`@^SCgiCE&XT<`!S!uL(I!U9T(33p~SvN!+hs$
zx5l?eUwCp&bh)X$uTXSlNKDZNj*<Yztf|S&r3Fb}vp2EanZbQ->4`q|H#5T?hdb|9
zQ7aVqVV=tQPVaNj?)qajaf>vXq;!^DP^wlc3%I3}@~wg|qm4V?!03kK=c%!)wI1&{
zF+FMVa+CdU9CxXnT^rwFq^y;f^X7Q`GvNh`(w?o(Ytwo)*L`_&q++x2L!Ojb)xzC^
zn)C8i&Q8cW(&AogU~uxeWox0k@U7<E<-b0yF-U0mquM&Dd%Dx<F7>GTj2ZqFa>@6c
zKEJGHnY`jQv&`!y_S!poG$i=mS=*?HRBP^zV}8iP@aRZ*fUUtK&f<_s-_9N0S9E^X
zErYwqkLj#C|2uE4f!Lper!@jU{fKV;ZMN2JcA=IUS7TYT|IYBzbk_pyuM0mf+k9wS
z-PFS4hy2T=Eb2vsFHC(bcEP=FiDLcDo722ru|DA8=U$L!(VXM`BQ@x}P~wuipE52_
zyQ#mj;`x@l=j<$AR?p6uu<&Zq5{qZ+Huu^I<)4sxT>tF%JkdE>8;jyLf4$1d>Un!D
zGxwQ!2it$LrFNID>p!x}T<g78r`nv`HjifLpWWyZa8q&d(dWs2`&LUI+ZomR)z~oj
z-0AvE!?iEOw7WU#gubiJxgr+7dwpR1)8i*<T-Wxq{Adh5`}^Mu*^OoV)1~%q`;u^N
zA@kC!Un+9WL|59pRLzx`&)FoTZ~R@m-#DSVCFohLLJ`A8H{&a(nCe>VPKYPZJ#qBy
zg85q-?fMpmUzj?9W6SNBNdmuSNUAO>n8>lTJSzRg>iVq0k9F(zdQKPenyG$#t48MP
zmD(?xwyyrXB698*RxQ_GuOd!`<{Z59wDHr<yMML%HW|!*W#@Ny`@8eJp-ygBma~dR
zKmVHX;mqQSurvIVl@k7i=Ga_n)0p)`+B;ZgN#bJj?bjatvCBOkT6^o&){Oa^KiQmf
zRx~ucSf|n2aOd$4iTX8nPxntbw?+2Cw7(bH1kL>A&Tf7vm409SvFh4yzph3vzar;%
zf7QJAm1iT~dtI6wy?>>*n#<gKi90qeKE$%OxL@Gzj%9cFL+9ESUw?DJD}7J(74Mtt
z4qv~)Qq}bA`+}Q)TOD6JR0wYTzGuaoHT*MUeHB>vlk^sz-E(89jr8o@Pwr^%J)zm-
z@9y2uBJ0+4)8@-Ti_fuDOtWTRE)siQbSC!u<M}$;ztaCR3v8I~0$cQv@JT>?``)*L
z0V<5<(*^DLgoO<i49(4r5z9O*%nZTHJeVxar(f_C(5mm<!5T6<R#?}kG3n^mih}a;
z?T_9`HMOyL6ll11ZQUWFE%N<Q)DqX|J6l_mj>dXVoW1YU-uu7*{*U^;Zp~Di^z-v(
z8mE7olhWGh=RV*2oLm-rP@B_(n3_9#9x<@`)&|?fG3c*nFxS_&7ZaY`Xe`6?OZs?{
z5mV)%ISU0o{!h}VuV~77$l-HQtWP1!NwFb4E`eb_LxX?B9DkQN)5Q;*Kdt@ET=119
zU%-~HW!u;@ikRm)Dk?~bO=h}s_x$CX7diV*eEzQ7AbNuBfv~Xf!#{^*6`r$wDq*|j
z#4u}Hf%*h#CFKiZJQv!T<~kPauWwD5TGDj*?$OGMnwpv&xpx!p1l0SxXPWsn^c&yd
zT)^JcXtUSxTf==-<}EpQ9qOkZ>pjY1P*BwNH}gWf)q&a^TSo>KhBCG$1%sAu@gs6i
zI2}^hU#!k#*mBo#g8fOUdLawOdRe}P{@L&CAO8FFPxgf5r}oXd0vx5q+gpEFI?FKf
zol6jKh>mQQe#iZs<%ZLndg1!qg9aLh?q9ooO)@9DUE$Bh(&&awbMy{~1wM@bdaz;M
zxpxH;=4T}T>~@=XKT+WL8kUXW4ZC(WDilaud;eF{s=BG6qxk#dpR0GS6Ij8o^5Ff{
zX5%CG9+pdfi+g9&CXmjrKVjCRco~+Kul&zAnwVQEj<&S6{$NnxXE-7L;>c&~#`?zj
z)-U)U%Ns0eTfk7h!ukMXAe+XCn~W_#4sbQxtZHT`@YfFrI8ZPBZ||W;kC|^+Ge2ao
zp0L=M<@Nj*91>4HJeRsy@1GvuV5#p^SHp1c{`&tmkxC+I{H+at|1JD~F-fkL*VxqA
zwr{`Jzy82DxmVmA4<3m#7j$xdX8Q5tM+;-Ul9E%yg8Jh>&vX8X{VTtsZ|&#!-M`m&
zWC^fqIJ`NpB(VH@x#GQg&E~J`HzqRwv2GR<S(q-+@Kye2^arkwOoI6}|Ia&rXg~db
z{<nJfpZib!uP<NnhL!DqV*207AO3H=z00!s@4qC4FK<}g&$OwD7%EQqzf`LEpG=1D
zguR=m-~L}8b@jov4#|nl7D^@Oj;fzHtNla$9ZzuCH`bf4Ee<#O)n~nYpQcdMFjrAQ
zR^!ai?|Yj+JbL<9UOMSZ!@7>$tZf-L<<$g|HvO9$&dJnr>%W|1onm6c+U3jF%8NNM
zc1#seXy7+o{Y~M%y$auhhiwiIIm8(j9aCsvz9Rg(Jel<eW4#TB{tAAHCk+2{e+i5J
z;QqV0v;J@m$Hk8~ZZgFtCPdG;Y;T~i)G>FtuE3Y|3N?F}>JR=GcI9AHzQy#5-6`aF
zbHP8`H~$loIL@4veaHS=U&&s+;rPezf4M)gR8}aueBSOTaImaRL60%LrRm>cw-#1q
zzxVe;SYABi`PlT=*_oj}E@8)J>mTyri46VLH@LsqAGyCm{few1Yh2m?ThkO8*q`+T
zOj`TgK3(IR{G0nfj|!MpIM$W_G5@qak7=)stzi0x<2Mwe{(k?}e_NF06D#9Jv9yH_
zodwf(efaiT%F;`I-C4mcQ?H(T!E$+@hN8viJG&XwdB6Bf_2jRV{=I6sbAElvv(rjy
zY0R28`PaMG>e{8Y>nvaS?9jw1zpg#)-}!0ZADiD#I2LVe53=a%+|wDSZsB!h>9Ng*
z?xyLUX7l#eYF^Ua@b#bj!&vp4(>^);57;#J9a-+ZxaIh%rzP(c_Zuxuj%nqe74_h_
zVAZVU)sibD`|c|4FY4PpDZk$L-{t(fHuZYRA8v0yfAeo`K8xSytJSMoS1Wa#==?kX
z;!_?~-U*Xc((JR_6b(;v$7)Sks&-+r_)b>?{lzyrbpFpe_5S|^3xx+)U#wUv@X6)(
z&w|O}wjmi|TFa|{PB~SjeENYp|GCT4mSm`(n`Pef$>-`fkLk@X-LEn|xFZ)5B*hR_
z`}|V#vwD#&OTL^6VXoZx()8D71IE?zkNwx@CK(I={Gl7X^uQwK``k}jOAna5bLKnN
zy?xS31|=>vC0SDuU90J#>lNAj-gP(GJ?9d>m2%=|+3Dxs4!%2)tnpaU^kj-hlc)Q$
zxc7NUn`d2kYSJjUdy>JPuv)%bsb|IJ3)_pXnLfLD)#ru5^{$6}!gA{7*xmDB&_Cah
zaLyr_TQipXa>$>hce*ueVwA2QHhT5Fd+MRX@0U15F9~vu|6ms{WnZ^s#cuij_}%|p
zw*P*fyqd-Oe6m~}kM`F)e#Yvvg><K-7aU}HzHD#H?cB=CCnqFNy!kZdXZ7KP>_wNJ
zi|ypwxc`yfwsX?`MZQn!UoAd!;G$;i<b$uTu^zr6oA$Rb<fZ)a@6}cjLECFWrStUy
z`#ayTg&tvlak%?{sP9LoT(0}SJQwkv{he!i>wL6<&F*&DS?B7LKF^Hz<j8B;5uIzE
zCA;&#*7phFECP=<p4l%V9I^gV%|RWphA!Duku@E~ie4Sb*7qb%*>gX1E2=NbICP8Q
z^a}k+&)&~8-j~&>xMF``q5Zx$3xBy?3G+VsIp=_UMQf1ADxF`aqun38E|(L|eR#gE
z=)$^Nho4tRPdg?zrEB4=wHblSnzU8Z1$9||F8gSF_@|nc*Kw)xKd-O-S?j+l>hywD
zD;XndQua-LawNVia@VcBCz$OW3fJl9_tbCASozgxYLH(yzfsiV<rB`=8!lh7yg75K
zyoYX+DaVAbbAH^rtnvKDT#@iz)<T!2LXma4j7MF)@2-(}7;=x#_<{jn`^M!rXH~Or
z`RW*+AgQJByGZ13;?&R$aZmYA7j5t0{ge58Qo+}vxB8O{OS1gquKQm7d#kEyp?g6-
z?|h?a^(S6P*?G!;n3S5T(Y~2~x`3~(Va;?|fgN>)3#C)EH>`}|a`Sv^BmC8M?GhLL
zIW6idrA|*R3t#Jb<+84nZvXwq8e4dU+9e%d-`A<!{`8Id$&%~KFL*6Ux$ebVJM|gQ
z`*{78FSaaL|KsMAS)OJK%Rk(R_E#+3$6*>Bevz|VrrfLk+AQPrh7t|w^@pcUFu8V)
zagXZqvbD*rF>&)BZl2&7lC%Ds>(%>HMJrSVp8eKtRD0%qV&A_73;Uw>Iyd~vxXID;
zNcG#pj?B{PdyMDzeP8~=@bjK)@t;j}rF?ExZmO1Cl_+?!WzuOYox<~6ZPS|e3a4BA
zmXv-mm&e;A_1x?4DPi@K@7_#5?7FA$`H3adN`53bzSgQZxv4eE(<$sY)5?o%v%fCl
z%N1ncvcLQ2#D=ikZ6Da?c*RXzDL>g~hrZ$A&<))AlfL}n?l^Z&ri@AH_*xE;x%=jM
z=RILhNm+ApIp5oJY<Fwk#Gh#VXuUyW&QIO-S0niM%&*eV=3FA^yRJ2$qoRI8%f$Z`
zOXNzmU#!w~Eh~suw9e-6(E7{u?9Vdh(5kII-wumbS~bgtvm9nVS~HO^_y4P9l_ho6
zr<i^zUdig)IP>S%XE#@>HfmUy)-9I2c1lL>U#EIv?%6Kg$>$O_e{a=2C;2Js>BB=6
zf3-3_+U;uRx%?@6wRXDbq&kynb1r1I)o<7%axiG0d5Y%Y1lh$}%KOUJ%>DQDNT}pQ
zRsLHX;ROK>S6u#!-@LQZq%S;V=D8jH?@l#rTl{W<zV~b1;QQ%JrwX^6a+=sTXGVhk
z>GHl}29LGHtD{<%ER>!-)va54F>_+<w$z!^p5Hbyo^#^_`|`36HU&kyg!dIZYA%~n
zzP*&Qe%8Hn1$!f!><)0bK5y{5{+H`>Fw@h})yqGG{#Nf?RJD1_+jakV-&aZ*hUeHf
zSzL0vs$yTx$#qn}_;o{y_$TIlZwfyq?=3ieDnGL9pB9(V7oUZV3-Vp<N^Wn>R6exP
z*|o~*c8~q6=%eyh%Wm!~IihKJCSUyK=8$hWWr0Oo%@XVDpSeF;_=eeF?h#g3y^_Fv
z^Zt9ay*2x?>DHTRi_GJh!%N;g{^_Js@M29NkJp}t7|F>?7e<-fUH0$mpEa88x__DO
zDz_)+ab~=le#`vRLJjlRf?^Z5KKt<6T3YXBRY{za@)m2aX`kP0y!G+4(T=*8)17Rp
zXXbBJQ(57%CUIG!es%r&n5{k1zV>n&=e_ezvtM2QcE>gSuM5_{klmnnt|#*2dE<wl
zl}_Ki_jY${y+f64*LG&U67FWd+I#xKD%bDkD6ix?|GC;*WQNTC7rx#VM?TstG?>23
z+;yd(gn8`thDl3q?l(UkT<Yn&i+z55XVGe|Q#}zE0yA!Wyk>Q0QMe%Ap?bZ0$1PpX
zpWT@A<n&}^?;k&`T9pe{x0Nown(-_})otk(AswMr?;J9H-t2!fGrLydt9Pqi!_t@n
zjYBTN0cUP~-J-tL>`}*^`OmX!FE{;P;?^Hok&wORk@BoMN4-7sSMTv+f9Go`lJ?77
zH@%2?^~9+XfnVo`pL`zu#4ISvzVyJs`ng*duPU#6=E0`8Z$seOnpe}UF23P?@33Ig
zkEHfTek$_UkDgd=a(z`zj*`UEkLSK@d~EB!uxHPe&)*e!MQz=T&c(L0T>O_Fz36Xk
zW320?Z~S_7Y%@11+V;BTG27o;GpTwCkF^%hB=vc!a%byvPS>bB`~TzcGRG;0iVXbq
z|5QfTC&gDCc`T%1`um{t#_NCQB^zh0|Fl5wY8(5j=`Q>9Ds%75n3JJ=U8bzYbaSct
z4cn~91lL~WSYwgK39Hp)^*Fxl`Magrwdl^4WLDlIThAXa?)_~QuJXim_auSC(!Wnk
zcFKr}YFO&D)8w&jm(jBQ%6BV7su{QNX1?0!ea2+^we|HAnkO!rsP$rHM$P<P{p%iY
zkNBQbW~Z%mC*a-987sCgzFWQZhLqdI^XKjD@5JqXDA1hiUZ^v(<NMB+-MK<`QzG|Y
z&n;WVwd_X0|B9R9?#3N`eBMrCpB|fWcDpZ}B~y96>{GMWeTDZ7D}P*?=WlC%f9s+o
zi(^lt3ta8kR9mjkUsE6R)b^{^TKAITKl5^DZhXf#x&FtM%ju<SKdZHh{JhIlU}}Hw
z-Z`ecE1GRD>^`ToIlVG)Wn234f=c=KtkiE^m%48~EqSl(|5o#NU<bz&PsM{OUCj{^
z)uvDPb^dUDKJAM`^)id!CpNKdW&Y%$<Jlh}v^jTDHw$|y!%6mg9zNSX*1PUhIX+LS
z^xItl;jej5R2Qp>{b$|0InnZ!tC`P<hfi-z{w3M`O{8gFPm5~rMbSIy)$Yr!!@ABb
zEq`|O_#=ap+vB5u?0)IjF`ZXApK0@iOA;6AxFlQOTlz>GdsFqIg(dc`ADfr$o^vjL
z=DifV#CPST<L$Q8uDMe#9AVAPQQMqcA6RU$>-63SYaael5q%MKP~T<22h|Xj*GX*F
zFE!Tg`gqnxw9eo=Uw@IN>eK1h6z}~p*%9|GE1Jj1+;%EI$L-FhJ>22Xk6K?iwr2M4
zmk&34WHjgazKx1H(fsw}x;rTw98S*CJLxywruX8{;$z8%OaGW%ViDI|6F$wTq3i8-
zM!Wv{)oVYtu&nEv!Y{jg*DKchr_yusQ{JAQ8YZx=tl~<qEdRrc>uO@=3FNr+FYMIu
zk+6SKz5els5~<CfdWysL>xciS+56Y<s`dFpLZ6T1&)<`~FL}H9wSQfz*6+E#?F~w-
zIkA*S|Ca1yzEjz<wMKI;#dv)yT@zfXqRbi*JbR{u*4O$iuO>6g-c*kIwy>`#&t#si
z{FZwewinI9Znn0D&-`a`U>e^|Io&kV?dF#Ext938u-m<~$&W47{os-v$N0ZYcH>%g
z`+C0X^4ODULh|0fV$-uLAKqBD;Jw(?vM+_=-{ln#Z<Xq*T72M7=?~p?MOo7(=A_KJ
zUUAU(*H3#npUYwjz4amsH)do=el$L_^i5dd73NNz?GBMDd$um$e&%dElWMrzZ?5|>
zrI&mHWUdI<z0sReyo8}}b)1RkGu!XUg}2*1(<I)tbnLtwS*|qw#Wwx8oDCw`sVhxn
z*4p_^Kj!*QTlVLRq?-;Lmcj-T>!v-|-@KsWgOk_mUr!hFS#$7}<}|R^&z!5d+T?GO
z#_w;d&*>|#TUy6-{leB6*-O?ph^Jp%_4=;G$1c0<wb!S$>Tj^t5cc@?=02;2>O>x~
zuX{dmMk>UgRd|r5Vi<L|Xi-CY{IA_cyLK5xalH$jyg-gwHtJK}s*m;>3#68xoX0o!
zuTVwx&tr4N)<pl+i~R2HX0qyTmL_L?|L>cNk8LgwVLK@|_muFW71zES7qNK8POw$F
zoB5@^#{BCJhO~OllQY-JY!TRgxwJTa;zPqrZF}D|35%6ovgV&G&epH6yukC+%<Jox
z+ejFt{>giiW9gjC_k8VD_LZx%e_pTSS@Zg;nNK(4(<whxOWy7>xoNZK%m&f>*NWS9
ze{$9Losv8s?(U`S{_I1it9x$gs))Nx$E1&0X(n~OUs!z8X!o~GOb%u>-i<|FCU@>i
zu98$yD?6(Yx=OCAXYL{yPS)Q|SHB#Ox4CP5BKt>2?7O0=oEjf?FKW<Fyz=1+v*@(d
zrmWpt%*xHKXl?V}@;fK{mQPd7wp)_duFYPv=$QJfS@pRQy<Z<%$o;){#`kJ-IG6Tp
zrYH|zsk9AM^31a98(e}Ss&7Y}-RgHvn{VCr(A3Jd_4lr5#Y@D!zEB?^-`nwEMaF!S
zw=A6kCqIO3SQeLLaXUCDEz88iV%MVXTBQ`z(8pdCyxS`43pEmroi}}T&XaKt-ShD8
z?$F@SEbDzwj%}^yU&YL*YnRAe6}C)x=93+BBHl|(^<I8CL{!|bS0m+)|HZ#*_qGVV
z)-l%fuH|?u_hNd#%kG#RXMzLgUoTu$zwT<ny{1)W8GEI_Ix#-J(Qu`{@)Bb)cW{xG
z?$fWiCzPcfk8Iy0bpMU<v~Rnw=J%L6R?Wz$Soos*px9D<j%!<f#MaAx%00gz?z{`j
zJ+{a1&E{0Ce^)k_eYL(MdrG#SF87HuM~_d-oEP;^#9VE<g4%~=z7?JG|J_LOeN?!^
zCRZq}q?0qyX8XBSvs!%g<~k;dH2n57?kSOfdg(&Z<JyQxS6V#J{GGg8Wno*tp}tLg
z#-XKum#k90aozciNPyM+=!Yc->VIoIwaNZ`K*#rb?a`In)BAPKt$$X$KOnP3;eG4V
zmnz2H2Od_Om>#F~Pv})&Q+K-XMiZg4aXDYCzY3Yhe+|C8Yp-=%U%tM`yz8e+Y`K3Q
zn7qVCKj%d3VeP%GZ8hgUhQ^j_&6z%@u3%M?Q<nY{mTjAB1fFr%rtP!}_cMP}ti7iG
zZ?E->&~w~B?geZRI9Ryv;;n#4TX$8*z~a=a$D^|*&Zu&Z$awbq=BB#+YtJ6Mmr~Mv
z=Q@|ucCC4R*=-qne>ffP`8Y8@&Y1n$5%aR62{!(Jmj&%J)SvY^O<aAwl<(#0;?}FJ
zJaIzX_Awo>lsw%&M<yk*FY4P%C4Oo9+LgBRJ?aIYww?aFOJUtBiQw~lCg<45u2Ow@
z=mYcPd8#F=x6fVQl_B?iv5SE2y^r49XCG`o5E=HdGN5MdnWv{aN|iSAI7)rhIPP&}
z)4sQd-fhygQM!5kCfiia21&8o-c`%$zB)+9eqHeX=ltvbdqtEtO<r8sd~Qbkov&S8
zh4;@+tGTgh@rU|p>_sfvrG+OF>IJp>lGwWE&ffCMqu*KPyy4X;+mEE~dZ_uCGvim=
zt;GlGV#MoM%|9=CFM3PqlH$5!=IdO4rplghR=cW`SlWK&=#rZiDt9Nfsg@Q;c`uR*
zsGhERLuMUA-4c^BHfGhMp0`-$996kG&!xxNbIG@eY-V2N!~eEs)H}?7`Z9a_we2<&
zpZNds|4?jq=IBI`o52;6_ZzwPIT-uy-n0B`<1XR3?^7<MYJ7dQM>KF+qn+&Q(u)U$
zqpjC2I{)j*3?2E;-@aztZ#tKFXJ^Zvsd;<KA~zj4uUGa{o#|_0+ys7&p0nCne|PNW
z-+Ap;#)9hEnL4*hj`eGsEp&`Ys#n=%v)6U@tgj2iEsZ|UXWRG2@0y9-qJ#I#Z#iu2
z(cEVJ?$DmwKQ}}t?mew<S!g@y+WE$={rt;c>8&@EKfSJ3seW2{{4(9>6H8{U5Zkq<
znOQ$?&UZKN?im{wWIWv%J^zK}Rg)k!$tR*!5>E?4Z$B{?n_T9>t(DF8pg;b**<9`e
z^~$rg<ZgY6Ii=iH&Ggb+s&0<F+L@%Md^LvZGcR=%o^tIoR#jP<KD(W(bH}7Lchrpy
zSQoEWi&Q8K`_;!b@9?U`eeABQEGM0M#qwHu;^%&MzByj=w#?$}x3BGda%`u~!zJfa
zbKE5QyN!Om(ey4pdv!s`%VXj4YtL@~y6r*H$Bbk3*|`fv=k^xNmwWv&L-n47)z{R<
z7atX?R-f&h-zWDyY0p+ZufJ=A-hB!B-pqHv@|{k&=#7Ithc3jOsNz}n?fhh0=|he^
zLf@BsX_z)O$TZQY)#R%+tBBnES=;lDybz6N|GHfA{_B5>W(HiaIB)NrqxjYL`@ui=
zB7Ob_?M$_NZD?G7uK3pn-lZuoCw3fA<CG5BW0&(j-sk$3?yGFi*bhXSoL(FtP{gzM
zl(aL~^cz#TwiN82k-TI3`<@-s_vR_BoIZ2DY2n;P+uEYaM%m-n)ZcQPt}NL4zFaJE
z{^iod$yTg?^ju4&a!Wq>PvnbS)3?cP8sAYjN$0!Ib{{<dJ?^vS|2y>yHy)ZS{9)Y@
znTX5hKFwRREbCGIliuE^^_w#<Y^pInvin2tjlPFQuP0Vc+kZde5|6T0$NHj^rEV{J
z_s+Ysk2m|i_ss^DmB;IjU5Y&(D1FJi^J;Y6Ci`D<QM}>#2LFC|FLV!0Vvv|nrt?xg
zUp<IzS@O5ueCs-$Xfey$DP0Fs=hwIIy7F-A#_Yx`woQMU?QDN^9erJ3Frme-%JYGE
zzOzoGe|6*4Gry-S&oP#aVLW^5<66^Oo6Z0Hs9JiLw_@M??cWVD7MJ`sI9K~b_PFr%
zTkpTTw|kOu@%+^0&2Rej|Efl1U%vV$O=rq8xq7Kvy=C8ZO0OQto8~(CEt_F|jrxRH
zeD&`nd)i*d|9z3Vh|e<N_Ort4(mUefenj~FpR)fVw{|S&6qS;*7k39RYa3dpE<B*H
zE?0M_$Nzn);!C653+rMQ^Q)aHeYu-OWkT?e#nqFQAL{Rqs6KbZcgef_g|2hNh4+>2
zu5(?rrTg4YKBGtTRVG|gX%^ZjSlnvE%qLN+FEW2gy+O=_`56=c9TGSFZaGtKz4!GU
zZ)0bCyL;4Sk;3k6|JR%4C7hngZLsvvl%Hi!U;p_d5%}ldx-0WI61!er?rA&y`uy?T
zbBdfMIBpevIwNFW&dl2nXY_>1ct=Z=H;bL;eI~YCP2h|6)#E$t=9f=ec(kZsVa>C!
z1M0Vp)U5mLcRosfRKMnMz{^tkmej+$WP>kzZ)Ntb_Wvvz;h1vsrLEPnp6Ug>FJ37b
zPBz_{tJOVciRA>@%Gm}Dx9)x1pck>#zdgWv;+-#hk8R6yb<VrS_|i}_^h{;Sw>(Cl
z{6qgHhTL3!a=Ln$7*E=&Z-uS*_0?21%o17s+v1GUgdn!kw{0#Z>SFfwSF^VAO|Q9J
zd0Jt!-mi5zYLPQPtBaPNSIPc;)i3YUNB8`fnagSp&z@Agabj1i<XWdisjjD9-rMTW
zf6H>0%DU)_S8nl2>8A*J81G^-ia04(T)SCTW5>>;1}#(H_@!i+8ecGr{%R2K>;7cc
z{VcoF`jgaMte>r6Es^Gx<zIiOWL>?(uFzZZS(@xmoKJlGWtn*5q|ZJ7){AwY^0`<F
zwb^bJcx||4qt*PnE|K}NqT*iDA1_XBe7{wHtH7KTx$P#KjLmN9?MQlTazOR7Y;x=T
z2O$$@OlwnQ+;YzG+q}-zqVqB|-oA?79(3SbpUd9LZJ%}&+ij`8q4L=;t>MhFKLv*-
z_0`|3o9%l~@cREXl9gYto}XR&RA9T~{4&wS^8$RiJ=Wa{V|e=7dUn3}mtQ@%xc4}1
zERqjN^6fb`eTC4Lva32Tn1l1T$8G)gt8lxi`}z%bLaNo?ZGWFwy;A@7G|FM`RLz&l
z;n5j4wthM#)94_do%^8KCnkKOP|0cE4X2FmicYtatan}V{qB0n*<LRuxP6-w$9sBe
ziq*~Z)1QkyKJ%xrmj}MjUf-<p@L|>2J!{|a-Z=6psIrk$@?go9Ro{1V@2*O%xyN~L
z^|7sMI8X7u;ZJtW7JYSAK<&yWmu1PZQWw**ms`K_kx#eg-IHtP%lE+N#6#;J&u(mA
zmz4J__^844H;<|<>b?6DG)`QL{JZ75ZKIdYRi{PMqMa^ZC~x<g-uImK&o<lJY}S|U
zZwZ}$FJ|+R{d9Pt8h?;Ql2dT^l86NtYvTHU1)MTA*rRxB_N{7--=#WFUrZ5ZvF3@t
zeEv~QeNY|qugS~L%#BF$csDU|yC(mn2g`0<sNR_8*EMNdt%?eJmC)AuGp9t=TI77@
zUbv&mzST1~xaQXbgCgM=kK=3Nmh{LA-;~HmVKnk%tKU<<K>nf?AK$fwT&q?wx0f2v
zZ<UCbmrs`sOJMmjGb-lsTAvk{rt2PmJJB@$g1x=hh6GomKUE2DebidcPnh)eM83`o
z_XjQZhY!y4nD{T;=IfhxfhBWKxYl!4_kJjIw7EL}NR7dl_11dt)Wbjj`*^1IsQBs5
z#Z{e2*Uo$7t7w(5e+=0CY_80wXZ$T99sWAroK4fz^Gk#F<VS|u9PX=rA{IHzA=syS
z;f_hSwod+d@WOJ5O7BM=SF0X9;g{RWwlwMTmZJuXdafxynx7+^c-3=djm6OgY|)Dn
z>(d2W%X#^F7CT>63NpO+=Ci0hZw=ex+dEF4Suf`wpP2IZ(6N<QdF!j+{=57B_3XBr
z8PR_;9wke1&bxln(K;hbYMWzw-GK?EQ;*2nIL&!#c}1&R-}y?&M6Jo)pWe-QYj|bi
zr5=;xjpy<N!%v+3WUbWh`*828*wtBl?6y<=e8c?f*R5V47FfLQ@#DVQ{@*<Omsz}Q
z?L+fT^<y9Px+_`M-j?3;^j~M(pT3Tmj|In!F1@-qcXC#X*j<l%k4v?yrFOQQ>e@Wf
z;)<lmeQoorSFQ!W_*RtZb5P`n@-&9&jh5CS?oK8eC%)bLedo7znCZE|AQ#pi%YPzg
z3!HhmezR`Wwy(cxB41;Aa^gk<i>#UJmw3Ewo#+@J*ei6>B(?l>?kkPbl#-O%Z%5Xz
zta+rwnvhXDd863s<+-}HBE5zy#G0%a@6OJt5H+j4Ke^h&FL+0%^_e+}-MWt-9W-+M
ztx-MA<&Uw5w9sYgxz`v)+_(9JOubUXt$4$6c4+>yiAvcz0ZMD?KL+b>npIF^v-^Fu
zV+7~t>bcL3Omr&v`|{<%533K~X|mY<K#60Lj97u$+MDYps7h{*`Eu}49PiRq!Q4}W
z0(QoJ`ORjjeC)}Y*Uy5d?F^orG|8aVBYwxESKIrRKDl20+x82;&)2k`JXKcfIcHL?
z`(Ew6vF-0iPR{9xCgtkMk$*z!GsTYDo9L|DAG7k!dFd;YgMXLo(C|^WyIg9^?sn2~
z>jPd7`?R8TZ61qf?v00puK)PtAIiG6NRcV$M{Ms48S};6JD*%T|3a;A@}7BCv-@6k
zJ3Ri{-?iwz?)L6$p5`aNA5nX6wdTitwTrLT*ER)sEaKU7-1Gm91v!^bEIHM0v(})#
z^050C-8oAZWIdn$arW(92j0HevgYe9DaM~{?}OZwV~*`hk~azN+Gc)!0n<_2Q}2_k
z9k<Sia?Q_FI_vlR-TP|0@*u;E*-}3~c~&g4om_3X`(=_Cr={U3pX)~()RTV3md#oB
z(pLB2R{6Khx8)4hY|2g(SeCdoSS`=><^na-ca!QXoVRTbb&CD4;<#DJv#EjnyPfYC
z2EY0lm-x0NvaCY8Qtx}HWLL$fCq-+m!laWr@;Ih-zWI6N>+goLL;D1e+|}W-*;9L1
z#zX%-vrKo)iIZEuw7z`4Db)AGl_fux>`bU<cX`<oK55&z1A7~lEBLPLZY|vv)+IR8
zw)eu7fPH$m9@kIL_k1ptyz%MGM62aVhjpLKnw0objIE-5k9^qmd%n+D_C0VauF-b!
zv+Lb=a_Nl3IbOH&cy*+9Ctd#b%Oj}#qwLb3A6(zwd%?Ii@mag@_ICD;hBNDrFW)NT
z@a^QfXr{e8e#yIe?z3iOV{F{Va`3P^`&^NK^VWRn3$tv0YW?D#Wxc=tDaJQ3b9?@Y
zrEM?}S7|M`V*YaV*X29EJ+^<~oX#xsp8br(4$abI9}2F!GH6{jx^^^a&gD1drRg7=
zf3G;A9Vi`Y<TTa){8cxeCq|P^_CGhSmYoyuP-*XuN12=-%qtC_F9>>dKp>~d%5S&9
zok>|@@2*VD_J5YOJk+34B{OGY{qyshEwf^FN+ycsF4qn?IsM?*J^MD_{N!mJ$H%Gu
zK6#fA@AZq@w(h%N`KL!l<Qn^NmfcfY&Pm9K?sx7Lv*5aO{mXP!<-fN>=kC<m((F-t
zHUD;-Joizyw@lo}vaEj{opzk{txv_td)d6^-<O8`?3r@y&ct6ErbT=SUGQG?&3DJ<
z`s+2y3}Q?g+R@@XVvFzGvA7m-Zm-y`vkM<=+4Vd9=B0|Fst=jk+juUWHoSZDs+vr(
zmfl+iQ>_o57n!ekz~EjKCCYF2sq^(+Vg49~44>SWX{{A^_f^#Ivtxg0CH{_ShI!5V
zB0J@G8$wqG#qKMwjW1s9er@6VzQ!j@(ic8c3wu{D>2_9RO~Xv?u&Ga1+k8o=&r{s;
zgX!|sw7w}!4}@ifV!za^nz+be>$*jX_e0G7EID;!`#Zk($rdYX#QurODc*A`UG-k?
zLiDS`(}FUlY<t$qZolqd<9TDw@j}Z5*A->k^shd8pONcs_dn2i%I0$>bvqZ{_;N9<
z_|)fTTRV&VOnB=rO%uBjea4@8qMp9kt79jAOgky|ed+4WzYQ<l`)2OT_U?x0Jb_m?
zS|7jbRg3>T`_{MPHp1tnld8W>nR@nR#i?19b5nyqeJ+pquw$9EZ`hCLqFVcwvaY`2
z<2*OW+Dq{Njkv<dFHYLuj#$MjE6+dATq`jz$MZ1P#Xp_0OYUzz^}4$L%GoE=S03Ri
z<@j86uSag(%DK$*a%?4ek`jVc7QGZZV)AOGROqCHG_&pDOF3Cnu3z5S&a0Di!03W%
zE!SJ)6%W_enM(X*nZKb~<NYc9J3RN}1KAdRHHqg-INzr?)&Au5j@CydXJUnN%=cQY
zo&Kt}rr6$U-rLp7^k<8(ED+lh%~Stj)%;6l3smlzuihf_c+uGnvfbZ4-0a+PC?mY<
zYIt1wUCElz#A)-bxW5T}$~tnwgZW>9KyGYP+g<6ZJCXA7^E>a`%f4MRUBGgY^yDX6
zYglxqwirz_yBuix&Z+!}%5sg0`*{YBGxzZ8+HI{p-0<Z6vIE+R;`)`|t8+e{DL1Nm
zlz29@wu1X`I@d0z<i#@fF<aeLcM6-@dM#Eq{PV(1Wr5T~7m4f@%v{F}8r>)4E2v)J
zIsN0?0sV+)pRLok24?-;6k0Eyq<psj$VKjn6E$1czLWekOD-{d-I|0&>i^jfhX^Tv
z*QPO<8%;mZCnUDLz(Pn<n%Ue4aw3s{r5R#rnyIC^!E{9{K@ny%OQY!v1^6`UdrR3(
zZvXwgE!KCXZ?91GlpEFSZ*A3dl=c)*R_yeB8=7@>S=8bcvs|wxUtM-(UEtC#snEsW
zzWE>jT>bC-``YuB_a_%mdjEXh{MY-|zn0D`Qw~-Pl{h6=C*694tFy`FNy96)Wno4R
zf`Ww;Iyxj8X5Z#%EN%U7$h<@MK?V;~>y-N6@r<uBELgfXXF6=yVZkgSwBq$kE)h}o
zF0YfFUZ*=d7>>HQr2OY|S@^U;N<g25Cxe0M)uIUnJPpyZPv3RBSy&|&=KiZ=`Q-Ss
zanYttmzwrpYFw39V8X=Z$i%A<p}s?UowCRyE)!Qr!GbmK_j`TNv`F0euISLAd-v`s
zbV#$+w>VjAedK1^D;S}^fK!Iqz4~C{f%y%M<qCNp?w@dA$XhT|nCbKFysn}HRn8X*
z6wW>9YB)4eBBo7Uh|Qh3@NDBUt6vVz<rbgHH~f3g;P_zvO$JxTMgKLwtN%_{Wcd_s
z#KPsebEor!eH=@aFEBpjVwbvijXkk;Lz4rC&^Kd&NA+Ef4?ii!3AAV*krV&$`kBCk
z+|XnN7WNPPHasG|1;>*dBwAkkcO0@m{b1Re&X$#n@7#Idp~Lp!bDb22iA<OD?)4wu
zpWUSpc+ca%Jv%##(6bN1EN3pq-jM11@S){(#vjguGa3Hhka-xfU`fZCDN|Z>1l}>W
z{C1ezQa{c7b7}kk`l7CXCXWSJe(hd-r;*P>;DbX8v&?tq562z$JaEvtB`o*i|9;v3
zc8o5rjRq_t+*{hMl_oUQuX=o@p#6UOolh4z<P{=Vj@t$<IC1`b{k)vQFHH+4tlRg$
z<^Qeq8@5etZJl*%?fs7bkAs7qe=_`SJ>uHnv}w{LhrmEd&jnky=ooyczn}WgxMBan
z|C^*71?u(GKl!`LE@9@<_$|$xS5g1?!!Kv<efE<cvj5wCSXQL(bb-Qs`zzZ8CyF#a
z+UN3rKkEnWr~i-ro*()z{>uON+;_i~l>UAC?Dy0E_ICu#TUNiH&mc3^cB4h4#DaoH
z4*$wmsQ%eLh4+C$%ktax)ukH*=GcVPPwcbk;_mcna8aqdEjZ&ghrGoZj>cB2ziOB6
zuRid#z*XU)n+DIL=hE!cRh2%)+s%2kKySx(F1GC(;`J>2LjJ#7-Py7z!TzecnkH+@
zf{Oz24IF(bNfu&1x*w%*HUIwe$UH!z#U-&&(?RB#!vbb5-XA-|Vqz0_X#ZJ$sLqPv
zf4vspSC_?weep5}O8@=-<Ndr~2fqy0jCl@@PY=(HZ#9<<U1?O!U0dt_>8H21&!W)q
zEh^K}Kh4}f`QKEXwSoLwe{c9C{r9C?u)dPJ8q*9`vwpVPoLfas&n|75pY+jWx7gKf
zt)G7NmEV?mxW+(a^5Y35RcDm0hE4kD+x0s^$>4o*{prrl952g0PVIVn=(E_FuB~sZ
zF7QT_IGmh!tfzL#tlOLX1hS8w`^x(J+^IIBc~ZRRKA2oKl($mva6KZw%JitA+;6?6
z$Hw>1p8NK!q<m@j`zNnUL%gQCUoyD#>*c2B-_*YwTvC1d;#%^DiYqGoSK^nb6&cu-
zcR!h_+)`5N)0`?@e{Wr)Vvl9GT(0WdyX*F!^;>d?CvT?IRnaEaTlwXCXPNGKCFG=g
zYm4Aqc3-=hcQ3_0UakCd6;sB<F8&vj4K#Z4Z_S-vupz-S=vCly1=aJ(lm1&=cyRf~
zvz$w7UU77X2|nV{np%A`{GX<sb=y(@t&cC9US2i7Wl@)!QP|BVdUtf{HyO?EYTx;h
zImKvi&aSIFs~RRg*|q-9KGPTH=K0_CUS-m)QOjD+Z$7PdMfsg9_B%69Oixx^_IQbZ
zO>G-*zU90V1_44RGo^Aa>v_rV|9dF(@Xq<3CT|w(SfjhMdh5*RH?M!cd(^C}kT-7g
zxtr%7zpg(JqxReU_xh!pW!&|Wk2kEVe|p}3>K>2f>3?syNZdG>@V(A1RKw%v?E3}B
zuWbEr+&W|bsjs^Hf2t21x**B=sqN(A=;HH_HSXR2+!V7S;^?`05#bo)dSRbCfp4Xs
z+*s!odq?Q#a<@sv?61FfJO~Z?=$N?u1jmJZMVt8DcVF6WSCKydtpDAFO$*wOEcEM4
ziuK~EH=2Ej<!RFI#qa-Js@t~uUi{yk@8zP;K9nl<eRBPg?*;46`=VW%PdwVlaV|$E
z^v{=%O0i6h&#b<3Z+LF@sZy@!c+w5e=?-B^?KU55CMit5U^`Pivitq++lNzM&dE$F
zSRuW8Zj#rWOIBOHDK;pFOniLnIRCr52StOmZ>>pxekvoie!<=5BR8&8Kkz#CENs;o
z1K#~_%=8_~Hot7MoSmDiG3k`kgz49qE=^Y#`gT}z=LYXPVf!wwJXZZ*sgZZvtv@er
z=z1F+TW@jeXvTy|D+8R~d2=yeZTu3j<ceK~Nr|`bs+s31Y-SaH$eE?#^6<)IZg1(Q
z&i8&e&(hCxT;CMCwANLoerMLc))U#Yzc=;8{$9bd<Fbp2TYhSHQ{~k?YdKP6j-JeU
z`>ua7@3LUl{mDwD*TbHD;$3~y+>Gm;NP4kN^TOi8`_-j3p7KnUj7i%XH?jA}f_s?<
z#g_cLX{8az@}y<o!!^pD%|)Tyb+fK{yT9RIV!=^+=cU=ats)c72Z-tJz4p4E@#FW_
zgU8$6&f()#;hz{Kk)gXh@?-Xe<YS8(VhxgKU3`;w!)tNtwIp-9(u{rY+*f6>zMncl
z-s7eWV|sG}k6^^ZU%k?Ew{5#&>cf~gZ{zcg|Ap@!xO998|ECqFm(AZWea(*jF`VWa
zsuNA>-)nX(7ioTRfZe)n#%c>*k3)`Tyr1hERQ4v@JWdkU{9^jrpWpI))vxP+cln>O
z`gTKf5lhX>+^fqz#r>Z1t$WIy)Lf-64>sjh)*qS1eOGy|rrt_jpC6wNy<SyTFl~hc
zlVh~fuh*4VVl47sh&%00TiL02`rpB8A+LCgq_wxphpC-9Un{-&#@2>O2JiNyta@K%
z{QH~m^rQ8^OV=N0xy4e{9Obi>zhPVYT$Y1t9V?#x>WRGm&1>P#@?)<ag`HUI%=NeJ
zq|3qfPeR^`@5)w}mT$Y`?`?a<q~VIlo?t_F<B~o7i=N#}XAivVYxl0^Nsx5Fjy0|B
zDRXY+hDh)E_Hoau;K`9nyRParE~?y`sG?jJ_tB`K`dU@b|N4K<su}J+i4JY=vW)-R
zhQHU)Gq`<ytxdOz@v2kGD`#KiGifl7?V3N&PSHv^CPu^~;)hpTf&TUDF3eWGQ=F&U
z1nt>y_VDfgpmhs<*UP8Pd|T9J>K8O!*1TJ1DWAbyYq4umH|m~#+yBzza?qs2uTwrc
zr)av=G#bo4X7t>*{`~WL+1_-0HP*^F%Z=s!?Rz^qXG^8s`mkdQbC@vmjMrcMPKJul
z7q*|U?S;Jjd#_;cua+vjvTv1*E(lDPO0<mCO8K<bDRtk()4dWY{auS6U5H>gb$LhO
zyEkcDKR+@}i(17jkyB%6W8NOi#<bSEIb>^@c(SC_9DCVzo!a<W{XXWF^&E+-*W9Rk
zyzT7d53fSEzpV-pykw;F#f^VU!pog1{+CNN`#zsOxnwJI@5!#_;E9V4ubh~*THb%<
z&RxrYrD+wFo4lC1XSwe=r>ds4ixujhUaFh=GA76P(3CSLKFS|0w7EQ`O8@B3W4rer
z+4%BcpkDZco+~r?+IF_wS?hi5&DyvM^?Gs6`cHo{swM6pHC>&Xls~n#PpnYAV0ooi
zx%21Hb0@Ct{lL7*r8*<cwqbv(tV#XmiJ4yycci-f{j1Nfxu994_T{SLw+mxh?j1d4
zZniq<MQ9`gYmB=7sYfeM@!s})6%w|<YjNkSr0eNwC7W{NXX||3a_^Pzn+xX)ChVT2
z-?j5pea;P~&J8TD&VLh}ciBoKB6!K1l)HY4P0usjjXudq1m7!|wl(wnw;46RN~XPf
z`QhNDM)o__mQAUWlXi+OXPdPwE%u4RWAm2}glcE+*7&IUEYtPK=dO~S-*(S?zSvuT
z^|br@KCa$<_Mp+_6ORAqlpk@5c`@7i(3cIN9tOofoIbes*5_7e6i0oj-sh^M8mO-v
zCTDovX<EDWyDv#rU(COr`+TJ$eb3fIyJjwWcYSeiNznA~8NzJ`m(O0h``0=7A7SRT
zoE~ppJ`l}xd#jvxw<dbM)a9oSef@Jb8d;ux^DHJX`(m!Z6sy_;nG&-sf^J4`x_Qz!
z$K%+A;vIb7E}dQdEACf+y-=Iw#dp_D1<sxc-|}tp^;L#V>-iR5(ww+2*v-czxV>}c
zgx#NYk7c&`|BOift*`N^hA%1hmQBK$W0#Hxte0<?q|#;^bX)De`N^kTr=6cLn#+bu
zUjO=zZ}TFrJIZEi@?s&Zz0Q9(E&sdHTF3Lmfui%yzFjwiOFw^i*~NKh;i8}Q7u2)n
zidD6Uy}7w0?djXo>k{V*hOO_`DCJn;m%KPOzW%dlhv06jZ&fblPlRoRu5Hm<YG-qN
zdQ4(%#V6PJvN!X%L>EtOzqDDwZNA^4*@t$nT>bN9+x(OwE$>KAiz%DL{Ju4v_VSf&
ziIZgeeCf^u!-Nf|%q*+fH`}aUaWg&r+~0b;HAM=0JkQGcepqn(F=P74yLt=7{MV}U
z_PcGIKR-{gPJnZpV#SAm^6b?5J53siIWGJ?%8iAUoyp~C=KDNL+;|QJyKZ?c*0<s2
z-p}`wCr7`(ye@;eLx}H*cKf^dXH%xTW;qGp@V~5i+D_e5GH|WG{GR2;57wNRoOr6n
zAmwIT{kq&*@8TyfJm0Te$N5@f)eV!!(qWg*STK6(uC<QsTs~iTzV2oB!lp{;4Ds7<
z<W)7+J({gGb(eo@mY$eh%F;<5|19p6^anHO{7*?tjsCs&%A1+VKO-mJ^i<4#aOs5G
zl=lvsUfXbMeXA^5bjT^E)_C5znu9$_%M7y$3|_f1tZ}LTyyUNS{+&e*MKjkv{`=2i
zYPy@!5zd24(-Ol^1fBLykr6)6`K00Z$HU&G!s}a1(w2VicfT(j;{W<%T>5{r!g}=`
zUvDVbo=RJ~&w*{L*uM_X9d8$%bj-e=S+r5rYNOS43k&^ubF3OW-aVQezwlDz|JMf#
z-d=mM<`A=i(Ud2J$_wjLefcl?R32pRvC1$BUV7@!l9jg(w5B~cyf(dW_x#0tbF!z&
z_I|wb@ztG)*Ng+r=6nBH^(KJD`RgQQu4lU3Jjzd%xz;>UEBpCuhy9+<bw~0nch0+3
z7<<b4|CfwD(+?Y-)s=P46>fZRY$o3xg}(M#vL_FS7VXPknDTn>-J+v?i)-p9E?15}
ztpESvl<b#BEW=rNPF+38{r;bfh)fXM#ZOy<Lces>6;3w^k2<dt^^<%5-7lvZ4m<Bt
z<uu&p`6O06^1J-3^&-52pAVJpo3uS8tZ2y>owtjY?(y0lYRG-sNBD5&A$@D9s&3<~
znZ7l@lzL)9%uJui)m%_c+sQuV)K&g=|N7%S>H!jypRfG+weY3;{tp~ijOu5++tKmH
zmbqr7eeB);YcjVj+;H`M>8cgqL@c+q>+wBd5OC3x)|~Lqbo$Sy2FHUfYqsT2zu)oh
zz_$9WC+vRvx*C7-{u16c`}||~?;mH{`<InYeRpy8%ANhS>>aHO4ECvAn$#l|qWrt6
z%}8DJPQ5gn*|)pJt9|8nN3m>v)&F4i^&7T(<B~4@@y;}8&&k{<dO56o_wBelm!kNN
zX%{Rhy5u4MWZmk(y}i@_MD#p9tUGab=@!fDQGJJ}8gZ-ld-#S;6Vce?K6@TpLB-bx
zGw00C<zdv*yPSDPPinovoqd!3ZFyMhywvRT%_E6rXO**f>wEo8V^8H9b!E@5EZk_S
zCsbzirn!6hG`sBnC|={6KO|$_ngqTko~-%0a`{64W5UN3eIqYzxmvz^pMH(lejCyC
z=c<=@<(e_>jLUpJTkm<pC)52;|N7OnC?)QE5tSlsbxB90=F$vJ$8wLuMg5J!g+=dD
zmzI5A_vgrW>vKEfV)g1%iUiZTjsLc?T-Sdoe@gQ97q&AK^xf)B_=VTYoG^ELz&^qK
z+-tYz`dP2OTyf-hCL_(E?56N%ZOD~7uMh1$9dEkMKAcZxliI$h>IGM(KATytzs2)a
z@8SnnkG8Qf7k^(@r?xQb!tqBO+nFS{H-(EQZ7Nzm!T0~hSDO~tzF(-T{kDG3s-GRV
zo?O_uWsggt-$}Q>1tM#^EtjYM5tyRZy3R7>s6l5p!`~@Sg1=5ab<IxE@B7+!jqgQY
z?pnIV;gzUw*`-;Rql2dlg-Ob{SG20+yqWSbUG~zWYbW^UdRk5nl8W8?H#lB`_hQ7N
zSAU8=9padOpz>SjE>`XnmbduNC7;k(*<OD^nnCSGe1`0nxX0ngro5AXbZB|Ar)t8y
zqiKbb0c?u>Y2{I&mziI8CtOYl=%_vMz3mmRXv3^4JNkV(l4OrZ#ua@E`QXs7rl;j-
zysY&vefgszYE=OnTr1?}UweOF*m$SK>;3&1b0)H%o8Pr!i?!UxPL2{jcVp4DTc6q6
zS4z~?*CjM>oU(!2xL)17($=xVEZCIem%*mRTDgC{*J)j5=CWP%#QMmx4~~aTHQr7R
z*wEm0EGk0se@(*L>2vF^@hUkuhF535oBZqd1i|^DT&fm#w32MqC*9fKd;5aZ=K@2c
z!mG9M0<Qg2y55Cn?cC=p>EZKb(z(3ri(60Kee`vwC3n4U!>;F9HU8^YJ}a=d`=$Hx
znR##st77Dmlxca_<?QREI`2&^$!S{C7f?R8;dP{X_`aLnJGed03NT-5{d`<b_4~Rd
zvu82(loeQgRdL+r!*yzQ-bOY3l1RIIldE)E7KCrej^DW4<jT91T(K!$Iu*?CB#mPA
zHpX?tr3X3gnsSJ%e%}3if$waRrya=loO@<!@gK*kDJw*rx2}vRo%r=`uHF2#2@C8i
zH`^@I_wabN)I>RF-LEOj<M=0C=6q-LWLivbiBwO{TnU4lJC<s*E6v|%>(e3HkU8y~
zd;7O*YTdz{&sSK>{V-P5*qzXSYEs(d<n12&l5T&KGp~Izsp|8`3su_nVQV9=aT(g}
z)UNWa|6tXYp7bX7Z{_JpHB;XI*liIlc5HiC&cr?8OTSmQuDD;dQ##Jj?g_&Uhno00
znL95w#@4P0vzwq-Z~bgeVD85StDdf}o+dB%%=<>++VgiS4hHU>7`yJ;lC(p1Y^v!e
z5?b2U`D9mqc`jQe+F}^9QMNwd^3VE+=mZC`3D>f2J1>&EY&ubY%D>LiKdmPh82>oT
zJ6&Kpdr9gW%|kLrvLByx|FP)eyE7?;h0m)E{kQ$r+3~S_MI2L~dh|QVuE{!Y{kt-_
zGgKz(iM-#->>2o@a8kk?*0%H;KdaoCPd{#&ZLxK>-`+>g<$swTYj>_Z&b4aG{3TI)
z?$__;h&yPlcC74fjkyv>(*CDbQ<IG@{pRFw;+%bwW%+tn$@qDPrv5qb#;pH+y3VN`
zGggYLve$2~{vdPZX2|674}UjE@UCidD_pzmn9i#wh2Q7d&eSNh3xC^j+UUMt?h~zq
za6ulEha3x6e8``>^s{)$%f1Wm1+v%Ny=1$=V1tOVTK)0su|d8C96L0_mt6K->t?P{
zklYoqn%Q~I@fC(v+8!s;J~M0)R<d6CagER&&%-m=YR`V1*7{@GfscCUSw1v=Z(w+7
zJ7M4QueZJa1kN=)xF@hz?pM&RIq!WhKIAHH*l_aAuChmW7>~TTyJ*kDrz=jCCEkAg
z^IwB!@)<YVdI2p}gZg64^B=CM=SQEaVw?3cd*0O4^Ilo4pBcHd6j`pN?%gcCD$6-~
z`~B;D2^(@+wO2JaF8Q+eepFBj_tU;-C-f7Gmrhl;xVUA0^c$bNl@;BN)((r;>wfW>
zS-avL->mTKv9fG0%;T!c{Vvz?{o!`nJ@G5w*F<mq$8#@7w<#Z-+*Vjyzq!<CrFPl-
ztN&l!ejMHC{w3vBaZ)hn{oM6?1D=(h=6~3l9NTGnbnot{uf|DBj~-6=wYExc&%Dmv
z!Yte+arRP6JiNd8eaZcp%^4h%BCk=*VpeDz?#cW?n?EH~QK+Iv*}a7|cwytduI1CZ
zQa{h@nI7-&5%F1lWgokRY<N+cM14h+?fe9<H6;cYIo~?=t6Z#EHha#Y0OK&BuSY-4
zyq@D++x6Qh_eW^k_eGc2)*L#vM?xidN7u=3Mhx>-T|AVY?ZvDbD=J{pB$u?@K7DR|
zx_|p7zm+%E?bfN#eH>=;lr=NO^yWT=LWhUms&$v1ZgZ^e{<c4B|H~KURav#uv;Du-
zvp)6KxXa`dbD^Y`<BZ?I&#Q0eT)H2&N1=Ad%ehWsIVQWemK}}Tnz?=53>N**v%GHH
zP2-zVU;1|S_T_gUEpwapIr#S`v2$-XPkB&z)^=KtR9BZm$C>EWllzYMyR8$wJ7J;f
zD*j8MKOWw%D_R_F(_eb;%^c@X)fQ8VvZB9A_Z}{-KfUXmwuJKiKTjT+{f=Dqu*uNW
zy^d>I%3jBS6?4v=>R4MC(`u7{Bm9hpJ7aoi>*;Ohy<4xJf0d@j`@Z&%g2C&rQenF{
z{>l4X>;Ew7gwy#np2ZB)S9F*>oa=D*_wlR>t(YL;Y3#}QhvM~h{yW^Cw*8-0`XbNJ
zbFWy1YiG)@_<XEhW6~A%1?KlZO1%EIs&?(d)yI$gnf&wiuI+IOwU-v1a^CgP#xr~C
zadR1tZ{;Uu|6a5#;Qp%<J1xGZC5B(+xbyf?ch;*(P8&>gH(x(&D1N=zwoh&06OK>X
zJ;jngv+_QDnKaqsW!0(O?!1gXhM6nQ-8||ueX?!F#N}+Nb2n=LJNq}S-mZJY+y}cB
zD%|sT>p$t#cR0U4<Mn0sd3-lk7zI}ByW^)4I$?X~4Y5;ppC7kRb^qNPHgQ^Z;OE~z
zYR>p}8MBvjT>5#eji)`_;B(V#|LJ#j{gO^w#j%>%?!M`zo=@BL-6Vf^wD0wOH*>31
z!2Zf9`!_jnTda}#>|5!9yLCEu9js02&#N!eN^swPXXnF<H(v48W#=8`GW@Bv<I|3w
zGsWLkPc!en==4prtL1#rlX91DdUMulZg0*17AI_YV#b!j;~xaI)&^c`dfwj4=A)fw
zE-RAR7&@6Zx?818zjlXCawD7fcIAE<aj&VG)@tkDe6r8+=>9CHWty~D^nq@ciY$AP
zS^bOK6R%Bq@b!$$#XSYW-=}FyAAg*C*D&mD-II)KoBr+$EZQ-tb=@KF*J3L^1noY0
z_e?`r^5wkSXMZf*vDH!MclJA`O=(OPR}1g$zNnVM5&vZR*ABtgJ`3w^9kiAg-C)>L
z)+qOWtzWhCq%_|7r#nq=dSz<Q>d&iKwq5Jq&Oh4r3iUI8a$aZnU?|@DXZfCDyKB#*
z7hL+d@W7Toh8{)<VtY;AhOIcRovWihuf^hgREEs&k80M2v!5D!b_W_}H(b55rZy^b
zxykc)(yD$eGk2A2{l$|g(EY05H}BuqH@C+|+HL2Xdit$Q$c7sgYC-okJKn!pe{V{Y
z++L+?TH?le>v=C%+9dajoU1?Sy}_KRR{iwWtf+#wGhJL3OTQMLyT(;6Pt2!eCa2<>
z-mMQyZ(Pg%ku&F1xj<d#+pqr_*}vu0!sp!tGsQ%<ixdd0k^{}cC4LeR-F~%CNSK4!
z+}L3HK_4-Z?f<6<`ExLt8-u6l1dJ>Yb8?2pCZ>=%IU_?$=$u?Iw?)WrG5bQRIi2q;
zZCzi^FPha=DOLG2+veDA6A!P{**BBTjH~-++8$Fm^|_@)E66K$Z)lLp9H*s=R9fT?
zz4g#|Ii*1B-SNA|a<=FG?yKJabD!=1|55w5Ui-iOTE3+Ihc8B{pEo+pXkNHObFR~7
zCb_sWxe}=b7iWk_^*S2Wn|*UD5VXltmt5bv)QH7-?LLPa-iaLQIeY@^n36OKrgk&T
z<$Uoh?90<I6RCs?8Pgs+_++ulEHG%{x6wEt>YONf@`l`GjinwF1hz8?yE{D7Wi0VN
z{Z#E$!2z+uK`rbH4=^8U-7sUtiDs7r+>aFv*8S09z3JBRSV&tdbYVb%LjA^`CeP-a
z=`$Euo46UpryaaxFoQp2%0Vp;p8mka6M7oA3ry^_+GD`Du3?FR0*_J)`(h&{m%dMl
znhL9!^~K9KL@_O1obWxcfm0%zZ$a=2;g`o2g?0*r$nt!wm=VFW(2IqaiOGef`KnAg
zmt5a$29Bqz8zy+P34RQaXz5tsz*N7W&Wgq2jVXhYMBm5BAD48nOb<-y@Hjegm6!9D
zn}SboCnp*9JTjW}s+O-q<e6Y?c+l}S>82zulcYat4gvcdT$}Z$2h;|rgz)XQ=t<-d
zez{qf;}~Q2u_e(_1`IM>4+`c@Sf%w~?UVyq>anS67A|fc2Al!{CJ#JZ7=-JWa7fmR
zurbGIwJR&{E2*hfzWB1C|3iTQ2fL!i%i^*_Jlt;YkNjEcVR6Gj`H4Hb$<_QvTP6lb
z$UD29I$!X$V`a9?p4zu_r}YNTE4Xzt@u9+@DMy)>rSUi|_c2!6pu#sX{`t%o2P~?$
zUKMsa7WduNO+2Kb@#$ifj(5GnoYKK;l{vZ7>KoQ;uQ|kFd${3G<iCF=V!iG)FaCcQ
zTH*X}_P5Z;f6M>uuN8FH6I%KAN#KF|e<nx>YPt*d6$$G66??$lziuP@8TTiT^7ral
zxa6=&^9uQH;h$JIp<u@Q&IdLRS5#ann{lIaeX?wz+_7+7{^nFZg_R;flQLSIB#uZZ
zzc@1O<HLgbtrm<^o02R9nN*5wgg6W|Jxzs@>O$6?a`~mD>#sLe$a?WSnZV*d>*4|=
z_}VL%EOVDQZ>48pzwXIn*KLi5wk&Q-To(P&Ze{%K@2!vLY*=S%_|0touNlWD&)=}#
zyiBeBSMsfFw{ISSCw4_{nc#bVTbfGr*(@!MnK~Rf<~O6vbL)>j$ey`-&c&ByZ*To#
zP&>sx>+7}|)$SMfZ%RCwGx@^3zV?~x=j7CBp8H!6_aiL3Fp=NYeX*Kqr1$wlO)D1*
zhMzj8b9U?LWOI{gJ9Q@QjgS1SRx0=W>hhl3-zC;O7xh0s%g5=K5znsOrK)*<XWre$
z9ye|F>)otZ8rdF;Kkch>-d%sv@ULp&#U~DtTd#91w|CZ$t*+ec`LAGuqSY4L4KI&u
zh&ywV(LVg{=hZynYiFdM=E>!V%=zZBy7KO}2Uj-tzfKPkzw%@D%Q=~aTps+@d$Mnr
zRO|E!eY!C(PGm-*#`6gV)#p{uo#0=q=DdA+W_rM+$XoL&Mf!S^x7uCas%f!uZT-7<
z?g#g5sh#%zTS45mZ6{dHw=Mo^dUm2N=ezvKvo~kIHt~F_c+U4W_ms}3wM)})tqU=`
zyK8pVjO{amYu~%b>`Tdi{z~Kd^7H>b@m@Hx(ek?euXK4q)4U_6m}?i=>iqVfb^VJB
z_g?3It8XbPZHtfl+F!rL|McyjzkPLKZi)KY8uiaZH-1a?y7KEMGp8(bw10K@&HVKl
zwja+;xEhxt-dM)3wMN7F^&0+yzgf%fNZk6@V4H7SwyNZnQrO}0TV`f2f6C7-PisqU
zeZPNKx1`n)zfE4PFAqycf9{W&c3da%o6pxXSGLIgx%*jNd3tboJ}Y}jhKg+l?}gr)
z^RcHqV;*m+SCxKm%;B-#s-p4wQfFU_>z1Dir6v^Q`{?(t-?Xy7KKNQ);o3a!F14>N
zlP1TVYVh40|J}ai=kB@Rzdp5lKc{+W54S}3o?`L;X30BERYQ&6nQs4d<@7cgL*K_S
z(OaE<eyEInH{~@qznYc*tF_xxE&R-W9hhtPH2(Ohs^^omShv>OS1nujT=mVh=em1M
z^fxXEH#~VqzkKuZ%qx%A=1);8Gmml(iWkYh@L=AYd1+#wR65d%pZ^YD`X*y(*<z!Y
zn<AGian|P8w{c5s!i)Fj&ktBWJ2tiS>Z3<f=80eXxv68txf!z8yWD5plbz!yc`Lc(
z!?yBL4%1IDdk-hv_PPGB-oC2-Rq(+Nwy%$zxgR^j`0&~1r5_o#EWQ`!r@epI!=|FN
zj&fbi>jxf1<XrhP<wC~xbq~cwHYN(*|GWJ1Eq3{BxBhJW@^0_%cAj%P&d-v+FPphL
z`)SkP-|UC7cI}j%qII$0$;`hWxt)#s=WX{$IP$y1*ZcMEeTA8u(=YDkII((S&B@=B
z>Vt2q?_Iof(!R#+{@c?mb5E`Q^Zc`jdt&Fr{mZWJKD;eb@OJ&%S+@Ez4=1fxiQZB9
zTQ8&1=I4ji^NwwfUHRND)3&$sOU6zc=cZzQah=;+ZVB$5-#1~KxG&c?>62IAcCEXs
zmU}ZHWWSc@jM6W@Z*zsstCb56EN^n(_3up6r8x%|*B8&s6#J2T&8#RVX=Ul7eL>|b
z!$mc&eQ(^t_1@itN381Ev189z_VeV&h0H8#oTKq<pMBlN*I(zGJ_xKj`hEXAPm3Vt
zA|8c_f733<9(J}7@7=el)$y!(^_iVL(fnO~>7vi4KefD+rF*^Wtd+0`TYGX3yV4|I
zdzH-f@BY3mX#ZBfxMeDTm%(nI@a2MGd-_Z=F0rQ{mS1(k+&ini;7I82zfW$x{%gIv
zPOxxojYYaonOM-?ytfzZCw}-W==lHeiyM=}Ec5HXY{`&*VI6RG-v56UYo5+-d-H1R
z!Zlvme-EB%JG0uf`g@+G-R2$5y3_9m>dg8$S8;b;)+IIjfN9%`KWve854<$>=5OzM
zJBQrsnLo3GX9VV7yW1E2pE2QQ!ZT>2$9VbyA2G4%J}ZTInT?FhrVI88i!z&97*1cn
zD4|)uGr3^dT`^rLby;cIy&H3HZ<}krE%$cWr9vw|t8H(WB;Wq__uIYn_rc$<t$ltz
z<*eaxDf?@|-8~+6?wxbJdYSQr%W;?UCwKz{#RU_eB&DzzT-tnK(!@>+#@-m6w{Kl~
zV;b%-@Gj7FV12=mki=$SY-DtB5~Ir-S(~{!XLVy3rqrv2{O4o3lH22>o2xsQ;ng>@
zZ+X+y#2Dht&CMOn)5ELO!|Q(4&kAX9Xy|4YNJz_MX6ew-$nret&7h(B<SK)ZgY|;R
z6L}pjUcGVb5{p81CexN;wjjncZ{{+X{V!xt`&PDW+W$jOeE#P%l;t_7Pp@y7X?gQD
z(~~11tw%(kgfiAADe<gQVo<gYZdmig{%x7wxjX+un0<YG{%w`jJ#g$r{j`t&*ZfbN
zYx6Jp;$b60Mju_@7=~jG#opEtZS@;fQ`6J<6aM?(xN`O3{+0C!7XO>M9Dec_hcE;$
zxM_cNotfDuw`~p#OFQ<iZC=fNfm0zppQ~gObBBbb#eeC!U27-y)}P&f_y0GEn^Cta
z{{1ieJD*Ead~y8_flbE$+ij2iZ_$~1RM)m)S=ThZ{}*!8Qa<zh{_o3X_+M;R<Phu~
ze*6Cy=KnK)onJZY*6o`W|K?Bpuk-bNBTtl+(k-V)CjW&G?!TN=ruJ>ww6bRmqSNaI
zq%CLu)Bo^(%c6-->qWlA8~hIysc(4s|5uTlp5HV%23faX^`0#s<L}q&?)@LFs+05n
zq3?0F1<7g2j0PJGH!<yq*irL8KEXF;?wp1)z5i<e=llM9{Xg2vVFCLEma^QN_gd7C
zXzf*9bI5;9#WtZyQXx0?m^$v;SiX>3ufkOD%Caqy*Zme9)7CaU)mOou8GOzpv$MLs
zn5XcRZN#4IF;0gK{;M4P{yW=s{<o`3LayESG>VhzX?~{hVasDR?dKbsjGuPuwuK~m
z?eYKg?M^{=$Kwn}tLs_q?af~*mo7e19kAm5|LWgg@7|ufxyH23sX02;|4OHPm5!<E
zw@EykS)KMhyHsKDc6#ajjDnAc+n?;*;A~(yjkP{Vrqt@X>}HQ9;kB#}d%g0tPS18Y
zRg|=_N5OWcqruGO+ZgxmZ_U?gGH(z2a;WBw%g5$C%_fhEDZgC#pKds_Ty~mz4O`3t
z>q#$au6nYEADfuI{r2{Qdumy2JU2VFWfZMaoU=}L=Z-v6b$!Jgam76a{{H6_l*88e
zXZwHmc`;e5UiGvD*HUHgH)plwm?U{^CF@rzI=?({_P{(lS(~PrZ$CKiS#K<SLcQxa
zpVqv(sH%RxcwURu*Rq4=&AE}yJa1mI=pDJNXKRWXvj5*wSXTS^VYgSU(4UnFLVdZi
z(?VDNDc`=-;NQMyk6zC-)(lKBEttb<bi`9!qC+Q3M`7inD|Yp6>JD-`i_G&^?E9Up
zdFENKpcaop?qoT}#dD4e?%LcJ!TH?1`tAK&iJa}HUVNSMI_z{-$IYo$qVLwds3_~2
z{P+75mA8L7bpGniv%hfWyiLh{jiNb~a~&77-MbO)yZ`U5mRFKhOHS&^FV_<N^UUMS
z1I_ajQ={{_swXyFI^ehK{Pp@(&!l(%y1esQ^1S)$okRCNt8;j5F7N$*OUAaDT(h5?
z7EL|;<pkqL*P@SN;a}%(Iile^vvtd#{(m0XZI<B{-4@KNe^%UYoGGqz-ZtIQ{WOz<
zNv9ucQAXOdy$b(%tv0evcYAPrwL{g^Yv<3@l}+%=HI@Hwk!-9~&T%#VS=t}w2lX>w
z_ARJbed*4f+k%svS*@3dGAHei3Cf!3(I4F2Ho5Xg68qMR?ElK9T|Hd!DP%?V*V*aL
z^TK~l_I*D2nahdyc@h@u_zneMdbY1uEZY6%%;s4K>$zEW2pb>FG4q(UwD04B<mwmV
zyeHTFkloi*o9}+he2dVg_3nIbmvj}DzvL`vt`~{kVa>GUYUr7c6^4tu{$DdF^5|1l
z%lZ8_bA|5{@2!`7Wo|SUT(Es{E>S>C-F}U*O?16ATln#;tjZ<Zb{{@waoa2T`iA-S
z1;LjJH=hW<+#|kjiP~k>HnkgaR(<v#|F2`}5lt6gJA>y)Z+TZw{S=k(bJg4ndtA%z
zy8dg7&StFl_FJGSbZgq2nXUVJmxbRc(hIn6|3mv0!<FtTw?(W{3{^X|BULh(`Bi>S
zX^)C{_=sb_R6=b+Vm(_d-xb@C`>)qpJ=cu4$TRSDi9eaMQ7buUvuL+U)QR`XOHvc3
zXB-ojEcxJl<5*YX>D`jO|2CQyb|zjZx*ZYvtDyBS@2h+B>L+pV)~U8yMlZ0p*<kGS
zhAB{ZiF{4_D(zCaMVm`<Sw2}=x1}cjzRuGiR_oWEvf>|Sp6To|m6`uSjv3Fr*crk7
zX*Tn^{bkbpwLRqtc`UIXY)W(6%X>E+-T1ur%rudg=MRT-w0Yl+Qtt@x`@`~7GkD7?
zlV7UG|E4Ud+Gyz4_`ZJr`dPQPKis+MXk~YSeBQc4?Pt4=TkEQ|uTOkpW0!h##wyQE
zzdy{gE3Bzlt8_hWQ_vk|E5|zm{5sWJ4y;%z^f>7Ahn(w4vL%migzvr9;&7Ka<#%+n
z4zqCC#&f@}+c6$myTm%R>qF$fx?Mp+Jb}85dj4x-kC^{2YCkclS#$ltRrPbEMRu?i
zcFkHLU%}zTbYhCTfwH3sd%~~f4u>U^mqs?(Co{w~2Gn1F^HuQP{99TJoOepKIvHj3
zcxQz_(@*KmRct-Vq3J!tX{YzIZDj&G$`470|G4B55Xg1b<JI*?O(ySEV|7{B*-8ur
zmOY$lx<OXdFM3-WXCk}pKMTE#Irr-o)7u|@s*933K4s0JD-p|m+_!pMGvrEHvC@9=
zq*Kb>d<kv_oh+Xcx3SA+&N<_J?|FY*$j0`^?7saw?TxkWAF|#)chlA1FJG4WtoCA+
zeKmdQQTETD+r9VAUUGW6+Wz{-bxzus?OWEw>|Xm_NU$m0m$!J&Yl-Jqj;vJtI*%`W
zX=MHNqYgRWm2N(~@MM8<^acJUOD)$J$}HiCdhG9C|Le=|h=y4WC(PEaYdp=XyXI<p
zS=5ymotqw?x@58B)_Y0mbIY`@n7oZzGVdejyO{=0&6@7;t$%ds&!aC44S(}=R2Lgo
zp3eNs#50{wJNY)#&v}PUcq^QL{+%@W^()IA?{~~Twvn~o_F$e(OFFMsyN$}kCG+Z+
z&U%#hY5~h<@A*>VzhCs|Bv)`vZ2!2q=K0sZch|ap=`6Y*-0AZ0`!RFV{aK;hW)Ed7
z+~<W&yLM5@!S+Ulk=14HO&JYUfgvf6YizggTbHEyp>?DASq=8fFSZ<Un?3uJ-edXm
zy3_tY{MtO>XVn&F>x=bYvrD&5w9>JT+VFeY%e7ndlFs~>%&myl%n0X8TO9Ckj^{GZ
zqKfx+7mO<2y>r~3ep1k#PxOOJQ}g62`_|e|c~RlJe8zi@wMJpR-&(A!rskgv`E%)-
z!nZWPs#RNm<(;p3YiYhmuBce~xwfA{;NrvIr$#V*cw)X<rq?^OT!BA_ss7;i;uWza
zFJ#_WRMza89_Zk=UF*n_xX_TT86TXayZ9naW<&+QneqLPjMgXrX}h$YSL8*Q|Ey9l
z3O|)=W4uOu<33scPocdZHoCTi&1<f3o~W|^xm}b*LYIu(@g*-69)0}2U}m#ML(`tM
zye)O7K0g1N)?V~t({V1f<DPoqbt^pUCEm9;-;3qHUMMf}cxO}q$8qQ7oeFg;9qZp{
zUU;y;>GSa~JWF=Yd=;?rtbVoU_E~q5r6wjG5lh%md77p8$%+rJO;?=ky1Mjr<AqMA
zL)T8M-?8jcq?Y{4<?WX|zC54!Zxzc?g~!#Z-CIP>JRaDwE8i@y7yd3aXT^cP+Kk5-
z<kA@Hy`-zG=S%(j`Rkwa^V1zUk4$%c5<ay}FM&6mcl~F(o$|tGKW*=FjQJ@R{-cYJ
zF|WBLZH2JZ^rNqC=x@(E${KglG1$G@Hpu^8mAmu?#l<|*_x*$H*4u9V8TDqb`vm9D
z6P7Pq$1^qj{2Z(9)LmEA8cHYlissEVOfdF;I`v!D`QrM=S&@x0P8w>5r~O)EUiZNE
zESrwNlK=h^e_9%qvxWLnQ)S+FPnwtf=-jTu1@p`zSMFVXZ~N;NuNlsXvA(Q!Y}H@f
zrO)*0hwpa9&A9^aN(<ji_W8_o;?I^VkKIlOJmNbh==E;7-jrL9KD9T?zkF;`6fJkp
zXZ`VG<|;d*y6@D4POJ}Z{c~QR_SuA7_0mR#zdM(H`##@T^M>@KbM}m1K7<AaL{^@C
zVO@NWMR?P?GY`0I-aMJHdCPYRPIuQZrf1Gs{z1$VJ0@{|Y`y5wQav-J<5QcJ@8h58
z;epX*9i|?)COzUYy3v=!r#>a3<=(%I(lv$#^XEFwyWX)<da>}q)YQ3c^@~<dIn26^
zrT5a_Y4>IK?Y|$qTf1WW{<#r7%X5mf{L;VQ<mR2xmFc-Z`2s^&O{?{WNHgiyB3bsO
z@9u8c-s@Jqf3k6qcT{<m&PSUa2@|p&zm~Z=le?y<ecN7^^C3YhrI(#-uFvj1DR@=H
zAz@F6%2C1Ffiw8}v|hwo&6Igjuw!?9X*P4wnz(}Ac;~|*Zfo+-E9~D8EdD@z($3Wn
zo}FkdSg`1U*S0$Dn)B-OwF^%ks5`1H7$E)bO1s~rt&i=`_APtb;kM$9%mdjz+jOU?
zuKvN98}ur_dLB4=SxU_{`u4YW#~IbTvg5h_yo|WR+Zb~GcpTe3?zL@meh8WWvFwOt
zXs;KQO!(HkUtfO5q=_97hMGbz&R(8)Ncn`;wzzh+)W>y#hd2^XFTa`lgIVwYtnP-e
zOov?7lPt5-Z7*nvKX_mL#L#pt^F>ar*{^c+e_eawRWzZA|F?)%I-8B$JHLbNrw!ec
zmv$u|`@`e&_Tt9N2g*Czr{%UT;oa9e^+%!B&E0de>p8RToH}Uz*wW5%z2CWsbsv9p
z+bwFm!WQkdql~*Iug^)WGt$FZCWzZtI{0*$Per)JO(v@c!iH<4V%=B@OTSw;i6}i_
z_~d*fVCVg;sS^~pFZrKx?d226f7Mf$UQQFg)42KU#KWEOAvzz<doFpI?U-J)MsIfT
z%hk^quB0<tv%IaZNIRmnR`@{U&3bmWc?bLaoph(MI(y1Con|_4koV>07R~1RB^FWt
z|A>}p@};Vl=L^`sy6N&QTR!xcq29G>&op&K9)_q1&m+S-V=WZQRvW#U5^!AJg(V@r
z!vA~orb*YA22E|4!T*r6Z-e{A>o01~B{6aQ<*_;}c}r$WOu~tI_31zFED|mICnWql
z^vm-tQu-V8nto<+rbpNbMZfAbdsp`B#pWEN-@B)8NtEk&rxvIDZB^Xki-(p9|67`V
z+o-j2wTtclDQzDGv{z)ji+TScc!4|r)7QmEOz)>?d_OpE_op@A-ia){9hMn6{pQov
zMbo)L*b`$?Wc@65SL^D{PTj6i-;~juAb0ui@4vgJu4Wgx=V7wf)IqxR<Vnu!3P<nl
zp8vC7U?JZLKK1k+?gI15?Szlsc{O9<UHLz&*-cxd9(K<^p|Ux@;J4Zbvpe#W%L90I
zH;C+*Rpl>ssb0Y}dV%be?fQ;O>mT%MzAt<hn&i7nP_>n7|L3#Ug(AE~bb}8Z)CsER
zm|CSN@O^zi^{3nSm5wZJT)5My|Jc5zJa?QGgFNq=RWM$Zy<7C0$z{vEynjz_FPxa}
z?90wBHvhz@#g|TQk4*Zq)nBaW#J)EVN}~>S<`n*XQW&wm+D+t(+_P;_1<J=)3heuK
zc+yFs(_#@Ww^hWYj578LZ5LNy(z>o)yy(gGg$wI<n-ykOE!lfv>Rc&5p4bix;}ZhS
z`?gl6t$T9OTDs6!dUD^@vbz6M@2*nFDYBU}bCb-xyG@xa?=Kj69QBxR=S!B`%`Dzc
zWs>z`7U~LnOtPPaKH)joX|Z}=$klzhQbEfOYJ507JJ6zG*@U7GEfxQM&on8o4a{5g
znDtcO`-sIKj@9p9xbw!Tti-C2Y^@Tur!{*U_EfEwJMrq~zq>-4mX~O?Ja_f=uw(bV
zka;lhcISkgJL$KU+HTVQJaJmYuZ<sWRc-pcL*8AMsX6J`8~@bwHR>+D4s{j*wUv7c
zYC|h`F$(`%H8Ww+zWeKr{qv03y;sgs_PTiV#~y3@koCfqwlzOq)c^3FQp!3dt+;Z{
z+6g>gL~7r@FPmUhqbe_Cw%Y7*Xy&$i(y|>#EcomMmImoA{X6%Sn@sIyo=G}4R`fB5
z8#KIdPFenJM@4VaBlC7&z0TOEgT}27l%BAq#QE?1m+*dD(yVi0s=e>``D<Ai1lLa%
z`%!WFz2|C{{~QsQT<a6w$bYY|341U8OiPgIebtm3-<_wcd^&KSNlSU<>ErvCt^USt
zBjH}7Ve*-2!Zeqwi{H(<EZQ&FVf-&4!EC|TqT0WOu~V1XZ#^LHnx<N`X~D*|F^67F
z6bPwv6Ri^Z`c~Jx+v#-SwTRDG_r=7lF?@dGRkTHhRPq;|HOK3F4PG6Zxz{shAy@r}
z4>Q}?x!=hKS%xfst=TSnZk^QkmfV9qT&8*NIk?t$uDUf@A}WXN-^9<S<MZ>l-@Usm
zcZFB)^pEF7I^FYQywcBgoOC*TA*JCl<I(eXDwQ6enm@Ng(EY}jZHYT~tT)KwR$Uug
z8Zz0zoMW2HuhQVHI#yn5R90+k=lQbn`;u#?0_!CUx~DDOw64;X=a^;crbjpD+?Vzg
zR`V%RTlD1c>*WH;2jjDiq?UH|>i>H>P2*$HnF|Y@Zd{rkd7SlK<pj|b;k`#DSH|04
zu>Ek5&F<TVg!Sh_@2Wi46=9v_Upw#7xo1JMkMKQxTT^AP)SqX0=jOZ%T6gWNZc08`
zyeR2J6W27Q&Go1K+`oF<VN6$<Sv*JBTkkx_bfe|5!nO<Mg{fSZTeyzhb=$p}t=|_W
zTskL`l;iopr%EPq;bfndmroQgefB+hB=@%6yt|JC?EAGVLLwPwKFC@Sou+x>v~WYQ
z?Di?&Ur$i)jNKV#v2c#Jh~vbyZ!Id{a|gPt=A0h6*zCslY5xxK)t~tswW<GZzBtcm
z(GK(JcW;*m7pBf$o^A4Z+d`o=S`j7pHF|=&8Vo*8zRxkGwle(cLkB<BdrRZBCgiS}
zq`%eq+x11?w%!e&nRNJo#pCB?tL=_`J^S_F4$&EWk218r7yWNOF*n(SL-y^WCAUvU
z)TuN|UUB8v$0ZlHd{zO64eRvt^|CDwAMuM!o?|0<=)^YBwa(MD1&S<OD_(EAf7klk
zh7E7p6`x+)9($rVxN~jLK|i^POj}jmuiBpT_k8Gi`+)7GMc4X$FQ)jO=60!HYW#YV
zu;GzqXK(8Cm@9mr8~<6k-ft4`J>%csKF=>`W@iehtnRCd*LMDN=(mreMo&-RMD4Bh
zYO-EN8FkGU|MWa+i!As1d2d~-HgkW7U})a2v&LOrI-ly;7uIS>70WPcCNP?;Dq5nw
z(`x&ffQO2{I`u_9JZ`fue-gel`>)iC%Q8jFroUSub5MNByB$sZ9tux3RR4Z!_9Y-x
zx07kdAC6;_^4wax|K)3^UJYBg<Q`Lv@9+0<d+S-Nzu$QA>T&z~Q)TJaGk(qsdVF3}
zPJCOK+qNB&wwl(N+m2}N+ZJ<r=AyH_JC3^@*~qKYrB)g7Vzs=GkN@$X-NL_h-W!`%
zubXabefdSpgE<SVbK2Y0Ov6^n8ZNWHq<QqrzZKQ<&QCeDPC@f>LF=Rg5{17voqPMH
z@|SYy)Za5}=hmCDY-?&RE1LhzVnyO5?l+MoJ{nnDa<9kDuKQReR<~3(jz4B<+&7EL
z{GK+BS*QPbIj@>*_v53pkxPKpE+5ISdifg;ubdL4Z7%cc`@2KG1sVkFIp&p}VvS#E
zy3(I-tE=bDj1Ye*t|?sMB_B`Ly)NHa<{(>VYQ(fz$fVJGeqwXI<dXe0?);{89^2F`
z*;wwJsd(^Zqwtr7bCcI^yS=&Kxb|Kd!PQoO`nAojTx##+zFt+=)Vud`=t7lL+c~Qq
z&Hl6Mi;9Y<)R%KBd#BAv{Qm58(NYV+nKHXYSIpYK)!^OAnQ!hYPfRyEcY2z!W}4x*
zitCT!nl==)>ZJ&th;l8~iF{PQ=cs||`kvXo!4vOEG&0E*M)*_-UQ4%MW^DU<ny*-?
zh_ufM>pfB&2cqr^L==2o&@+4A52;wgC^43hu#3koJP}@h=VS<n+10qvB+b^y%7y>`
zbiV57Wt9(}aN>h?_?Fw1voHUNc=WkuJ+FF5*1yu}E{1Ex-t)UMUOv6QV=;r_m-@wf
zt@IAhHGInB9=h7M>1<)k9Hp!i6Fp{ny>;7YapP;#xwp@Zn3VVysy&vJdH!~N(i9Jl
z^%12ES3(V=i?7#xtA4Ck{d}tUx^29>ncSwbh#DT*+*4ULEg-LM;^}=GBouwx4Fh(4
zQt@6f|A4mtpQ%R|`KjGp6?uPVwx&kc_Csk5^+9hBdp92P)Koq;o9ocE^tp;+F0#z6
ziTBrN`KLN*_jh$W?pdnLdgl11$A`s?w$1L&54<&FGUKAFlIh!jUJe#keldObg6Myf
z4?0*FmoDAe`1$>!(DNEGD^jPOVA@#5HtVLrwWGcH5e2M9<(z*C4}5W+usdL#-?|UJ
zxy%o^`=8g==XpIb5VU;JI_c0Y_1_zIC$v5*$aekp)LH9;&Fe~S6W_`1{ta1<waq6!
zeP(aH`g7mq9(noRUYEa_C0FJ*q^{Y*vU1gZ)7^L4-U+MybKCcHx`dSLD;}FqlWVs2
zPpghKGg+sx{^03Vk!?Y{i<%^l`Yu~OZH2V30FRddZ+yj-_s8ld-<qPbsn0pivZ1pm
zEPZL+$BXX%UvAi4`S$FH`$^4d@4hxpnc@CPE6b1BMXYf?w~)njkJcp_ukY`j5br2m
zcrg9Pan5F@#nNsy4|c8Pv9aDG`Ygt)GH%wi@9Q?7+^vxqpfB9sE8+Se^0N4cL}S^Q
z>UAq}#jYMUkoB17V6fEiY<=?qFOI2`ceT6ScjxGt_=)MAjKrNK`E6$ZR@wWcW*xIt
z6*qAbtCT&_$(ro=Y2wXGY^ltrb~Z?5pT1j@9#kMJy&>k+)ELgBE;*;_<fhqTf12hT
z`5Cv$@%mxc=bE<F-(B=>M;oVlb}N6{k{Gwcu;Tl}LccJtmWq%)wST@l&u^@MWOh}R
zPsd4oo!WG^!ZOuaor&2$I#g0lq-Q*NJ4c0ome`CbH+TBX+_&as<sT#e_=|y^yLMi@
z(%`a)b(!d&uJr|WC0wizyQX`tkvP)6+vKLZdv50AN{uZ&NA$V0Gw1Ahx0q2@@|w}q
zi+b;j|1>l2OW1SO)GE<P^w+e=yJzmCX4UH#-mWcO?olFs<TzWP$K{B>@$0MR`7<dU
zdr<XD`RkIEzBY==rN@$=)%~6{V^8ySwRx?P|5P9IpW)K7%ypVGEqvzDu(?f_y>3`<
zEO_$qXuRA6&Ucr+mx~8zvbkQ?f0Va$7K8P*H_p2I9{%!6*_x+$e2-dl+^*EdhTLHJ
z-QmSe^}Fs*mS29%ewX&yvm*N+Ub_&m{_nnT#{L$LmNIq=LO;xW^#1u?zRIOK;#ZIA
zwcVC8ie)R+*5B9jGV=!C>YrK#yFMLfy(Ka$FjQ}eSINQfwA~ka4_3Q9JF4@xQvS%c
z2|G{he$v!4f%}GyXkXmU37R*Sopx&XmI*r(EpWZoXa08I`iSToAyTJjv>xf!e~{GG
zleH$cLt@!Kr`F&%s~v@H!uk%)V6}@}{$`PmALEq$8|)5?zk9#_>j^_sndALeZ(Td_
z^`<MEDBqWuxTsR$C7zd!PTk%sX&LZXV1mK@>4ox-WPZj!?6Xi{HU7P$YFfFE%xtH-
zPtRTp&({oyiHody5;UiNkFSvG_rj~feXF)Dj?EGEa&2oBTX;co`l2Vl-C5EUZb)f#
zyEkb+_T4(uC0^b2!z8Po-$fR0i*FYv7OY$M_}jsMmz<BZ9j#lTsJ-vk)f+0@Hb$yS
z3Q9uLILz{XKU>`taARlF+CKe|e_q{><}1uxE&M~~gl=5ev$QRy^SA%<`(OXfX~ps~
z?)8=2>?smlo}Ur}o&_=-U|4Ro!zNa?woqis+67Pksy*JDzIVbw*Ns`fzcpqAtoGG%
z{O-<v`K{icQ`w*P8ZdSqe)7iAXV?3Q_KNR*Mm1J5zrOl;M#c)c;~Uq_O<!^HZ}a1a
z^4CK*PVtS<W3jNk<-F4`P^EuQljX5*d+QHx-Yfm;mi)(`kKV@Ba^>_@uRUQDvOD&S
zTXjZp@xJ=c-2q=rcm6!2ap~Qvg<`7|SNLlxyqr;%{yr@2rt!mBo*V0~^=Y(k{PThN
z9B0J!*B!A>r@stln#*|O<MIAY&Me)+o-RIi8-G6OnUiA?dqSneZCZhkx_@<?FW2rv
zXIJcNs4p}z`<(jwa8dliCi8Eer)Cv(a~EuNe%1Y9!?o2hH{acMm9pAfy>&_Bq8Z=r
z%QyVsj<eim@yMr9^2#g0zn)but3w~|l2zz^(I}E$;~du{{Db@5<Y=ERx%mhBj&RH^
zb-FqK_A$lQ44s!Yr_$y!@*U9Wd66Mvo6DHc+qbCX;8xN4<eFy@&jS?F+4zqBmuu{t
z_^_}#U~ggE%`X9N9Hwu>E1SLIUre8GVc{56V9&NKH0X}5ukPNP{_IR2^&9p68L%Dl
zZ(?1SYV&i!TmAy$^FiK+SLFEp+G?~cXZh}5Q;V~>S++jjJHzk_PygZdZWWPPMYXk0
z7j^FUVSiA~Sa!};x_;SQlQzR<qeoNLEl`=C77~8H`tCFBiT@ropJ#kk-sg6E?}jZ*
z=MPR1cy~V8@nGwxj-_?=m(QKJqWdQ=Y0noev+8Jx>EgWVY<!#cteB)-`D#sEe9z_2
z8cs96yHEM$|0m$vOrgDD6<L4J86~Y>TsHf+L5DB1=|uJHJEzw9m;4HjtN(p+vhd2k
zmoL6a@tOHOP9*e0^kYl+nwwUu?B8ir#yPF=Ry+OR)fbg!Db_VDy=N9Z`F3qjjiZ&#
zNftLl&)8{-zRq`j+{A9wW*j}bB8=_c4mQ=J{}gr>ZR2z4)4ls=$Dh+@wLWx(rAx2-
zx%|s^*=g-}XRm$K?Hl&gCqyxMS0vB9`XJAvkNo@1bYAo1oP6BH>tzx5kN=3vZ;quu
z?46$22Z^%=S}i%S`_)Is8x!30RZpd=$SRmURy-kL>3?j``+FT*ir(^@+(=;k{r-39
zs_Foh`N!7XFZ>zBylC~5)GHNRR_^Sn;o7uSrkthBd-8)RdvyvIU6s%Nb4-2vujOjB
zu1*{4cW<}4GHco9$=*lBf)y%mosQNzJ!RECCXXfeRwcMyPxD?qt5?>)w0z;quU!AF
z=3A%yJf?m5f>`plx_h@|QUo5ou`FJ$JbA$?QPn9;|4MUo+pp(nNUk_Fcgeq|&kg}=
z9XGo0?Frhbth(WO{(U90)OV4>J)4$?#wV7^C|}hOS$3`7W|PJLj>yGAA<xA)4r(3S
z$MNV|@Qfy(?9P?>DOw&3bv9q@x<izLS8bcgy=B&)xqNm357u5QaysfeCvNqOk8;nq
zl<eFYc<De&VB3tx)4iJd_x+f-UDaIogjCDk6*&%K2j^@#%h>wB?)0nN+Vmn}XP52y
z&p)Q?h`)_s?3a3ey|aG9(az61^L9CM6wNGm4tVC(zB-7HWmTRF$Gd-rJ{*kLuD)es
zS~;6$xWIo+Rka-jS6AJVS@rLmxz%;MQ1w0U6nc4|iT<-*v$ek1{*q4Y660Cc%B{1_
zrZa>+NnK;o((ocicl9gr+p9HS@EfTZ3)Hcg81w#|rzVj+A^H9180Edc>V^2~+!tgP
zxH+1p9`z48q|@kVaDq|mOqBA@zN{0?ueVH-`#JymvnkhQ%2G9MCkxvP+Eh=GdS2E%
zb86fvkE*29du-p{{S=cF@-(0Ka&gar1u9XE|0}1o6!Ffo^^Q%By!ZF<rM%GZ3I|k|
z<vsKIyGK7W<ko71udgQ@%3kuI<oMS5=96aMp68$8+ah~SByQTQtl$nq4Qugk^UbT=
zX9m@k?n<@#vtxpI9`|93H08U8PtH`DW_86Z=XK7!psvdyZ+3BfJG1)I{AKp63)2KR
zF4S#(e8!qnIR2#l7ZK0h_8o3g+CQv3^6s)H|6THouaHBbKzGrG>_&g5<6k~bP<HV-
zSzjNv;!BT}um0Op0UI2XSHFI<m-R2FMZn@s2`W>6^Le*yzI;PDKL7A3S)28_J-g@M
zY>`^3<M{Pl8Ryl@D|(#5)^6G|?bC6o{5~Ci;kTmIFJmPRee*5-rF!naiS^bklRo@h
zUTJY^O39<xP+6zdrHgi6pQNOs_0)tdbH~d&|Ge%vey$hd++6gp*k+~imX3*wyCr`n
zUNBw}zaw|cny%!D$&=I8c~0EL+wM7WzfCsJRLAu%v+{Poa9?@R{X{~N-MvG$5x?C2
zo|>R>B+dU<R)G0GcZS^Z8OE&5E!(p!^?W}67L=a1+w5-GXVVyt^Jb5}FRqyMXghD!
zhXqk(pDPbk`*|PxT)(mS;FJw1d-a-Z#N=KbUgsYl6Z|dVub|wt6H6aHl2tM9NN0&}
ziF=+NxAjDyz{?Fsxx6#N5?D8VzqEc|hf>q-u2*}^eZt)?1ng*?f01kAPhZ_-)3YP@
z*J%Vzn)@<J$^1+43J;-FM_U8MFEgUo94$?1lCp1(crM1ml^~twoDf;xd+_+IYuZU#
z9f^+n4wfxtvn#m&=G{Ii8`+qGzn3hmu9sBpw{`yHcR$2)oA{Kq!Ny7vKaM5_SNjKa
zbLUs5G*ABXXqmi6l-9M>m&IaUf5juWMBJNl|H8`M)@N>MbRM@YYl+vFx|8l#AJ_H6
zPg(fok}_AW5>cD7rl9+V%{<E|*Z+1u>h+3uasO^!$sf}Mmh=cZb0vzbm$j36@$_lo
zra6I`A^)-`E&N~Hv)6OquC1k8t5YW0*s`v^m8a6uA84;4IyE=CT<OMY*CLP0`coe>
zZ-35NeNN3b<=~ZHlTQiHxTw-}=E9fDy92~n?Vm9%FJF6ZZ;sNP<(9&eUTJT=ZT@&>
z{hE6x6|T$uv|ae`?`xCS#mZ%cn^Zb3hiqTP|McL;c^9v#-d|C?$KKxS3mdnv&57%e
z)axqa0;|7%=bv<Q-(88x9v@CIzFlj0U5VZ4SLMajM-y`A{M^5E&W4EVs{~dTE>WsG
z>*<>R`?UPo+qZ%`4*mS_w(_cOWy|w(!X3_`o8Beq*MDMTHx{Tqzk1e(64le0uO_W4
zKDcnLyney@S5cV)6_33ycJQs-!8zxp_?e^oCYehK<!p&Pcck<U%l?oaZJEor&vP-p
z7M*cl=3+FL-~6CE?jPsuT-md<%=m(I|2#AMnTt-n{PNF!`y1UYRbE1SSqws$f;3!2
zd(_YT&}r|Kub;c1-Xy!^)+fH%ZsM}NRk!k+Ll^SY<y`l8$e&gew0U3S?&}l6rn7GO
zneZWPU%m19H|$}mysbOZFV6~pWNBJ8F`eZMuP;aT#?zIBaoxXL4ks>2`uM&;`mV-R
zv9J9p@|JI+g`YpPdGtTz^~RYWosVrzuY9ygc2VhFtMb21GxO9}otRj!`*Y1zpLg~y
z?`;lb)Xefa_Os%Nc;Jf5RR@-+xTWp$V-EY5YT?nhwEuQZYvZN`t5zP+kJ&uqZJgNA
zEqq@t`aE!bztPn8?e(Y1tQY3qFR==_@NveuTD!?PB3*@B!g+60Z|PO};#zC6{OAGs
zO-1=;GBbCd{uq2Fa@M|oZmC8S%OmQa+{spBGru!OQ;hTQp8j=`E6(lYmwUK$*}IS{
zn^wsg2=BIcntC}*G~~O^)NDJu(;Is)xWsUj{ZG4Dt6uU@mswLr%-^i7eCzil;fqU`
z-pdSg4e&nv=i`m*%>2jw^sN^Q=ej*I{Lp<>ta(4<qvNr!Cg;m{CRpho-sXS#qXtKc
zN4-n^y?NiPrp{j6KC3!}=e73gpAs!6x$kA3xX|kVQSxpEL$}?eZ_}DZkA>L?eoo+%
zZb<4?{c8Suy>9H0l`1C>zOjl?^Qtp;ef8dS=ZwN^+n1g#Pi~xy6PpwsYpGqfn{Suc
zU4NM;3&S&>O0#oo&J@0Bnb8}*DTl+2=|NtzYF$VDg5TLQSYBK;vI?&?<y^HzbLT7L
zSDOAy-7l+X*yU|kIry!zS@^&np_Sd-zkhCh#oizC;N=cMk@_PnmwmFz6uOjhj!#;@
zM((3`!RaR=*R{{KXum9&sd#s>W}|*nSYjy8U7d{*yPsqnSh26;qHw^;zfIfEl`VdC
zqd(A8hOa5dd~^M+>#EPf5+x>mm>F1}^yrky;>O7jpZm&Ymi+jTTOqxCW2NUx)eNsC
z`F#s&;{$W9eR*{u^LMyhoi1<HX{8<O<^P@Rar4$Z^ynG4lgD9^g}+pPWlz{!@^kx5
z_C1w3&fA{N<mYM&kV-$uz+k*v*I?21|I1pt>-Iiff9tL6qR(G6W$K^4S(L{alXN4&
zhB;jD4D0$wkK4Ai++LI^DLebgg~(YV>Go$__kFW)QuSs2VYt!z6!WqJt8PqVsMm9~
z37fXX>edu_A9hzZ(QDh}lCGMqkmU9;<$tYJsq&9Y^83S!w$GbI`(AJT_l`r@c%js@
zZTlYfUgNF0&TJaj*zq+n>ikNf`l1LeLBr>47x_X3{`8&~nOP!p{k-mMt{vjW*8L@%
z_xM`&_?S+<G1=|^+%&fpUu!GP+gn_2#O#X=UmE?T<@vIW@(0>iXXcjwto^mfQ96`m
z#?do;vo`84eEj8n+!@#YcW+$<G{cr`d0QIK<^QKUp2OGCa7MMq`~BRx-xlV}p1ogh
zt;N%KwO(k^s$&7OcI+rzpEzyTs@Hbwdh{0lH?Wvca%qDg%S3tMHbrx8ot@tc=Wc(R
zBJ8&8z3)QH#a#v}VG2SPN}4}--yZPGX>d8V%K7>Gf3v=*zd85kc1-M#@834@T{u5A
zW!a;R(^bAyW-Hvx^gbLn`QV4GGRJ;$-*JC<VCk9q?g_@NcN(=~Rn3lPXHMF-u`s6T
z(32Yrsv`3;+*P+IXei3>-}>#)0?x7p`ER!VcrPyTF5LH8bM`c=|ED)BJ1@6CBhlLQ
zhq*|2?~(k%FBcA1W^7Jcyx~pA)DzOno7GL6&$IJZo9f9-3KH`^c=zhVrW5xk=KcJ3
zA;38Q?wM?h`uzH77jwLe0!==5u*j8u{q(Zu*@a!7jxO`xvf+8~>T7BOH!bbI<{Gnf
zUy}CQQ}=WsyN8UE|4XgJD;E~V+_)I>>+%tm>O_v1i&e$}eHII+SsFw<)?8oK%Pq_B
z>U@f9FZ-@=uFeB|f2@LoDla>vEjxQe$@At)&BDD)j%fP*y1jTyMtwI^#w_E=H}meA
z7F!l9J#CP_XKoPR{LHIs*>g4~);WgGiQt;`r82PkRg3X<9)r10H=lTtX8%F)Z1+n0
zlDZ}R&ZjesmhTriWAk|R)mP`|7~8BoQZOgnXvzPytd2weJKT;`6rXVPto@~JR_9;#
z!S?lZ-}D>5%?;LdFdUt>;rpa>_4!E_UyJTOJfGa`w<Bj?_n(<L78lj4o<zQU_U7EQ
z;AwVcV*j?9`u}r0_4n4#L}5wUpqHZWUfS31bq&0|r#xJxS*fn*o93LC9d-7OP2D=W
zH&pANG;Qptd7E+Nl=%1Aj0*E6ip|!OXTELl*nMf6VYXPbQqND942zc$$_Ba2TVK^z
zToJI2kT}ct<)CHi{oIR!`hqJjUMUnlwCj<c&x2K|j{ZjGj(Hh3PpK4puer<~p&gO+
z>HglFzCSJ=9?Ml<I8G^B#8)WvZ_iKRpEu`M&E;C2_M-oev>)?3mz_bipHDt(VST+X
zw`^|a-mJ86n_YenG7ql0WX>J)+%3vr+e3*!@p^lk(qqTs1Z=EbyZoZn@79}ccI#1b
zpT5kzvr4P_|D#g&xAlAP?=uS$xH<dedFCq{wf*@r*NRN{+<*V%JJGcgXZq&`B+jdu
zzJ@EP_OG3<>s(X+jRJE#a;}+QoW6g0TyOe4MdKgZ+h-p*7A)5iQ&YWcYx|4hqsRH4
z9J$Z-Ao=Lh`eVNon{(o_jZR;fcXr-QN7j@89o}n81k?&w2wSgu^0euCvg_g#x4tg>
z^nE|ef|6)^uI+hpwjJI^yqiz#w`wi<%IAG6zbt4ad#AseoVeQWJgLhc(phz0ceVtw
ze*e*Qbyfclon0xudkp7QaW^Knq|b}%pZeBL{V+>i4X@A}*8lZo^Vnj~OsU`cK<!&w
zdEVI;$uFxNT`acT54fo9VVtsSO?z4ErUh+FC4;{#>{?N$5PC$yN1^tKBfFS-PRhv@
zs_bt>oYYqGthpn%=WpbJ7FFr0N#!E7D(}T+GS51#F1kAQ-o9yv<9S{09zR<Z$$jI7
z)%Mm-iKtsnhwh5(%33NpxBlhUga1=gi;Qo!oqXN7LVmLLFR3XNt&O$yu{)ccJI*?s
zI969MS#XD~giab;@R@%Ce>dcvw=0?Y{)JP>(Fw_K&c+qa@HIIt$f3Ej_TqYhtydRx
ztYhOcE?s-N?ZQ;SZ);fm^}pxryw|?VMN&DfFEO9%?X>t+^^2;uPu=XI(w_LB{@Yuj
z#X@JRjTg4Xthy5XvH0QrkRKT(=O(Zmi!h$>;C9B8#I2K`dW7&Vp85Bb#Lc`t{i~07
zMD0G4V^;9q>coBaKHo{=tkTbpiSC>uvODvM-{OBKSot2r{k^gz#Ugfv?Tk0mZstEI
zoB7t^>#83gg84h!ZC!%)XVx<=xpF@$D6eo@eX3g_&xDy78G)~Vh)>Mbs(Y~K&%a0O
zW?idLk+VsBd?WK`@tl`l;^N<r-z^ZzpZ_{|v-nBvRU#@K4(~J;So-XjV1D-VShaBX
zm(wxjYCI9!o0xB&({D?!o_9ziPp)|8!=;`7c1JA<O*wR6_jB>|_X&3{>fVs?Dg9d)
z{yi|Znr~jc|1J@$xhoIrynA18so+cNcJItdr@zHKy>9ILCY5_#^8TYTo&tUDM<y<l
zO?_whW!u|0$H>cki*{6ahfSP1y{Ye%0M8elg+46ve^dk~&s<f+?^{x%cWm<?{q91S
zLqaP`ms%W}ZxGqaxi`P=%%0_QkF0;^GDZI4g!fg~{lX)ht<&r6?;l)LCiee~UxHU@
z_WnpwGvTu;kNT3t%fc6w>1w}yYhG2g`54>c78mtfd*42AeqZ!-or_nj^_kLkFDV(G
z(1bj(vZhO+%16^ezUaPq-Eyy_noFa6hpT>#`We-g)AbkKG<|0HY5ujWlde41zYE=0
zjX73mq9k>l`K8XwgW7A|>Tkzq<OQ9$+7WfU+wJ)DMas7`%C!VO-pPx6E@Tk7wWP7P
zZ1-9=iJf=F{<ST?tQWrSSH$1mpw#&%5?2467xl0+Jkxsfl*0CVaXfzttMAqdPE6`(
zar7_IRarLsVEZ=}kDnUMpHm)~ecAf&`o)ucX>u31d9z+m|94_Sf6v*y^P+awFFU;V
zM|)DYLF&f1T@fw*V%O$hh*HWs%(e0J3HCW|mGWnfeYQErSN-@q*WAbpA1;)8evj|y
z3QP6B)%ZwkyVphg8bR}kH}@t<O<T@>SUdb|eaeB$JeK-g{}nqMG@Wxb7Aov!b2UHw
z|IeY$J6qONE?wMyx%$earLpxJBEl=r|0=1^Ip6U3>bfQ8RTXv=@=KH&aZZ=xp6ru)
ze`B)vo{c>{S8nuo{1UYieK{|+?A>bymdXvDKKm{%NVuh{BHvl4qpkBMT*ApH_}@Q`
zD~chF*5Nbb+^WQ9-wI2Pl(kxa#!c|7)`y6KoI1M{1^@rg4qo5(V{ORm?K53C)f=`<
zpIq`fw?5Y9e99*Sbs^Iw0as_*Djb$uV!?N8r=p<gU8mM7{qy(CRyBE1wr{&~z%<))
z`@WawC-~kHXuJ6B-J}!g?om9(lTK#LXTQ7G<Xx7`y{J2%g&uOGKKIdcDEo4wBT}%Z
zqOteO8jZiF7Po!;dE%XNk5gg!u{GycFBBG<oO`1?U-HkXdd7Xf*PXES(XlDw=UCz8
z<jExHuzhx!L!ha3ShRu5`Kr7_M-zBA2z2k-QBf1A`)|SZyZJYQ=aoJ8{(Jk(TFI+R
z&iHR(^LhAb+p>L6AGRGc@QKuYxO{4>aVm>c>Zf*{4L_WZAN*W7;fB(Ej?UZ7SC>v%
zHcf8tj49pQRgbE<y(s3d&s=#SrgUZ#L%OQ_t~S;9a}k+)pXu`iiLq2pbKLiVZTIcp
zYCqQA6JHg7?b@3^9{((^emr~S0ZX9F6@fw>7t7wdde-k!lIsOewteZ@vA+Jw#+V&X
zcJ{CTvF?|;NdBe=H)ekQr>7scGTX!Q^MSKD+k1Vk`mh!ReDJ=1M*P(I(iQvb_wxO-
zS)-b7e4+QxOcP(uppVnntm#Os+*x~-#XMjBI15Xu-+wWM2V15agu836_*2nUe*Ss6
z=>NYl%WpjspRlN~I#1g9+TVsa&Z~?EmN%_7z7?Cc($MCbr|=za%W0B{sn@y^cWazZ
zuX6dWn|{N*<o>bVJ(Gl`cd)IB&FX*MJh47p^@efbKh?A=PhS{zh+EdZTQZT|e$QcL
zrip@*FUs03M{tR4nXvCh;<T$K*BNd_|D77z_b&RxtvR3G_A5USPMY^+rP}o0`%c~Z
z+}N?vX8tTLwFhrhmJ~U~^fS$Hi~XQ}ZTj5QtuCrzf3~>oewWGQeEreUe@l!$G1S%m
z)b;qBs99f@@gXtv+DR$)xnHI4Ze88|)N-=xQ|Ap2{~oH1<~YRt!M-i@6vGNvv1V?S
zg)isI%06(;vk~6=`SYnoy1y4EmOj?858BhfV{@h2d(%XBE9JU_d!KCgj>|8sHoiA~
zPxHyEx&>i3j>R7Cp3h*s-zd~MO`*D)F@gEaJt>umk8XUcs;_(<@lf%SuIpO0&BgCt
zOnGy^U@Kd_p`8EH3Nx#i0#zRI5dGh~Q@T#d1WeW~U|Hwft0XVpFz4J`fyW;-reuH4
zo_Ig^`u)61ZWR}1GR@J^mknjmY2<4@n8Z2h;L<;-NdXc9Rs4?+gxlQ-+_Cp|L#9s8
z!(FwEnXC4%IO~?05Sv;5rQGMUh!bO1sUuIzK_)hK1L-}QC2_|YUDi%&l7GE>|K(LY
zt9i>jP5eKfQJT%}ts%a_B6R(hl%9oxhZgSSdN6mznr2xm%_qX!QoDmyZXMsdb=Lz^
z!;|IyE39W64`Pb?o@^!DvUcLxGWqZooz-2*g<JT8eoee~^~SxUrd|=1m+F~Vf}bmY
zd$h{IsZ#4E@0^U-1K(z*tz7e?bEa6L&nEV%9uMl<Rxz+@&DmjkeCpqww||Is_5a!)
ze$7?x%?8aYldk(+Uofrrj_9WL<$p|=FBjKrk=e|?_2YJ-NX46qRX<HdwyRC=&2-@B
zuU1JjJ!)Cre(IUR@|_QhA13!)X5wCWp}z3;u@`ffT=;nG<k<kdM~g#GIWtd8^F49*
zO!pgQInifI?E2p#&t2!`_ibpImmd|SWADAC?PumpC--?5f=`DY-(R<7>s=?i8LN8d
zd3QBk-lg>aE{Cq2y|cvitlMX|_I=nZlflV;&Z_61sP$ppjFoQH+}V9uTaW9ou6Jf}
zN}R}6uT*E0cI@+$vw?Z_!JH?2f8_no3hkHrH!(+EJ>6Wmf0~YUW{B+zwqF<8RYjM_
zCmt4NEeyJ`t}N$L<xS=2utTS0*!EpFuh0&>eYoEB=RVts|34i1R#z9;ZuO$_>HA7Q
zsRvtjy}uD6{Q6OheNkH4v))-vYfBmWewZ@mF`drXwW@xqjiFJeaN?V~k1c#NT7)({
zeDS&`LQC)Jv2{xRyjwQ}l~z<O;4YO2d!S;*8u(n`x=o1V?fY_lG8L`-hi!SdI+u5U
zQNHHqSKN`v`IYVdJwLN$cmLGBh@W|9bE;?g>F*20+}=s?T$}x*-{a)r0Q(hhY%BKc
z5&D(aow$45?_j~5^*>8L?XBvZVH~jST2Z3+QO=_9`YBT$JF6^Rpk%qIRM7dsjVeRU
zkBvqS3sVDROZd0^efPJ{qQO{tlE+@@IRUDFIpWjb6|Y!wD)(2RhJ#A`Pn~1&1)DBv
zOD<~Kz*3#Gsa%sG^B?mst1G8BE}!-F=!(Z*^FkQ@fBVXQW$yxa&DhTRn@6mE#S62h
zEH1i`o7}#}So4-Si&dJZcJXWT*-Ktrcm5cEqug`ZaVfoD7gPM(kG<)Cao2~f&5P0I
z8-JC-am%MSB*OPi6IOch=*Ene@)P?-P0z~C{&?|k@a|iOdduB1R~~!caMt*?;_F)?
zf&AA$CNKMHcrH4f-*5UFhqW)CUT><mh|1d_7sdH4F3eCuB*aMR=slB<ES~Q=Lzq1#
zdFzXqo}X%T<iM>}>u+d$Wf1kKt&rDww*BHy=G7bJ4r<gE@rWp7>1S=7d-)STJ9l|q
za#zi*l1LtbB<p)GU)Lp`5ayj2CD+$}C(LE~Phs~Pe-t&X(u_N=h5d-Szv$$~!Xt0K
z)&HG(c~A3NCAoE<l$E267qDcncSt@~EgRyquX)?a9QT@IYA3_k3m5v9u0DUkiM8&n
zo%0+^)p`HzzHok9r7rg<D(*sJ%4cpHR%5wWaq)6mbw5u%J9;a|LQUn%?Dl<}dsz&t
zzC@mT!W`$DW>VI%Ve-!|-~F*wQ@(K2)x2%w_$FVkb!?XE$E=X0b@QD=)cFc3T{N!$
zKC9otpMA5aNM7D)``_NGg?D*R8f&jPAjWUj)VFK(p^!Wtt^TZU=T4pd@>y2;TWP1_
z!FYk*``53|eEZjas=&Ux7y9aW9d7jfHkjk=m}2Z9&@W$T{BxJe->q&Bstz7Vy1h$C
zT~q18hr`GH*48t(rLWCeDek(??7n*VBQ1};f<`mVCfP_{x-iM3xpdz1Yl3?sEQBTo
zdr!a2_vrKQ+bOX*k>w^ib^M=wT@&xxXA8*wJ*rx~uW3i<%kb1IYxfGIn_R8+*py+P
zrz9hyGuxJH&-RCr-NKtE3NBX5ZvDk}yW~(@{;PtRf(?wJ)y<OiCUyER)v}v6=uJDn
zBX6R1`M*iUO1-nSey{EK-RNWc*yqna(+8TmwUO20HS4^7F>kQxe`VXcw1Iu;zWIJG
zS1P2>HqSY3<*rzs+w*3VfSOXcTE}W#`!@Moej1Hes-B5#I2QUe^KkRR-R~pw-WaSd
z6j;~BczePrp3ly*uFR9qO4M5lHVMu6mg%5olytDgH>^4DA+P&K(Z%_;E|-mMcVy)&
zUp`vDuRO&{ve<s<G;>X@m%o0uFZ<3qFZb^*&AkHbpRC=D&qcTGUi;Et&N5JJ!nM?(
z{oAU(U%f2);U@Fj`$`%%&pcE7gy&mLO!=Cf;#e84Dzsj8jj+6d=H1m2i5h?F`@()j
z98*i5)D+tC%H*Rt>y}nk*3Ap`Z{@L?-Iy7C;)(V5qO8YJ@z<Blj8xarUURxgX2YDV
z=Bd$DpN|Tg^XW-0b^r7v^4^R}<FL{dCL074j68F>zcYO<EqSr8w&bPGm44yOq_sJr
z`|Rtc+jlNW<O<v${QH~2xieYKQ=U5L3)D|Y*~i=a=ZanWvQi$o3!k;}=IG>KTrjC>
zlJ73VXOdmNL)H{Z88ON~*S`K+PIJL5yQuHK(*i0}CUjfHWzDOO|Hl#Vzf3}Ig{ylj
z=a+dqcdR(FwdLsyt}EL_`}SXX)vTKCR<!NC*y=;VwXQ--KBZjHo*)r&<Cv6xRMQom
z+7Gwn>UZuj^s=7s!e%d@lvB&|b6#%esp}gfOa8I_n6i7}i}qyglbkB%yxQ+)-D;Yp
z{plm?PM`A9trd^HbKJigb4I(@Gh=@^>(a|pMUvWMQl+O>9e!MYUOdNRe$BJl<y+O$
ztZ!Omc`dzt_E;=qgi5rj>gKSZ1jn26re=D!w$z#H9*uQ5Z+W3Qtl>e~^_5>QFS>aw
zL`%QLVCswoJnPtam(956)h-;Yr*`^m)zmdNN(&!fyT1J05xp}9_G_yv+t=4$i~n!G
zRHgm>^g;_hVbGB|f|+8X+kIaODS&wwH;Rf)_j@VC&1z_BZe|SLc+O&GY+^8dA)|yw
zeMNG?y1SclbELITO5fg=dwbi)q}$ta)wRvSa&B)c-M{zy-RIX<?)v&C^PHS*+Vx=5
z*;4|}+&ky`bbGU=vaYf$v$#W~PsEIgjgv(WI2`A3_R@NjlJz1fGhaRFMbatO0CQ7D
zjoDTV5;GZmczAjYmM|n%x8L`h_DoEVfh+k`y>vZemRXzHv~AP;7)-0BtIfTWxf%Lr
z&z{{dd$ac3$=dRF?LAK|TgD*H9o#T;X|JY3M4V%Ake`f$qTX^Y0rRcKrAAvAHFikd
zjF4hZ(dqSlJI7a(G3}cl!|eYW49V5j!l&yKi<bR1XRtO8hHpDhaSdfT`s8T{!=gi9
z>a`9rI9m%h^c=B&S*CX`=D*8qDQW5dtF5IPdLRDxaQm<PxBvRd$M!<9Jj%)kj$FFI
znvjx}m&xw@Uw@m*+cR$%bN(C7-eL9U`d5CQ=k)=M8vhdegc6dnzWHxi-P=27;abfG
zryKXK9lUz<3a3JLe$uNHb^)`Jf`8^#snO2Tv+L_u|37QEW$TuofB&ETwO??OUfcfy
z#f<cS{M9`F4I{0(Bdcc2(ummg$9enAg=g(e{@z}f_iO&{iKeC-OSb;?-}ll!^#9IK
z;cDyI_y2EyV(<HRx5C~zi&kxzBJ%Y=&%yn77nL3RrUu%0o;tl=K-y~NpZ<sU^H`lv
z|M$62fACNFB8K{&|NhfWOA0rAVaPDP@Hg8<;@{W5;g|l_2Rb=@lZ*3Vh*Aq<V^G#s
z=5CnWdhmIDqG?%ak<r%TpXT5Hn|zA@dw+6D)~m!Up3U2G^3TZTOuZ%*^-w#?B%0HY
zRVU@1nEv%E+b{4+Z<)oA6MSn?vU=R(nKOkl-M4h_P|cpS<H%Oi`aXlFaw^x-_15K0
zD3^Nw`SadI?w`|Qv>rcK5maYA<X0<GaIJFo%-WEH6aSo%@>Q}|y{2DSp18sHMBN^S
znaNvEpY{8+=~CnyQx%H`-#35$_VDSsz<pA_>&`9RqyOj#yXCw|GR3Z47rE5Ji&IUe
zL?zwT7Yh0Eqt&t^dtKAvcz2=tGg4E_lH9o7_8pO3zHYjfeomO8=(o6_Us^f(cE?=q
zCGWnzT%+--j?9tm8)E*eO)5Y1e$s8Xub+(LW3*Y+KVO_stE@G3jg#72<<pk+hR-#U
zdUd|asyOhj)BJwx!lAEwcNVTXAMv<;icZXq)z7r0S$t(TL|tS)V*lG`3WI&%g4y+|
zY+-hJ?wpP+F6)Y;UQGEMsC+KHaPuXtifL*r&oX0#tha^zJZt<e>D<SuO9NI_OnN57
zy_Z|(_Afq;cUvk=elI<<bxuj|<(u*AFZzpan19VhwXJG_{;P}SQ)0!Yp1*$P{%)C%
zxepR63krU8i?Lk#^!oj8ubWM}?`JMcvg^AU<yU{_Ztm>bk2kh`{<LVzDO0h+say}3
zd@i*;C}cCsD|gp=*(ku+vU<BvvC7gEy_lIslUKQLx_TI}y_)*$@A*YN`eDn<kEXw{
ziBrsYGbiy)XqNrIq?`SBL-qRpSY4cZfFn{Z^<veP)o&+--WR^5d6n<Uj?_fC*q4pz
zyHfu+ez>*gf4#u%P4BDK+g;u@M=#7Wd3oi?G1ZxCzEnJ4@wM45>P1DsxyMI3;}@2w
zZCtvNC(+n?^?_zb|JG7Q{hP}sRbG=!swv+rcWlRd%NY|SN{zPq-w3m@Ih8ggbJE$(
zclximcYiO{n>E*a?(^SIPe;{#*Y~eVk8t^rCSWU<aaLva`5cZN^^Jkk=Pr_X*K@^a
zY3rG$b?bYXid&14r0=W@o48+=b(yNOW5Ig%1LwZJ-5z``<eQj?)#q97QorP{t$Mrb
zZeBIl)MK+27+!Ke;Q5xhcx$3yN%uJ~KXc1VQKwZZxb~JPKJYY>oVp`el5_p(KT&rt
zIv-BEV;j3T@bjh3Q!fQredoSgzak;yWb^7y*Tqa_eibjcTvv4SJXP8M`1TjC!j}<F
z4quiWSh-n<-Qu@jqw*BD?4OO1VKb*r?P<Npckk7t{d=0&a=v`Ia&yOOu{U3Oc~7bS
zvio(B<+A}>*%Zx%p$XTcb;T@oe6Qb_nf!b2w8`t-c6o1<%{^(ubwz23N#RA#V;>^w
zckjqQbU8()&Mx@qvV+b&BK{}XA4cpq_}i?~zp*}c%F89$6ZR}Veq>kt8`aXTo42y-
z-P=SmD|-Yi)MXom^j7P#aOZFztzT7=BpuY5$?{LJagS_;;>Vp;xA>kek2kk|?049M
zbHekVdVU4sg}a&Wt~?T0w4&V4&Cpj__l@}@hI;*tk`vATY+X9V;e7X;8u{(w^-77$
z)P(2tlz%A?yY@oLJ1gwlk`D2iof9RkxB668GBzJs)%+~orNjNXqhaj!WgR!;x_Dg!
zcBZ+6?Ag6I+K~C|sYcJf=f`FBgt?UScgHL<x?K1D?JaYcu${5}C!c-$UbXEm|Mgu5
zG}CAQ%M=Z*FI}m(Eq6oc{b!ME{nFbu@4L7_qvD(Nm#zOfTF%{A`HZ>N!KyWE(qiGp
z3lof*e`OXI?!U<I_HuDKM`7Cnkqyo+c0y;Iznq+7yhPdftL`T2t*g(z`}FeItEQ5R
z9To52J>~o88~^(etLcZJqnmqc7H9^`&25>h@@3M$HB7Dw$5(%>zgoWB^yDT59r+y+
zWqC6XUilhc?Ge1K=Y*DIPwEry>&_EY7EaH6cp_42)-8tns`(G5a{qPmoLSU6UFvw3
zruD_vy^V8gCM_+t`FpN)k@(+?c<(7!O}E~X(fu6EwoPQllLINgXFO&uUY|RwadYOS
zFAAk!W<LBlUtm?qoeeA1S3EyazchS0e?alBU;nmvtA1Z{Q7!FE>Gx?bcg?9eznJ~2
zT!*!5d3qL8Rz>Ld)QA~5ta1TM1@6vU7gXUsi!UnS-OM#2o0k1e$$9D4ck<NATi>oP
z51+Mkt<3K7S5a~1$7fX>G)_6USW-G@QDOJr=FZ>R%{wklaNAttqb%$tQulS&e3rI)
ze^rZbi`6}zEUCSb^kAl)d~M*~L$_~n*4&)GGsN+4nwOl=1FMzc*@EBKJoPnQWq(6t
zM~u+IdkdngA7ye%{WVo{es5ExzU1%MY0nF5Z)+~KyLRNZ+U4KbfrsoDe7YFSXl}il
zX}fgIb|aziTN)R&^fdo0-8YdZKC$4|p?@DVd+*oZu<|JAj}%urceiBM&h7Uutq@T*
zd?H#9vWxTHQn?j{-0d;3m9r}fa*ZZ#sGl>%WzmFJ{#U1F$}njxInYsL;`R6L^2qcn
zH#e}YO1aQ<;-LJVIU%-hXFuDrYmWKbWlJinINDPW_3XXFXnW@B*61VRLVLt+@0y;U
zk=S|fx>;IU&(``G(wp{kGI75)&f@8~r|ie`<lRM?myHt)Ys+UXmi=DT>VHpW|8`IQ
z(<>MET`7ooWX||SDDdZpcelJn+5DdOUQZAcUZMFjtNEhb^qm>?3%sTsj8tS3mic1v
zz^v4E_w5MDoHN|XEdI5Rg$t^;K7JcCt#GQU&8BaHi=DUr`fa{ct3JAY%DTtTXD3Ci
zV7@VLHhc1tiJnC*t(r9}?Iw6iulx6J#{SN`vIpxp-7lSf&%NvXh4^2$-fUQMEN0!Y
zm>0>G*)_8s&XT**C7k@B#y*of_rQdrIlmeD3^>&%oML*Wv&L-OH-lo`=FZvk?RF?v
zA3oM?YX0+g;}5PRbAeqA8_qs;s^=+Nn!|kMUbozrcQdUG&Pm*RT3NW`YsvB7+n+g|
zQ@-(~$>IJ&sa%;gvd@a`PHgM_&Bg4e{&m@bfcczd>&~s56~5)#BHy3~?Wd=OKWF_B
zl`%UpGlMJp@n4Auxo4%qEX&u~h9<RFUb(YD?o80aEzukL`xmD6H)pToRZx=U)7ZSS
zzUkHC-c6ggOPe<b<O}b%srk*o&aqHn>epsL3(rjl&1W}VTb@yTSluE;&9Jz9=lhR`
zE@h_I-`5hkv~=z4NBd7JaKBdaVli8=>+y?1Z*~1yz8^JiIg~usKd2_xSF%j$;mcn4
z`+?_#ZwIJLJ6ZQ1=a*P^WPik=3GX*QR-c`l@MmXz?5^@>PI@zLoqcJj&OS%D<M6UI
z4&sw}D`dWlEL)Ifu_oZKsF<_iyUDjM$p3QRx?kh8Q&NPob60hXN+)+veanoGbK-Y@
zIhpmy@Pf{Z2eCVxR?0i2*%ri>zjxSEKIP21g96&Y2ED(y8vL3TC~n@qGi+=5>aREF
z*Vj4(K0bO&=yiR0+C_f*nxY4n=BNGmW*oQdOZTsn!m`(dUhmcE$o<TCzHep6qPQsG
zlpDO4JSKN=X7)?Aop@TbYmYLgTEfrGcf-Ek5j|@eW+J;rv2U-SHSa%7PUg~!oGWVD
ztTn~|XIL(E`|!i>dc?ok`mYZb?q5{TD`^+V&E9r5nr+LhtC>3N_1=>9W?CZCq9>ek
zcwS=SX7j&;BQkMYX~*V#KF{m(!j~9y_;v~XIl5B(Ozdk<mNT#J^~9O%aoDmrouf;9
zdjEoN9tJGpXWTBB#O~K{Uvd6e`KqYd(&zNtW30SOcC0>7mpuDZYWq!#%m%}Gi-eXr
z?k?|DR}FP8ZnX{ejr4i>`a^w7Q4&M;yss~IT`J$xxAV>l-<8I<Qcm;8v^AFU%T=t1
z$|`rsnjHS}XY~WY3CbLD7w6B8&--*>4)<q^iAu7}>|0;hD-;xD?_atu?T*FGl-)7L
zp=-}6>}OF~T5&$$>VC`Hx7RD0t$yu4N$~0VWB+FCRA1SxvhvuH`<E}iFIfD}cSilo
zPf9mUH$A>sx^?=E#Z{hd_vbOMn=iDQv5v3tM1vK}u9m+N`57WIY(n+70uJ3jpegS<
zZ(_vC%N81c%tNxLoorW&{$Y|Edgq*&IpZvQ@k#y5H3To;xU}KI@9Q&e=v1^s2Ol}|
z@Sarl1m#~!{62vZ=dJh5wPg0;3=8~yujk?U&-EwTw@rx@ZLHoJyU0c(pVj!Vz_~xW
zEG2^2P97}j(B8PO{>pLf-L;z9meoQ`Nk`N#sFgfeYiJjsz&3LW<5XQonFS0&H`nf~
z`2J;r;pAV3?5D1B4(MFyf1c?<W!MVkLe_Jq4&S^!srgB>>zPPp89AGoC9)lkK??7J
zwqE2<*;KTw{=C}fSxS{Tcg{@L-1#o>!}JF!2c*3fR7>BL+x(NP_LsWuQTsA!!SvkQ
z?@L(^Ut_!&W$V7|#fqP)LKp5w^-8>~FPM9u-?++<eeX<}I7h2PbEj=ll3eqe?T3YO
zcE3(+<Nm1%RTn*Z)8441C0Gg16knd_rn=VRWPjt-Ym8rZa|PG0ZSJ<tt?8?mJn+2Z
z?@QT^S&MFO+xPg;?<gU+#ajfFyDi^O;(LF1w*8(5N6$4ZEpJ&Yu<jejrmaF1*2bC_
z{W~^!IJ+NcI=opr=jBZ)8(;2gc6WS>!kUb?T(jG`b$`3(@@+1yk6N~DXnk(2miaa(
znR}13Lh>cO2~v;eo5q}K{8j(sz=H7h-U;r{4j=5eZL)8l*sDjgoC8cF`hIBsQc?D6
z)}FX3?A$K}3p2$>PZj^X7Teu_QLKggjoR|80u~PcXPYg)3ES-{c+@ee=tvL0!cQ+V
z`Pw(^`ZL&NGrFzPK76%5H>sgg$kWt5Kr8;oysr;_)MVfPyXwhCohOGBT{j7c)jMUp
zZZ=rQ9kH@oTVk%rrQ;pRwQSS2@K)(N*mcZ&n{Fdknz`DD=|-UDw%rls-3QEfy*#w7
z>}%#@-)(_KtEO0_uFT}xo4RfF;>q1BlFcsb*s||GZanL@WQyGWt+VW#65cP+QaV`M
z$|WSK+OFidaKpQ*=KIV|H;>%9`+9=;sXw#o&6tIKmHz5hOh2-24)1-dO&3;vUR`^{
zIJ|#P-9AZ&Yjb;EY?!!Y@n+3XXZgt|n%x3a?<)nqf3tn=+CK;H<(*RTJt1BC@c7?Z
zFPCqA87uhPYlDAR%JusnHiYer+jXJoa{klK`VTSdpDUm4ITW7hqGHcHohPY+Pe)XI
z|EsU;(u-!)_p?uyYrgZ%sGjfWfhx~GZ(e04*EuJOKU!`noXRY?GiIvZ(jV$h3IcnC
zONH2$ZM=T5=+iX4WPysh7Rx&A&}WmHix!r?3`yUX{#bF3@4l=fam=>vMrRe391dlq
z&Of%%$Vxk+I^tdHw)x-Bm#ix_+SOcj?^^Q#AC@=9^Zsy}d)2o#pEx@AWznC*Pxb!1
zaumKN7BpcEyQQYnGR@03U6al}UY8Rs?pPR~{8sqC0^irGe4D=pMRU%R$~m)hF~i1`
z+QJJ@xi8&VcJ)$U$^36WzH*<sx@3~~P3<kw&Rrb(`75Sgc(6*?DEO;jm09}nzDmA-
znLFpSNk2QQxX57Xf)L5}fcjFybGji9Qm4m%U&nq`t-has<qpp2MVn)$rkvu^nx*dR
zm?ZP{K*z$Ad$%i%JXNn~1f|y$t@E{WJKoHmrgd$Or@tPPZuqW`jiRfXs%M**`rn#u
z_wE`0hH0#6owF|(M*k~I6#3>bBY<_{xix9r98W7m#ZTo|)i&8o_%>7g*<+LXl;jD$
z$;oq-XUtq}ab|&HQ26pI_a-=Q*8Y){qiQZ8Q@mQ}bz@F)QHb#I+)|q>JAZtC7%HE3
zR^w=>$$`aXw$%qVw`^#w$ojudMc~`}TA82=oIzcl4_KdR9htJ$S@IaW?Y5Z@C$xBf
zdH??D`}LoeFG;(8zAh){bHmMf|4i=ifAy~S{NDdNn$@c2dc(>5^qYpiZ-04PEFo0i
z<9BM4!IveQ%zo~^sjT_!o>1~%j^Nq$YeNpRY|xEmSJF@0Wp&YdiFx$W9}^^3@43m@
z6_tE_@3ZtL;*%f!WU^W;@19iDpJC3!B2>roaL*@8@fXvzXC<~xI;(doVe;e;DY+`S
zQ7u;rB<ttsN4aGflus}`zqMT9__v_vkrsJ}w7HU&-Hv;(YUQR6{|cWJ3dVf+d@d+W
z>!8a|mqV7^0{b2;);KlU<V{=gl;a_dGDbRcWy>A41b$txHl0-AEGc91(ctW!`P%}$
z6n`be?{{D1P?dBgz|DT+zOWw$OjuWU{mEQ);OOnf0{#_7^+DHT!jePerL}LI*vK7l
z{`})wrH|svujl4DiyM5HuNJzaf$^56^s_Gg<_KlWNgTdw?;jRrVM$55AX1^YKJ@TH
zg#u#>PG-Ix(LBFa?N2sU-J+m3fw?*Eku7uaf0KnSd#AP^>sG0r?;vk$Y5Cv-ON3U!
z!Po8$4&tj5=BAZRSy}&?cU9}l(uGe>Ct0LjxHBtma{qdskXC;6ec$K5dh?f8ac=9`
z2L)-5k6S&LvXA;0sB6=GR>AdT{~mRbc|J3&gi}I_<~T2Tmi=mqxv{c&cjbQdE#E>X
zT~UAj!MH=hWaA2<Q&&Id&F0lFpYyHLc(KonT{1Buigihe3ru#@$iHWEtzS7e>8g(S
z>4y3`UxDnBM`|;AkKL4A(_r*7+u_<&+lol>|4C)O-L2YZdmhbpbbSA(%P0BUvXb*R
zX8rG6^!DuKMFEOuzvOra{FP;qx!rVY;>-V8{>pdV5}lhjH8_}?pBI}Sn-?+p+$>wg
z>(^5EdoPfxe7f+DrS(qMpH~iCQOR3XzoW7%Sd;ncZ)Kj8r*}hM2eM6i6=GP$a@1$Z
z&Vri)VpFfi+NC`FaHR5+@Ao@%GW$%o$bR`NJn7Vh$!dNY8}H>bq-`m&Fc5CeUATDZ
zb+H&{C#Bk?%lcaH3Id|m+EiR)J3hs9YV0Ow`Mpu=Wdp@xHV6KZy>;M-*{9iRFaNw)
z|30xkT>AabEpKlbIq7ts3Axa8MU^?Eck)(Ku|n;nmhICL#RR$X1eVHt+I=dqW<|L5
z{6kX=QWPs=<nLSf+)3$mD6zI&vTl;duO0m^@dch0A*@Hv?GW2odD_Cqp=J8g&%aMS
z%4!t~-S@fd)HT@(-^8No88Ro<^BjIw`ZoUUnJM#Tl-1X4QHgG^6rLu~)b;RP>BiY1
zGt}I^M;?pPz0tRc`QnUCG20(ARp=DfvHEh}y7S|hK-COAp*hdhi|S?-GU#uf$F)KA
zRBVAl{55aG2VVSdZ)x2$st7XoKFO-gq`QwdlW9d6*Tjr($CCo<%D=nMF8O|D-Mk-6
ziK$GQ|8iz_e|530=UCZ%QuktX`bParrC*)Tb}*ismYZQ$GBf_Q36puIxLPs$PW|`E
z7FIDCe~-q02`RWT_g{Ky)n=#Y$4nQMRu%PKoih37+@;^0-Yi+Tv)|{OS<C0HqRXWL
z4prCZh`*E+KXcJRJ6c(KpV#zs<NlCshEH0hZlpfG6x-j-)#*@EB~o90OL?k5sK}ES
z3!coIRN7ziY?brgbiTz_O=Ujo@)z>59o7%k^^5b~!gM5DT~gjw?We4kV5Fnw<^K6c
z?TihRr*!(Qy87JF;A|4()CCh>EL~x<U$a_p;XJ3)TTiN(3BNU&ko_tC?w1WIbDP7q
zWp!>~DYshSb+w-V;-nMLz8FnPtyi$lJ6B^8o?x=I-SwU4daKL2ciZlGH@r>tUVCq6
z<*81;CFdQs`^X7D{>fu=eW6=z|J{!ISsyoc|6^nA{`_CsHg4q~?b*MIzi=(!Joi?)
zx5W6E;406#TH9`}uV&cga^3jP)66wz9?q2(npju;H#o9UhUZO*4Y%&L`4blkxG_l7
zAF)*E2wP>qY&^R<L(uYN{It32iVC%DJoXexebdtA_n!E!YoX|~JtsH!3OY&rJItmu
zUs7`A1mCxt9gN@bzhr(Dz3=1;jjJ}nxlDGmpHE(uI_KsE#=z|^c1t6c6?m(@HTt`;
z{gl2-Mr(~d|EK;JPs<nV?fgFdXyc<@7pA)0vUpctp?UOsZmQMF*9B{L+41Q7)xRWQ
z;nBah$Z_X|f@6;g{bR-cnp-ATn|$isu(E>Z=7A?i7jlK_UVQiYQcL!=<;N|a7_ix#
zSD5{Ed(HyOP0BUP+y37Vak3MPDGAyBaN_Q&o^z8}ZGPTflbxt!$h-8%UHd&o*Mh@@
z^?2e{4sqX<6|Ik5IHT2Y%eL>gwGYe2W_0*ISLBsR^L+i3XNA!nw(^3|FWE8MD}FC<
z%7|)gKh-$nt%*tOC&N}{p_v7f_H*p^ww%SRcgCvmR-WINO{$+;4oscu^89($%FUI`
z8G?y^!hQ{#>VA0L*_gZ{`;C{7&8NpY$?}5T&t7ji!n#qf_Kj#sz2(UW3ui4u(dTzh
zq|Fpe*nar#FT3wsy1w*3dL-$$%SZ6&>my<D%%%s6k3B5zJlQBeqr9v%d_hWKxXP{V
z5*~Kt8%uvItEzH%UTR$3>$9Zv@%Ku9ufIXxr`uQfy~?-knz%H0kNca$Uia3s3SRSl
z{=qqD`Qqb2wS{_<a^GL-+u%`uXT4>I)A<)tQu3dczG>V0+V<?OWSN?q$+hbKn%A{+
z*beD1>6YIU{v&(5KK+iR9Ycgrl)cUwUJqSsHwl+hhECz?`=9NUe90a4M|}tT-}_UZ
z|K7wC&uRZu_EMwp2|+%q;u+oB`nx8UtYlfTZ`$O&O?r#3KK6aUw0Gg+x!eDjiPV=p
z+Zl4qvw^R~K)m?R(UTjN=IA+dIGDc=R!g=i)?v1C%s1Yfx8us08RqA2$4f3KQY^n*
z&>U&u;%9%h*ifwF;F{aFICCbeIrZ(df7czF6Z1P{cU9!pL#Jk0eVY5mQ#0tziC4X=
zX62rF^^;Xe!eP#1Y425wOP}W?tHgbhW7Tl3udWso77=jTdEr`}{Xrp)7q-u{!#;3Z
zeM?-Mv!sM&a<RgmIF|R_kGb!>JS5v$;5Rkvc(cQ+<fdOrp7ZybPG{HObG)uJqRPr6
zsYj-ML8^qn-FFA<-&^o|u*W`Rjl60g)_w4bsO7<D)}Pfq4z1Pl@|<q@(D?WX$roE5
z$*YS8$=9#3Go7+@4ZlpgqM|`|UrM7ZlQNe?wQH!WOT)YD*XP+94$c;^7u*$j(qskW
zU8bGaUu{15P4%GQ(h9x}{Vki7wpH6}%H>3Ke7s=6?cR{fEoE04nAG{8WuJb6UX&fz
zwdoh~qQ5VG)c-Acf|Whz(%f|~r;8^Sbh1oo>~fWeQeIhqYqNE6ZH7$y+0LcX!D)iJ
z8ItvpzRZhvsfkt8+WXp@N=F}bD|z9h*S>nHafZsLpn~_;mntrGZhial(DJOS6Res&
zH(l~Kj9Pl)_T3Oai+@o^4xVEZ_b_suBlC~7B<rjkd!)<fOYcsezP9|v6Em0BrF*V;
zt$kVT&*MBfb=QN7qV)+~O+j04nYy&{ZD*Y2ZlxvkFhS9Fjn%Qv13_h9V?5e!B(E{}
zt?J;h`RejRXH%@VT|K`)$(+|Y*zC{mJMR{A?GQiO_SLy_wrl>K%}1T)o%D)6(0QxR
zNB#e&lOHD7K745$E6br<<lK6<Dj<BvLU(m7sj}XF|0QS2ZFg9#4ga*OevgH*j)jSp
z&9fUmSpv;>*x!{{+_|dkc-Qmrh6NJLe-Z@*(vBS3P<>8UN@tGqA-9y}RtM~#RYZ46
z2%neI<JPZ;_&3ja`(Ix>IZ=UG8Lw1+MaNGQlk%xmUl5?+8v6Cftn@A6tL@KTVwh%q
zMUZvz)igVOo9(*sLd+a58)A?Bc~U>`_GG^~=ePRI44Ad|)Qe+2HGeDL1oRg1^;EG<
z3=2D$dPwc?w6`6*LS!PFn|tPEh+mK5O!z&k^-*|fvi<35=e4t*I0+s<{a@oqNW}AB
zb<VN7k1kT0&Ky)X&o?Z&*fRT*;h_tycjj>&6_;K1cq;$4WrzN2oLORZ`h9CvbDmDy
zq5Azx#is@^ZhjEaF1s!4bVOw-!-?>lsarhe6)cQiSKrgTMXlIUOZoQqo+X;48!lh&
z&?rp~vHfXv(lI@n^VO`^HuhgG6}(tG*Wvgt=5^~zUfi4$5PItVv$>`hou({rC_eVP
z<e7-jr<X7573EbIbgHa5Hq+|M95ahkkLP_9I`c4PUw!mO4(D&r8#6ZKpBGtmeEH{x
zZ+A=X6<K2CB6wDJOI_NpmT76K)w|X8)=gml6mZ(pZbrZ5%iK;gg%d)%Om1Gf@IWg3
zkoC>xul$N3Hj{Jt)_k_w`RjPs$r34-4<2*ffA<$nIr}tl)}5m@hjIe+_X{n*zQN>K
zSM~Zk`yL!P=)3A`YrW!ZiA=Al+XJ2DPHbDwVEy9A=6PS3|JzhwzH?vH^mW^6XRg)d
zd>$u1tX#L<JICn34*%{~cX!OFz5adw=l8zzSN-C;*LJQ}^!vdKuJ6+K7C%tlcPDa7
z`SXaNgayaHY@2X6ckRX{m$i;1oP5|E$#%)%$Nuv>)G{nH&+<EaCdL0a{J;MD@5H!+
z-(G&NnpNt2^yK@T*vyhgZlQfSN-1T#K3&|J<@D#;{QVBaB_$93n(yF$QqpsU@%CX^
zuCyh&u9Nrlzk0)xx}eonV_gMb#l>~?g=-}?^+!3Y%w8|ES8{!7isO@iO8+j|&i<?U
z`&<2A+Z#n@-WUJw?X9im-#h7$+kLH)!up-NA8~gc-NfJiVGWb;55bGmwk@}|x@mXa
z*?@a%qUFoJr0V@#>`JUk4X(4)?lZS*y1cFUuC{t+Q|KaQ&iT?EHu4p6PXm7+b$Rn^
z{?vOLy#)4Yzi&G-q4HPb&f^ZNckOI`aq^qAxV{?4wWPXR7Fmr2Q!ggA%f)tz<ek@F
zyH4yv{iz3f8_zaybo#T*arZQu@bv3}qo-W%ee^NX)&0B1be9s3z*iCOx=%|5Vm>!c
z-Qi=N@@l(i=EADJg1Ca$7mm)0zuUggzk1G^h34Fr<<r#W?M-Hq@Q(UmZWP7s$vpqL
zWzia@$CD}+Z+vwy?|s>>lB6gt-}GkV(!Iq(A32Wgyz-^~(?8AF70*5Atew5_<)*uJ
zj~f?GTreXu)-N%3Qb6Q2g}e_&$tR<D`5u~HossRtQ>$10Z11A#m6NW%);uBeaEp;~
z`sdGGEc3!=opo=%$nxF&Wc0=YNtdlHcjSZbM&C8PZEyP{CSq&Q5p!$v*s!q5_u{(F
zvsawGf7WADo7CQZUAy`vZa#7~U)`LP7=G-Xru4=4wR?VyW}Ht{F`JRwQnA&sJ0{F?
z6k7j6*0QKAaNmUD->ny}-+#Y@<xfq*<fn|`ZF%`YUeV_D{8i?sXYR9=QE<rFxn+G~
zq5k=Uja+;-)>$=M{oL$pTrdBr;ZnKinXJJc@MPMyT}sP$cg$$-KXtIRzFAW$wRPW2
z-Y*qRF1xdm6&V@j|5q#iKdhzMyl;tuUIoi8v-U08@7<?8WS_@jAf(P?F!j#8j|V1u
z-3;8-JWu}EwL3nRE7vmx9FBY@vul5MC7*A|gLU1_7n<8<{rRl4Nb6aOxU0i@fyYNq
zL|@t!lI*L`8S||By1bEL&%N2wM*r(WqD8y(pNlkx?>-oz;^^<$a_r9h52tmTe(f>Y
zcsV;&{c+nSj@0acZ<|kxCd~3@?7kkiX&ToRn=kbnZ_H=cy3uLI{6L|6X>0F{8O1G0
z>Wr45f0a!3s&2k^?9ZuIN4roq*AscQ^}Da$&3#c{Ao$T^$;$sZHZLC-M!bI*%^tk6
zum0Qy|Ih3Pr&UWRwW(*`I`uUB=bfjERas}ASt9ypvBU2hS^NIDtH|3=J?`0k>h%02
zh8Zc@li#{EsefINFMo04?{_AR|FRC6?>_ZwSD@>Th`3At*!H{cJ#4aaadzI@-#dQU
z^2@$Um>RazH(lVP<%~PW-+f=z+dApVU#%(jmJ2eX^y}-s=r*oAxv<=A`Rc=$EWRfm
zo?p;&ODF4&>!uGk8})t$NUoafw04Q>d;UY~f_ZLy6z+|f``M56hMVFor5y&(S4>(L
zvVHf1_p|-io&O}Y$yHapVA0Vzhi|DIcJupxZRR7PuNggFw-|5D;1@{vRG6p#|8>kg
zPvv{HDOYU|Tq;x8^r~K@X0~`IpY+_A9}oZ7yiuIY+`g7&aZuoG<=Tx0R;GI_>0A@H
z`fzP(`Jeo)c4mvuXH~z|c~f2=e)nAY?~V3fgFcjQ{G$Byoo-Uh!R%)zeo4MQ+NyB2
z;Kf5_6*ms)x!ftjK0idS$RGQ7<A9m3rI+0Iy33qg95I<(ErGRLc1)W%uRi%?MVQnz
zZ}YZERySKuS_Qtap0Rdse_fo)`?n4!GasJjH|O~GJeXr^QKyDu&i7BdbdJu`3r>B}
zWSf1VnfXPo>S+U;zsk$cf4%mCBcD}Ev?jPkuHABX+s^s(x9N4&{=VoR<gB6{<#<VU
zON;I~iR@)^{v}T@Olp4mqWi+XZEdgWS)K|Q#caN({^^TB%jL2J&f`Wc_vK3U;$Dg5
zq<<<+N_sXSwSuj9W>o*SH|aHJOgmq)g{FOJZgg-BE2}N<$^P(w^~I%}H_`=Z{oXhA
zBVr`}?O{zx*tTx<nK#<A7Nty=-RpGRR%fc^l+ZBE`q{6{j%<F|cum=UeQN53jBHi8
z3H5Ggl;@T_*mHDJOa0#8FMe&iq?mlD-m=)cg83Nl%1KWfm&I&Tp0K*r*SGJ-x$T$w
z7R9nWPq?uD*4lr!Bv0wTDs5blUUv4E@5S8Y-K)Oca5b8IVRD_u@+oPna*G2Mj3?J@
ze*C2{b@tr0Hl~Uq=Jmf;-(PUK@A!M>4Cm`PDt-4ht*X!XvrKY%_>b7{Oh(UT{^YBf
zK3GzxK6BqzcH5v^85icOy9;XsU2pR)s7o@xIZb-jr+|ACC56tjvmTf2UX-2_vbOKc
zmH-j%d~@aB%E7Z2o^e0+O;*>|N7hFs^|sJcBd5E%44$jMJ(kK=@^uQiy7j0GzfbD7
znCx$S)8EbiA}4;lUgw!+WtH|7KmCahY+0wvnNPVG%fIPPNy+W24hHsFeC^2|XMfAh
z$xjhZPb-!Ex%Ks=wPodN|7G8|O_~=Y=;-E?ZM5ap>6Z!Df;d0aaz84qv9ebawDD>R
zsnzk7Y&e)`bm`2jf}3L7t#preo2%&gC%m}(^l`}7+q(bj`W26-an-N9@>kbVIbyA4
z&mWilntjWw`Zj$Hm=|5yxW1fCr?-je_c}p^-ODDN5zU^%R(AeS^1=Q8Ux~}<PG9l6
ze7O#Pk6z@4C8CyJ*UxmDu{^=B_`-p%+lj>q?jOvvvKK9X&hzWX+Bn-Y9Pu;X#91B5
zc)j#ha_3o9)nI!^A@4oj(`{9s*Ux()@aMXag5`gyM{ceqS0y-tjcXQU&hp_c`>^M^
z^qhq&mR@^Rw@NKA-bM7@R!Of%6+F97v96O~TcWRX&*b}-DGChCbB}tITyfX`s5~jm
zQM}^VRSjv&?@Fbb8)trO_EufA=H!LKJ1!U2-CCMIW%>dBJ^E{Q`CL}iSbe;<T5A5r
z`niq|+D@4#?tS{}cB?|_L>rN-A3t+63h)_9u4t)?%}nlQZW4Jf`YPA*YKG9Rr9l@h
z^Cv3JD)acLx8BR-`LgoDcOPmm20eQ6@6d5sIX70TH=-;|pX@B&PcJU+5)l>&uP9%C
zC}rJ4*TUU@{CDqoG@m6Ya{kG4YJ3lw#27Ywxc#c0#b{ciPNHX8yk)oH8Xd`=)aUnW
zxwLrimOS6Hf7ukBlN(a_r(Be0->`1$%}0CMjNh~8Sj=$TJb#+Dbm%|M#}2w%ycq;C
zf1GpeKWk~#w5}k}b|<syYu%&WFV@RkZJ7P<uTJhX$>S|&`scGe5)SA4x#fe?|LS?3
zjq#O*)giZk@2wY^DVo;)MQTd8q{pHSFKlM6F=*Ccxi>R-?yi9SRd=lXM4m1Da{9NJ
z`uUzGXD`1yJmbn^`2g2fC5tLOrCyhB*m|OE*T=tqmNtE1X^P$4pc1^UHtx>G6gBS}
z!M)oLh8nmUo@17kE0gO@4gS`<n=R+9b{^wKK8FKOjD;Vw25ateub2FyQ8!oNV^#J;
z{+i%fF}Hjo-ro@Sd-L0C%De74muJ=`D@(`hpKc}XadEz8(VT^66DHowpFe$7yqQ`G
zhn)F)kFAH?+>ab}u1oxVS6#8_Pv6A&-V@3<B6>wW{#&QZ@K3e;$sb`GzZd)FA8m9y
z>DKr1t4wF5^s81YebdML_jNkfPqP10z9434?!F^7x3yoq{!rj__Ts0Em)FZro|xcx
zRKX!mozeCK+t~`oca@XO)0+?U9a)xo(0bE@GkdI7?EmiNlpMD1lB<D9$%?iw6Q#<2
zTtAoR=_-C}*UwX3Qg^h}4Kyp$ZRhqKVT?Ew#MqL%S2gSKxAksX%nG5F!gCHrMc$~N
z$jtcUf-m3Sq79yzQ_q<y+?rLJrz|(qY93d?h9|QOqct1vS9ge1*_heh-^rdL)3)UC
zJwC%<jmGzsoA%FSl6<I_{&|}6CLR{mivK@1e%^NRf#>zBET`f&O6)p*VAZ<E2PUqZ
z6XEe=)r*qdnJ;cJSDv1{>v(ig$nN~YY0q!0C^%NX!nxG@a&4t%?D0z-Wd*YY1h4JY
zk=ph3HMf4jah@G#PR>aW`P}>F;_R*k8~Dx~TBp$=eWKu7+RKlZe;#=h=9;A%WAUIs
zc;e>IF2;|}m~3ng^nYod^hL;VeYx1it!W!~mfmAtepGYWBF4VEe|Mdj`1@Av-x(bX
zrshQb-1V+|`-9T@Pi-46n(cgPlDK0c$DUtp{Qib&M%%>-SL$wv%1mVYeWU+v{<2>0
zH;;40H``9R;3xiR*@EV4|8^Yp-StMHX`g3P-Jy<oTr%HIJ(*_ADPeAOTyb;oF>4P4
zSDR!F-o%8%>TkF2Ua#uW>YExQ@+D&5+rTwDj{jcTHA!3JQP9Vo3pnZ*+irMxNc57%
znheqR+x(+HIT{>ck<B=DO^C<yiAmwVSot?~Dk+m+&C*mTZ43&UaaK55KyY2@QXSnZ
z>1>>=p&R}%-#5Lj5*wA_>-E3pFUR$raq)VmYNwu0)olJ3l&!mG@f{YM=VuLywZ#n|
zTgT3L!n8`-_i+PnaHgQ@;fr~B^{Lr=vz^xTnOb>?Ush-kubg+hDdXUMk+t{JSl6+n
zb!$yLc;7&|Ci6{6=mDYqvx__Z?|4lMZ%kRZ&t!`8?5pONeT8~g*#5lD7%%r`o>BJo
zGmGX{Ssa-#PdP2`X4`*_{55{6N31gsEjHQj!z#PsO_$Ws|3QZ$zLfV_{dd09cIaz;
z6vMme<=1ZH8d|LIH~DhU?VnT3-4BoFDVg^(ZGE~)K~qfs`!r)l@uD8f%0T&3VzWO<
zg*mF9PI`Y<A;~pB<UzrcOc9@bTnm2jYB&Cj_3q%|5!z%Lx9U#z>UVET)BjC+!8+G)
zYj(qx)iwdfOA0b;);3r=O0h<LO~2RoQ)=Iw<@F0Xcyt6@pKBkAlS`Vc!5ur@uV1q7
z$d5x+moL9h)j6xyqx+08<Hd^uq1R#+#bT_Y-^CieU8CS`%&>(kaZbPM-O8FW!IaDF
z9F<45U-_lYQ+a>qz0D4ra#GKUeD=Sc`Hq{V%YNziGfU@0FFCBBYm?#J!0`6&`^e>!
z7t4h6{ylTCesiyG^NOGBjvtCwd2CoMxJJ=V>}bM@D%W@oBf~)Bbs1kc`YMvLHZnYQ
z&_D5SVkV;^qwq9|=+*Dv+=$b0oy_G}t-vdJ>`uZirtg3H9&<cYowW4S=7@Kxojz`L
zuX!)dnR7epn2fjo`?BNlK21s+Q&p#4zIfvMbdlt%zP*=jU!PqcH+w>$Zb8tNchX#W
z)0Z4k*k#JLvMB%inQLN!_kT>>A*HeF@=l@mGjDudr@#CS_X)dG&$mr<nrZd-d8e>g
z<>%l%FV;=(v3_!PN151li9A{Pl-)O&F3-Grz=V}KzE$w{wiSDA6j+wD?4MR@(Bt<_
z<Z|r<u?&OgXC^F{7KUplW_8tvyULwa+j38D?}`r-KPub`zAbx>cSY|0`<q^bF^HsU
z*(J>|pDlH*{AOpa?PisF`_?)Rhfi}_(!KK&yfoTs6UuGde@!{&E%ry^_Sc6=vx1o<
znkTtlmRjD$7xnhlzE#_H1=bvCDgPUDAaYyA!<9KV_fFJcUdbn@-m)PidUN6%zxsP7
zK8K~VPRBNOci-z+U48C%y-45gT&_zU6TN<kn!NII2{SAEqBT=fDtGd>v(4|=%kFR7
zeyN>f!ly4+o;<4iSrGVQN!|7{N|KiCg>`P`4&C!vBTv6_XMUucILF9O^nuG&kJEy=
zzQ<YXJ2T5V6r)@(<i_k^F^Sf%`6{||+nzi1O&l_3UT{_GzWE?MvFh0WYla0AHP@eQ
zarl;2ygFd!-HlG%KR#z|_Y#fP?fRH5P<HmomgTuqq>n5OtGy-vwA@f&L!&`Ytz@B4
z=Oc~vZyf95m-QDM;+pt&)61(n#h07puT0t)f6wdfYMwU7zxhwIofYSD9e5eN`ME=x
z<-KqBpP#O`JbzUnbj{2~;T%3Z-_s6TUVnF-!;CLFsIlAjc+2e0*oVx{Rge0@4>(*+
zcDcLCOZxWXjHJbz*UwyUYqvghbEj#W#vPVw^Gl+a=3LymHG}ba$_v)1Ebh#8o%gJ+
zUW@g=>7KZ3g(#Qd=Gp5UottKV_|dW@XTvL*O<Lc2yC#&(d0M~R=csYMbCN}`v6#v0
zlLwqyJS0D{7pTtqWB2Q!np>2a<Kz?U)_Eq10b!3`KUS9G?LH}eNGAJT>B-w}hZB}W
zeKKBCZeOxrYX4`Zpp`Q-0^V;*Udz7hu%|lXo*c7xH;ui!&J@iKSlHI5;wCs@-}<IE
zW-l(Mg_K^nDV!iya!!=3-qMd<CVpR0@lUPbg2E*cd1cj(YgZQ<f7vPa^L<mT+bZ`Z
z9-SR4KP<Z@$JgZD^E$vUOWb}%mS$kL|B2fxy7=cj{1&Ue$7kEY52Dp+>oVkj_S%Nl
zoi;okd;XiyuloyY1H^Cc(Z1l4#eC3b?oRfEH=*lPua+LUvE=s&?v#y!@)zrQH6PEv
zA^+sjkJiTYT}Kw^+<&#6_kOwfr<00a#Vh7Nth3fqIHwTCywQKMLNDtn)!;7P?2{jo
zH4{#qUv|bpwv_u#+p)N>N|JrclB3%7T#Vv+zV7_t^Yzy(p17kL`74Z;X$G!1>NHnq
zepcVH>udc~OU2(D|9$5~%GP;j6}D(jkgiuzYqV_J5&l4X)mr{p3!J6YpX}RU{q%On
zx8?Hr-YOSY8O>D^+AbS4>7D(tt`}ZLzh}8~zF(T4Y3S4@v29ykz{W~Dw%x*e?6@2q
z92Ttl>gjygEw}b=*m0*vk<2A8IjSs}thjl8eoNVq*r|Hk>yo)~>gO$-2U-uM#pYi<
zs-(T8{(%Qe%{j|rGr6Oi%1mMt8n-#b7!`Z@2uX`=GTXQ#UefKVw!%~8PZFE#PHkDA
znkZFYBlmsX=g(@3BHqru)^YQzie9Gt@hyt+8`R@OJ7l#Ajr`;qw2ictW<7nJaQ%mV
z*Q2SGi<DJgE|=bQ>UZbq>6b5WX`WglvsIu_Z_RW2;JErb7ZR*pl22&I{-2YyI((kf
zhlgSxeS+ua@7uhpeqyGlOFO&6BhFQOI^tGT#vN4KdtJ85<(B$)mB*(Yt*%Whc1lv)
zt+n=5`sz<Jl2X-Hg`ZQtaincxjcVxQ_(?4W-+NZ_e}3}t&61DDZq;2i{rbbG^~L@l
z{^zf1ANj@OVUzyO>2CeQoe?J!G+*~+NzeItUFu@@@0-gKUN3vnc=Ey1rU!2_(iVPu
zqP!;iy`kXqX>&X+-((0+I96PCrfb#o<AoO9HA2^ARzIkBnlj}?_Hj$sw1{O4#w9<a
zr2d$QCYGF(I*=dMYQrt={CFu-xnHl0B)7E3(YOf)n<5TME<cm1k?E9cS-<wq;$>1V
zm*-6OH*x<e^2_x`Ms-<&F|VJ3f%~a9dFJ~szQ|K%+oAm}ZQ1k<hR1(RD~O4T=ejMw
zp=<7(a4ys1*Y+#DQnGRWU+9{;mp|mWbK2BL>I#Blm(_3o{r$GKt5EXj+0T>zD82Od
z6TWRJD7$5k)jFs0Nv9>Iwe7mHWZCz(^$sO|+LsF5PJKCj{7+Y+@<D;ze@@dEMJlw4
zzk4#-=YFOeXYZS3CvHw*x0%!sxcXhtiTY1(Kc98H^FLtC@)N7hEXWL)ckN14zM%Z&
zZ5w&o<R?FUyo59RQ{1zp)IEorxxX%$p=L1s{@1+6-%MP>g?GG|m-UC0E75w}!W-u;
z-|Hqc)UUg8Zg0TKMecJJ{%Mq|el_`6Ny9hZnW@$rE}A^p)}<VI=-k{5YCJ)!e;(+q
zTlApS*?3+@cK6NAW(D~M{p|^TrmN1(j9P!FY_)u^*RIaYYbRXuw9OCZ>DNy=bYNzm
z&9mwARl|h#=zMKG(D+B<hEGS_#Y2yRw01v?juD^ja;R%<eb*l2gO?2NX%-w?u|!YN
zQ|h~Zg8cPY_V?#mW=3j6NR&Li6m&YU=+et=7PiNptG{Nw>h1SQq0VnrbJg?u`=3_r
zt^ZZC$F!GW3h!>|&t}|yANcFH`_7!d?9a5R3qvN{`4@G$-}l<a1KXZ5zt?JT7Wn&V
z>mvro*azQYIGCpJ9lPLD|1Z#?=zG|05$*2A{G)F}Y|{c&v;O~k{^Vttvex#FuWH90
zCr9pnweJF}R6*+(IsFwD#m_=cZt9*GJAZ3`%KpOiaviUgA7wcTS$|!)dZa@#>O$u$
zjpy^OzGT`L&icM}vI6TmuLD)zuIQTNW${LCzqRIri*d)*DrI-uC7qwNUfrnA5&OoH
z^?AdA#0M*q8a!v*e8&(se?EKHA%0(HyREtcyE4zt3r#!htL5H&^m^Gg&V<)H_LqA1
zPZX`(bxegX@ZSWbsB0%)Tr7#P)U_9pJI<W#v_|LV^%aR}@}|sUuKxE#)dFAjw{G@~
z=G-Jbf9CpnU+0L^&pvLSSG(v?nevp7UG-~k-uUyBh5Mf3%#Zto?rQ#YuK64({LyV;
zP1rFGZJ%k83e#>bih1@WuJxAawS6C)IXrvs?6y^$u;{Az#F-7-cepZd{IJ1hsqw2t
z+xvy>zdb$`B$2-3zWkRthir<>zv`RrjW;`+R`<#(%vIv7-S6Ct{Rw*nD&@cRwoIz8
zcR$9npx((h>CuFM)D>Y}Z^Y{FN~d2sQMT^Tk~=vz%U2moPu(oP=aBElZP%avZScH!
zXvY+}MFCR;ZwQ{*I-&j7u`@icp7=#Nn?EU2{m&HDw{j(aO0|ob=>pHYsg|iN`)A#9
z4gdV&l+=zRw|8Ypmw8>?BP7u~b>6=Ffu$)Ae&=z7D4d!YQ}4nZb}C%?C(|J_2j|~c
z`0jn3Hvekqk=!hQCI9o0!uyuL5q!R;Me}W$*uPu99e1zj$ei%zjKG`P{?5F_(^21y
zA0Ihj9wQ%^zV3^LQmD~66TSDbcRzd7M*5nWx!B#@xH~xFibgI&mjH)OXq`xLw!*Q5
zr$_R?79U-5azFQV&fKi}B{e^DR<$!Rs_HNBNqKErA694)v&ZC(!;<;#v$|qG{`_e0
z<haO|H>R!*(mI!{+3I-a@*9+`ukq)+D|ERcC31_y#HVjonAkfgFHJJ>zrViuT;3VQ
z)`PqgjF$v=TRzxtRz2gwrO6G9-)CKPDR<C%W)rVn`*YpW%XhD)-<&KgEm(h0QEBFF
z?c+81DSokT8$1|IbF5Zya{e}n<QMjvGS!vo>cR#E!HkM{x&JPYl>JY)cMC<$yYN8y
z(ps%~FAmSUV7E71X}w$OS@s9{+q%z-85OE4ct<$Jn7U~FP2itaePc4un*S?J&d2lY
zTX6qDY;XH5*8aWS%la+7mmT_{v*p*1`rUKmDy!l*Oq{NLJlU72V1FOyiisg-*A{uk
zpOA__6ViLI_oQiNRO3X8f?hLU!E^u5yjrL9<rsHyc?$c)?}>|oX7)}!->4rMEmojZ
zZU1uGxwVeHUi(ZgyHC?uxXI(e#@f1`Q)N$st2iPPbOf|c7x6T&QQ6kB_Vh>Vl*h*d
zu1eO2TA#>YbN)i#+<)8DEHftydPY`k6AI~m;dktGZRz8Ca{cSYZZ)b|ToldfZ_Qp3
zyM2q5SzY(qmOEV2&h{tA_#Kief1uo>eL4U4E>|A@O9m=)?(0f4wrx2m_9=eF57|5F
z)zby;X-PAkcyzZwI;>W1dTm#t>7xAFvvL|+yl%+n);GPel3_3vwp3M;)!maQYP-nm
zY|19JOR+8P=849a-W+{Zxzg))?3<OT8zq=~>+Y}0k~98foYoQWK>GiV=f_+pzSMuZ
z`KRhUqdw8K&;Ct56&%dF`c|IFjqAVOg<I9TL<b4}`JMQOvAcEEw>1$hlRG!mK0Q6d
z(Ea!I=J*9p<uym^i#~nX>B}Tzezu?WL#@8mrMidfL~|HTTy(#A+P}K<Z_;e`6>bh!
z|K=V%e*CzAscv!A**`me&M<xVaRt|8@vq+(X*f^JJEQqy<x4xB%jNZ|olEu7WSUEh
zWj;>MO|D&#9Q~pD$i^>4UvB9f`fBuio!UN~oV}eFm+tUL(Mhl4N|{~1TcmI9gIs|R
zdB46H&k)y~)#T*Pd81ZH=fTX%a|xVT>vyXpygZ-GImIV^uB&U&2G#gf?Mc!MLaR9)
zB-0))pEl)#*Zil=WuJQQ6;1zonwR-K`#DCDIgI<SPpA!yH4@EPxJJ2jn?cWB7w=^X
z!M8(rS99~e+1Q-&|Iw$5X|MIyU#aIg`=>Vk_onG{?rquk?Tq`IIp0_p-FUt5PVuxH
z-Q6<1c2X~2pPlLHoO@xJUiW8S69;qU<O3Tdf31mJQy9-SZ%gD_i^U?F1C`h{=6<+x
zr?@F%TgG4JRjzhBS~YXb&T&i^P4E2?^mT{b>$kf5c;~5vuYA>_n7{C)n?Rb##*ipS
zkNOG@OGz7!{daw|>+KiJd{~vTE@R&LgRxAWnVvF5XVhzoyX~h1f1kJR#Kh8FYUeL1
zwf<o2Jn(kC?mzhqk#j!r+p+}j>#zE=IdRIY55^beo2q5|--|Bo_#P9Pcm86rt@BIi
z9mhN(FU?*2q^|N^XW8Za+(S8H_u023?Cft<IQRWX{a5Gd`K*OoF7jOa#QuY$^-<XC
zzRUb&I!B_b?#lQIX*AU=IAQ<xhwydPy)R$QU2@r1;C)u9_+F7u6Q?rYSa!v2=2xH4
zRXe6=eKnM?zqIrHmV-CDIv-A%XunZ<ujsM1)t~3K2eZ5QSVWusmnxoAb)sHL=SJ6`
zMc=iT?_Q$+<m};+`e_~-GxoZ!VBfe+k|Rs^qU5WY3oZUH@+n`kHRf!k_Q?zTw#qh#
z)la|q-92T>^;IWk+4!GPJnzwT^k(tl=cN<goAVWU`n+!TtuOqn_m|^oM6I`F!-q*H
zo*WeK{W)QGkce^eJl24!J}t4ieQtVo4}Tr>;oJS`*H_05V=2Bh7yJY2Pv<pz2t~WE
zj5@9VJW^TrUFXDItCdgx*wo^2NOk#@haw+uE<MV#;>4_fJrRkj*5O%C%>|C1(^!A%
z&HIT@9+Y)?+|S?pF2p&6^L~SYg?5`>U-d2}vC|V4vI$R{=U4jJJVGP!1dmm;;qIKH
z0gDe+glla~@i?BK(yzH|-<BSWviSOY&$*j#E}C7Ul(@%2>)ckSH=msrF542HJj?rV
zaQpFHwx%gb$2DjCXYjB|<*hE0`V#Mcd#V`w|0Ul(Y<}u9@uynN=d9c;JK-MB0>z*8
ziidx`v{<&{vOd>0pW2ji{&T!iqA@E|Z*kOe)mfTt_1|W3P%E!Sdi&?o&$K_4^~e6O
z4Kz+%@xeK@_qUgAp>O33jntF3w_WuxNOs}jw0*Wq_354NQ@kvlUN(1=zO<=adMf29
zs$u!5XcmKx%72^U<L?bur!hTv-tu$hyz^E5|M(-!mOKL=L%?iqVle%nkC@1`USXc?
z*KCEqYcQLe7{P^@EG(xRl!=P5SejZGO)vZ>tXW@_8X^<3N%x%?M_%u4YZi`oe7r2%
zk7eFb-C=$3?%lZpckbTh^efmt`{%QBcfMY$dj03-()8==7AZ|;xox?+`o`>yh8qnx
ze`3C(ay2F5XGA39nlmyUAt6b9X>RAHC0G|KryJKbESst6aQ2Mcfn$6L>8YvCi<mkZ
z-`dLPp4FYhSieQB<i7=@gS2w6ceJ-VgFp^**;bQ{3^j$NrGH<&dUEK^3#B7}wtJjC
z!}A~~k&Pkp)(plYQ>JW96<Nx#C8$e^LDSgU*j-t=VN>_U-ld!l_bwedbM9mh9|My$
zQ_jC!2A>0E%clK*^yJ7Nen#tXWB2F#k2v%tL^m|G?CMxDX^~aEgHw-dEKfp8I@g5h
z|DyArzd7>X{Pvk6CqKnsHe{OfzdNVrUw6;{?tjvyCI8Kn+>(-+XGG1iVD344M)&Q6
zh<{6G_sDYaJovZ$_LZam>=*8Dne*=x^M!v`C-5a?vHhC;HYs^=MoKo@0#WAMw{~01
zwqz1Huq>^wjKNgddink?i>Uf0hAcC;vU>HO{+$!oF6}-3fBTDi<CHnQ|GJct(*K3K
zE!%JX^LXY<mCToUX{&Nx{t2&~F!5~s(SIMaXZ@}A<w{#NO>f)(cM0FZ=k4b<W4(Q|
z;?Mi#^~--f_ZF)(G!^wUZ2N!juzez@weW_OOXpfToc+0ei(B8a|D}I~!^}4Q`Cf0x
z81aAoU3;_J|8H`+o$H(SjzKo;S$!<`>;3oYC*1p=+S%1~ckhfFJ8m-i$h^s6Fw@Jk
zW02SGKmXtP`jMj-FP=H~Q~vM&bD!jY&);oiTx@Ra7!}Dfn}a2CsY&~kpI#z9(+?Z@
z_)BFO=xlP-^Zm2y!q1eO`H5K@>ir7V`b~J<R_|o<G+$>&?KaioyDoVm*=<DzW^%4#
z%eH%bh;Rwadl$X;<C;m|L&TT;XJ_lk&tAk)ELit+&bD1b3w-R)&74>pr29HR>4#^R
z?x_u1_Ogp58|PKNyXM#B*Ux7B_qKJ{O+9DPV_RGc{>djlJU&-+#f3Wua;I=>)i8Je
zF{=OlH{fl3_UCfGl+^q;nM^a!xIVsW#s7QH3eWwgqIUVjO`m5V*Su=e0pX_W_hyA{
zZ4`|@Zl`mocEQJ*2h#+8^2x0Fve9;~#-WVvC+7{8I2{V{v1&eNa-_@EJZawjC-xU+
zluUV>nK0|PPWC$4?{AN(x<)Rj*Wt8Lt$rQv8n^J0LBKVccl+yi{#$TuVe?b(RS(SB
z?s}+uPMrAKruyYwr-Z2gf?F4yEU1}#a#p~lo9%f^oYwDGh;Uarlzw#6U$3{`EUc~z
zm+Kupm9pP`d9}xrr6+I33CehX+st3GdZtIw#rY>@p8XW`((cW>jej}oO-rxcTd<F_
zllgx@!CaTQqNVAlqh4G0O^mA#n!U_Rqgi~{?UvBzS+NzBbN=?HuGrCR_FrwTirtni
z{}!Ly@YVAUx7qs5+3#9@pOt%U9vm;0xzn{ib(!D!l3Q`tuIPPgSbXICY?h|PbMB}1
z^>=G(u*)8E5BX`i-t<sY?Z>P8Kdhd@|Da;}(Yv>cr?V=jm8TtRIN-6oV2uKY%+7k}
zm+Y&YB6r<Br!F+_^!&zIYKa>dq-1@c7>maAKfC;+@BYbyAMUq0E8lgnUm&~edhGh-
zsLdx!ZtNGEE)`esvu3g2mWlCm?&_xB>^o^2!OHshNXLUiThFw9U~QXFm*8U0AkD?D
z=<nn4*2Mm-joQkoo;#MUt=)Xnpks~6rn{PTOX?r55IbwmE<fvN;-1dKk0cLmOfOtC
zSD;g116R~p1;LgHm1f+Nmzi<CbN&8K$ne)Yz3D3#HQfpPG1(w3yQ=SMvc~C`H;?bK
zDO^`GCnD2bs*dx4(YxOLPdj|sUo)3i&hL;~yys*e%f;fUQ|iTH=KTA4bK=@W-nRH9
z-G`j?obSyMslV9cwf5E_=EYA6=HA@P@g>lfS<Snpy!Y7;Y2|eczZN~1%KEu0Ua#wc
z@%`mj<l+z6)UQ0Dq^>y8Yrk}6RHx_)tL}XJp1$LG?YtdIm27>B=P%Yj^U!Y7eg3s3
zGSf?!Z_@wnzVdsc?sk!rnSn357H#Nx%k?DhPTO*~qkbE|9b6$$-<Po>MflqDZpHUI
zq_x;?C%d(}>Rr|Cc1w_SI<!<pxq98(&CO1A{#_sE#q5s0%c}e1iH`Zy_i+)9F_t{m
zU)Nsf@{e2*@pM<@w8xITs|7q4ol?K@=f*zCGv71!Eiaf>uI=E-*}p40a*@Bpv{%eC
zrA#hukB!*9c0*=@h<N7I(5CtzZ^JXjk33se%TGNs&*_4;CY!?Hsa&;Hd^T*W>?Ue9
zUkd-*67!JrmKsl`T8=}$x0_~_<AN=#X8tMNwqeDW>G7AO-tH8AY;V@`#^%a59n~ob
z^Mn=^F8FXNrm%EYt%9!p%N>V|PXD|bF0XXGxplEXCd-q13NN1iI<e&ToI0`inf2CU
zu>mPz!mT{U@AteumvCy9qT>g~xvp`dsb`ib|GB@{<b3{S`39e$#pRE8)?^5)y5;n~
zvhrRnp8svZk;5t8la11aOZIR2EX$qtBk9taCk?N}4jd|Gt?4Kb*q|&NS;4w^?cZtk
zz0p&Z6y_g$Zv4LXxXX>=c^gdv*IoVnFaN~p`prKbFDFL5TV1{XWVpV^krJKL{sGx*
zty&8@i!S{0SS@yJ_L`7=6GaY6oj)ovY3s%7zl&Z3K9Q2-*>RT3=H82samzn&%C{uj
zoQ;|AN2Pw>u{V>Mc?uS7shjqYRlX}-cEOXECwT5~tkyYG>tj%Jd&!gu&$jIE+hM*y
z+S!0BKS<cD{{9~c{VT`syHwV0ecq`c^z!(@UY0HkvvlE*>3-V}?#`&Vc;JQV)K7C#
zB0E374(Q3*b|c`md}S=3>$!^H50XChqG^9-t~z{$N8&QS(VD#{ue+_P<K5I6kf7D^
ztEH!B>-rUnE@^Ln1y9JEwdRFHrAbVU^mfnAM*(|{1B#n2$Q-Iyy|Z}b<VQ?aGxnc5
zv$^)L|K`&EC&gxNFCN~{_;Hj+(?MtY@9n28N_2`($z9addd9$YPj~;x!(zvz&#^!K
zt@+|Xwp!hS*@-M}M{ZoQzOR~laK`;vy+_vD{QEcathc_MmF4z;EC)IB#8Bz3Q$lM#
zZG3Uz$<9}{j8mS>`Yx!x-GQP0*i7~3b5?G+w58DU&g~uZ?BA+uHnrz?|14U@xY0AP
zg}uJ|u$6pGSII@~)Cn(ctlYNwXr9n!mGk`zf45H4%lNJ9F)K^)&-CqyCdF5)k~aCU
z-McmYSBS@o_qVG)OjTFmu<6*_w)BmTP_Sa-+hcyhF)x;h1!eCQGr1n!F;iG>=9Bs@
zYvb>{6Dd+KcM{y;eB%TAmWf##lf54Qcq{Qym1W<m9YvS-u-@#lUbOdEaq>?#twUN@
zf5e_&a#W%wadB~LW1sY~NFC!pP5-;{<9|law3v2SCdo?R3ES5DtlwX3nAY<BWru0a
z{ndYj-p;su(m&;poB#ighyNa*&vg*!{&v~@w?e(Vp?ZFDx8sxaKld%YncvplTB_%j
zl^@?aTR&fk>C?A8&aqGGkAD$VyV>DW+kbrVKHdnP^ItjzJtp5|{~da2`o+4r%Nz>N
zIWK;htETaC>df5r{h5(v2Si`r)hxR{=k$bgVc}2a*Sv~r<C@Zxx9RJ<10CDkb_?45
zXUtu{{l!|1)%7fz|BpY9kvYd;wsS9+lBIFt#l9OeSN#4Uqg3Qopk5g=ZK>Ix_Jw_(
zd)F_%^s>x3;)~<Sx+o6GFK;UT@8r2^;W*3w+2Q0HA#q0U9Bg;7X4JfG(lL1YOeJr6
z;hU9Lp6RSx!6GQy{r!;d<CKV1lfExbVce|Ie_Kh_;Nj*%vx_nJ>Koj-c$526ROFHu
zAMIVp7tQ`MWT{@o@}PMRSv#j+$YpF<*fF#Hjf>SL9u{ZS8!=ba4mF5rS*%Viw$ZAo
z@8`{4mtxye+N`1w^7XX}--TBb-7nY~$tbl-nw@bua;dON(8<|(g+Ny9K0(v%CrjEo
z5^k7Gu+0<}<-g71Z$Ib4)B2o^#S=D9SSGq_X^PdW@BI@b{wQsm%v%>`-pf{3YOAyO
zzn&Vi{_h_>THBtcd@NphrzyX&@88vZ;<qDz=IwF)y|w#hhtb-1yy3x*@5~8IHa_9&
z^sbw=DyDNwZr7T_9KAxOFMESlZ`zal<GSN=SFN0!9){L6u70~FRVLo~^CWnA{VWwx
zBl&x4CH3zK2_2}lXuK3`am}`a`-t!JRp)n|_*XSSasKHVzn#(F*Umd@JL7WqtW*`A
zl=4^S)-SYkUAJJxGs!KS#ys^2ehkm5lr{)nIU@Pv#b>v96WC5ESNxhTGcDgccgMqd
ze6F6`LMK;E<vYezpSOGBpT9;s3cjwe?QEP_f1~u<ts5e4e+`2c3LN_7-Y%-EeU4YJ
zv~q7l#3wt&+?6g;Uaoz13mF$1m9Ony7p*Y)`??n!Hf_0-sk+quica{oDWTb$RA=XS
zePH4859yoc-Wnlx-uVpQ@khZmJ{G3^yWYl3*!fRq#<M-C>q?dD?0h55!e{xPIUW0-
zv2o{?6w`V+_nY53U(Y!ce4wq|`9y!>JIRfwlsndK_7t9CoA>^w$)>*<xr>gyS$xo@
zL}2cVNX=)Ldb=l_uU|bia^bhit8Wrqw>$mvW;&nZR#Sfc@5SXoF7q#Q1YQ2nIX_cW
z^1#90YYMl=&Fxcr$llz$WyKQpS;qNWR_jLPawqA(S28(#O}75wmM<?9J9Sw(*yUWG
z-#enL__wz0tNc#R=gSfv)-Ckkm8`oVJ&$|&=NDO1-;~~*Sk5z_Wmmu0_p%x5z8L?$
zV;I(MA%0up$Zidx1?|7~nP{$9dd29~^t-3|&jfHCF!Wm^S@s}K@X|HT(4gh&Qx3I1
ziwoPgf@5}O_YnuZ$DfW)w5e~N=e5{YIjB_SS?H%Z7k9keFk@59f@fwEUMR{5#@esW
zTHAT}RmA*v-pbWtul)m+s}}rkamhatQ+t>%_|=}Z{8tJYZr$|%_iBki_`HKNU;WZk
z5fb~G%2Kv^yE99JQ`dG@W**rCnI6aa%M~5>JzW2`l4IGuuYB3+MZsQqGhDse>&<08
zdM~Wo_g?PI(@8~_>NO8f@0exr{8_0%9n0P~2XbCUR?7c1dT=u6(L05rQX_#=Gd?mL
zxW!=m<$C#olgqfIrY=7s_pZ}r#<Zk;NguU1rtMtKKlv2*n)P#b<*#P@cKV3P^`i2-
zoExmJOrIn(OV0Sk-=^mm7Fcdj_-Vl98K~kmvHsx7Uz$IP@3p+U-8bXZRh7;a9F|*!
z&&dDdTIGKAU^J72iP3HKxU+nctvRm@O%mSp)am<qcckw2UYryqxA>ewOu2Tj8UOjv
z8%_dG&wVNU%sXeJ><z_xRS}nj=gqPYNh)I2+iegne$JVH^WK(^U#71+C2t_i*eS~A
z{cg$C$l$&8{aY75=<l7dZ2C8yZs`fH+zcw5-E2(f@9>bydF(BCwB)LrXWR6YZ0U>6
zS__u1{az5#Wq#`6?iUHtU5~GdU3zmr+|2HUnuav9_jgqubKV{4H~lR#&b;6JImXdf
zx~*J(lOyw?9i5YBq|Fa>`ME>q@mJ}!+qn+pE}bp-pu<aQ*MoYA-D#1(e&uXy-E}#n
zVQ*gTYhMlR4)522)=3T#o4()Wntj=>Oa0qw4YTz@LKgeQD?b0dw|7RJ?O*9xEZU79
z_uWtJ_DHrZnBHg0Y?3@ZzeJ&Rg^KSZ$3^pHJl0H*l+f<ly6%6d{jsk``N4MI-)+5+
zu2nTd?_l8KPbvZ{1Cu5nuTN=zvw$&beWi8($8B-5Tx@0*tXMPU!_*5C?dB?33k%vF
zpS9tnLg2A!n?%<hTYKMTkxBc74GsS6^?!R(VqPzM=X!kqr>uSY2lu(G51e#SWqakz
z<A3-BO;hK6$jxe7rzgPVxup2+zbec2uG%#pI^=vhHkC7-{ARga`fi6^&*N~n`iToo
z3~$zE=*xX$J#Bh&$DU(z61O%s3hm!AeW#_m;hL#6zn4hNo)l&5^F8t0gKD9rTHh+|
zcL+qrZmSHvDSJZc`W;o-3HGgL6Er^`ZLihXmD!nKwDe2EarO7>ZpwHscTrT0EEb)A
z%pmaS-;V13j^FCnmioBfFU;Y;*SEuXwb$?Zuqk@apIh$<elRIhcGJP<-gO>ZcV9iJ
zKE-t3r$cdHlaqXW7FCpe%$B`3W#e71Z+?l%l?~cL$yd&8llkN1oHKuw<r^l?xLE6-
zitdLi8Qk8)*_d=KJF@e)j$66g&VL^|eQ(5yhkov6Uzb;1W8W;Qy1a98iN?Q)$|h1D
zudQ8@Q(wO=hDU#9XPnQ&4Jj3ujDId_I=vwM@6NzCXPKT~s>rnq$PeDt@N@6A+GJZD
zqkZ={a*e<7Pg4K8_UuCUjTX5A9j6W^JWVv%c}`?5zx~4nMpI^9oG;HDeWkdu{phL^
z@rzG&U2K&twl(BBMe2Be`S&~SW>c&4fhnID53u#OzFsqtq26hg{M2V*ZB>%ae35L~
zCyx|K-%7lYZ#uopuPKVb%{cVAL4kBm#_}l{FGY@TDqZ#H=%vFE%_n)QwjRDHd5&Z0
zq2?=|ys;_1znhH04ElU695?@3%G)_rxr%RN_RJ@*m{*w8SWH_lZ*#<a|E-LQZL=pS
zZ%Hrw`QrA3GihhLG8`J}Bb{p1dZsKlIlup2fyefL)!!~lyjgjppy`UY{c4q|QB2L#
zcKQ6hS;=B@EtPj#k6ck~%IVy%YxK00B97<=ulI9Y6JEMR@tIk72kYORN52}kANyjc
zbWJMV;f<TJ&9$w8bEgOv>_0m@OS0Y~THI*aJnt=y)_KN}>onpbH2z+bb*hhkC2@Fz
zLCL|oi{UTd?6i)Xcx27No%T0g?0k4R>E+JLRc_gKVLZXXA5QGOKF8Gd;`<eCH&?!t
z<kEk*Q^jpL{~=3H$19?$Pa>O_Pt99=`$tpr*@=%ANAb;Yp2ORGCsV%X{tv5pk0T>o
z3vTB(2Uoq<oF3EhFK4Q1{T#vd0^fdbGpV<%vz*NFTV>m63uBX#`4SyPrH{>X!@Pba
zJC=Q`^_uIvSEIM#amG=OsUL%Omwn$k>tNNSW(U#c$G-|r?OdtkG<AN5WlL~4bNMsH
zkmpnX+CAN<T|1L|#+h%^q9>fFf0tCSLhsJcNfU)01)Q|v<PKL{d-G06yyvy0tE|>Y
zaGgt;T)(90sCkU&*LMf%)t4G+I^K(4(?20Je^xBpg#D*%gSJ=S?KKe-axcnWTkE_=
z;^emCnok)=%cTE%ru}^)@bT@Ph7W6_6dy&;Wy>vFd3+%gn_q;RQ<d~m#j@%CPhXtg
za9Pjuwf>R^45{;<sd0RMb?#d0fu!ctnOi=jyq>?9JLu?)`r0ouBKIuz7dhS>dy;#l
zuh8$0HRUnqGPif98hzd^k++rq&hq76nfC>bpE_^b=o27Oa_wl!<0W!J>-RcqJbTw&
zJeA{vXoSUThU%y%LB&g)Yqo6IJY(N;8Ov@@|J1w8OFq7zY$j)+ebaEgMRu9Q)k;RY
zg_=HL`}=kYam$;x{pGG-!FlQP{+bsLT(^eSKPx&C)>F`NanX5GzHQTdR7*RZ`ULsy
z*<GKRx)i@&#v-mcA^4x;`pQ3xb5;6mk9_^H$NQYx#fA6!q?al%Pt8BNFSp@nv*W>}
z%H3z0Y%Uy`ZaL|hyI$z3PN_A`3jTVZml|HsYp_qNeV2B+{q@~o4xxxGAL|!yPoHe{
zVshQ0xxvb+Pm>?*^Zske-;}f9ol%;@$wN`Ark3qg^k{r|nmssgC8No=Z1<Imzugdi
zoX(>^_ZoYyT^D<1IY0ke$;NXFWQ`2A&3~g+S+4ng``KgbuY@@*F5mX~Y`?PWmYNyi
zCzddj{y1<Zm(9~{=8-?fSzk}<T77#`P_L%4;r)~n=S~0hC%x5QF+VF$>&Pbwd+RS3
zEl(TpRl0cXn14Lt<uQZh!ggo>@g?1PQS`6p5WD4}h^m;#2<s=DLg!`IEshrGyCmIr
zX3~<E?_PfYb22vOVC9Obx(<KmmdxChV=K&+*Ysz{`Ki2ao%dERS$L`Nr)VlyyUROv
zbI&hE_0L+vHGb?oy*uex)Pj`}p#|GN?KmT`lUL0*G@`oM;%I36vXwQqUHi|TeVNBQ
zmo;o{r%=v{#jkF<PB{Oz^hx;Z(i?9~FXdlpJeDN=zPx`WzvYdKS5CU^l-4-8#Z4qM
z)auwJk%jh2kELhboy4}=*KfwjOH%56T^;p}B^-}lc3-+%FL!O*pRc(MpQNY!ZMmh`
z%FHma)6gX1vOH&W^w-nZ*mni&-Pf`9yZN^k!)f0SwSSRl-nucm$?53k>03{HS?PZ^
z^!NqclYXlh7cb7}QgV!~F)Dp*c(hnhN1aP#fm2DV)$dS|-c5^so}0(QZR6Hf#=d&i
zzxVqq)UrD!^`!q6*^ym8qq9HIzqdyG>)-eTk!6P>MBn90>38n+yzzA76sg{vqQnc_
zp)(^+#Ic%&eAv$7TK-%v|2K#2d<M-4As^J)Hk`_^yS-zrN_NGwYfE(kmP&0Y;oEgk
zPhZ@zW?G8n?z@vUIGBCwV{WuA_;QjdYfjR&<uPq%t+zf}cRwjmo4eWXX?<5l!LJsf
z+dpqF{=F~m+FsSD=oc}YJ7pJ^b*ZR7SL2x2@4xL?zi)4$uu);!(sN<9m*NW=HGk!c
zPh921e(`kBD|6NNU9sQWE*Z<6j{7qs@~U^j>Z2MCXI(5$wSCoS`sgF{aLqsNp0g@Z
zraUh{voL2cr)v8i^uKI%OK<zDL#OuCa~fWaSN>(+y?L|RN!wJBl3i<GF3`&lDO_T-
z<4fcv7FQKn_l5js^P2v9?BYB>S5fLUdrNW0|B3Qx#dDXW{+V}Kndi3SRb{^U^LWiS
zheh<w(>ymlBlpU;uq|fyHrfZ8-}bE+K6G@aHluV!{6&@*U#IQ7kioq6;>4{7H^}eG
zxy@Mr?nTd@%#&?DyMEQDuPofsq{DRWvB=kXrfiA2+LtB<t(?YjZrhj7^?OA9ox4H=
zof|GxwmvA)lK64!+k<Hl(>?687M|j`*6I*aCLHx|>fr)Q51r1NAM+mBn}u&I_^Eo?
ze!s=7Ue%=g(Y2`$9%}tId9=>dH%sGG&5vxcz+0Ej)zx=2DA`sy1bjOZF8yZTJE0pJ
zR&h)`GGA_+?VZ?dpTo|x@2q_^yI#lrXjYHg-{m*D?^Zv18nBYzJ?iuF2>1AtpV>b3
zicgqbFKi;Y`F3f<>f812B+f6gPTTr5B=*ewbr%>dqS>P(e=cRIzM3wu-qa~O&*@cf
z#yj(Phn-@RgL7Lr>pw*%^$FBTYAjx8Bl&0Uvn>l&8bz<PElK0BdAxZdmt#ev^P>2}
z&yVWQS`@zX`1kp`kF>9BIL9}^`QnwS)+?KwpE&$K$iu$M?!GuzgYC4#O6S)9TcmM<
zXXbk$)2J^?*3WwU;^|5M6_;#}eg4qH`dl|=-VU>gyLy%6yw9qY$jd1?*6X~;GV_r>
zao2O(BXP&KHuFF61n920cTh=US4TM4J)dr0`@5fi@`|^Vdow)bPP)x39e-ZhPc@M3
zl=t@~vej;3;d>Xa_Rm=RV!@0FaVz?+W;dBm$(R4MWaf8+*>d~VbQd0Y>8W&R#Wf4*
zg-*|8+?2CeU0-Sa>i<?>u-?2Ypst`kac<vSrrE1kACKd&nt0=Je&v(!wgnP%o=>t9
zZh3t&P>e<L4zs>k)b87S<{kHimrZ2XcD%c_=v#_?{9L9FyCO97znbk9(^dFkZqX(<
zd-;*T4Hj1K-baSXzu4VV_D0w&eu~T<YyNOHoy+eg|6U-O`TW?=&2cW1%u=LRxomp<
z>}vhK=XZ3qe0X@bFh~YiDiqBtTF-4&&42tDPohIW<@7?G+c)`5=SUp7+4T2<V*atH
zSvQ`3%o1IE;Nj=^IhO?mcRty-fs-Lw)2QBf=2_kHq?;|ruKwOsv_e_?$<B(U@^jg?
z{Y)@Crp-~T@chqYr^iOM<uhuR|6qAsqS0ck$!HuNRUi7~?)$qht~C9+DpK1WJZ<L1
z6{-nw)62f@o7~J2WBQHdOy3FBDh1{K(*bW?5@Kt+e)_2B=lwq)dDHum*5i9R^3OA0
z$Ej64^G(Qb?7q+@*3ulRk@hz8?Czr9(*pZv?*Hv~-|E-I0DqB<x39D&$9yeVT*zD!
z#&0@X<j7M)`%<&|D3-Kaj~5xqnb+$+DKC*WoAPafJG%-8S5{tE&-L1}v-@7p5qmwo
zQge;o;kLJj&YkS5-spWILFE#AdW`f0-Nzm8zh|@QIB!^Iaxri7wmmP8uMa)9M)pZX
zXPVZUl{q|b%NjqZDStV+`%_@ejELl?7W)=Em8@uzsSp(Q4SByVq^<sl%G#->zm{l9
z^}PJFf$i}NBOCFEnN=<9FD^+Zu?L&3IQyGZG4iO<<z+hEzs?KaJmkFg(}_)tGR_`(
z+R<5gKPNt)*!ZwV?Cg}l#u9d?Z`CgIHulCTFW<;?<KG8oww?WMyW<&Wd_1gCJn5<V
z%CqzC3*PaW@NtE8=v29?6^kd&y;mO_!732?E&7ws^yfCc7rXxc);ZIiDe-m_=aIV4
zi|uc*Ry(t|mmY1i<@zRjwXOGsZqI~-;*FX4I|?~@ex3IF<a5{Y=sc}pqiVf6S!<2c
zRuS9moY;R0C~>jr%<fuzM=<iM41d#0zR%^&{xOqU|Mtvw(cQm%`UNA6KYRhx|ITr!
zm%aI0;enHA;RTcXQa2YUKWh`P&0@b(RuJ+2@7p%3|8?sdmae^GXp|#-Jw|7XK&YqB
z(I1hgj;b|HPtZ4e*ZExGV)dmTZCCt#4qe@<6u0GVy7ZO#3)=ZM?d-jz{f1|!R^_Hy
zM^dIm3u!JA{<8OJ+}o%}^FD^|ZA)2m_{h5jlf2i~+szL8vWc}M@K5Hvf95?=b3=M3
zgxUOlzJBp+c~_>t;f(#W*H-SZopJ5sj|-UxKPl;c_u8$Jz+ETncTk-v^J+zd8tbO{
zj}ICf9J(alXPL89sqpQL^74=E>vT88&(fIi%B=REjBV?3z8%^7Ov+M}X0N#SYu<}U
z#z2i1It9MV^xEphqBCz8@J_xb{>EkI@7zS2Qr>v&U$#+wnq}|ShUkQt&CT-Md)Ou9
zSL(CGiLYXr_a48I^j7^^K<KXIJ)2+OY5#g$R&PmZfy`fqL!tL0cAQo@<XiszF?Y^|
zCvGL1uAJ>(<Xy|!%KKi*@j+fhYu5JHxj~+1EA;Fgvg3k|apZc0*Z-?N6!gAoFRRY1
z{T#L4SLgMYzB(;Gak8f1C0DEW0W}TwT$|ccgI+D}@-^bpbDJA{MBZTOL}&AN+g-mq
zXFoo3JbKZK8}mM%JDRdCzTn?_p{Jqqw@u5xdw=RyiO8(t-8DiQ9{c1js*63(Z9X5s
z#I6<K;ILFp`_!@gw8ytum)*>-ui)`M8|BM<!}e^?!cB~u|Ji)qG-<ic^9kRyzGq!G
z7ra^2*(?=n^*-$6$(c8cP5Xb=tnt}Dy=MK9?W-hGcE-JZ=b@VI_cTyDD)4ayv;F-r
zp}+5(o*Fcs-5y|iH%;+<;jJUBkpY@U#udiTBi{b`Y}TK-!?^od0RMMOkE^;)dl~D0
z*_Pj2{PlQ$z<=3;s!?s18UMED-#R?iMRW3_I}t6jn>J1A)ttBPK~mYNz?sWWXXyOr
zUTb{C;h3~*mrG0Oi<tYI7n^gx`sL4<@b1B{DJnZ8)yt1flv0-2=J5aB4p~Fvol`&Z
zIV_I6zQynw!@T=nKf1B+x9E71`gd2>^Nqi>*Z!-&=*`yQe<PA9qS<+m!HIQi5+9y2
z<(w4YR@}Gp#OlcSTL%pTe>s)+z1E)U82xyu;3<FShYxZYWkqg^uYNN{qM6fr&FQG_
zW6>EFdnf*%R+_Vuz43l>&L;Wr3vC9*89#Tw`{;4@+)E{!?#+tAr<=Mr=wI}fo^@p7
z@(nFHJ0^#@N!Azb-BB_x?Vt6hG>L6rB@47xEWX?N<H|heikZKybT#;;H}P)E$kgF5
zmWn!g?%ae(vt>tTY??D~BU}50lB<<|Nk-d`DA{=3zOmt4X&>wMX*J2~)wdtqs=sIB
zu3rN8KZHCw%q_jScG8}S%TpgDu<GysefnwDviX|HmlzJsZ0$et;%mL9hMWS+{O)De
z&$2#V&}z13QDS`D_3uoCkki(_ldkS>`mFAsWMYc(NMxS6EJ&c_hELOD?XHqitwO%_
zmp;DObkJbMlP?Fa1x`M8?nU%<<#s!3=^c!+4thuQwm#zibm`0UFODrsVnV(j`NOql
z(<9kj)vuywjte>$-@Ci`=9+rhnf3GP6RZVArY`1+U3P5hgoX3%cIto2PkYjR!B>8d
zRg`S7`1O;TX>rci+KTjV%--tQFrU?JX_@Bcdk1IN8t31M_;B=4v96u&`JK8YvilPK
zvX7Sbgi3POpIv_C_Lr+^H9`MREV^_u&D6O&G|I(#`4UMr%R_r3<f8m}7<O`~>-K-B
z4_<Wp)&g7Oa;+W5FWd-`m*kjPkShAq_W#8DA@}OS*VkEj*6xt>-*tASXX~^t92Xwg
zNC}>c-1nxG`?%aL8SW`dW0Fn2H#oPYEDBk4ye(qu(v1faLgxiuK2-gfJ-+7mrZ>F_
zYYn?Ty04g>U9xYj%GvPt9;w8ADi&JhG2df7UVW<n^5^lB+tY<bHCH+IOKYYXd;AG$
z+)<O)zfiqCD&qcMtI{Wz0=_!3@La2X@Fr}kgUspl;=8ShIkVp}{a&CcI=A5dpInvb
z`Gsq$uI$@%y!Nx{ca84}Crv~xLT{X7=)FAo{-!ODe+LyCitiFBUH$k^teoKecB|**
z5l;)|$sB)uGNb-Wcf<S5*M4=i?^L`q)i39IcKYH|?Gh{B?@EkKk$CmyLRavf8(Q|l
zGsDhQ?kf6_yUS4bzXi)=>B@r3*<YW?osX1Y+++P|^Gic}-<K{OX4UW9*DMeFr)1N;
z>-4c#ug?|cl{}d9;&tw#c7e0&KIw;bt~&WE)1_-BgLz^&Yi_8;!g{HW2U~9Xf89Ot
zrj`Ao>xB!|oJz`{ERFO&6mHI7&{}^oTsYl%YQO}6rzfu3GHDjR%-}dzr*XNuMLa_$
z=VIo)w4>%L7i`hZE1o^6XWN>?r5CoD*{3?6k!TRTHd{*SZnoyJqHU#tU$3oH__BAU
zz@43vZu?)lZ+f(TxAWw-oBg|1n|)ba^io2Nv%mD)H2+<5wYsmpE{|(T?Yw{WbI#Nr
zwHwm{#Z{;6VdgzMS1rPGMTp3TfBe(pUCP0$y_n2RrXTPT6P?y8%*SkMZZTc3S6GbM
z(836E#Y{<RfUM6p-FF8SE!fM;n^?-5b{}Tsdj|r12SJOv%6Z?tGyi;c?#{2P;=az`
zy0-f5)^bzU&K+xeCwJ|ZozU9YI&r4>0-bd_M-QDj!;_Gf;=EviKp}&aRbx)B3-8>9
zJq)D_I2|N2*b@?2Hy9ajRtR8l$$5K6)*<bgA467s@~rwf45r%7!V^qSFfK^TPJPW}
zWXAqs=Z+mU<%K0_B?V#$f1;Q0urSRz)5s7!K~zBDle1&6R~(aruHt&G2@JOwWO>#y
zaGi4tQ%G*mIU$kpm}3d!j9XR=YyRaj^yKFHIQ)O~<irntMrrW{&6neomho-7#$ahE
zs`yd<lNN(vy`Y+?V8g;*PKU5h`8#_jE5E;=vtXn0i}<@2ndkiLUc>XhyXPNhU01<x
z^CXvqM8+8nJ#!h{9E>OMGF{$ZGI^8XR@Q=lw{sume4l?I-l?ztC*z9$Ssu&=jI;io
zE!(zflKB=krWLL^Yv0b9+rY<Q87;h^nb+awg<~JrEAc4=H`H&My726Mzkk6=8N8c{
z{{I*Io8LBN^27MRmYg&HPM!EruJ+%;vG0+B`GQWS6ED|)TGkd;FZ%oVdcHs3XFO?8
zQ%HYZf1lxx_WApavv1sr*!lnc;`-gco_nf=W-3|+y6*b_?y!BLp>%Sz@PuAThnp|g
zZ)xLG125|`VEJ1;li^JL|MI)`W~cw(ENb)PQ!sBZGk&~(TkFsG=k^}o|8Ht(&An?Q
z8DVjQktb)34ucq9SQ!JqargKC&ew0;Jjj^w_)Gu4`s$zkf6vD;Hs(1bw@h`7ew^<p
zw(_jvQ@f<r%c2)bE>C7#Rno2Vz<d90{jC=r_Mh?n^8NhBypRu{VkUAd|5M-lWBd7S
zOY&xU@Fq8U)E`q{<Z-A({Nuc?lUiqLvdrQ{KF@!B=!@QhD+OzNpDxrpyngPb@Ng!P
z4D}nv#eP{!-g^JMs1mV==hUs=3j)m_Pka6@M<t_V<ptv{b`u(Qmt0+O`Po5MaknOa
zYi)srm5sMOri<+O^^EoDzp~#8XPKwT=hSy_#YJ4M2#V}><9;eW_1FW}_~rFS8+zS}
z-q>g#7mkWu_2a8x%j{o^CaI>_z20bjL;hA_V)>3jiPtv5KMpNp)Z8)cBg?d@C59@_
z@d{<ZykTtGLN5#saAn-z6ZVkduHe08?ypYFU&tMNc6%D@t`OcGdu{|DnRl2a!c^Jg
z%w541_0~V^+P}u>2dk7X|Kk#`%O+&xv_ho*P;3|9ny}1GEpu7*9FsJ(KhMnbku=`+
zR>0-+tgGe8tCh}*GHi;vr^lpTxTGPn?#?mErRnkhDsPs)x}!byo?biaN3&E`yUewF
zmEMameMn7s`-u1X?r7yVTkaqFHG_GU4DT72*OS;~Uf0(@x+axq8us;v;J(G;UUjZ3
zYL(oz%FU$DtWtDuYVyrry(+6?Qs17$!u9_zq;2NzeSJD^&-vVEHsSkCEOm4)=&OB`
zY-_MRRkq!AP2!`3de3E&+h;AxpI9f6$Q{+pQ9Ri_++1Ji`}WEI4o9?<&HJ#+%r&-Q
zP4TmHKNp8i7i;~NUZ1x}e5#JqzveJIm9~$<Z;oG_G*@T4)D`J1MqA}#mIVf``yT#!
z4ck73W&BsetUuQ&h98wT&f2q4S^I8kOXhvCl~>p4yUV{9U*T)>!>4)1^<v$fT|dR&
zTsnGJeq;I$El-_h(@K$!yy6)jOwYXEU;V5-W08{Px5JS^4;0@vJxI7%Zyq>B;mY#e
zhmv1j&YG&Vv@5Z0b<pl72X)RbKJu%Qqf+t&pV<5K=VjNTbrRH$eiHosVQ$&mGoP6C
z>qA{~K7X~G{CU#40==RMr`_z%v+VkDVUvom#C>`0@A+wtQ~dfO_8rT-C?R;3<LjL{
zOEzA3wInzFj8qH5nXt;lt#Vq7SKVgT2WHFc;C}I;KZ*O(RxSUWU#o=YBzJ|c;Wm(r
zI(hovLT{Or8%LK<s&F#tSZb1Z*z<+UC(a`_56{=}mc(-2E<1Z9)%C)mTc;!PP7AQy
z)ZWi9arVuiU9pEI?BDObWZ_+w)&o-2ea=m6uf6oPJ-THp68CkAywjwDC`)rsuK6+1
zE_>>mw9H(2=ifcd7Z((GH9<SqtJlISXNgvbN%{Fti#|?&Q&D7*zxa?<faZ~|3mLQY
zy5F&HHg1`IZiA5FI-zGXf=s4-+&8tT#lPUu*@B0?f#NFis^wSK6en19Tsm-5zO?6U
z+-WDP=)KRQI6B*QxQGkyJ`gDS^q5+Z*qWB<H$(O&)K3yh_sOv3bus+D-e{$B+!UjF
z9iIoH2OL88zn>WDpUi65@FcGNz@@8yH@%ga`P%mKW|n)$rnH^l+xqgma(L<F<ez^}
zeRo%Rd-9t_b)ur@JXV{zHqU4N?b?2kb>q_0pH8po`?%)7?x+h^iCZt8ncQ|;cw;p~
zql|4hQ{6EssXsTY>zM<ye`QQ+Gv7a>jsLXw<zGRe+jc4bObMHOto}=Z|N42sOWZz8
zdH3}8w^d2M|0(frUB@&-gSnzY!t!56uVzO7_icaXY%O0?pYYCI=2x)Pug6}evx<&c
zGsn*Os&R7Wx!o~+?+<8wpOXK3pNwh#B;D2fSWMYPYYrt%pFU|t*rVsd^`+geGXr0)
zo%DKExG(4A!WebF_chDk<zKt$-kVjlC$e+h74dgR|15sOwk~ag{1>*@*9GIXC6B5;
zvEIh{@}K9q)rt;cd=<Gj87BVJ`J~g|@`vyJ%D!MW#{M~GPrtu;!Q<8{nzCC`#>;cg
zq)++#_gir8WY~G_bIkT#>{;#$JQiN7=h>+nY9H<X$o$1A{VUOL=j^_m-;okyY#hJ7
z_NLDC1ij6lI$ugx`DZ8fRj>S-H{ry?Z<`{ko`^cLUP$@L`YI~(@LMUd4V|3xwA?2B
z2x9HlOznwzy;mdt;I(Z*DFNSB>{{9Cw#)fdv0?P4IKjk={%-TrCS8wLxm`W$%01h+
zo)hX*Hr4C>Oxmw;W@&zRiMW$N$&9BP;v@uqglH+3-#(M4c=y<@i_2dvs%GoFx%Kzq
z3_F>SNfQJ`HdS}eJ7$+3eDvYGp5Et`0!Qr5%ZV+1ExT;C$MKyBipd3DsdCG@=f4sA
z+n95aVXbwP!<2TO`tQZL($aoS-G6S(+nl7j(&+lFAN9t6ubDXSoFpn{;x4k|Gn2-I
zu%Ep-LM8JjeSdIEV7Wxc^;K6si%k48V`|TSiIZ}TbE=;!spXn0c`V*2xr4j=CV$u8
zh1UPKI(s_m-Cb`STk-A3#bTay4iov$T#cUAqxk(v-Mu@Pc{v^~O#d2tbaJ@Pj>|tz
zUt{k&DQ|5$P3EgkX#I|N4$5DhKZ>uoP};OhdY*W?M#8ge=Qd8*;JN<m76BU_?N?EU
zl*+!GJH@~~{rUMn9m&-@>Q*yUN*Wc;uL;XPW+|+#viI+oO_3oQmMnWeUuKH^Bb}7!
z)%bF~rqV;6UY*1#A?Hn*>_T=<-v6^sB0kDNZkIWaZHM_4kJ*a<88U<FgC}k7PWSp&
zk@;mK_p(KEIsT@Fd7nAfsk&ZgR&iu$+|yVGgLz)MtqCeCVh)@<_(<qBr~k(2a*M0G
z(%-Gvb$a>V$gjx{7wdLQbFMAR+j-vo*cQV?g%_Dlk(+l5J`Cgd=aTj&(Z%@XN3Tgt
z0cxqNhl@<!%y0esMt)|oJ;zD?SzGG8EPUNNdLOPjB-WE7VK_UuS9Y>4Gxt-Q$4(BB
zBF5PVn;t2w=&DvWI-_1C_UbnG?X8756VHfjfBL;_=lOh3<%L&`je6I4Ust&F>g|$-
z;%Dns<g;CS47N^rwZ!V2s`lYfkuJ_BL2-8u>GWNn(|fa3E|PB=uUz}HMEU!Qed`ie
z*H7PLo5=8Z+P+s4V;}zg;J!q_^~<CCUsuEyaG#y0D&+1XsUWp`!W&l(2gBf)ohnCX
z>oWH!FPLGWcI;nI>dMv8O|SmBxgDE2sb+`v*>&&Ntkz`8HR8{|u=xu6fjQqFJW-P3
zs1MuxW0QFcYnSAO)XUrV^vK*l{c6$X(=T1+=4Gs~txwu3_I=9sKW5LGHRP6EzkMu=
zD|~ae(5x79vH1ymt{I##sr$4%h(|0wi|J;lf|%>P1r~a@YY%V#`1@S@hh-m^O8*sK
z`PcL87Lz}l>KNyB%wnEk{G)x*F5{=JSMOdw@~|X!=G6nC?WIrr3}TFbCN$?}X4h|>
zeyBQcD{~q12eZ9b>ou%Xrto+4)z&}e@N=C}d~lW0zTXFf-nAM2NU89-&N(HVSLw!2
zRr}JM^FQL>9hAM+Z?u}vQ)-Rgv6GAk?9`hY&zM>BuTG!1BjETYp8ius2P9IhrTmgP
z9IYbq4;|<*xcT&2>hf0Ccc(KiuP^PfQuQnNrQ7QB%e~o)YyXTjN@?}4-ko?EvtIJ=
zN}a4r63e5k+?d|zto@iKcXO(?9aD$*=QT4@!&m!HZV$R%+R&db>dMtSy_n~z(wF0^
zMeZ;6zIeIuPtTX=pInw#7S3jCIAJ0_D{oTn!`jS8DrX;sRcyFt*m@w_CXG*Ac31z5
zTu0X*>pp~joXBxOc&ps|C%5?Yy6V+Ve$3&jeIs#xy*=l0H3o;Dmrop(3z%p7OZ7)4
zQ*^<Gx7EHMcHKB*`gO((p|YS!Z#r^QM0<Z6Xxpb`sq#N+?)$5OQ`QH~c&2t`)#d9a
zqt;xWcO#KQ;rGWSN~%FuT77OZiK@Ep?>7H&I)&fq*hldfTUIGwWxurX?YWy14R&W%
z{;oIa(=jjka_+CoBac<*k_C0dPkeLPzBkI?dQ;E+tkkm+H_Bx@A6iy#EMbb9cI}_B
zVdR>Jtrxr=b8Ia5w0Q~B(SL_hvwk1ZT4FKj<DQnSQ>`W}7kbd1{^Hb;z#T?`D&mS4
zoL2=K8-Mw#$WwK8zhHP=UWeg?{-9OgjrQF=B=5U8zh3RW(JR4&eOfiY7p8A>5iBZR
zxS(0%?C~FtHD@Y<AE+r`57)e!w&LuZb~h`1wI57O`=+&cEacDinjLV4Km6i;7O#mF
zOx$gK!G>3Vv7Xye{ISzz*$QRVWkS0T>?`-Vrg%5hzv_9w`^6$2{826^#aU+?<=>Ub
zycM+d<&~PqUwyOdQ)i!iZ1Y0nOzu2}^IHTHoOpVrZ5H1RjtJbFe&U+Pg001$o<ER`
z*W2!RV3x$kFFEtw;$E%O^?m(Hc4p_v2}%}nK0Vvm^gL$W{NecawYw9GbIFu*v&=fa
z>FwrgRY~e-{d&N-H9!7Oukdb5xmjucYi>JlvA8_t&8cSQB<D@Z)sFR3F3O$nT5+xO
zz?y9>6E*fcU3Dk?P|ET0zu#|8kColENM*0+v2J&+-y9dXPV)YrpTF+y%1eBEY!>Ya
zU2gci!c6gSz}((XMjw3`KKz-nqKECb{HMFkW{W-Z{<P1$ttD>#c1O?#r)u{<y5HsA
z+8leiU++ZWGqvib3yx6_FMjDTzx1&_Ld;d<$lt_kuVfd`I{9v<m*LjRn@TDDzoXX5
zH^|zD|8AQ2aE5K`R~40y-Ups%2EX}b${n&blV$m)_sTqCeL)9hXK$%HqP2R$!M=$T
zv%&&S+fLrWY`Hq;#^wN{^X^LV(~K=QoaV3KRa>dK?`-CD&+Y4uh~2sH<DX^I%S8cO
zOtb2j@BWieAlugTyRjzlv84EA#|Itj74tUSv^^;+oZ=vNXIJX~+0PkG{Z88X3UBC?
zJK3#jel~OFk~iYJDvS=?y0)}j!qR8y<>$LTweLQ=zQp0~oD3QF<+@Q7a%*C)6eJ%?
zlKlHnc74FD+D-inO6HZsB&UemU*<Efe6M|mQH}f0<NBnVT@US=lrO$szU*GW-6$28
z1s@J+J^XOBvbQ(O=*GEOvTTp1R!_O1!1%E;P-UIE)j@6v728G&mna^VSvB94S4}<C
z8<latm$83p%E6WsCu@RdpRW4CyzjmU<JH9z-dyG8TUlNf(jKvN-|6xntq1*IINv|r
zp?*qf>b}Qs4xD?nxjxsu{YcnHSF3C1Uf=p>Ui#WZR`px_u2Z#(mPfnj-`&*v;)|rf
zEwk#Mdzx0?nYNVeebnK;B~H2<W4Fvv{-geD>!%k18_va?IFp%eakSu-igD#j8J{>N
zUbml1<O?SoZl4#~r!U6;Z05$y);?ju_X4|pQrEYdue-QhkUv%6g2fH>dOeOsvrCI#
z1&Z-sd*1WLr04tViZ!d_t5*0JI;oYhZwt6N`{nNI+Z0+BYc>bXO1eGmDBDgGgMC>$
zpPm0E{&dHTlL4=<Dcn!fzS{6(R;y5N;`>Jm^Y}X7N2+c-v087^ic9qm7B}`*hApUy
z$-Yy2FGHvH)&32FAD^#zy({j?VZ(&x`oG&GExvm8ZaE&H_(RO(Je$&#8EbFd48QQh
z@lE;kTzL-1P`8|EQ_N=1>`iPFnsmJGzWV)CK_8vyLyyinPigm<U6psGdvo2b8-`!D
zIa=S0Km0aedZDmSpnI5)tI(Vmx}86o=Fk0MQg>xqahXOJ>q}cV_I+aW_9_NFeVqQ@
zTkTYR%rh^pO6!+S2j6B3*d-*zY0g>v{Hl>`*s}<W7R!rga;GbN&#jvgbSA}SWn4{j
z*sF-2hq(%Nq$ZSEg}+d_`}C6Fikk)#zRsK?RJ>gMuJt-^tpzE+Rb`U&>bvKiJ09u4
z%s6@L&KrRfqK=$zt!C@Kd1JzQ!%GXhoO@XQD{PPYxU~Kw^W_PP_4Eqe+<6pq`Hl-K
zKRfF7{Q4S$g)L8hhX`-`V_cn?_TfO$okdR9I_0GLKZ#v0^XpuZH(hec*$a))b2`$J
zW;F4{tp3jN*k<OgVx!Nm4EL{KKTtcLPj=CK+m%6rZ8;r(PvuBV7U=ie-LLaFRV(hm
z(c3EC6;oexraN9WslO1XvSnUxXzk|@Gk3Xfs;?5V(Z3U5x>Wwf6TKtVXBunP-h1kp
zcwp(li7cOtt}h9XJ-#~e^EyucBeU*o4|Ob^>#D3iQ^4wQy}s)4PUESUru%CYe7H9E
z>Z9!*iBX%<SKs%!zd$|UO6IJ&4Ig;_eE9hxYt8fJuhacipYvWg^eq;&vRZL*agf4i
zQ}gA*MkkLuwaw8kzt$(5^)$j&?f8edFSGko0^j}F$QW7iy=>veTGm?&?LxwhzNueo
z&5&ETi}$mh)BPP1JqilqPkQb=U;9Dg&aH!AuYPxlsL|9@JmcVW%(%PlQ)`~lfpb|>
z58`?G67}xBPTDv<>B5ZATh)vft@`z6m)Ett+&4?J)O^pb<-#-nUF)B6<&a*=y^r3D
z-)<Cq`r3E$C2vR7n%{rkJ--=gdg@Hm3ptO9BDtEjl;xYU{l8qyRVzKZOi7;kd)vcP
zdVW$?YniWPF<&>Fn0F}Z=fj|rVawM44n3G}W1FK>Ds+EVqr7VLmQZQ`FW;A#tpB51
zb)kNj&pB?Mrag{VzpQ67T{Y2s)|9CmcXmCR!qHf`X=c>H?~QK`scv{?osxL3Ss~%h
zrJA@2B_)fVU5Q)ADYJ3XYgNUUTkQldE-l+{lreR7wDm68se(^iFK}#2GFzWgo%|~I
z7Q0#cHE-ob=XWzcyZc#?zrE<8<+ql@saA?S%9D>K&#vEfV14o8K=Z|4PP6IQ%*xR_
z_<L1hn)NJ|sWID{xBql3Ti5$w!gDp3pgRn+J~4`imI{SVSa~8zApZHh`5UXRWbV4H
zC!9C?+19sPcyFdJ_$jip@O5{C@I$H3HRZFqQ;v9Fd-SIDgUHvWH=8fio(i~~#`kPn
z_2Q!3hCT+9KmYUEX4Q8%@i*4K<16ntqOx(eZSO<2I{6vKx~E_6bx7wfpL=z6%!lg3
zWx`vhq^v#s^VY^IPDiZw$}7)Q+q>kgnyHSOO4J-1weqS<v#0Cw^0zhL-W%mo!e_M2
zuQl(z^{Jl?*4dds=}Vp^?9VB(6<oK>I%WN8#rb=G%d$!>tTkm>-gQs7{+`+FRQ+Gp
z&E>l1*596SvS6ck`AXwWTOTaR+1v80^uNgI%S;kpbz5%lON?~;G5^>mevz`>+wv8w
z{G2?J_pEY#FEAy*XMOq4i9xynir1=FwSUuhTD$F4Ax9+NOZ&{aDalIrk14af5OfS*
z|5G%;q-?LlIv$f-E6zXJ<b9-n|Et&ag)UdpGrh%}J}+PKM0ZVD#iNDppAwQ=yzC66
zf~?Nom#(h~S2tUIQD^gO&3}cuj~8`UmG8-r^pDyj{lBqRlJ(!JqJ4{2_`RPpJ#W*$
zuqRUsJqis(W~vv@y~+Eo?tt57@6TT*9DF`S%A;*|e_@f(b6H0d`<+>(qMJV4h!&~5
z%3iN(-*%x^`uKizwrZ!-m+jVwhF$vFs(U?($N%Hfa$|GPtC^u^Erc%$9(UjUH!sTn
zO1s*kvtet!@~=*CUu09AAX4Y+TU{yWRGY!5`zKLjlJlmbeF8;B)7b6q`x~y`Ue6+W
zFZ%Yf7xUQn3T#RFy4KlZVcku=6Ykf4f7}yNWHK$No>6c4xhFaTMUJW>#x43qE3U44
z;gOyABIvHo*Q*b=CRn6<{b;$im?y!z!9ck-t}=hNg8v))O==Nk%PRN{)RydMuk|-k
zuH@M6H!-U+W4&*TPn^~L*{{}5TQOrrb8=(vLY8H-oTl|{w4A~6TiQF~Y7LipSH8@I
zI_a4Y<8FStv#x&c(Y-<|4kaAoo4)OL<LM>Gu71v4^e@CoyZHEWGpB6PtP)3|&D<%8
zxqaFUGDlM$=7uO_Y)`X46q{qd&1I+M+H0$${v3ICYWKu_mmHR;Sl)T1^zYX-u4zXe
zNq<}W`b~|Pf05YEoC6=(Iu-QA9p0OEmA|U)i?BTX?02MW&atLg&-&t}$9p_Vxfx0)
zv;688pWkFrx<l#Xqm9oGZGZcned{T!hrvgMz9zn4(^z2cv+~)jWP`j(D#^<{vTYI_
zmxtUs`s|HB?uOU<{@%#TpZlTS?&1lH3rjW~Tz4hYL2=TF<R90Irhj~U-^+S#Y|`Xg
zC(kg*#^16#>Hov*TWrhm;2U3ew$-aiACR0Nwm@-xDgPz2J~76&nV+Z5Iw~6P=g)EF
zuvgu;8xAZ5+)MU6P2b0V?S)rL%wNlkd{<?ImX#hB;r?;&O;~gA1#i_L=7VbDPEYql
za(%9;v9gQ$u{$eV;iMQ#wu0{7`D@;P+Isap`;OnO;dOO64QuE0xR*SCY1@#id(|nl
z-nroM4!vKxE$#;=L@s(7t$F;)dlwV0?Gx^NSsQb-;C_(X@i}R?R^K{ebu)F<vT4yj
z*!PCWUUm<0z9-<aCE%0v??;~E4X3}ZWd89dpYK>)cg)K-GiTqEiPJ2f@3<~@btN0W
z59b~04Ho=rf2_WXsuy`&+M%zl?X0r8b-w)(pR~jEr{p<GFS+kuk#RH6`^#A=al2*w
zn{KaH{A`!jmnNY&RmSXfd|8-otW}U{_Cuw`J8xD9c$s<zZQCtUE;?=A+w0oP)q{=e
z`%}+7-Bh8{KG){Qgyz#b{}c*5OpE#U;oir~)pA1L1hdb^)l3y=Iax5#X5X4^@j`Y6
z3m(*oE)V0#UROVJM!;lsiSn`yyH4x4J&oG*#Hral!bapU<Nuk)vL=%`QhNmNZt<yQ
zT>ED(W9+rbw-}f=%xSW|XXL--(K)5PpR`{~fAv_i<Xe&JzKbj69YXU&tMu=ODrs%c
zs(YNuY{We$U6Hx|^+f-zr-kQDcy(Hwtwo*defoUo9fvixWK0aouIKgInscJK%}3s|
zZ^czDhV_A^AAMIGV0SfNEEqA*+S>A^l+ia|QE$JmAyQ`R8S9p%O<XipRCtHSej%Rr
zd7GSNO~QoFIX&xacvckt^!h`gZ9C4yf47)qYrW0lyTM|^!;Qud%)T$*9<{~V<$AyU
zL|&aknW395%d9&z-(~S~)#u;q=LmiJlIiVo^TV%?lZ(wHW-gi%x=S@-gK)?-#izPc
zq)eXLgmF6`tDDH^YH{hp#q<YenKLGDNP7A3Wed0A(mkEV`%Jf}v)y0*%SL#wO0dhV
zA|0tyECLhmr3%=F)-ZL{$HnD@U$2Yrx4rp5Os%xBw(8e2S>1O`>1knHm0FW)GwXxo
zmi#M_PX6~)G(PER(fxoYyKQb4ud_FczOd|UOvd`8%>w536E|L;CiZ-4>b`7)p#F!f
z#V++>Qw1-xE1#b<K{TXo%fqk>w~ItmJ9eB`@ten$ldwlS_tvdguJanN^fNm0qM!aT
zdU){5PkUP~$rUVC2YrK!e+Z{Ci*COux#)v%{mH<0ZOff~g^w)bdSY3}!*SdCL+YJ0
z-h@Bb|1s#Wop@`J8QrW=_F1$pZ<Ed=v79qplcT$Cu6mytnzV^0^nG=Zw(%5|3(sc0
zbTHN5EVtG&%l_WX?IqvRoQ}1fJMXt+0+Y+-Pbxptb6uU~lOC%dTc5OXsxRZeroCK^
z^B#KJ-;t?zi`}udMKt8=MZL(*y&i2%e4&q%cEr7#y8YzKH&1m15_FT+o1Sy9-+XY6
z^dqOc-MeS~*!AP(BY)PJx$~>d18+YF?C*=NG@M=C{&Zd4RGC8?jc1tm9yt`YRWf^9
z@X5zKeP?xaxx|v(j>oTguWMMnOs>H+;lblX%|xsIMM-<zXVs_vby~iEi|zUnCl0Z`
zMQ2r3$|#mdZDwl^blsEKW_!{vO>xyMfsRg#Al{E%7Q*?m_g;FhYvB3!ww>v~%&D{1
zuKj<|(`GjJQ)~aIr*|b@Th5&EPU29p(h`Snua2*L;Lf>VFPClo*Zvm~8`D?D=fxx}
zj{djw=T!R%`+ly@eEog>t$I(%Y1^EOw{K>B;e0{n<qlqz-P>Q^_>dUHe#Umns%{k(
z9?pL=EYhud=dCeL{x!#5W3kAEE@7+nQ=VLXbBWhz?Y2u@7puPSOS$nj@{!KpXD4hX
zos;}m>VB^$abi%ySzW{AHCI+V3~If8|H}NOHT@S4^Iw<j>v!Y#wEH6^oM;*Ms(!iT
z#0~S=qx07F-ae?RvHgwR@_%2Y!d@i_7q5Pve(n41t%o_!^}cq0HM_fQ#k6}TY!7a>
zDaw8K%tf2~_2${HJHN<Xj54e_?mLSwc!%-6SIgq9V<)hGHke=MTjO^_qc_jycFEbc
zX!(cU-4@*0JB^ejSS#*kC*5IRJ?&qdSy_rq{rQ66kcB>FHm)W|k}rpEyu3|zxva&h
zvfkhqGt3?*a7j;c+$b`0($TFM8kdbi7O?R5F<g4BlwWA$`d0Pvg!4k7=S~)hEVlPp
z$+YtE{TU_d6F&A|3_0>P*XmE^8_(M^0p0!f`@goP<|N&Ab=kJ<#0>5yk_wh`LAQg}
z>pQgHV70G5=Wfk)x%#Wl-O^QyHu}ANwbtp-M(ziTXGGfEPnrAg%ys`}rNb&yWDRT1
zw-lX-vAlNax_gwL&FbkpQ#bH$SoMd+yJeaD!_v(cGmKCC5X~_Rai4Q&r<T>k{U?s~
za_P$a64*Lvd2PJ0TB1PTpDj+3YB7Q9oh?H@EOv<y%(Y;;qE*j$;^$NE7iN<A%QigL
z=JNPcu*vLHkn?qCDITU`x0e&YO%;yVI=w-3af!a##u*{ncB;2xs%I9xim9Jv{p)Xu
z9HaXm(HERuS0^m_VzP_rjH-0gW``5XyZ(K+A^%I&<eh__;@$raYa8djIhHKuBCFYY
z=TqV$y|ztU?q^=QZTV4AU$1D^X~<OaPLoT0mRY&E!>WiGD*5Y_Y+nDIykAK1sYd%`
z=7-js@2@Dk?)Sj4f-~;-Y~JqWAMVI5%M6rD4V_W+W$A+RQBzmVJa{kY?%boUXRe$&
zuvhfU&bEA8UmHdJ$1R`lGH$$NDOP%I=CZoqTzdbV%`2iWo^7?BJTc_e=H-|E)bs6F
zHS?~kLBt`c<rjq;a%Wp+u;09u`v1AVYs(K&=KQzk_xU@1FH1UF*tfjP>h&g@t_dtN
z?JhX|K0W!>+_n$_ow#jVO8<7&UgY$gS8^kDpJcD=y8WV$FI7t0v1*k3p7d{;U|Ex3
zr0ZVRbXk@7N2Xy91KU=)@l^^{U%RX%9rU9<<&r8FPuchTYv%4+&GSLvt?IFtM_RqM
zc7M^;`+RZb@mun7>2Y=Ee%+Hws()P&apaXA|DTY<%|VAdI+wV;Go8Q6b;)$u3yZdI
zeyHl!{mWs;Pq&-<E0<ZW=hF7dQEomo_gRerZ{_YIF&nE(W}b-iHEK6XYyHdem3OnM
z%FF0OzxC_it10K)KXF1fFs1Fg-&EGyM;e*to#bFH(aLahwYfOM!|dnVSF<yZZ8u=+
z>E{pNmJX^`^r|`1Z|~79`q#ZEjpbq7CEH!;&nrCnG*<cB?lSJ$e3w_}V9)ZOw_ouv
z$xbu3jVzX#&1uicKWYDp)A^f4m%W)D;P*`P+1pF?-%h;buD8&CHRbF=rpRmR()D{+
z{80%Amp&y}#adipQXgHl{gVFA!o*D<)-`@QA(f)CTKA=Pi0lEs)vY3jXLeP7$ekAw
z;F_k)Sh4DK-1cyzJ)y_8vL(+kzRDvYlEGm9ebVVWJOLRpUFQ0S@BPlQ^HnHMiB!4o
z$&qGR{b#bm_HZvFzen{yjeocP2$5av6<wX`_x}9b<!Z0bd#;Inbo4hzhNbwHe?P>T
z1^!qWrTi9<QLguNxbb64Ny*!dpRVXGyf?q?kKUHGp^FRT1Q;KQoP7QD@txOCgIfB}
z+?*X~usp7n^^Dk7>s;m(oojQ04$a$>dDN<u+lk@6<lK9Oll#K!k5Bb%zE}UoF2rKq
z(<J8858r=vuitng_L~0st$n-s4qF^{)~<YZ_iEYM8N7<}iA-y5Kafy+pp{ec#&*{?
zjsms^KOXS$axS>L?9%T@W>Jp544n?<^T*C|iP>E7pR5wy&MChAl27A?RUZSVim&Y{
zxS{<i>(iv&tEbvWJ~rMkdDY5Owy_oIU+VdrT6@;UOC50w)G!v4{Nj;)Pd@Abv#iaz
zmA4M=6*RPbV`QlJj+6Oo=gRF#iKlPcq{uX0XGzc6#b~<EnD3T@4VStL$G*kSay!)~
zzx~+ITJvME#fGBVz7KY1l<b9mYrlQ^_slW2t~$BvrhlZao0t~;T={L$SF4Kf><<>J
zUq1g>KP{>;>Qu{>U8#kq=e}DZI$_J6kBRk9k}S{6zkG4s<$$(x_FM8NyfzL@4WIu@
z?cWYXrtF5Qxlh09r+mEK8G2!Yk+Ygc&T)gDrFOU9OSR3}G$H+D#_F7_ro4wPq${r3
z6PWLq;4#CiI@SA3I{V#t^GWP%SK4L#ro}5*^xN$A;cKj4>{u4HXYW!L#-m%}f}Qmg
z(&yQhC40Y1o!$8^?cCE9#tG+dnk8l#+G{TJD(7+D<5Tw{;^~%Y?=xq__?!PZB<g(S
zfnK1>q)J2k*;Ut%y<g;<b2DJSFw1h&pZ+y#b}-##>d3oxXu|u2S3X3RzUy1N@5Z)d
zvkEtVY5j+Wd(~byB-L|f-Cn=%-J&Ljm}2X9Cyve5l2~RU=*V`+vPz{ww0`Ye-=?@v
z(W#xq2iVmnK9c<D8ht*&X+nk8-koV7M{XxBSn{uUlH8i3M*Fs?yD8i-;Q!$xv7^|Z
zccN#%RoV%uGhdZHKb)c;{dDyf#W2qGzx^0G)X%1VzVh?&kMbD7S085e*2{Q)dUyX}
zdCRrz6Za2JN>2%%8Y-4?>h_BH@_+tT$ING)wp87kJ(Tyf+0J?InFF4Do;&s9QiZP@
zeO&gh+}AlNW!K$}H(T%e9I|G-nB*lr{VvbX!)I@mY<a%AvMNs@RdpWQ#H|j$t2XH_
zJf@nW_QZm#z)nG<Ax1d$jZb%E@HLHl^(RWruV`#BJAPzU!3E3GY`@F3JQAG0H<ewO
zy6`Zk=wltz#SVg8HY@EnC0`Yst{HQvkl~tuo{EkC+eWkKFPCd0l;0~Eb|)@Z^z6}|
z^w%@wuHi&k`C`4q+-Cp0q%Rv}4_<%bv}50z&$hf4&WENgO+OL4J2bNXN%ZG3mN~V}
zHbwQDBc1QKxL%zlc=ckY&E4l|j*mJR6mKN|T5#=E))B2`7W1>-NO9{<?R+M4xcWn=
zOw`S^g714xAIbjDoY?z3eTGxkk4o_+&3FFX$^P<Z17B+DTwO_>ACi}re0)FkL;hj4
zX)zBkEKS<#7_V2%yGmccWn28B`bRtOMz`j#`6?GJxw&3^F5}7rw*yZ+Fkkg$7Sqh=
z#d^NWmi$m_YOg(4r1AXGk>BTb-+#J}eKGgdeEkjOo77beg8T#aiI}sc^Iuac@LXWe
zYrnKhrRdV>0+WTs79wfVIzkpsc{{T9-T1TcqLFBQSC`%94UOCKzZxwsP;D^cnN}7Y
z?;G<dIPSY!eEL`U`lVOqn~R=O-6K*|9OzWtIoaT+>FjU9v*%4+EadiNTCY~o^o|~J
zfrJ0{8J|<SlJvcO)`CM%%sY5z@7;c7cZ_P-`UQ8+?%J@!xqNn+!nY;I?z#x^ZC|%=
z?;Dx5G4J{eC(n+OdpalTQgK?}-&6N`HmX>MM5%bC_=Fp5J$igEli;SB`en{efoHF;
zx_x4vr>2O0n@6#>oHfsE#$J<l89$q!+K<e+POgyVXL?ex`}V0>GOIIQzxyI#b?WlQ
zNA`a<dsRoOpFY@s@cKO0*ELSn75psR1rPuET;*~RPQIep%X>~-SwGWbt)sVOfxqA*
z0l&jder^xUtP2yqotC%SwbaAvwoZL$Tuoil6tgdhnrC{RNU6q_d~)4$K8!h2s&0?9
zobHjsoojAz-B!FeZ|aU{|4!C7o)ME7g^TOD3!ieu+HxE>T_18&uU2ZqjEY&sd(PYE
zRH;6=WgYFg&Tfn5d~VaI^3)%(=MSbgR&LY}>d?Hk#>TVW#Ou~1AG!M%Z$9A@TJ_{|
zJ^P%F$^Ltm$8HM=TpL;8V47|h<+t^yh{%ykqH{Atm-xQblc*H>nJ}L}-<N-}*u|jR
zg(@QM-<0Q?Epak2E_};zF)xTwqUibgB42~2I+5p2Z|^?0X13j2jg^Vp+518YSkBD<
zF#q_Uz#}e<FGDtelu!7i|MB9s%}mn+j@`fWX`fU5ofm5@owd$AmUq)RvQXs6!EF<7
zXFqb{UZ$|LSYQ#)j)i%*3)p8qzofJNTk_SEaNVRMM@}#6-^s$T>8pja)h!l|1yjGy
z=lHR4b+_k~>C$sm(kIv~uM=0D>6PL-JN?S{w|VXXrRP7sJh$(-(4?8BarMi}<$NDb
z>b25yss25G@ou5|AX%30nqoKRys;6wpm_K``!Vm&AKx9Y3o6>le|wK)YhOm$s<=;X
zJFU1DtjT$}V4?Kaw7a3tD>t`W^;ImCtkBP2$$3|6--BCgeoaXX4s)8fzWk_g06X_i
z$6uZ<2}QrRR^0h2RG?(E%4+7BushQOWEwy9?y)FutNeYrw(?x!kFI*Pwr@;pxZ?Eh
zzp2ks4k;80si;|TvSR(WBaarZ?l_qly;Xa{*?*F*@ojUQet7Ve@Nqu9X7_;mlS99<
z@BC^Hjd{iUlB07Z*ZRCzw!QNb|8A|>FFqYTtF=I*!eoKKV~bUPj=HZ2+>maVTlwVQ
zt*r+>6|NTYv2jY02{0BGYyWCLkNHBn0(_aUV5XSZ^tzqGyv!z$b;6=7<_4Cg(;a0+
zH0rk{Pf&B1taoc$?rjkIoqOACS?+DK<+-yjf7?=+w%>NQdft)VUz69=d^*|FrKCQs
zpoC#XrR7ZH%f`kA9|cx=t?)87F5E0^Xt?3fgvs5zW=J!yk(E8t!}!d`W!AGamsQXF
zT+ZmY==k`YF?iy#sLwA>@7lC51|_ZFSN|nCP3qtDoL%#FZES~$%v+heYkk*t{J3-X
zZtI=cyAm;XSS0?buADVnm~qXSPMtMx&vd$oPTjIpRHbu;is+S2m9w&EVtd|pOu6Ip
zW{q#>lQq6)Wn<2+?9`Eo?RfJqTG6Pq#9;G3eV=ta{}~@V$a}~1gZ<2*qZj9S#KrhV
zI0ZWPdc;f#toNOA;>N)q55HIOyO<A5eICDM=gQSz>r36;S$@QyJolqsb@KnI|E|A&
z^z*(DGmo+H#F<+)8%`X#bLkdi+sFMClgl;~s66_Szj@~D%l~)$V=VgH-rw;`zWs_z
z+B32Li|)R8BhvHsZ08CW*|&4=Fg(+9`P7&8OpniH)iJ(x|0N1HZmU-a+G<?(<NC?}
zOC)Yb->&@oU+wRGj?9LS_CYPOI{z<v{LfeWZy2@PE24VVY|TjKe}?&qIp6y?{=Z>*
z_J6g{r)O!`^1l7AZT@Lr^^f<)nTrR{z5Xxu_xja(FQcrLohQ9BFZ_FN_vg6oyM$L6
zX>SuemvH@XU%RpU=6|VwkHd_%{i}bUs+9Dr{`z0{^ndlc_81;GdTX-B^v;L-x3#|9
zf9}7>umAd9E=Mk2Zl5=EZg0oDsjV|RX3lNx?C73-`~83B>sQVmJ$i@ngZ#h$Uq9LZ
zs{eNC&YjD5MADM4UYufn<ym-i#nSy1A8SM{-u_uL(dw<1@rPSJ_t)xe`r0vd=EIMs
z=bEMJ{TkV2{>4n-{QvLjyf4n$orO)7cV1p8(J5T=PwQN^X6DqT^>@$hE_xW9yyPJ7
z47P21S2Eqmy<)3ST&x_?nKnz;`u!rmV>{=_M^3W5wqjAXfJ~-&VeQM4j+3J13#ocP
zmp=Dr!ZxwYds=H=9CP{bHGx@WkwS|6yJ<4FFRWT&bmC>bh12heb5}K2-+dbrJ$Fr?
zOc+<??Mj1Z-}mieF-ZMudgjvM#Q&#)!Y|77tZY_Z5wx~dpI6JEnORKJLd@kfOVLXo
zh81Ry4`r*ROf&iu<#=5CWYxEOkB&}y*7dRH_lA=X)Jo-o`uy%VoY<%8EPQmL%N^a^
zi4|#=Wh7$it{pE6TUh@?Z*{Ko*|h>+t3NXarn&@ATE0CoWY<!KmU-(fHqB@klTP-`
z5E8H39=D_<;04cXz5ee<nv3_Y>vsu}J!-N%@RiM+7da93_5JzJ<egt%%2My^)r|iW
z?N(X(X@bLxEW_}=<*|`R{lxrA1I(rgHnZ8;?2G=Ew)c0u<mn@(zA^&!+E>luOM0$}
z&+flxIqwh0<qc~tZeD7(?(*Kb&GFadAE(~AH%0E=BI(7=J95QeYpVqs7wqkBZIb-J
zxp!^sCjF;fhqJCl6^AZf^n1Ui+$jsI*~=XpUVPEGS<t>H`iJSHcXLzLZh91Y$zay}
zqp{oDBo7CD+R`JNb9P4kCciEJZXJ4Be`M+*ThA-AGF|KwE-`yg;ElR&zF?YPOW}!i
z2~T@B8wP&py(O1&)|h*hR>@s`!4G`S=fw=JHy_dOS?DQ0uX~-`$F|mxmme6sH-!q_
zN>XAy@Im3Of^A<|l*07n$4_&PC`TMJ42aPUJy~>g^=Y1`_t<&tA8&TAjS~Olu_XIb
zfLs0BqfB$Qm+<@iVK?~KaXYihRehb#^o&oJnI38g$gFIYNVGe<WOhNH`qqusuQ=Z;
zx^I~<?^nW1&KxEM#pmB8ZluK)`3o4yf3lX$|LDYa%{}y(oZNw8ugxbkq9W~PNnU5Y
z8spHo@L8Pd8I9%FpK)E7?7cUzMzZa0=rbMBn;|EP>bVcC5>Sm+aY<n9oP1Etb#nZj
z=}mFVoEFYGu`aM;jsKJ>hs~2S5>7K#nQpgKa@+swz%-@>G7lE}$A1pGdN}cZ(yLv3
zELC4uWzS7eX+Lf&@&3?_J(J#BMgFo*`eeR2DedzE##ml<g{n2psjZBeg6Hm*AGp+c
zx+`wO%P%=)DZV=O{g(}9YA<wtC2u}SprQD&rA>^1OV52R4u88u{+2uaZ{~k?UGszG
zW=gf$-0S-ir}QWm*vJU*{B5~+gw0g)&;=I5BmIJZn{^{h6x|*t%;=I3kqVp6wsD%%
z@BJ}5fBK!YFNru9Z^rlPoDXA)Vg_sB%&EVcn|Y+Pt2V9Jv-MkFV14*<yLxuzmmzK2
z8uNE$r|$kDwKPP&E~U@n?a#AeQw3w?>W@b%U0b*K!zxC%zLjev?k_q~GdJg{Zb(&d
z<@R}R6Ut_+xxeCTn`_J&pY8f#dV5ZOW}U`%z+}_RRSB{)7G6o4xu*5z-|0KU<8w7;
zzS(kO?@`uMjcWG(r|xWDA<)nwUjJfeh}t^m80VnERWgC;mk%ag^NFATT;g2qM5`;2
z)m6JWw#t?;i|)&K^!v)*$h6kI@6KEjtS?)3z~$3zTZ!6h>H+GUOCNdIM=UqKA>Eqx
z##%prz44dXRg*Iso;Cz6y}e=y>l0q)FAj#={1SR)7S22I^@G*zX&Y@Pq}<Dp`M1QS
zzPP8Ey*%pfOXl|<-ziHxR@%+~G1xM!#xeL-j2xp^-u$e(PJuAj5dJdWMW&g?sSbaR
z$$y(Cu~^<n=I>R3VE1VvomHomHr2*NcZ%;+J`p0lw0UL7&O49aR>w!W>xv{6P4(Zj
zy?sT6lTX`M#tT)|teIbRuYCXTaf5Hz=JYq-n)P=t9!fL|_SoJ3=vm%vood#n8@Ys=
zcIJC`7KAC-$v*o0?`PxXpsXpaTlfCw(`N|##2S2Xs>h=*F_%Ry@94SKakp0Vyi`eD
z<L1<+JKHClO)Qvj=~b-GZ10the5(3lyB^PLF`8(0di}keFCUb+T{x#ld1UsyO*oi2
z^{-0Yt4FsZ>%$LuxkY#`TJO8M!@kjM@6F4X!e7^g3Pm@_?pVkDkkj*e;?bs7OX26N
z4kwH+oqrI2{=-XGajpWE6!qD!W2}FR{XTD&`#n+ZwAG<5&Wg)^YvS+k{@a#$=6O=5
z>)TI98Z&yI9=_M(smNFN_o?axyL6d&8HcNp537H0EBGA`&Aw0{abQ}HO=i`40d<oZ
zO-8q;zGyJ_DZ3`8P*AnVSZPk4!%W*d8zk;t4AInRJu*}8_Ga%k*-IOecE?)Y*4QY!
zKSo5wQtDLS^RA$EQ$-jGAKR7lD=xS)ePj6t-wi7Bs<e_bB#v%7=;yg}_1jy&Rl5x?
zMQz)3^!shr(}|Pj3pO=v_N;#{miVl)dHI{<ONW@Q>pr_s&X(1=F#BOBv(ZzgeX83o
zSIcah>3@dn>4~4QJCvvIy7~XPi^q-Fs#9Xe+yYKs;pKVbRsABx`Dh`d$u9qw;-X>o
zIS-z&e3{nv?w3}_vm0DRS3YleUZCUtRqk8gzqTKzmZ!%G=*KQv)tsjIM6RPxtbXTB
zm#WGwKR($?x+uQOTYvkoZSkqOA`d^6F8nYd-EH&A%wxIv;_HeFSXb?N*JZ-Oe|GsZ
zgQCMPe(uscVa#sLDy!_cUiX@khU=yYQu9Urf7!}t8fw2l$k#?=Rrd3T{oKpCUT5n5
z_pY8k*Ym~WqGYG-ab1_$*u$UAF1K2npg8A9J?p-PKs%c+xzaLGPM%5iOg3%l%yr6)
z!ap7#?pI*Edc)x73&ylNJC3kKOka7<ed{)HS<R0-bjk!=WsfvRY@X@!y8F=c!{YB`
zgg+Pd*C_8#?6G*8U;bNe%iO9fn+p%y^5reEitoR>?&;;#?GleN4PN%mV7M)yy1}ew
z;#HQp8AA05ac!rH-tGUeozXU2M)1A;+Xow8?Ebp>)R`H3YX!cal3O=LdhdfD1-Zt|
z2`|r14pigf-n#k1Vu^Lz?Ru^K=NCw6J(FnNx8uh&A%98L^QX40{n6(0lV#CM4>w`4
z*-U&l^}2P}#rDQq$+Ryxdp=F)!WQO}8U=5)s*H3_8n?cB?oq#Cs%*jy$!zaKTh$`C
ztWTagb0VbA?Y7Rrwlc5Mhgw>{)=M*LteMPm@|4|?H}4#SbT{_8iTBn2-FHl~EN-j$
z=2)JUCXw2|n^##Eopbpn`1kJlSzbCn4GOt<tzUdge7Seg%YTm&y2~6s=sIk!sS=ow
zvYu=12eXIG4Bld$_ZbQ=)%R-DE5)gAt5KZ(^vYGH%l6CM83ZS!8NA>6!nSWtU<FS=
zwV9>-ztD9oOB)YtiF<U(Y2VK<kByfWTrb^v<j&mvw=!=n{LoWvZDE)9_vfSN{sX74
zm|rnj`K{^Wq#qpT?iPRG`4N3?OA2$bWq3}5sMl4FYaMMfckZdGd=ch6d9Rp7{p|m$
z>k@+YOsZ~=UeFaS!>%{up7fT#vlsmGZvSU4BXRTkRk3G{if7HFCO(mIUN&F8i0_Db
zpY5wTFCFJ3B?#sDhj34raH!~zZRtK{36)tVWOv-)Ob}b;Ilo!f?q9~2uPoPtm<$D;
z6mD<+cG{+5%8tY((@*bxreS*YyUXuAwfD5^-A{fwEFci6t5~7<%W1d9LF+@#=a<Tq
zd~v8=<Nm(muXNF;Jf@nGqsOhyxH)%)sQ(w6n0Qy1^<v%s#a}z;zge^4Rd1kaUwX2@
zKf!k4_+RC7zZv-SHKa~bnmF?ZUzq*;uZvc%j}8B@KqbdFca}t0%;)^ukJDx?^<8gq
zy0zMA;@bL;OO`yC8TewK#nyTIoS#g0P39FSZ!&M}4BDbJ$9$(MYe%8FLZFiUiN*y}
z53D-%Mn~*V?`P)O_l1h5{N*_86{*|tIl;JAjmi3#sgKpv#;zZpM<&Zn^R*OLyX8|A
ze%2^(pGohY>HLeURvwoY+*!AO(|+MDzZ*@aub<mQXE%Cw*Ee%aco@U#ekeQnQKN=p
z(!C!Og^!&&ePxd1#=64=(l3|xY}&O!?!b-Akk#3u+kZ+d+wR-3gg?{e!ugfF$z5*!
zx4%!@(IEAub9G16@)GffpI0fV?1=htf$zD%`Fy^FO(y~$WR+)_@B9^UYH@ScPhZtt
z?A)(TIb1XCsb&4wF=1j}J%^I3)t@6Pf6n^*)%AUeMR(iDx+5_jd^g^4D`-zQSf1ni
z=k>)d#;sp$qgJfiY{4b2+^><P^!G~O9BmgVTk-vctMb20t=(;*|90+&O`mh?;|~kZ
z_%i+Rp;TYyv{a5YyE=|a>OQMj`f|Ik)6=Vr$JNtK4#_=S_Il-2ua4{=!k>)lmv6al
z>X;$9hWm{F6n;OC*lFFmZM`Q?&no28+b-bbTe6JJB4x|V`8!_-&N%SIIehXmKU4l9
zn}RNB&%5o?B0iS)ua>C&Q8?3UDO%0Yob#c0YyXCXmqI?_VG%sLe$Qs#a`#|aSY-5E
zx%X^t7e!8b1nju}=H=~-a}5F;{HxW@e5zL{J*DS9>#oACA8k_&Kd59ZIuiGbWqqOQ
zb?5Gn{pZaSb!wE`h31u>KXD`U`*eYw%RcR#muYP2>2d72+O9oaO1{bKn%egNiG2U(
z@xP-FzFWHs{`#{!Iq8}FV%?)tB{H_3b}I9~t>W(`d!hK_ns(VNqvLP6ezMejbNe-!
zz365B>UwS7t@DDGSz6~`oA-)qwMw2jqv7Xc@`|q8`pX|aR}1N^I(EC}V`+m|n}fIQ
zFCD@EH+JZ~jCq`NK#6Oy`YcODPEQk8=IRZ6b{n;yXSg4UP@O+#W`f8b{l8C3uW6oB
zKUX{ZW@WkQtFx|UAq%oTTYmbf$@^j2OW89w*)B*#i)?vb&%+lZ^&;Tc{Jv0jO`e01
z_nfn`E}k-SeBVChWbfY6pakFa{j8saRP_H8T;ckue(1)ko$C6R_EgFp_e@df*?Mio
z8>jYu_jR^Q!*(9def!fVa)-g3Pr0jWEJMB4J+{fIk^Xs8$XtR^Ow+ONR;QkFcvRe{
zy9OshH>>ilPE=AhTVBu7J2}t%=Tjkp0Av0vw&$CbubKuv(lwf3w_?q<bko^Cx3Rq0
z_UvZ&kF?zHPW!)oT)%j&kKE=4#kJA0O6sP4`5bF!&ry1xanB@h@_Y7QEM@O(A1gaQ
zeyA{&BT@64&GXrjmjo>TtX+TNUqi({eqYzN3AN9~#V=bNT(Epz{P8s`D)sU@PaVwz
z)a57EOsExJ75God+VF_$_HSzxN~~w4%v^pqt?I!glPOy37alCG^J#mYGqGreVv5+o
zKd&##n)+Eine=6^a^I_MLLU;$O|Sh>SG+Cb^g>oB;zgpnlB@K7U!HS<^9p)RXE;uM
z`o=5x;hT47|A|%mY-pPmmk^XaBllTmz37#=D+`{hdq`h3U*&hXcFjk=8}285w($29
zsODDgeCAW9d4|owmtRRcS@cAE{qGg)F89<|UTRxgk)X9Q@s$hjiJY|gACCOtWeGcJ
zw?<X7!I#mKgVpoi?&;1f`md9Y&WMThp1JaG_G`1V+PBsft~>6ObxOMPTJIOT^v(Bw
zR`05RG52Y{OF-kA71KT#8}s%roV_k`Sy_2~j^q>7Q;R<^$$VsM3hDlm7(G{Kp~lxe
zX+QE0^JaA)d09B`D!0FxzOd@5gOk?i&299wEq`iKC3*DS@?^F?nWBo&Z~h;CamQq}
zUTS5Z7`pUq^zI2)UJCZ4y^O4P>v3JM^X!dB3u~%h?X3U)xqElq?;mb0Tfca>PI}L}
zVzrE_i})qs?%(efjw*^e+rP8mtB9U>^y~V>`A#xNTN`+)=RbU=CimmVu3ZPO9w=4+
zSaw08WRLypg53|_@ABc^=`k_bp~CfcvO?OKc?}CIp4UD%pEUnh-Sd5c(hnSh<E($4
zH+D{ZwbXS{c_Qnto%KKYg>r7}Kc+N$zwbdCw*Z!jGZ^%PZP<(sY3zELd)DKj`J<&v
zYMZy@eS8~oFX^RToqqnJht>uQ{``5jVP!ejKgqO5KbAatdAn5Q{`PVu_XU+Jc7JMr
z9hhOZcw^GH>M3X4C3LS$VrDqhxuKi)e$~P08*|o9Smmj3BRfJ;jNe&bx&G@Z+x)xd
zR+k5qTTSX)Atfahf8%r;=bingcam7@6ZeEZe37oy>7)N|S)Jq^&*-?ooyy`q5f|b*
zN{&b*8!!H^_|hb0VgB3uzSoO)x~hHOFY{ts%v`CS$~Kk4w5dLw`}bT)em5zqC_GLo
zBuL}P*L?mmC3|%@b=j)JMvLN2=U=X8N||=adJFHi(+-cXUOn>g^IPflpDPw!zwhu!
z>bL6Uxv76HXir(pekdno+x6^#=*?$8zdXUS((Qxi=0i(P6dIjiOn+MSdS~FBD>jMC
zdeUE=&TGrDGEV9j)B12wY~@CIncL;IY6onKJ0p7bC*G+~D-LE3pB26!$$WwO<^F|2
za!c#ay3gI`;mTP3?*BtKm-h?a@4G+ggovo#x5GBy*Y565Gd}!3szL6CN<!+B@2j64
z`KZk87kuFMdo`)qm+yZvzx(1>?~hxa|FvBz|Ga-NV{gDW<K+`CJ4omGG^DRC-MT{T
z!%JJqdd9<f=a-ato-Z{_{%<(9_^^~!K1XL1Lt??ZIZpMHUdndKFPdd0lz4K{_P?T+
z{@w3oW_u(QxsGkl!8uyR8*)r0o7<OVTQBeV8FO{YkNNyOk0cXnjl~ac+;!;4#M^D9
zi_S;<W|}B2JR@xJZ|>SvrauJS6TANLB?>Q34gU9e|IWYua{HgfKU!5JwoW}-e);^{
zt*hV2nJ^zdHX(oGoyz)TejzQlSj7-2r?MScwxKI8U09d1Ls0qT)BV+Z#g}*Pezf~T
zs&9*eXREeksr$1#rdpT2Gwg0#ajDo(Lv=}ka6s(yJB%i$bY363#BlBJl)Jm;s~=)2
zEd0`8UA1Jz=dw9}KP`+2o^@XMF8h1=TTVqy!8=`pEds9hR7OW;Y%fSTQNMP->Xx=&
z<%)^-3hm~*t+$kDUd!kzHZShitmE=U+ut7XI%MVg_4e!XMQO{JZXbHz@;SL+sqk<1
zith=!zR{c<zubPapI=_)v50e;^Mjr_M<e!dcMIFzmfQT*Y5nq!Z>uKDPL)YrB%IK+
zZA#6rYb%{Da%&hqU!?i<KL4!^iY$Sz>Zh&EUga;Cyj-JD!1SNfMEi5S33JrnM}4wu
ziV~eRd+pzfv=;{rZq`1~>aCAkdErZY<Y{KRTY<Ch^M7F$RZj`9+ORu*?<S>dWsR3^
zn<dV=%}{;uWk&rR6P^6ys{T{@bMiKw__o3M+g^?M=FhV1&0l@fSk3D`KA3#NkYQv0
z(d%35SDXHRRiLlgpt7O;N^-=J)DwNvU;OVa)qQuqv}5Vr=edh)4xhiO)wAftqJ6*i
zo>yPgH2rMeo07b9yX9wGI{Zd&1^3sD7h785dOVUW4057Z-}<>zJTB&P?+t;C>zR~I
zc0W6!92F|@bYbV8RPRUoS%PM7{rP5=U1W2?{GNN06Ph#X&v>2vZ5b;RI@j%D&5SPH
zez|WG^XI$8$uD`$^DgDYQ$L2f`Cos8irf@Ed-8bdj$=Et*9RF}y!426umAP=@@f5D
zcT$ctrO*C)@=8zT%A37+R1ffaHp~oJGU?vbp4Xlgry87}7RyG?>{}stJL;j$lnC!I
z#@qgeDK+eC{-~D3Zv9m6a`Ebn$y-@e(~O=s%N9&EJ0L9P+PcLlzC0v*)3J-&LTlah
zDr23dOkidCSAB0On`8@LlZg1j?#pjGy<8%69~4Pk*>5#j@|3w&#n!EL??T@=o|{>e
z8Co50Q~xR0tdk@C(~kx*ks0^Zf6w+bUwz?qR*27gv)rmBYu}zM3=Vv>pkCzcOP5JY
zx4be;GcVeHOXJ}?b+K6+=5WOB{iE^A>Evm({2adB@lP(B&f3S7GgUTOZfS;zvFGBT
zlAjYy4yw9F_iox|5~)#`_$qjr?n^!|Ny)O7lBX-3mA9`u_b7e)RP&T$&So2K-ei<Z
z(GkfJRnuGfgM+W}2KT!6$4~Hx*)~Pg@3?g+-0RIIt-8)Xedi``zron79yx8AkN6zk
zy)4D?A_WrD+XN1?9sVXd(dv)4@M`n>->)|J&3l~?#@Xe5GEg|;ie!pYaD*-Qw1xd*
zvxOF(xg0%fk1k{4?)ZcQXZ7x%(>Ugsa6h4Avc-v9o*4pZQF7taH%7c%c;`I-{2hAk
z`<Uxryz5ZAZ?k_Ui%eeF;;)nA8)q-xXm=sGHNeLFa@(n?0_lqnRNc=0YqwpxZNs(&
z9@mW-<6c{d%wO|rO2QNFdr|4~G6wg#xfCV;mb33Mk~`tY8s6w}VC|0P=GBk;L%UP=
z-`~6Bw787eOO0<OJC>!-pD<~K30v0hu4nt3)GHoD{;g-dSYD++jkl`#y=9*276yAw
z-MmK!7M85^*t9@1V`BtoETcyi^WFme+HD)__~QBsvQC|wUwo#={3gGknd_G6Iw_O0
zLe~no2rioLdWPe$yOzu4<@x4*A`3q;erWBtf5&!Tdv002%MEYU(~erZ7;kAlS{svg
zd&=IN>(=c)-Jc5UnJh0Unzv1Q^*glo%Vl=e;L9t_?7VmVG7Y%pa@EpDNl~>SG&uZ<
zpGjf@%kAH)Z|(F9cE#qs$bD&c@BKpgE8A2)ZFRclzF6eXd9Tvr(ONq1OZCovU3c8P
z`rU`DdvhA&&Gt1-+_P}<*&o)QZ|)Em$&<5MakHxD&c44BqVBK0?jv6>7W`;A|B1(`
z+%4M$WOKe6RTcT3HBN1Ae*U=R+4Ar1k1um4dF`8DdwWAiTo+UKhm^IYiL=u8Bup>U
zT==8ln7U9^+rO7nR|plo`e&FsYxjcde{S;a{r#-_#@FQR;69zN9gl*}*1z@Y&z#-y
z_4x8XyRX`C&z^ZeYnyz+45uKuhnn>*ChQSwbEcclwqRy#bk*1xapvglzqi-PPM!Ac
z;HrYHF9RjD;~u8nzhl2?&8=exM2g;heJ1cS;#hr!&8NahzS_f%QqPwtPfVUvqW;EE
zc5<mkW^KOO+}&#$1gBp(yk_B#%4HUl7c9-ui9FQ&=1(Tq+&>n*?{*v&@q5%>82q;7
zIaB@Q4I1;B%0qaMEK6o8@3v8XQ#UaqbsfjyOaI;qN$i-uY)wUTwPV`9r!QwzRs8V%
z`uy6gt%7>@zY8!)w}d}%wVQp}L)1npOQ$$e`cfVDjI#97MVlwc{E*2_F4q50aIl<>
zRYLY#>edp^`rR{bsdgJF$mdw@kLM`e(sk5tGrRNkdN1=rL*2_V;#15vE<D@%ErPQ<
zeyZ>nm3fC1ne>|{Hl0Z|3eDRn^yteZhNWwiuXo>*dep9Z!8My(+NERKN*mpcf%9rL
z4?bI1cwnvI*H68>uD;syt$WjxmCv3$<DS=PvxvLHGX2#;!ymI}I_f%Q-}!lWRbVXt
z5<c(5qpar{jX$&3FP5m5`P{ruXMGvNo|n1JrlylWAKqlw`R09i1lM~1_6Ns;n}o0A
zi*CN8rY@JS*(t~M*>%a9f{CZL#<(+w+48fqZO=ROK<wE4scrKj)9$sn%3A!ki0t3R
zs~mHr{88Rk=I)f|@dX(kIy<YUD8$RNm-+t)Rs6U$>XixC%Oro}jQY1N1y`5aZ9H4K
zWYh7FjY<21?$xAk>5JxO%RYDXzR=bwo^`L~tMycUJ-g2>jXueCo#CK-(20q0|4;sT
zVXXZksQVP3=WOj@7ysnF+U4TkElwSaGWz|!*<&i(naRi0KZQHgg|bS`V3ld#&Jda{
zmgjTu%?TxmkboJp7M6V8+3nI-@9?$qk@&5(Mz@7henx6?mHOTLBvrelGQ&)~>dTp%
z=0@FLul`uv)Zn|;PidC^J&uzm5Brw1?VkAK1E;Km^D%?xR|CQ(rW+__US8d@BJqRI
zre&LR%XTEqmv_8Wy)u0>-!BD0$J&6n4PUc=Hydwzu&H9#()&v|^e>upC(e?e;KpBH
zn#LH}pe|qU$Q%&1Xs_Ito-VbCr$R5j>PqyxUEdh^%~h9On6I)>{n6y$tz3s{jV`Jm
zWR#!4`cBH>ee8;i1tOuJ(+k^v>+Sf#KeOiZlgnG5CvHE*XgjIqwrY3htV<TNp2%)F
zc(8iz>-`>rZ#Hi@Bc5~0;L-7U`#YO>{kEs}W!In4{<ZDonq${Hgk~SQ^(m~lv38C%
zNAlmgZTr^FSavTo-(O_=xgKVdyv5i4?kaUoNvZ6ceZ6kIFYEj{C+>0Oy)lh^?pD1#
z_o;E-T8ZN-x#w7xDr|Jj?+-Ccn(n)3=DO8?7b&ezR_NZ=cK;REyl}?-k~b1I=oqd4
zb?SC))P>}I)9RmjM@8H*HD+u(I$7)1b+HLcuEsD|KXAUiq*N{@>rVYV3x^BNV*KZ4
zvbFuTWw9`4{qt#ibgce7nO$kqUVUDD=0wER$wviDmb+_c?I<x8N=nLJ)H~^q(Un#A
zxcvma{*Y{9oqKl*_tKf4wNe8={(ICL_ls@)joH(+eg{|;?M)TiUccunV^_(Ih=q!6
z+uRx0+43^70%`)TJq%p9xb+!Z7t>wNBM-I(?hRky@!4d<ekqSXXEj?Qo^5o=&dU<n
ze`B@pn(bHLGR3(n$Jl5qpU8Z$y79b9$&A(8<07@<SiHo~rPe++JGipxUQF3tmXE4p
z^J*vcGelcO$G>Vl=~nXpOF4gi3`bM{dgV<A5-xra<i3$|ae?Aq36oC>oPM7j3mHEx
z>dz5gD<rt{*N)&HuPyfTbtj3jR<Uo5{+IOnT+Eg?yS)x5n>STNWV0Op!<WuFb5BOd
zg>|J1o?e~o5HMNgvcjjk+tY-i!hUl#Yv{kYUCG$(#I<_Oq;fVng*SQUc8aoY`Cf14
zb;S7NTVAKkzsK+LaxDE)BO$uxSMO;9o&A&c`tLR0-09i;?W@HX4~wLg6D2=Qjjd?D
z>i16c^_dsCrlGMW8_(P?59ThuTwKNw7RGZuiIFYG|Hk8Olk)_l&tEWCoFNyRxP7Wk
zklB@h`@3H7o>kcP+KOeBke&aMW0UT0Q+idYU*BZzkz<vAbTV&Tg}_%^uW!nqcGZ@&
z#YzTh?+<iK?JVaru~1#PT)L&?U#Fab7H8i5<f*@<&vcp`+?8@|oqoy1qGw|4g5_6K
z9;nTn{Yzxl<V!0ycc@BPrKI?sv7gDOd+uTQ!9`iSKOS9e-1wn?;THRudg^yV`V8^}
zzLx#q7THq&ddB^d2{HL!wfM}wUFZ;6IctmYk4r`KJ<jCl-C{5fzIbQ7zXy|b)4WgO
z#ft?`@|}PA==e8R{z<V~2Fv&VnRZb68r$}tF$xz0G=CgZn;*O`$C!7|ilC%BzdrwZ
z9xHaOcusUu>->VINwqt_Jl@b>|IW&sd+W<|iG-Qeiyqk-6o%C=PjLSKP9niN@{q7V
zZA;ITHjgh4%@|m#XK^z3#{JRq`*3n=<f|1uGR;R5zceou37o(9w3PiCwqoInr;1xO
zUKH-$?KCg#<xjQt8lI(({%<IgQ_!@_NbM<C?2rpI6lIEJdA9KAvSnXaJ+V4tq1sTW
z`e)7TrtF9QJ;}4?1n3C;s?SJoSX#()neopFvlp`-6&>OEUf#5+`{pl&FXeMXV^1AY
zj#@N<&7gaQt@E;=7nL^-C|h6ryCEyV>T9F^jBMVduL<9eWzSgdETLnR9)9JuTF<8s
zg05#dzivu=r?flcQ?TCQ^hvXew4Yk9-qfR)^`v3Wrya3T>GNibt6TjMojyaZ-s|%n
zc8dg=m~|XI>DQWDWiIV6Y%LPMDx_#!yG=DZV+ErPM{lEF;f)n0K^KD)Dt2%B_Vk;L
zZ90zub7a|~iC3m=uX?pzKV0I_6+^T6YrEdna3>0jUz$8+pIywJtxo+F`o|M<>SNyL
z-(DMXd|s5!v6kpvC#GcFdEv%>PyTPk&TaMkk8D0=tDGbt%b4}(Eyu?9^YS*#ODr%9
z<IXiRuW$|Cxx3d=)8YJg?vvjhufDl3S;f6^f7V;hHLth7zqKyvTFBAWOOk^t?SJ|f
ze(ae0>)NG1C-yS@(W%b<!jUHGYNB>}jgH}U^R{`5`DXp{UXVLWv0ze6#Vsptt#7B4
z8{|JSnAAU#pXAc=QnGuhA!l3l=kps`?^{ZKu;v!=dJsCx>9UpJgM43sm(r*9aQqAk
zm?ItY(`sS9W^cR8$>2v{Eh9ffT-pECFhujY$KTjX|KmREfBw0n`}~ZBr;9GMFP!tt
z$U7sv?059#-|dz%7v9YY-aT;#%dI^P)BcrA)!TLJGOGl)PCa*YRCRB=k)+A8mzf`1
zzLY#aoV8Zn@sQ%is%d)#63+@pD{?+5PjO6G;qO=Xd$+{lPk)u|uDJ{I|1LU`VkvRp
zviol)(M{ob7gq7}KR>-nZsOU;)dw?rzZa`5?^?<cRA$Js;_9n1jX1BYO-Y~jdYx$f
zqVJt?mUF?x*oATjB~^p!6U4tNu__3a22N1++s(H{iMPi4sU5F+p1!JG*dhD<Ygsw-
z=Wzs`%WBL@6qk9OQQEg+?XSpVLEmDpWJNFvHJq^9Df0Tzd8cj0;+NUhMsG6Y3%7nQ
zc**-gPj$2Q)mGt6Gv$}B;J<a3?WF1luf`QJa}v%MOPx4(GTdkOv&l2w8r8Emo!qu7
z#eJz|>7J82maT~7zY;F%xy|_QgL%_Dr6OL1Mph}h%@F78UdXfm{52Et300R<(`<z1
zPD-A~Z7w)9NaWq-c!M9w6Ao^AJXdJqq6PbtAJ<+HWXSmuyS#qZH04{bR~!r3b4?>o
zLuy0vHAjiv2`hJ9nej+twwA^VlPw>=|ET}j9$U+K%H97?Vdj_5@3W>oSjNlJSn2XS
z-<WA;ld-E?TOr?WqmcW1{xmFkf9Q?n+_sA;w{*`)6vj-J7yfkXL!jr5{)<K}Vo67)
zv)e^U@9GswUz_7AF)?c0zYC_DmlO&K>|gbg{kQ4~CAP%&4BvzaMe2v58V{atT4i?e
zYeYtAeP;CLO`K~A7Ryh!+_Nlu<3^@GKIb#Nc8i_b?YLF8&|J#=&FQ@_&mB&;l3BC=
zQE^x{m)vxVlh*uSL^8g_B^ETjjM=j&xa9v{#=M^g>U&NxPCfC`vNAWSsy}bF|4du8
zV-5L-CsZA4yKSto=i#%T=9PKdoo6n1to>$(QT3q%@8qV}FNluoV>m3R{pzQqNbI-U
zb>EBT`-JoKg{?D`P}g*4;%nbGhpCYNY?geF%hrO)FXkQjo=~>8R`BcE9fn_)|7+N|
z;^*NkAI1MSjxjSXKF;-5ZI-mud)=;*0&6y|8#Y0KyH>3Baai3b6aMS_%Re6JA9o*o
zn3331?wa6dFKcXiE4x0pEm(Uxr?5MJcvknRz=iF1Zd~}cNwqP9xo)kBWA9|$%%&~E
zwPriYEi~`dY-Ll8*Kgh%7G-~{Q!^)E^I}E?Z7Z%viXS=;8-ysP+`S`mPV8Cn2`R<Y
zuzf0*_;(m{+ZNrPbMj06oMrib*=2?vU#i&mXh%61_gvA>|6cQZ>eE&AS^TRq=P91w
zF!^g%Ug?~KMlH$jVw>l6aNUUP>Fj;WEpWV7+v$>xxW7b8Z{VhTvK0pV9lyU?I_Hk@
z1Qm;Lxv%}D1xK14+|70CBl7aSHhpEde5p=NqsFvm>7sq_(oe2s{xd&(>94s<y&C6=
zi%&CoxUVjWT|;iUZh66KDaY(2zWN`FzFy#s&=ZtWSQWGW^p8nXbX`wRIVASFY;AnU
z_KD1E#r@7^rJDS*5NXdX3i-5V>lcn=V$Rc#Br9$^efdl)ck;A~{;6xe9P+!{cXW>H
z{&^}hcJtpU@p`Tupvjwi_04Tg&JWw|zb`%!{dOLs=xvj}(-IlXJ}bAzmCl}@t#Q1$
zzJBMW7vGX^t(sl4QS8$C*PA7tm>yms^Ik{oRmL%EhM;?5#kTX#8=ZXgO?YJ&Tk2oQ
z(|;?sw}{)VtI?Svabw~!m#uluWzFvtf~{W&8(w*NTrN8LZ^g6wAD=taNR-HK{@Ite
zf9no?P7~ia=1B%S+%DK|c_!za9ab>GFZ<<^^q7rY^?Y87@;4?j6&fB9klavYICE|E
zMKgZR=O;ZPLxkJf{uW$3$a6SXLvq%eA8D^eK0C<IxgA>n=)gy_`||B4yW?N6o>-+b
zM{{!MjQ9L6ei<Cu|51y3rQ!)zty7oHO*n*v^2BzB@XR_J%;z^jMqkd})brcE`I$>T
zXkHJxw{)?Wo937L75x$%OJ?8B2xfe|;aTXrHdmg{Z`)<cp194C>=AE}`@Cu8iIW?q
zo;Hnq72ke*pR#_8;HvlU&ssds>^!w{)4r*W6WJDKbT>ILDaOsWx2g`4J$m-Vmjjm>
z*XzHSeZ$R4(av`td+1Nw&2yISuU+#>HR4O2@CWxC=M|o_cx9!sXW7>a>i^QLelb({
zx?F+s;j><E=hb?w{_=AX-~P!jt{o1uKF1TMm^wMO>DS98^CnC>W$dV{@AE0_z0Bd=
z?e}surp@-+;&9ZU$Y*8}dr-gh!PN&9c9}(&zp<!(HSK<Zs;<KIe8HptFLig^Y-0ZU
zEK+Q_!_Em8+lmzUd1oE_?;vqQz^<OX`bgOCjZsG}-yCw#-f~xPWzt=pD$Upzr`(#8
zC)&B|ny1ZR-W;}~wX2l%!<YApEKhdruiv>@Y=ONkyP9J%%TBk~PdjzJbPW1C6D2a#
z?<kaHH~8MrVGJstQ(wv4xy<S~Z)V_H-`%I{%r368HY}6vD$HeJ&z0C1#s2c;QI|FK
z({JTGeCq1|akYW5%g^Y|eip^ta!ToW+HJ+<hd9-bPH{PJt(bGvylUUJ=;uzWPsU7Z
zDZKso8IL;4-TwiGy@uYu`o4eLaB-{j!HjDQ682=wdH5{QE&bfiou<ZY3s#+dD9JWC
zcG0uD{Kxm6_NsETcGwku%lCaj`uu&G8<OnyzW1(wFfC|TXTf9E18Z*WJJ#efJEK&u
zU~@s~m0#xm8ynwcTF&GPH~YPO*ZTBDXQKK;<X^quTxq{<4P%ewzVoq`?EZ5nR~{~n
zbC}bv6#uh3|Bc?S(kr!0Oeu}-uU(a5&$cAR^+c)ZRCr2#GJkKo?%aK8txpGX`6k=T
zRvIfm+s3a|Td&Nj!*F-EhGWqBhu2O&U&yxl<c%E3)!)j_XCAx!ee0at67NqI9bYKB
z@U}nS(|HG%X-u0qM^@rJpO^UNoxy_LeoF2Or_bNWsL+y?RG`esTf9zb%RUds{f*Wu
z#AmB&sks+PZB><$^SdPfs&TgcFO6KOuYm~;<)`-Q3R+01@B25Q{&1wLi`kM1{z^B!
zv|Tnm-=biBNBmmEQ%1FfM&ad$FNGMXv)g^p51w3**>kaKdSrW`z{i<CQk3!)+zncG
zg}VknsS>e%x4ddsxzLCGzc0!?&|JD&JUTjI{a-1CD(0&zYBo$izH`C31#SIm5jiYs
zd=pmfUzj+X`^JJ?bG1cBj9u%G`v-T2$~`mrvu_`t?JJ22tw-}e-dM(dU}3Rygd^+s
zm^TmhgjMan$j_hLYt!0)Ir;sm=0n!T`O-1zpLSlKD%jwsWAH<?YRA;TsaEW6=5qI*
zpB3MjzgIcAt7YOAZ><x8d|U7AX5V~v(r<%w?$SN4?n&Od@j=p8O}W!ts3Gt0uX-J;
z{r+p$pKsu7mAKD!)@0*Nrhj5DetzjQ`1+{-^k=8GI(h5)P3vY~;lJq8xGXuz`O}T;
zjd@%TbVPpJt;}<Z`+Lf+p}?U|t3Ue4<-$$*|0jR4>R6n=-mOU4E`*c&$en`a$pMFX
zkI1%fVvAP#9g#o#*(SvVwWFs@tIsPdum5_X{)E$FSEoNO=N|94dz<%ClSo_5j9rs_
z0<EQm&0gMY5&5TM=N;LVn7DjpgjIDwV^V?h7QfUS=Z#(d9c(OV@8@1QpsQAG<)Aw!
zSn<~Em^aE9+X{BwQOK<L=NtXXRBZjO{#}v9&EofqlGYxbyI@M+wmIfEzOUQg#_{<D
z(>~wRe|+k7l6jVTYu^{^^6Y#f?PRJk_r%mUKM$^1=N$L+g6C|Lhg-J@3*ER`5`M{g
zsn7HMJAZD~Tb8?>ZPBB^Kg-qhu3uo|*<9l$RN}s|l1Yp8b<$n`zkM%qFQ%OSetO5@
zMzfATuP;|G<(XH;s?n?UslTq2&CUJv<IokCt4<&I7w~}ht8x9*IYlB?-CB|dS|-PL
zhD($jP_hqqaSbbseroWBEo=4rYiHOT9iQ@@@O|gsWc*Nl)0Hs$?aSkLEsN=may)H0
zIsLn+nQPD&-!_NbI%6Jj-ZQUP^K2L3X7za7U|(O9%Pw*!x+U3S@g4pPVUG&tU2pI)
zzFzch=Y1Y#=eZA_`QBSozbV7MQ+`$14{gnqpvJQIAC7%#I3(WUR<<^d(d5dilTPkE
zzokl<?Pv8rIFziFdH+sL0*AIjt5KXU%Up}Yiba(oI(!^FVv(ld(->!+n>qXHC8wJ|
zBV%l(&3)6Z6i7zy_|{l*O*-(MEzi`rojiHj4&D3jUD~ta-q*&Q5INPZ$ofAUG<IFp
zU%FUda{i2Oiv!|R)XW(jx!tBGq#T`MJ=xySzPJ5FMS}H$dDA@CvbKEqcJcG;uB{uG
z8lHI0PWXHHA~UDc937U%bp}PdvU-#_US8&7WZk~T#OUze!2Zu7Q#5>P=Pqf?K5kyr
zaBQ8RuKVMzhD{;yKOH6>J7v(hZ;Sfr`fTpGrM1@4@#WVI<JO#1db~d4*xq=yg-jP8
zx8@35PS)yZ^<dNAaW-w~7tfFhjrl@<g&K`mSBG_Mx<2=66|?FQhlz%>!;AXn_$>OZ
z;;=_qou~2t@(HV+UA7hef4TEx%EXd+Pfh<VyRqE1lkNY<;M)$9rcK{_G<;QU0JAU0
zHI)hV^YS(<Z7Z~PV&Ogc<jzXfb!_F#9PIkCN{bgt^xxsmKK+1QdPd9FL;kwUmqc%f
zmYN!0oV4w>(QBo8cAc&7IYT5oWlyg<{$jnU|M4gZD@_*%#tjxdOWKYWbL?92=B7jK
z_poCM{mxmEOk0}vuQPT2Q&PRX-p%n8qw6;<L9YW({?xaKou1{HU0-%!v+$XMkNwAf
zvUQm7YeibDoqC=(Birjp{FZ$^E1s3`?N*yQt1svN26s+l!8zAtvkz#gvfoPKJN?!u
zWlMjoj{DvhsWYYSh}YHUoz`9+xTE({h16X4$|X^;d)1%r3;6X-cjuYVT?L)r?}-1r
z^qSGSeVT`W;r&-H>N|I6*-g!S*XBOOrgpuV<K+upVS3)1|F4{5BIWjd!CuCjeQhV^
ze*4(@{PLgI{;3ASr?v0@KK?JWT5d|@1tr4^OFWWtk6-<>)lN6`^MopmJ)cykJalXA
z(Ej=M_Tk5K?JK4S^u@ZHbC+bFm^{r@tiQg-LT-;mrdI=}*KKdsxL<7b$=|+I+`ZW}
z;q}dzttk<K(?Y5?M%;RC`grHA!zGIZ<hSTe+rfU6`SQPI2V^R?FwQLAc*?wP<Nbr1
z7iaF;d~@1Mr%(UN?=Cgi)=``CeA(1grW5@kK`k#9zgox{em5aH;%@%Yn_4MdpJz|n
zdphrs=7N%+wy&<fe!r_DcKd9r7fd{j^>cN9nqO&?IabwU7Je>whKF?f%3UVscw!7@
z=d_o0tqILbsTT?9;`nYg>(oUdA%DmB^0$w*7=1eQ?L*#HR_+4Bbt>X!#-EHQ9yg9D
zRoyKjn7H|k*T1D~>^Cy5Z@V@-tNR9bdfw7Z=F^NT9L=Y#HEDOa8|C`+jPG7i?zNWl
zL{#goWcILpV!2{?;^5u=JX7m-pPO<d=S9Jhr>`P+tq`;9irFC`Z5g)t-AkYAb5=NM
zs&{L3nq?H$1nx*wdE5Hqv*5XsSqV??zx*is^<K~6Nk3vU`UPj}UDf_$GwuD8;EIZ6
zt(KFQeCj#Rzlpzfio4Zz0}pPi*2uX_Q?$?7imbFwdt9H@`eX0p6CAV4Yaf+tVy(~K
zckK6rNB1_|$@lp-SLctCzmI4`jLfSWwWoxG&c1(jG=+)z#hs8f934Ds<I0StpKZJG
z{i;p(?6b)&V%GXD+$(3)Yo<M4;50?J>ywT%+oFHpd|Gx*n7(>}(}y)H9cz7FW-K)7
zPo4eIO6m8bUz(33c<X~zAFQrZl5p_s-*D#l$=9cJHk}FGXnyc}(}PF%0w3G{o$_tw
z)8nnW0Xx0d+KVOMuL~52nDbJhw$S%oMz+l3xUIhfO-c_PY|>ZE<L+V5zo|8&_7YFR
zo(9vLqiP*hU*eaqm+=>T_twkJ^3H=f8`lXw%aE2@k?Iz{(8}^|#cz&(_1ZiB%?o@L
zwSBW}jpeSMu8awsMT?&E>~@-aFktQd^4HJh3}S9>XRo`a7!<ZyxcnMd<i%-kg;r)J
zNTw79bl#S{epg3+!|xZ&KaWV8zBtT3`M>qXtOu?Z%2P@nJbkrq!TjZG8n0D9uQ||L
z@!skzQ-rr-v`d%7v&>5iUK&PS+a7SE{)o=%udErRqIDg%Cx5Y<P3Ya4Z1Q^Hlf5;~
zM;~YD%l+1TY%D*`T4HO`v4=rlpE>Ni)a`z|%DDccmW9rny2V%juiE$LL`*8*v?n<a
z{N$?7+_SNp@56M|SugyGr_kK~g=K0dJN7<WGKVwrx%eLaD;cj!k7dmfwdTFtZW;2M
zr)pw7uWaSaRSV?Y|J_?@+I#zN_VL%}c3Nb9S^U;yWl5BNT>Tzn-*ox98GWB-eXXAG
zLPTlrR7>stjaM5Nc7CX1>7DX2Thcz_2NSog<d63k3Th6_?+Wkv{pOPBkF_`VoQ(C>
z-gQ{q-JnI&)a$_eeTmnb*Vyx|TmRwIE92vi5s4w{oqOv$-hLDR8sG8SJjiuYjrQTS
znVa-j^{vG$r^!xSX}&AKN&O1{g7n|BY(kdV@jaTDr@U1>pW{hXvU+f9TgH^x!cSE{
z@6~VPKUehIi0{kU;uDkp_5C{k^+0i>=>+8;eyN)FEX{tU=hZb%9Qd}5Pgm<L_soT!
zhHIx?2wk+9X~mjKj`|<ALN-ZRqE(ZhGaS2mr$}^z(sCBAKgL(8T*a?)*+}KZ%nw#q
zt$Z1>c8gI`C-1K3OPbAjtY)TvV*YFKkl`}RSp)W6v$_rCcG({ZE53W`&)WTIOfS@}
znr&ZAJF8gn;CQyX#s76RE~<wnJ!F|??myGS+o;6C+v>wT&f7<%H~juyKVMYe|G{LX
zW7)b+S603}<J0xi=*GsnXMZY1wN+wwYcFbEcr1Fh<cW#DOYMpuSbhI}Xa~Rf`b#ZB
zN3Y2rKeB00VE<-@BF}#NTABA}E_dwb)hH3Zqj~IP$U3Etx>}LIle_ucd9G-kwm05+
z;~<x9kjzinrq7l)QbG?~O!-l_F;}#Hp3B^|rT3Zdx*g>`$5TB0`d)9L%qfSLmoPW(
zS*v(VrZ>AXdQ(MGd|shm(V^%CUmqte>Nxm4(YC3CEjhl~ko&t<QO-^CaQ}8)%ZKg$
zw^vOS36`odi9h&h-iiA1$b0*9SVZp!&+Lf3xQ<0NX-3rXq;+q_@7V~=Ff%r8JF${=
zMt!w>xeq6sOUgfqkB5}QE?+sU>s`=!r$1`#+THH)`n#G^uIV4$Z$DRGsdF{kzA)?B
z%FVU68_ozNbSB)%_SH7u;gojvy!jX9;GlopUWHG;cHD?pI@8?JYN;m5U@mAJsr%>9
zqoyO1{iVMyWHax1v&O?q)#TKz`Qa-YTuz@~7NA(aNqxa;wmGvoMNf+;UfsBiQFNvp
zV@rCDLAB%eNkvuuv!^m2Te!aepj$wb!;Om%&#YL(cUQ&cx!l)tGqazTsIKBZ*nD`Y
zIg{+(^<Ox(E&izOPjKSzO=C4XwW%m#nbHw4N9Tv?Rz;n`bLSq*-Vu7Er}3^;Xjm|>
z+hqU4(*y1`8Pwm|svB@?+F840!n3C8uTc1rW6V(4?I|iWcTI}1kiY}Aj@L51irR0_
z2W;PRX6~xx5vK)Rs#!$XUoX7d*KX#WHTn1Ynt#(vHkh5R%6<H@x%$oO%c1ovo<)gn
zH?Y|G$>PbpoA+y$l&rQDUi{NpB3&WWcdr0TNR-vCoM*D}O*0GS>c3CuoM}3Df`@3O
zsf7XmIjuVmlZ!t5(3|5bFOz(3PdN*3_mw{zez8ZsxqQ2#%=G$`r-u4wkAKHKwwvAJ
zr?+-f@$AW*tUD)Kr_O1M{4g(o-FU^VC;Z)FvTTan3??dhipy5%{*`%iXybH&j4Hm^
z%DF#R)pc3fC-05wUG2B~^ybWZmBVvpsNVCj(=46tUUYQj&k`$9@6gu;uRp0r6i94v
zbA0mTklQwSi3OQgi<Y%%ta-9E$yIRE*W>G1HPrRx&QwpFdq2VB+G@7AQ{t07HH?=8
zKl{lS&$9SXI!hd%{qDUx#jUwY*CumB9-H>2phw(8dcFXkVSDcp`_~689`Ef<X0JcI
zQ8R3BLBZRXe=8Fg%XBkpxt~4TI*+-x`dsUenhdpD=M0=If~@{&s3g6Xog={HXJVq=
zX8-$^dt@D_ec%CMU1gsAu6_zPSte8pU$5Ev<@2j`FPB)I(fd4aS)zIPGkvc4*IJHi
zws4i7YPsMjZnI&hr`EM*?%m8n7Y{lIPYDvKx2jS1vCOVBvZ+}AsyVD;T2@!xUY1=8
z)<s^N7UwV{Yu}^uZ&>`7C1&<6uby;ivL@exi$~8YwyB-7l={C)opr~<k6Vk(Sk`}=
zn)>Hq!p)D<tv`KN{+M@XZB4(G&i*8Z>2J38>x;L%tX_A~{qeFZ9PU-@M-N=DnCBZL
z?s8Cf+alR|Ugo{>S6JDPF2A0r-nPHbaG}S>rL32N&T?FS<F2%UZPVnROInu8?+een
zwA76)TH8u5JRxPVT4H2jv527Kyxp<0Bt64|PC4n?yh+`+<AG!7tY0t0ZGJO<PG?r!
z!+4q{?9++f&F`9|TG}0=x}rlEyW`KgPJDInkV$^dv?=SS@YXMW_I$CfUwh0swT?Ze
zT`K}L|3A{b!`k$-*mi+SpWiz9OLoj1Ek;{)wm5w{$hUpdr*CDJ4{J{e9e@AHuV}*B
zkXVrkU5gTa^d|0YN=%U6Reatkr1g^{msH%neQ$H^N_Jdd%xPiyY2oW>O?p>$sd+Xz
zR!n25^$KvPnEBkZ^$u5jef<vi(!-xD9k1}FZfKv^CF;24!phv6(?o(47U@aO;+0qy
zrf%nOqIzR=?{C+#Z4Z34u5yHbeJ<#@h`B}0_L;_AdEvIV6M~et@zr;9Pw{TLY<;n3
zw%7c7qElTb91h&^q*+S*MkIg6GAnDA^H+uQ^Rv(8_V^c;9yZGhtF^P0+*xmxbtX35
zt;{?yfk{y4pZ1;!D^~X<Y^!YBJ|Uj#*StR;FEHG%Ox?3JOqRQE%h6eV#kEP9waYX`
ziVZHs9IS}o>d5CWS$R)p@z&TQL849#AMYw3;NpEPbbXe`o#Y?AtCgHe?}_eZ%lPA#
zck#!u*L>5MR~U9YDO$2<zoV;U^&M-Idh>UG?&j@0!LUYE#_zmqy>ZMd)eyBEoBEgL
z@4nP{XXQ1IW7l<e-~1obA?s%m?5sTPwo26H>3K8KI(OH<+IB?n^#8B#mw)=K>Dtzz
z`s+~P@@);V8$8V8qcT@qG5fc{+<kH27E|@9&v;Jjy$-)w!}*o1ZF}Ffw-fnJE8bG@
za%AtXf8wfeYt!GSucsAn`S9yLZ}j=+RXZ|!S4scr*;hI5dZXv`3nlKE7b4<9&Pm9=
zVP|NRoA=0}HB>R(qVNBiJ7z9V4hpW_#ChrU(mN|U-mnxjCU5m#zS}_L*Udv~epfbz
z92Y(E;o=`j&ZMQQBd5Rom%U~4q4{Ziv)FlCw9dEM*t^ZF*B4gUHnCXX#;w_&(RuBi
zW+p#wiSn1)h55<`o|D#(5SX#})1Bzc2CHV5Uf9Z`c&ahkaO+gBovD1D-8(%E`->-c
zsPl;1OgtAhulfD58=nlmDX}~^X*^-_Mj&}o@5aw3PQLn=^<ye$#!dgFx)YAx4qDcw
z#%^@==?=YrS_kHoyp*q>*%iCl^(>2x{zI=q4t<r^`9ji1j{O%_XS(sX`@sJ@hcc$c
zJ$%d^AufAYVbbr*Gqpt3moHtP%ro)dEU&pCN2mNVstJ_eeW~?o&<2I#?^(s7b8_d}
z>+BPq6nRcMOi0u8UY=3s)4q-B9>yhQy^2jKoHMT9pQHS6aq_n7%M5GfAJtE3(>>XD
z_~MPbted`nsP~A@xcl&6+_$YC9&B6oYCfOi!71AX4R))2dsnAW9qBzwD$$28G{rLM
zWX-N9|A2=_^w+9YcYX+T++fwc!ktm`O2J9D)?Eo%itQnK9g5+1R`@(Bv@iE6I;(B1
z;`1ct{C#Kkt1*e%k1{kC36*j$o|Ioy@5j4PpeOK4@RWo<ryudpSGe*<a`t&Y(`z1g
zqt4&#-s;OWtAn#pVte?M8+`K&pK5jR%|2hW;Co@)nGd?3lK8^vZu2r5w-#={l5MP+
zF#q-Ltw(ok^H@7O`v3EvGv3HP+xb>3vLQUCy7=a4FO{sw|Do@nNk-bAHj%yZe!q%}
zq3)adm-hEN63@Kmyin2Zx2g5zd1>$DhL61y6RJ)Je+vrkd6wd*vG3H^n|F6E-Oc!;
zp|MQ$w&C34ho1`_P7)}c>Gn?f*SF6OdNZa-WFEPf%_3-JbwTFir#VL~BXbV?oBw>t
zN}Ds<J=3E%KEIyRdqpcOCv_L=63(k(KB;=5FJ`PVsTTHZeb+R@XGi5D+pFsBF+1zN
zPt$eL-%{4J{`@S9%=boCKmQ%N*w<wye2_OJvp_LZ{aFe33qEz#hTA@Or2F4Ite^6y
zB86$ng0*HlrWY0oh%lL(Oux8M6m%;e&-T!N!mH(&%}ouaAM_Cunf@|egqOwA$i!m0
zV6U(!i=~B``E>9R9978$d3P`6=G;EnmwS8LTlH<5lW%X!h49MXRiE2=|L3c)yHWK~
zo2$RPSQlCxs=F!v(YG?aRrB~5)U4F1-13w}3q@Jg-1N+p+^WPRjEn@;8zy!y-8*;1
zMDB*!9?S_|OPC52l9JSt(o#~I6qSWGmVYSOWU{?LagoWwU-jE3dfYvB;>x9KmpVP}
z-aB^h?4=`39oNsE^}TTR=G1#9r_TR3-&u=+VPZFH!-+GO*c?<AEm)zds_*Ecskq)v
zg>eJ3h2%{E&0SKrBW4MljGD#pW)5SBOWHR-7qkC?9X@Z~`sn^|JvsB=eTFx882t49
zGZ+_d+O9fDI9OCDd_uUYP`z+sfT*I;CS%n}Q~x~QF}K_JyZuE5;q>42rS9HOKE<Cr
z_G15}kM&FcSIxEgr+o3SfuZ2cs98G%B$?0XzD<z$cXalYxif7Af7hQ`wvO-r<6rC(
zKHLB3(D?swLe~kAgm3;^R`>SqnW)>)5p?9<wS!k#AGoNb=W`WoQVufQRQ#`9uwLEU
zSShhuI#|h&U%X-N%l#eO3^)B=zW%>wLP~b#<DdV1Kh`TRiRt;b(Bs6pKk`8@|INIx
zzjxZXN7LjOf?d6**FQ^0OZm)S|9@LH!$0FK^;7?x|5@K9^w&5ixY}C!{Qu}r^ZEYA
zPH^;e^YV1=eYSu1$NcRx=63E~xpc1O#IDo!^(NAmGyh%xkiUJ=#HaOQ-5nq6FaM2B
z{}ms5?!?iPmzq7=C;p3{efY=v=k+Rk|Mv=sZTtRVQSze{)kVpPiE2rYQj%02B_)0R
zS^r?x4l7H>H!=TgyX&id%KyD@&Bjo{;FEAI{Ecr#)7nc>&e}CcyPjzs%zT!{b2TGu
zMnm}W>ip9B3A*jNKD>SF3gtoyKiz%!A)UGB=eKobOXZ?EdLJ<qs80^Qxc|`Cu!4JD
z9$IH>v$xw%;kqY%=xhFgD;sltpB&6neiv(Gc8ytd<?@KlMfzDwWl#T@pgLm_?`doH
z0~5<0T^F1GMrFkpjR2#q{|_<pWn@iwrsKqw-@|(E+jYl7pPK8xJ;*z`fmer1n@Ohc
z&=$Fy8n<_vtxLNo{v&3xr~HZ7n-&3c_oUBk<ehso+WvFTtaZ_iSN^aF^u1iR)$eR=
zu;a?38@}rQ;yYe>B_{D{Z*fq;#D3QWOx=YcKA%`mRoF6L<ckemSp3C!%KD|8H|=B7
zXP;m2L2r7E`sSNAi(mKqPp&`RBb_i)QrGd?wVIuF--LZ!%Zlr7e|_~z=~3|2FLej4
zm|5>0>RfhYxvb9{jXhffBa~)rInwub|AY>y!c|5OT=YHOEcB>u-6NYd`|9L*1#ID!
zTYHisrFj1uTJJ2sF*D#*UHd+@Fhh;sMWzWyFNZSp&vsuOJ$qtiGVAenhb4CB>mN_L
zC4433=>zREHD_Lmxp)2exW{1CiZ@)ovCH08nfP-RPnY{_bN}uRZIh;*&-3d$ZXVD)
za!ul1#_`5!M)vJK_a%Qk`T9v(X(3Cw_;ek;2b;>$P8I|{ExWL<t$vBE17m!Kn8pIb
z>O+^;pYL+JVpy%NDz%j{vC00}db_!T8fh!)KLq_Ln(5K|ePd`z(|6W6i>s<*Hy-z&
z`Xo{BX5XWG>v&3@Cn?rOMi=Zp8M{1&b+W9%@kbtR261am=j>^n^rf0@`L=5p6VESs
zzfD7Wj_%=B?$(<-8@FuF<Gs-lz4b=~W6JL9LM?d-a!(JW%Gebxc3yNM$^72(MSGrH
zcG+{Z{okVcdR_}gB^j$MUESuX3om)`RLq%TmCfrsktOqM^26*)@s1nUyEfl!esek4
zdg7=2z-YBl?Nt)p8m%FWd=A&=#@|?PK9_gt9Up;C)6*?qKkChMpCieUw*6`8ndtnQ
zX4`-`nfm#*+k@xU&SpKw`ZUDENFrzPVk7sx_wF)#<y=tyT;G29i7IcV^XaPd6@nF6
zZ@UBH-(ETD*j{wlK<>!go2s=T=?|}Nwr;V|%{S^=vx_x-$_752UDqW8PMiEJd9FY8
zre)9nNe7PzxL$a&cALKIo4HfIu~zWT-~D1rdH1=~zS@afbIfDYS#I!O3@P+r+xKdd
z*%$HWN_K`dSC08?I+7AwZ&m7VJ^6Bj{`9{(Orb%Kz6Uv!RNQZ`W`4XbHg)RNPCwSW
z*DEhZ*Im^+d*bT<Lvr`lWj`<0VT+2n5X`W@SlTed%)TP$P~f@C{s(tN1?vgS(sy|L
zhgYv?OTo@AKL?qIvxMy$*KM*t{CvR<4Y&GB$urm0sjT|5@TcO>PYVkBF67nQ&a^)I
zC#`k|zvpz8NEZRlB^Nyu=5pA4ZU69O>6P<F>-}v7eIxJ3ZT#D_$F^<#rQ6kJX7@Il
z8Xlh~Q?{@q&dC0e-vqbVSG$UYrKjwC{BYvya3;<xzD=)$?#b<$>l<k@vF+I})|_uM
z{v?%ctNpGO6u0u?<)A0wu5a5?=C6HlYEk`@Xlu9Md)^nWm;NPjSU}*B=`+?Hx~FOc
z3<b_+@cj9@_hNk4wcpt%nyc=7eA;_Zc1}segyh+)IlGlif6g&WkZ4=d+b&eXvrYTh
zO8aRaKbJl%EML7b^x5<!OQmOSsC3at|Fo_^q9!=_ND5~f_l?%;Vu>DW-{<d%66SyV
zc#(9|)OumfTi+JwPE_ZgUShd);sLRFr+V9XL$rQ8xVYSB(Yw#CySkXNuky0DSFD?J
zV&(4F7cLlb?q8Xc;k8LB>|xs4>Bmh?js9{LrKnHT_A*Yj-LtQUg@wylW3$KV&ayO?
znDA)EnxmU0ty{lw#;RQQHN2W$lO=!o)lQpHqwBvnz>-D2e)ZmyZQ+}H1#AmHH?LT$
z;<)MF*|mpbTAy!Vt-tW}!1_7ouX*41|9E5d^``O|=8d-`+xqqwoO<|c#oCZ}-?|yg
zJ}$OXzK|x{+GzOllzZ8Wv+GJEq;CoOD6lGI=RJJzOOYYb^p73moPSqzw(89^mw%}j
zzrc%E;QOBT><1dLX8cR)b8cN~o_m|?Ma)r+1w{hO>^l`FuU=U;;X~l>Wew}AT)(jH
zO`2g-c<o{=cjpnyoh@H;bWd$vwm(|Yb?E~(&4ODOr=3$0pSe2f(QNxJv)p~>+IX_e
zYyNDOe>Ho?=TGVL+BUT8-LoRIJN3x#*EcL5)F0H8Qn(lS@Z`F$@-hKa5BPV~Yid<p
zjOCtl<KMce<p*Z{*xjwe7+lWdmGJz8&UgExZ(U#ijeWFb*R}^o>N{(WA3HE5Fs<4}
zuFtOPZII`rHzC2-*90EX)0uu*poUS-=IYt!${IhS1Nm3qvp$!7>e(|*<=?V7-<h13
z6*YZb%w;h9{^=7+Jf6V}yEH%4trGaKs`+-keD%ug14^&=9hp>jQYL&|<zmIPF^dm~
zuQ+PnP+4;Rc~Yuvw7{jh$;)0dozysI5fHKYb6~iG-t%2uS2-2_ZxYSfqTZr+Ncv5Y
z<Z?L;&Az~A45z+@N$Z&(^A$A|vl4v1V#cqDzZPfR+w<niY8TDrzd1G?mzt>Ld)a)W
zxUh$~l~uh<p|0-2S|90I4E-N{uhpL@d!ev*-F%-$^;uajj^7MsGhuK_zV&9N6uaFN
zjoF2Y#m_<mJC}F{$!~f;^MI7`gR7ev?_S$1r2Q~dyes`&m5A&g<x|EEH62GZST*1H
zUblFoRA(`B?K7(_r!${lR%Fvz-Br?7zb{Xw=h6d}Qza8*>lepv-&}X@<0JQ5eXc6D
z`^ydXvp(OeGRsH6;NIT%38oL0eXBk({dmPWgBGC=Ej#l=mvk*IHT>vk>m$6))qA!4
zM3G8orHIZ;PZKx44S&8p=xl3>MJHpmd)I^22}j*(HPlZ<UUpllbL@lk)Lq^y59(Cd
zO0C%08F`?eNAuzh>w1@ZC25u>E5qU!;y?CPPTkhHIk`)tUVOd!kNFp-p5Amv;PX8<
z{cE3octq{cxN^l$!e!pK(543^ZI3D}n`%QRM@-SWcJ!>q)QCm#w=>>-*z?fuAxF{1
zm>ZWFmufuO*uTJY!?KdC0vk#{K6mq%muG#vE6qJOnXO=B&$?(c0j<ME^K0r^cD!u3
zImg^NM83uMpq69?zss&Q{>{-|Pg^F>b6EIf_Jm_CuikxcYvDMouGw(dK&61w`jP4B
zvS-HLa;sl*+~_pSIkCQP|7Vqg5Ahp2PIM_Aocq&jgS&vhw*#I#?w9QduAk;QdB^l$
z$_mdDpMRRQ<#eCVmzO!NMHNafHLJ`8kJq1leniXEpv>)3<92teMK<ky3nMzVimjJA
zv}jY+srI#>T||!<h#2kWHte7JW!ITAr==E7yL~KUZ~AgW{^uX1y0*q>RT$;FC~mq|
z7ap+ag5bXu+wF}{bqa{CS-;-)UYyr$hbtMfxf2xi9)IBpF}>6GzrpnhKZ~WuVZ(r@
z8?Ie*t6%;lY<o;lU1I9~`~OVWC}`UJ-`W;&x}aJ2%-we-_fJhd_jg<1-GZrgYM;6a
zzf51nd9fncs8wUZEQ|f}u{zt&pK#jgU!Znn<%#UKOJ|<juhq%Lx~?i<x=Dy%WVzQ{
z^@aI2-+VLIvpJm2_D%Zwa-X@69^~8F=jZV5RaDS33AX!G|IGXU`8U_TTn~Q!Co}OR
z+uFakjJJwE>fHOTbz?!hW##dbZ7$p&e%SG9zuj}M_c9~ftd(0kx9wtf3H!NvO-sfm
z&Ze9VJvX%C|3BE!#gjMl{nKTB-eN^-OtzmYDf@7H`?J}6yvik83<|>+?!9EOIQ=z?
z0JE9erL85mgbww_ocB_#zvE@?XVjhGea<}aNjbN>b@Nx3Qn$aq@6~d;a|`iAt6WT*
z-+OPRT*JJ^c>&fdCf?@ssfb>@=Khy0XXHEt6Mr4EeR_Z58t-78%)0+;f-Bd}5D>oR
zRJ8u<kBAlbJpG<tY+o0-z5nm3^O+xAp8inzm7wpIrSQo=Y;MhW>*ymFq}uCM?I-7Y
zEhs-AziX*_nq+h<!-ezSL2gE&OZ(eyNZ1|q+d08S)@-wN^T)@b#(zHPRq`(P$ksYJ
zC4Fc3gMHtmC%mdIVf@_5@Tr%vu2lS!?}o3oze?>S-W_^#b=JmbR`I6aLz?{G&3O6p
zwsrsK6t$!+v#lm?-}$UzVd>-CYq4t|+1F3(X#TKURZRT+BFm;qjniF1P7+NOLF)xm
z`0Ey}eaJljax(9<Kl!1{4|4ZPPURJTI(1jUiD`9<Ch9ylx%{_jez#!O-17Op4*nC^
zPJL_(%<17jyzStIw`UD^1~ZjA#RtubIBX$%KlIAl!_8Sof9UJT?icx4$5FMl@hguI
zBWv;M`p18-{rj=^-B*LVeJ`cn*nYSCxcQ8I)TRk)nG=n@kFjLVo@IQ#V=Kp6$;0tU
z0h+HiYbEw(i0QxQdw1%UgH^9vr}!j?`sYm7*yg8}{(g4${)t&uP261%CQmnXiFuJ4
zBPx<)^VDQh!J}DTtpz?8E=WiG?h}&FYGx}s+ICD-=S^h&bIIweBH~gc-L<|r`S;Z7
zPH=Qwx_$ffy#M>6r6l#`J#UD=KdpJhR7O>Di&esu2Jd6_>-ImL^H|}<l>f0Va=dHe
z&((U|eBkt7`LHdIXls6K^Q`kWk)NVOx9zz$d&`Ln{WYBK>%M=R!q@yq``W6B|C=0d
zt6h3LosXe+V*94qKfc$?Zp!HTKCjR5WyZfHi5q^|zZZXK(kQg=)#oeLKX&-vd~n}K
z=%x8;sji?4pX1XXSnbW6^E#=ce)j8X!S9!fL_UT+c%`@eop0ZbiTfh<o^@47H@Tsj
z&8*j=A@0Kb=upA#3eEHooAQgY_v4p%+}sm<;Le1k%%6V~)|OxSH{(#r_1606xv9$v
zr?{;V=8I}EDsS?buO6Fqq3EhtzD2bSyG6j?KbldeVzvH0;1FNI@1JEUaNYFk?U{j!
z-mecAt4v(H(JF4GjdF6??&J5?PnL}3Iw*5_=2LC1i3PjYIZDqy(ie4bpZ;l?_aax=
z?{UUG|1WB-e<$F^nie;|_3t=Kf{U8Y*FO!|m)_}gg6&5^_Wz<}fm~souPUD&NuRjl
zRB&y_0sT{V)HZtk{`YM4wQX0=R(o;ovdXX5xSc9zxv1f^8S7D%pH9!jK4)gU%fDH7
zN6oy%IDzkjxWYQ4_JzTZKj$TcJN*soJo8UhEQoniUCKSpD+==EwiyjuQWKhOoy8~e
z?9Qk+SU$O_wo@iw>fY*o8Ct9UbMtLF9BNd`acfe~^mAt{vptiw{NAS3Z1g_7XZ1Pt
zh<o|Y8?Dsac`jS0_DCAl_p;A_GAk)6)H_T``u^dpDG4(*p7(j??fd;bB5;BU3(NPN
zr<Z&`o+WWFXVIDOfkt=DR+YLu`Xf2vk&V)!mb}EAtonR$$&%ET=L*w(LfkJtp8M8N
z)xbUcU#c<JxzAcWi@3YK7N5SWtiD4+lK0V?y~{H01-qzxk^Q;pVy4tADfxScJBvm7
zmpngqi^*9lscg%^;NLqOUANtr{438tuY7vI!kv2<<)m(}TFLV@d~a>gg(ShR*SeU`
zRQ?Td62Fsf*E+GXe&wb4XI#>sTZdiR|8x3W|2Ye9ElK_Ja8{hj0cQruoVUU!Hu&!Q
zDYHL%Dfg~``gVmmTlPORvi)%Mo4}z(YH_i18&W>%sQ=7U`NDChGI4MAi_O^!%ky2Y
z%$zloGp+UPLt~H5^D|~2STV~n#=4|slBCp*u;&6Z6Z(@5Fq~U8Up&&Rp2ac9dls9O
zbiMq$h{n2m&kyY^X1|uzK2!SsO!KIo$NTyp2YMW6J}Udi?3mAcm+8XaR!w=Z{=j7h
zm!H2EEvW6jbx-)pO};>F-L;0ndkv@Y8sFu-so*Z(%&>sRY5J$Qs<-~vH9j3X{Hy8L
z{dGHb*Pbr;e#gP$)Lq#kz4iMSew@!ye_*3lYM!#3p~6auw;~H3@EJXiU)>VE($Zy%
zlh4V&nd0G+@3k(*iOT9SdTmW*yzZoKzv||UnWoVU%j(#^w?B+xE74$$?F~COd;h-`
zU4ef;T`z63D0r;>NzLSog2hcCh4$Mq2fqtmWAhZt(A@a+;KuuNKUcrl7422Ozi`s6
zB~A5nY?N4Db@{LQJttnsxqt4QM_PW$A4<Fe4}T00tlD>HhQh)Lot7DVD-PZX$amkq
z>EYt&HJ7+qjn*?9U03?4?v%-|Xyx4K-kEm{-F?{<Qj8bOT6EL=khQthq8+CU9Omtk
z(Qw_ee1@@o$hKKicJIhf^3guFL$&!9pYs*2rM*wMr0Xx+Y&gB~->*bfz6rV~zwSLd
zD|T6rpp(&r*pub~(<d!qI=5}LU*3@$FHUW)R=FwnP;fT;<Ow2Kmf<`}XXgGDmRqBs
zp0;Ywe7|(-lMh2T9+<<wP$5n6O3m30d*-a*XP4(3U%2&4#pUmtzipRW;@(zoSy|&!
z#@@K*L%UJ?)wmF`&idz(-Fq|+pH;4(b2!@R!R-@@X8nF)_Q!u6d9d+h?abyD0pGcW
z$Cq_J^$(Vj-Z-0yx9e;1;R7?Pt3I8Zd`wYOIwQ03(Gl^<8_e9V-ZNt7Y(JzIa?g3w
zyV}<M+|92p%Cozb#<jSXykC;qQt`s1e|c|b{^}UFeL7*UPV45z>=a#IFA#HSPr9bO
z`{U2Yym(&Zn4~rz-`P~!ae2Yf3bV%&oVy-g$T^dL;&Zzw(*}-p3k(JB+83;Hotn>4
zwEyAh5}EHSHP~+&OpLklRQ>U!${Qb(|C@<k<O!2%51af%bCRCPnt(O--|TB<+JEM*
zm7CAuz4gxyr{ZnvZy(L?o$@x-v9!8=d(vAWF4Nzl8)QG<<Lfd1Tu`k0+UI9p%U@o{
zB{DJz+=l&!xnF5aIaJi<EK{TyJaK2!vPb`UpKVt$EBnAYiQ$W0L$Uq))jG4SjD802
zont8tp7%-Q!|TGo8T#GM(VKT^UzhS}`*Ln2&%(m37T^Bxeku5qs@iqxoG@!-@t=V5
zxO!2~yOG9H(icjPDQ|muK)vqo-iWfVQzmyl>Uz$w<oMbub>-u$9E5i#_rH>yxlVc8
zl8^^Y2mD&SrawN$bI#^ltL;0-<`1Qbd;W#q7GHn7@Tth&&q--DtdcM1FWS0w$+ZuX
zF&e&4CHJeb#$@{ay^>#`*YbV#tO+%8lNQ`=TD(qwUcJgMcc=V?(|`4R<uh%zJoBml
zEqj)z_xayCN+uz_DK@23m=eD?PWvjA5^id@Vfk{!!`pILd}Hh!84SK(-E`Gb<>nu`
z;K#N9Z++dnx{#;!ZMkwX-<&kDGkuSpn=|YCvvz85t?A2@(UTX{U*$8US@u_|<tYvu
zkt5Hn^4exSHx;Vyd|dgzuc|1^L|kv_){kLR=lw80ajro&Q+Uo7U#4qWJ5*LCx5V&l
zx4(AxecG>;fjbu~v{=@6@@=!rHn5yM-*6qD(TPZ7bzwWx=jZO;=t&JzkI$YeRCW9T
zo1)*N`gLU{uNYQnYX9h+D*DGuG+<q{yXF)r|2Y+vKj*%@+Oy-`@p?7exA&$T%68`8
zGr_{zy02||*$Ot^-6_7)Uh$txbJtiHH}8f|g^T}>0yz&B*-eI(#ee-GJuJ@0WGxoS
zu<AK;enFDWMwUrOvtlDcU)Xv$Y4z{0x|A+^c4nN)45lj{n@z2hSdLi52i=a`|8$>m
z=E=0@Ep1wxZ@%`?D^p&^H>sfh8mIJ+<db1sx2Ko1oC$xe_sZ+4{gG{@rf;HUPWi33
zYFe>q?HP^T-%m6yH?%L@74CIhywGd&?b#R4^|o9zpZ54ofiCxvWsIR#`!+_)ia9w=
zEZo;47;&_mNv&Yt^5~qdZ(h!(cbfw?uqgY_<bS{-D|K?^87GZhjCN(prd(E;H|uXM
zx38{iwtH^#^=XOvM}y|Iv)=tpa1pmzd53F@vX4#v{7+teoZnot&Rh!Jmb9VVw|~u+
zZCn}V+lx=I->h<fc~Q~bZU2E!70JeC?_Tv?W}dv@QGE$#b!W}%1TD=~PkMv5FW+Z%
zysCTB9u9+@tOi-9EZEN(R34i3dV?-ov5C{_`kOiGm9tWcTa08w4_2~AUs|+ldv#A@
zPHC$`#jnRT7W;OczPl<zl=rfmuHX@-*o9M9&0~9=ep7y-vdO`g9mlS1o3MG0xF=Is
zF;8{wFHUCmc&!%iGDRisKl3h|nM_=+sy55+^@F~tD*kh>`M=)3EYrHX!H%b{=l;J*
z&nFwlzdcv~Rh8q&)<!*5L96!sE7P8YpGsM*-fU6Tr1sVKcv;1buGb#koiD#nYb<+U
z>XhW|yKL)+*i~t_pYJq_Nn0%TWJRgFlBf%df%KF)t~T6}^Ov$235(pwUz8i+!?dZz
zPw@TYh<~f*o#HjPtkf59;dP;e-Ud-+`A^AApEYIv&2+h@P%k!_mA&{H*Tcw7*YgAa
zmNIPBxct+rxT&sK`^+!3!sBZUlhw9Z6tzy4j0s^ou=f3WHv89JI$Q6ZxO!&2rL>}P
zj;X*h&ku9lddm2UB>EV)rY?UZCcJyTSp|EZVbmRd!&{#pid_tCyvcf2NX6~$*{s4>
zpSuz#y-nJa!6D`K{D*A)QP(Efa{<DB_g>qj81O`>DnCo{^(m?PAonq$*f}BR{n{t<
z1YTW=`_8j(?<4yTAxCkZd9OCCnHXhe`ANG<YuALQdk$s9loqVyan|}!^SCElM0=6W
z?Jdi!?>|ve5dXQ;=hdxCw{_e7YyA2yrY4^8zi#c=E}(2~RDC&mO;Fdun)+Vf?SjwG
zUw9L}ATj9MSqU>)W8p}#Jf$O76k;uA7~NeMnE2;b{*1$W+7nL+hlf6p+~~Y*r(}Ak
zTAALzzs>a#PhDegEn0p);r_vwRyme0epoJD>y|&IIpFU6J-a<crgNT=Tp?exH<Dpe
z>>Tb{wgDS`uC<!>SSdRH;GOrGXPv25y^+WR!<SR44jY(GdG&XT<e$#iS!?xKi$%9?
zH2m`OtnS_LGt>V`i9PnXe@M<aUUTu}Z}%)W^_IPBO1vRbncrRO+Zf5}<;NS@^+v7l
zQ?;b2a>Vi%E-UhHN%q^XiF&higGQi!s&bW=zuBkfJ9fJKP`zE_wmjAK>I%~x6HcvR
zQ1`Fj6WMcTt>G2peMeq7AJ?9C=gHUbuT#6GJ5KOUj_s(PK1cdS_q7cTy<dA4i%ng*
zDeColhn*X?K6|OmptFfnE#hH9<A<qR5{%j3DaLVnF3Xs<_u1b2Ug~Dn7adNeu}xB2
z{`n}|@%CKFJ>jzFuNFx@x#>26LrX-`VP^Q(dw*Pd+1Av5T$udnvZtj4i{jeMWt=K^
zT7FE|i@&oWz)||Kj-1rN4h!SJNjtnATJ{--7#l=CZN6CDV(R**<)U*#b7C{Undh<(
zdl$|8@Z@ahxu2{jPi<jdCI9!fwrsscS8A-5Lec{<W|6SfArn@u4t-%adHvjq`*t4c
zrv3?A-tT%bLA+dJM}7X&S$dl|_j@jTvO=7F{j5o8ns;;Nr_Hvr$t|nTY-Cu%*U}ol
z=wN!I=$@lB_HV`aR?N^lepz&0fbpF0^M0=?r<Uk#b(ajEk^Xkp{YoK~4Ql1wdh0mq
zf>syY*nMwag8Y$>`VSwfinZqpRxVZA9=dpP?7jC*ZAk*1c}5aqe|neKH<rcbZ?!-3
z_~^o!Q(HciZInnX>{{O+{9r{x(z8P|v!)8Ki*h>iuIa0JgLi9UsA+k+PW=pNaaps4
zjahHm+w{4(uayTry81A&@#WRuTUW5%VB<K~)p0<mHhb00cc!m<Ug*7wc+|G}kNl~(
z6Vf;OZC%`!q`i1{Zi-D{*8AsqYu)Pw8LjMsCr&-P{9j;to;BagNi2;2&ZzS%=yn#X
z9DWqA=)sMv57+Qb+ShpXvDY)nEWV4oa?IzneBM|UVV+`D(^YKLb9dcLhilV(wD-i8
z^cq<h9z0hvdzXjB$M){@uS>*P{OqzaCjZ{2abcV8kA*uwKVENeJZ>qc>r)N}3rp+C
zi|TnF&B}YR>>-o-r-NC~Pv4%lar*7UcZ-z%GkvID(5-QIlA6ns)^G2gX~eibDgIH@
zV!z9LTKrX=;|G6~{bcjYHcQOW=Z;~IaEM`Qocun1ad!U6U*AR7rn$~g-oje`U}tdA
zT8$$yOIA4vC0;w;dfENj-RU{6Up-nhTj1lBMq5pVoci<3GDa6XjZV#6y~)~1En&{x
z7dt<_G}>mCAUg5LSNGRVj=EinyVvAYHh*T2pC8D1CA-g#PgMKFCS9-N3$EMObS_z!
z`m_A`nx(d7kMy4MFMAww*r{V<o5QK{jJz<P>ayQGc3Qu~|CU6G7{8Jcd-n5O_H_F{
zB6&%@dCPBp;9p}>|E?}3lVf7>y_REn`daJRS`u%iu<>mbcpvq`Bx*muOZ-I-?c3Fd
ze(NZFR6lmB{4#5rP{)say;tXZUp~*_7G39~U06~ftIXVG(BZuDSnImg?Me210Xl7h
z`YCF0$F@w0f3I?~<J3|f>-2<)`3{cy{Zmq|ui$(9b^j|?TRG7QJL+{3LguU&GAf7=
z+{&=FxpJY=22Hhj0wI3ZR$Xg;|7AWe5b<2h`IuVq1O5eE3V|0|Qe9qTrM6EL@0u63
z^RLHV6Em5L!1Um~>CLQp>;~Lx4%?MKT6m#gpWZ^(4KH%q@8>+a%lxu;lXCfEr~K<7
zk)dJH=AXqFFPO+){Jt=I$&Op~`)`SEtI^nYw)*Z9zgwz|VzcWH2=xAoGj%Ko=HGTk
z>blec$C*c-o<H1ut$u!1|F(0#E`*mAyF2t4YjbIQw|O}KLekYKX$Loc(wH%mZC484
z^l7mky=QLTlGZ%6FI{SlmgN=Um%jcd+7~o@u$y@H^cLoqT^gLsD<w2auP&Q>`1y@`
zp1HxR#CY2~*9LQ)j5(X$(G~nMNr~Y?htAF$K?S>xExS-8^Hb%G%zIS<s~d8G|JL0U
zs!6|bYehZhcJ0;m?2F63Jc?9$qiE&0>OmKmV!8Ms;U{V}`}ZjrE)#qGBgE>;n(P1n
zEYiO)^-0-MF|9i*=6zN8ut_sgUHgv3vy#^$jF;=zCtGW>EPLN&Ce;)*{l%5Tr<?Yf
zgg%L6Pd&e2^XENECpP#OT21m-j1{gtVL8L2?COl==8A2)8-7jH^%Xm5a(?pT8NY+(
z`E(hk*`>G}*@+!ot{ltr|Fg~46Y8Iy<gQnHrMB@1Th*`j^B%4yGvX#o?ATGB9iXaz
z=<FMd$ugFg9@p<%tm^!(NON7h+xvIz?o54*T_^se+ssp%!L;SGwvE++1p6%MU3&i|
z&8O9sFEQGe9n`#VWBd+@)Tk5LZjqI<&s??W$b1^Dlyp(7?vdKZ)7K9CUOuOB6Jzn>
z8LPKcXc(LhIrN#)C|Kb5r0zQ(#8&W3acZ&qP#v*^aSMkW@7hlH`i8B4y_oj7&E)^3
zuM}9ZIy_&BW&PtUIbH7q=g!V&dG|MvH@W%nqe73Bmt7k_Ec|hWRo<>!Hb16kW4mUH
z+~JD_Pki`nUoKnc&h+Pm*q^tP3s&3hax|A;pyzMYc+<W0>Bja=%S=ws|0mJ>((QHr
z`)OA^{4Bpo|J|<kV<tOC!(xqkjSI2UP2OBe<JeL(*?nE)3EwAz3zsoWx>eA~Bw*UJ
z){{Xpwz%czPUanTjm`RH+`1kS_d_L>`8QZ)1uyhJ^ZjIiNPorpiNYT~p3L@Kvd1oN
z`3lA6xT;{K)%N#1w+prE?%daBD^sI2AzNGG-i41|Y=RZpwMi`t-R5cjUURDKSiQbV
z)aR!>Ut|SLO3X?(dd|o(ydCPc$&2?BgO~A3ixfk)ztcK}*p|MY`L3ztWJBqn85gvi
zUva4$oS5~YWtF$1&Ygd0clV#4_3-be={~Pk#04)`e8AmloV{ot!=LrpcjpUmwKL_t
zJ@n&c=GkOb<4&!rTZt#z4ko0r<#XLwKL6&j`n3zPM6do5d%s+*^uhOKQYP09#z;I#
z*~+BX`77Z=ZSnDl;vn9$uWY09|HMCyd9M1LZSoI;^Ez(?J$Tx4zg2y?K0#>h+)fR4
z)(D~V7d{<1dH;!;y0we(;iB(yQr{1-v1*7F?qOn9?V5L?OgYCYk!iZ`t}{gw<{Uph
z^Yp)2ejD%Ar@j^7Sa7jp&8gLKB~y>p@A-78{M3@R`i1r<8J!lNZz&GDreWskShdh7
zIzD9Wv#7@#W=kYxSU(iH#22S{X;Yl*1nad^%bV^VO{vfoczjwV_wo|i<+FbO-%+~%
zjq=k@zj<EGhf?ke_vKihZdqV=@miE%4tuEj%Pmy~YbV*Bdhn;-Y~2y7`&NHn+-UW`
z9%x|~)H(BCw8OF+JDSc5-6)G$VXCUp$Eo_<in*e}vM3|@`JXTADkYC;oo;nMs@`^l
z-Myjl{LvpgO!M}fell~8c<dXN>k4Z^Ijo*e@aS&7J7>S{UZGZ<sw=Svrn7A04t$%D
zb)Yu!S;ukjOOG!kelR)oT&BKb!i6ga<?njVEIpkP5tit!{*v!7mr#&!1k+h%M$zb5
z+{Y$;nXKWv-}&~2u8y-J>#Q|X-f=rCHi^W9x~^Isw*2SU^mY8gn=+pl&MhkWRT?}a
z<jExIW6!;V*}hEZ6x00v<IJN^%O(Y^YnGi{Qg$t2QpUu)%krayV|g9kZ&<E1zy6wI
z^X)#~N9j#RFE5%Ebth>;Qy=TUg5Qisb~W$P)pJnMYki#Pu{~|wIh~Dla{C_hJ)H92
zNu|fzr$xbMY07ai-ASdhzS@Ypm+dSJh!tNqEAwUZrh7jH&p6NG7U=zcdyB{%)4pnf
zoe6pF(XPHi2IgK-2`im^ZrV*st-6vvUzW4pQ}98L`WK_nZzmV2ENq$-y*aXYxwl8`
zi5uPD=T!RKTvX=KCcEfq@^R6AR>?B<$+7|^eBZpHGN%5#BXpG8>%6~=^0m0hfjg>}
zO;<gqv?cFd)M2*|?{|2M{jy-)s>#Fj=Ff~p_gfsa?8V&+zML1}Kk4L@6d<0ZT9WQ9
zAZP8^SHIuwyk|tQX4<TMe-9>aym9N$svF|n`pb%DiGN>uT&USX^4&+_lN>d*EsyQj
z_HL^F=TgfO8h<|aPN~)<?Np2KE$z)!=MT?Y(Yo}g=-!5_lCEnD_5I(!ms@kEzHl!8
zw+TxYb!|%fZCi1(rKwZUElOt7S8nNf@};7R;anyT)4J!?ORihI;grcqk;am)v&WzP
zym~NNKR#o1ql>@&<HxdAi;UJYx%^L=Z}oW=liU=6BO4k$k4gQTTHCX<+ueEgpQ|kT
z-+1p<XNPls++A+OYjSkgf<6EKEG=SRr&h82N1=7;wx1TOi{}a5Tz&553{F?;P}fAM
zmCbGM`k%d@70qmK^<_r=Zf=D|?=LpxF1y!bC%?grC799AHv4I_rhW1P^H%%ooi2r;
z-}^TGJ)NVrSW17RhLPPH|6D^(jvH2wEibN|IZ^$c&e>`IlGnUTH@dRq2lw?&(aITB
z#eM&t9?abTt?Rl^T-C)nFYY{EqQ#WFes=zH_Wi=M<{PMQ;&^#eUaxU=!|8gig-m%&
zr^8mPR&c6ZZq~oDzeMt>R%y}Viz}FB9Y1!==Z}9-e9BtE8O!IUo3k)&T^y`q-hO)V
zuW9ci=U-a#`tsx}F`ETN+Sk8oX^yyCtMci3Ay>rP<GM>?)5>p}RNJTAuzs{r;O*XG
zJKwndJGNN9cz^M>w3F6kfB7A+t;D$U+Us9;PZs}G+!Z;qOKFYxEA`q~9`QqdB`?bC
zeshLReNg(q$nKhB<2L>;m)s6!6|TO0rM^Gu#ky?wpx>YF_xJj%ue8c;{+JvZFZ+)v
zxw1ZGUasdeo#e-_vM0u5J-yz*>}wdvw1Ts0m)ypE8lU%VGfEb%pZMwZ=5(#nAXfG3
z<@aCIYgTC7dHXXlbARZkCnEKH7kxEf|GSsl8k(4NNAi!Mht(R#<JUEOxHf*{$k;4?
zXzg46{Xe5V<?n7fb8hOoME?98RTewUm-YphUJ8C%D{p$GxrMvuTKo}nUwf{+bzuhl
zhKJTonN<B|34fW_gCjE>eynQdO}PH%^S-k8$*1M#X1uIl<Gr@#neC$EH%wlemW3W-
zJAVD_96bxM50~diud$K2zhZl7_x;NG8{!r$`dSm_eRQIMuHdUHceZv3&B!x-^q5Vp
z_K=|#&uw<KkF&#M|D7mR?|W9{7js4Y_srr=;;nxoi`R>P6_FCO-&5nb&!l{+-<-oS
z`*yU6IZd_WZT+|Qh(^8sCz+>C8CeR^Yz@=$4~Y9mm4A;p61Xm+L@D50q`%Iqf{37(
zQ#F5NmMp6ga2D}CI6XGSf4acuR_4E31p7BO|5WL}J12cYVvEh*jrNNzI~j`izI?aP
zy7c<;9Uk2&>ZdQnPvqA-(84<XL4cax*3!!><x)Dmo*h{AZ>6wn(!rzq>wle6l<u#)
zU(LPmh<}xAj*?|<Q9$Dnv!1wx^R}Pnd?ZwN&>(V4jZM4un>|M&A9@*FS|-W%R7{Dn
zDu`_|vp4gpSgW&*hpj~{H@RgNN0|m`#<*>|JAp~>8qe-`Pf8y7%kH`Ke__v5nNTZ*
zuRdRc0#?+2xLa4Uq}jglzp7q-(#iT=wdYOhcdhn%c$?8!d{4)@%R1fHwz59FaH!5D
zamkGY))4O=#>26@!X7iJ9{j_dd(isbA?8a<*tNLhn3cSqOnc`wao=*TgF^p3FWyh_
zI@7vbWbxHa-+JG&)jW&3zw)-}JCUZIJ<$rhX>3LZJw3(s%NH4OdV8KU*OhHr@Jey<
zgZgKZes)=`7Jm{JP5YC$XQS?w%!x+~Z)v`~mvg7=#f>^e<Go?~ij)M>t27eK{C;mg
z``LZbeCEDYH#AB=ACbQ1mlV1F;6LBR4?>Q8)U{^P<k`8dI{$a?@|x$*%J?~#<(~ek
zR?2y+GqdRtGw02e$n31SXTS9R$^G45+-`CDhU+HvdWl&AXY>8GSSH;5JTXotUOIV0
z*TO`-DMrdQldaibYfez!*L2@!a<zZix;YP@O}oT@CZ=CZUn|;sfn{z;zp3d3@jC{g
zve(UTmTcX(ZAoD5_O7X0SN8PY*pu<(=Dg(w`)=oz2t3o-+IF-$cs~2xONo;mSdA}6
zM7=g{+>(D_c6C>M`W6|67^h`Y5;q+AFH~$l=l&_-YiRbqL#Apv{%eKB65iZb+j#cM
zmS*R<PxwB`Jq*a-^<Z26>6YI2r{(S)d8Fj`;m*G24-^7c#9X!&GG=BEounRp(qYd^
z=f4O0WlpyQ^71K*DPPRpn6zB2>)hH&%=^{FU4;G?8ulnTE}DHx?@hgm<hANmzclB$
zz4*N#Ze4Tc=dZ$_)<2)n!#CwT-@UZ%Cuhz*KVagp+FEP%2S(w=@_R(iSQfl+Rm)Km
zTX6Ps%pJk`Yt0Lln;clK-Fo_NwbHUPlK;d^3epmcZ9aaUp5=Qed+QoExpkXwmt9tR
z%&4Q$#K&cQy6?ab<`31JbA36#?5po%D0_KA=cMnCw1)}#;oMI?toh(7t1x@A#d-Ux
zHSaZKmh((1e%9=4Q;@bIhc(glyg9p>BlopEM<gaB=p`JQD6%v7det9$9)H_=nFa>s
zD`e-lZCS(fvx4iwy}I^4Ym>N7PUvN1bpP_8a&6wum2BH;UPSD)(-J7sG+nLoE>fnk
z{`{{at8}U~A3PR4W`D;n$$nkw;fL2+{xWgNl`Zy;%Vb}bqtzcImtDGhM;CX^b%Tk*
z^?64Vf)7r-v|6b>(O2;A`Xz?SYsAbV>-QeB@yQj>$uQizbj>~f2}<6oIa0pS%e6N?
z?(e$y`%!28tUIg1ja?MgC&(<2dYSO|!q2Riy=L`q+kSkGf4A|wr+VbiGtU0cId-k`
z`1f$$;sZ5zW^D}g?|6PzbW(1?8^vk*`A6cus^(lQGf3R;)@#`)_*rDPnA$Cex93^d
zSi?#`nBR)!dm{UL_1pCiZfE^k@l41u>0$g&<r#YK{8{{;B^p%eq-#C!6_>BE_4&0m
z^YTpYkTkx!wtCKq4_>eyC^&ZKwSD3gufEq`UVN=$FI}vf*S})fvTtpB*T}2SdAan^
zmnVJy?e70Qe_TBBUyVbS^qD;(D<2DO;$Z6OvEwsMj`$U_j_-Zdsl^H{-S2o@Wd3~9
z`~2eS7un=W+Z!6eAEYa`9=?&X<NPiyJCUm0xd!#p_s?F8%Q!Wmt-j_+@#4P`t8$Yk
zw6*>UY%kYopRjDcr@(a?abeXXZ82+(nTd5e?3~slxLD-R+&(t09PcG9>(|tHr2cEm
z{q>{H_hQrRN4Ly{-L0!U0|RF5|7WteDu^#kCNuQoqT6bclHSu6_oY=7hD*7a1<49j
zOV8wd=R7@YMw4L+`<*Y+lMdBCSXFzB`$NzvelaoU_ic71W{lP5u}d<q>~&5`UAE%*
z{f#_xnHJ|OiauvMG<9>s*3Y*$T(jb+cx3Un%F6WK&QD8LmcKr~g0EO9B~ZOin(t!r
z;_l2c7S*@6jM-`ujC-qs3OwtRzM9upZwTH0Yx~kKDca9nS{*IUB&z>9^ju`AZM~dC
z3D^C-deiy&LJYPP+)dVFTwkkD(sJ0Q;@ORf5wm;cr&jC~5d0!D&r9^yUE6Js`;6x`
zXWMM(eUW&;>iEO|ztzta_^f)oI?r&g_i~@TqLPQ#FixvA*gpIHwe{0jwtHVJXimAw
zHKmAgtDpO+E&Gh4FDt&jBcpi#&<g2OQ34)H^%6UZm`&wQzpjycDySy-T{2)<*O4{V
z0`*;1UQP>w7no^x+_A{;{$QYeB7Pdn*S0u$pSdo-pF15|_II20%`3?q*Ow=qQExGD
znzUs3>MI{r8&@B``MGGJOy?wyD76P&cOBBd>TkTfJ;vQ<4j1c_llNjLt@z!~yE;Wg
z^-rx<Hn(DZ#KFw<v1bo%ZF>Ls`K8)Zw|Cy3dU5d+IWv8)bL;KyOKF>&`n{rivcZ?#
zYku<;d|>AI{P6QlvxJ0QOAIz8cimfSQ*U5p`L*wN#Hu4|T&Gi1A8=$u6`xp@J^$3o
ztj5d@t<yKBy!W=NIX<IR_s9DqIXfQ4p39T}T61d~f2(`?x~cK?1rA5d_nwcqS?Ls-
z^H=3eKF4jg6ZcMRe^(=OKl?7*8|MofQhCkeCQh`md!xsDFly_Ra}h?%t}Zf;h)sFG
z@x$lti|UKp^Tdo38XM>O+*7;6pt{X+n&JLWopC2pdh3N}^gFJSkqh{6YT7|TkF5>7
zA?s}zSC`(HCZIIw&&luMA|CaQ{~1zZxc3U3k^A=0;$7U-Ta41%zrNEIYBPLfk{Y~c
z)(uCW#}gm<&*D22r(Sr6Ywyx#T|u>;OM-8&3uXMjD<hu7J+H0s&tlWwFVj1pe!s0e
zJKt1u)<iS+>J?i9mHMmCXzY&@S@C_(I_8S#T};;`^42@Z_nlJlzH_nkz#Y|Pp7q^)
zH@4PRel57;@10TdS;@dXWZn_+tI8{{ir(ozqm;Ly;QJ>T>sB3;X}?mm%;i=#rz|`C
zIb`2cw~Jq7zdYOH<GS+S{M8Hkf6b1(CAQn#-S4!t@ZGDnt=oRJOfp-rR5HbxIqtI8
zuD4-ND;A{Zi5=1@**JS;(W+}npUV1@-|bbat@p}!7dvZZW6f^$yQ#h>uE><D*59`~
z^XyIw|DH2^UfdOPEam^PbImoqaf^F<Y1W-%r9wijtxcg1_p5Rku2{8dlZH}Z>WL_q
zNYQ%^;UNY$P0EVD3H&%V^X{2MQ}y@#qUXc3S>lZ^H(qVw2;XzSS3~PgSkuLv+SI%S
z%l=fq>Wr!{)fElfaD48QNg<PE!-ZJRPSf4|D2tclz5!2{v|AF(_Z{o>s@$*Ksyf%R
zNL$Fp;%A=T;q^&nhZKT8mdKn6n6N~9ThP?$-<Ryjygq;b)f)$YZ#)=%;Xp3e-6N|{
zIW=9~e~_(E;Es7wv5b4+Y(2$=uQ{@R{}4aT*1G<jN1PS&ONM$*<{t)=*A`BYzWO2T
z;9o`S>A4G&qtxDJUf%m}T0pV$qI%{v^M5anO!TXr$o5N3<nGb;QWKRg-2VQ_=F95G
z#tvO;1>(a_OP@D-oLa~AOZ5MbO9AH^+<z3l*vR#xw=m{pvd%4@k{z~Z_SK0fPVM}7
zT88Jb*rQo18lRnDFZ=j8s-@nxAVqlb!Hb9ZYfBg$|HeJdNiGsRX1LE?=U}s%pWB~D
z*EtWecQ08SbwjSayQEsVIA@m7`vYyRH^oYK^CiXPt^dB`>yd){cV2Ya)l9z1mHxr{
zZni96VDQmD>*@sNF&g|^`Qzb(-{%fJ@qTMzVY$_2fk?=qX=mOZo@IC2)BI}a^7<_9
zLU}E={3~;>IRB`!5#R2<l<RO)UclA)j)~k^D;4bT=jfd7-5ukmyR@`!o`=L#Zxg<?
zv-<7Wu1?MQQ}rZ9eiPSnv4hSBvN-3<Hu(y#I#g4<_l4&LF5MdwnmM+&dL~>}p5yz*
zhAH_;=e!u3PuEQZck7nNZ+=nCklcD8W1~vF!pxP=v)(ULi!l1LX#a(WZ<0ky*ft)y
z-`|`0_0q=g|2Cc#;Sh`WHE8x@^oU%uzwi1?`y)yZW~jW|CRVcY(4h^-d?p`yCb?u~
z;+dN@9F22~;&h|g_xBjgmYjLr*6;pbo8$ZmsV}Z*S3Z5VEYIZ-GsD62u9BP^*!ky9
zjJG<OQFFdN_i2S(L`koj&q0Ty0zT~WH>&>_OYG;J?_l}YEW-BE#97;>T)a8|{w|i#
zFs{8%GVcHX620QD!HIYE=`Sy>^}EyeuW0G#k5k<ALMMGb*({VMH2ZbtrH#8!S8KD1
zH=n-A=y`OW#h!Ad*;ith$E-dsTDVhhRh!47lR@U;x2801dznzb@_D@3l$YG6*6m2z
zA?6|eRcw7=;sj>5$HvZ@0ncms4fNkld0soirsmfq)A#2*ju`y5XtQLqTBtf@Tm47V
zmPZczzepcAoo011u&O@#iB8&)jZ17rckO5Jow_3S++pdgS6od`HBB=nIIIxcd`(9?
zK3rm+b=^JXZm%mJ3$~}({j0aQutoR#fk($LEZv#MyS7hZQhu#%qKdZApJh6t!iRE&
z+KarcTr|HgJ?vXM`OCz~nQM3z-oEtHPI~wA_s8A!tu3~iJFD{DWe+*7R(hMFGkH_s
z{VV+nsma_|R_yzJ`0_gG692ZRhihLpYE8@iCAH}F)D;sKnl+VXE!gB*XE*owzWP~~
zl6tL=Cp7Gu{(JL%t^Ln0Sz48)@8IAxTKeq#gu73c-8D53RC!?G@Md0XVbJFzN+v(D
zHWznF&D5+D6@9TTR4?r4t~-7o)qbrAWBN5oU4Ht+i*tUj)3H@K^+)Y|o?OT0qg?vM
zt0XTZpKOSm)zQYUt({=>{sqJG#httD*QfK@)W4t6$bZJGFHGH~xOhFEfaspOy&?%_
zljJqO=JQ_Kx+J}TDOp72YHrM#3wDujRdy|yCo})Tp5}8&z14xg?Cx>Rd~F)d_4}aD
z{i91{cdog*c1c0=Up>Qmy>PV;-%tP64u0XJwfN@mNUiBCYZ9N&i9M74ZTjC??q9r>
z%ED8`maA{6w>zuY*mEHI7ejP@-kTi@K28#A;xRq=#^vF$8m?cJ?+&hM{qpv~pPn3M
zah*%%Rp-P+=X~W`-T8H=a>#-;h04D6k)4Ys@cgr=z9*Zs+r(qGQTn1Ax@`?DbH3|#
zAF*0(Q<QYGd}>wDJ+~u=f@XNA?e8zs)&A*y_!+O1#EJUZGgRuU|7sj*+p_*kmzc(d
zt&Yx}?5vlrG0JM|r2W|X#@x6~$Fa$~$>!r;Po2Nlw2C-&w^@s>m^u4v*Fy7G=R;%q
z*GT1Pe@qUXJFn|&zP%Q&@e!Bf0=rj~X1w{_ap2*yG}G5+zQ;p71=gqjn86qFrF=nC
z^yZ^2uh!)(o$&E#ywl8m8uh!lR$rd4c6d|Hn^!{2(<<J%&XaZcBmdJ*K=pF|)y<*}
zP1n4It!e{5cRZ4^`Lt8(eJ=Zqy-OO-C;2_>h`sr|YQe7eo_oalpDr%?8agp7C_v*&
z`H%k9{|sNd?~iCb)-t>L%bF#t3oYzR-o>&yeoV@1)UNRmcwoKw#qX`tH@#fyR-d$g
zlj+3tg(e#>vUr9_1Q=-~`Wd9Uo@wQd@k`!+*GFYl)yhfhL-s%1ud(QOVebJY`RBob
zif4R&Iwm=D9Je%jf5_{w*Nh%{PLs87pHAq=;+v@4I49X*%iJEX$fTPao}`@Cs{DQL
z>_ToKM*r$9mmS|9m1YzUIlJZ6)$C<;JMT`e4+^b6bY@Ak%=x0N)vU?7D;kci^|BX8
zo!vX(L%7pZ9jl3cV%2^#_81suAHTT!SkvK`Y8TjNU3l`L&{&1Px>w+@-jr7x|5^+5
zKjwaTp>#psrHY;LEKlmT-z`3wY5LV>bK&yOM-SWnUE2CTGF^L_&9mrY>7G@aW=CJ;
z*|l_ovzS}`r`S&-T0Dz5y|>-ei=Do0>H&`^`vr_ee6hiP6P=j#yrNaN*w$Z4%<cX+
z)$m|k+V<WR(KBDo-8<Jhktrzh@at9Y<UHm+R!&cpyw&^gkI3`joz8I+#5liPw7UK;
zaZ=kNb&Z5wAE&IGCzc!a=Cb|o<*KFc=0?n^yR$+*bjtKuL3`?Ja{><E5Kp<VczKEI
z6qW5ardxOYba`9%r&`18Ys}5dZ~G?gbzE~J{mTBTwk;*sgq+VcN{341Y}31TUP`>W
zpvf=4%{cMe_AM{I<=)a-dG2MKx2>w=+at_<o$h;<Z#A#_CQv)G<CC)QOX1`rw{H~u
zb(}Qgvml>eKHt%`_x>{8c~;-dpOJrMdg49tqb;j<G&CrGn|(U#Z`|##pIY|**6jUh
z611@RRm*RU*b^P+i;{n|&iPh(^`4-v)qKB*OMj!^{&@9=pLtFkXLCSX)s5{t`~ON!
z32>LXVL3U^=tJ`o3p3-oSud136|*kP{{7(4632gU_Pu(1@p?gk$WC_Q;<wY9C)Ph)
z!+86^b-8y_PR`&eR*iA2*xP1nqy0j>M4}>MpT7eC9oHP`jx>|<;>6t|Pq#f6TkU)F
zS^Shw{0Gj6ay*)1^6AKi6y2`V3Yv2B&q^1s`fs<}FZA6^pPj1~7FyW+P;WdnX$F^q
zo!y3YuUD^;(6jtvyhJ-(%5evG<kb1DIynn9>qF!{f|)gHr~aEhE$scTT@TH>Je^O>
z&0x^a&h1?Mch=XZUyYqL_RQdryZP|E(Hl2);Tb=zpT6K;mm)Uh>yh#)`oFbPk1nZl
zEV|xn{Yh50s5s#318e@}`9)FX9E%rpKRiA|B);Jd&z0lL{zQK_a@xhrAv7iF!^!fl
zhwaCXx_<PkHxIDob-VWWD0=|I+-29?p6H*;tg<P55V(0p%lA-@=8rctwv~&0bk|vM
z?k@A%qYN|rJu6>dm1^S3`;-(^R-4DNVYTnurp7-420GqzgtYjdU+?ab7k{xw?T?Wg
zx2eYqk@CAy9+M<F+qb+`o8(bk|I6z5vE3dTjUCr!YXp16u-1S5{+a*(w52NN#n-o#
z9TW83zfx<dkxLP??K`{Og|kCTT#bZ|?~U`^C^tE3%Vl@=^9K7vLYGfBFVef4bc&11
z^{M+;VKM1k>s4!oCr?Y~dcWk({(ao_dnJ!PiHuFCetPA8?t0O>H#gcQUa+gvYcn}F
zHR6a{#j2%S4kf7B<_Wum)u)MU_tu|!aQV4ZmZftUmj}uHU2YY2NUd%6lb;)%gFU|s
zoZES2{+!jC63KHPZFN&QuUsIoWVzx7+p{Z|7f4uJ{bliRP{@BI>ap@t?gRM=mrnH+
zg?Yp^B(q+gZrxtM^h<a8<*F5?bM~!eezL^jqEUu$f#b8Ti@Ixry>@hV-g=f%fBsk1
z6N9CTf4i#`rth2e=ycECd9sfu9k706%5ltV)0QJgV-Ck<9F2*adM>$!XP2B)n9kjV
z$6J+M+NVWKh&EffZ5@B=r1-vnoE*1Kep6U<O<z5rB*`L*{pbF_b+u~>SExK()wS?L
z7CTdX%Jy@|;=)o^tk`CD=#KKSlzls{O?z~tzCq=8^G;DYnW?E7@|#r8$Qo_5c=vy0
z*^#Q)0{%I=zw8-5^6-6*I=aQu>C%d(<BbzUO^WSadF;xq*&p#(@Abm3@&!9`gkm1f
zymcl&RO8eyd&zf<*6T}sHOxz`wolxZx9@PM-42HtWeWf5cZPFCelZhgE1I~Z{hg%R
zl?N+d=xwVPReyP-EXI&CtWv3Ief_-Y>p4Fdhul^%-oTi9Y3roKWn6*m3Pwpn=HI7$
zGzrpq*HSGh%gynr$>i>>9qYSSXE2IL&P#6Skm7%!_P(OydcA1NY^C2Cm%88HJO9yh
zU(440N862l{0~-*Q~O<akG=Av_VV2vDjG|I(i4m4v9o#XtLLsrJH6v))a9M=Cye9&
zxti|Os@VMhSWS=Zl(iFD8?HqD5IdyFaL+*bfoykw_SWne)u!q8Yv%_~5|6t5CUc9w
zi*%Gh=EJALmknH!%(i#$*nd=h$8vVhlM)w;A9pOv`YWT`)Z2N{ebLqV!mm4iyyRhR
zD9B~fR0+$|zoFG1ytJbJ?;EZ-hb7CV`F^nG|8(Ephf`r!*M=89;Tg$q<z(B01?I83
zE2L}AoX9yV(QcBA-<jg0-(xs(5B|9p_HXkB*5wS27g(0$EZEw<BXVZuEnzn1*QE#a
zTbIa6t<PVv--+W`_Upc`-2n{IGq^V`iv7;~@ML#Xo#5I-aoVfdL`^N2Zq>(q3VHS3
zRDb*Xmv$emZXJH`(LLwK!%f#D7300{Z@l?2{X1uN0*`~!{DPT}uW2s*|NY0dpzGos
zg*VzuM6yiOoPI|firn!$NxsK2Me+9D%WhH5>5@?moNb4vS2D&NG;?u#xruAltAy7@
z;-<`gH}_ie&Jo$N{?t6J^>@OoPF3vPThHNLxBhhV&d-M1xnd?WKF>KA_+yRuG0BjP
zVs9-4zL|ZnQ0Yt5mYM&#gDtBl>4o_Ui{0HSp?eh)J@!<d{(UhZFK}u9{lX5LMI8yo
z@hr!Wvg=KraAJmV@rv4&g=yM-HRkrR(dS&J1@9H!^4_Q*RVei5G9jl^j}u=ziPp{!
zyTe<r`czWyvjkg4RzaP>%*j`d@7r)Ohxv-dde%5QW5e%TTqalcM%T1x&fOkV6=Ta=
z_N7Ag@~;_>w(dUFv;W7bqefTVI^K&;-~1*eTKDO8&coinwKz7<-996zI6pstH<)#|
zhGy<r`_6S+^w&J^THKfWBYDP-kGK4rSALc)OzG6xRaO7&kb~SS^&68Gb1v~uTX>vt
z-bB6fPsT@Axvl@QIOWw()^8Ps2QIoeU3Hkd@%!Za^Yib-u1?>ddozl`J+4&7x>oSF
zJJWmB&(HihqI3$&*6n_<-C(B2+pk4yy|<a|HlDj<KJUu!*XBB=T$ORWx8Q`1yWp2~
zdAD4ifAD!0Rv)xd;X-|RJA?kGpu1W(9<TZzvNc|XXVRPpc2li83!mG}ea^hu$|ur%
z)!J+Q-YF;44;E%h*=%`pqkwl>^n34xZ+~BAU$=1vqpv~5Y~%Gc!AEBNVei`_qO2a3
z=25Wf)$RrAyz{TjeE94CL3h~`Pj8i2Z$0|SIIUxWvO>c0i##uXuh9E^u%=$5$2B8-
zOXZX!|6YgOmwp<w>EvC(4BoF>XZCI^+4ESTi+{^4#Sc#Rwpwp`^d}<s)gvK&o`nJ?
z*J>x{f2&?3Y58P1pP6HjtRkPU?vVidhTo4HHog_F?Kx|!x1?-==<3CnXI7pskobF6
zfM1vU!M@<>rt4(6RYWq6ukdmEX7{V+Vg2^g^9wyT?E7)ROwq}+^!MH8j@E|H<a8cH
za0~f|)?}~zx=F+Q=FZzCZH&8&mKP`bPIz$kN@e!DK7X$M6K#o#d)of+`=(u3V<n=j
z5P!c{-v9p7SGMnJoeKme7ph!al;Fy}R)S|^kPK5!VNS=i=L@~(ZTXhq;BT9j<npFL
zar4spBB4$HY!C7D%e^+*^=GMnaK7kVhqZz-8o5m0zw{h9eRQ_KB!=7rt{)6~-*5HE
zx}K$*(x>%4+M>ExrcTda>XX)fh1&NA^<)E>pNsa^YQNfb##ENAe@cFi?gBr)UD9F!
zuCGdT^>;FU5fl!*cJDibk>T6#=Q6gr{k55v7Fud8TCclTy0_xGpKE=d?aIe;Ma~!h
zColi8StIPOeeyMpGu;<>gfwnkpQ@vOe^P_T*7zbbR*Twi+aH~&e(uAv=VX;?Q($rJ
z(|2b~%CFR}eDr>a%-M3K8_LP-(Q#YYw{A#oy-*rmceYlp!9s58*?(=_jAvM8e!O{X
zzU$<Ko3WqNm9Lzyk9WEL;@W$4L8jc>^JV;G*4R~ieLVmEC&v>rUo@X87IcplPCC1C
z$E=#uQ(H<`?XHbl@tA8G!%Al++mqMzRwq8Tf7hVA>Z-`pLd{a0r04u8jb*#4j!yp?
z=8?3)zQM7X@zc32-6nC4`vsor=dl<m$g(P&_z`!3SBFQ(t?Oy)mV|oANo-Oz-FJRD
zWvP{DhK29ier#Xn2kFz6r3(tuQq=2>_Z&I1aH`IZ!j>g-o;>mkk7%1$^5Rs?EY|kT
z>#O@cqgC#&V(VICa>3%mJZ9#gd52miTwT1kQt%vu%dJK|5k)8QUw6&#x`%~$AGv;k
zC9LRz>yLF`S4ry~VYw{9_CZE|b^YAdeH+d_3DLBECfeVZm;CFi_?8+AyR=o@sa9U8
z&GT<Y?$<ptkzd{NyW5*zw@!agelA^?!DQKGb}K?9Nv7@MZ13H%t$*&V>S~(3`{o7Z
zUjMW--vt{!Zu+VJ>&}(s{Vr{O6E+zO88A!S?)&yku<uCiP2os^myg{iuU&U@`mbwi
z>kXgowB+1><>T&}sh%~S-HZ#lm2UN<zIwhTpmnY44S}A}TFFaSul?Mg$?n#m#H+vb
z*1Hh7`o7hBoi4Md+`I6Y@7Oy}9gp>w<g-|!dZK@~=^K9U_<!g}me1-e-^ALC1zOkG
zca<ast#JCgZlTq$lE^&$ZFQ;s2|QB9rn2gG>@Vvdc*&J0FI~{K#OafUL=f9D^EzXm
zZeEwdX$zhxh`9abJN~G+LgTuP(Oy?2hCT0pDyFahp!PrdZ^VY@N>@YWmp^?yOZBwl
zKAB}d6#IRvlk&x6^rzpQVA&;Lvi7El?+UN%%3Tk`>k>kL6qV~=INFvqX%3U}RS%PP
z*>>|Ce1GN@*JmzVJEuOlku8qtuwG;Ooio}B%!Yz)Kk@~FmhS)dcGaz^tTswr+-qbj
zJqovXraPTfdRz5-q4A{&Gt77|F85e_XR+bwP2nreHmr|g-%y{eaN2arch261<Vzy=
zekki75)BaeU8y;LrdUU9B&WZ{lLLjk*VgPj7#&f5GRkF1LHDNmmmjX0F@+~RwOuau
zjBVqqoBuejd0UsI&DgZ9Ij+_9-9(-C+CPd?KJx12>6b736qw9#rG0*9&9#zcE?Oy@
z<D5*h&(@u+Hl1Q0<NfOBzqXQlYXW-&7-byfnpR0~Jso+o_HF&ykQY1le81`Gwe*sB
zj(pg^D~mQ>=x6+xG2d^-q~7{ps`tci@6hO6o@Nqf-SAg!%foZaLPcve3f_Iu_3dDI
z^Sdax^9QH(jEnvUxOhKUCwI5_)mH0!da=HKzq}`2q?_N^<}CBxEt#=boc=C*Q8BUO
z+Oe-clE3`>IJ>ps;Kw~q{EWx_*bn5U+N_y%_xmi<T}3+%9OO-Y6;>S4mCU9RUoURS
z)6CJ=f8axYYW=nyd8h94Okn)fvux#^`sa;@{8Wq1dt6}q@aZk%GKtGCp8XF<aE<19
zoxETEIX`Q;W`#q9^0ePJQUQ}p-Z+YEk(zSjhQ4aszDvUAW?D{KSX1_7@w9FCF5f${
z)$sKEIR8NNz;$6BO4{q^8NPb0vt-tS@_jqM)(f0exT~m_=)b=6#+`b8KP_{CvWz{A
z%!08+tY$wheqYWhdD43>vsQM%{e|&HNv!ck>a$kP{PT9F%8J}{{X_d?Wlqm{UEs1)
zviAJjiUlPv;(O<pt}Ut;oixQ&>$FOHtQg;ahW4*dEY)A--@MuvbG36v<GG?g%jBd)
zuU`Dd#i&#N_&|%yzEshuYuZt^#x3i-7;e9RlFtw?CSMS)^I6OG#_}7l4?Xdc?{nBL
zQ@!R&nzxk2lTNL4tD`~l+_%|&t6zL1Hm+=`Rb-9nu0r<*S2a&3tP_g=cK8&VzQ#r7
z6K>qU!vpv4p7r+r1AXU({%w&zLo70zR|GI{O3z}pT%mO>wEo0_O)Lx+O?Hzu9*f~h
zP`Yzpdis)TqaRzYdtVVg)qLsBgdclkEk69c=iU_Pa6kL4{RHD(J)zn++?1xT@Vd{}
zuu@k*_EK#_+jci|uRBqFFD@-rEz{Zcza`=Ng@XSDj=NJ&>^9`tw=d+)-0epz!~H%c
zoDSvtTf|d&`oE^rl!sm$>O0Gq1+7TAG?Ra6v}Wf`lZREuFTG|BR&{^zsA)}0jNOsB
zf9fS)FUVZ9nDx$yyl|ZZr`NAL;&jo~pk5^|Q)a^4#T!@b?tHlM=e{tJBQ{%;-<f$Y
zH|14)_3oNv<&&VdC+D1~T6Ik0kWNu{gW(2^dsW|LBDs1~7X0S1GR|PuXZT@i(!WhV
zLtNa~Q~K#VN5ywd;+L!zbt}kO_3;LA97|R_5%j91p!2Ep*YqM0rjt`Xu+?XKsuoQz
zwBQqFHa9hbpDoA7Y-(Z#K3b01+|XpYgRF>V{m<l*)WGd}J;%1q6}`PJ_jcq)t!;0Y
zObW@lEgCI)dt30v$?L!EK7Vid+}nAx>vy>wzx-RKxW`P>Lq%3L=IY)#4LUqJJ!keX
zn0lJ3iiM@6F&HaL%doc2Furi)>aB~8caDgj;J&~#i}^}}AA?xf0efLF3$BJ4iziRt
zymjeR?S@<RJ<sf&8kWuN+_`n{R%3_D7tdY1d+Q9>f%os;>AiXP=-7)lYA1f=Pm~hi
zDA>xxq_gI21B0Pzs;s1|Cd1Y#i`X2vUNDrHZDiKiJ@Z!NY{n;R&o=PsIY>3ME;c^!
zZog#1%*D++zt%r}a_Gl=7MVMZ=hpof+FVe!g<ZpAMYo5R<|^iTl_N8*9A!}Bd&W@t
zvi`JeOl-yfNanLKGXGawRW-c+A5^CH-+Sgi{jd9@($D{2Ch;&Lg5lY<v~>)@3zlwW
zmbqO2Q0;NTLyiZ3@;C0Befj^2f2vPD>Dx1WwdcuXc;?Vue=V=9tV`{i1H;xCi}y~R
zt$jgq!GjFGk}`%BGc9)faXwOi^A?lBtBiEM2_H&Wt!Dfezfh*e_y5%|d3LpL*UIAl
z*T?>m=avkgTrbdR5%G_C>cjZ<f680RCT{u0GD|yp_rKT8t(|x6|NK+F&h)SR@;~h-
z_3QtOi+osr^I0EXS=@j1C;Pen3s3O$bBl5H?tNFE{@6Z?lik?8IGf$OVb*K=8TGz%
z&i)VoAis4}=hu3Ev4)@jcm3u+|Ea!`RX997+rL51_;I~2-{*SU|IU(s;<W<<-Tmd+
z#PakQn5DJ(8(M$Im)hva)cyD0m6mtzoCEvy|6d-(>;6CdKmAyPgZ~1_JGVA1mW*F<
zcKx*vT=kucZhCp_x|x~GyDL@f!qk=Xq-{g$Un^=CFFvfj$GUV+4L{4FnF_&;cTdaC
z+$|O~nML8y$0I2^o=XlI-Sg&*T)MRW?X}rn2eX}*JTz@lTeo+n(h=V)YqO92irQfG
zR;4=ZUFF(0{YH!-n$sd4f9k9AnDX|>)mC<PO(|xrEk1YkSsvKM@}61~8u4)J$_uCO
zNkzESozSa4#LK#FVrZi4gv*I7=WN+arO!)E*LdA|@Z_!=%BwGRoLp8ewd})JyBj;#
z+;qQCl{Wdy6zPr12m5DscGjA3yXkI<Ixms=ti830Z9#>IBkQ%<&U4>?`LV4m&uxv{
zo3k%j_-ZP+CQtY)He2xawYo{I%hJAVy1&O}zOs*2R8vyw1GRd+Ut3oA{GQBFcI1I~
zn_tzDUWM2l?<}^wUpMVQIm?Nz=ESOnf|*KYw>Xx*&Z#n))gT?z|N7#RqkhdVRDXPm
z)U;6-li#JfL+9u-Uhc)L%da|{e_fC~d)faim7g+eE<Rbg;k^O3gudIKBHwc7Gx{kx
z-od7l4+A3Z%uSHwiI}V8U4Opt**{HZztfJTca|+U+jqU~N@9e!`!nWh|G0TPDb|fH
ziSKjMtDjtTIe5TJ;?!TAMSp~^)g0$bGGbY~>%i;OCnoMuZ_~|RJO6N>^>k0k`Xtvo
zD;H&btQ6aQVAl_ks-9mfx;lNYB}Mxj7pv2M5v!J%ou`+gY#E($&HQ)CuDeq8`FznL
z{ITWS8>T4b@GAX}Pv6e5V5Y#e(#*V#2cLL+5*K;un6vZc%<yNoEX{v@wC6v5&$Rkw
zV7T)xo%>FS!Qt2MKVLUF<-foiv*!51)eYt*vwgE#|J{h)`TylCC+jH=GuOy{Jtj4^
zc*9oq<6XC}uUGJhE|{?2I=6V@!XGy@#b(tjY`3`-6?w-){!>t3-@>_@k9Z#KY_kks
zk{&Ek^!L$)S23M|HqKjnj2r%n3s!2d?5=8E7^9PFr>yJN`Ts-ROcsy7ymI2lC$359
zli&4D?#!e=O?!7<S3H>MQLLcNfAyMctl9LkI|V0VpVZFd>8Mo?DY~g3)NFm?{N^9B
z?wbw<)K{E}u@W}7+Y!Izr-EMEq`IZ`JV!&`inng54SDj2SM|&CeYYlUd>pDB`uDBH
z?fZIJOB}P#`ft*V5-VH3wqVm&XYDQLAL*Sqx#J-Jbe-TYVK<#h9tl1C`Ln&thU=qk
z@zc<#yT9BdW{NknWyo~xRpS%iIEVB5&&{U#P1D)EpJzO*U#=3~?)u4#J>yFMo+AH(
zqTqsVYnGS`zdkuCt*%^BDW`eV_TKB-DK%VWA01vkI3(#~l`UD9?&9phFWtrM`F-u9
z7W*2$%gnJVTqiwFoK_O5UszRp?$)olfsVaz=j@mK-R)o9w9VFVI@kB);>BxP{a)Tr
zT|HOI^qp9o-{~DG`|DpwUAS<g`o6MQiKcSW^L2)TlhyAXxynE1?h?08XP#|~ocXlY
z>B+h{O+T-Lh3qcPTO1Wvv#M~qCwyDeuw}(g=CTW}3xn?M<rd7IIYHV-piJz2=8-VN
zhZo8o@!iSmR^nK)R@cT}^S^?Cq0k>uUmNyFmXAEWvDrT-p03o}%JHwPzO3o7sjyIA
zxs=Q_ruOG0`=+jQ2~9p35<GqKX*tuCkBV}#c$dG|nssS*K>5VhycKV{L)l-=+WC`p
zM%}l@NiMO1ws8lN*~%|`Qr4f$60}vtu4+rdL7kf3M^86huuWOR9?#=GEpytE@WjjM
ztr9ct{9Vg@O2~2sTerujolcqthCcOzalRj4yNeejJLT=Z7Q>u(<<5nb{FAI6Sifwt
zm_LjC@sog)#Yc{;s8xOPeQ8T>spIURS?(_L4xCubq3=<0dV^_?nxkoX$<(8E%iiw4
z?zHQgYir`QpG?1UnoK5!X6~Ic&0_OJ*GtL2bSkS|;~29{o>mqr@Aq2GX1=77$Kvb9
zCH1FOx@`FOeUUStctWsPc|-iV-uOkc7N(zCEA-&-hvXUA9b3NSZtLyJeeSHrBwh8R
zR>Y(}+JD!i>QB>V?5|Y+?R)a<8`jO6Wj>`=FzZRpWt=wk#9bSU^Xo%5?D-hEVw$O4
zu--YBzR8|^r#C(d@>#OMdie`Y&l%F4sm-ta{yN5a)U$9^@)lJ@baS^K{`Ml|zDj)O
zkER=~kFp+T#VQ&KPPMk+{Vi{ycVhFgJKxOG<g%k)26f2V8!8`N<6lyvl(%_f;l<29
zE3K1`GuW>^w)D7?^r=Ic<&y6r*ysJOcQQ@kIkNt1;(MdlhYI-km11}NdLQvQ<Ha<a
zhV_T|_ibg+s*<gD$v0_fO+32bJ*VV%xgEB$TW)XOZgv0EG{b|g846FBzRADod?EKd
z^4K9ehnC_R!56+7++G^%FB~{?!9hUp)Sk2l2eS%ork?ORX;<WV^$}}T<qOqkA{}N?
z*YDO^UHHUz`ED1dMap!Ch0Tf#t&>CCX7^nQOj_v78O`<LjjsExocaz`mcDbQ57zI@
zxLaQ{q5fOx-WylS0v+3r^{8G7KlpsxkE_*NJwxUS<<?!fKe_wu((R|V<g$i+>b5oa
z*Xokp)xRo!iP}Zyt){!u7t8*>tGDsA<0Zl7u=J#$75Cn%%$oDkDtI|#QhdqR^lfX@
ztDbY^`?)HsRL3iRb;;%Qb6&ZlUPbKYp~K&6eAKSXu5fRB*%LJ5s<OVEfs*{@XB)44
zU|GFs&mQZE5|%z<{ZTWeUDdqG-|=!yJ?q6?ujMLH(EsuXyV1Mf)>E|(>|edob>*Hl
zk2b62uVTt&JE^kp#FLdqOdYz?=@vN`#bhPsCFaWb@0ic=(X%X1(O?bldY5v|13T)c
z_rBZISai~N#qyWeZ0{Jq(y*83(VWZAfBawWW_xwRi4*75-4MNACHwGdyPW3lM81%d
z$t?kn_kLSsS6G|n?(zuLZ7rMmPW4);lEd?_BD>W-I*8qmKkCxesHD<tc<#!P$Bi3~
z|28|=xuQ9`^vT}<Cv&cMCyZBo-z)lRLCn5|bLs`BHE^yK({>NP`tswl<YTW@Yr-z-
z7izuOd4JbYvy`vm&%^m1Y?C~{UAN_DR&T<svZlpXZy3Iw|E+iGKgNb>Ynm7Z%}mbc
zvOkQmW1T<!c9)f)*%5}5HTsSWuiu<rXzJ?9nwuhV-TK?{JF6$xGv7HEnc5tm+~VIp
zDX86vCsM_t-mRmRb+g6ql;<b+DAsW|Gt{pY`@Dnkb+BI2U-#6Vhw|##w>sXw-OJd-
zb$i_}F}~UYscvzeP_@<@Vsc-<MASa<>bmeZBmLJFPuuxz&&mp3Sv3^YxHC?ffAYMn
zweP~cS9S**9JFGn?QOpM>GehS4SJ_~qNkXP>G4c`tNPb7aDTm*!sDYQR-*IQC-I~|
zH9jdFn)F&@SE^a+e8uD|wb8Sq*x#xjs($e2c(mtEajt~gtRrl3W}AAA%N$p&uJ6dy
z*t&eN#nsT@ub+4?n%xmi%~rN_u>7;YZN|3gB9DG5ZZVK$sr~BAD1G`_MQ!B#gu6{_
z|JKehk}>7ft8TMAP-wQbJ|H!HkLsy#b9E8x{ZCiDTmAUrD&^T%VlEl*l^1H<(W{a0
zk6h%j!z#&Q9&^&UeW!!|ElsG2<N1)@c(Z6S%fl&ch3+Rm_AKITzM<g%zJK|Lqg|72
zrOWO*PWb8S5#xR14exGSt#s*M@zzH-J++zq`r^~6Q(2|&^KKTaQ*6EYEzG3;4v*_u
z<xqhc3c9c5g?ApB@~`@AwP&lM)pz68qxB|b9GB&ur;F|0_Req4#?aWlY?gWT<u_*D
zj$3*5Nu{><rTInWY?IR}64vd_Nx2>7zt=-8FQ$BTR-}yUwF}omwRLN^rWY$OxTe3R
z@6!90l}k=s{<Agf!prKGH-=jy`s6p6+^auVep%Aoj$cjUAD2dc?Y!l_zVo!FuM_UO
zC7XR_(o~H(53N%;jIWy)TvL}?k+bL8pT%x(>(&>zR+xQk+V;VNOa1oEDgVw+4~cl*
zmMK)ba%a=kX(wcl9sDTikl(r{^;X#53lfX0C;C`EI{C9_uev~cqKItt!P~L3_c!*i
z^xmzzUVnOxgUx|uHy$2{+PrRg^3(@x_Y7>;ZjW=i{qoH*ixbl->SnIl>+)jL6^#!Q
z@4x?@xJLZW4h`#=z@_}VK5sJr8PTNVDYso+{L*%w`i(kw^KKk<`#LlD_uX|$O4(Ky
zwKrP7747H_Uo!btlfv=8fs0Jb-Glxa=Ph~}zPNbXxn=8Qf7Bm0`*r0==!0I#8;W->
z{hOV>+-!fD>j~Z*tHbw}t?L&!IekTM^^WuaF_WfG6`T1N{yHD~{)1cYt}U^OXLscs
z)tRT<W?$;RDz81KC_44?v(_)Fb7g|MQjRW_vV0!yUm|2sbNJqE*$1B`p8idZ|Ev~u
z^NUr9VRHMgKbG@O6$pq4*1vfp`|7*Wv#jOs95?%~N%OLJmUyA}1Xl^q6itV>*ZOmp
z*_MfPJ-hvHNoPsVM60DY-Z(#!$z^{cm)|9ycWH}A;`;>szo8RDUa$IbCy0gRMs|kj
zn%;Yf^TlhqJ9@Xpw+AKWW~|n|oAJ%(gU1VRxk)P`WS51%cerYAeCzDZ9nzfjPByiy
zzcq`SJiNL&kD58%F!nHNJ5sUw$lp(9iYZ^0eTaR)qOfPxw~OBtrCfuhj~6iZURe6J
zhwYn>OWOBYB8UCeg<^j0I~5TAi8=F|%eV7&o4j<ddVV_WqiksPaYmJiz@Z7VkIPvx
zT$WzzQGU!o&0V;d<$34ksan1=i<b0Cp02NTwJ2!Q>%D$nmi6Yt7UetTZL`m4pXs^2
z)b728$w{v%WglE>c^m&+@DGnL`#)*fm)%~9g&W_8&-oW6zdy~Pou4=F(!Ce4H&xry
ziWDC0Vs+m*>(0eDNs|9dzNvik{5w<g@tWF&mzGwl&Xe1(eJfu7dfLl1Cf`d|2*0`E
z)6R6`Nxe^F)J}`2l+BwMUaTtq^Qx6&*0!muj%WyoT6#A<uz8`O-uun*(ckb1jVJRT
zJ?#3kn0YqKHS_E$=b25cr6t}sFPX28d8s@1K+Y*&U0u!N{igd*XEl74@krWjkgfkP
zUG~nrm!U1+ja;_eeWdx1SzgQP&7LWo>(73lA?V0+{X^uP`sh2os#nV2rO!VccFJX0
z)apfRy(g`mEf8^lWBVGxdf)A;uIEoiCOj5cEi<XG^t17!NsbFOp8FnRTjhUl>7>me
z`*+2(|I$&Mn-OgFX<{sYv;NWvRwwt>PY$&*j%ZU_`)i?W?OeZ<9Emqs=7RfQsWDl~
zEZyhse|zinq~piJ%%^(Qdnfz8{UF+@6764hlwr?HUx98j8Mf@~&TfIN5euxp%Us(W
z_5P6RH7keW#w^(@XTJaX(E2|-|HbwVf%?6#qAlM1VVqOE?4)91z5>q%n{}+6LRPNg
zNo${{GhCdR@qhA$cJBXwqxT+@?QZUU`HVYnJ#(#4ZJajS!ueCqpFg;*RkHrg*%fO3
zz6E(QyYFo?XYzEZs414#X8HN$!}O>CF_t~Yj)xwMl<f}r^nfXDZcpp)zS7Wz()+e4
zbslwG#2OY=8?!5I!7b;vm-$?DIHp@U?-$wD^(#bIM`Df%|JU#G;i|GFc284ynApFS
z9ygvNEOCkDZ}A?-XB<t&VbA@)#vEm<e>d^!jt3Js?xcJ)TzQFQ&z*{A-=5?>75kjz
zf1We*n(nPnW_!=fFpca>U)8tZc}Ew6X5d~OU#@xYHmzGF{6{a|);`gkk13LE#nhCk
zYpyNd<Yc9^{^w-rlu+*A7c=<|ri5(tNMXI8H*duZd4*qZ7t7wg5wh>f&4)$;HziLx
zt0e^0_vUr&nvt368e1VUGeDzqxk68%(S45m;K<FhiXUvv2@Wmc+dWD3;eo`Nb4C8R
zPCBW#by@Jqi>uFnz9W`*L!it%eci+<nb}P(ajtXKlMf$$bTL6N{P-!WhE@7o!WibK
zPY?FmZT$0Fg#}NZv%@Rhl`D%bgjc4Wt)4sCf2yFJjC1|*j3|wTe5~td|Cr3oFIuz4
zal##=ZT=T7CKdY~v`y=ep4It#=Zpo>Kf)w9W?ht=niEvd&UVViq@O$c@zslSigPdL
zf9&uSJ;3rVyC+T3?S)rQT|YxF-xV*lf9H(%yKU#!Q502DVy+3jsm33;=<xKbC96VC
zC;z^9@%P_;{yz?H>qE{IYDw+bXffTo_)Pq}sW0bDFxNkO{cV)mj2ju!dndZAz8za3
z)W|HTba17y`I|Sp4wW5GILGGo`he>1D*l5{zbxG9uHL!M+u-JV?^MkbQA_0G9@tke
ze{|dSt?Jj5)FbuFIxhE}>GZOd*zxRt=4ua{j&;3B$HnE`_o~^N>B?5tPqX;3bG@a*
z=Dd9-`<B_h>Ro-~MuuRS`&x6x+m>NBoL$yQscsG5ZuI#nOT?qdb&Gx+j4u5;FHM4{
zPbT{Hznc}8U2Z2$?w?gWd;ZE*j2nW3wAP6(Dwh+ual<)P%{_?!=FvxomaLv|Z}*fb
z3;svMUcSOCwn|n|?RKw~$;Q)5yxExQ1vG7X-TFn&wAN&n9BcJEtHS>;;-;wN>Dw|}
z9B+wDy0LU~-aMHHyA5_cj+Q$7yg>Jl#$;g=r8hrVU4!C^7agoMKYQpuyUowDVFk}t
zI&o*dulc!k?(>$UHwWLUq?<o>dsz^D-ZA)#2iL#ruhc#&oV7W8>+yx)hbylHnWjm`
z25+vvQrx>l;e89weW_n5x_1n@mUQsW2tM*j=z(~f?{{^j=}*`BOv#d!_j`8h<1d-F
zsn3fR^PGPqFQR%x@S8@&c}<&^kPnSpCU09B$8kWf{acgHwADMVshY+mYi_C0n;H=4
z$9^;2e(|%8+x=J5|1ij{POkkm`D#?Gt@LT$eLv=2HmI))uspa<{N2Bz<yLQ)+Kt@4
zJB#0+cJPnU#pE-=5BjeC{?xdAnO92Dr9;6*Czo9j;Qzh5ZYhJmaX`-Y>6-1X5lT}Y
z*!7CZTDa90JF!^AahGRSEaka;?(v?h+S8v%zFVJjHAd}b_Q(G|3g>MyE{8p2@qWFI
z>-n8(Y0>*>t^JP4^$&KkhUXrCng837c~gRWb)e1u#pk+3n6Gkgob@TUt1rVzpqj0<
zR$W{ppzD^2ZjNsCp;^<`%k36eoH}pk$GznzW*v=Vh(ELF?{_7a%#A87|7VvqZOT~v
zX2nWT5$(kXy1Xa97x+__vFT~ZuC4z<68^NOt~xKm^E2g##LiC|XMJ7k-*W8sSRDRI
z<NWfKlL{^Q-B%x&K8bbfWU1PFJAUu%n-s|A@`gL5HRZUC&3=xDTicy3G<-N1e_U7B
zck{86YQLY}I`2FG^qS7gjZWz++uhh#&ROJm=Zw>`&wH%;jb5B@IOFvF<f<ECT}dzZ
zTb=o1^D>Klz4N;^5tf8+u1xCoKW~K8t8h$TxO#nTVX)8JbDuo2!v4INQP6+Lam_0C
zxjmmI?!2lKt#zxceU7oc-;dO*zv{)_TBc9vQA?_hJmLJtW~;g|+r(F8r=DK6+@D`L
zd428b<@YwqXdQM)j#Uj$o8P;aFLnFFA2L4|)X7K-O7@uSsMR#))8V-k?{#yVPi&dV
zG_m?}<HsDf)+%hmR>rSFoYe(bC$4bjd>4LIL|#m+J<(wLw8b(Cdu$h)-u6#9JXzp`
zO#j7%t6U#5G&@^#;@)WU9Vqrp3TC-++rnG=%^i>BIX&Eg^B)xGh^M^2k<2}z#_Iet
z&dWuo_o?(>Z1P^VaC^_h=qomID@4WHa--c#FVCA-e|z7CoEsTAu0}nF`c|Bt-Wli_
zFxgMW(|)Dp5zmiBHK|`S&jemCyk4M_bL`c89@9(p>H<|x1ug&FI93Y<JrA67_Tak{
zv*wlWFg-29QYW}%nP&TnNE_QdhMft_Oa9)d|IVi_)v+|ppM$THx0YqH6z`J4Hz(@3
zj{M=9Fss$-U1|M?lSkaXW;SY?r>u8!$jjh({IK-Oyk1eAXH$N^Hoao<;nAw^>VNuT
z?@m~!X%{v<v~g+hqc@xn7juT+_#pS&V0pKm)6e9Zqer~w8dP2>pD(z4R*hh`=cNv<
znfC5SL$bCtF5!-uS|q%9L+PG9LI0z#_j+h-l{JntYg>EehNb>=!TSCivP!jQ-ikb1
z(f39F=!=7)r%YW^OM2_-SQz&o55K#vJ12Lm*rY2Qaq82e-V_C?UsCE`_pa-zQu)IL
z_6zTN3pz$0*z4<>JJ))1->Qe_jyOl0c%wW`s8^VCYw#?VGbU}b9x*+ib70ZoxCe>K
zpZmLK{)&5)YT~SW{Fp0Kz^}Lb^#^YW6|alhYoM{^&Y4?XTecrr*~PUfVewn%pUxZY
zgOXRyEXq`vo-_Gz$GJW7;wD{2{BLLOv6$a?^Sr3Owa?MXf9=Y;rGB#&Ha>85eQI}g
zB7358*Xyv;(XUgB4uxIti%LpOS*RvpQl@`(%KP8Jm-jxk-u<%BasJ8443c#TWobqA
zt&GMGE}a#8t|G0}s`_nD^psbo6%XFC{y1p5Z(3sPGKYMxW0FTAE?$3mCrvHn1M7+p
zPTvkMx~_hG!|cr;mC`RSU1z<M`Op8KXEL*=u0D0fX!Yys?*G$f{XDs2^SjnR_a6OT
zGGT8e`{VT!-W=PtXl>Ta&%b+PUY}l;mFM63a;Csk<NE!2e+w_)&lgCGc>JE<XKC>2
zP=WvVn@p4HDj)Y8P(Qk$x#H00KNI7>yS4r)c)cfnT}u6(y$gL~ay2#vU*fv+C0n;&
zXL;A#nG@HAgs(FU68h2k_h;G}`~P8|8-*q&tzG0j`A@*tUDEf01LApnt=JdtDr=qY
z%Bh#PQ1{!>NRhv1>d#h8ef;C4ucf!aiK!_%uAdHi@4o1irlljlxBXiUi~fd34>MoS
zU7mJk>A8)W8eFkc`a30ZG~}fYl+9|HD>vt1#{Jmjb!E$Yw&q^k@@(zA^DNoB>bsug
z#a!y!sJ(8}pC|*xHQzVxJ8H3LzsfADJ=P1lxNbR5-CoCEt^WMk%%~GA_4)DI?JLgQ
zn}3>lPKoznyT+rv&t=O>yd8|$m$aCl-ShWMQP~QQj~**4gZD*Rvi@#b6#JIljCswB
zQyFrrA9_FLUg)5mkoH}0ZtDZXUp{~T%n@>7@A6)5v-;M{%ila#eJM%VA}l;bbfU4J
z$kr`~J>NarW|mudqoi)mIo|`DXFVya&pr??;ooKI;`~5<HEZo2uEggjmY-bLUbJhn
z!~R)2)B;5G+q(8iJl(^8Wb1+-%DuhixljLWh(6JHV7bi!<}_ikM;~wKmTSx}SbgNu
zpHGrW9IC7<&%{jeSYx>9&`h_g!;A}4COnN;QGdzD?eGl8HA^NkxQAYd-NSV-ab7^}
z#bXuqr~1y`?R~^~tkLD|iFMH{=3Q{O`P$;xl)2SO)*;gjF0f4K+`l@wxby$rydv#8
z$3onesog8mpS0#gs%4RGa)kZL>6sEqZrwYj44iJ7Y&twQt;4G^-r&RMPggg;TgnnO
zOHAsm*QxUAWh=tB{xg%P5oa_vzo2}-`H8q(s^P3(CaLvhoUXR#d{vn4HirL`o!(zP
z(?jOAn9Xs~h~R)vvG)V)CQOd~_|f{3_d>n%7HeWEH<)qkX4=0i&1j~K)z_5oUs{vW
zif;QP{Z9Td=iWh^iFT)N?fBmLRc_9<W`8r)TK>INPwx9Jm;Sxpb@FY4DH;D%%4+6@
z9hh11W`Fs&-;1tZEUw>g@96Mam}iT0x8==>>Zb_{%B>W=uB<HiX0i7@)5r96$Lx&G
z_nrD*ZS!_dw1VZI-_jcw{e1A@{NLRHhF<TUzyI9&n`xfN%7#g8ds-O;9A-+}Ejq%x
z`u+QfPpj_!v<O^ac+)U7*m%p9X*zR$%g<7t-Tj5Vzgb!6iqDE=ud@#wv#4KrZDYK`
z=Nt8^n=X~*&iu3Lnd;OJ>{(7MzuRN|gYLvFy0yGm@gj51LY02+wU0SM>enn~PFk|z
zQfL|H@eUqVgQ`UV?Gs(6ioDLU`)?L;;0@E)Z+bfQ6&w+YXQL*sxTyEa@3b?o>Z29y
zj~17jG<;9%5bC=uWG|wjWn|l!wdMBodI9Chy-(P+xR)+sF|W_?oOa$oBIK&iPIoEq
zd#<;>&hzzn@$YLJ&$*8GFPy$?2nx1-Q*nSl>Q~Y3Ss4%GYocD>jtY7nYwR+U%}Qk9
z&fQCMzkOv<cxamPY29U;5(D}F7pA?jboRDb;W(RH^uU?>>)!pjdQ*CTdGOyjYbM`Y
zi|YI9W%u~;Y%ndZXIY+7x;W#&{VDdvAKuSeQEK>g>5;<<B8wINpZj%Up76D+-!zO_
z^1bG|X1~7FzP~x(-rL)ULT2S(Du3hf_3vA&*_yh^=Vo{Ncl-(aHRohI^Qy_luRgyL
z3`uI2oNF(#P$O5o_V@p|&E3Yk!dI8By7heSr5&NUh5Y*Ufo~FDrEmHCeaVr)oO`?S
zYv1~xuk(v=?p)zgb>(ROrKH)j?S4#q@nFxyRLRfbbL!)p)AL*Aby);_Sp4hQ-cReE
zuXz7r@4s6gtM6#}>j*qo(%-WvQbw!C?{1{(+^!$IJ9|Pi<6n8jzYzcYVR!VhoLBR5
ze3b6LTEe&2Vkcu{Y1oH)-9vdXpM4*{yXdiJ``b^Je>P}+{p9)KWrN>Yv)8lko(gJF
z<8rm1?iS_Rp<3u1KTmo4rc*t=3wZOt+!CsqJFz!7N#+!r!<4$S%YGD#A70NK&f9Ue
zQP&|VF>eR&*U5*&eujVRKRz{Y)sH0UB~#r*V#9BI(oU0aI(u}g%Gwu<spa*@N_G{R
zxtqS&RoKK^nzYTl+9UM9>i4xFb*&=GhqqS5ymWXUm@GW=rEU=0Q>#xJYES;%lxzHJ
z+r{{G{WF0Z0{<V%B^XIAbARA}bA`pZn-k`?<)2XZEC|k9J@u*8?22jniPPsAy7XR~
zZuO=&PD|sqx@xv>=1=|~m%X&IB5QAX)$cCUb5?T7-=JT3Xj!%RNBKPldZm#iOR~S8
zzxGRg(~(%&1d*uJ59^j1`X|aTAKU+RtxR;R(u65SRSwDPZ%uV`JKpU6WKVUvi{`uO
zUprVT)`xODo$0o6$AQ8tiv3Av&OQ0gmvcxf@>lgCuE;&cXZa0IoOMy&zloPe-|D~w
zZO_E|ijMfV)|c+cy}!-Q+NI2Qi1)0~dyZLrf7L_|-(_s$t7`0;zvZK?)V(#AmEz7T
z|K%(ceLh8RzKs0m$s5#nE#AIxiHqZs?oR2=MLT_#{d5&CV9Q9pAOGRFS|B@{pH3=w
zxBu%0rDxCIN@rQ|clR`_k3TNHZI-p~YgIiSyR|MX^KE^||41fZ(Rp%pV(z=Wmp-2@
z8)fEKz)_xL&le_mE>O7eT5;vAbOi>ZyxV4e?}}HHChfl>sXjU6+`=~r7v#QORQVs5
z{J`4g<0VIh6u&I4fGm~U?=P&j|HQg<WsCNTJNLB%tHj@i?3P?Dyd;U;JpNSv{H~UL
zd_6nGU#N1qrU@^pFS+&0@PFXF2{ym4?ACm?|BZFs72RJG&g=Hbd}+P$w4N_?byddI
zk4y3wX85q4d0y~*x$(^ZvM*v%>YTR=ZEC)n$K!SO!ng7Rtj-sDqj^`B&OCaeV9SJy
zd^4&zgF-J)SzS5h|GIBGfBxYX+^+IZ<S|FeioBY(qv@^dWR2EwH~v^%ud2w#9QcD%
zzd<&KB`f%@g~-$Lgx&`G;!b;gc0rCFo2qydD~-LmHLTK;Z%+$ON&W3LbDD8Pg81IY
zJ%`n*?CWIW=4l%?erUS3!;w2Hknih6-Ps?{PX2jbNIG-7{JWO_Uw_YNp2Zy~&Yr_D
z)81nan<|UVmApwF5nYyw3M<3Q>WvqCH*^1TrT1p)Jg1MniJc#I727S@F8EhQc#qQ)
znF(I$_u`ur^72=!TxfIPmP)Pgc++<|uJZ$L-kqPN#TWe)KW3<G_~lg2qZ_nkqwB>L
zla~hn>r9BX_f#{m4cINU>!rxeDw!EITh&;K-0w6cY`Oo{Jz)MJ`zGO2b4AZ=z4oep
zo`yj{l<z85t4}k3Tu<L8d#+VtZQs+wkKY9SYS?x0@4@IBJpa!BmROc08hG%M+zH>W
z_l@`R+nDopo|v2^6Y2NPyV<$E>xe+uf%4tY{Y6_I9rl_r)joGxzOMJ5iwi#$9zM?E
zy>DUKyF~?oZaI0y0bBdHdxh%vRNYp{{%Und@=JY>N22tHsmeaOY&R{p9X(pTa@*8N
zTHM=XpEG~oILmY2oS^6CksiuRA76cvyKTy@FCjs{jvP9~WOt}uEkU@~t<<7}FaLhx
zvLz?_Esup<_TbBtTsgtHbLx)^k8UNiR<V_cI2Ls4#hxv@5<Eru%BIC9s+G*joZZ|v
zTZn02%DBeCS${F>{6)p9Iwhy(zweyoJ?Bhc{<dfv!BuNnPN{7DR6X(DL*GyJN2YzK
z`><N^!>z|M+G%B#Jb%~v*qKXfZ2jXgWk%}UV3!~Nq7TX%+<PJM>&{ZQB~ex1L|lYd
z=sb9vTI_OP;MrW!etu;ux$2f*rw;_yPn!938gqjJ=WX}zK1(u>)^Gm4JY3sN($VYl
z2Q|e;+eu80%Bew03<m|4Ot@&b!EEa615;(su9&6rl5=0P)|vC-b1cmBG`c^(Qsge4
zUHPxmG@|`;n$B%kYu?53>k}WoQM<&exSH{YlK0{x%NRBFRwesv_;We@q)Etj3G>at
z^EYdseQzozzq>hop3K+M+g~o$Pf?Lvl(~OGQ)J7I4U)_ETeUZQ*9&#r{;thgGUnxi
ztF?<}r>|PPgguk{^SPwP+?Ovu##pznVQgml(s#PPqcmP;2VcVLiRG_!mixPZmpV~t
z(7+wPSnKqbISuanU;NS&bC~vs)#ZSIJ&(=Yq}JsxoKj?V{(CUz%d$05g7;P1o~^96
zGK$wpsS1`dd30iychpMDNp<xMT<0ELcI^9FAr+)6%3~_BTIDH+>;&-_H$x}PEB4}-
z{^330{|~|L-KX3W0vG?w+^((|d+5ACZkFRC!7MZPx7W8RS-szIhmliS+3mfmQRj<e
z*6Am=usu}WmXf;kWpkh9?_a8RZ7h%Hl*c<a)N9y_)-x?#_v}XOt1~Ulod@5}*JpS8
zKf`ZhQ+eK>w(eHl<);e!twgFN?ysEY(Y0#6@V31dK3sEBIGEsabO&F@UmY7Bp4{zP
z>%RQ(l-&Heb1zG}s6w`R#g>cv|3uGgW@Y)c{W{;GRLg&&UruCav>z$AUd2<#*uH@^
z{-hv}c%^s!e*+&Aev@jiZBY(#%IveW9r<dtJ!8*)b({Mt@QbN$aJxif!QFKV$L6m*
ztM|Uw`GSjj{jzO+a`%i6&z`v9!W)$qZlCo$SwTnmk4oCEd^)2sUt-(Y;2Day!)@=*
zl-}}lZJ+A(@WM56ORw{pzPq>dfqcyVb*i^|HB6kFUYAbUwX<HbhyOzNruLpM{`=x{
zc4^Kyo8VIIz2|t<(*svTPCe6p+Sgnw9DlR;RKYLnW8NLbicUE}F;N}|n_G_jE7-Bm
zYPqNMt>P`Rstz;UQ?48+4YSC<Ev?=rZ`oxoW0ilJ(fsh*hZpk?ge{Smb7-C~cQSF~
zu~oB{1-)Lg^QVIrTYJTY`cpm}Xa8B<^lOqWI-2vnGBC#KQgGS&_m@uaYNnYeJ(7tD
z=eF^zI#HFrTTi^=S*O!7bw!&~JbNcO>@#&anxy`0et&dIuHL`9>r<ZBN&j5Zy1w>U
zq2JyJBeUOgrZAl~J)-xAFL+*d@uyuJtJUR2*R9{8zgqmBkH!5*VydO>b(QrGKQBD_
zNX2axANQf;<Ler=mdZ|#@%rI><CfWEwT0TYOI;Vc#>QP&4fA`GxM=r=*V3-v^nP3Q
z)!v`fR(&?oVA*%+>6(ws-@0tz)O~VkvG=Y+5juI#KKADaR9Ch32X4qaa(@0R5&!tq
zWc~fAd%D{r*Ybb=U~Ks*Fnt@>@lJm>p?a4W?F(`n_A`E(!1AM%qqieLD`ba$?%_t3
zd8}m*{q0U(`Qlc!qw};<XzhX9vo`zw{BlCd;+>B9hvh#H|Itx3{t)@@E5B8Prc&&Y
zsxN0=v|c>(GfOsZDwk0E>aqyi|32wkeg|v&CsbYC*;R5bMzS{R>UzJ#`W>FUjZxb-
z@BYhKe>Ak+X~*<Gs~VG!o$U&KxO(cQ-#=DVX)QlzEwcOPx9NNv=BFCflwZHM);8qM
z({pW0eRdTY-S!EUxZ9a5xLcx3A?Wi*iK!DVzPYc;$F|i?&+TLW2Gw)?CnS`4FM0@n
z5d5&xds&^!^R}}wHaD5eD&>1$R8B8S4qTIykapBs;o$N5r<0fJ?)#C?u=NdVh4^&^
z*>#)~riEp8e!6$A{r;LZWARvdvA>627tUpQm~#7Bapaktv|6>bkG;xl^8(K2T;}3y
znbgPXcX3BV_x2dZ)a{H)pN)QQ>G_bifBPq&H@Ukw=j3rP^Vmt=FBjPV<NI9M#Vd1G
z_$A#^`Ryw1?YX}Eq-wqKgqrH8lvDOS>KvLgX4Ht^+5da}@@oO2R~%Z~4@xM@Z~ph_
z(=7L7#_!XVUleH87AZgT{9VEJY=xQDP9@E4FZu2iPoKHEB>JcCf{0uGe;ZcKm1|_&
zZt#7x=X7qnNo5na>;8H^S1qTzWL}4X=gFBZLign-CCv_9^4o59XYQK6>+5exOkw?e
zaJyfnqx8~81>Sa=qF1WpliTI@^Bvf`UiDkJc8H+v9=10b^IYAh?7H;4wz$;UFmL-!
zS#FO0X+KJJ^M09B{A;+z9mU747p#}%DQ`71(^=Z^l+{Pso<PwL;mId1=CT?I{$x_F
zNoCqM_e4iolfT7J9|@~=$vwwDuZgVhin}GPdQa!%`I4~sco}P^oo0*DBXYxMZM`O*
zc4FE8TZh>H-uk!e<V8`}2)<(p?`CEjoW30|8F9PnspheA&zzqhW_`K;Jwn}m`xJ+{
zKI{G-kY)Y2@238%=oiaN^NSs_UNqh`(tp3|+ZhIa`Tb`E|CY?YCLdMf&v2IG&lQzR
z+-vH~D;}|?=4h|)GGh?hbJr>>Uv9yrdCpg3UG6@<^khX`(4i@=Zp|EXzHq$x-|%?m
zW^Y~g`pU3H8zlZu+p=rni^;!@^Ly>qUYuCnC)M+R@(1JKU#1&HZ^qmF&1|eqD3kbZ
z8S#8oajJEhLsRwfzM9acZS{99H+^S}6-ky&z8tzuvi^5=zfX~n>jqb5oj=Tb3aUS8
zi7%F2mLfTcIm_VWNrAQcL6sRsRWmNPUtXyF@qDAV=i7JBo)z-8{W|wHqWI}e*_Riu
z+<wBXa`U#5{I$;ao8Hw;TD|sl$<40YR{~w;=vU9<?d82_UXhuu+V8=<WNq(**^+U;
z)W2<c)cx^bfQ!<_`kXCS+IP$fW7e6h@|kab(o$QQ{Q4^v)q6B0-#JVc?PKPcaqfi2
zzKpltQ-8!?WHkL0xZ%^<)WZp{iW?W&{C@q5VW~D#YPnt|Q{d68$GKm2N+-E1+Jz=^
zC{OvVvEt~#DE;GG-EQ{g&tLF7^~mKNYjZEpnI^-nzPF&`yV1O}7c*1qeREb^kXk%n
zCAi<f|Dt!k`36Z{L2+|evlAwdT}!15L-Lx%BaDLb|FoV-KRVHT^Xc;jK9=E(v-Nmd
zHQjh$2YvW-ye<FKvZt;GIrUhN8h!eq)paz_=H17b!e?&cU%MX5xiGz*trgQ!o0ENa
zmSa}>;e+?&q<_u)_D?ulm787hYQ6D;`6=(D+5Gb_-JQ34i{#(3$^OeUJ{5|#9?v^^
z;hIR!?YGyqR<BUky4L7fA0RyAx5>0~?`}@pxmYiD&WrVqYvTVi2}_={nwKZ8obC9^
z`rRHgj{DPC>w^A0JDg|gKCSPWKa<k>hoKrZHJ>hvKA55GaeLaOSbL#glG(D+cVBxP
zuD3h;TJgfWtRVG_1+2}+rNveeTyf&=EB_r0aAQ#ISz*HDuB~}v#kEuadycMd^u8M=
zaY+B5<;3|X&3Mi=$yl%77WkW|w?*#5&j`LuWhUY2zgFE{`_@Q~OZLI>3El1+iv|Bo
zD?Ik>&0TFdM$@dVjVe6XHT{3hv-0|%^>gaX86iyddquCQr{C}me#Y0xc{#$H|5xE{
z-kHzq7Uyo^+xvTB=LGj_9Uou2w8t-c``+V?-UZ#Wy74!U=Zh5b^GdC;_-I}yJw4F3
z`pHLeAKpJ%C!d9jG3|KpbLIMnai6c2#+>gtTGFQW>dIcpiT|UG|Jg)a@D#>P-gfx`
z-`UlMEb7g=k2vbLX2zv_T=J&3V7>Q;?3jgqw|H$&{`b${s&3r>?}3oQE&XX)Lfn&c
zlWndv&PrK*Qf<S=-lKB%Rwp;~ZvW9Ml=}Y>Phs8OZdJ8_Y{^U4I(F-9>)8D@{LO(9
zOF0{<<2`c!UVmpuec0Kt@vZ6pTk#KAgD<TKt$fWr|HOJj_O;Iij@1{e<;Yt7s{VLo
zNc*~1c5W=5E!X}^Pdt&`)>i+V<*Sa+LWLHoP_Flu*Q54LN{q;f5_x9HyL9F1O3TZ!
zQrs^emHnK(+cWfm_n*nxdoL_EWVybijLmy(*mDc{*XuU#|GB4#g{|6hf_N}vc4>HE
z|Em2wjl2_bnz_V3f2lqp_VV|K`W#_1_qm44^>;<K#@7GcBDCX8%igVT&MEbueHYNS
z>vK92|HakeOEdHIJ#KcrIiY#+OZXi2msTdBF`XXzk7aFm+}_Fj+HzE5*>!Di*BwV^
z&41&;C;L8b;qR$=k;i#0gHA1p3j4t-ecr8Kfip|r<B)ja8RoxkXJX@T^nCf9d#|g$
z?`q=t(DED87Fvj_MxMVFkx*6lSR%8%d_h?wpFrU2<<dL}?#IjT%W_J0%(^9Ett0y5
z^nUMue|{_UPw?U`e0}kw(9MkdCjI{=f3$q~Q%hmjXS;~~t6H~id0qSNn9QbYmaE=h
zK5)Ezf8OGVv@=mF4YjMg%zy5EvFf2)ZU0)srit}e{&SVR_*;H&>b*&i@;UVMRUcXf
zMVvVBDD%GYrPyYkrt1qN<U4ux{I=(GJYsfsrYSc&Yw*R)?N4T?nsYHF3Vb=RrZ)Y)
zoXO&xz=VBmuN^+dZB@vK^q1A#>a#02JzG5fjPq(H<(aLEmz-zFmX<o%^@ICYp06I?
zeuhgApD!$%Rxk2-?exy7HNO>@3cmk&)lw=ib=o@qC%fO$z6Ghtd6G+7LN(qirR|dx
z*zBemy1!CMMM*`y`ETKTR<8LO^Rm8AVYt;i`HkKkfs0F?%y_paOyG|b+hn$6ex>`h
zqIK7!r0>0XE+4HOAaf(m;_{{&sXy%WO*48T*R{@EALhCvvS32JsBuwXuxZx&-7zLb
zb3TYxpO;?|(zuBu=#R9xUmq9e^z#ei&OT4r`DR_&YJq#bvPrv+U#ot2Npr&A2`l6O
zh^&cAR-LdQt>(}Imya8lt*^73H9?^3&}YN0nCjVXPqGBP)jvO)TXVg=QhK)HqgBs7
zoJu${A;9d_-}T#77f&jZD7s(oBcaIl^Vg--(NXJj1uDa5%;4}*y~S+v!lvV+OUBmU
ztnZYZa@SmDscfC45cp|g5{JQ^seF%Z%C9yWwwA2*$YEx=<?f?<RhdgaH)z3)UB9!J
z%<mNYo^avMSN$T5uWSFE`P$B|t9@Jc;4)Ep6OY*&m*_?OU^fbT^JNk{|Jq9pW%Z^~
ztY3ZpFa2o0rKjuYQZ?ldVr||FHZLz#{eEM@jfmd;$(_8v`$g)0DEbOH8SeXiPq0uy
zWnt<|r4RbbFXp5kd=bd6s~*ELjq810>HX(B*#i$Ga_WaISvfCx)|rNDQ3v~F{^qg-
zy>jbzULIw0r%IANu<4XTN{2-r`=Z<(g?&5g@5_I+xG8vSR!HgZ)6?cZ)QOV_vTa&k
zqE~g>Yky&jdh&u@m0KHM^KCa|HK|gHox6tnQ@89gv!~~OZ(O0Ncz3?L)a!YZbG1?>
z|MYew9o_J9)$@Y*1kKRS?YliZH>`NWl)BfNJ#zJ5*V^XjkC{Gm1=nrAw3?x0f8qpQ
zd%1Rzx{UgLZ<pT>ef6$2-v9Zuq~CdRX0<#1AD(3~X~v{|H*2-#{9SCB@l|@xj==C~
zfy)=OMhQ+j``hf@-i|ZXd`p%unU~k1VC;VH`++Mzd@>Gc?s*}2yZ1ud)91DdckYRP
z*PJZS^nKIa-TsS1s!Z!`m!wPY`Wv>=E739gtV^$*+T3ar2JiaMd&*9$nSDOKvV3la
z;q~pU38q>Ta|LCh>KA#PNw$}pb}vJJ-Skf%O6GaXIDbw#khMF0eO*@D+9_cfvm0IG
z_uo*Q#M4%8{gzRJ<!5^Eiiz8=s&mMFJ^W2g(nMHn)z2jh-M`GXKa{uOWo>rz>I?bj
zY|dEBo_ELRWYxnBvfi`mLhCn#Z?08!<2%zQ@`lHz?5;-aC+YqT<rZA~W%XU(8|6+;
zD$b6|>sXt2am&_-qaK=Dt!+*paNsoSUh5GioNz_f=&`E#IyQBA`^<!G5^r~`%Z|Hw
zo<+F!=+e9#?s?A^Tcy4F{$gYK`R4_5=AKpM6My-38b?Ni&6F+qAMH47_4ci;-=m_q
ztn~cjuFSUI(m$qtmdiC>A9`!^ffw_t&-BO}EGe>Gv)*4~;>6Eli)%9YrIXiuWHHs&
z?I?azfA_?RnU>%DA3WJtCpQ1_WZSJ88z$-1_WiY9%U}IXM*F|+gUa;>6;5YFhJH8n
zm1_%}9BtTqxNOSzY?gPv24bHrMJ|a&cE!}cSK9v~SF!1V*BN==i3P^|$2*w<X7eb=
zUS-P_x#*@eYm=Ez=rN`DizZkkOiT`GUCm?1D3fL<#vHExO($;B$=DyVxd%D2!_M8g
zb@CHGr{U$cz)fW~A^LCURcuxhKN4)UF~jKB#zR%sovQo~)>Id$+4{H7_d3*e?{|gc
z5vEL~dSxD0HBDZr)Gu9?D;3<9tKGfN#B$$TOoR39>#cM4-H_k*<NE35FQ*lcXqcKc
zF&r(G4wjFpH8uHsb8puE#+eJ&IlW(@WaD}@rO&a6_0$qK)g4iNS*z!+(B7{i(=>VG
z%-?q(Pki!A@$b4d3;#H*pL0<&WqtOvpL0K(TW?mBKFj^7{^g5*+#Fxk-`-!KUbg48
zAL}xOV-I4*KHQtK)SP`nj>|rFFI%1Pm+emfIQq_|Z{RqRHj{Be$6nRoe+gy#zo*>X
z|Mm6m>Px?4xbl9!YJRiE;p6kwiV<rPwkhj!b6<8nv*mN~FOla?Qs&>osw$kmtvSaU
zV3I0yXv$3+v8N3G{nqEy`^z#p#Xqw)4!pN0>kZeLkELlGQHyp*+{g_T{<I}5MDuFc
z(KFs$yZ_!>T>LfXbj=&zi>#M^*d8z5fAV|qyj9DtwHoSdw4Jx~x`a=w(r=;Qo`fT8
zIX*j;#T61nXD0K@np(1NxW3fz#^Qj37NK7?FUqjnoYeZLYWu}<^EQjiy))_^>|QQA
zw}#jL&ec0cLEDoPZ!UZ&>BKla*7|s!;b~6onaiH@+O9CZb@e9S&*OV%$Q=0f;?G@;
z_wLopmjxLxZ7lI#{loEI&I;iG$Bbo%8G5wsraeBL&cUCq-NCMLM{%BM`2A<xewQyq
zl$~zKyP133WD1k}^h+1@!kgd4*3?#-Y1hx%|9Z=kMWQyxzA7z{{m68tFXZ_w)-74D
zW#9TpX#N&=(Wnpl%~Y{3M7Lm;{y(lBvlTHX_j~0p+Hf|&vc*c(zIfj>?(@4Abjv>|
z%ChS)TRL^J($$#sN1cV+T4a=7-7}lq>%(SrPvFX3=XwpV@ESk&_%+Kob`^Hm&F8Ii
zz8ZI{Uh4AK){pbkt~|egx~XC7>(__VQsaK4`*}q8+MU!ey?g!c#^BWtE^WWJn(u|?
zB@qUbzcH55H+H=)<gQ=%uEt-O)uJy%;_#A?*ZzW+_ZpmS%uzeWqGo28-&%6a#Aai2
z=U<ObLsseiGMq_*4oz&c%f-qyXDd96I5T@^`7gJ0JC1r~Ti>$a6}?^7UZMp7i4sc=
zoNjqv`d;eSf`z9VZqG~SZ58_MIjQKltllcUz{HnklG8-)?e%H>mh1Cj@!92V1sP?l
zfBH#Jeb^GSpu?fZO_%$wJg?1##JzTVH=O4?^Pb=E@Nt7s$A8oNzkOy~rg?m8seEd5
zRo-*oEmL1R?P<6ZTCZ{YK<B@yGhaCU@iktV9KQGV=Beg+GtG(<B)`;1H}c<0jg9oZ
zv%W33bXOaX@l)1)b`~2wO9D>k7yjO|;@$pLj=N{RRC>7os<1?si|78dsBH!_9L{$t
zm0g$m{(Sr1s}pT(Il3#?p7M6=(3R}l^1}1;q6eFq*yjJ+AoS_DajM<%dbj&u0(Z*h
z*{fX=JGkmq-=pMBKfHYn=6cx*9(w4}8T)<n^PGMq9ubB^3Ny3V<+X3Vcp|zoU*)Ij
z%ynYSMQWRTKlpCY|Ig#HF2|uuxv}ox1!*aPqDg5Nd;7RVgEVJWig9-?Dc+ENe{Fe|
zt{=DJg7}!lt6p)}Oq=}aT>4ZEHI@2lr~dtXw(Xx|iBr90@;{w<(dV2}ukLT3-*J8M
zB!i-aj;S)bob&EI`efR#KVy2LA?u@)7hZ~0Nc|ALc#L7<*GJ7&j#?XbT@(FxJ^rB6
z%Rk3df{#30bd*1_^z%R04|S&|Sj|uDIDE@@hUBSC&ZLsPI%<+0x#qj(g~-(Ik+7E9
zD^tJEN_kQ1gXJA<NvDq)z3wdyR0*iq^V-iriQ}Y@<NQ0?;^7kmcT^SMm>j+Cw@}?(
z$IfQOy8NbVw`ZliJMO9OSpDtqA%|zzJdVYG(bmh#i_g35ys~BI{Kflk=DyCFJmKi>
zNrlUw-&ejO;yEMJV|}m2v=r4j2}}n{E^6<3wOK>$V12~V55?E2o+||hTQVOMm!7qT
zTXu@Hcfjth+aKZ!o_(oR&CQUI_Pe%gi)W=Y`;_lWPdm=pGux>;?DOqOKcpT0+vRFj
zPR=a;22GZdbzdT{&Xm|&$Q*Ze?iQBC>OWjVXT8{P|IIG1zF^_W^EYKV9R3(O_4K48
zK2MB}c}U%JS|T#L{<90y?cBVsV^iZ4W=7sW_oPna_hf^83r~qAiGFghi@Y`MH<L5R
z+htd$U1_OFYt5LMt`~YHeM@=hI=in%#uCX(UIz#2aOyGEe=3{jvMkiXCH;F%M)nVh
zeDTS4rL6S}&g&mEHK{pVY8zluSs|Uob?LOPW7yjFAKq`N_OFraW3QLGdo!=;TGX?L
zX4e`jg;&4wiCS@g<_<Z@2?=xFZwnRm)!lcuc_XLf>#IuQcVC}){~_XTg4F)mit6bf
zQ<ajv9+zy}yRz^N|Na{JNqVC94>N_HKhiVNOZM-P!u3U}&MV?yhfeq-r*>QGuhZ)z
zm)Umj3R#qOg}K;xlYimfEDjdlsQT||0ylmOYb8ys_I5ma)ANjqKl_B>RkgN{*|+Z9
zGIQEl>5h_%y_^;EG)t;%|B8N(=+-&%Z2H%r0>Q?^Y0Q6Kncjcg`Qf^S>aIUaCfAB3
z{I(C7^RWHOyZD~`DZ&<0ewtV;p6w-@n;5y}YQV{?xr$rQu6}uC@AEzDo^#BqY`VUy
zuAXhfGxjYZPu;m6nmxUJuy?z%kZYvokCT-S7fl&I@45e2W2%;m#MIKeUsDsaBZ?nf
z=zAn>eyr-<J?o7wWe<+6n#uII!~F2u1(WM6pT|_p`SmhRr}(n^e8ojh@u9|(<rnO|
zZXT!>>XO>7YrduLbI>F1KaD4rNsCBS?M;2e@$*+?J>y3IdwX5~tGtW2*fo1ovWMhb
z&UaIznw5%={npsoy5$<jhMun>+;(Lhd(*pH{1->0vj5hWn_x64q2D#{M|k@)Lxs;}
z4_2+<;OgG8M?pd-_Nj?re8ahH`3IWc*_De^mi+WQXlzumszi28uBNa3_KMqyI}+u6
zcN~hD7t{6X5Oe*VleNF@`iS1F{<fuEHR>WmL+ZkUm?MGnO3%xm@1C$yX@adGPuQgM
zG0k~5#dV$@k6_&Qp+jM>L)@c2$;ztuwcmPvWjf@`Wh(P5nN_mxOwJ>vh}m+}_X-`@
z^6IOYWytg?J)HttZyx5vuc+FpV=A~qZQ-W}`~ECiEvppIlATv)UC&(ZkXZ2RYx?n-
z{;yUmEjp&;`!D>vpAMtN(u>J;zaLF@x#}7`TlvNrXBEi_YYX>qbU*yhZN+r-udR*d
zQbs983E|fFTfcwdH&~DpWxe}F`tl5JwcZ_TC9D3G$TwczJbB{&C*Lo>W}72+)n)49
z<%#_4OktLnEA8HkTidRg^1SI^y@lR}t{e3Sc=iN-nZUB@#O3!FveT-y-|6svTUL-^
z`AMw*|9<0;3nsihnt69i!`?rv?K|=?_`!lFR~NHCoISOn=Yw7GVeVCnk1#3kIeobL
zSHZ(2OW*$dJpIMmFR$)&nXcGsUG%x>NXYc;W;2J<w?A$a&0Mu|Bda7=RKm1>>XBhg
z^@o0ckW6kq|5yF`?z<TW7Bgge2nJc*&EH&_x%<tDRfjV#*Gm2<bciXpf7`b6__^@9
zxV)@(RpBYWZcGid4LNQ5C;F%M_CBxMzh7Kz`OJ81U)d=ezE7b!2@Eo4<J{Ez<o-_X
zz3kT0zW!v0VX%R(dPf>>oW)sRHR}sIWP_~MntiSRYp|Z#I-BPp7u%XoNsKD3iAzjB
zZMeSSv{T*n|3#u^t6uKzk$CxRLG?nLm<wjIpZZ!IT0Nuc0&X6PUbQ{zr}y@bj2D$w
zi*7zxcrEv8(4)i5#${H`yHp=8z3^n$E?qfR^@E*{1Anc#Y^sxW&eizmRi-l+SN5Kb
zeZ1o1#k9y7e`eRup5J)DGI{^n^-p`J=RGS<^O>|L)ysaOUDnrMn^*I-dw6WI-4NJn
z=yrf-n%!ZI1?yBz`;3+xdGlkQaJA6s!Y>PVxuzVAeEeBjX0^lil*RM2J$01ZMQqBS
zK3Jg>#gjT~j%CjTkBd(CEU)e{zEz^5!oG#|Zs7X&|JkhExKi^{il<*U=I3KFH=TaK
zM@)43%XAT57E==w%jtr>!lEo@2BxOd7cxp{)bB_xN$uTaDs#K6Y)#+Ajc-eG-l<rZ
z9e;OY+r^E&eRntJ-ahwzPVv3!cRP}6lK*O6UlaK?d9ACfT4w(9Mb92Gq@<>#COu?b
z;k8O@V^P5dhKLzA1Xrv$GN<8~o<g;CVY0Y_zJqWETL7ySL&Qyn937oC93c#b)$IK0
z6Iz#YH(aZq^6tJ{LtF1g$rEBvST1bXzOkHnW)#zpyLaxi+?^9Ub50EF%zvIitW1o0
z(;ONsPq1+a1P5K47C43Jf|uqh<|Pef4(iF$4VzYX@}3Y;;5TBuWy$=K;n_DohS~o$
z7=o*<jW6ssur&TF-7r`B!pW!d3D5k#ZDU~NG!^tzbv12hsh8M1OX9$db36+AfBkpO
z?KXaIf6*a0{dc|Zcisn|;!hs?v47IZ`lbJ?=HB_QY^b<l6Vn-oWqJ(43s_I^HU5m>
zbMnT_+sr%uC7TtO{*b?J-!SL@LG}fI+nuc%Brp7#pAjxC?V22|&=7X!-nD~QSzoXO
zY%piGy2%*Q`*zO%#3P(3^?U+bw;M8h?AXol_RK%mExjA>+86)zXH1Ts(0lxUe&>I2
z#m7m1_+6FC#Qsk>_2Ycozg!ke@1{GAX{QvX*MCdM%lXV-|9@LH)Bnv|>bL&!|7Y*Z
z_+RJtnS1AsJ^sJ-Px_&H^OR{~!P7#nrTuuH`{%Z9VtQ6S+osJ7D|Y>H-n?;g{mpvb
z|7F_J&Hsuc7^eN#{hmMfYketevbg#LYlrErFXN{l{<Qviy~^MJy+Wc}%fBb3JblPu
zuxWE4W5mv#`<W{uDr)}m#{`F~t1p;)dVl%H^E&?*|Nnig!J&MC=Al!I_G-p&2+b<?
zn7Q8NVTq;5;V(-jS{+u>{&DI4JMGw#3k^%_XFmMLdT_0j<2`?sM=KeG8{dA`oq1cW
z=y8O?rH4OUL?UPWQ#x2|=(@8t|Ld{UUjMvfXB<?W!nSYiN~J5IKYG1?z4BUM^q0jw
z?Of*8HOVU(c8O$9x%mEDT*j8OJD%>Ww$`+&mFnS{>#y=a&sp@=mZ$5RyoDD&pDWsN
zVb6lxCE8l`HO{A-HZipS4VXL0Ea5_Y>ZK2Uor$^gPnIzSWj1;q3+v_;o0?nkQ<nep
z8MoXSKfkzC9IWV4X7$y7yE^nJvz_i@y<pBCdsiqv7wA&Gs%6XK^4UJ+N?16Lvyo%Q
zn!?v&nK$J4H<aCc_)2b$nq7TByH1v*QC*tp#ng2>E}0rR*XOP4ws~ElYw<A3V$ZpF
ztvmsXLT$a)ZP{lQ`N?zt_Te&rbFf0pQb#C{q59{Mv-#UJU+sHpc}Pii-z$rW#(#`v
z6tC*?oz46_=&_2Uv+?&L#qz^)mL9i0dp1w6FYL|wYv*UP|NJ@Tvg>BMBR%#j#r`_B
z=+<|pY@G?`7x(eB>AKhVCz|A#iF!DGG&7!H6|~G=AbyMN8k1I`xYC(UPG>8&<j-NZ
z)joKrsQaQ_yrxEo;mNJ~pQP2_Zg*RADQw%sO`9DL9pqN1Sta%`JeDna3&Tdcs_A^j
zKXY~7e3}^AC>Zm%?Q{Q>HG9k~|Lm3!jocC*^1S`G$R#DA5RcyuFE(#oTyJ#r`&w^t
zu?q)EMUF)L%>5Q#yYk6{`xBUcf9kn<=iny`FL$54E`^g%<s6%^*Ny#wNh<TsN6B*!
zUD|$r{WkY+{;DcB%-eg+TG%A2mmYQZ{c+ZoQ%p*k=W(%Fy72D0g<?lpZ>(|OzK*Yq
z(I;9!M3e0n^SQ$_%d48VAK$%vf3BNby=rAp+|7rRWWKrYh)gliO`o@zi=nYAhG#bO
z)kuzea{g!3^O?D<?+Q*jav<Ox%c~OU==|8HpVuDRcZq8olW3vnqYa1VxqWUu+4Vf(
zj+<?pZqNLtJI>O=+%X%hvS!@6`z-M2&y&xcizhmM4Zogvv*<qC)(QLzb8=$b6?-$R
zt~t~jz45HQo7cr<rFg4pRl}b!-b8`-?#b?ze<NPMIU~ptaed_!+avGRU%esxV$)fU
zNkwl2!z9|JZPJ-;y2)GbUH5@)QHbK1i-9{`;&=V=&K7#V;%^lHwLdLi=A7K(I8)~N
zA3wH3Y6`U-$K4)seLeIgWqI(oOA`(~XuX^&w`c`Rv0A;1V@CIRqq2hqNostTw;KJ;
zNMsB-Ak}OyzIT%5To=Y%smb>RE!iLLar$lJ;}G+!CY*6&)t8c^Th-^bon2tKW9!#9
zQg=3rG}_%rpSClc!S_>A*5AikPdkpO`J6kV8#j};aqs+BQ9pM(?}_Gie}B(#&BCR*
z?@9ur9;H{^<Gl7IyMB3A_x%|&@7b>OUsIARaG+sw+swk4<p1U-^Qx|Ny?J<V`^7(7
zXXJhDGL4J-6Zy8z-|%<H@q6=B4<}v>XAI{Ldl9L+{-(^CYkna!9jsMtFNUfGIT}CJ
z5xL_kw&6`AJKz3o8-+Y>`de(*@LWA(hF4~%wan9f8>2VOeZJ(xe37qj>TO?1Ze_XQ
z;@PBe_QZ=%J6+^gFPr)H#U&H2o99H{eYA9c*>`4gLhsf#(S<9dFI4}uU%IGB`?-0X
zxx(fHKV_#E?cd0r6UTS-^E;kwrgD?2yzVteG=FR_IAyWWDE_&1%`{Je;}N$cpK7|U
zJ+R~Ez5f^T&F*yT9o#SNDcjj0&ziNO{<4D?hvWUJ0lyT&53?-lFH#XI+c5Q3%#H({
zlNX&@o@iHfD#~{4#634sUrYNrCNp*4;8N2L<*!`jS!nJ3>*lR_c`v8kcN4J6-w?j>
zrV5+mEakr?<>fYhiTbyrY!Z(8u5AsuwZX4p@0sqZsmECv&GQpu{uxP&o!L3V+{t`C
zw`9HHnZ51`!khQx30!M62|f|3`kMKf5c^C6y?+mmo3!(9zGYlBC*~jfm&jEU3zSb5
zW=ix)6eg$4Ivu#|)`>%_SVf|&p5A++AI|0c|HSrkm3f-k3b`Sx4qP{%Gg)2D&)Pt;
zWp_x$DMz~vbLK4SFO3lPl&E!dF?w&mclwPQP1#?|>P^Ew26755k96;!<IMaqM7#39
zqq6?TtitbqUfQ{!T1+U;K7XQZMC9GvkJZcMcsfMWSq<1e_h0!m;T6{*>sy^iRkL{n
zZY4Hnr5&5H=hQ0}w!%06rhn)U2>+C}(Z1ed(s4%vC9OpJ?4)Zi3(xw<UH^0HW@n;`
z^66y<wC1P1NLX86vY@=JyCvK?_1^mxU1oj7{(75cNV3fkEpK0Pf4#F&@&bouHTjRx
zf~NH?wF#f>W>viSsde3YM(noKog4PtUgCa7@XN&KFU!+T^jZE}l-HD~<{ro;Xnx}5
zv3c2^XJxmg%iUM`{zWS4#=72;s_@y3+TN-sWM{r=zW(>=#DXV3kJSt3#9PMluGe<j
zRy}`(@5+WbGCRd8>Si5ToPRC*-NT!$A*)}Ooy`_AJ*Ox3$+X}m&#y=K>wl^0SX*>U
z^*QFP_T)-b64eroKKXvl*O^SaF0YL0SN;;8z3A2SFN(XPW-#mhDHX8I+I9EZAy;S1
zt((s>JT@sdcUQl<Q2gfaxUDq{>)-G6N?ccX<x?2PUD3a1|M{h7haD<Ceo0yV$(IZx
zvu7oKVYA*HF7;_R;gE5+arw{Gmpu|~?|*i`W|s6^aIEH<6|>Go>;206(~5s9e7-&T
zucUR1`TI9{o@YM$=tpj;nJOrG!+8SFOz{l~FH}Um7yEyhGxh3=NedPpnt!m!;Qkq{
z`h`9$>vL3Z-kz<M@pE_7ytU6}`1SwO-yJKe7j(GxshacLX^GPc<~(7kh$-fLyKaTY
zn`d9XiZbnypQW;Z&1n7K2llPnI{JN;SGspxNxPEg{nLU^xl&?V*uAcEFXw6Re(5%8
ze@p8E!R5Eam`>Cm<2=4Qe71|3o|`87@*5paEIv2tpJp$w;#7aX+*DJmhwY{QvP1bB
zo!4CGO@1FZ`LB}nzwE=iT^f3e`~&_JJp8zk|9Ur{2WxuP?tABZU95s<T#tG?mnZ+Q
zl|gIqgF7v@2l50K_87gGpCET{+B*jAQ>WCovMxTfN#X6ZFVj4p)}AuC@78+%jQ<fE
z&bxh=ZKW5aO!uhQKC`m!UWK$><8I^Q-z!rhRClKScU`UbqTMQg(R-D|4K8Vys<-E6
zi?mI)FbG@{A2ogb>z0#F|I&?|W`FOys*>>~SZGs;S6U@oZGlfh*c+*9E{4yHPOkb@
zy7fR>;=wf)N@w|Z@8;{2?{(aGobS|8rENO<|3tXSDm+=UR`d7<%lg$)e@+}<t2Mty
zNY<RShMVEcw<l2#&t`PB@J4Y2TBwL$I;Q<xd~V^vd5fpMwO(9MyKT{~I^kJcH*WG%
ztiB<A<x0-`YBPgS<x_KZoq9brp8Y=?+w**Z$u}ol;=h|Zccph({nwSPu6f1J&nPie
z3&uO7EnfAZ)<MSp@zU2toFyTB^|P<GY(CPmZO(J8`}<=*xfX}aS!iw+r^fOBZssfh
z!^h^w^VZ+}!QITk)BF76laR2lcMeWAIJ!^x<g@IbV!|u(!tz_oTUReOpKE3J(qZlC
zd3BMckHyP)9=@Ko;)rXR!t1vM<$3xC)qic}5Yq@Pxx2~IkIQ}IYqxESmz2~MuJPPg
z&#-7&{eRu3IgH^uohIM?fBV1W!`cicrwhe`zKT8>2h;uI`&lN)mIcY2H<kN%i^pM#
zwZb;*>`(v0I%*f1@TEOX_;L7a@1ZtT`3-AYAF?IRvkJKPl6&8!oL6qw-~0I9dfjz*
zbqCX(cg;RmrilDsy8i6p3Be)D96P2??G^l@{B&>qyvb#aR*`>mN<S)hAJ^&U-MPfn
z(A&cBUO;-ubXN5zHxKtt>PxJc%sKb9dezFnwAZP}=eU#|jNPX_PwM2ay9&jL8(XgB
z-kP_+VtVP~y7FfZh3Ox%E;{a#Ue&Z_`;t?(jK2l0*3I}FQYE!+cmCI@b}aF;x1CWv
zA2@;2oUbW+!jgK<ui7FX^&4GSZP$LCRQTyr!|X$Oxm~+z8vVT!Zx*?DYA*BO4C0z;
z_RaJ}@A?;6Zx(d@nEO8L`4)fGE9Y4w>cYD63dF>gPDn4h8J?DUaMt%D%9Wi9SIts!
zeZHPC;E(vk6Ly`^2Vze(P5aLK(M9)yWmkE<{PgT6jIj-W`}uU5>aTKcpOP*V7Swz@
zXJQ5S?U)5DzbuLz_%F9l-WtJf6WWvKeV*yaW4Hb_E}B!OdVV~XzkZ_S*NYnin;0)X
zow(WQ-u}3C_gxpxxb$+$(XKo(^8m$bp$zU5x|VbsKX~w9>({Mb+qJCr*zYqu@cHfE
zuWU)T-PynD=kniQYMS=!^Ad@Odb_^`oZ1;&KYn?O=3C5GFY8)i-4prsb9t11di>9G
zYcDulFnmABz)GOn)nn(1xcY>*{`vjJ@<mR5ZQN~DyV{u6{rOnCA@frSV-i#5Ri52b
z6!;hyXSO$qE_%7}|4UopM^bOU&RQ}3)6Pd5fB(AHaKB<g!IsUMZ14I%&YLDxe(G+0
zQgPNUSMSel`+xW+wYLUX^~%Wy+>d1xZ~y<@mf@12d3``5f0dx%(w`wV>(3h>sqx5O
zwtxD>jsG(ad`Z(kl=pSL)~_?3u`?Yw9-2jGv7LM>5TrNpRqEpI6@N?;_Z{4@qj!e6
z<L-|JNiDJqcF8W<=bh~~W12}g|C`!fZ_-=mysy8u@o#5k&$O1fklUq4A79wkE~gmu
zcbewR4LP%qvKj0;wWMucP?$p2ch+C4A2z>vt#w*AF67}{U73~2-%TnG{MnWD%k#Z&
zT+@uZ^Rpv3j$J>`d-3BG`MOAV!KEflkNf6D@;}yHaw)Bg?evL=n3?~yq|R)+H8;y(
z2g~PDuN8eaOY5~3zk1*8d6AoiD=v^rG>GF?rAFTM>s6VDUas@eIH(YC&bF<ap>PTJ
ztKT!?yIx*1vs9Ed*PmJVXa471vO=HoYF75-rvLMdOBQ>6GycY8g*_+BF73N8KWRe!
z&69s5mu|05$a)}K@H9Ky@?GfJf~PE3@BX;gaqe+Y_GDeZsdoIG^)=6ACiU7fo|W~w
zcrS*N!$&$Otkm(H+utKI|5duy-S=kc<Nu@=6ELH+yz}#sXXTn2yf2v+*Sc*rST?y~
zv;UUYw-<)h1}OTU7CI~4<f1FmQrMfWtTy9K#AB@|3_)L|j@5DUukL;nsC<^~;f3}a
zZx3F-8SE-^{BL$F^Nfdj7RmJ=8P{wv%9wmE<io<x?-E43&)S_{s=a&rM9qpoCgb4!
zn#})>g}7cz|Hl+x%dg#4zsxr&mv^ntw(W}^JUJ}bayR)aPnW>-B(?VYR>yq0j>mOt
z%lf?**eTnY>?^Ul??Be&O>=fheHLo5IVrYvd(e`3{=2)LoP9a1W#WXjzkh$d{I9-p
z-uZubz5CU}_?n;W;5V1DJvMKF@YPrqk?t+QqQBW&Yn2zhiraX6pGXB0_p1G!U*}Ce
zzPwoT$t-cd6@Smas!rg%Ys-A(Y=Yh0r)gCy)~X%rd40q?)54|X)!)l9T^*O#8SHO$
z-oG#>P;^sw*zq&-Z-4mnLS^5g_phD3JSY9tvZ>!Wzw^$_e7;!jEzfIW1J9OLrCfh_
zJ=gH4!0p~{mY5d~hmN^SGA(%bQ{$4w(pFWz%%pGm%&mMa0Xjk}G{5@CT7|FwpgT=m
zqRu|PoUfte$ni_Bo_jh8E<D>8p1=B=^NCwej{Rgb%`mz8#QZ}<(#5Y2bL*}vRxE0_
z4yu}H@J4fGebv^jMons-PdSgs$Tvj(H+U$=!tr`$6{C60`4xY5@JJq)pZy_UfHUA(
zsHEpp@o#GPZ}4T8v^endH`SK0F7D^h)>X+0ET72o*6_G)M+nCs(I({zqjQh4R;;_W
zqV>>UkB(T~;y)YWzq5+3d7@(R&ox$1$~mcEd&zximn&K2U+Qna{AFCUAY4n&^cnlB
zy<c}&FEZoy_H6E+DcKj|6U(6M@#9kG#E#!jO`fpk35MmIKDD#SMt<_Pcx}hIs}~(A
zSY1<RYi1|3mRE8L*Y#}0XWxqU?U&_gz0z@YZV4~rHeQpk8INt#nRfdx)mYmmXcKt)
z{%8JwOP0PXp1PD@>1p-P`UAHl4th(n{gFM^`=saZqgK#%rk6YJWyYLa$)_x%@y3p~
zqPghm#;7h`mw!o_PhXsD<*`|LR@UeHg7__7TasJ_Yx)knpUrQ2r7ObrKt*Ql6a(H1
za-7Nn-=8;5+>kxHa6y>dr(=Qvdp=BCR~vbyD@$o+e`M^%z{&Gc+8?myUao)h_o9q}
zR`!C_|GdVZg~Prpo$9(!9?5a%XOGyi?!{S0`_9d(ns)c~`YZO`6WQENwPsJRe$6Yk
zjcZ@dMa2%)1)tCA#cl4B@n0DICQyIpm1iy=T5eAh=H`63L_FceJcDm++%v+$KJ5GJ
z7x_Z<`Ba^b2eZ?-w=bD>W%gIgMWrpRI`yRrUu=9ri$7Yrc_*9oG^=uP#;?>7o_E03
zt$s@0#~U-(T@Ex_p8O+fOR}yq>tD|q9dlD^v(&wQt~A=SNOYOguirPBo0P992t@K&
zh2`d}B#IROI3wLG8l9ToU{~@grS{gVj9beVW>;B#zsYFz;dtBhxhjhP7`&J0?&o#;
zE&98D7xVH>{Ht;ttJ`cZg)lv4O#8bhB;opBY0*TXNB1^l^}m|gRXeHWCtGR3-p$KJ
zXTRIpwL59`sgeRoq2qqv@8|F|nSNgA6m#O@iTz@&HfPxHow@L1CtL1=W(x*QrTF6>
zXKt^F{jqoPp6^oSLUR^!r0rO(&Smq$+WTXwmC7}~`Dg1V8%PN|pPTL*@xz^W_RUqk
za|{cTzAj-~oMv3OgVDQap`3b1mt(;k+q|o@8<dafZWVv|x>W5<<?)Oa-6>LD$F7O!
z%dR+BdH9jjr_?E-O0Oo*ofp?}dtOgzffC!t@Kqnq&MWsj>HNVt&nG=N_UU?&vh%+(
z)c)OG_mkaat<MX?{CbyN{%`VEupYT}T*&R5=dKLhG$FC|GF*$qReO@9CuQ4utk~h*
z^TxPI<h%Ne^=s_^%$zQ0x_M!hZoulP+j(Zhg)Z=YdX>3WZt0;_ey?=G7cXJVpDWn$
zeabOut7q#XPbjFo4KkMRPk*Y@Y@lCy?!|s)Ee+eg5ZknZN7H_FKjYb0pS0=UTh__?
zab5?memS{wr=Nb}mcJT2Sy5t6o^gjKcAVYUpYdwtVuM#AQu|UC<=#3ad*R;a@N?5v
zw+M^+-7?4*I5LZ=?R}24-n7GOdZdrVIQ$p76}C_Kx1;g5iVds1CK+)Yli==t^u=|m
z)kh(#w9l)}9XJ2<*PO5*Mo50rxl3p38E%|iwAQR-wam7O(;OyU3)HePd;jg-gU%g>
z>=$jl=B>N7c;bG;>6JI`pJy=qqI-^y_nJa{-%$fy8<+5qwWps=%9AU+q$1I6`r*P#
z{S_H^BF}J2T;9Fo<dV*ZEi303EqXcGFIL9QCu#mhv158~jbHgMD{WAzOTTcmS5-KA
zh4GAf=}DV3lMinBes||C#``~4M8wAN?rkbGT&A^bR#;27!BrKz&TQR-6SklHWA}7(
z#h>2b;|8~@%Z`YL%XbAweAJu9GU;oGU5@HT!COT>C(fDwyxt;b^y{Y<!@D~3nXy-n
zypy!II;~(6{mMEf$5O@JM(=0RF6TR(n&Nlw2K}0FRIuLppWL!FOI^5g&lNqsp{aCg
zPW-vo`^-E4m#&=s_tmVpJMYZi_Rd*)ta)VwyUG-SNt2eaMQPYiF*z*z`t6<HrF%Ip
z{MjAP@paC<iSy=s2-_R7Nv)-#=sv4-=-DX7iLUmG7VawldWc0@xBTautxEfT|6tRo
z@oCG*SN5zvcyD9H&+d8#*{3^ZuU)ad!r9rnUvygItZ27iM+FTVE{PmJ`DPW@9BnVJ
z&EM1-%Km#=^@Ubid3N;1*(aN2_a1rkqPq9W`z4dR6OOtYl|2mmUHdMtR_|Pnh1gZM
zs?EB~ABZtL5A!hI{G{%;;7T^%|H=!^X6Zh6?mN9F)-5qJed@i`f?bbJ)XV1dhiPwq
z-W*%4y{qc^{X18`E_VDZr7D*8+apBf_CIIabJe~9?^b8#&#?*FymxOy#NH(?E53Js
zu(-KN`Z`zUlfpeN&3bbbRylrpJlD8g?bDWG?z-nH>KYXc23e6yJeCKls<^B-J=_pv
zdi|x#>fIN<mhGP=vit6}^tr!{`s**&uhxDN{_IA--?GiGi_a);n)NIpZt03^T;A@+
zzMgw-l~0bjdrssuU--&}nwr<X%~i?~w=8Y0DDuDJdiBA9-O@!4ips)Wo4B_(y}C1#
zLDeV2(*F{Z(8-5ielBV%n{=|PRGPC~Qf}oBzmuL*8|J28YDjPr+<s<CLEE9SJJWtX
z|M;jrdh@3{zYgCOi8&@#+A@2k>)RVwwa-R`%vx1FZ`(F2?oG@-zt80te{t;Ry~6z~
zrSg_ako;tsS*_y1513C*RN|>->TX)UUA2}eab9ER+R~ny^=2oH1kb&H>~=<>ICr_v
zR?+iQCaqBjZ*bpy_V#sGn^P{|ZMI7M)X>#_y8L2B{MGvWfc{h7A<sI$o_ow;^#AqQ
z2X7f}pR3gsvYzO{JWqbda_cL#1$H~tn7Qp23EdDdSLmEPRlQs0ul42k52tz=O?tN8
za6{;CNBh$*rr+oGoVVRDpV6gD#=p0InIO-P<`Xi%Sozcxr>pmi#BWwwWSVvTt&sjE
z&67KO-$g7o$vk*5zkWlY_M0nipBGeS)%EYtOp2YV9&a=Ir2d+i$Gdq}-jVd1cyQ;#
zN0EGSFFy5bei?K6ZQ2Q$81|AYI^0dQ`*s(7Tz8Ty-|3XFG}lL--w{_%oz`Yzn|m|*
zT;h}q7t}hwxBmU5+^SifvYMrqW9_EW34b)2CJ65CDRRg-QNQ-)i|hqS^&1xL+Wm8x
z;;x?wYg3#gCk2%3ofWEMa$HI3>Xgqhue5G+ctw{sw`LkoTXjQuZg$oF%ztOrPrqEv
zp&EK%%6jA6L)Xs)2K=5>t~cH8lDXQ9!VLvlxfx%T@`7^jTcq(wzq}a|Q};_%!rJDy
z--PMGR^}B8q6FW0>l_!>m#btd5}H;2;z6>7jNF@5{DSl3ocvCoc)0D|XOEw<+m>`q
zF%p?`<khcT+zYke+E{4?8#uFQ2hCls6d~rcJVjw~ujBV6D!c4M-tM@ty=Ky}{k;00
z*x9ppJKUK6KaP*_UE)2joztss3f}nNB<lUXFL|O3Q$o;#^?M#(ls>c3Jx5^S=0^fI
zdtB>ZZw!c;8m-)z-MHm;5kqS0j`at!8)WNV`@FxIrt)fYgGJBRhLhI{z7%hp@Q3s0
z{t$+pOqS{?_NR2yG@50nE2O!2OG|z|6zp()%GCP%?Zx{xS1x_-c;H+0Rq>kD9?J5^
z9?VSM;rFR|caL!2i>%hTzJ^=uk8YXsWE{<WbM27A{rX22wE_!$HvNnH{UkB|!)+67
z&&LkoGyh+;oAYlQw@sD7{g1ybrIuE?J-8HUy;=TF#qMK&JI>wfmwo-kTvX#^)LP3`
zAGCgDKKGo+{D8--W$AUR`Ekwy!D?DYm9q2970Z4uuUPSLYunxa$2%6?|8w^J+Jewa
zjkQJfbF33rwsSFUulHH-!awCo8(*!y`kc<U0imbZ4p+Iq-?`v#vYEV%;t9Lw;b&go
zk9~Yhz--xV@Arnm-}l<p?t6Ww_3y_yeeB(d&sRK&`{yXN?Y(OAi)nselC;=ZxHo(5
z@xHH9X!_(!$X1;PKH=XL7wu?iQIxLc^^m@pVz<4i=U~gz<Vt6c>D5~GYr4|59t*n3
z-JaWZY-eoF;`!4>1s0dbFK%Z)5qII~{=3oElb76?yPxskB863A8GGv4g>_f+oZn(L
z?R-_|f_}F}SAS(M{`aP@o^5BM^wJ8Bd*U-K^jA9EpLOTTjBJIqor$ybue{Q?fBL3x
zLHMcjy|d5km;A|ocXrEOZPSm;0pdsMO_lPZ=j3H?pM7)_`=|BmE7CU~S#~pEZduo}
z_n*vy*jcolZ?BP=yN|U_%G&7u@0hI}S`h*NG#=gGb^F`v&z28Y|2<nF(SG6j8sC{7
zzw3H8uHF!SXW#E>$13$Zr)GaVE&0Kauj2HMsBP>ntC>G0H+9%9dHA<MSy%F>Q`^_c
z${Qr=)1S?;KlvhT=S}<WMh=??7ZyH~G~^CrTxTC#%pSj|jqB{m^hn1|(TBy1Q=5bA
zwu;F28U0Fox9KnckLmr!ec$eVU87NOT2tn{m9K#HjXN0~!s4<o8HDOfr*Ij!?FcH~
zKdte>saHGl)wdTKDg<;FbN<#>Ge0f!rmSV*>AAh1r`2zK>2@q(_7nE?Y~dn%1sA$K
zC|#wNk}Y0ibt2(nqHL(bwpGuzv#!1vIx*2ae&Undce5{^ef#S5+cht5263b<a+dx5
z|8K68Qf)v(rPEW9%OB1kFUe0)dH8qLmRvVej*DlW>;9egzwbZ<|9U;snC~iAN?I<)
zXY(ve5pfGSaC+&%r23_&T=r#6S-aT!qZ{A9-8EXaY<uocPK(YK*gYxjLh|vVt4pfq
zRb~HOYkBX2QTUHT$~6u)j&U1fL=&ZQy_AfjH>bZk#;5VJ{es^dv5#zK+&0hslLBAO
z(A^-I$-3>OXwJ8?PA#crSu@Ue{AuydnzvSE(hCmX$BXW^T+Q0CbrW}Y{SEnpKZ2+J
zy>NYcddDr#Cw3<nxoKOPO8dW@eX!duYw7KX`h5ZWm9Ci!v~Q7=6WRV-;MVcJhmUV;
zEAi93BNdxv#rfcly50BPZ!8w8a9JwN?>0@(J6Wgh)^EP#nsw?+$<GgVbm_c!=)2RQ
z+~<$w+h9?DD@D;}WuNpkk6UdM+O6yPmYGCJ*8dFlnsZ0;;flWnOEUZNBC_poFS<PY
z+0!T4&!;NC+N%3$`R2?3pJI;*3v!G?PB|aqefV<bu|(PE5UoRpf|S3Pueq{{<4sB4
z$<MEJL%e0=?z%C|DO_T3^zD!Dc{`VJbcShtWa&<I<6B>tlK$%JYM=fkMH+G!kM9e&
z;i}Jaz3C<`nYz|1w9kZR$*MJBH3zhhulV*uT6e`gE6K{X=<`w9ZWER|s>I)r(TTMe
zoA!(Av#!p1uI0%u=5mP4w&9zS>l0M)V&$Wph&e7x+2=~UP@TvcX7TBU>O-#=FYjlp
zHZ^^AZ<816#|1oBzZ^0yOAV`V7W0hFKEk=qTFBYFetzG>&F>$qzJ4!F_%5?)TC2mF
z+lATh=I-)(Q(d;-XoBs;+dF3dxZ3k*GH1rz1J`yr`+GeteZuxS@a>7E8+e>*B5XF4
zoIIzs>~G1rP)YXJC5P9y@yW?_yH47xtzE0SZNocJj#u7~h0g_AHm9-X<e#Z8VYzv&
z@%J(x0h@j5SJNu$o7^o*xQh4;rJw!%HS25i`mAbcMTc4)i|h6NSATqcQm=Ay&ely2
zd~~Mj@f^=R_=RQRk@*~p=10F!^eI!DyVz&T>$BnSKFndMu6BR@|6BB=$?GhB`g5FZ
zU9)I&&Yb6A|9r0)9Ti$(aJS`N-tT=?QP~1a;_KP8{NDS%zqLL5N>*uokGg=Hz{!V;
z@+7;P^g7S-gek2*wB-uV#fJe)+MiThlDx$`x#k?(M$^t&TaGC@sC+zg_<}b>+xFEi
z7d~6pgj#6LFy8ykT*}~RzD9a$?30OyW-lsypC$X_*qPG)?~#Yam_rvYEZ_Lhq_TL!
z>ATZdQY0AJxIg4O2Q8VpV#n>xOAgiFIKbc{A?18<hxS3|uA}9LI=Ai!)p$D5`%ZAL
zm>pxQS$tgJ_w@%qz4dr_FuB`)i>4dfxwLt8Cfw4imj23_uh{fOri)|0wt<Glem|8P
z8O!b~D?SPOW#S~c{K~Jwqe^YLyFZmb^DS!q@-r)F)?Hus-r|XU8w*{3Z7cJT`cQaj
zWBvUttEW4!|Gc|J!gY(ow$-KIw+ZYnPU2kEXI44=$D2D`ufit0-M`^wtDT7bRugU6
zo68@~nLlZMHG6R&kK?-(|9kawlYTaD+~-#&)F*Y%*>BF`l^uQB>f(}HB`bBxo86~!
z-!N*HIqs&`T%J;Pb{3!afo0c^TAo{P%@%)5dz)5e{pY}wR}`8G1=^VZEKOvJ<Z?DF
zRWG>~GnYrT(39Clbx;29dzW5boLQ#$TyalC%ae#wrZNV}9W#<9+t!}DqrYnFop$G&
z_b+n&K6(F%*n}4*`vQFz<kp4EI4&pIcl}6iGN0PRpj!gR%$aLrS|f6F)7I__+HW)Q
z^^3bsr%R`;DL7MKb0=4KSyP`x?WzajH)XH$-Sy;C3TFL2tyX4DMAM0R_GSg2L}u>Z
ze3Jj!qdE7Vn{v7E7_<hkEEb#QQmPevPhYm5`S7xq;Kea7zWC+yZkpApVyOD(<)@hk
z?N{h!ZTzvb?l4D7)!Pf!#yfoN&hC#o_H4Utf?1`Bu*1e@q3zZ`f7i>r_gUALb6u$U
z@oU`~Gq>it%}a9j-`nZFvqf=7g52z^!@l$NZtj-w`#K|l^^NwHX9wP#P3^Q3;rZcp
z?O@H5bioe?9YpW&<?f1=l*{}7WYXGsxtggnCv~^qV>V=Dto&ROZIWr>JTJKMDf9Kq
zR*9m^{w$d<dc<G{bJ0D2&EP-W^&T#En`$Px>9)_|d7%1b@s}n!hAPv)9jdF`s`$B|
zh`coZ##v)@`?4<gOn3Lq+1o<HOPq40KFCemADoi0<&1BvLFo(C)6c{OmcDj2x0x>a
zUc9w3@x(Prg?!H@zEbIy{f4Sn*S)wTQrY&!DSFnCuHU=Ne=N(Ed9u*>{2lg^+4Jk|
zDz@t17SK+0F;3c2*SB&r?~_U9W*Q52eRf}wKjZAIgDo%3<|t)2ezmO)S8&L1nPGH)
z{l^V5v)n~%zr5?KZh9mk+qmnJ%A6HD1O01%y2p7NW-MUlceQnDyk6zpz2nLKx%%h-
z?AiI^n_j>PQ_k}0pVLh)#tJiV{y+V2N1t0RPyJf;ohJ^i&HX!bcgous!#oGUL+&%Z
z3QoMf>}im9e65LY&#n{Zq3`CE?muww_wh!@wuMI?OHY1s^t9J>xw!iWKmUBIrTKi<
zulb4IukxDyeabx^#d46fQu#R-S2p{RxzVx<#F%3QZeA5zz3`wx%<=n|UrF9#&|EJa
z=6GwH!rZ4*kJaxmXE;B1pH8F-yIq__&ogbC<L2TMW0m7q+Zat1N)7(SaQvfJ(nPmB
zpK~rgGZ@USzI-JR&7)P_;Pmcf+9ltf?Tt4x^E7-lRvgZ1bGy}gL$c%A8xHk@mlCD7
zG{uy>uWMOuXPNgS!QjrsGdDe!vi?*_zB)1V`l<EvpYWvl+`AWC&z<R4RQ!6%n!-c8
zj?Zhe7f7Eu;&NxxwVX*0{zfsiWDDFa`t(WW{qk6s)4GQH=J!{~ZWKG?uGfBV*$U6%
zy7GkFEB#^%{%^CWN!a!yydgI}NKmPJ23IWiSM@*Nbuxr(*LuVrH<}UTKkbU&-$UmX
z)t=yc#;p~|q0<;YUrm4YHs<=3_cK0SKB8ap+CKbiX2N=}6W+6nKkasXvd8!3!4+X=
zOVf(D^fT7iuL@5p6w6zCK<-HTv-p`JEw58+cb4d9X|X+;cCPHr<4*N`x6f>f7k+8R
zGOMC*n@xsBH*3UtkNPFWCc?(1C3U5TT16CQUDt@2X{xurJ1t46`t>7bzAWX;dfzie
zR?Je}S9E_bc(N_@<;Cm!uP>Fh*I#vev&Q1qV=2EE%S>ovVtkr5YZ<eq?hWRmhsKL;
zxc%JwHS)aPrq`L1cmJGqZPu~*;xZ@O=e|8E$51gnWrYUcsYkay+zgLi>OE1mXkDb1
z;2xd)D<+(;H;2D!F!ZZo-*&S}q)T^0LUW}^edJTgV>3?PG*Ef`!X#H|v&*#W|Nayn
z_gnOxXUPZE9Nn7L%yEnISL<ba1mz1|m{zztTC-x))hVW}j&*h$cQt+%m%BP4O7Y@k
zgZaLmy?X<~J0lmgGalw&lO1XL+jGt)?jWfJo0lGR={zMI9DR-d`X(_J4PE6>Uiq3f
z^B3+5(<|zAc3w3%{q&fvWqR(S)o+=#@0EF8QklfqcZ274YLrE#Z~7Mp6IRbdiTfw1
ztT74kEMHpGct$wnP0-H`L0g+=zP8?Xb^CkWMfZ88T=_2byTY08DhJCf?sJ<W&RRuW
zc92+6RB%n2agIt?dhuObmSn9Hb;V&(TQ2W^oMC>tz)W9GqJFXd^VB&Dp6~v$jl+3z
z_IAff*R=NuFY~RtH*@vB-piMim#o~c+<#XvPsIA&n$H`TYw%~UZ=Ndm?#$XpqWT&>
zv+sKCv<~yxT=eUo&tkUjPbR`A7CinGYsxwKyTOXf9Z8e(O--2POP6xq$+>@m>+KWW
zy<t1<7|vB$(BR+oM2kJnw4VI{f77FtAu&EzCLH>i7NGti-)47G`bV3~Z_hOtYs4!V
z@OH%6#mYA~HL@L2ES;J3sdYtG^1d~9Q!}^h*YG@C<3D$T1+Ul|@uM9*pSfjDYfZKZ
z<MCP>bm)P}+Ny>8uP43?`z3QwrBT}~@=;dYYKvu)c4;sjNjtFa+aFHP`6tEezg!fV
z(^tA~>CaSG>#6k@zh)nH_+xGA`u&uL0PF9wleNtb&E$!bvY8<tr(E1JeQk7_l)~)<
z&f6J0b^7gce>qd0{Y-a}NOxra=@pl**LcEiGSAbFlEa%*p7d8tX5IQAPixLGwTO!|
zQ<J0r6e+9?sox=T=qA(mjh+FM<bE+Qdek2_dZ>3_m|y?SkB>Hs?QXU4tvB($q*U|x
z;MrE4?anVOU1vSFzVca5=k_Pvw(BS7x6FHTWMk)soZWXVRBjf{neV#1VsfYJv1jY#
zqm0h`J>IszRplM8x~68m(;oFt8~!Hl+_k2+r(xEwxlb2utg1G$ituxfxZXNjc|td@
z+roFJ&ev;{1U>TMzSf=cyY-afb=`|!%K7{g)#Cz!^XKnvJ@!E1N_?_bTVzDlnb0Gm
zj=JxE@?YqDef8+$3e%eJ{-4UrD(u&LzES>U=4^Isnf+|ds=O<Y@@qfrb^f<(_15F>
zHtpicwtsn+Q^rHZzI7Li^9)aW53#2)v(0}Tu{rRZJ5+98{YGK7%Y~}RE=mzo^1Z7*
zEsr_!)BFFC&{#uz)w|}p-TTFJANcxowy3Q-{_*YiymK~Ot94dy6=@Q0{^OKr6LN1$
z-D9@zX_taD!%n_zoAtSQvvZ$C%{k8?en+jNiMzZuEWK|X>1XfwB;;R7is2Hc{>4vc
zT)q+hR`fx}ndl^WJLUQtZVL~(8`^I?r_#M!<k4!!Rk@)%R9{EC7P&YjH?4hMW|Ort
zwfES~)4gTRszS#O|4>}<<G1@mhR4%9oy>}#_xJvrzsdWMtEk7E>9?Cq{0q2uTCY4O
zxR9;nqudtzg<ZKPbC_;7tulMMVb&xW{qJRackw5Fz3iSptzd25)IHxeZ>{$a3)i0>
z?%}P-mTY-eX4fun<AU#}!bSgDS!L`9{eSChomR)?Sy}h_{_IpqDp=aF^RTfWmvi*K
zi@u>1)s>qhc(&CTOHHp1v#;m>o@qMUYH`~M5oc||T@eAgjgPFqY@Z{XFzLBL#grNG
z*MxrG<7Bqq#l5mt;9zmn>}#5ZF(+o%pUiH4y}@*DcC2^Hx6jv#{~lOo{_X|$ThV!T
z;fF=S4JXJ8Yw#7Ul(m}@{q=S6vy#8BRTDPuO~0eT6vO3}Zc@46=93k6H!M~y%s=*s
zZNALpquJW$=XE|<-fhwQMCktaT)xnx_5ZJIQL3DC!13d|2`?AqH~RffdaQdoW&Yaa
zg@0V@C*_D;iTShjfw@wjb-$s|=>_ZhW1f^*tn_nJ|8aMt$Bot7Ha~FGR^(y6bfQ*v
zH(THhlYp2XqPp94AMNpKF22Ek^K@b4Q(qRR3;MI3>BI_OJW!Xqd%~LoFS|Z*7b;J)
z6y=iE?3w5mr6u1ZxQK=K#7x=SuJc0<XKvcL@A0fD0@n2xJk<U;wY2;cdOvT%q;)HJ
zpT;hk?^3yJuS4s-mx^MY<~t^*vGYc!t~q!A&dJF-+rGCP$T*e$%s6e&+y}c;CRE?-
z2`K4ZQf_`x>c!%_S64iL<(hV47gHe1=kI6#O~1!oZ_sIfD5B20>&@4+vy($#KTCey
zE57HY)K`Z|dn-0OE&Ws<{<v$#{^U8b_X5ug=5ly?IYyo;@zS5XxKl@#@8zWppK>E6
zv)*2j>G)f^tfnS$hCq$;dX85$DKD?veLUp#Uvtgg7g2T<D`g75<W2DWV*BI%fw+(H
z+PAWzPp#5h*PJ<tJFWJo+5P!nO4BFw91na~T<P;_`PT5>${kEg!uZbr<fu3D5w_LQ
zQFyv5p#8SNgrH@U#InO&Hi;(Ru3fnHUUHM-8>c;Y_A8v7m#;U)RbWQU-BXg@Jxn`!
zY_z_8Z+F|4D_C}M_SIu?+rxiJ+R2nF-dX7CGHqjmhSf?Nw&}*4l3ndwTejbC=RehP
z&FpT9%e@v3D`~NFJdEnbYfHC&<=OS1-n!PxXVrx>lM9#TSh%Xne|>wl#MSU{k#O$K
zPwhrhv$fqV*K0E_(u-YEcx=Ouh${vu%ciU@y&aQO`pebFWJ2&aL6zL)elg)YK5~Sa
z@tRwPb$@f-X;82%-YMC7+O6KK$83UUX2-qz^^0#&%f1D7mb{%<*&uZ0R&;=0mUmH<
z#QA!Lh5!G3dS!Klkz?1&o(hRSlD#%1TGfu9`WJ=i7U|2j_D|^R5kBr7c>lh#hOoSc
zxz6l4E<&4UB`i9)dE@yF6PeaO-(Yj2_wi58jd$MIRM&>~*UbxR{&eM4_rZVb*YyY4
zdL1h<5!|rm*_8Q=e=npM-&Zh9Tvwg`DNp9oCGBgO8TFoQg)<Wc^=kRkoZkH_3RfuG
zvgOzDE8>NRf3DdV&ym-mBJ{SnRY<jxYgS}XZqCb@Z32F$A5GYMRW`N$=}pl|BC|F>
zexk4}?Eh2u$NA-^94fwRH5X*q^i8uAc~Z9T?25DcmoE6O5L|he@7|vi*6M$J<8-Y4
zuT8$C@~S6O*tmK{ef+X>OC&BkyZL8|r`<@ne)|XCSKGw)ySe_armzKn%Ks-c^~(GA
z8${QdHabm`eX{Db*@WW^Cxblf{Q9oHyqqBOc+O{sTdorQMOP~)br)o_N&G%xv*gR)
zo|Z|H^RCP53fa4E=h$(`!~b~1E|$oa{ulZGMXDyS$@mF>Wv})yx+qs~^v6x{T5HB5
zcZsU!*Uo%A?|xv}@vFfGA77ay-HsRbv3a96wQQaDMc1zdypavI+QG+uXgY2<Z?ehm
z;h`-B>UU4rPP&yfpI=%{^hT{0$K8iVrt;doSNOJ3=Gy7EWnZq=M{Qc>w<fx9%c?C0
z)>vE=h%WckyD-sy&2xTdZvNu*!qxQ?g%#d?XwYm*(tNR}al)tUxwiif&1ajl<?YSe
zR!=4~wr)>ccua0jhUvm9b@Q7FCdp?%`Tcj_SB=2aDKp>7O?(vkT`%}8gIe72Rn4V*
z3#EQ7uD3X~Y8F#6%j=7*rzR)ed^>&imRD`3u1*(`x~2be@;%Qk$;@YA?62yYrpOom
z%DY#8=7HbD<KoG?L|5)#cR40`^RLs_lBWDR`dxqD*-F<xCC{cFSGaflig82nZgzw6
z#?;!mzfaGp);(md&nn|N-#x)Dp<HG0`HR(W-%eFl7MSv4dp6&?EnR1Ram2j7c<jmE
zlv`|H=f^$Do3ZK0&d!~iw|MqAH8^AlCahyUlyb$`<watB*WT}Q<GtK!XC1$lIFCV?
z+gAPd<ps0$Ka2T$?}Pn*hgTU2sxjNy>s|JVm$Z2XO!7SW=9bbacayI(+t?Y;Fh&02
zJi9N+dy@a^LwDp>HL@5*=i0|)iwDYwY~^5FX5s$Y(`C!~*EYL^omM|Nx9-t{zlO2J
zJ~w0^t(UdGGu?X<Z%6&*?tP3hCE`Nn()Ne1T|duhA7;h(-N&rE?K6jmF~{YL=AV{*
zi-}rP-1+d$<Gt*uw$BRrIh|V;wY}Xw*}A@a{v_5<wU4tT-fxNR-mrhGQl9tL!l%og
z&-gEt5Yl_!yQA*pxibx``v26*6eqR*(qOp1!B@Y_b;`!8a<1=YoC#gLtlpf@bh+}{
zuJ4T3IF^Tf{OQ`_^)KhX_uu6%elJ%RE&XrC`~BX6^PW>~9V%q&d(N~ta3{m935j0|
zV#2ro(Y0NhbHn_^(biA%m3PIf`P_XeJ#Uiwh6PW&a|IUtUf8ngk$Nrz=ez|uPjo&O
zZ;CG$E71|(TJp*%J*Z~o(je3MZg%pT^{##&`#0}h&9K$haPgW?U$?U^vvFkh_6ZC0
z+sMNqwqp_7<m@&_i>Qgq@}90<k{NS2e#!ZrzqD8~`JTUCsjr|d{mCLILYF1w%#!3M
zk0gK8-nE*P6Uo&1k!|6FhEwa8S(nLsPr3Sgg}jl9;eDCwKl-nVF68{TCF8V)jPKuq
zjz)+2ukEK-hW4BjwO&y3!+4jcNX<%vuen)we&#5Z`unk7O!G51Evq`?@Y@%MnbIW0
zRu;5>>6EN~JZDDavn>a^y=QFUiFtG2s^aJB7bkaLnD*zc-F{0~JuSO)77{$SH~T)G
z<@-Ut@6@aZEC-kW@_2cyrRwq&Cgbn<5!%_RXD;7&vg@p$ZYQ~E<Gvq;^B&xj_P!W0
z_uB-K-sTfG?r`imW;*|+vHs!@8&9y!^glRn(IR!O73Y|=E8U(hVDUdH#g-7d`qy25
zlV0y-N9u$wPhp9w&^WAW-pOildj?C}p0Eq2I(Rb#G&Ia^J^1-zj_k7OoWiSKzy6ec
z!6fe9zZdyEVhrM8N6qTPmT27h`t68T>BfD2^$Vk3Ni-j*d>pzfyZgkklh=7tFW%mC
zaC(`(>8Ey^g?Efn*Y@Wmvsf1E%9=dSoV`Nn>cqzl+NTzHnTr3|)t_U=|6ECJ--YRS
zKmY4UP7&62EzbHTbf15od2iLqz60HJweuyv{IlK6y7fWQXMvv!wOV#BSyA8ARNRyC
zNFyO||GZgARi`)Km$)QZ-50O2ZQ+E;8$R%5n$A7c>JVKgyfnPB@7lwVo){CW>pz@N
zaAoEEC~iEt)<3Vd_@Ju8(f>!ec2>PO$yul}<Gs+IDN4H^ZIjGiE$HK&EO2|z(p|@|
zY(Bnus`L8hzZ11P^AAS-mCbfKBEYA2wO;pggq~y)r)bu}Lx*pqeiCB7e4*6-ZbGrU
z#(Fnh-&tZ>_cm?Xx3S;YX>sX?ywxu^Pg!DE`OC4o(sV*i?=hE3(bCfszI}Yy<C)tb
z>gG{;`tJ0n84@XHXRbQ(I`qbWtqVbllfOnAoEE6=ZFuj;$GWS`POtjcRLvDSi{3tY
zxF-Esz3T*>^EVC%$b>5FpY+Z7-*J}pFNHegj(xuOW%s81oTF;<Cd@UOJa-2B?3$+^
z-?vC>Y_PGe`^EE{HAz#;#LyyF@LS)zb38GRYGl3d$gD_BI=M^G_k`twCo{M1zJF!Q
zt9Sghu?zd|R=>4dJk|KTU4P{At9O1siMyEp^MbAYqVxXi>mPpIztTk3+_0?T$9bN^
za}M^ek3OFl_sn!}Ucd?#AN$V=PjrmFe)zNZ*>0h=mt*CcCa@ipUAg1J$%^}ZS8RT~
zQ`3!;-=!TY`&iFE^VEW~TaFp3me?5F_wH-oB$%JRrC4jHeaQs(&8Os*eowpF6ZF#j
z{MS!Xhr6y6zc!Ly&1K3^e{I3hzyj-(GvAUWS@w!gXDwv;Rb>|HCAz#QbzMSnVfFsb
zibn<Wf5yEjl<=9L*7p0BWsQN4?5C2Q&v@<FJ_XI^a{T!`|D~$Jj*X9gw=;R)i;3H+
z<)GT5@cD|w1D%k?3zloSR?lZUI%Rn%b75rdrtcTl=SVA;hh+Tz-57VN=4SoTOM6!J
z{*?A@Y%9%+()jc0Nc>mzD35>(*EI`Hs@tE9Qj$MXvGIFKPgD8&<vE*A?oG%o`RKWB
zY5V=-20`_&H_csZ8gYGB691yp&VM{wUNI>%_%HkL+wAttgZB$9mu@Mv-`QOtGhq|&
zv01CNr_W9iKUMnku#$1_kGOL|kA=c!cGZhE7yNm0yfl}2Z;1A%xFvh$??{o{vT+4d
zte=5Ilhembv+t~1^t6A)JH<Z*H8=0bz1ksu;hvBD96gt5FY`^Z*qM^9ewc72h`Cu;
zN62f|u4_5-vNfW8d^)a8n`_C+yn5-OLk|);9tHi3(QA)d_-8hoMrY3yi8udloca~I
z(|U5kvHJL4^`P66?`Q1bPhH#gPU;<V#=$jDmd~4iX4ivV@^vxVSw05Fw+^@(*Rx#v
zm~?m14!494B?r2Hy*^#)Ao5+VPF>w7`@FX4JBOCjSDbDt{R@k2ijy!2R`Kl#$(T1W
zQ{dXn{ZD(spD4BnmawVlmh2E~w`%u!vgyudximMG@T&XuiPmQ3msbh*Ysa_Uo?hPG
z?-N>?CFkZG@b;dE>Av{x$ONZrb2~V^Gxnc8SzPq`Yn`3rgneS>%XU|=bG%#^5)%>e
z)8}T$Ikr`IepO30Z;@Z&;OTH%<jX&ogSwN~ulKrarSt9E7N_I$Y_-?T7iN0$*}h_#
z=IOq-x4#xWIi!A~E2F-AvFh&XhcoM|-?l{sdO6L%vPZeR%#&r}m7j+{#(lOw$m0BV
z&hw%<bGt9`oKXDeE95-=RQDs#4&U!<M2_w~eMCctzpQ_n@~7P9yr5#=-}AX&98a0s
zKjqTa%o$d$ua~#^^}O1z9Q;fDrf25D>^RxNsiA@D<y)WdO^ylO6DjL4xt?dkqKAJn
z^QY7$=e{r3<^8#^r9H{S-21W<Ynoe1oQmjs4Z&I7nv;*Ni_E)blA`;#)b*c+$79u<
z+7|PxLjK8SHU4`gcKe}Ec!o~R_iqbT&m<W%J@3A!^?aM-WZA0PHQRIyJ5zl5Hmng|
zxV)h2#0s`MWey@Y*T?TR`Vq>QmCsSXdQz3mOj(`FOC+B9FT3dO8O6U^JyYw=qAv$k
z8<w6i4Y+(Kd2N_@U#;Qa#EOiGs#=q`K6Cvzi}6I+oK0W6ud9igs2cYk5Z!cCbaGJB
z#Um46Dop%m7bnHlAogi>^A7vIt*6{-cKj*c)}(v$r7^ejd$X8ZLGDZoCAIFUJl}t9
zeRciYDF*E~4R410y?mo%tCij*)|~?LT7LXGTU}5v_wYtnkMNY|A#q=3nbpqz{=V#A
z{!?YOU$U_+bNWMzq|S(03kT1BAEVXIFHrpQ^u@VzL$+PmCe6OJDK?n3m$Bo?x|65P
zP2vPLJ^mNCGul9La^(3kX{CfZE9ps`J8L%mz8ZCIj^UpVclI}(-`?W#b>|h?zgx=-
zUc0zW`n9F=ffUb<?kCyW5mMZ~-U|&nZ<eG?|7U;a|Iz7%P68sJef5HwVxrSu8;S95
z&wD50FE-t;PC#V3T$!i<i=n9@bf3MEp^*`6pM62<TQOak*|OE@FIB9!%`M5feP?6t
z?Xct9a!ZfDxbg0WXZ!a1-|rOX)rQ8ewHJQ8((+k_+uBuIH9U^KeH#;ED|=?f%bAih
zDj2jLX=(Yy`1mlWv4yd4aRsUyD~nIqd)Hi9+*q!mZKkHf(KCz(&M+k;CMCHoVCcAI
zU18OzQ?C=t;2`{}zMG*`S~+-v?g`EXdHKoj*^D-_eAu~jC+AMf-9{EWxeWf;E=fvb
zE7)klJfk`148tO>uBf0-LJSL9_DDG#I&<#K$rEe~US#Dk8!?_}@;UQn&e;`=kj?fg
z48qmc!58f3%#r-3n(#dB*^^JxXY8E3SJ%PMCp03a-Z4&8LG9EEEiQvi#;hm2{@La|
ze{|-vcy8LGH-FBTl`u^I?`r1uzq{wZ_}}%fpM0F(!Pq!cGJ(sekWpfGWWyT)iT@XU
zPo29Xci`jvO)FO)u8*$gwEX{+o#Efr2~r7JY5&CEW+f}<r)0A+bltjbwPV)|OU5T}
ze9z8#!=U9>cCNl&w2*1$fAOpo?oA*6{Ac|i-!i59V!UC?Tb+NWj(?dibRtsbNn+Y6
zj-sEdx9^;IHh%8Ewb?WNJ}-K5#>a8pw*Qv--@>Qtzn+zqpZ@q~z5BnrPwzMOd@|y?
zWaPEwfAPWnxrWxl)xi_yvN{}nx_*J1-?IPOe{P4FF#SF5^k4OJyf<V0jQ{a^=}#W9
zd}4TEVEE^;;IjI8|J|zo^Q$T)y?^L?{?Hk|1?j1YOa_~ai<oxIjI8}{U*a1xcg~qN
zG5<pUzSsMI_J8T*nKRpGavpj$X)kAfM`%@cMC<&Bi#e($Z{KWLDD_sz_{XP^_fz?-
zGHzVD^56l}|1eSe`?8%GY8PhIKd-5eezmRjjK)2lml;V$Z6;3nod0*W?74Jkec5N%
zl@I)#TmGp|v6{EG)8<O(lV0y<x3VTEomGi0yO+6kOR}W>E|%h+#LDLkCbz;4ojSC4
zF3VQAtJ8Jf@~dpNy(P6J^7Ms6-pL1_-wo~f@aKW-5^XLU=F^9|9NL=;)>@Y(Sby(&
zJ+Xe8)YYur_qHT*=UsanT%IX;aN@ru9^9L*|6AdbW1`fWzuVkbtA6#7#Vv*2_nBXr
zKNop?GWnkJ|EiWLypj_>Hd;)7<f4+MRhNF{>!*#Yc9~tB=W>I6_S*-GPY1m|Q<)O$
zYO=5T_2z{RTjVaz(EJd)>g9pOo&Mj1{f%lYeD2me->g6TMsnWLch(EFHWmslJmILE
z$0AfBK7aSzMXUE)o$<e5`Oo@J_%EL3SB>|Bny+VT)IXS_CR^5RnOwYR`%;(p{T{Dw
znz}6B!2P+sOFhm?YjSFynBrl6!H>sHK55OkbJ^6;*Ejr0CimB!6DQ^C7U=X_$4T!>
z*Idwg!tM8`b>IH?)YmV$KW}czy9aM8UbRS{FMFr=U+jd5RJns}L3Dl6%7(i;($`$w
zTy#e#``X>JCl!sa_hk2-IFS_{^py8?rB`B3LzaWV+@0CJAL{GRW*Hu9TK&S`V!c6x
zWAQDwl;w=yg%_AiS}oCXu=(#a=S$Zr_7}WvjGMIk;;V{}CVKAA=CkgvUo^?$!G>j*
zl)6;+^k?u~znZABZicT)&da|7UoUTBbUreRA=9SkY3hrY7dEnNz24-J9vCzwKJGn#
z<o!I}_u*1+D?T!mY<qv`4$t;XrnDUkoo{w8(`wy+A!oaH;^Y^z1&sYVZT7x7KjWG9
zwx4<XPy09CyXg@4Q)R*~*{j~dg^W)1Ij*vzH<nujy}ZBw3-8233;Wu47{91H=k;gd
z-M4X@X8x<IFHx5Fu$(R^-jwfIy>)?W?3T%io^i>uiqAi(X)u@m8+UT;vRTuYoQ+S5
z+%tX4vhS_SJ<l1&xOWL%UvIx=)q&jylZsULhI%|XP|!Yeo_}|fnDt=~QRhIJ_tyKj
zwKCU7Z!y;HJrcpI!8o<|=!xKid!qg_OIsUdx}2W1_mGVDH}=Gg$<wyyuU9D7h~B*T
zVO3h^^U5Qh)$H%Wa-RO{x$p7fh}Nef{VNeG7Rap5o^bM&iu|neBF7?kb*HV)k4`EP
zC_Z>_myb!Wdy<Fj%Y)YHUcqJhH67d=86D^QeaN(UU*BBd#2VO?v*~vK8l6O=9qY8@
zv^sVkXE;0Mf{5CdPy9(q$G!TStm`XFOjfJye`UAlS;4w#%jU`FG9MC1ycAOPnmJAP
z@xC=nmm6IxUiO9am51tLt@QiXyY9q1yQ5LBzG_C_x}7~8XC0dtPWPNDsvYRl=6&@y
zBX6Qn{QIbn2AnJFAH+Ip->}=&bv-|Q*1BD>fA6&l`FUB3^iKJ%xgow}-ib-^OfL`n
zh#!6NMdeaMP4=S89bqi~;T!HB&6>P+{<R8ErpBw=i}pAli+_9Kx32nfy9<8D76esE
z{4uee%WmeS#<OST+VowqqN!W&t=xSwK3=G);`Kr12b<VLg4cD%uRB%$Zq?N47t@qy
z-r=6N_V)E7)72SE9tT|OjgQET|DtB39kVy?@E+lgMH5yRh_{%}_AJQUtD;wY>O{BA
zqzRj>6>={um=ODM-!Dg3N$dK}7K-1Kf{ZR4{wVWrf@`~`(_ODuY!?srFK2ww=+Rzy
zh2@&{RvW&T@n4QC)(H5%N%{0a`vvua4=>d%78O$L5T7xF<w4=zx4G$R0ZW%&%#C!g
zn0T?vT(-(MVeX>L1Er^ZTEu@@f0(?xKXP||zs6(NSN}L}m3@1?y2Y7EGe$sU-4CPX
zo4JlNT1H2zXK?zpG5ts~3Gy&Y*U4CVllkfcWy6mVe;4hyf01EQk$R_gp5dF%{2|QR
z^-Fqe+a5385d7#+wnl-s2otB<ba4&$1+P1<|8lZ_>-RM=JB&$1o9THSW4p19JfD$o
z@$}!TuSl5X*(^`gcQE6V+`MyD(yF+v9`9@YPt}x)<+?|SFRJlkHd}G+cIZN(NftfJ
zringt6X2QnYme8Y<Rc;P9xb`;%l_nZ;^7(UmS^gJ-q?3iSLsXa#w3fPS*Psx?`o9W
z`O?=vt?RBD&qT(wv!^fBO*$7?_CRq{;*_9c2D-QS_MWm`TgCB0%Te#Iw!M(Y#!1us
zwg>wzczigdE9SJ@nN2@qj#<32YYnYB8pIfLuVpsx?Z64$hF<EtF7v;b)H$i&pS)=$
z-}bgMOP2TUd0Q`e_d|b>L2&vBo^Jp8t#cQAnQ`dyij}wZx~EObo%VgHwDTT)%bk3#
ze@ZszTKgTFI?+Mvkwe7UDgOo2Qx}K?eKnZD*sOH1-aoZkXwUXj2dBv~PoKxs-OSBC
z!TIcFlb7$G3N7BE9DmC2fzA8kefl|H+#ZT=cL^3h)^cmJDE}>qQ}uIpNxj_4E4p7I
zXWfE?9P|DAtxCg>iskRwdieeq1<j`WDaQ_}aQ?ef8S1Gmw_V|e+vI&(A4*g6C$WD|
zF|=cxldwc3X|4Jc-kJq=^YxCh`uqI}dABe3j~ZL~)9JU{>dWr=|LxnOc<6SopedWq
z4Uy1>m&@xscJO>{*3ZxUn$=ib?<*P8=hdw)b*HAne6vn)E3aS4@{<w!{jDB<oRr~L
z%aeD0-p6&P6J*z1E?#0kFIw%fX!eSe(_M3%Y*jxfoyvakn1Mg0E&Ij6%}U)_$}6X2
z-M19t((U@n);y2bti0XgMRR3YjQ>Gbd$&3brkkeA1HSKCvG5`9d!~3jwbBDMPwRE2
zrd<p>#j<?&v3IQJrL#KY)-8UW6urmmL+Rnit(SsV_kK{*KK1W~(9J{J@~l5|SRedu
zv|{c)Js*_`F1)v^&u$l+cE0teukZBACm*J)-eO#P@zA7yeJ$=wm!8=^=Pujww0W~H
zx|pnYp0SQKxQ@lYhX0=Nk~5q=I~3i{a$b|(?p5E!DgA#}+}5vC)=4XJD&A2!`0#AV
zc3b!I)6K6wZ*VNt)cX>XvBg8N$FtzgX0eZNeWp4|3QyBMe&h5dt^bAT(L$e3#hYla
z-8J9%{IQ3d)vh#2?(X^(HJ@|ht3I*zwCgV7R&O6>==z0OK8QQ8`*PY<rs;BJ4ZA<w
zY!@naG)>yMuYP9Wp=(`hD&JTwY_et&-t&8Q)UWcx)vHrGJ{?%>vBv+1dwF8&JdVn&
zHJcijZ|LPTe)}vc>BT?x4M)P4<$qo6(XciCV9k0dE}nzdeg1xG8=D%x$L@EmIo8zM
zwWEw(>6O`pA3fJCx!;GKaVyz<@cs*yH5#+?FYVvd87BDONWev|zLG7v*vl?Q-)Hj+
z`^Eh0m&s=N<_q19EwtHuGW+*t)1cMK_U<1ml7!CKs~gQ=V0V1xwM%5eXZK&NZkdg&
zH9qe}C(ALfkhjxxxg<I{#ZkInML27d%dE4LrLVm9-*l>`xOK)7lc%rsZkL2TwmhjL
zp3SYCc<@uh@)!GruBEiw&#Zs;=DN<0Xb(SE<;fS#)U1|o<WagdvyJt#+r6tPr=Gpq
z#qJ+ix_i0bH{-a8$JeL1?eEDi())fsby~#n52Y&-cih|%8@x&Nqud8Z?>YBM#5zq}
z8Rzv*df31F)bCwq4}W@f<<ZV<8glLoZ8C+TrrTzC8@v%SyOn-wxug1e<JIy;C+i>A
zJyx7iV)%8@dA_oF_H{`szsl-;WBeVPqHM3Q?RY||UPt`TW$rrPtS;R8B2=35T+<+1
zPgqXu_`H7~lTs{K>a(#MuK8=CY8=$1@nV(5$~#|OZ5DfQs>I%2vf^*XV|R;BQ&S}}
z1x0_&3)z!@i)(V^Tw&YB1*gm0?_3g^sj}Uw{@>gi^Udt|raFh}xjwvCytsAB_tO(^
zv|Kb>t7EoknNz>SqP^W_cE%}EOW15K`Yq34_>|EWv(R2A#AXJ^;?+6Z)$~?uIN-YA
zY?_I^(=@*2IbKs1T+J_Xm0x}Qo~H1W#Rq=gbt#KT6UYeX-W@r6)$N|yOC;=A{g3=P
zBPzPU>|{xOxPj^Z%J2K`%;?;~eSDz;_x&53woxU<8C{9x8ZNVBf4y0=Xnv@jdPeJ+
z>%SMd8BF>0AU{aEbb<M+8%~{EZ!G5SS5o|}*z?W!@|$<b|D_sQ>J)bzoNvWtnz56A
zsl8xP;lzd4Z%p=J*5jV0bd_t0r_Rh<#&@ch6<mBS@__qar+fWz_N<pTIHG&)Cu%NI
zJwE%knV7*Yqv;XVGWG$>=QS^y>zJyt^w5=x#mr_q#CZGKyj8M3zxQzx-hHsUPj`KL
ztc39$m59up(qR{Z9Lh6xSe=!b?4Ey<x4mK0-{q4;xfNCW9yJxGYs>5vRzCm!YV`cx
z=Z9<jBd%Bc67;P)%qy|2e#eb3BJ6S3g_C+#IPWNZr_NiK!z!X^@PFR(TI0KJrn`fh
zRbo1-C)>=v&a!F4inRxBTiI*fJ5gujT=a+IN9n$pdE3_?;oRzWI^C+>*C*$#L}TZ=
z&dv!N^$*WoV{l+gNkHUQsjoh5p4wfO8O?ipCBOd+yzthmx^2l47O|6CY_`<D*|~Jv
z(rN1%;#gZdbrTe~cw{C1d3t#N2J1uf_jidr(QlJ~v9I`KPUEHiG+mZg&#xLu-TuO4
zE?T4Mb-JQ!r}f;a*Mu1x;*YJ6s14Y9FUDc95?5pGm!F!xf!kkg)-F8FlsrMN!lLt(
z#BGC@qDB*a@8#OLDfec$+lc*AUp_s7zy8c3=ap%%x9sFz|DaON<FiTmMz?^;=B+X>
zHs6aBJRY3;H|O52nUzbw)va8%)nCPeQSZRghn;mA?>SBSUu|oZz2~WWAZCHQ->Tgo
zvt}+?`260{J#KGBeGd8R&*q+#(7!8~HEMa*PM7OJZ`9`LtzX^o#!LQN+Y|5gKc~!_
zZ|)-esy=?*^WasD%d<qLZ_(zApKq1B)F;{Se%|6}(|+Mcg*;0&lF!ba{PpS4soJXZ
zWv?iG`e$h2sj0C#xBcg2?@ganuI}Ylyrq^o;peq{g_pNa%<{g-thYXe*HLg6cUyth
z@$5ee3%^K3Ua)`vrub0mJ+Hgpv&#LihwV(6=<Is*rng%{{alU>(VQZeH!OIl^fZFu
zJg2ma^wza(ie_BP1H;a&Zt!vwVe;a4j`+EwO=3oOR^neBBh#Bc?zNT9^X2n{`NOZw
zD5=b{P;}e8-8e~kX2;ufl~X*?AL<WImk6&|F}G}2J?BTJCGGN({rjGzILz@ekTP`N
z`@ACL|J<-5_4>_$O!fX}&;IzM5gD>^HP1THIJ?s?d-rSks;>xmkRzV``pdew-#qNK
zB2jYEHhLYum~8aVzC0`|woW!$Zm$VHZv?Nu!<ICKY0F%?-M8P1Tig*A{-(@N@3?P$
zz5Tqsg+_G`w@<A6x#M-M>DRa)Z{z0P`z+ibHdRBe-8g8%yaR8db@@W;6FILd9Zt}D
zd3Nq4v5#l#M5is9y0t@}HCcY4Vb1l4cCn~aYub6j_Anj|KC>{+G=uAKQk|iG)3Oae
zwqIncog#ZxLeX64bX;qUliksc{IeW1?l~;p(E7{or|$wT$&KMrvJG~L6+G>xJkgPz
zK1XaTk24AdX;j`Z+a%QaoHJsVb$vn!+l=U43wOUboqR`dSD8ZWzh=%8w^G+^^!jEo
z<Ke#f2Txqks=Q}0edcWI-#>0vTo%v1URBw3?wR10V>h<kD`e<hvD>|`X8TpY-+A6f
zO_P2<)v^<?wVWp{fA@37y!RK`gMFXQ+#@S^=2GtAM{&H9bLF44x4l>5JlK-9`~DGg
z&-$t(wYJB$#J(_z@VGg#_2tKC)@8yvWgPvFf^>^N-^p8ZVzTW&DaHRBF4<1Eih6lN
zYd7%AddqAxxBqtML*FbliI=w(Q#qsq|9>m*dRThg;XxL6uir7p@@e)>b}`@2o~lk^
zTYCBQWbq{%j6NGon9wxesdHWKlSP*kR=cYE7FHJ2H@|1hm0*4(@k)8^5oNVDQ)c7X
z&wYv>r>kVxFFts1u}SFWfh?mV>1X$TxD?5H({0KbCGLr;Pn92WUp<?<FU_xdfnRN=
z4Xfh&WcR3x=dx@$)jBO^glP9l|J=BK>$+#Zo_RN%ed0FlThNNKh{ejEpD@P0J%2%p
zUE{`w%;?mY7BcmdwC3ekUWz`@-CP)zRK{!2aUgL@<38i;HTkBZ4fChWeX-+gV#~~g
zzn*_<Up4%E)0b0rdF#6HlRCD!C9k&k=R7`}bnN+?$r~e<zTR~Ah-G%jefOIOOt0Nv
zdhzDLNq%eZy<Gf%&pMx#iG^kS-5&85pQlWITe4+_uld=NFU=-+oRzJYTY7cUb!|J3
zebp~Dd`cOQo|-Q5Q*7n6%#eK>btT?j3AcII<7KtXH(KEBll(<`EmA?}XG}Zrp!`>h
ztGw{!&%55NmOK}^noY4tF1XJ2sK?uhQ#!UO-I`|_uKqai_r~Q1E=Jwhv?0#PcM(@=
z(dv~eAFq*^&gyfq^xsX5DY~6EOzzZMF{Wg3eVNX?dtddnM!w=!zjckw$2-)`nckG^
zpEGXVA1G~>9bakm%g1BA?Y~F&z20lBEaOg;Xufvk?2`K`t6t4#yB_Ee=n%GwyJgz%
z$)*QizJD3|BRE{Ef7dqM$h}IMcB;qsJx*kN?Ajc=;Al~6(9-Ev3+&SFO8?+~evUWw
zZGG$N08hazw(iy&VsDNtx%mCx!H9I8Nz0ab&rUfde$Xjoy=&Bpw>$W9*p{FD*r0st
zBKMO&4oqx($0QgtxwdPU-q*gdcv9YmKGjXZck&;J^WM9)VfL4=oqGG^oM+zqeO|Kl
zL+qVL^Ryjb#`pKXwXFWrCSKlpFkK@xuWwDvjo(TK>VLm`_DpQQcI-Wwq?zZGS~hK)
zlfYCn>&0U!$*pVBi%&SFdgVWvp0Hcz`H3mB8RLU{e%W=r&}>WYTGJQT9e!L->&*HY
zC%&G3JUb{?oWFm|`kT*BxZk?FTl3&d4+Xhb8p+3m6?MHGwGO7dw*58H*2u^;h1Gnf
zs@dG7iyuGIjGe!%zF6_t&v2g?LW*BbJl(DQapi$a`cn$8Z{Mr1-G(cPJ-71Psuq2P
zbL_dZG}gbnB;6hQulwUE6|*aW3%%4cj-8N9`*Xhh-K7GxMrD)eMy4lTFJwRM;(2b)
z{wyuGdr?8j<sU1f=B{A4_kxYF)U9Ui>A*jsA!jD)e~_K>DTcFj(zOls`^)b<xc0K=
z&S7DR1!b2-k_&EnE?}~Gz2%+F20ampnb!`iFH${magOi#*|Ir;)fEiea$cmq3}f%*
z`!S~@Oa51F$-A7LTGt=HVC0^7tjA-)>{+w7#Mf<{J>PHlD|K$K6E<6Zhy+`%j9M{e
z?a8X5myJsUq~FP|Ft{IlWnT8CTwB%pb@OJ*+L}x@xp~Ym`Sbmcue+LOWzUnl@?_Bw
z_V4R2tvTOgaYQpHE|JCiSXG)4zx(1(yH?Gb_TlWT&o2GyE;YZMZO^Ce`kqo<{^+Su
z_Lh_Ht~Kx8cgWp$LhQ5KH$G0>^N90QU~J(cE-Sfn5AEi9B)yRGPZZ#PQv138@YVHV
zcXHY4cZ=sOmGbv3JgC>b%R#Kvdin29ug~69-00rtl_;p;E8bI5Xp*u%r&_@)_~rz4
z^TS~Rw)KHm7>oP2==^!-w)nn!9A`@D&!6q77tNgfW4>xH@$j2FDgV2UeWab{MY~xm
z6V*36E{zNRu&;aZ^WCrfR^8*3`>bNND0J^5mTK1Nf9j(*{HnB4>k)7<+W1)ipMbr^
zW!c3?IGu7|>DTD;aGv5SQ*nwqtatrdtL5tjS6ugqI`810e90u`{GIN|l#L=!uOD<u
z$x~_E_tbZhHgkrn$bH#4Wsgc@xL+5!dE8Cj(R|8vhti^;t1)6rWolotBu1^|=5jKf
zV*jb_kKhuQ=S(Z=4eDYSu0A>I3H$ui{h{h>V|Q7%UOQF8?J#A^nSO55AomraLc8Sz
z^GjMH|LB{YsqMY!vA*}<l$0rdZoe{rn`XZtKmFU&r)DqKA9mSU*8hfa?(>ALvtn;-
zkzk#AaJtCzu%+y_+h0xaPHxiolDf}3L3vroPX4r)@=ZB9MSM#N=Qh-z;{Izn$@Rv<
z%=^}+^IzMZuz#Q_`&j%=#^#hG+J~-GxC=1-RhtpJ#3{~q$!X46THWXQQ+N0URxqt(
zxO76k<g)9w&+;NhV&1JPTYi<?f8cbY)Z~2Ip*mlwEq~{!hbu2i@bc!$F>iSP{JG1v
zm$!e-y=1#L)Bmm#gNRnjx5ruBU+WX9(u%*S?+!@lI@LSnW~|fvn%Xn-7r8F9`>A`{
zR>1Y-!>=pMZG6v#f3o3wek(2F%O8&3vQ2XLf=sXfm~^)Kxu}I0+x-Q<KQ55Gs9$|-
zP2WS?N|`S$XPlpBbT_5h7COk6%)R*3S~^tU?r_Kd#d&Y<ZCbcx$~uR9|7CN3Cp7;l
zsejYH#o_DJj72A-57dbqx!J$=<G*{V9d`ZKT-fa0znk5wJUflwPD1{SxaHOvry^hd
zdYAa}u0;0ru!2bwzph}7>Dsv>&Q&q7xcbM(^mU9Uf}G#SOxaP{u%1if=d9U*GmL+3
zu-Tk=;aKp**@g{5dqpkn_t#xj>`JuMyQ$^r6eY8^e!h8Q%fbfHWj_w=^x-_LThSNr
z{~W_!4<%_?K{LBO=ecd0?tgymRnjx{&Kq^Dov{vK`JWzJ79Nw*S<b|?#bomLAj_&W
z6ZZa6z8uC~A1Z`m9=!=R`{gCzRrS3_a&5!B(AsxA!rn?*-9OxpGS~0VKE5x5?L@=T
zRw22cRwo{w6{vr_`q$mV!HWVV7cHCL>Jw+0tQPopyF8Db{oAL%EL6_CJ~%BhEO=AL
z<#+P(3nyLm{&T4=s=;HC!p-*{JAP&yFf85uV9U|xlbmjg-(2#2hOmjUM@w?kro*`>
z_i*xsUR6GFc;Wj$AJ0E#HY;Uaaiq%VX7j9X`{INqo}BQ*w(^tbp}zXG75t`4?oN>3
z`)=XAiM;n4Og~Di8LeEs=6QVH&5IqUC;iSiXI}sDs%Ye@p6OF9I__<o(G~q<$JT)V
z5A(SnW>>X|eYb7S-%@j5uISDAUj2J7=H^XRx$hv;nRWC~Y1-6K`Ty6;uAN$GcdtDu
zU#U;9Q)6EI0hJS5s=GAb8O=Es`>0;E$FD<K&hb(9(>))5iDmfjOiWGkQQtf_&ZgmW
z#M4L5@0JHWes}u(%9X`h{FiDQTi2UDPRveDvYAw$cHxu3H?iw-!I!?sxv18kl3eay
z#=b`Cublhan*vT78LsgNo-O}WvDNdtvDD3(6?&0hB|K*;PMYSKqB^Br;tt=L)NeUP
z^%h=TXQWzJDNd+hNOrg4@%XQC`r_Ve0$(l%EzkBj`e(zW2HDG#e+UX>y>-{$A+pXw
z%=D>cOwcorK8|(2o<3Y2zBQ$W^LWdYIe(*V9BZd+xH@Zrz#0F|AJ%FusNlUGuyd}r
zQ&m{;ZI7IwT`qIt5=yIeTV{Xe<a6KT-MMYa3R~OyMGw9gz7^Q{^_b9|m-lCGJ<#Gg
zg{e~SljTgqvV?=zoKD2m9^es7Ik8*car4)&FNFhob!RC=Zj(7YSu^~2<==0zVfQ|l
zxBQN}A(#3o!br+ymfi0kH!Z9Gn{RWG$X$IlV`1O=I7O?IC8p;ts%PfkR142Yz8N>G
zEKlk9$LP~co6gqz-kp|ZVIHC6;28JqmCnn8`(ih@eK|h8`)FAR$Jf2Fe|&i!+;W%|
zcQ3Y`XZ5O?t_^y642p-D{x<!XQ=c+vwdAsjw7#!>OdSU|^xau%z25Pa$>vkDZ%?aV
zdiAJz0uOhCw#)a=20a0}6>p;TU5%%=*NRJLJMsNl?8UZQ*Yb|#s`}^mcvpY;cPLNj
zWmeL1<-=AkF@{nHZ969aa>>|~>VLec<<;@;FV@J~>?+yfqkg@vQbt9wrE;^c=A_x;
z!bes{-r`mJw0fi5>{&YgtNs2~t(+78@x%8;t2Q#Oe`_qUOEFzr=%})gHPh8S?~ZSu
z)HZDzli<9%ZQil{BGt3KZkjJyUC$6>I<tJ{q2)<Z-!o>eGQYV>qTAt4yXx|o6;8X>
zE|1M!E|vT}U%=$viDQKps$mI%=}Za5a_?7Ozt47~=CzB-A)lG*OI%aae;<8tuFd1#
zn?rA&_nf|R-CakVDe8DhuEFHBcdhoZhYPv$xy!7HRW(@G5Sll=cGIbhkX2EiRi`be
zpOW$HmH5}zntuu+&sScyV!fonF1-E3KaKPY@{)63{CSnXXU`&wsbQNLYxAup&h-2k
z+VFB}+U3c&XFjc)UHr0c*FxV{!NoUK6s|nGJ!8|dsfle?J2z~I*im-BX|g_-z}~XP
zYdTgpy(a&+UC{WwZRSjc*r`{NZ|*<1IblMspK@PseahO3ps80jooTzObyrm6aZCR(
zTNmrS3zz6#mo;3g7diJzRqL$)YZjNkGbH4aju_r!s=IjX>buLr=Pf5mYJ}Qttdn-%
zxq9KQGnb9TKTh=Av#C9(BWBXI7oPH7;d;A;Z$z5c39j4n=@l3IsZf;|+k%eYn;2r7
zuCMFoe(Cj{SDU-OSXlY4l3qAFC$oIRg~BZJHm*s+E9XCW6|zog{_0()o_2d`$R3`#
zMdZVxyR9?)SKptfy8Owbw$F9GGwz(zIPYlLp0lFnU^qwqe3Kar)9%jAFRD1+5ZX5J
z{Hv+1=3BSlT)TFKROXTwoz<xlo-w5ym(-4ISgl*YXQtbI^p<`z|FQb7&O7eTbIfym
zr|0|drffNDZ;s>a9R90*U$*<cpCM(x&gs$Bf}opSU*}E}{!_Hab*;!OxeX5uSQsum
zc#-EX%K35oi!G}r%RXigPFP>{+wa=^8INylG5E`WSLv=rQRk|ULffAk`A+OI;mtj>
z@5+R!E4Xg?Ij*WasU;yWWzH9N`-1uzucCc^TG#yc^ecGRmT}SY3B&)krrFOYUB9U5
zSGsQZl#m-6ZYG9&%6j>&rDeLvw963*eqm<r2UYzFR?R+{VLs7i;svkx?APmyh4>~V
zZdu~dH~(~#(~IW%)Gr}{M-HA%)t#oqSz0!!-XrR`gQS^2Q-kL1qL4Qi(xxxszFN46
zvEJm`<~Y4w+0E0Xdy0)}nV;m{^O;h<T9G?EuVjvmTk_9Sju&bcvK~0|b>+6z_BX;q
zUfkfmVE?th>Z?sd;_eiq2P-RGzndxvh^6%e?@v85<yyxzse%LEv-ZCU-y0NNvFg*R
z<(ofn>i_*QZ~gLH3C7}`jA^ZtRqmFr3J&t#KdrF6-t%c4UuUWuw@cJ11MT3m8t?v_
zirXC$u&-R8zx(K>$m_N*)n-aHsdg02-I%wb?v7RKeL2RZRbE@_=A2~YwvJq<+Sc;D
zg>%`-$6>aiQ5I#*hLiuzkaq53<Gnb0pV8*b@43dCXB;#LW3xHe>UH#&+Mx*d155k=
zF0_~Ww6eG5{Pg<o<$o2K_D(**qw_T&(wlwfB{No`XCmhJRnMQzXW71JR*=Y^MSGU*
zl^1^&^O7q!)H(KDqMTgLq$d_Dvhp{+U!ikkd333r+q_*nROYW}-Ee;T?-rr&9QXKK
zimfb5*8VA-dT-y;o>RN`Ut3k99`}s-`HJ;RBwmUXU((Rne)Q2|6SaDw71u7D`|Wx0
z7PH8A?e9-#g)X=A6b;MPX)N6rDq56TJ74fzV`XTE$>r&Ljb2~<du88m>nHqT(%YV@
z^vGwvJX2iis^$MnuuR3`(L)Zs8MkUy@Yx*=`e71%H#~;t^Wj(DUoL5Wrg1+${`5TG
zOT{^txhL_Zn=X0qB<Er2_Ep)dC)5WU=X~ycy=2{k_GkO2tX)-;EfroH$=Un)Tx4m+
z1BN%Jbpr&|zMSZ1cAXXSUB=q!=4T(-3+eMGOKc7AIi<Vt@7>FlDc7bqSDe}2_3~nS
z<%V~GE5Z)#&Zx3gGFh`?4nuczPeqxH^&^K&;njtm$-W8ql{Lkef18~7IW9W)BCkMq
z{paOjG5_4#d}g$tU#r4BUtr2t=VxaEPG@jDQc#-l>YmMv?`Ddf%jeBrr<5M?_x!d8
z@{3hv8{aZXZq4i5>^^nz3l3`&&DtBwn^ajpM+Srl^Cb2zW4AQOs1xL${ld4x<^H*o
z_nXpw%=E82;oGx1nxjqVT-JU;3D>n@GZw}9D(|Rwv0NQC;gjiybD>X<GH<w6_iM9L
zzePDqY5lFw#`jjAx{`mPaOwryC`TcsT%An`RW;kDe-_$!TioTK6o2KE9T^P^54u)Q
zTW%Y+aG|Y3{{~@Mr{4nKkEXqR&SfZcB$rL+=Y{`rHNXEpm(tn#QXp-A($%d}kC-;j
z+H#3y@q+T@T^#kTtb3X`{9}DIHoJNnN8XSzy1Q4hu<HvqpT|nApTU=Ol41m-9&LZF
z!MkRuonPV|;Uvf4@}>Uwr!0z7o4TRg(%EQ<`BCY=Pa9n2ZT1H>uN1%bKD=JE<YCVK
z8h*o-XE!sk@hrP36?oYpJC@N{(CLYJ?z*MsdWnA`d!vnu511UTfA~-|$v<~%?W9na
z&`+CXY)T4?-(Pi&*(j&k#30{gUOZ*lFCiDn?@QPo>-#^B$~nv|Ei=9Mc%!7L{B5=N
z!{Rx1cTU~Cby}T0!;*>bO?YY+kJ9bLaI@tP<~~SSq`7B0&ohoq8C%wt8`W(2^4LDb
z{ItbWUF8WUxL>#Jf9EA-W?Fyl)lZdUAFjH7eDK`1c0us8KE?H%Ke_vj*PA=q+?zf5
z;ltOVAI#nzjg&TYP+_s#`Q+X;t@~%zKl#ma-d<Mu$lvo<7Ot6nSKFs;dGL|t2Q}vL
ze~PY)-5Y#A<Swgi%Kr`P?*E!x$)&jA-_y#shaUc!%cUxC<V((rMS8amT#72^J>Fj5
zu=)J2Jp!LTZ|+h|n{v|RRJm(_Ym$bX(i$e-l{`}~dv4jF)$4M6(G~;ied)LEAFA5*
zY)RT=t-4!xOJe&<6sxV&imUzxy-s;z9^SpXSz*<QwQ<&tF`P;>$~g^>SyUwmFRrMc
zyz!&Op-2@rl?Y}38&@wrcwzqJ`SH)cOSsI>7S>ybyxzqd@5!0{UN4O|R*18A<*L0?
zd2UP*dMm^fcu}&Y?)d5~!Ltp=_AZg|YI`#^OD8r~F6mX!P5bLbc5SvdAJ54+FyU~-
ziU|(0%U;|3OSR`+$rQ9<ee9v{-lfJZd|oD#J|4NGeqfFFTus(}zO2r&Q5Gw&hip4K
zzrW{g`^$LS`U3|q21w@TC@wKloKm{|O4i~pw}PBsYQB6v>BJ}P=Ay&auROiDUoENO
zuBm%%alC5RWScE&cV!pa?%Gh-wEf)rB%6OfgjDiY{11*O@4T%%<&L5ki%nIHpp9XU
zbL}U_zYAYH-QBS9r;<+UJ<k1JUR&9n<38TbjyV)CJ;i<LAA9-wvxRTx8U3B!=e0*V
z`&T;~_bYCjYjZl%oj2;(y%rRRiCdUzsHHY3-7h%r^?@_1|LBzS3IE&7Rkws$Q~wtC
zXXkej-S&I8PLEaAQM^$ZU+EYYxGE%3T(Cg$PNdzwb&mb#HYNq<nscj|ac!7>qW!Oq
zn8mC9ECnT#&(<eJ@~gf*t@l6W+a0(4)=fFa2iB#xPJCxuk-U8-^Wnor8qUs}bRR9+
zUi#DTm;a1+kBw(Oy#2WG(^F9c1LNnx0Z-F%a+##}Z}?p3ko4w~L+XYP>kphS%#q>Z
zx%Z2`%IeR26$YC+Q~qnZrF%J+=*&L1)K$sxcTq&sj#!m<+DV)*N`<?-+3Vu!=ZkFQ
zv^;J)cb=5V{?=oq%oQ_g`IL{>zIB@Xz~bdTrOgXsE?u{=Skh*CGG}Suv|oYE%OAb5
z|0OtYNvh4>x^u4|?^NH=RsQS6p}s#;EIi)dVBBZ3bK}B}h=*Qrvz#vnFFKIzG{a!^
zqYFP@?)jSb`Q+Lu?|v^j_Q&e5k79L~v*>f(`nA`Yb2RJs?`rYy(OLD|hlNc?%jTnv
zy<z!BBbWRa_l;PZxUcF=Z#X?SS>m*6-D<_~&l8;$c(O#7%@B0h(lxnjPW;X*U32z*
zlrvq|8l4u9<*C?geWQziU)g<IgCz?K6hl4PyEijEuP*0ro43pGXa8Cq_F4I@UDJ23
zVk=&B;Z1$RkDRHp^5@)JKKI^_%k{YY{#weEa}V~!$L+n^a7}i>gF|i=%UKNf=@bcZ
ztZY*auvPoTxGB|c<?LmLI+hAG&RLf0&f>bk-7bE)sPo<ky_Zaa$2htz_Jl|0J<gou
z<h$)kPIvLY%TKp^?Oz`7J!sWTgJ<UgTIN?Dlvd#W`ABpjcm46zNndX?USl>py8NYD
zqSTZ2FFhaaH-&1n@dPiZxUDhk(XR*5kC|R9wUS%8V(EF^tp^;}y}ab!z4&2e<+k*+
zmE8S7b;{@7b7b0cy}YThEM>y3`3u<>xNMEvS!p4;S6tH9Iio31iCH{!lC|x&@0rpM
zzdqt@yP5Ej$2{EX%Lk)Z^$lw`spNQRSIX{seXwQ83HH}58?NnFO`Y|(sCd!u;``;o
zCHjKZ8-z|9c5ZK6@V+#HKa>0K(MKPCK0O?><IuF^WG<m8S7ej))9)=_*{k?4cDesN
zW2Zw?-7nZL)_QY%!ac9A9yKXN6)P0Fi`Mtv=`afxey8aYdN|hq(emd`>Td(;+gE*i
z>+aI@ypOAPckUxgk=0s%4!dnUbLi^(K;26$uDT1{XFnEs5fHSN_e#}*%Pt9;H+I*X
zg_p<4c9}f8TJ(H}q37Sv=HfcXGxT@6DQ?=&%3gVD@BEM6xwGP42~E$mUfpN1(DnP3
ztf_xo&rYA4T$g5P`FZWRiKahd_aEAAuREzeDK@&bAjZ9d*JxeI*~@-uYjn&^H0~c%
zJ-F+M@R_}rUimiHs;yd3m=iJA^|t<ofb};MFGbae@&-n)+>?^2{={g*NnXy!HVt!*
z9r9y6scOpC^_aE1KXXC)4qH+0>YPtn4{t6JxpX~$3-blDOUolzEn0u|oM}I_dMUfg
z9UhJYZS```mOgxK-&x)K{Y;|66ep8uGVR<Gh4{m?J1SUCZ~i?0=h{Dc>u%J0#dC91
zs+mmxd!gd9!*Sco=PK`8Cr0{B+Of~Rw{eU0Q-$IeUI*BAF!}Q?47|RicHVM!73=rD
zyfSfi!uJZQ>hwJvPafu|-IKia?jJ9+dx|A5Hfr9=N+|5A=QO{X`$ER`fzD4!d1vq9
zN>119tC(Y-Zn@R=!pNn3g0y7xteQ-v!+N*={A4!e{Z^@Fb3pj<Z2nE@%cng0vbyCC
zbMtcXPK!B~uV>yezBNZP=EmmE?f;9<&d(7Jo&Cw2<-vuCe^&aQcXHNvSW@Sey{9E3
zEy~bNd|j*0&-YKw8Pn^N%-$5`YliAra}`gI76|my;neb(Q>VO(<yaukjepAARVF1>
zKF_+sE`NXUQZi(rba&2=z>lrEd=aI;*{A&2w>LobpvSEO8Fw`<rDbQg&uZJFuk`BK
z!9|+3_ACDGPO5X5mGMdXqyE-;ol1-E_eksx_vV=vHDT`hfQ5R;%pE5`tN$ddG;_Vb
zROOj_xqCMoUb|IkQ_ms7+;vW1x50Y%RVRM_GX9v$cmLiYm)gJ&(wkPzt3UVbotVQ3
zPKL9~<YmJz^K%wDv0Ub#WUImb&34KPw#H*0KR<qxnRkVwt~;mb>+&PY8*9bZZ+)n7
z>7oBa<6fapD^{)vSmVw3rg`B7X5Ja!>s@M}$%yY?vHzC1K=<YP-fs)9Za%QSZta0q
zm$vTd6K7g1;?~leJ0Z*?eZvNCmS?|KCTvXleK@J?Q1+Bd%Z!%2y&AYuZ*}DVKg~L;
zIivQ>Xtn+HZb{h-$(F6<ooiP&EnoZfYUSa7cRz1@rpoY};lYcp!u-kqSof;_S~NR%
zXGzlweX}I#XMP5U78RKtTH%t<w)&+)RB=sGM|!(K?YZ^glNJ{Kp4gTamhGBvR-E(F
z`AgXEdWN1iyq?nwE%=0|=S>jcn|{VeOqA8o#LU0|a)q9$k%0kZY5&gT0`SuQvYgH3
zIk&gnH7uX=Mnd-Xw%prhR@=_<S%=;KKBxHn&aa`hTmPL&KWF$_viQu$<h4;EDw7nd
z#Y_F!6}XwXm5ucse1m*@XSUCjJaFa&o4=#tGZvGwjZ8PYrFSz_GDbNVH%MJzJaC9B
zAvG<naXCXrqm0emH99)6^$b^*nf&)-GRf^dyXMWBISjKDq9@Frx>B{_{@Js>H_qOi
zdhulFgpc#pOcewkByqCLh`!0hnB;ZpmQhy_Lzbp1Z-dAMxfdxp+yP~#8@C#<o`{~w
z^mcBe2}AJ&;RE07*&8%Z+&l9se$E`p|Go$A@xFNSiQlkTeS)lmqf@L)kY`}Mtb*dP
zC3<WI+sv6yc>lkg_x{nD-~3V;uipGw|MCT+-v92L-v8n=|LFgUzk2eqy`ZuUH}`=v
zr>?LjFm2hesXhJI^gN?)&lDJ**I!Co$M;|Nuk(qY@^uWa>P?m~&R{(I-*NY?TUt`L
z85yr6DOj_Ii!Ts%U`$~v*~Gp=^0xK=#U1sNr~a&8c&sdJ+r0n#AN=p0P-ytioky^`
zyZ%Y?KmSvwA}^g{&RCZ7^i%)6XUDevfAQu09<dMhrvn*gMee-yce(tJevSWYuJWYh
zzy4Xj{!jX}`uGznT6)Tgt31Bji~rfJlbFwCw0YBZh7~*iD6iN!`R0G2|9aZe(TJt}
z5&!N-9=vh%<SFI_r_cP*?>G4W`e*)<|NjFPEmGjuXA4V{V_=rn=5A<ho+^Fd@R_Hd
z|1Zpb_38=Bmhzw5U;RJx>Hg>acUf4f7<?aI4|iBrbMRW`+J&O~gj|cKUMMLxc9Sa6
z)_Jgce^q|T#WiiZXL<V9eRzNM<LA4AooUQIEZ^$t-=Dg(eS*|+MnV5&%NBbc`WpTr
z-s^;xZcX;~`ypI$(ua80Ej0P~#z%Bvp3=J*BeQGFQ!|&}++3uel`4Ch<-(GPMZKr2
z*%t(sKe{d^|7K~%mz5WcOZN#hvX_{yD4wR+dR@&)|MzQw#Gj7U9p)kxZPQvs8Ts53
zZ+#bw&*3<AFQUHq$0cJ{U(I9Y(IVU0&Yp@=ee~~Vuf8~6)x)9^(?!Q-J-XHTm+9Wl
z+f{Q@mgosh=P!|*#gg&EM|^vTM&tL-4=29qFbk33$V*z8e|Y9`k)N3&AG3v*`CYtd
zcsS(JO<Ttp7a9A*+Y<G{H?A~e<6=2+$z3S!`kFJGf7bph@e4OOTi?X6<wbPw+*vkH
zwzd`DKIHx)d;JH)qnm3@mpWZi4LHx{vUl1pzQSYex9=^KNWW|E%Ti-p{K~!NO46Is
zFxkf1u9l6ncDu0s>rDHr6+X$x+d%r-*Wi27+Wj9j=DhHWIC7*y?3lN1$qVsiaba?2
zIPyyuzq(e;x3PPv_Ra6F)D*YZU)C-R*KChpsVww-+r>X$<QmwEW6lUqKDW(S_VMvG
z?>0PJn!TH&=EPok=eV3gQ5N4tal0ZLSD77nD4%s_db3}@R=@=_)wPemJre%@?xfFC
z{@V%8)hhY1+zEfaTn}@N@!YGvdET=6O)V*HOE15k>UH^F-8a8#*{s+Q&7}(Ja_seX
zyoK(4pOyb`mM-m2k6n4&@P^jD?{By5K34f_^1sc2Q%=|af5`ILm~FYkQ(tEN?6geQ
z$IGWa`C_vs=0Mbx{uw)8E%)@Yy1uh%@!Ytbx>EBhH+|j6>2WLZNZ`Jt6deJB=*yn!
z6T<~pzMAsK$M)K3d+tK7F9rdPPqwfm30JP0^tGPv|HVb+VHrynoam{}k&6tm%Tbn#
zYrlD({hi63d76tZ_i}B`{nYHTnU`C8?nYhhaBn8YP^U?u?VB^rDxy~GzU=g?S$})w
zzPT|znHi6LLyjCeS6lYlD@8U+-&0#j=**LJ!FeC%_N{H#@m}D(x1o4@?XQ)KpEm3j
z<+R^%Huv}ZdY0B5u8%Hys6{wgt3OLJ{W3YnWUs)iZ%Sv}HZkgbJJ2<UGvo5S!U?;>
zL?eU0M)8$O7~k1#;#YX}`2CN`Hf@dvw>BO6EoI}SmQ^kE-saa@4_o!q?X~MJ<*m8N
z8ryETN%W?tz|IfPPJYYJmN@j9Va-)LnWd*LGJVPUyVHgB)0DRQMH0r39=wn@n=Ewb
zqT~4$A1#H19zP1KQkn74Yx|m`cPu9NWT|b);j%q(*kBXS(LI+lUq|Mf-~QdLlTr|!
zlf6Z>$wueVX*2eP7ykt$p8vtr)4DU9>-Ge5!;Iwl_jc@ZpXj8qr0H76-+#P)lj`lY
zFZ?Je@2u<)KWX5}b!G4QvY>j`&?6jM>NjX~9!hh4;^DaHhQZfVp)(p?KPOKp+vZ;^
za@t`1%v%NrP2SXeV^@3Nc_5-de^!%~Sajl)3ZwVmCuXd5?FgL2RIPnzQ`Dq5{>@&M
z3PpEzX>@h`(l+HPzT}Z-enDp6hmAYmtiBe(V|YXHn@(c1a#`d4y*|^<zCFF$xW3?d
z&FM2HpH%j~+7SG?w&$tbMA_YQ7(K;YOg?P9ZN5Eair%t~&)13^68zS$?cbia*vUeq
zuUp}p-0A-1GmhW8_-9l8&%Q^YX}<+bPrTi>zJDo;l;C2G{d)@-4{uo^cWCD61;IT1
z`=?&M6KPx*bo+ekt?G3}XB#=sPp(j}3C*yys6XVmUG0hZl(63hhY}4o_Li5}?tfk(
z`eNrf?~A!pCoJW?^dsxy+w=p5F~Zz?_Q|Eo&Gua@n8f$N#OIHVZP?e<a!sXimlq`N
zn<4%9P1@p*2f|YJ?1)xME!)4@RWnnUX^xPntAUSX7At%Dfe6*QgHJooH_Vp2@%*IV
zbcV(m73uQz);=?LuD-M6q-z!j->GYXvjYydX*(x~)xErK|LIi1+f5$U%+dVI#JYE=
z-&)Ap7QoHNwdC0a>3nVXV9qaV0!7bE;oG9qcA?EprOa0E0ec5a|G|KSZvt*?hx4sl
z({`n58BSb&-0d_gFIR@rUxhuhrY(HCIRD61OS@aQ%GSM{Ra*Z&=hP?uMK90D{t!zl
zeptb;zG33Jj~bU^C$TR(^CedQyMjT4wnCA~Q<GkYgSyi199PFLShM8D$CbDL-gxi5
zc7sr8<72x{NBQ*~T~pP+|GA;~uj_p4o}9o1*7x2t7KBZz@%+Ro#G(Fh>CQJIO;a_#
zal|&2t-3L9$F_|5F>n7EZmB=Q?bxfwn=hI4tTKkDzUh3p*g^4B|3!BhirZHF;qzf!
zlcTp?qWEe0cZPzR{WG@K{kZ=~UQDb0wvPAQZ8O3PO#>%RvGA00*VSaXaKZAD#*{@F
zk{KdX)I$X9SBBS1rD}5jja$aST$Z|2hV`G%ZJGB+)-dYT=lR@qwsDnAP<mUh8B{8J
z!9qU%ro`L4;B}jmwkaIW7gd_don)BsN2a;r$-WkE_sTW@V`N!s=eF(+(6$UTRS$mq
zk&ow4!|NFngf4%7wROf_{&{jMJFdru+~7@n8<B9KC9HsB*}mK=mQ3lqYxSC}n#pxM
z#XI)iKl8h6X2^Vh;X4bDKYo6jA#e5N`}Lu{V*hkpQl(|R4dg{LcKp3iBU|Kd)KIp4
z*^VhCxAppFKiGWa!o+E&%f7ko5tkEoZZ3&i{${)Hxnrjj7AQ_rXl{3PZrahScu#Xp
zTjwF$Hi6<00rNla5=(cN8}&Rp=gYJ8|37b|4LPl|#Sbv)S~1Mro$yF2`<1U(*0#sx
z4b|)GTW`0C9?V<1{lxi2Q*&27n`6ngTVmHXncY5J)6P09HT})}?S{(#rNNDwoWFZG
z3^uH&d~EnHHub*qLr)XOl=}HooTbbo9@}L##6ECs?a)|uYq85Uokq*b<&VzZ=V>_P
z&Yb*wm5**fNcY<8n1rpi2H$i2c^<N`m;Gd2`SDf7y_NObR{GlHY{@>w(b>IgbKa8a
z`?>7=5_%L4rf@b^z4a}6cr?YTQti~X<0&$>f9zf^xzp9k{WQ<U#`jX|w9=lp|1PP2
zWL_lgw)ODBi5asqRvj(Ad*zr)!_OB%Nv?`}?krS3x#9BfW|!SE*Q$=3u=n?I-1h4I
z8Q08=15+=1mp`2?)mr~uv$kzRt$h@4LG3!#nPD&9cyL6nlkQWvCZ|`*scv_#JApSX
zqLL-Rqom~aL?Nw!iaRrFvlg-zRz-5nd;56C#DyARq1HES-|SE5O>kTLH{HarGxO=8
zwI(}izA4SSEBF4?#9vu$GneW*vcKK_d=AUY@~`}cLULEQHa|ZeP;{TK{)grFjt;Z)
z3u2WHbt|VYG)R8Vl+u*uvTX0Gw#4uD&ZoIne)D*gbu?T?)h1fwop-3?eFf!NMt)u1
ztl~41c<ZLA8Z1i}-XF$$ck8O)_7my*?JjOQx>%_8&)a<$U;X)c*=t72i`GBK&#dPD
z&r@f8akl+dJ+(#rb?o;h7M{~hcb{7Cpa1?Oi)M0;$Bxt4?uV~4<#)aCikqQx+xTi(
zXzt^(2>}o8Tx<TdaZg?T>n&Lchn0@HFkPzcsrPicc<Ii1$(i}NNA@kganxLZMRUi}
zICs@aneX0s96Y_DiX|}k*^B0o?LNET?!Iw3?e$5SC7Q3V?>7{h_kLYeWTouJ;KiFJ
z1w_}U8fJJXdyAG@w(jSvnyeA9U#I+#QC-W!-cH3C?>DU5yZbLgV}0PZBTvmXx!hVF
zDXMF6H7-BFzr~=%B<;1AxFh$HRnPVFODZ4Ej6bKy*L-z{?94Fjs+^dbJNEl{Sv-FA
ztg24;;Jzd#^X$DlyD)!jR&2=wwKrR{_fKJa%e$+%J~5fAOH04>OH!C)mDM_hZ4xt1
zYWVAJ-|(t6b>&a4`dXGlS(0j}E%yBO*}J{Mjl=ujv+qTjn<Ca5PFz1T;q5Ems)($)
znnhZDd^)^4-Z^LbdiFM|RdPosGadbY+O~^VMXh6w$Cr;kcRKEWdm;5jnMP>+vl+6w
z*}tNun#EgBh^k-pb5D(Zto!Nor6S1}-(6Jm5Bxh@GOjl3s5wV^`@waNCdpH->a%7t
zsr{>+w1mxKN$c)VL9r{3Or3>am9D$&<TF{=c_w4&>nnKz+PN!cl)5A@4U74l**7i0
zbxmEy5sM`UPG6SNIyqO;uqX8d=c?<P`BU#N=aFC4k!<SkeRcQt`itD_A2f5!7GENB
zh^JXT&O2=S=JTau+-}V4!!15+I#Mi<EbKVZ$@p`&D7VqsfHlEv3vF6sFJJPyy?}p9
zp|~(ZirpPU*TtRXCoA@xWj*C#zx?@Rl{W`J9Lrl4q4g*FbE$85sdJ?5OV*bK=dUr{
zin89xB9*0mu|)2H^KM7wD<1Vn3eq`OJ(=J?Nodmh-HT@WuYTxuYI*f5w>Qo0I!%K5
z20U)<9_Kx?PF7usD%&z&T;NW?q<k^u?8~uNSe6u@c^NCq#dzb8@6$bVX20#LS2*o&
zcSYr1F{@U}h0g&Jz9IQ1mT}GxdA<A4<aV~N-@m_oGVS-Gu)e^;W&d{P{*djr>#0}v
zTK;psbGCZ;A6_Br>?;pg*hM>xrTXiaUcN57X0Nqd$N|Thi~IGzhO~8;bPEbhu8*F1
zMAPrh-FG*_+M6PIwAtU^F4WrkRIbE8{CdFEYun9rw1eV`UK(z=@r?7uba{E1=;Mh`
zBU$eqx_@v_c3$zLWr;3UYeT~YC4Wp(_20Iu-cWdzeVt~>ACqYdcP`^ncCI)eD0%Y?
z!|gOd#s??NZV3g)o^L4*e{{Sue#Y98MvkTP_GcWiOyQq7r+C)wuis+sUtlv<U$C(L
zna1B$UnaPuny&BvyUcG|mW2HOokA0Q4y^ke{qfwQ(qr#g&Q1|^S$k@lL+)9Iz7Gyh
zb*{b6vHAO>zM;+XZN@KFi=U0ZW4F~<ef~EgY2Mrylgw|NX%(0=|H0C&Z)}hGKW?bj
zHh3Npan4Xf|8j*_k5YKuxAi=?AHMt&dsMvhX7Oo-uD8VruZ32#akQmYNS!*CeruX}
zMd8)g6W7jI_Qy^#Mc`Mii+bD*2Bq^Ff3n&O`t#V&s{L81QNdm>K6n2Y@p-yCHp(2#
zoA9dHu&p$>`u_Ux1=~AJgUdfWf4_Evj+LI2+~eI@uB+~Fvnmx??ABUYz3_E-QnLA?
zc~>pWzikxfbus(LB&qHi#O)V4VcGv+&)KrGr>J`QP6?AqX`T7ZuDgGSmC|?9J0fi1
z8AcOTb5{%1)ZX*Sk}FidQ!jt%{j-oYUpilXoOsRtFW0}Q@|Yfr>s<NjH`_M(YkptV
z&mbq_&wcCqy8AzO>T3&q4xhR2d)EEGk_(h?^1T+bm}+Wtm*E*_f^VpGk-Kl-$G{M#
zvU9(3q7Uy?;j64y{J4Q_w!Oi^b-#qytmO<}a?Vxb`JcC{b6)-N&Ad48m`<B&y_nH-
zeWg1ZuM*Da{XRL}fn)W`g*${}<0l+&XkC|e)t%F(bXUO+qp+#>teP}JzU}IlG@iry
zLB2vzm7`|gPmdG#=lNTQv1(T7Zhv^u@^1@k+`khir(SS=x#(tU7RUWv>Iq*zzm=R^
z{p0Y5a3M~y7m+9T-8sDC@JI8He8LAK@AU-L|CRhZXZ@wcl~Qv$7JQCgZ>YR4o9ll=
z)8{zdqng`)PQK=&uT{h7w&bT2GlS&PbH}Ha9(I3b{KYQc&UW5?4U^3?I~LCllwjK(
z%4eu?|4h`3r))nycq~nvum57N(aq*F6ZRIB8GRD9JaNY?nE$X*(7Q&5r)kdHzt6hQ
zuJWzdG_bI~^WoLtjZ4&K*}SmO@4KG3KW@WAS5Fgh72mwQYpWzwJ<Z)F9G%ePGBJJe
zu1$^EcQ|fZ9=g0%?sD!YbKjZTHG=m3Zb7CV5|vz2B9~9oh<oXH#g^YtWLjeY|EI2q
zw{`cbR9dzzS4`A7_;>5CwNDs}coSa~yRP@0{wer)yuJIT)AbCm6R)2?mA&wT)tc9n
z|9n5>bE${_%}omhegVsCUzQzp*~Vr%N5Ehv_v0Ybg};k8mA>IP;A!Q?{CgdP8%Nyb
zCyvXMVlKR$CB~UOS1s+8`p$z&W?_A=rk-ohm*6^8cr@+HLS5r?oePqb&AOLtEn2$v
z%aM@xEZ@WD>qOTz*G-=sTra=tqfkcd;>PvYYF31w+~4gOpXs?n+mNN&Q)Y8VfR~G_
z<F5N<0W1vGi>&``yf)*>>#}0o`CL}1pRYJy>ssY|E?RoxlCWmspv}y8b7#x2C(nE`
zZR)!_Q@akGaj3t1qsZlOi=Wh5cS-*l>2GJ<uN30>!EdK*(0X`XZ}R`I`{ydxdnzP_
zB)(bGynbigojz%C(_>3DAIV%cyLY3f_x7&GUk<3;__4q0{_k~`<v$*>{@Y=6dPe=Z
zX-@a1UYlkla&eE$mmQr-9knf&oU5n%-8;vpK5hA;7vI&@PPvB7|8)7`^Oe&kFH%~y
zXJIp&u^;2f<$EG`fBAcgmvv&@Jki^n;wtub^$~n);&xm3&Z@4I(|11<{O!-{#}`t2
zUHe^};$J*GS#^{D#)N#IaHbP+M(;LEUFGq4?zHnA?U&jc7z=BX+JDWj|F);!P~lJV
zWRGd<m;@foHMk$A%u=LXxa_Wnkh9BuR<Tzdx;ynuv*RUBuTX!tOvgfu-F(*#|6?yZ
zEVmp`U}~$M$o@+&cf%5v`G>d5|F-?AkP&OU#`xA|RgT}y={E8Tk@t3OU8@<(ZkJ@-
z<TB6u$E|(ro1a+c3(ADD)gJyiSx{-Yv8!9X`@$=gHB*E?csZ2)OU-nvKDqz$l{aaP
zQF|^|9`4?slEx<Gr~TPGbw$r3qg=J8Zxnh@SloHvrM}HkxBf%#l7mWztLAKc9&+LM
zTM4h?8;4`r=HE8+^Sx2UtyQ@E^5oCFNrwfeWNVpzDw!;QW#*+P)%ANKJeKg!@IUb)
zVT<`&o@KFiaV<ZNa&47uJ#qNdChPrne7`>)I)427A>~D@=i66K=iRs9c}`qO@fP=`
z<z>5XsC#prW1YY1gssZny82Mg8P;>Q&vc&O)osN8xA*G3pO=K5IZ1yh*H}6~s5rBG
z>z5B7cJ<8^$~1Ag(0);?(SqMd`tG8Si{p>YYJbHNQ_6f`%kn>~OEa#DScHl&OyqLB
zz5Hy$noX15%B%|6;PQLRnMGfCa_+^SoSt(s(nNPo`pm`evJAVu_VH<Lx>cbYSFd{C
zS?Rj&oSDzrYwfmObmX!R<62mzb|BMRb+5EZ^+mbakDeCmgzY-`o^$E%eIK-p)cn?7
z{t+TAZ1cwPiq5}j(`*fIZk||qB=Uvu!~6wlrGl|16+dL}{nrzxd+-^9`Y$yv8)e~$
zUF=3I*ZH*PKmK$me)>}JAgzLJ(HB10q%BvfpQ+UTIY;K_yQ0S@{8gQ`uDc#z7&CX(
z0$WiJhfCo%_J#HDx818f*Y?*%?y#Dl_q58>SG`!W#N*XIG204%m*@JwFL&SKzf_>C
z6*blI=>L;PfAo~_z220%(tCZDeCbuYOH;X4Z+P9C!L!VB+LSXovm`SA#~AZHY<Rgm
zNZ4%A6owV`+pZf%AN1tpEc!lS$)&w&Q@L0t=IngBuwm_@`*U8%_Hj3{&t>fS+VK3>
z$IX)N(tq!~@?Pbu{lc|opY|13Hcr(~A+G#W|L;2PR?cC2_Sm|u^MhTYuRbn$Jb6K<
zhgI13McSQNYvrz2-+9ek^iL_HVO!e1t)(Tdla@U{RX+dK0cpSbMneft!_!=|-oHxE
zt6-7&VWTZMX>F8W+p-->M+`XMzdY@BUv%Q%wZ~@6Uvtm=^#!&U2iW5uUXcIAYf>mR
zsZaRvhL;;7x;D$5bbfs4>gI*@vwsF8i*#$1CvYDzHTbWjB&9N)fxqK+|BB`I+@I{e
zM5X8ShNd?5uG?PDed_kq9TV$4O<a06ToBdl^IyCC?2)IR7fXMb$o#16<ciZb_+RZ&
z`P#R0j(Cvwg#72rcg)-DxR7NhYnkzSg$|wHTe~%*+NKmHeoJ*sz0csjVLprNk6VX7
z*f(AEIwrH{(VitYc)1FBjk~UVb<RCLiz|Gd=dASVW&ed@48Pyej@RU{T<LX`QMJCH
zCWmA1_x(#VZI14odHbn{SL4O2hjx`}Xt5VEZr-GK>f}dZyU(TXy1Q#<#NU|v*JJ&Z
z8Op^<PrikR*L%H7oK@gcJL~B}k1CDOPyengah#m8@>1-X#|9^j|LnQ$`t*NYk;VTj
zewvYb?sx9(?0S-+cu25fk7aJ=-jsW{kAJxO@J{`F<+_*YzbDOXXz1oS#dP|q+$9Z;
zNd*$8->-R^vB$iuQF29#@cWEbhm{;R^K3r(_!%BM-|4MrRiT{YxNGh4le?YM&vm@i
zpMENHQfzU{2L45f363s8aXro3m$|Hwe<ON9da};4%4yD~4GTmg&&I30Hve9cYIump
z+TuNTOXmdD`u+EU9(nZ2#_8H${<KISqGPMh$}NvB|CpwDVS>Wr*?Qk?`Y#zxzL_pE
zhw<zN`~AJgE^dhX^4+d%D!<IZLm3^@8n?&XeqdYv#a}Gw=Eqno)k#6Wt~OmU5j733
zeYfn?<5^mpE=CAU{C426%aVD1)@OJAikx*%JeSMl?;NMlt)()%>L0|nPH-)4%#o|`
zVS0H%|49Wy$K&NXYNvl|T$G(Z#e{X$w(AC`BJ<zhYrCm*?)SId-i{l7UHKI4JiA>)
zmv^3Yer4CDt4xL8Q`L+a_gd%ocuuf2dAQ)a<)@ng(X+IkxjHTps%n|lcjdzS{I4Q1
zn<Mp)toGVj&1`vMZELEPk^9qnRq=C&YCld6xxYQBp7T}ku3tB1&QVLd>bZOhNArY}
zOwRnDLS`RX_)AGqVWaUqU*RbXX=^tKm&RGY_%l}~Pv>cRynUzV(@W(mqghQVG^!$Z
zf4;SqlXsrf^T}~{KlM-Yy5?@{ekJ3|<j2(^d;B*jFy9SWw9<>IQovUKqOd>9ue<eH
z+h>1Vv2bRgYTx#~kC-Z#e1DzC^8B~^xf@>Je6!o`8{L_29vk}byy>zstK4h9n5P|f
z?$SECWqQ<YotAH(PRLZPxmzT*hE<bW<Isf#7kBO06Vi3w+u3S^#I!@|@$bFk6y?I5
zr%4=qyQ7fVwDm*AmafduLn7QMwx4!#^vP~Llv)2K^lG#5>8*8#-v-aKbNy8~i<3$J
zswc~$lN)X{>%^KVTD^-`Z#}niLfq?%fy$rbOxI52W84?Tx$1Cj?TdwvdB56wop-zP
z>3Qy--S3i8gtu6n6)0X4*_dP9*u6!~Z}0t;%lrDTOuNr-VR~|7U5rok9CL*gU))w%
z2^l^(c8Xn5xPI~NeTDDN#NUsy_%VM2_l;$l!g6<;o4Yr)pHsga?0e?k@{O;4O2k?o
zo6N8D=1=Pp$KNX2*-yD-WUft^K4Ws^@<wN;#-+v;p|7^t9PjbEvi#6pkHf*z&+mr>
zKap*o`Z((N)IW=q?{+Fz-d!mCw`EoIY^7yyr><5uSetP_LS1wHr22JRD<2vD&Jn+&
z^i^SL-2K>#yIu?1nY+)==d@1fD(Jm*Ywu?U0R}1c02Mv9mmQzZ3oYE|@1C$gxtnd(
z;<ZQB*Yd^RK0LukX3~b-H>nrG#ZCEdt(p{b|LXON-+Wx1jhZSm6@Nccn!ns)?NPOL
zn@{x5O;%ehr^6Bbu}#NRSfKV<z1+#Ihh0j~yfqM%P}^|!uarQ!{<+<^4;%^D>*CgV
z>TlSxE|2pwz8x&c@w0QbHukQslXTKczT|Q1$=i#Zb^4h+-VKsn`(Dg%Jp3_Bx<vQM
zaf!&p#;%P&gKzdZe8_ODe6417TtLw>_+2IIy(fupms;{HEtoFT-{L&=rQS4Q@3wlC
zi!5(0Pdrms+rBq>;_UCzKOTH9cb*lN=UZ@GFg8=KefC4^HC%gT?`fRiv$*E)=G}A-
z9i#RD9`mg}S8h7LwEFPp$o03H`)&(nDfT8^t87V`lGHheNm?q9SuLky>9e*89AftN
zj$4y=&VRnZ@3$x0so5!~H6`9xGu4@XE!JGHtlq_^ZUXa{;F1$B)K-f`IyNkDlh7^`
zUUtvRZswmehuze_uhoy)6`}QS??-{iN=J9rH#<^Qo?DbloI3qJ{^W-BmQ~)pKF$Sp
z)7ri!oBk54a1N@NazXNIJ>#^=^}qU6?&omaoUx+L`ILmoUFB1gkJ{`@>X^TBv!+d9
z-g3FelYKVS=V<!-Il5>l**X+2(#iZSwf(=OgL98<VY>6H-Em!EjLqj}zm7Uv|HL<B
zs*Z_|#ea$Ea?M)bi%)O&JMl-ONO@-W;->|{F^_(feYIYwUE`k4S(ldnZF=zh15;FP
z+m$`nT)*Y{3(L~oA8&t*$hgw8tL5jLnGG5fJ_pRd8BqE6$d>xP<=3@@PTzGDwOQpO
zw|K^%^1oZwrgB}m+w}CO$okCBLMsz4e``|i=2zI5n0wpv!JH|@LRqZJv%fF7ewEqN
zRdeFs*oTh3h9=1keOJ29Ea$fR{&8tsP_FLD@=_Hm0S8?sWoHW$%@gf)uD@5w2_N_2
ztxtR~>*31EZDpw|ESkG=>i3wR6WZU|^O3`O#)-)i3lH2qG~1lvh3gHO>V*rtOT2$f
zn^p0p+mZjhkMN8~)5X%){*SrVu+@t{FlzqgJ1fLifBCvS<MvIv#BCG0UA|-nF<hIP
zKW%k-%uAt_hR&rz)=#spO_hi`e%X2E+rOW6c&*jH`~SVTiOaKd{=scI>eYvT*S9A8
zV`5UyJ-<urxIk;j+5;KlrCT-^bhD}4opAU2u}wA~J^kj?{GGbwhzxJ!)i>_H0tGKL
zx~+V)ua!T3!J<v)cNVbvA6$OZXh&&x^1}bzM=x%F{rv8u^NAu;mnHI*UEaOpc=qY&
z!;jv4`yID<$8vS{_CV)1Cxc{sLJsRMU%hzq^m@CClU03+)(JOA+*-{kl<{m;+&bn<
z_a?@soS1(3o~WeN1d}N`kHe3c8QYrO3V6jcXUbN|xj+A1`~G8F$gjg}(x10k^g77S
zOM1Rs_Auu)on;=gU0(jVs$hA_@z);4-@Z!00>76vX%!S3{Jk9+`(%xp<q56Tp<9x;
zq%No3i97j-y}nI7Y>R#OdvRCaJG)x8<UOjB%Dcprb$PCbt~*OiXxEdj)#;Ds-Jg1W
z#kcQ$d~SihicKYRI5!?^jXGDN<ak7AO}44j$Ky5k&l;y~JQbhy+uZGA*V|QX6JpcP
zH&%()t(rA)N$j#~*%PO{4-aW;TA!%&V#|C<9nq{euf;{b2Y89p9}f#yvBm4ix-cH@
z;N7XcE1J79R1$B^Ol3^ozx4aYl_%eYRO^UrC{$T*Tps5g^Mb=NgwLD#oYxJ%<CPb?
zx1Z<V_4WP)sgRcDJnh#vYMP%r*BF*?a<qm?Ewz69-0N7=s+Mk@`!9AJv<#4Oxm_H8
zLFdYW&t{D~(+gTwhDP1ksZqZw&;6!u*cMIo<#ii7H(qkpGfDO~h?}Ki8DwbiJHle$
z;j`Yp7n*eTPHhd#JJzJ*9g_F4V9Q41`%ab)X;#+-XD@x#v~EA|`EyUc-}&F;ps<Qd
z`dZTJ6?Kz}Yo3O^vT)pgIVm-K;+ub;_4M<N{w*#OJzep1X7xeqo!c{`Hm59-uRm4H
z(71NR)5BIxYvwAsG(Gtp^S<Fx>MDgv#}D@J@8gx(^Ws?5V%NRmjMrYDVf8)YU#rU~
zc(X|UV6d{l!}Q+7YkglI+w9%byIxD%F5dWco!Gw@6@d#aqc(2qkuS@YI)9JFK1R#;
z_&MKCPjpRmerd|@3%g@&rX;njVd73+-t0H^u52oSu8Pc+Y6bV}zPT-buORqZ;o*;$
zp{v?zCW+d*cZlwCJ9yIbvZ-*z0nWpdmd>!*vUdBnwEdkiizOY~<v;sYbaFA=$bb7_
zw!77tS2sH+H64_ha?8Wu%=#~}BA@iP&%ZqHxx=Xg8$Z3Ca5pO@!d}$r*Mep9`EK6$
zb)vmB;XFsZzu6_h&LrUlA3d&rKmY2K*^A`wR^~dZUoJiR>+Zs=sdH}i<y>+r`mA~}
zTkT`6!E!s_w)sDJ&Q087n}0ue^88yTa<rc)iUd6DOxP=9G2>pK_tPyqZr{0|%evW6
z(86sNkEFvFu6m=_w?$kRJ=(&#UgP4iuidJ@HUw{a+EaVk{Z?PSSmpWoQx3J>-@0Y7
z_d|okq=wV`A}1y%YqOkbyLHe{grVuLj%s`eYfF{!5ia2s{{-DP>@JZ#|6$TqPQ9Cp
z-wRhb?br|}xuW;?PI0F#S0q*EO^;~zGV9%X?^5D&j(8otb)Tm^OgpP75a_jD{$^WF
z+GFW!HbO<d3cu`f>%1QRm{5P^*Ew~k{H1YQET>JFy-tA5-cNCj&$q^PR(V=%w|!cF
zmK**)+9v2~`Ct0fJk?Ey*G!0dJuhJMB#&M5GVhrLHA}}|iQDw=cVcH_P^MAuoi8hE
zOIz2KUC;Y`_Qe(x-ooVpC(oE|Tzhw)T={0%aN}pPE4}|;abf--rO1}NVUFiMfqMCE
z@>k|u68@(y8_@E;*7@!}$%oAbeYNFmO3Oa)yT4B7jM?0P4I8$dJE@eohyQhYlKX+L
zTUSphKlzGh-}g<+<)U}EKe*FT{I6rN^4vp8D_gi^SIj?BBCN0c`O)-q_tyM>tML7*
z#-<H3uN;_v_uJdsCd`xNlEq*D@mT))uBLD5lfHUcotO6xsT4l>JKgW?FZcfe_UuzU
zKKk4}xK&PH=;y9gU9xhVjto<`x@|Z8r~3W<2a{W`UtjW^?{>65<gs1OB&!m+qqBK0
zZ@C$|BvpBzQmX*Ja-#ctordXe`!}3=DShUF9IM6h_^e|~_Jue7`=PY5;K{d`nOhvJ
z)aNN4KPNVi&9uJ4?b4N})7Bnm@!y;fJGFHkgX+HfQ{Nuce>jQfp?#+|r>Z6M@{aai
zZ?3M%5vv}XaClUl)9tQ4>ByY5&4z=c|HhKl{2w-%?_XlnBrj2IayVggdD7W~SK`wq
zZ<ZE(S$A-w%(Zzh4*zJ<*dJJubna+=-T!+BKMV5i`^~n$I<7xjrv9sK+X1Cor3sf-
zz25zA6PtC`TTvHQrQPpVO*ovZ`cR+q$)&o=f<HIso=Qvhd3WRnPj>Y4KRs*9gtEV7
z%=_!O>&fIvlR3}aX7ErvB=q^l_v=k{ClfRFM^1kK+1DUm#c<aB(20MJ^gFOh=B&IK
z?91pix6k(W1E(tvlHaUaX8c>TuwMQ_*#+(;YpRbdY&(;ptailSa%a=>c?CODzgB-P
z$PnUFYD;~wEUzK@&YVhR*@f|^XS3HWYgAvcMC{b>IxXh!@^-6?Cj`r-zR>%U^I##@
z5e~;SmRv29PQN)XaY0bNJV5bf+{zm={vWR@nuu*p$|$qi&(XR_n|)J-U}3j!Nn3oq
zl=3A$jR&lKM|Ww-7Mp%DlS_LZWfP&Oaak-a;-<ApsBi0YVey0`8QGR+wzIyHI=8E@
z=TOixu6o7Hd$)tKzWQ-(37uT&F8Fg@g{#xoi66Dn{g2x8c<DL#|9p|pQ(USh_psM(
znw&^c=k%A3Jv|pz?RI9Ge`cMFs?;8f?B8$R)Qd*FPrj!we`Y5K^O4oZVysJiPEC^V
zQT{1d|ASv$`BPC{a*M~!ede}(fpQZLPyVnVO1$lV1p9<v3l~q<;rh_O<jHo8>&Cse
zwoNabd~x!N8*;PuHAR2EY8uUUe5Z1}+JpxaFP~?+-N>rFPv#_dE&Jx9Has^rCAJ>#
zRn)G}=bmCz-(_@o^|ndED-WmNid_5u(fpTIvn4C$$rS838>8jiQLyfrd-6>uNiG#L
zho+6bl?zU6dv4)lb0)H(RWejWamQq<$V+Tu3c9+x@&alucE75;aMgT=S6kbkgH|WL
z-mKlX)5<kDN-oN_<C=ws#s_J)+d+FbSTJ;-+MHA-@Ka|4lYRaAyW6W~Ii+6y99y&N
znB~e@WvwPfEC0R8IDX#B@c3%GLw`Js6jw}_wfJ!<NUO7Rro4#bVx<i#A7z-d75ugq
zw|`qLRG+1$w8JfY(-)gv(u-Ss_X?bR^U-QD@6TnMU!Gs6J%3qiZChoMh0xh<hdIi!
za#1e?cRV)Q^Z)N8=M|y8lj`pre0DuWXjxw8M!#v?tqb|nU)Z)q)dbfT+@8~v@XYH}
z>JyfGJ9gc@ckPsI<R6`7;+cEx>Sx9VWK7;yvP*wT(|I8UW3}!1?@HzSly3Y;>SNKA
z3wX5TzpUQ1)6>r^Q9Q|dnJ0O{rBt84My?5Gnv}KXgjDLBk}iGU?YD9^TiqS@`i(80
zHB9!+adO&Hsg)Ucr1Xrj|K`;jH%8>x&phanUU|4{GW+7x#KdLKY}@qXMZ)$i`qy#e
zYHRq8KMvNDllgvhu{lgXcHps0ci@>?(d3Qcd^?5jBqTf82H*aBD`}Zc!f&Bz6GMbP
z{kq=&D|)R;=pT2s1?L1<eEKi4zC3fXGUQc#lVsKdmzNKGT=qvldUBH~d9i+Uagyw9
zyQ;ZH*|}FE++AL2^9UYEy(|9b#@W#DXZlssTpw6(m7lG)_xs8}{E74A{{8*Zy8q$2
zTRG+h!V~4(nNQ4qx^LfIZ9eI<cUsPIPINZ3TIinO{F3K#b)n7NRhg|pQHC|VT;ff-
zH$@+rYt$<~So7X8iA7m=5&yN=)9EF#RwjZ?ckIJ_X3HM=KF9mUp^&?EwH8^u$GESE
z|FB)^)cTHJcvqSJpOi-%+mffPPV!20l5M*o)p_mL+TH5B|BmHMy)^6o4Xs%w)mZ|M
zTNq}`Bnrr9?YjT!`HK0Aj|jNwDR0YK#~m}H;nB{+>r#K$)nA^vJXu<BSNkpYax1Om
zEstDJ?r%15*&^FGpWS+Aqpdr0%W~G(vyroFFPrnWJ7!HZ>Xu@3dideiO7;Eg-X>Ii
zwh!33w8$eO=<XY@pKjG(<wSK3vhTlBk#%(Tou}C{?5p?YXk<>g_g|&5Wu4}ljJ?UP
z5|i}nPH2R6su!-Gnx|F&!u-$fBh`u*`ZNo!wAS7++|gonLbX5LXie^a)$`8^w`s6U
zxtLwPt$yyshW~||+7n+`IL?Z?Cp_D0N0Yjr;&R>FE7vd-ef#$MX{_S6Ns3Bc$4*!T
zz1Dv8_1eYOdBv9|PG5Mdsw?=wf`|q!ez}yuNe|2_&bdXdlXle<esJc;<kWiOSslI(
zKE@{PI~zjwe3r27K6%n|#jPT_$I}<T7FUe7^*F<M_F8VDsIx2s*NHFDyA`G9#u$~)
zcqOp*x$;%D4KhJho0_w;!xw&8QLDv0^X&!slb#E>d1P1V-M(|=sWj83?$s-IYpp2v
zSQ7O}Zt}#dKa8fG*f?WTTCz-^;|GshFYCG3(j{%9R&l>~Vfw*kG3jXbzn?sEMyFoh
z={}PmAND2vR_T&?2cF(}_U7Tq1Ka0cmAE?L{jDz1?+zZB$C<r1$NHTxZ%W@KH~$mQ
zub<*~=f@Y<h<0tMSRMVJTl>~V`E$FLZ9J&|XhWj-#-8LhCY@NbLw!bO_qC-2HpYdP
z9|^E>s_*8q_I5aQ$m5#WiOW_c2h|q8Evygo+H&R6Ma3VgawY}GPU=7J+jrHp-J{JY
zE}1c;ZVH2<`8P{_mk^;&9@#mI4MqRUxy^aJ_tDdzOM_<UzTmtZu{b2igs1ki&<f3;
z|1RxWc7KXY%(8>2ZzYOP32x(kXwMV4?fonN{kCuNOkaf8Tm0MmQ*7$A{U7JK%5i$K
z6v~_lDnGihUekLSxBDrMH(nbLxPOUNcIl7N;XAGyf1~i#fsU*E?vrozUt8L-r({)<
z*Uf+KxpP%#rR5(w_~M$-j?9UC{Zic9jC~fW<?A`_dG5@jmA&)6c6+1F-gOLnoD%0)
zX!$OvIzBIP!#r;HS+D99k4vPVJ9Pdg&+i=*<IZXy$^N&i#x5*M!-U7wdU@gFSs7st
zk3>^^waz>{l4-m(ee;%oa@8>%Mt_W!-pjpX`}^0L>&}hVY3@^f=KRn9VZP76ZvIuz
zZn3mD^+|~b4c_0?v<NHHT<@@N*&i*JuhL%UdX%3=oSAFBn%m~mk*_?v^y^PrhF@>H
zvat10aHjh~ma7S$o`g8w-d*PK@yoi*N5>CLba{G8S9Hm*Cp_|E>f&{079OtTk`*<c
zvir{R5AC@e>^b?T0u<YREt*nO(2}l@wC$^le$mc7+s+*1e)xBJ?9JB=(Z_69m>#|h
zo>hHDWX_uDda06X@{?Qb!&h7@zqJ3ygnIv}oyzyMPB0xQ5Bzca;HiW+Wvf5SesnvY
zsbs?*)?h1KYkl58$MAKgQ22F@jh2zeRl0Li3}*=$byt1wv!7`fVzgS?My`700j{Mt
zr-+8-FX<FqdhtcpTrSru2Fv)RmQD28Wxpo2;&4)s+;*E^k2)m_LZpj@xuRciPUzYk
zef)I&?(BCdm7%+IO0Gyg^7CEfI+a&cW`U67;oZ$1w%(juKQ8S0v_Z*JWAef8u}8Uf
zZ%w{X((|}%e{}BcxEMoU&M((H!e%fndofvV^``Z+Pg_guI8r$O#-Xmdsq1UzUJ8>*
zFFUwyJHO(-)Gyc1Mipv&eeQHMqx9lZlU0FTA<In-3eVK<oO$d(s!EH2w~W>QhH%Cy
zCVN<KclSQdKW^amGR^2k^RIKYKBD2?iA%oh?ecdOEzvRk6&ZV0-YnqW*1}JcpC+C*
zzrNJo+NfU0a(cawM&b6RkC(6S(9vwaX+2r)xPa#bj%7k6^CCB_w><plTJdXZ-6Yvf
z(doaE#QVR$`lHOdqyE(+rxyi#te4cyoakD<<4%Bt{T;R1e!eq}7le}8?U#MKUaRqM
zmImkT`1ZN7a{{&e%Y&_bR^~6XO`G+*UM+degjel;>lJ+D@92J7w<5)3&x|b_%%W54
z=89RV%qqH&l4s~=ZM^e_`g@nK{1cyN^(mH2eA>Vy%q=8%dEbkIgwJ2<zkSu>{5IE4
z-g%<uqUSqquDH_Qb9<(xj_KB#)Sm5;&D-}Lyma#L;^27_FBpFRFqtbVWPFOVthlQ3
zc!jPG+oY%Fr|MUFK3&PZc8!c<W!0@shU?9gP3(;4SH+#?N-&rd@TJX|vs_TXJR@&j
zY`T%9s_CWD4J_XIDIxdX9gH+K4z54OBp!HJ@=d?cQhC3|<2l?fw{M6uwECs7!t4G!
zpXmatU+vMe7XIxkVU!WR#Q*)0rC+{euUlW<+{O6%@2a(rULCu4h5zcRZEeYK4hK%~
zD3oIiy}wCn)#6Fb(MP(tW>4s_6EAW8IO%_c<#n}95?%k4CT^^b%}$-NOhoK=h*a5)
z=z5RC2b-TM&-R&Bw0nuK>%X-}b;LLGtug0#`b%m3`}@gl%YO0PQvQFZy=mg?GN0}C
zNd<|PT7ng6l6z*S9M|8m>G#uW+wxWacSnhLEs^Z=b&}@GWJ~`U$ygXZZJT+{mG6Za
z51v|Hy2Y52bz|QArz=XnthyC`?l<>JuUF4HXU^@~SI_8Lzj(!}s$Z?imAU07{W{KX
zYwvpD&pSctQIBs*?xu+!Z_N9qIpg4(`XgT)zY1G>wOn_)VrRQ_wx+erX4^=P&J~sk
z5!Dl-|G#cj&)I&l@RQHq0`ZkCC9F5!q<>FRY1?Ky)pbF4Wcu>E-U)k-{WU!J_Vs*w
zt_ja$7RgUj?iborA0(XUDQf-rm`4G-!2QnVRnmVnxGpT{^u21OTX$V2a>260(X#u0
zOzAzxzf^NNyW)|W0|s4bY?UkSHCP|z{}-xdKF{jbw%1js!!6AIYF>BD$+@T25me@2
znYj3rcJ0LnzUv+T2s+C<<t-NP`r^3Y@VoFWE(wORFON&kIQTF)m%08$kAw@W0^8xX
zGn#oTR+>HYsbu#!@A6`yr-)k62A2N)8s%TrL>FYJ9C$Emw}ijoiRmBD+wU##n*UAd
zgk*mEe6PqmOJv;mgBOZi(a)cEw8Cw_W&g`}ESihf@}Jx`^|86@?8kpH7nbH2J8gYe
zw!K-inqd}m+Kv3psY0_nYi;`5>*p-eJ+_<8^W=li*KYPtcaNWOcv_Cn{&lNFcla7y
z3je+=Q}E=o?Tddmy-!rXUVJgyQGq*fm52lH@uZ^D6)mrfI+ls|75x`+tX;*j<=pKH
zaX)9hRSNsJ^Z!(%#zwncSGPv$O`G;_QcBnRR6A}X#kKduTP_@n=h7~b+Gu)@dGlh;
z`uM78Uy}bmW9}#n-ELn}wYzuW-Hno}i;`#XW@iU3EA(;86kfUO|6%1{$|)V@@^@#l
z85sVVWtcnJ_H7=krj+C=#oab5-oNfW&mJ6f&;N1tpR%ou_qiRPRqM}^abEDnYhp*o
z?SOA9MB+S?=9G$rn6I3&@n}t(mRzV|s^y!m2ln-!v?Hq&oe%B|*z6m+L1WU{18o{|
zbsOJJW6J)%=6lDTh6yp#7Wl-jpTF0v^Rdge*Ou|K(?xC`jGJ%hz`NVu_sgTL25THv
zgh*ZYyn4lyXL|21Ygyhmwi>1%)}Qyytf)|I@<?Nk&%Vjp>0jBUfA1{MmU*s6{9m34
zS$)JQTd?}OX8qmxDb|T1fBszgUCXwq)n<~?`;ZNDbha+++ndPB_*=z&&Wg|#)m2_H
zw<iDiemL#?=J$IG7JZ%~9}#%j`d?{oiLn;{xi##Y-v5y*h<8z8obt4|=k@D?V=PVQ
zcFQCu{yC|)%A%@f`a%~KbBoi5IHKpDPC2K4cDK<P=VQ@}Q(tXru1~*k_|C7?ogZdx
zxgb>|)8=`BZQ<{Ue>K8itz5QMes$z5$HhA)8`WsEem9zGb(KX>?VaYUx(9jRex|uy
zXZ?CsBxT;}yvTj4g1*HS@$GV6KZ{v?g7wlkDHfAH#!9~lIp!O4_MiW^>FD(h4NKIb
z-tFkR`}|kB`uceXPA*LIQMofSt^WM$Nv{IuteSo7=8Y^z`IK<uxvzMpJ@{5}`Kb4^
zl<usDYu(EhZVoj!`f*_e+k(RM+4~OpI;pJisg!Yw)Ye?DG^1ytoz|MH+cNPn?p_kl
z=bk<}=jw|0E0->K*y7_dud=Ky>Wo2X&$}g$1bvPNJ?Yv~vS#s5vFU%4`1kKW7P4d4
zlKPD0Hfj8eBDM%CED_l8hKWOIs>ruxCtpp!lou8nI`1ggALS2WGxs0Yzur2pC`p#T
zLV1_Rey(R4J94kTpYQ(Y=|{orqZae_m@hmVclJ_7K<&;m?Fw9(o!7fcHgW{FXWU}9
zyC$>HCwB9)s8yPL_kTn``T68*!OS(HpReUyPyK$XuHHYnn7PwcDJxZ0<9v1}TU^QI
zO$^<a&ah6|x^n07tE#ixK7QesJTqm<t`<?NAmQKI&C*uyIYmwE>q9MP?aJgctDNEb
zs!Q?Uej(G^s^ZG+r`?qMd^F#&9u5@@<8hy|``GW97G?Ewd^b+*IBL3Xu7>Z-?hW&A
zIXRm9uU)eJ^Nr>8i7}^>pRY3x)2vgRTmO5Bq%pt5)wNHh-NRh2q_5w!c7B{w#DjlI
z%&ObIb;rj=Zu_H@eWyKb_f-GTe8w{z7ljsGhzjNsnSWDNv9_Q)qVoF=W-bvGeQD|Z
zJ)2)zS}Z<%^fiaef@ih?-P6^CzFhcM!1_KoD9X;`rGG<c&9@b=Zr1<1w)E#awl!uN
z%0F5RW^C`A-%%bK*tuCR<M74gwDOmlM-SLvw*lS!xbEuR!!e2Gl5fI~ED#Rd?%*EG
zdG>vS%$Gwtow>h!Yp36loRWT1cY#Ln<iaP(C2P)^D;9sxn3G}`ezQI2`|*id(Yt3p
zc`kQo$GpGqxde}QB%Vk*r?BZ%{TlOQFSd8h-c@^OabZ{#-&#fe%YBy)aL;9$cDGjX
zr7Qc3KK-S4R!`-tGrq;D`^r2eRrXeoTdMO8{o2PCLCtPY*1k~rd}Fdon67rYb<Ouf
zU!B*raBchR6X(s^zV*1HbiG*JnzEuK{~v4|aawM1lezY=y{w8+E{XopzEiP2abNv=
zo&d!KVym~weY@(wksAB&Q22#_g~IPmcqCFq+u|O|9_3$X`Xz9u)#a$|er9LcW_H%<
z7|v*Vwx?7vfF(6Z;9uCrnIW$P|5eQhWPWZoKOx|cTD<(bd#CT-Zohu*eMIEL>CXzB
zwmbZGU%lqf1BQv;j~N^0yN0;>`5y9oqWt{U(h&F8MW1HBa2Datn%1Tf*v!9b#{Fue
zw9`L*JCm0#w^liw`^5QhzJ9-iy2|#PSIe%oX@)-ZHQk~2uPt4Xb)n9Y-D(G9jw<r+
zaLVL)UZZj8KjR-$#be-&zs%-lM$-@ah$%1|nwU;kSS}{cVrpn?K7Aphghu_2<bu3d
zF<qJ4W%F)q%e}oV_qOFm5cPb{jWWMUzstVA-3Qw7`~QsTvl&~D$z-p)wbfj5;*RFM
zt5;25EGaB2Y^!YU;2PuF+BtEe-~o^GOwMj<k8;wUWIavL&w7$|jQ4_pG3$yMmP|8d
zFrMk@@i9nY5M+1PPuJ%54rf@(S$}oEW5ces6IV{1JJs0X?!jvZ@18m$bl~;7cX}`0
zJ#u^h=9vF~|A}2QB@bM^#FLPhn$0E<7;t6Mr0EO+UME&Fs+@Uqc1~{&V^`j>ZDDE*
zk=nw>)#Aol4Lh5S4}7!dZs=^@yYlLOlbsj-M>p)<J#+JG`$K2u%D!PJN?PUgi0jiT
zhI&Imwot)_iF-92!amI}sty-_SAQc-O;7Ltt3I&@zxJQF_M(2`$N!7|r_QzgFMRQ^
zfgz*MTAvukV`*Yx-wb&EfAT$b?+)XEfATl3oc*|eWj)KzKa2Ste)hMAFa#TauD_AD
zZQCcevNQ%SL3V3*^Kj$zhB?hEXKuE2IC|pVQ+f9}^=r@k_cq<MdDGWl|5g9Tw@q1n
z(LRmiX7rzA`N#DN+Tw-U{>H(s+Slv<n3-?-dwhBQW2v<NmNJ&c!P@4#|6iH?H~EzP
z@vK(~`LDm$Z~wD=dVT(h1xia6=`HsBykGN2dDNMEM-E;&b&qMmqhI|C-Oerh&-`z0
zn8~JJ=Q;j{pQ(4}sz31M|Ft5wb?3t7G03|8sz1x|c>g@mjb8n#I&U7lbUyxv-|zUL
zGb{;7Pg58R42^#Nt$#9Who$xGo4fzr{#sx4^Zl>;ms8T7Wu`H0-uW!ykZ{)Adtz}f
z^~3fAu=;H_NMGT$`54O{yW8cfn{!N)GP4RwdOt7d3Vy)YZZDs5=KJsZtoT<8r`~um
zUGmP!FFrbfOYTXXi`Mj<+FF12U3<{O>f|N=cxPB`o7-t~BlpVQ>}S`~HYk1N$u7I+
zI(JL3rTiwA;5CV^*A*--#T`2KY4To{sdB7d)4rL{xyk6Od#Nck;$rW{1Gne<PUvWw
zaKB)C$_=(@u2UWR+y$ff#qR5D=-OBRg4-g<GW%F`Z(QHkY?W{C7V8=RoE!GZWB<Jh
zQ>K@eQf9Tcq|$aN>n!-kb7kR-l-rVSR;PnD<nR2zru(wC*}#%d{?EFNV!JhbKHL+M
z+qqUx?UPQlj9XK{6RyJzu0M?mj~bke`0^!fTa?uNpBeVY4_beG^OaSwazgc2NBi{~
z*3=7$K6oIMDRJ?~Pt%=~c{*1FmrUQ5Ffr;>&C)Huk{_*3I`&Sax=G-)^vpS@%S;Zk
zy^cHn>YnwB<846#rDc{E@+H0oIegv_)3u{X=;bR825xJYT@_-krvJJlH!S^PzPF;)
z#oaSlQN{MZ7hmFTHw$M~<Afz=Vl$+E7aaA~ZIWA5A6%0<^Ly(J+ibh_vuxS6T>Yyn
z@pSz==?|9<eY0b(X;E)I7AwvB^xkj(pf^qrJ{Y#No#8*e)hcI>k`HfFM`*QmwA}i?
zH!FWFYn{?MQ)a28DzCARyU*mAXSapL|31Ux#3936*g551p#LR~PFdGY(x$oF8&+nE
zvpP)nT@n6zUUvP0j-N|YeVP>J6-VryI5F|ta+w^(-SxQ{_D(YzIc_q%eV7pXUd-df
zBjpJHdVj5-1xmBJ4tdpFP57)=S19`CTJ{pn%i;Dymk(Rd%46*fTyye#mS57WrJEmW
z^Q6QE@K+eVo1X7_(0J>%33nUjE1RF{_-gcftHb28?j;XaDa&4#u1~H%{JvW!@UQCB
z7qJ_+u|!wi*HM;8JNj7BviL*qy=i~fd|p~Ct7a@<fA%29M~fKi!@hrO9&!E4*Vyv!
z*2$&`Z0v8@4UV;VM<&I-5NZ4HZEf_yc^8jQoyu6zTzb&7dCTR3>kr=V-fPAhAa2{M
zy!(Wkxlwg@#?EW@DHkOZ`#t39w{?G=cH!kw`<k_LW~FXj^y1iBR)v`7R!WUVvQ7>x
zTSayyzY*G<^@DSQV@FlB`m^~r4DWAt{FK)`;lZ!x6Lvq}>A&TB3Rmp$?WSyRs?=Zb
z9^2T{_B{CbrNB75kf!|~c*J#tYF4{Gt_&?Y=e*DD#$=&8-zM5VD&qeT8Ygt_xUFUV
zo?Y+kW;f1LF!ir{^8ZQDkCS(sj?1>su&OgT!KbMp{%nm$-7_=piK!08ulksO@1NEm
z(8eG4E$L%Z+m1Ee_0#5Em@@mqLAQSs`+B#=p1bzc?Ll#V;>iz+eosaBa@K4yY&LzW
zsQU7H7;7%)y17?UUPb(L<qdri>|&n(snLm-x3%88C-gz(U!xQ@^FHGu{dN6+@03qq
z?Q3(L%=nmlg$_&j70&0kA5~d=XKf4EYb#&hUbE)d>NDakZoN}iXBSwjG~F+rS&`4V
zS!Yjv`Tc-xy?Z7f%=sF^tM|1cJ}ukAIl6z|Q~4wL@9yy$7k%cA$UFYw)*{hw*Kanq
zw(U3G!m3|fZ|U}(p=$SY%c%@y_f;O3M!k0TQm_A;?IshN_V!YJBjedLGwGh>NvkD3
zAJfz{WJ=g|{>8<TgU@A;9_%!1Z|`y9zppnfYOb2uPIt@NDGaO4KGp=@S)@_(?LzW|
zFC{x!HTjB^c7@*Em*8v2z0lybfynw>z4@0H2+5}9@K>FCmRrv_PiNBsuJDL+?+!d%
zyV_)OxZKNceX1Uw9s(Av&B3~deX@#lHr`soT`IAhA$E(+J9fsx?3v5%?A&)HJ8LKN
z$@aKvW`@5!-?h`b=h(AwJQR=Dxx4GfIoqRY=jFFoE@wLE!5fjk|KB$w#*l{^)@D1F
zESRx$@>CJG)Tr)lVh2ypsaO1T`*N6?jE<k{ch?0H>sELF%86F2{~MU{$9K!7?@t9B
zU;N*9#D2+#gzT1#jL_~q*@6iZcg5E!yxyXovu@q9uMbO<r21!l|HihqF?{-3jzuf4
z_u9Antg{RKc+ungvWMYIZ?V=osdZ0W@F36ZL*K_EUXDU%H}Q2F*B<_>EWT|`{i*4P
zS)1FmCI9tKkX!yMyQX`B=X)E6;<}~UKH9T;5B}OIJmc)&@W0)2^lZFlEN;KXS~^?r
zZkNye{5u7E?WZcuJ1+CNRm=B_#`~0-#``)?w{>J)vDwJy&C*ia7X9|?iON56;S0A)
zX_pqQzsEB*>D~1cAqy=#z1CaLPFWka)pmcq^YxO-lUtAT2Jy|=@SxxWGc)(ejC^sA
zwhck=7T9e2vSGR2uiYPY+OAf)*CfAv8vEU1rp@KtJ!WC6Z$I6q5WR8zDi6zv7h0wC
z+8RASmE5Ro{@SjkcP!IJwzcZW-B8!NKR&Xt6+g&3du7Wi4dv=Rf!uz-N@aiSStz<R
z;>GNlTMyT7<u>zuDxH?Af6#i`-Lw`d{$!v29to>EE?HqWm+xen|KrK6*`B{!=B94r
zX7LoPyYalK-n-dHv;EnGlP@2o=`M>}IGNMw;G=1moz4GrPFZf#dDZxBsjTL!*}@mZ
z{nvGcd=73tl*AXf;f=^Ti?1gnrP=3iXKJfdoTDK>p{G9oN&S<}yZ_9(w@vMm?VQ)s
zf1Qv``L>T;reuxbsk*t3&-;D47;m*J+N(}E{^y>WHOtpeJDC2!Zlij*^z5I_(KSV(
z%M6#iJf7Y5fhB(n*MgJJQd{>vDgK+_xhS85W$oo%W>eW%i?-ZcAk1nbX3@gL`6zwK
zMCWD8j-Ba_i*3)-Q($~vS1+0n|LwUB`$gMEt)yk`M=ylEJ(!vBd|uP`T)}dt$lQRx
z1q)Z0Z{qpnKDqzLtoyq?-c~lf)Ao8de|oFH?yK9&JABMe%7jk|ye)r7C+hJ!mPrSh
zv)yjaH8^6<`9by5YG;qMGkPaCtL`Wc{xomT*OHEdS1-(}xMX^C+RDQRdREP!U2nyq
zV!$-1WKYh?$kjn%bLtLQ{F3@pUAxBS{##>>^BN{{5!`iW4NmU1W|>-Q`Qpiv?Yugy
z`(#>q+Lk+I8;j3b)H3_m7T@OE_e~XEd9yoT*!}J39>WC>Tf5lwmNFDqR`T`qX)8=x
z^6tRZ2(NVqE(X`8yF55~sms)qn=Q$kx5B^vvWd^)#X9~W9P2Y9A0)4n*>v*Zc9|f)
zf|EC@r9UP3h{}rJzR`6kBe!hn?CGfvC6)4%J4;oZ?A3m5Vf-<b?fB=Sw=a0*r`9A%
zyH|8XNE-j$S<)mHQ(?U%EjWv#H|G7D>oRk@`@beQI#q_Ic3GE8>`gh8VRoiSbC>LH
zo5}mk>+j{}*|^Ni|0MHe=^Wl~8e$g$ckAevf7#%hV6mCmK>5?^<Xsn4uS`yG>+(9R
zx8%J1qO_w^81|^#a%y&o<W0VCH)El6CG#VHhX+sIr@xe&`!dP-&z@7CCw*`=4?h3R
zBCkDg>OuauUjmy{%Kn&2PvFtZ-LO0Drh!pJ#wzZj)%FwWn*=9(^!;wKH{5&Yqlvn6
zxO=Uwx9;RTEVSy}oL-;3wR>{@I!%7IO{95Nh}yclznseU-8$oWndiRh`pA!L(sP9Z
zl0TmP!q|7zFZWwj#{GaR#}m9tSN&RhVD74~lT~+K{j*>er(1XabMBZMp3M8V7e6t1
zZG4wQo$IoW#4Aycd*KQ78>eQcbs2cCd;33Vf<$nA?z#LYvY+zZdtEN-DldJ>S->nB
zU1d?&`pf;0=NZG;uI9)--5Y$5XRP!%HF<8wB5l6PZC+DyHf-nX*I-Kv-cZNZs;NHp
zcNd2t!~C7wgMIT(l+2b`Tf|~qKG$Ax^M!Y&Cks>}Cmhdm66!v&HX`}`l==)G$D4d_
zii1BKzvpCb=3e7_Yo!tEP2-B1_ow$CFKFJx(f&!zQX;~9w?z_jUhPKL3lTGAmn2-7
z?weE`eV>2p&88fmr#3#xdp~9A`*IqXoGWEnb0JX1(3N$YZnf>3d=9R_JDap>%2&-;
z^!WOrKQ#w4(%*_V3R$tv{QYtNtHgix67lXof-g3oIb~&&dtw>elq+W*mb+}9ZP!)N
zzboo1$A4A<xrpBNt6V2kG@stVcClxZe!xd2XM>A#l=6Qj$c69twpi9U-(}kJ$R(xz
zn-<@<pLfJ2jCElI`wN4`F}uFDyjaDv&)R75p6TbNRaWRLhB;+VKKPx>rS`bfsyjPX
z+BVle_;e?@wZLw!)L-5MR;iPpo|?$CHuL_1V-c&&+`9eP9{QSZ+q`X}T*lt}XB(aw
zt=ODpb}W0{As*8buUf{9CCeYiAMSlHv9(L@DdU>8eor?DdL0tptf($)GF?va=mEFh
z%=DHs?iQYZrwXgb7|2a(&`Nl*&DMA4^@2xYDxYWHPO4}4^7`0^tSMg~zMh*|p?E1p
zX8u*Kb-kBaLVvTjxrL+^ovvAHRvx*LVa{UXk|SYLxMBrwtPFTrbk|{<=v$))zI(a!
zUM!!(pLc!zD+9%&jUTouc~>5E`gZTp-!G1xwX$x{n8ow-b4si3sTPP#-FLfMP3+js
zV&w$u%em^8j`kkXtiK@;Q78STFUml+_$C*7>7lhRybp7htYTkqEAV10vzFKV3(p!K
z@r#8oGM>15Ut3qt^_`0)9qtF)1f1e*jCfqzI;lFPN^Adx1&<D9N4M-%TF>tG`3k%F
zUia;@p6!WeGJ96J@98F+LmysC9<C3RQf#W<+Nz$Lp3?K|d_wqIsarbrH=kdzzho?5
z<6ty#!7;fjiaslAbqgHMo(d^5U^~u!ZJG6+4eFKOb7xNEeVw57zH-r&wU3=k-Fo`k
z5`2!_*>m5-wc}^Sr6!Al1@ZOKhF=71MKgn&-zc6>t?GKKTgZ9SEu|`7^#RA0OOYOj
zW;-QYNpfwLYo8@I!N}LD<#q;tQGNUUPqF*o|ND8m<oOI`_L91=ViphAnhlGkXXoAH
zmldks&QY?XL!*pA)7{1Fe3;YZA8Y4Un}%)C7WwzFlQ(dBOf&ma#cjWinw$M@T)#`|
z%)P>hgKgoTjjIpceJ-OdtGRcVGSjpRkEGSY4^E5dx&JySPQUYE;Ulvf@*<l*9hJCJ
zFJFAn?(>?Jl0UP{?(Wc;>s)U7GWKku+(8DV&LHQvDJQmn$?=-#qLTkC!(DNrZ<oJ`
z$DHbKe}0^M8(p*Nz(%d7VnP4E+|~9e6a3%*^277=dxtgOyY2jN(qAz))MnE(<7Hgz
zb67v=x8FY+wBq`vsjJWZb3S(e&d)7xD{rjb<nW!V-rVPjr}>49#~BabS1tbNK3{PX
zJKOrF3JUXP{Hoi^l36DeFlS$-_olyAW-4CZg7TT|VdrBsZ!@O#bWXgbA@xRMSF`Sw
z)9TWy-!FdKK6S1=vtE+q%xC93{<aBy3}HQ@q?EhaS}*7{PfFddw$RWsVPb5*B_GL^
zt>s^~`gmuUUO@ddUV+6yEqg3IbDpkV<@ob(OU*eg*DvC^YmZsC6~7O4^(jtC+_k)K
zS%qlJ@iP~qg^Feg>u>ttzTtfDleK>fIoC24O175#t+zOoo!0Z(|B0_IZ_nZE;{wy2
zCkI=Zy02&awN$4l>&Tn#E!%o5-{$e}Q+U<h_t7}s){<dY&z(?~daJC9pDg~oU%%J4
zeAfP|!pF;6R#@6sx5O4}Pu7$@7*eA4t~8LrwfV$7x!0@gt1fe;3&-%8zc!wmerD5w
zE|EKX3p=f63YKTfgz(Qlb#%#HtKMhAYaK%+rtqDd)$^fZ)8wPBy*+yMx3gP$QX*C_
z|98#c%!V5G1)Yn(Cj=-9tvXX*J9km#&0AA6lCEg-U1v=Udvxu}IhBb{%jB5P-dvS+
zUc1rdMAxlrv)=xjcfrvpNov)hXs&0c8(Y;A!}iBlSLy7X?P_E*?KQJd%{tB9i+1RG
z{@z(<UuK_~qQCL_Z|fvK<IVMX&6>55YHRtL3s_R;Pt^4f<-fJ^y7$yzmz&$u9P9O7
zeh=nfYspsmG>JcMUv#GK=Y_T@n`fVtVllrSxY^N2wD;S=#6<=B>lbH#sXe+$EAT~X
zM3e5B+j-9G=C04yQF(Uq$F`O??oFclyQeO>ugRfj(-5Alq7&?Wau2s)wcYv*eW}%1
zb#p=tE&Nv`{%@D_Ztgmrt9K(WEJ$|7C8nkIsXs*;@(cKwTkeN$(GC(3SZu%Z__p;~
z;(Ea@ccP{+x3GK>(KKlNBW+S}O35?MF`|C0!q;ivn6~cPDW4JWXvv#L@#O-Kd^-N-
z#4@Msx85At&J`s(tt)s7*Yk}H6<5{V8NW!c>FE)=IU_q~i+){tfL`>MU3>Ce)?BOG
zqhM(Gu>NjQ`Dtb=du>C#prk|lD*E}Kow;n!IJ@|o@$79U|JNQfX)YBF&U6)QD8FX>
zJ7Q`>)6MTEH{IQOX8XL15<VVb1`DCaaFghVvsXOGC=_Wuko)e^TXVCya>as%@*Te=
zonDscTz~73dz0(sy>gD(H4J6k>n1lw%gtfC+;B}vaY<yoaL+uesg|}W-3NDEu+cZ)
zy!nS${kFVGQ}mDQEGQGO+9Y;d=V5%*t@-cfPEWL&<n?Z<h4ONld7B>z@E%px>5*#7
zkSl1FT5q-NWzsewl{pO0TdK@$ES9&u+;D2~vAZTs{im~M-P<YqIMq8MRiK%(r}V27
zOTN!r=E%cERg*unmDTUxC>4BLRDDv?`bW#tJ<lyaQ+oN-hX*cP6K20D{H=9<9Zz<f
z#>Ou1lcj=@UDl~nq}bUO$-9PI-ioW%I=orrj%f6O@a>ZxJbchG@AKnWfx|97v4_=C
z_-1YL_^_#?)9~Sya0y+R!mR8h@t#sn-__BjGqd6vSiNI!tl%{Jp?Kf2{$u2-0#gn@
z18t=<qO$@O-6zCPtN*@`d0qL%>Bl?fYo*Uoto@jOVD&C_#lunOwrT_(NPqQrhssr9
z_e}?$E4{2aAGc+Gjma9HuEmnI1rwM3mRbJh(qH8k=G%?x6J1xay}Pu|f#L7(^JV8h
zIvilyHgDhSI@u)?>=|`F6{fm!wE1z>f9?}j-M4V_?3}h88k=gW_Ptrga{WM^t!i>s
zl*&2A^#2ixsgszh#W$LSJPBUE{6X$<VR049d0y;kufvV<`)<3{u3c17a(v;2lmA{E
zJ9&@o@?5j;2W)jKJ{qNNHrT%+)cxlXAs3y-{YM|oaN<)uwZPS$rH3)+MNojz7T*bH
z|1PXIdo^Egn)$c$f-&=DrV8&@-r{y+$B{?Q7A#8oJNC&t2S<F7h`%9v{e6Yg39<iC
zi#kh~xY_#EoXVTSTQ)y?U$I1J$CI1Jar2WJ-@JcWe1Gc9>koPx>&`aIDfJ3(6Mpc*
zJE!@~bIEn`_clJ6oTTzLW1*d?T>{tDL)nqrCae|e=&#@T<9@B=&y+optP6`hy>C{%
zxG6V9;Sb;b@*JM3-{!04PWSowykxp$=Y`seKY!aNo&WK*Kcg&&d(t{z*^27ZKlWNK
z$X+ba7_(w)hGv7xU6FU~-#?|^3tjD)(V`TPQ*y~#Atf@z`M%GIsb#J{jITvf@7lgQ
zx-R}-+=TmTypJ{R*T;It?q0NXHxrY8j@KNckL&mxf4w_hdEQgX@OInZ&mCq;p82!Q
zZ%Qxwtd^=(%C_JD>o$q4&u-@w-8h)t&M#cBXWO^q{IA5$J>pt=wmSdDxsZPnk9#~b
zKFwY@HERAZk;(jDSES!;-7)i&&*78Hqq#pz3;0i-ReL9>eX3-Q?2&qzdZ&_0pIDFm
zUf<21!05m?Vd`C}(6$|MpZp#+T}oW|%33*S(}ZhR9vu$oy*0~vLXH2E)%J`Yf3+Xk
zeO;rt>uc0k1J_cCMR}!S9p$w#r5{xfgdZ^6KH<`g+3cb9E+3{$iTn_?;zREFGnMa^
zYGt+EzZr!E*!=6`&DYpIzi*W;>)J*2fu0p!j}PVDI?w)i!-ZFFXZVt4Mlafxprzm5
zZ}jchL+8Dn_y0O&g}%IHySRIf#Er@KD|jFGAJ-MuSDxQ8@6n2rRsXK<pZt5F-Wru#
zzYb(?Ogi)@iue1=^T+o^*iWDIME7rspm0n7%SXXdKj*mae*DL3=IV|2-~7BAGhxA^
zpKs@@)rYuS8D)1(TKi!4t`mDzvI91>cwI_s`*1hpMA^x661VNE7#|wy&XUzLQrjcR
zu-q$Y=89!p4gSj_CizdUR2MtN8NW8cL1hiEoNw!~zEyS?UPnKvNtAk)A-rhm&oke2
z15>)}c0X|LyZGo{!LlyT9n<y{s|##*43}CIb$1=#GqWA_`<SlZGCdc!=E9M(_Q03Y
zF{az4+~;oGQ}}dR!LGLQXKK<ls^3nYoHJY8V3vw4gUXenC+RN1Hp_HeU4p6%X3bwG
zU)8lN<ZXt1iq(dV{ny?7_TJ4pHucJ6afu^WfAh8mGMdFaEuYG;@czFki{crlm$fPV
z%FW^S{ryfV_KMWr0Ev1%mgv;@cjqOtWj*a$=cdJ-Su(%dw0_xNqo}uAs;Z{3d_VXu
zC!_EDgpF&oHh36j?BwjWFqf9OcEZ7bS#Z()1s5;OPLVA;v|&?ST8@TBmhY_#x6RY5
z9%gT}{kA7$Wy`ueG3ose4Ie9|u68~y_2tXW$J2Y0-W@!ud~ZT--pnhr<Lg&39odk1
z$R>H64}*ZPuHe?lwg1oS{Wx{=cdP8$EcP=>?>FCmS-U-qQ*X|d#Ve1!PB7u&b!^ge
z?GWahabZfrs(;DnY#tVIe4G;YfMN35_E#s4$1h;rF8VLBFi7uaV|Wm^^t|S;7u$c7
z)mZh;nz6HKRz%UATct~ubnQs`TJ`deW4+4k=|@tkHJBKC0@p6Ht(qiqN5*`8|3agO
zPsIYn#SVzSy`Xv`sNVarh31PG_N3ca-OqmajuWrWS?$Cu#T1+Jt4`hT+ubb}87@yZ
z%Ql<cn|^95(}g)4C-+TFe7<07v*9I%+`Z4Hf7zU5v+mLLtvhCHx~uh+`DMT~mxX&f
zW<A;^SI-qy`#&$^L0s`~r6~5l#qx_kZj;%f*neokN{LClrklFD7p~;{HR-*pYj1Q%
z!WzxSETO8&w^;&u_`Mt>jvvinOq)65*1cP~;^!x=m+2~9f7I--==)^pXUmiFdXK+1
z-OAu^b?<0`PqCns>c5=2&C8F@e{ph2(xTXB3$2#BN*h0|e{pmFg-JV@deigH{pFpu
z@ci7<IghK?XzL2@JwEUHiW9$@-M{TkR#)WNlM^6c|7D#6<FlS`e6cqa%HM3ZWnLHC
zFZz95i8j||8@GD>x}Blg4I5=w+?D?0HsSoI2h)B<=e0id3Z31W8+<2V?rj6n{<&Lp
zMa6h8daXL!b@1W><<7PB_n+)B3$=CqH)*^26632&oE~nExW4CRbkDPgk5A^lUMN<r
zmCXC@@9coI8NCmBT#oXm)y{tWhVi<I*Gj1?GXt7akDk7C+1G#9-zv?=|H4H#<QoO1
z&EKD{^jD_Zut)RmYN5Mx_DKZI<M=ZD_r)Fm7;K}To1JFnvs}V*=<<2TFSm}=J8`W3
zn0C5w{Vl#3vnTfkFwVCAlfk<?_1l3mzT@0SP8J;Aut-<y_qG$Z{s%8~q}^cobHCl-
z;HRsfV!zpE?PZg9?|2tkV=(dPm)h^QuRq&2|E%=$^ka<t%%|Qye`qszLDzm~y%}Kv
zh8K2Ue)_mQa)aJ_wb=Pv_a1)Iux09FVU@Os`bjSpANaV=x;D!!eJZy>M+U22fN9U!
zWdT}c>)v|B-zp6+D!1MjeSxE8$&P~zsW*Plx%m3=B>ychJ2Icm@KG;m;_2CMrnEbq
z_th4bl`Na}&p%i8Zw;KaCwkUY@hxkYtn6{w;8`^5Z1AQ+xqshko`3f}^lzp7`t4tN
zr^!rmm%8@1{+#rz{N1-L?#=mIWT;vrwIy9I&)s&F$Ds*zmz$=uehj@)?_h0O?lZ?`
zP3DWjpG8Y$_G@(p?W?XdS$0d4uc+M8+IP3*N|rvswtGFVW=yLNjGSOBAXq=eJ4Soa
zwi`*8o=lRt!!Wxd!Zq!%ri8{;ll<H(*Y_D(xn>r!{d<yj`au2veX`uUUKZtNINGl3
zt+v&^vU$_93*NJC{m|leUF2K#Zl8(RJ3-YA56f+8Cg<5iCUEE1@AkbkD`fBPe^<<Z
zo_s!|@XKNT7*X?9Zr)AFOFwe8-0MBII#Ii?FZ0fmWg_=}SC!`P`&J+9m1%!{MZr~F
z;gn4q{5kJ$l@*L@5Omq0T3`CHYWb%fNv|@NEi5!HJgDVcBXKD=LgMcC-tFm)aivLm
zy4%@YLjx0Y-)c;j(!J;T_gC+HgLo~Tx1mMGH*WdcT|J-T$8YjeJbc3Go{|?n*IAtJ
zo-#duxA{-i;Xmuk19`r%v7eQ!xFh&s=_APtW)J0#?#_Pw<5WsyMsfR{Vs6Fyz;6D<
z%YHAcHhANE|Jmx0x2n?v&N|NDa7elB*tU=I&sN4BdGYbiI<<*M7p>|K7vK1&e`itf
z!XK;|4WI8A8x$AUvk4VG{I$M)>eugTvQwH{HoUwx&5nipPhj_#MCZey?0GX=jPJ|)
zc{3hVcIte%gWq}43G>;h%m>%A{`s91C)iZa{B+5&sH^WhnQz(V|C^e(dS>7bhH`~x
z>*SdtHrlyddnJ5o%kt%q+Jl(a^N4HB4gQnjDL#{>>EZ^3%F0bucbhU#MXj31Tl<V7
z+$OtX+F36}<u##8S3UX?(P4e<%2TmA!ChjFnjS8_5x0`$On2U%eBwCcar@^LFLWkp
z)if4gzf>P1-yMC;a)Z*<Ng4}Ys0PJe^`2pDdXwEc#`5{GbB{BG->us|YwohtQ|q%n
z)z+&B&9<xeuU6(bv8}}6X5$YYmLn%WC@?2%m901s8@Mc#RqJ6*o}}{Zqy10P%lPZ#
zIBVbS{@12%7?QAf(Ta&ZJ1REW7-qX(n4M}-&iwtaQO(P{^@^U;4<54E;j&_>T+LUz
zL~+;4TpJC!1fDmjEK~ZG&Hn9Aa{nD}F9E?7Q(xbkAhYdOfS1kpFSq%=3E1;AmmZ0B
zNWA(}(e+>)e~986*U3gk9&C+$)#m4a3&y=~&F|Ehx8#1pZ-bJ=1koxJ`R;G!tB>sz
zYL~c`{>sOgRmkG^Q`P#4hg?qcSQwd?cAxCgVHH2qCeRf8+~!VL<R4|tjc3(4jBWqt
z&tl5g>b>n@QLQ=SX>YVb<hL~^AF5cd(wySAQLV=5!;j{Ev&7FmAAP4RiQJR-Htp^4
zb2koO4QX0--*x-+J>MP`y9MtG&#pA_c0YgjV9KkD0=LSZFJF?h@bgDcpZcj^1m2au
zU-~zMbyZ<Ty9;-i!c#?`A2~C%m}}HmO>AZM3Q3Q4cyDv%aD}5|Hh<3kn#EJE+6W4D
z_<xvHzp``l?d}Qz|Fb(+3i;GMb&a2JjW20Y{``BJF3FnQNm)Eu%k`x4X@jr46AHYJ
zO0Jh=v0CiVzo|rC&{zMw)s$@+uhy=vuWZd(zI)r+k1Y%SXuVFKo82Qhzlgc=_q(5W
zOSk2{zIMPxu&W|kJSq56lCqxn^?1v~-F_1vO`kQlS9xl|$4>Wy{Kl$}qxv75QP`Z}
z`ZJjIh+UgmZ`<^|OI`U1DhvCI#Y^AR&D`IWA#pxyn)URMV*$laT?{8p`~UMHyW8ah
zI<oakmpT1x&+RY$+c}p*+E<ffW$AW@3oXlab$F+rIXBZsvNqbYdhypCTWk#<iZA=a
zxxDTr_vDFxH)y_$U)*`?-I*nCc7K}1AY*G-aB-8Yc^TiL{8^_9)_U$%*m9}gUE)WU
zoRsJM?30$yyywgIe3m`cwrfX)@cP-kH^eWp%y_LWyrW)cn{|E9#JAfo9H_lNt&IJD
zPgL8_vSK^NcX$6}ac^{g&^p)TL)i!BW7g8#Vt>M3+KIR6Z~4{181?$zyWZP7b6q1H
zdCy4~M+BYwSI4dO?bhwpFAn-||5fl<>!x}D(}bpzZi+dndo5oawMd!HpKeonZnO5H
z)ayHQx3f)D{5E68iu%tc%{kH9EOKuru?k2<{%+KkY>pBBqZGTs%3L>Pf6v8tFaEd%
ze%+-~w`c~(_4)T6PpR}&-?X^@U|0P;mN$#GX<vCVUyV2HoTO3QVxF=onlnQ!pI&86
zS-8e{%OvZQTe<fi+Nzsl_4ISvvDXUQUHC#CT5p=A-KO&7mEqg3P2!PU^$+v^)O-u+
z{yKSSeUYbS_iFDKDs?NW)#GY~nv$+HWGDrA=Zcwn&5ipy)l0A=dFRf>#rkEb;u_Bu
zG<hz#u%TnOywgVM?2IX#A<L~f>kXf`a<<?6H|d{DpdRD-rpX2BEx%;4g)VNZwK=(s
z|7PXe$0_qyFXc&(Y-X-9>wouZF+=?y$MDOS_s14o(yV&)p`b4P)VxcV9v|K2>+-Ey
zAvF7IwD700jzuD=r>bXkyb!J0xHVy_iLJ;H&I_EP&rfN7Y;?Wt9#r|yA?T^pj;v>I
zO15iqHc!8KQo?9vaLpy>%Lb=R{|Hsz{Z*VZKUJ$!tT4D%G)SW*KJWG46YNix$C?E@
z*ZbbzvOal1<*WyH!mk|VnDlN_-zMi9+DrT7r*a$*nsRvUj9lkhS?h~&XZNz_Y+n%C
zxAf=Q)>Ye0eb424XoUrySp7huDCRHs<<7@Old~oryp*v>KfH}qW8G`^j~(hyue#5F
zwL5;X(4Xh0oEolO3c2)RYjWbvuD?ebgPd#Kcxwfs>I=%mv+jKOmiyRo<Ds6+%TJZG
z^o1SuOsyNe<}TY)I(du2w{;nxPSs4%nZqI<ym9u;v|!yS{~o=U%6n(>;eD_1pM^F3
zrFsh&JH0hN)+M;`TN}eQzeBO<@p6++GOQ01nd0;M&Y8aCmx7XS-X6>>UidElm|Okd
zDH{&WI{f&fmQ>!;`asb<;e*`C$@^}zU;i2WpXI^t4@?qHt=p!0ZxVKrKc_G|IMB2r
zfa|}L!p)N`D?4&pf3aJoGb_%KukX(Lx%T(;bDKF?-b4mTzuCEFO6Lj5n+I-jT)$Od
z<0Wl*<Z<!4;M?wOSEZ|j)_YFiIMQ(`GJcJ*+Rl0QlTIu6{`i~665dkJ|MbMBBU2Y9
zx*k3@#eM3Rsh*$rXs*3%E9@Im|IPh@(3bQC*Y>E%uWS^W6n?c%@X5s#t3wmigv}ob
zUx_V{O5E+p@?7@z<`)cl^Sv)WxO>iq^Hb=4joDKqgnv}9FFVEf&SR09u?#2gv~ty}
zRifT3a<9^q3u{x)i5&Hdop9KpvbA31O-KB%(>wBiy*t%*c*oDiI^XBX61h2!EcLfa
zvg}yBMWzH!nDz5>ZKwH6KDi06;~m$Pp7=NS2;*B5`!^0<@#?wn1ZUmlJ5_%6yOr$J
zR__gGx0>`^e|uu`hv{edw$||a&2$yXzFKhYzO#5qnWvwiHPb%Zf4^C#b)UYtwjtO%
zx&D!~>4rO8<wnI!XQFyHW_O+sU3aFZ;mOOjccxFC{Hb={o?j6R8>iZTvHijG-1|m1
z=j_zln~PaGvs!pLSTmcC`g#6O$jyFyK3?2HHtBj<_~}KLyF7}o`OTjE=K0&>OT`l;
zUa0O%yjB@f{kZ&v+|9p_a%?9qI`(sptotH~AI(J<>bK{%EOmR<o&9WAf!3}4JXUdk
zw^f|0KH=$gdy$?*WT95=+EqI3)0RuO>U(;w6+3jMbppHL8dec@HvemF{y%m_z3`dC
z<QV+((o*Jq+Zk&<Eo&6q;JvWxCF2Y~wk1(#{5Ef`k(24=kyfZreErGb+EUqfR!i6y
zeOkLXVpCmc-1E=%+(+g%%)8urWq)JWl0_FY`R8o;l&#(!sV6dF%k=lVzE9osU7=zB
z&KVcCt}_>Vx?tgsx$Aq^FExLDGVSovzWyMucT4IFysq5zl-1lQ;p^Tc!*aIf`g)he
z;`aAzw=cYEzI}a?Mmhha?#^tj%%%4p{cfM$x#Vj~Y1t<JYt!`py2`Gp513TpA1B<v
zC(*z0)_Rj&cPIXOE;pB9_bT=`A2=tlC0lGgdU^F0-%a}KE4sgbF=csiM17hdj|0Qv
zJHIa$KY1Gb+2za?3me<_F+Qux8-J}ouB!3+<o#&^iglj6KVD3g6n~tqR+p0yduegG
zFUOuI8@-k8JG!$o+D9v@ZNF-#B$8Y2_?2mGv6~c!^Bv`-kI!UWS<%OR=;+_R>cg)5
zZxR$!QkazWPBKp0uy;mR(Gm3tpII6gvZxlZE_A<VQJkl}jO+iBcWzD%=GxI&`(A#}
z(+!HX*m3Kj38%)hBUR~YssCgqmmI&e^3ear^o8s^ku}csBGY`LZXMBWVA4O$l(1vg
z)%y3cg-`pf#4TgK94-|0cYO5UhR1r&p80PU#?SAv|EqL$e<8!{#Tk=7%ANH~ZmpQe
z7!>2)Qmk*W?(L#a6(Q0(NB6(3Z;=uXu&hn04}W@AGJMH<XO^o@%#&CByc)Q{;U!a?
zn8?~2E3GDGToiq6x`o|jj#uSD8R=G=dlCCNR=!cIkG^qt>FM1E6@>21h)-TFVo=4x
zxOxANr3)|DC{5~R;LKRq|1*)re$K=BrBix+wmP)m=TLIvyg2Wigv8;i#<>wb4-bAx
zFyS!yyXSY#;^NNucVz*ULF`@6=UMr_XL|AC<KKPnYbrjS5MQ^>(c^<k%BK8sUzsnn
zSmt)>-0c4!m$$M0UD+CEzIoMsVUnT|9NR^G7TWgp&(~X`xJ$bG^0u!J|NYQ4-6`St
z(7YpH*5tpD@uquAYxdqNw7tElr(m1^7rnhPf9&S3*^qa6{fBSmi&K;&Cg!PsEtxcD
z-V!zO)U}osw%i;~w?vxv&D&8o=YNYNr}~-R1(RP+Qq){uc>1nu!S(t*^P97T+vm<L
zI-Q%e;OKm_-Q3Hz9!j+fTexHwo6e?214fJP)9NO(XPPiw{JDd(DpNQ#WXA;2Fvs`R
z^Noz=9CWRodQ|AE?`$ixzgfN(@4K0U<gdKgxO~m0i#BOl$~n!}i>LfIVmtn7WB#{|
zAv-Lm{xZq*6613b`SC<RWWl5pjP-Uif6Vayw@dhxf8Xoi%Wc9dA7qKXR)0CEN5x@}
z^Y>przS~SKnq*&6s=JR->+*xo>{Bmqf4wrcqI;V1*=LEZ{nM+T1Tm+c+B3OBL6D7O
zP4{-yzt3-<IUSPyFLY~bo=%&Nf6amknFpJ>_ntXn-}K;pr29FyysO)N))Z)b>sH+U
zrk>e&gMQ08|M(4TB?i}xXa3-DU6N<$CfIkDdG4BTiT}IzxaeI--&_CnrH<muUX5>(
za@R84mz#>sH!$BlwRU3X_nGpIEB`(0eRn)z_EYsE-*(OI{92MD9=Yqvlof(AxP?~<
zJIco%%XGRtXUCPP&-WD{7rZxR+9uO#4aTIk%=(Qo^&vqYPHLF{c)OE-w<XK*u-~bl
zFY>>XUUZh#F)Wy48OKkvtvOp>{Zm*X|0=!8>(;T>RUz+{dF6cH_WaoVH)#EX6s_Yc
z_0}}MQ@HJP<Pr0{uXFFr@cMgW;q@ekq^qy*i8#)%JoKUOLwc16Q?1mIBM)t_M6dOk
zo9Aad`HWPd%NsG>`mY~d=d&K3!)U(!R{unU-WIpzKMVG*cR4>pz0hmRqSg)f%9Ku;
z3HwOwQh7S#lH0kG+KLOQ!N&|*BM$GF`sY^htI*E3Wo0wE3g4@K5ctXc^Hoaezd*K+
z-@NupY+K_N`MKfpy*Cxd;&=T~TI%<jO-=A^l&{(Q3!jegbGupJ@$ToY?_#^S-l_0O
zw8|3umtED53v4%>@Z^;D*j3W^n#=gY;otuIpOrj+QpdFA4(}@2zNd>M4}GbcwewPU
z;mn7#FMW)V-|u`e_H0aacYJVFtSg_<$1LB%_<4&jrM`Y^u6<9~`nq-C(dYYAm5g)i
zxc5$(cI}-+Q>(GZo)iB|etJX+-Fi@;>U)uOBB!0)N|{ZOoVD5oytNJodtznhbh(_?
zjWKqccZ`2knVDulM)Ir58MmCDA8`6F@csGM;{whlulR4P3tH>0bO?4*JhJUW%iehh
zzdB!guC1+T`!Yj$?USFa3*HxfsWxqk+}M_Ie2$pq@gKYXueh$dxIU}ca(XjM%$2oQ
zC)XdD;VEAHv3R?>Wg)ls-cAuFu9sW$+gIAxpM9^hBJ9eH5+#}B7n7GvmTr2%FwtD&
z#;4_nuRM4*#V|8t!kW`dXMN~9AD3LWFG<GegR3yhG7f3g<K@BJzZ>qUZ_w%Y>T6#V
zm{O^ylbEaU=j@}Src1tf#ye!6y54*)ocoN{>J{xV^|E$OMrqX^r#)5~mSr7KQ(o-g
zRI2@}bg6-)xL(qeO5HEFzHj=q^ReiLjkDRk?@VldaAVC;kEmCSe`DXI*~x$EUd;FC
z>I0jZCRup}zq8rO#2#N?!CsOxk8zbsj5U9@&C%Jf_^cV6R;r44-7~%M<m=QWul=fn
zPFAI4&2gOZJWZiKP4D!MGvD4X-<2m<nP{)Frgh&le}|+utY>dl{Suo|qHpW6xpTex
zdn*%<rO5@NM{;(|y0Ee;d1BbU_bkz89aJYVeE((|d#Uv;OE%k9Hk&<RGPY~3u<~8o
z6=n2oy3^)2p^;a8kLBjwUOio7;YG`Bj?oT(HmLHjT%R`8?{%GP+Rl2TIYpPm6K{*w
zCGGkaGx2}V55dmcqPj~9FB-IovGupNrSfcYa?M}3%hzjle)M(m=@#udqK~DQUXGhp
zVLe@7j}hOU1)23_vwhZSXfkh?UzX{)f>$=v`-ISS(f=9EkET6!kKBJ$tvhwW*Q~Qq
zg<N0DPinnZu@;>)@r<EI@%v_*dcC`RGgdI!WrnaFT(i7Q`D4%5kMA;UpWZb*|J8Lz
zWz@AyE1hGf<@5JnYGrVkr>L=&OL+@l8yCy;lrG;J!pCPBP2aTi#qC1p^xbQwo!uz1
z)Ai?{2QzXu9lp~3tz%2Y!ru~o?yp=LW}2_Nyy?gDWZ@G+qT4>NOR*Q{xynD`@hWTP
z`lk+xkCxb3FMsi-ap{sLUXA}4&oUQpeRuqtng3*l{LgRYr-^Q^ddzJXy=r+(?>+a$
zmHyu6e}$&aHu<!|zg8r*IcmrB8(N#%f6ec?x<^~y^plfn=mA;IP{C&BwLeotW-U)I
zTCq+*JZj@>uL$`^+{UJjK21t*&rIaf;}$;g<B@*-g00D$9h}$h)7cYKuy*6rf&|?V
z-OI|+PqcR=T?%q}y>P>(SASXZ3`5(CKdR@i;PGC#_NB=zjsrPuyTY|39|ak1KK{wK
zG@-p|kK+Bc!69uSGEdCUc-H@aX`&n8u_1sZ`kA=dyb6CG(}4do*=$;J1S_V#RgIa?
zwkY~%cNe4b{CW|+4}G<N_3O<vCYnX8)lfS3<3{BtmO1`rfASv4r%m0)VWfS_`tDx4
zbI~n1KR(B6@~QT2&pO*~`|If<N!I&b(cjlBm&r~l$!46-K3`pMzxDeWT<z=ji>+AB
zs(&mcX7~P<#ckhyZgzcnh$qSQ#N@n3H$&HIeRJE{RwHfBZ)LQj{$GhOTan|Y3Ad7y
zm&&tRoC}P8Z7}`UREf_&!+UmJnWyu)=-a$!EBcs1d!4p0a0|z=6<QztbE3JT=g320
zBgW{R`_?I+<Pj?Gy*|;f?zq9_cgCzQtNSL_*J|HS3G161r~js(LoPeyM?&XJ#-rP|
zw10i0x23b?$vx9$`>gvW+IrUOtxP*BQ#ASg$*k8-*I(R^{d(yNe`#|apXZa$S2X?R
z^6!o7QR|S@x*55|xbaP1?2P&LTTaCPnxD#cD0Hq?MY8mpefyRj(wlV4HTkRmXF-9V
zPEukkh0e9}+qBF%`nt4dd5TU%Uz4=2{nVd5Eb&*87bfy7;b;mia(p~>yTYkIdi9?=
z?zjdsdlcQyXYcVT^p^0dZ+#T7Hu9h3#&r3wXTQv_urt1^BKvq-ujMS;@2N}6?aW#Q
z+s&GT-m0Da{_4%^ix$1vrkm!zc4P0g%vhQk9DDMn<CDD>-(?usg+6^=)xym8Yihrv
zzS8`+M>2m*+Wxz+@ApZy+jjm*|Kn6HSMsFRXS0WBO`m7^Z~D?zMo~+wnAUyS8Nr!v
z@O+QVghR)UD-<zaQ@UAl>%{^!FOKvLt#g>(om~1L>+bjV%M)wZII<4^NZs-)v|Kmy
z#wO9YE}PdOA9~*^KULzX&@N~27N4{)HX_jV+_}^z?(5liF08se>D`yrUzJ+yf6SYe
z_2)|kkDW>V*;q@}<r~r`yUWCFn4LUBHhoXit2?K-mCj|%%G{`YH#~XQgR|e3=FHFU
zxlniW<B}(w8NbtKbR50NzwZ7D=0jYs-5!VDl6WLDopDjg9hL({mL8D|C3zuVj+eP*
z9dfFZGFrb-?d|mWuOt`m-khg8b=BjRx0W0AWX0vW4t?w?SiH7=Y2xga^TN)qzA)2;
z{Tqkz7Wc%CsbLJ?t~oAVEqH@(&XT(_S{w5e3Qiw7B+Htbn^<0QNTlOz>dRLLx6U#v
zj=qrZl-|4bpM6NMr~me1(Jm=x{xfHa>O%WZFfHqklha@n<B)%!dG6-IEY7^_-ML>L
zGVN)!Sjq2mqUl~+-M&}+$@Lv|dsKz<G-lObn-bXlXNOUPzlI%CILoCdZ{4L_r%s){
z+@KLKPsMBEp1HSOY=1>?UAZW#|Jh@zly#oOcGIR;uKBu;#Ofs{Oxo=FB>U@)4E1%z
zHEGhNzpZ~|hm~bbek<VgY1-oKoZs##w&v6GPIfeIw7&E)Q{uHm*-t}-9}^VoFX%SK
zyz05)CCw}LcV{B+UfbQ%y499E)m?vRalv=vitk~4iW(;rk6c`QAzSQ;o$J^AY6rt*
zW=>g9e{#dM4fC%BJ1V@Wf3@(;_D(MEh`&cpczah|bG*m(t!i4_yu<u)5ytOD-v=!Z
zi#k4m`O(E|r%fNSoShu@R^{fQa>oeK|IZKCpLt~vpmpp`z<t3tof0MQr`N6Yj#+xj
zcgAV$yTObn7f*du^z8zZi?K~l(TkP&?i(zYRV7UpfBRK+Va?%<_1kt$)HXL)ja=Ef
z@aN(hGu|z%of8k2`G4PAd*!%aYPNFGukw^_6MOrWJOuT*RxS_B*R%NG7<5Qkd1itx
z|M>$<FVEEPbe{7iY|2B$$p?=<+jQ@FN65h{jr~hKVqz9azKwY#ASSJIU*Mb0VQtmY
zrQRQ|tN-2m#M2{`;aR$0$Dh~-(SMzr=2?i(`29v8%wT#}P}>$${(n#EZq1&XBxunV
z7BuHMkMGiJB8f~v4O~mbkId82%$lLNU0IbuH0R3INpfj#U)S@tBuj7@eiUUX(p&t7
z!N70o^I043uX%4D_13cf=^UXylm7cyL^dwYI{$E4;*sA|X0S7u9mxu~*`#zZC~@Qd
z<5~h=KDpU5H12<^le%-?e;w^Bd!208#B#rW^Xz^{;*O`AvbfLI?3=THTU79Oj=UFI
z@$bHFW>_uWvo7gJ>=%#5b@f{>?5_~elKJ4)w#<l8`am&zL#T+l?NSe}|16V^&bX_5
zVyg4;$%SX!m&#wXpZ+D(>~g|I`<(sBMqRD{N|$?0xYDyB<LJy6Q*KUN^(*?q=A<Pn
zPw>prJraLue{BA|i25ag&&~$VddGI}((f-dpJdp%Jb!6jJ<{KO)1<8JhVjBn3+m_H
za9iT3SH65r_wU1^W!t|_skUUxw(jY4kMjL<?ZLZ?igt(Ab-ZtWSN>0GZRr%z9p~d_
zq%wVwzJ6%O3NihBp|6EouWfWUyKEf#snp5!-rAm5E_LhHUQcC8%Fdm&-zUo8L*bNg
zcfK3KZJRy*vUl{~UVT(`uH?tZfuar8&R?JD*H=CNXS)2f)2ul+^e<nV$6|V9Lt{?F
z8)^0Z33skP$b6K1|L&u&(w;NByefax862{iGH2m5wF!v^+2%{a3TpF04VhOdeLG~<
zF`Ipj)6e9R8Mhew+Rh!HwPV-wM;l+ho4aDg_8nhqKeL?J)z@|IOqbXR=i@Q2^(HQ~
zTv+;X{f3!g8ucQ)oN>mj=ayIo|Kz&Qs}hu5zfd@r<Mwp_Ni}^u&ZV6;jf(=lv;NMz
zqxq5ZtJb2}Wvs@(?*)nn{LZuWJy^MRewde9pngwC;j6ECcXBr^wk{U%yBcOJ6V_<+
z+|jeZ`{3`uR*Okf_NX+g+;}$cz_E(t*-ua2-oduJ>rUim)sj!5&Y}W`eS5DKyBwZq
zGAD7~f98u<P1b_9?J}BAXOtBYoBrBJjEB|G(#*hYx}ue!2#b+{p~Z9uSrN_p9mNG{
z_pgEX?#=*R)GO_ub9>w6jk(gYo0Cg&Rxkc-{rt}7dsX{?W&JlcOj~Psd{*`KTis1A
zhZtY1diFHq+@I!|jh*ZZv=**9b>_%fzJ#QN*2N11O3lp6ww5t;N$#HYnZe}jS%y{5
z`WVv07`TOnjb&IJt{l90`sS@mr$im<bG<&lS8zCd?#7v0_ijlpc$o0~L0)ba>x1I*
za`B?_!sLQ7;e;Q{J+9u7d61RLw_(FJWA+X$txRui52h8WqE{FvJ##2dPquEDG`n-|
zR!xU<x30*%Nb+OeP*A{j<L`0C8CDEu*Ze<vvi0G8mWFrF&aL||u(_aY1N({Y)tufM
zS}W=qkGM)+bzwZ_VB9e0iv3fEaPfKd7oIHxZ{C%A@XLPM+>iew)cz;`^}lxWv%MIz
zjIr^7Gq<jYCM4x$^0p-ZnVxsaft#J-c>STYyuSawf1OV}h2PjaGx|?++2+l`2HVWp
z1G=qlSnt|7%bNL#?3puj8yP~A7o4{5s<()a{v)21lb`$i>woTl`#CbhAJ-odV2k>v
zEPuJ)>6)I<wRz9dysoYL{~|Xr=X<~3|Gw;5|I>?~oIShd?wkL?`TzPg{^zWo$$a75
z>;HN`{q_IHO$hXJ4T^G~`>uZ3gZr6<3syGIG`%3S;MK4G1;@^%{TKdG9(D4@FMH)L
z@kak;>oplZ|Ns27H+Jq?TgF{JJpX42E~~fwzxB(1c`uhE2QNQoKW+a}evQr<hBPxj
zKL&C0>G%IH%6|3iO%7kl-|esdfB6*u|NiBaymy&-T-*1(N;oB*HTfcF^KP6?JgcX<
zefAQ+?WcHtRWEz*CVsW*$f+|QK5)H{<6VD&xv@a+L`!}B`=an)`=(y8I4JY5BFk!;
zN>IJ%`>j*foVv6>@Avvo=eHm8XwK%~jj0Z1?U=p7`udvQuL-KRGPlk7^Vv#rc~M=6
z=d*~#UF#e@rp!IEb*cLTm0mm1sBP!On|{jgikecndc&e@;e*%zmTu@cG{Lq-nk&Y6
z^`cV>#}9M7WiNZh_s+C_dvb2+Co8UsoAXv(7tj?<WW6z6(tGYb^V!=KLMkpVeDI>V
zCu@gSyi1>0+U)xhg7;tT^)|b!bZpPorqY0w%6ZubYBE^(=Vz!ao6l0xlP|xlIDdD2
z>+c7~w^~hW9w(%l)V;mby!h|B;-5#_lR2-QTs+M+cFB!9H5*iOm!DAFe5k(D+t%ks
z<Es+$mKLpR$5M+}>ir9^W;gGs5fc;Ka4aK9<ngN$L43yR`7?UvEB2q8*5@d`S?!6U
zz#j$4PE&oJwyIkeY8}_+&z4-c$97XyN?WSVHM;}3h3z6Q{(o+o@^ZSz8H*`To!=-q
z?hpx{Ep)Sf!ejp_xyA{1F7O@8xWpn?f7So)i#@8*eF2x><@wL|o_Z}Ww#{-f%c6yk
zyzNi=B<t*58Y?GrY<affRdr48tsj?X9<FQHZ8yQoaDH3OWxabHzb4O#)nQ_p$djt;
zx1_!H`R5$}2ZuR6U9z)#_PpCJ_+w`Nj)`h~7A_xj|CG$~^SM=H@@&sZR|SV%9!HMG
zZ?dmvIGa!!dj8%Vfk3vR$SXa!S1<S4xjMOHLWyqrQ;XtPs^Xb1mTKsG%T2Fz=TzP<
zcX`Q*dp=iR?wQ7r$r*a1jkQQA%0IsBU`pkmw+1_TJ7UhWZ52KJN{?aoAF-P6?myU#
ztPbk)zRtOGdR?)y08{jJBf|`q@2giaF?4T<z7e9JUBB!&!|!EjFZp;UUr<zvwiJ1|
z)`7RmHoDR6kjb;fv0BCrd^Y)g%;C3AKM8!4WAe}GFw6E!b{`(R_u0xn@fW|Y;Oxb>
zKhJ-2hkrFsxr1%<G-0N;s>t};+7b3%JI*~0WRkq_a%$<@2c~iAH8XhXFMZl#Dc-#&
z^h1;K?NH(8#=SN5w`X0y+jdh>I>Oqnt1G(K@#Q|hT|L>oQGeZJr*A7PzvTPJ@VDH`
z+WQY5`E3>T%Sj4<Cw5)UaP7H+Z@yQ@zOOL({pASTa{h>j;uAaU-bKdkv62epvlZR;
zhPB;wfoVvi_w`-5A!V13IekcEWSM$uM)y^oi2^xkzYeZrNnMkdHnm=?rg~Y#yJSzf
z*{qK|Rb>vDUN&Bt#s6-x*&4ed!_sGQ&%&hspA}eo_KOc!k5+e_*bIgrZ+?IEaciD(
zYgJYgr$pS<$;<th=}zY1x*EQ)Slw^MQ3*TwAnrTqUkun>V#VCOuWGIH;{CI?Ieo>A
z)BZ*ICykQacWT``V`O!y<3eaz{VtQ;{4ZKIt*d5V_M^$(ea9q)3lCPE(yj`#(Fp&3
z%1ij~-@nBw?I!*_!bgppRkj(jr#gLpXe%TW=h_p{&tg?_=EIa(91)B6%Bp|LZE-tO
z)^Uo1U$Iys@XdA6i5Xlmk6ykvS@wfZ&(l^_Jxy=Dy!aCzk*rho(vKhin7Zr9;ivVj
zkH0-Sx%9{c<pPZvOF33uP~`Jw-SfyT!Rq+u($hS*Z`{q-T(DEFD=c~<^NvcNS#Kj%
z*G|YzHW5Cceb(gLOy(cqa|`}?1sBdTJRbV%&MW2ZUI+d@Etu6;!>{~pNy3hY4W5g&
zCQQE-Eg3XF+&HPf@`%iA3&BY*uI}J}b<Df>G+X`7wkZsz(+)Iv$SDb)F66yDGx8_T
ziRHhA^VM(9USfNo_~?8EXIY<X(>?ZVY>`P)P5%8ubMKiaNhMZ)9_+vME$9n-T}pa;
zp-&Erp8w>U@LIt=?=A>kzPF2c*}c|~%uUx*rCu)yNhwI|_1)RmpB7eVc}O!b&3P_!
ztIR$DMf=YW>obdGnOhQ$-*#MS_Bh7vhtj>zKYk<#&WQeh;6SD2io3j$(JM;VeO|@r
zutKO)x=laMVA(Q{p2d~domD^N&Y8ZmFZcQ;0fC-nZmSI!m|yL_e&0g%$@2Rw=2JY?
z>bM>q3%|55z^m=S#TBxh_9xm-TnV+Y3hABw^OxtsD_guy82!+zzn<l&yi-YKLZ(`^
zWSG|8&eH4qUkFBamEYU&(96v<WJhbU?3$R#3<+K?@>=JtHXrCn@>o1KRX1t-%b$%`
z7xcgQ@Mr_Gc=n%3cg*ib{5sy{eX?-9LTyx}=;`G*`f{7?MdTZ|nmn7ei;qW&p*<jR
z#kuU-wR=vvt@Hd`<^819{8;_-pDeSS9lTBlPdyP`^7`6;wRy|TSDml?v%bmo&Qt$w
zuWx-kclB*x?IJm=tO{=7X19XvVM5cBrL-rl?NJKKj{9`>w2N%|p1p^TUjN##XqL77
zOJ<fce{UA6)whODPgpM6Eo)(Ui~ZHC_(jWKSMAw-EIDA=g4JBPCaq5YWCYKau-C^d
zoOk(ll*HDUkGI{;_OuG<J&?1yH~+?L-wKubc`e62A4}d5vc7lee9@DRv35+mT)T~q
zz5H4B=d|=qrD^=GJ{&d|(wge`o@>9dn?r8P;iQglQx<()tK6L5nZ&DOw&l;mn!`s^
zdQS7JpZ)n_p>pID|3%h!_1^|9+nAN5tDqY&tNtRJyn5(D?Y}}Mifgx|*KQ6dSR`^g
z{Z#rv>9X(tC%^PdnBJ?Xl&T-|L;KV$lZ2%gUhQm=S<`)clb~Fpn;c*6RvWLClP{j-
zo~tLG%k}T==_vDS+)Fp_SjgU?;I8>IusD6<N+$Nnt?%~v2`}YyzwEo{tG3tcT6xYM
z@wVej(-r0GKM7BG{nPJtu9f@56B{?~w^6>c`X=MCvzfcY-<~-&Pf2q}w}8zQCMnCj
zUf=MUGCH#kuVtDnz%L)<p)6UxR^Uo$NXIJk>5a=D+cL}!yrwZZphF?E`r4AhqxxEj
zmC`RV9&etQbzW=Xga2p07e?r)Ze~9$C^Pjb%Y4P=4ZW@PFZ}A~E}AVkd(+ZgdmL>h
zcifw&RIyvEX-dcb2O>i26(@%;tX%q{Z|{PI%)c&~cV+ukXU}m7tgW;b6??jMje2X-
z3ImZ@*F+v1%~mgDl{lXJ_~fF4He$g=z561(sySyn-4o#4sr%@f>2BR?k)D6P$;{7h
zV|cSMTlZwb&aTY3pvR_H<?5$btC^WS=}%j6K6bI(z1~B@e-F4yH}F@KIWkO6yzl%o
zpmDiR-LH?ctl#dKYOs3?|7r=Yf0H-8{dMu;zE+K!U!Og__EIr+p3t|Ak0qKna;$o1
z=_mBfCo94HywsH?b0_E5%y%)fY8Gv;l2nwx@nYv;kqdvgx2sG|O*wraC?`|Vzg{}*
zreLM<lH-oD_G%0)?j;|KL|z_@-Y`r5_`(8@SGr=S7Oxf)lqo9MFyWT^lrYZ3dlK8(
z9Ls_>OySt3;ofLv+Sj~r%k;Y+t9J&fJ-wP0ea<BE0#jIg>E}gT8S3kJy^NGs-Z_8a
z?bh<#58ADZs(c<Va44NWMakUyk&Uyt^v@IZ$5*}OH*sEZdFg}PX|4BD*g{@J>`gzu
zJ&Pycm6*~GL%o{$!r!+4Yg;Pv$5O1S<>ks&rxpE{M-1yXh_pDhO549Z%B&(bCnd3F
zj{V0y1wyQ+=G<<Z^Sxt*cR;}oD+e2!$DKO6duGo(_)kyf35Wf5*5YUE7wrBm&zC5P
zImYT0{HT8OKK@r5SswRptYl_8pHcNJZpXn3%QqTlH-z4g+$eLav_R73ET6mSq?4ZJ
zH;-@IJexU0ckT02iwf%b^;XWGv}k($6Q4@?2hW>hmfwuyUOk<+>2hd)O~=6x4V<nQ
z7S_1iT{#%E?nJPqv>`{Rt%ZTs?Z~NhMitW;HuUGtJ{_euvwr%nIr}G<1VtHDdbz~b
zZr{{@vqtAk+10%KbN)@-jdEVKQ)4-|Z+~+?@@VbhZeB&b*=|f9eFJ$u?>texJ!5XC
zq}|m0LS>t8PuO{}_4(n-#rGC@`!eb#SOiXpykqkI;O>dxws&Uni9b5)bllF;&ch*T
zBhRlt+23c(n;o(AchaGc^`f_TPg*l4+B*F5VS(h;%ckzpFWa<mlKbRHxotDAd*6IF
z@ep76Bk83n_mhQP)UA}B7=E8tT&W~c|Kys#P{KN&>sQyT^IrL`j+f>0u8C4lKHO(N
zTxP5uF-3I2--W5YtJ+;!5=~0CF8#WRLt@I2u&~)Hn^~JDKU(&0-k1Cnf3mjp)L&75
zv|BJR&2*kjjt*x{<|5%=9Gle{jj#6k*3Y?a<)~-8?1$mc$wmIWMXy6bK3(DL{t<Sg
z=>6}rnZ^5y6ump6cKA4i>b*U4a^i26yS#jyU!`*VKl#`RTVG1w8K5)OGPuTYEkjaV
zu#$exKA$F+l(iR3@0r_`&bML8xg9XQRkdC-`Ky_BzS*X!E2^`19cKT?v{_T&-RfDd
zE{nHR^i*!$wLtbQyYc_+0t+i9&dxvVKPTPt?U}`80vu1yTwTbPHR+_Db6Gp@VekDD
zvg)r*da^w5usct>XW!JHx^*&Je@>3m)a3W<+rNCDUqs9&?c*IxweJ@eWXzi3$R)pd
zV*cLTm-SbScFk6;&HHp(HQ_;;oC%NLa`sjGTe<ppVlE_ya26@8yZ^E3#l8Egk9JJ+
zbbEJDOI535$*%pbHT889PM6JkR@I~ZRiHmb&EiSkxp0H8B6pTpzjK(hXMf_$3?1&5
z8I@C{8_buVU0nL*#lc7E!Ye-Y&EYf9l6<x5{i|zho_Xw1tIuC=cYD6bk<<0oSAz|^
zxjsw(s89Il$364hY3cXtO-gEV3prCn7N0Udo3m`{kF-nIAHBNr;O+UAE)ioxuf-c@
zU)y)ljnCt|W}WYX$GrTvudOPpd($R<y+qmE<&9?c-s#HmZ4)x~UF2q+=y}>(rZe?n
zV}a4#msN^~{&cF?CUT#s-(M-3H{I}5sc3XWjPrUi)*z-3BMt7aMqg&#{C4@{zZu&f
zN-$3q=ddolyCu<T^5cj(`7@Iz*RFr7qch|62J@$TJDN|+wNIUW*S+qC%=#@CGk@Qo
zd~nMjhNH6GD?6fBeo&gqU^{n1{L1BP*9XS@e0AojlS6Jql=O1G>yxHDO0+hpkBgr)
z^R!NlgTfPqOlu*z6=93EaHwrrz3ue>lLFg$Bj3ODx02;F?Wp*B>ff=CRT}yl>)%i4
zU-_?r{msGM#XN^qUY4rbx-!e>eY&EuFD01kb*7QK|F7qt?>H%QC%vC+E-1EE$6$Zc
zXCsE(#*8nj=ln!_JdcT{pK5>p_KV@1`||air>(wfse}fV@^9bdmN4nmtIdY;(*NIW
zyrH!^IB3Edx1FJ;w?Z$R-u>m2<o>6-b_%<6POJD_mj3*!xpTSRevzY-XG?b-$>;ao
zwM43M?uSSDKbWllc|8@G{5IsllXdSq3Op-vtB<mTF8_B!_|54&C7aVvWB*xmSU<nt
zAZGNy>P9_NbLm>PwKWPtnZL5n{+;$C-AwDy&$f!H;Hz7C{e1qkhpq8lW_II(-ZW0#
zRGaO`Z_Zs~+~J?6c};S`f?%uNk9dywSzj~TQvA$G_%*ZI5wV<yzx7O$ST0LVEn1bd
zdg)5X)2W(UPkn!}J5oGvBS-YF86T2vmRA{0(@%Yn8N?meP=E00?jy`IlDs8&3ZC9M
z!gqhdldsRdl{{upS#)iaMD01gtqY}$MQ$<7Tz+ohWC>@z2j#Qw@J*?6JexQ3^Kv(f
z6`y7H8SJ=PxGrImzOH`C+xSx}e3s@3dY&`UsMTa+`gZ#2Un52NHby};nVGkJ4O>eq
zG$lCi>|NTn@>ngi=3Utr_3Nx<KW1%ki!>Cv$G6HQrtw7ohu_y?znFeBKW22O?!k|H
zN8WO09cO&`yshH^=gMbCLPDqW{atA5dVAhkK_m5o(>!*|nA)0>nASx<+Vt*;jD3-P
zY0>k08Jzi-?e``*R`hu_Ma{~Zx%zg|z1x1Di;v7Y@K<-~k+|YY@0QiQ37T)~SDy<#
z9e%~rYx0VY@ChXaN{4#4wWeEj<R>#(zhqx8F}uuIaPL{6rE32kZN0qq-_}Ff4_W_d
zE|$`tJE==FQ+?8jhKq0OMD~0Y(=lss;50S7)BW3Mwe<e7cH896l75x=cH6X)rb#Cr
zxZU@yHGS>dFna=<n8*1CD~;a1+ZDBi+qyn)kFj7j-_sor`cA(;e0uSe%+763H(l|2
z`sxzjob^00#s9axC_7Q{d2X_x^ylr5mOIUP=rKnscI!DCjpk>mCXf7X6m1TS={-Cp
z;&*?r&fndC?I+9aDPGHXV`5502P0$8Ta`Q68ynLPEp6Sav!GeX#yZ#V@^oF%y`7gD
zR+{hZ(yISBd%Ha2obWxn*q9w94c2X}Rch^d6wy+CG-X$P!?!JWX7XxXy|gqSI!Jaw
zBFm!3x-tTNUy};O<EE_AKYDR7Z|A&iytR5+54(>3e6b^(v%T-q{2PAlpEArJ=qR#g
z+kdvrUJ<kJmcqsfv&tXdENb8B9dX7@vG4d-x5&gdW;3}z*DGh(c1>@7FSM5T<BHuH
z$_Z1K$UO4sGym5z?dDYHy6^V$)k-yf8HpEaI^A#VaoK36#GV=?cJRf;Nq=_D+VyF1
z`?PZ_j#p>=*s|`+O|9oK`z3y6r#+j=<vC@^-Rq`IJu|9Kl&lHt^nH0}&%4lzTP)t)
zSUd6N9E;7Sx=De~2L)|Q>#O%ZxXR)>eGzw5$>fg<tv*~lyIo9u_Uvdjt`h#YMcsM=
zpC6>`-+S4At;eFCgut};!$A{Ha<fifU-Xe-hN3Im!O!BpGNs2atTvQ+#C>b!3%w00
zK|=8p%~!-7nUKM|MbESK{QSVla$dVUQxlZrt8H8JtmJks)a1O<+3`qnzHUf8H*3@S
z`!047{i)1Ja*4XS8V{dEwI6qQE%oVn#C+WsJ?`8uv`_4v+w*3@$++az{1X>_KW19l
zs}g(o+Lya~E^<y;oR>Xi>LzdXH=C?lHr6dvPJTS!?C?K_OJd1K8&)n0H%+SQ;M(jG
z_3Zf3&X!-kUl_Auw`Bj&HdIfpSf}ut?N@!*VWXIG&CrbP>*F%TW&5w^-h1}zh;6J!
z{>#4ym5lS3`@1}Qe7s@Oo{B9Iw*>Xx#82`no+$Cean-XDKBn7m_?M-<;Xa#pMUOEr
zL#gEOWZo4A88_ZdJJRu}Zc;|Ez+v`dXJ_&z@U!l?|4_hf`?T}Rm+$lso&Vy<Inl4H
zLS>7-9jKSd*s#&<z=5N|m*>9``0<zH$s>n}|K7Mx3%zW&^Yk8-u8lK$UN&u0UCTCM
zTEws8v$IrI>HUrWxb5LxquRM?lg`x6+LbMRLwc5xeUIjvQ&+oHzAj75j%l)psO6i!
zqu{jX(R)5eIOZxV#CWcMAN@#pM~uif?_HL=bZtDnZtP5XEKpx}kzq!PmU!jky-z<C
zY@W05=QG3dXN8v(RxdTV9W^`4<5y^inuwB2(S%vAr3};ltG(&;TfFsxnZaG5{N+0%
zDo$!zv^wa`)y*=$l4Ew%UN3Uixf>4cI;PvN3eCDQwR~r}@xr?z_ZMvUTNxU*vyMyK
zPTuQy#g#tp*}01pMQ83ZssDYG%V~bS;l0Eu39JuJ1Rd7M?+td($=20<%E8!Wa?H!}
zWP`DJ#R=bB=JwfFF0ARAwEzEi#qHPc{*b-6d(O3kHxg9+)n@&#vEO8>zg&!Ihux~Q
zmycVn?f2bb&VF32XHwS8ty_=iF`l2<BlNZ8Bb)!KOZlN0jL$dRyl|xT0GrqT`qfjM
z|0jj`3QEk6K6Gme&pxKbrg^W}zrSi?N?lvVXCqhU)X|=Jyt4iK^yc)~uioLSJ@@Hu
z)Xm8|Q>W+jiD_487dLO7W^y*C^}UAGE1%5KuGS5TnZ@q$uE967D1IHM`iT?07kt$A
zt$Ll`Z~Uxy#k7+CiW`?~_^p(C`41Q}&aM|puA9A}$-#KR`Tgl>`SXlySD8n;JP16&
z`1z;H{gvzQhjRQ)VP$`R_|n^7+HL1jKi=<SvXExKv*M(j(f&uCdVd2ydps<-yWy1n
z`kcF)veFma(B0?kuxibMv`I{oqW?Ln&ltx2y8U+3(&KYaMr3=OtUWM4EHLo&i;H15
zeV1o;d(?0L=4H`$a;>hQf|kJEx#6KbC0~~vd=)0$bmx~@z=KI*UbS-h`lihvRo#|E
z&B#3e!YlmZ78aHY15dFCn=fb0yyXt~?Y^zWb=u4#NbjRi<TY>k+H1Z6J=|LCv*v`k
ztnRBg)p}KT;h(9~zr5s~G>3Eh?ITZIoK+XEa{0SrQ&Xp5{niuvx0|1S9n`wK<I_Zk
zX<geqme!r!9O=GHd-(w;X(3H7PJ^NYukSLfJM=c2V|#Dtqh)utepxheNoe(tsc#tP
z?YmlccKMmIzbl*O9$ovUY@_^*eY2N3l*Ju+lGScK*Ey(p`9q=AhpIJHVhsaZUxZt3
z___18XN^y{_KE*XtS*MS)blUTTlOrLVdtf%_YX&8Uq8)qswv^wl$NyerBw-%x4k<v
z^7lVIfAoE7_CC#9SGv<)#HlwihDv%QFYHKX%zMhXasKAI+fVMwnU^cCzc;!4cwzjT
zLiUMjWrB>2ON@EdXB<$_-cT>}ICg^&pZ>+)ZaL20QZu*xRLTB&_f^W8_7Ktf;*bYn
zKZR#}yZWd7vGs&TC-0gtRgc5P42Gpgir$>?V9tp+aYK(qZD#RR!^4Y~Sjd(i*qi8e
zG_$*^^h-l;(B5C=OBrt)?)u9teWs{rLpzh5N$&aA=6T0vbjfJS?Y;P8x>=ZJ!tyM|
z!?PbBeYt&NqMSqd_Vbeti`Ji$37>PThr8Y=COhv&{;k(LGIL(?G#xL_ZS54fBNd>W
z&n&e4^quLU)utzASN2Z|T%^MIck6*U_x~yGoh6`PD$4)F(Xl77IhlDauTQRa-9p7E
zb0-BCF8w}Jrr4II{cd&DyLAmdvHdu5+5V2NWZgllJ0bTj>@(c-<>%iQCHGa#Gmh3Z
z=`FCUSGHOj>9A_cI&<wr4reiw9s5581$;U4_tE?7b#JEpyZL{m^BmJMbC)9?Pt|wL
z{SadwX47qa&1PP3>E<UqYFCzAmTOFzT>4r0ol*D3!zUHymANP0?YcNaOI0)}Y=U3v
z#GfmxZk|71`?Q8BTz2{_^_qU;%UuVaPnWn_Yf%z+u$8I)QQt=8{VqX{r|0e${pxnb
zXHn{Z*Li=O!YxC2{|l6w8(MXCE4@Dv8n<cX-*c0NZLWuJu-D}9Kh*y2Q|Vu!6b<ie
z%k^q!7}~4%yjk{7xb$LgE9=H&-Rt?YUftfkW74X9H8zKRg61A(oiRme+p^flis3tc
zSQ#!Yd(1q2`<%42n^)`Wbe^or5a5@4Eq`c+aBt&Ecjj05soTR>Til!)wo&?1(gMGE
z*JjRoI$>8$@XAU5fBW_Q@4P%K&?@ja*J}BROQpXbjF|G6v-g{2Ny6jysu^3HS`3d&
z*Adom=DffB=DX*%k%<SYt)o_a_U}18!%ar<8^=@?reyb-J^Jc<DlEC)J*q$0u=IW0
zo*(-9FJxuEOE#|1cvM-ixA@7_hx<1#uDCzBtfc2VlMvT)tyt&dPkv0viSm~0mfqQa
zVTF^`icgnB%C-38{$?{~Hm~fjd3rvBVa?nhZ+kx$xU`xCF_%t#sS<HxP5s}GQq!}O
zmuzzIa5i3hV1ez048@khno~`#`^xUR)z1@5UF=yJX7z!quS@asdXaT;R}THR=ve3W
z+KZbn;9mEe-9KbE&g0#Ak|Qzw<2=6{QQ?o=tSYM(J1%%8*y<ef-0o)frLzA!#gmGq
z*Lu7XHjL(YCZpx7yk`2>wTzXTPI{ZIbL|#nR;n#m(|_;we3t*W=6{pI*dJNVO22YY
zm+@>p&jhJ^Hs8%vkKcT9_|l(<H#?^?PQP@gX~%W1BPQbY*7vfM{$J^|6F**kUSJ>l
zt~2Mt3R+YR)b_9D4Q0rjS+L0dtyr+hysyEp{CWg!uS7@P6ti92Rd6I<#qemiqU7>Y
z?sK~==gm(4ShcG6$ct6dlO8EepIP@d%Dp>WadUCEp;-ODGt!(|3lf}XM|o74s_$km
zmD;o7jogn9%7K;N-rqjvbY|nr8tWZ%PL!YhD4e05mJ^;o`$hYegj|gqoKmaOP5w<`
zYdV*AWb>i>cV1ZZw&^CE3YD|eoc@zhC_c4tgNHMR)#7_K0?Q}8mz#88-i!qGqa8v`
z=1kKa9>0)t{hifTS#O~Kq}1ZbyctXDMSok}m=Ni(C2tb@iw|rE-8*(l+4lbF+-SK?
zDR*6@@ZuRCy{}!K8*od9)91w8bIq)pO1anLtRy3MB{2LsccsIvjF(m8R{yt@z2V)9
z4K{Dv8{aTB#oSQz*;lU<pR4^_A8b0yAy&@%?%aQW{rEpO_}Fgm$$UMze%EFR#R*$J
z#BJD<JN^0Gx~n&5sO~NM=xlJx=a8)d>+#0dzIiv6mGk}fE|t}pcykZG-@05yz4zLN
zGR*(n_`kf(HhU4Dc>Yv%@Tp4Qdx`VKnYm4UBbVB|c+_>l|EJ^!q5BU7U)uHdXyyrR
zeDwL9oK=AD<kAkg)ZfwDw#+!I>MT@WbiTsB{(Gf##r(w*b2?NwEHd(+rLVg3biz7W
zxf^fu5AbY}sn$I-{gVDe|72G##yhzsI*aa}F@C_bU0_S9NaL*XmcJXi?|WX^X<^Sf
zb#C_U8k+}u%hvQ&1_j^v_V-Ow%Qf4KPYl+2Om<Rh(s?|jZrtNPH7)<~w{7!l@+XAW
zKdKL2|NV?hOEX7*^_~+MlV-dUJaF=~$Ns>n>2)V}?Yh2w!|6|FTATJ)TbQohX28g~
z-afyMf8sU8O!sgP7l#jzwXXMG{wJv6u+G=vbeQ6o(8`30qYvlZ@mM-bzNGqY=i=4-
zAKqg$mpE&-a?fQMzv*)W?)Yq7cp>27sq`fiEna+^yuP00-qaTzHyiQ-{{-r9C@kIN
z^!Q88h0pthXFs1=_^DZI`^{au-aR^A_G{%OKF3S)yg$3{6seZ_hz7}?jAqLh%ny0J
z#+8XlNAtjoAA#a~UpyE78u)4YA^}Au`*k9kUT0&AEW(qoR!QkkG*ISTe$7=V*x=c+
z=9meK3O{(d#FcQ&uYX(KnQ_udNvCPu!q64#f^|I2_H}iAP&N(Q=DP7AZ{yzgA-~pe
zbA)a9yZXnZMOm6sU8&~hucUq5QCfcVAb<bdradn{M|#iOZ1(cm+GkCj@oOCaMvIu3
z+>kLh?=4LJB>3}mhpX>~!qbnF`a%|pTK7Iw4Y|MVbK3sEw>PvONN=gDcMPxle(m;B
z;}ds^(r;^Z>)m*jG4be*rbh0&V$y9d7sPG)!#O4UP1EG5&x5@DOLRUbW&V)8I)Bsl
zDuWps>9)&SU!^4!@6ihU_-MZ8;Wrz<Sf5F=TH@uEB^AQ|$SUL^SN-yZ^^-#u*M2#l
zJlR#?rtbA6GoI~Z7izBKJ;mAfN_tMcb-Slw?7fRkvm62o_2NHFFjBof%W<*xwg<Cc
zzdGm@tRr@Kj=t=w!ie>)xpB2Fp@IwCL$BYO?Yn~M-30&jD}P_RsW;QtC;7^RXMF|?
zt3rOb&aQUvyS;jEUHSf1lVTSxIkYHH`@7feXOr7AV~UEuUY6q2t~ng&lopnLPJ9*f
z?T-2vw=M3(ZZRo*vVCjUv82_LewLTpUMw~Gy5$Aa4*%tCB|ljubdDZ+ch+z*Q{t45
zg{Qo#M3vWm%bM$Xaki6~-!kX(tS7c>9`%XTHZ|0ZY1`G-p&0x(@c*-<re^y<hMUjU
zJT!g!?psdY_L+x-d0a)GiqG4)kp0%%$1f&^xnIsdpH=@n`sQ(c#|5qbZQl87E=*Hg
z!2Q+R&0S{uky07yu#$bYr{%i3n6|UTl>H8F>+7gHz3|e)*;+d~E0+b?o&1?ocd|I0
zGxT<4>F@2?96nDJUY}#vt}W$cnDH`3XZe$(fwHf3x(~8F{r6mZ>MUjz_ggy`%R5?f
zZrs#e?2(%)pChobzCuMh@r+yQN>i@o7f)Bux&1AFqDoHuoH?t~_#0|jpJ^~Bte+^g
zeC6W%iPA6omhLI5F}m<5UTRKWe|Ev1QoiT*j;S9^W~MFQAE{@^k+L=Qr&5qw_Fc6F
zbKO7kDxAt|;y9&w$*VD=_(@&Scm9TK-^CB(i%MqCySJj{$3ERWk&^oJyW*FonR~Zo
zs$cv*?_6C=%JSGlj+~rR=lMmf-hSnZ)^QQ@ZxL0x$%)xk=Tn^f8>3A&y3P04er@Sh
zsh@?OADOvL{+@No{Q5)cajtE`6p=64w#tX?w(jgVZ%L~4E(j2)f99h4?W^M}^$l;I
zufM&@sIAp(Wq0=0k_VA-mJ<12>v<;C^kyx7_Dt>eEo~{?RhmUMO|hA*@tuE)o~PG{
zah&&M{(Ujz^Erttxt4of%@q$8<gV_%@bFMoU9rrZnPDB<u1#LP*!`$L-TUiCR~$A7
zGwO=OiZ~zddUNN?)7+~Ce;2w}O7D8K`1vAZkIC{^QoT=^mN0*2n?A+ln<7_>!eP&P
z(e!{15;uJR#N6V%=@)S=f7KfE6whcrrh^LF6Z96DPPTPBedK&zo$8KI56%|;-y2@D
zuytg=P5s-F72Xn^{4(Iz5zp9GAzRIs3rhPZ<}%3LoVe3s{ic1ITSL?TOx@MkI_b@c
zS6@UXtHsOj@;%8WwIqDA{Pmf9#eHXm)K1=Im#o*bf7lguSx5PCUAEHkjmq4IPJa5S
zq%uKP<egf`zy8F}$?;-Bze3t-EG~N9xTVqmzHHI2`|qnHDmFD(sWDrJb<H$3?9fu(
zouRkqPIG3`b)DipJn>6CV!8P*iA<d@wyddZ&c7q^_a-y)oxUFQ%694m@n?$?Cwhv7
z9_f1W(^ycc{_&0z6?gJ;r@zd*Vdpq)&-v+2dlQ}%oSf9SRQRpQd`l}2MfI4-PfKQP
zO@G0xES!76=&PmZQv*94r&ty-ommMTiw&xO&JBHVfjMQiu=T<4l!`^y`8zvKh2E-b
zHR3xubMngGScR^+@9yybsfbs&@~>Bh|Bm`gxm_1K+Fh?j@?NdqDQJBA%e%9pS-HLo
zt}MQhXleH(qg;Tyc&pZxdFJ2$U3ewCP3HMY{@gh0*Ev`J-Zbz(bm4|w?gCr8-G6Ei
zN__k<bL+RILfcKAnJh2MJTmi6ruJ`+xlLCBpEy0JQo3EVdh!{Ky%q1w4ps*))vABg
z{?_E7L-+H)TNN)9I8^(Y`9G>J)qBIAzd1SNr~CdHeV0p>IQ3H4@4x7by|YqG+UC+r
zci-QiN<Vz~xyLcgj_J+|^%Ew_RhPd$TX$p2^OyYGwjX_dynK|v<n~Ek+Tc&jtGQO&
zR2marw;Po#@v(E7aryC1f#06(DHa8XK86K9+b1(m^U{Yyd1o(OXZBS%cAN9C_|baT
z<?n8<y}GufTdYyqCvoywTmEPVR;K2db>a(n-p!bJt}OG>LEiui7RUG6%QK3f9@=>1
z&1t)Jn@(s?x_4ua%#Fu~mxlgb7PPHs?NQa$3;XO;R_Mf9bUZq;ENadIi`a+dr;hb^
z?Nlph-DV*XUAXd+*zu&Vw-~HHw`{dOC1+ZBAhZ5PRLuTB-fLa615Z15xhSdSq&3dU
z_A+CB%2A`97yoUMgllJS(!5EkPF=YY92*n98p&=r67X=jtk@skHW&Xtix_T~Y&N;`
zsqWm<f@#K*%Z~TVn0C3*BjWt+f0w>Rzi(M&f9~i^(;s0)TzM`<4zKdvtj~)n-Fvgq
z)L!(DkIqJ|daJy}-#FRA4c2X7SoV3I#Wo3Frv+jCaz^{Qe>}ba<fg=yIQiA9?fR5|
zT+Qb(4llX<^y}O|`<=L*_OHJj|LIE*^VPb>9QRjiz8_s=vt`}42U<L@=lsviEx2cB
zeBt(OvF<;smwd{;=iU+g)mZF@;^TM~_DRncu`X3;@hmetXmg^WUgSf{uGiO=OX=>E
zJa}{8iVHOhwpAVt4OV=9reR@)=<V$#lM0@$(m5IaBISa`jPk51y=ziiVsB1gwf41Q
zQPj>ISJ(dTo9i+0@%e=do_9Rz4X(J)m>+(kCraDA(Y92KDK9if?Co3UGUl`UwwPTH
znAY#1uT<5_TE6<5LHz8gzkR~$KmOdd<7HXT-eSkujcXWtW;o`C$Jv{IlAhDLE7||q
z($XUbgqn{x>^z%fAvST6fE3$e(~Y((&wh}6navYbrI~&B|J?v5D}nVIACFClotMTF
z*#6i0`Ln(6mNRaj-u|QH#C5GHkvDgK`)Rr{I>)VQ$uv#Pc@lSKMVo5Z`FJR^c^|Hq
zjF8|}l`%}RZ(r=~{UZPRi+%Qcnp=t+O^ohcN-QY(b8mUwnin-bdiR<&l{>8(_ubKX
zY`r!hgJ(fw!YsZ&^~Q-D_x)~pu=grVVSRJ#MBQg)oy`}kzyDmfx@-HkEAOtVg=Ein
z)LYzkecx*NZyhyP#CnA|nf~6Ds7p3dG1zwgLA^xCTSfIoZ?&vHLDEmpopG2Pv|7%`
zR``IGg`%srPM^H7YuA(vTL-5b-%eehb#tngsfcewyx2Z>J#qha8QgPE>`Y@4o+rYe
z(R%EpMeEw)Cle2~8-KdE^Yo<F8QQzk?<6+O(A{U`dwXWBfTQsT+v^W_*wPo7iC)((
z+7cZ4(J8oIVFj<(|Ce!1S3az1QoMKX&+p@_GDVVht*m@8ZSHo~CxJhlZ=~I8$(g?F
znmfzW@`?jCd;iV;VWYrjvR6lF^3<}m`99jZ<rNQAUCv!LcfY{<Ec}i3tvzow!a4+Q
zskUYKF5r0Rr(k=>H6-)H0q;xdmzI3`C!hJIRN7oeAlqQq#H#wlHPHpLxz^|zY}ojY
z)o{M*&kCQQO9It}l{eVCb%k!&&8?a8JhN!Rd&9K2+K#1DXB^+$&Znc4sWs)$IgWWT
zC$~u~dHtn*@&Y%-z0s_fkI!ad(0<P!`sL`XnxfC|H~rGn<lB4W=mwvu5+|m&|74%q
z5@VcF(CEV+tZkJmaPY}@?fN=P*5)}*`LgLTg<FK~T)DNPOzg+UrTWGhw=U|RzY(z3
zpd({tqf6e*<H{1gR-d&M680zBxbQu!wJ!1NndKSv{4dv~JFAxas(2)Cle{k@wcX9p
zwfoxb?6QgPHs&WVw=Gv*sp)=2VJrXEliq!b&F5bq;?<UY`6i;I<>a<otJxRUD<v{3
zH42vmmQ4I}$hxytYSO05tiRk<55;`uRDAW}-n_-NdefQwUM~t3<vF1EM`N4%B$X!L
zDJ6TP*FJi+;OX-k<tdq+&OVuUlRuj+UwPZ|{iHuCp6Wh}Z_SV>I_GKj;{K%z&5KjC
zxzr}f&5oV3;rXPgR=ch0y;pZ1Kd!=f{-;s>ekCrMa`p|5M$LI5SGUdG{H#pcRQ2J#
z-u02&XBC>?DrcP<!(sHdI)2iEf?(07C-kRnXFR_q{yXPud!c0KiAz$VZ8Dzc3uh~J
zC9o9VIqo@kiM3}}{C|^R1D03ox-KO0ioHDi+Ezzvxy1~HRqCGRYMR$(Y=1H7)wcaC
zAD9YOq}8uYtGp(8f191s*(H~*h{OoaWw>7S@b~u#zYlM7etcy|R_#n~-mK)g4rL!K
z_#S>Y4s;IqEq+o{@A`J@7pwk;C9bpg&RuQx>WO}BY;wo%;L3M4ybJC=`nIjFu&CbA
zsXjl7rAFhwqG*)IX|vGRSsz5Mb_zaHeDh%Lg+7Nap#xLS)cd?E`rW#>RE)_i!fHkR
zRo41xJd@vNrT+0-8M%F8wZd|jxt^<}|CCIRe;{k@voZ2z@~UN9T?@I_1&RImYxkJB
zYWIE9hpr8`?9@6$<N36+PkC+Rv^u6ylC-*e(Os?MrjgOHOD7u5X?~%;@yx#bWsg?h
z7i?}=*qKxJ!oPiz#0<ZBSJTjStC{+%SzkYS`^eMr+`$sTsxt?^IZB-8JobCq2bafZ
zTD|A5j`;p_wf&hd0-+Y(AI)4jua&A#YZoh-@nY`8e-o5<-EI4o-{1FiPp>@lmpBpq
zTP-K2UD*`&W5VD2{MuXNh3`mD(8%zv(AQnN^J2++$H^<Ll1rAzKIosW)T~w?dERjT
z&V$noj-|ZaAyW2vh0pqHC&RbrDGPtBT9+`%@4gRT$|uGrT1reVH}_7;Y5&vtzV*?z
zM?MX&#8zCekI~DMQx;jEb?ueUE#V-6xjSM5DxaqOal3lMKi%(%;@4S=m*qyWJ8rF&
zo6N*^VuSfzXRC>UJx@JuZQ8L@<nX(;eYy2bhC2f0M3yJKjjY#@jg;->%PxIlcdFz^
zeOn59LQ>0Hm4FZN&*KERLsKsPn0|1t{oePBYt|<yJ=u5JWhRgK?9`mAn|}E2@%LWv
z&52teUo^kjus`m-7H?JYjHAofiWv#bT5$THs@|giEKT3|GB?zA@Z4Q9HSpmMT{-#b
z+%w-#s8{LT*xAL`T9Copda5Ja;BQ+^-lQ+bjQX?Jb3~WVc$;aoL4CJN=%dKE$h$q(
zN^Z4Fs~n~l%+S3m71{R5F-yN={x1Csle~gj1O;=-W>?6(db{Ffz<Sw!`FZB0|9*vD
z5tMg1c;)YE{-}Z;u@oNj&V@x=7l>Ydyyt}Box?X(ou1dr9@0Bu;#v8uPqQaWfAz9d
zzcZS@_e?QT{&MPI$yFw$>C=99oj-B=hF<iX%I(|zH(FMFi?|W!<o&dT@1M(>X$|6%
zf3I4K?Q@Gbvb4KrQReBT0grdhk}R(c<}k@W`1q@IDsO$7Q{lqkzOc2wbBhXk=RTfu
z(z4TF>oK>L5scH9{;rQ@b7$e)B_;VeU9s%UNsH(Dc7Km-vJ{mt6nl~L!zXi|MDhGo
z)5(mnTp#?76z9C}auusR*Er?=O`EcbZ<PEV{dKuJExl7T`%6F=Q&gBx`n@lP`K24~
za5)}fe7YwpzW(Mu=an~BWrr{4f14RC^MrMeV6R_~-gI%V+sjWq_R7$$59I&2CSjh(
zK3>0|MF)$5B^PB)o^F2RvChXShr~;MW+|{G%cni?X?y<C;Kh$a9Bp$8PHmrTcA@^S
z4j)Ty*!R`Ry=p5e%{{vdLqGqDlzjI|@z<iFGU2yT3-YT@&Sh|taG1X<x36IZuVBmk
z#fp{r=^j&lZFzmKKj7IE_2eBtbNAJE#G8GY^kVj9Ha}^#`?9@{x9qIhtMIbxuih=6
zAEz>OuG)X)EaB}_ax66}GzfN36xE#YW{v32rOVG13S4FqKck^h!4%kQJ-Z^Mr6aJ>
z;Y8TM+OVo+3;3>lYrJv8ou^=lO?q9<`G$`B<>%Hc(s3<dQExdVuy0-L7C!aYzHZ;j
z>T`Shzt8#4HBCe%(>r7Pn>FECrR%!Sf9%!{`|A9p&Z;7$Z`ITjiseNe5@lgQ78hSg
zh2K5AZmGlULVMm=<HwKByx~$fvj4r2F7pG%YW<qtMRjivMrR*unsvK6cmJ{@C50jt
zfmulpn*FyO6X0<QdZyNr@aw-K`-V53oUdNI-zHFBA5j_7IRC&SBi1JC>Q#5QmShFY
zd!JgqGv)Aur|dj?M6P8UdL>;b+q>q>HkaFC*N-l1;XC2GcCtx$$l5K2r6on{obNq9
z)&AE^pt|q^f3W-AO@(;}4XtO3wB6r+;6vP-jk=RL@7{lwzCz;MzUMMmpXG(RP3v*m
zcwc7e#T9{ePW|=of-;=WHZRWknKpIPlPCJ-f_iGo$ImV0^m!Zi_=4t<rG?G4tp)3C
z-s-zdYMNc!6qB{udP;bG+}fQCQ=&U>ovTw;u2Q)&S5-tUhvBHqKaNRz{0`*3)2aH9
zvHg0qE%(Lqy#J=0d)<HXQDd1gj}q(VGtRwQrv+L&Y!-5+zMQ*yYW<r+MZcYH(|ov3
zd+@{yuG9bF$kS)P|E<l%cUne%sk+Lhi@z??tLXXna+!(W8t?2~GbgyrP7^E){GYb4
zTIlir<`1<(9$)0l1*iD`FHT)6C3>;SknLdfMKK-zil%y>V=YntuOI$rxN^64;jYWK
zl@Dc}cXv6@-WA)_v8H#^r>)!TrF1gBoRFVpe>Cgb?MM4~r-m%Mu<pqs&6=Z&>Sr~#
zgg@I+P{=h&;#uT=Ux!~(9*UVac*>8RQUCF%YQ@ch>fNVRjGl+>NjR`|Rdt!>T*cX&
z(~cSFWIaAJKfYY^+H#4OE%&lj%nIYX1HZ+j#711~xP7@`-X$)TwNjJ1MOXfxmug!7
z<F8ft{~F$#ejA-!lN(qvXU)~vVJdOU$oZ82b@|@(_IdruXXQo1=dPUhv{03M#`0G;
zpC8w7+-Ve8v%zuO+nQIC+2@J0%nk68J0-fnD6;>+#&*%yaY5yp8y3H7cev>v@~bw@
za?#E0aR;(o-j}$4t52~NYFxm+ZiUgGFD%vp_4RWDH~sp#>z`13NU-S5S)Uoi8vT{3
z@98|e{JQ*zOH<E*`v>oyS9n>iv(42ud(Eb*iHDivlz6vw807g0E#wTdvDTG1mpzqd
z+mRFejC-18H%E5v($F@~Shr)Yf!x{0lbTcSK8Ozdw&}sT%&1w9O!tfTm_8_&84>sS
z?or0=i*9WHSAX4AbEe(iZNIuZeqNvVQ}o?z`}Qf43{Fo^z1OS=GuV;LJgw;4GLxIP
zqw=)AoX-^Hc^>3@R4-0%j^~~PueB4e6<oQP-^zEgh}SVE_pE~bM$cCtjvUF`ul#ZA
zZ`ZrZe@{y&x;~znx+Z=~m4e*4nKs+2wjNs*J$cG?-HQkPS%r<B)pIQodnd_KlkHl%
zWNlB=wR3Z(eGJOk9ptI`r?ZMHU;ohBdh?LEWt)s2ykErMx-NbG)@E;p_ep!quPyg~
zzPNuildXEv{;iF53*T%w<h5S>`_{#hstO&fr@OcP>yeLG_PjSb;?<w<T|JG;*S%N&
z(O~P=J|n;J?!WZV1s#cOwZB%>zmB}Ht=%(-$Dr_p_}kKp@y9JTiT(b<X|qXv$_8Fh
z{cDp08GCQ;pSb07O?u+w(o3>`Umf}AR=Uz>b>5usyLAh@R-O##HBPnXRBox=#+<SB
zSKtGkPqp*b*xDRjqbIyn`&+}UQlA~gMyk_uJ*NEJF<V<O@8UYmxzi$ScKYtI|MI<l
z6U);3W?MNYoc*gEV!<01zjsfx;KG$sw{BkR_hpHhytll~{>c1ic3RWlNX3eVSS?o8
z{a<Gk$&&uzl-e7KZ>MGASMz9GovX)lZ`O`ftIgsf9fnVwIRBP?_?v36z*_W~tmy*H
z(;7_o)j2JdjFm5H|2XUMV4~Qu+sVrBHy^#Ve{Oy61nb+vvX|a|(zSCcV`s}%wwm=y
zCD}}A+f{=<-%q~jNqW<KO00Q_VUk=^%hMfQE@h@&hT74WpF9dO5`OyLv4+$4-=YOq
zx@<oA&-C0j?PR)g!}tDW>f66n{Fd0HEB`~n_4kGgW;QQ^WA%O)KD}`A?8A4*LQ?PV
zFDd>a+b@x(S)W?Pul?4z+UoWzm4$&$Q=*@0RYb00nsloAtoCV!Iz>faDVNrjS@Q$l
zu3Fyn`K#}N`w!;+Oc(eWa6{(T`JYqn+C--b{<<g>Z6Bg}k?FPGy^sQfz3;=*nKe6W
zE~bcwx$RSw?oyqyQi|`_{pm}0zg=6E>$k-yXZ4Mf=im15bh7`i-;)?D^tqmYd3<EX
z&CqQjvrhU4Y%%aX^5)pvXAfqw`AU_q-Mh%6{(?zm_0QQ^MV##ArQL_(667BKPf$1e
zqkMY9sTFINDBjfzJ@(loQ{u(pjW5L(bzV7|x>8Eh?7*#*6A2PgSALyNoh2lC`@QoK
zsrda%k}j%?xr$`2i@rHo!uxW4A-}^tj_<`w1XiBd<vHhY@W)FTEQ-$*O`3m+G>aad
z_=m&#t}}Cq%JK@O=7e|eEOr?uFTZtvS366h=R@_4JnvgRb)LzX$D&sC%J6@N?YxMF
zm%O2?TQp+c?s2*O&!%NZ;M<=k!*AFzOP-&3zGhyi>5s_CNey4F-oMtdPG01U)2VtF
zt<>}`zx(@cE>kE!X#4J~vFF)ks%<X6SP$)R_t<G0Gu62KRbp1i!S3930+R!CYMQy3
zzf5Y|@_eFe)KxL1(p#VBcxHF&SIL^xy<K)`>NOUb87mH*)Dge9!Fb8xqyIWyAA7#P
zAZX#M#YT7UUAxtF=f}SK{(HZ2^Z8{s;;$@mu&OtGr}-h$C?l0C$o50vw679>4&<8E
zFSJta$?HF(QN8KxhEtbWMa8n$JD#1Mxi;m$@gsf5n}@zE``;b8+^$y8e%ky~(#QWw
zN@=}cXXF0ifVpgUkZaQN({@?vg&GH18I^QcCf{`V6XCR}$Dlu!Bkb*w&o}#vlH0#l
zs7TM@UnbmBKRxL9xg3Wz)<?gp#V%p&N?Nt&+J~#9pAu8vPY(!Pu4Z!LWVAx~`cn=O
zk6)f&`Kjhjr>7lPz8hP#z+U?lTW9ru%XOYs>@?WJT)>gp^hJcbH(}l<%OhQnT4ZLi
zu&j|4FDpyoa#iTC2|ur+6qKK}RowFTn?0XyzFo2Auy&?j%!~RwNA7NIr8ijzJ0sU#
zk-E(Cn`zm4`NNFcN|{31dCeR1??=Y=#IeL&ydj?A@;WllHr36v^vZ)NIxgaF^^a4&
z9-1;QbP4~fn#o;}NAI*u-W|PT!e4#nzx~Hg82=Vm414#Qc}iSB;qUP4tlOW31^O)Q
z4P-Vg{kG=!)+^iN(gb@m>K`ZA+4{Wd&xm+qrR~{$>&+kkL}%k`%pQ}2rz$zUIB#@n
zef`SS1!rBi<$s<1kXiOwGTX)H#%WWh+Pd7~cfOlze^OX#ui<THl@r}BH0u}b`#973
zxl3uvm2G?bmu%g2_}LYmh|)x_H6c4CY|?w4De^V7aS3Rz<n)(gd!@&J>K0r5iW@Sb
zEz2Ce?*C-&T>W70@8^pyx7hwXfAn*ew3cd2TG646O)DL_zIUusP=7G%Y2wE}$L?Od
zFZFKe%6%HE*5t;`T=qs}N&Y4Msj}Pn<(HXj#lQN%EHz{6HlD4bY{eo^Z>GA%oBXtY
zSQ)K6@qf$SrqX3KpU%lP=!dAL`?*yxuk5IA`P<dKG&YfEszYYV!LO4P9+Y~;D@HpW
z{T+AL&}ZuP=Nc35tU7oj@7*HvH?r5W95{I{Zs86&ye{JX6&_Cq)xSF3c1yHVSFSUw
zJGog`eD}n@=w%*{);FBXH<x{wd1RyK9P?tYA0{^q7x>P7;PK#GVU)hQ?MfN@iu#yM
z_DMe@{@0g&3cTO?vC(Ry(M;8%McQueJ~MrVp1W<E{#3)r)Fnvl-IbslOa9)wcQZfI
z{i~sdc=g-KP0gFkH4UC{_$aH@oAW+uW@QS#r+xlhcbiUa?pL3_)uJZ8=9ULP*4#Ut
zu9tJt`5cEHpTMI%w{~vcnpgbqn)tocr;9HA3eCI`oMup0KPB66uY0#V7yl-QY0gip
zrpt7nJ~pLw%cgpJh5VqpMG9Rn*ZwF}FI`!?rrFt|-Sg$kD~UHI**$Kn(7OCYn$J9M
zvG}74{;g+p4OH6Wlcsa)?68g9o4D!Y_o-}>!HQ94;c7qb?_YQHO~Kc)`cf_aqd#hn
zWGp(}5yo`gSGwnNxJUifopJis6Usv5D(<?;UYVe|q@3rPW=d6q&@@lejk5~oE)$u5
zjMHtypL5j)-G9wq?tgXic=O>|37^(VeSQ19sqRP6%lY!{y!m|#k0h)-#+cV%vS+o+
z%|#D(ZMf0+^&b1Y1$GKf^X`3X5A>h@Ua4;O%WMAgy5jd~bLFhh70u<`7*PLO%qAwZ
z;fB*=`B`f|u}`Ssjb`(0I;7ur_|ZMXjm!8RDKFl>AZ2c~-}f0$;w;YEC0er2v-B^E
zP3y~#dwBX{@zWw^j%qIf=YR9BNx%Ml>ZNGlwtt(V#I+u*Sn>T}p6H2*#S8DP%?w*z
zs=!?S(RB009r-J#t*hI=?)5bHSw4^Z1?$)Feg4WJEUmKd&2-JW-@)tC;=|8ASeUwc
zN!U!K@Wg*7yAlk#|M)6QF_PFd^-plierKjDOW1Dx&~Xr{KP1IrkXOZJtXY_%a)$f-
z-8A7Blh-cjwt9QbCwj6}`*I6o?XpwGfxp(iSpV|7-<(oY;nVx?$E-Gt_qgb^*}ug^
z;a2g#dK00Qf2JSr4HW!to>AD<u5q^F*PrlX`!*~!d2D2S+U{sH_r0h8IW_pMf84UQ
zGQGWKTbtoh-A^AaU#ZkF9%FuST4Dc$@~%)G1D?fO{lr)Ge`zStwvOh0em*ITpTBO^
z8yoYto#pR*e^md?%u`VG%lapO#s2J4=VV#l<m%K}(c$&!wSjT=N5yxosG7NV^_#nE
z9_Srhutv7yl%39djpIvXAG?d}R2B48%e}wr>$Q{Rx@`s$D>Qn~n7lYI^vO(q)10I8
z6)Nw^79aoof2}}w%sGMNTW`93lfyh19h72u>`PLn-Yhu(Aua52Z(QxmUF$+LCZzQC
zh3i@!TW~aAYE9}<llq!!$A1TE<oCpu-sYX=d524_>}9ELQ`4*mE|QfBFT1<{bgo`f
zYqaJV%UN-D)Adu?ylvn9o}l?H`V0HhBV9kEmwr7~e3895eQWQJiTt6L3zqv7w`%#S
zzVf?fbbikZ_N&jF^3(LnX6(Coq{!FZ+Fs;UyW-=To7Y?XJinA%1s}1mR~B}^=dz=9
zbGv}gyVF0`h9)VmF+Rt3Yi9D)=|;}q^cI-b7Td9{J!Kzia^vMS`OJS^Sw=c*ZttF`
z;GVHXg;7Bz<IpU-aJ!{HzPzjHJtiW*Y@fg*54ZT*gIg<uY+i94=?>Dp^K!}IgE3ag
zYPUk#g#u-^6l&yJut{Fj*UeR1El?kjs(r{|;>H~&nv8DAf5p3mmmKWAuYT0pSSURv
zd(z>zB8Fn6R>$`(*z#TT^tBIv6%1#ld{PYmZEo~hGxg?%m5*JtHf=BBWt`in=(PTE
zeW-!A?l%QRdjkXE-MlkJOsBo?*F15{^|p44yrpHul~ZyrKeHXU$$qB#fLF=<+p;%9
z>i3-GlT+%OKch7^=<(L6@gMTIN)2z@tTpA9ygWI#M&m~Rd%wHo7b~~fG$=1ve&nIw
zhmWZxn-t$EoV*{GzWR~cbMvAr%Au=0{A~5KYGU?B8@;wG*dbRGXS%n3lIfDLjmsx?
z{yNXIFQmp}nc&%&Z_0VgLM3?nbtly_9kT6M_GwG~iOC!1J^T{(KvL21{=+4T-p3!Z
zH~y))!f3i9<mdOo1@8sx7&W&CZ{D(;^;?W&^~N{uv7hFKM}@qfeR>v;(xeU7p7-#D
zHJdeyG#Xuee|15UNWk@gCy!W`wEo+1ZTD1>Dh^hjnadOHORg8RypujNPwSpyY4DVw
zc=x-@zgT|%7@=A3-THsmvNh{iG<F(mEM(l4v*w_Td}n){>V$&}_bi!R`9`R0-=Dhh
zt$%LnNql*D_~MZ}#%ybts&}0|WOq|+fx*!!&%0MOf1jtHc6Ulnm(Ntz%)Fvc3ES@6
zo*gu;Ky2Mqt`96fKfYdm%h0jw*WRj%U-pTOCp-)G+aKsm*|~A~%2c-cxY^oKO(Bv+
z3KJGj5Wf26T0T4Tf*8Iz3sc+Dr-@hC{yMzH(P{HK@dFDl>{w=&S=KK8zV6h$wn~Qe
zF6USEpLSV#Zpz}2o7~EYGxOHZIV~r!(ekSJX1^SRCyo4aZRzQHR|-?A8ueoix;|e1
z=E&DS9Fvx0GJRiq@s8~5i~MXnjRy5wZ0*I?+3!nut-3sGN5bocR|<9om^prK=j4BM
ze>%Hf?I&%6|3-divnO~pSaJrwY-?Z4z1v*QGO%{BTI~uppR*f0B9iyJoi$1Q!unn*
zf3{Fx*Q0}%S)Q!U=DnD)drjl)-~-#`ix1VT%boN{&oH7X@%&|lYz65>7dQpFy4?R3
z*5?)dn7Lo-YUTdl@d}zMMtmFmnAbWlSozWD=Et&~vzZ@M3$1)J{oi~~cc)algw~BZ
z2ky;qm})y^tI>tPPq$JkZ#N5t{W$ve(6P&VWv7=Ee{7u;WE{%%X7hWNPmA`(^B2zi
zZ?vfAkD!iptcFG6q(vr+IR9+(JKO$vokv^59NBZX>KX4zr(blw*3xiO`Eq*rEzS68
zQo1k8_bV-LQ&nxTh*b0WQfsl3@p{VPH%jH~e!P!t=f8=UKX+x%){}pX_i}PH@4c;;
zaG*VIZ>!bu?_OM9$ubu$8}2rGh~M0D`@3|(i<R@MYd2b5yU*ge^L@3uw|$?Z;<S%y
z7W~yu4=wYUEPkM#Wo_IWx4DUO_l3mvb#KUhF}E)vDW}IItopi_^YY1Ik^3EADogz=
zlwbVYN?qoJTzN<Dfyth=s>_l%GS~ITT%Odw`ao%k+}4d^hYs9jf5Y@!+4zj={Ah_)
z-Kx`CG#qSG<Z`m_ui;RAv{S{vW`5}IoGJW=*Dtw!|AWX=gJphfS@oh@Hbk$q<M7ut
z%G{oIJyd;>-qt=FxxiD4zspW5-k3Z4Vco<@=fvxjZq;pEwP(?;HEP@TEr^ZxQ7}?S
zZM%A>Vp2EP*6kCISoz<moIHE7O!x6=J|4^7ceAXMICl7p#5Tv4T`{{mqkq4Tx)o~r
zNiJ7*%l&I-LN2P!cQU)c=ItTTQvW?!+U4Q$#dlk`N9TRj`7(QlHSdG2obOM1*wyqH
z*(Y-AhFd$PNwe_2mx(jB-FTI&g6~cnYtQCV*$w|<GL^EYJQ3P(C;zqdJ`XM-n=HFo
zY0t0eN9!rg?0cIqbMZ@?I|)iti%qAq@AZzl;d|lfg-blPB}$XyE7hwE5>uj2R0h`v
zhC4+t%F4B8eq3z1iRpunk5N>@<b@}0Yduk1b;|k9BJ)4T?Vc3W?K(c;p!Tip3zqOW
zJqgp7ES`9)sKq<#w>DFMr;f$Hs=9v{dYq>|S}Gu;>pi8xcP-0<KbyYky8ivd%We6P
zje()t)1kjLbZVmV#PWv45}W_<1$*{SP;$EYp+0@R=$toe)T#_VNZ+}}#OkfH=#hkM
zK~Rg&#LD|?&iwGbr!%*wH`XYlN%*36pw$7BcZob7UhRLPne?%I!UpzhJD4+)>dkg7
zm40!+<$$k_$=yoZ{_3u9mrEOjSh5d<$l9IIFaNzDj{W${6R%UmzeewfE#+QtW2H{Q
ztF`{$7-lEbH=I#&JXV%J$D(Kc=QfVlg|>`MnH<kMzhzE*dh+si$<5h+4@>NSe8*`E
z?-lM7r!~qROQz4%RStMix%tZFgr~EZR(9oW-p{C2;N?H*?GK4veMZY<o*X%zwNaGc
zH)>m1!iH=?=KH>_>JA*$XOfGrZg{}$^xa~uv&F8NIl({XF9@$!ykl88A@!U^RP3iI
zl7|lTntjm>o;dmb^s|R_S6Q5$UwU}y`uVy{J!uMMw|L?%pNwc?wd|?VicBsLcZikq
za^XALa;HQ!jXTQzP<7#sE%%a}Y}}vd2D`qr`g%r8y6X2^F7;%?H*cqOzPo&wUBYEo
z`>lIzIsc;FZ+(>XPjc1TUvIc6Jk)C07f+ESK8};>6`d?sx-M1d2p>I>`e%7ha%ai4
zAj6DrQNOEyUhe&Ptm6DT-ZibuV)7m@zBY+ve&#%ZU4C1x98KT9%!2KpVY|ip?X4zk
zANTFi_B_A#WUhgSzWclcjoFzs{(c^v{cHGiU!+`Hc$@c*+;n$k$qe0XUbl|dU!NO2
z<7P(PdF@=TGQZhd&NXC+n%zGepFQVo&V?e?b1uJfT+f;7F3`JKvM}-Uff?VJ`R)q*
zxV^A+VjrId&)bv_vHdaL3LWY(`SCT4@9rwO_X?XT*T2!odiyp>y0h<O|H=71pD%Cu
z^P;c*Id{QN9sjcnmHB1niggD0UTa@xZBSn*<+j^``}Mq2ntwaE_LyynT)qDP@%?he
zlh~MYygS@Zz1m^R&oplm`^V}d(;t~OuUdBh_kjTIP0M_8><r79ch0qn*?Y9^RKcqR
z!v`FzRQ0o}x0WX*#|qAG_&+V?tjnd_jv^Oc27a!JG4T=NUc|QC-L-JblFk!8hu&tK
zn6NKlZ~fYJ_kI<+CKmKR*HoPmayI(o)1_XT_pS%kJoFBnAdq?^nR}W?_t%DM%_-Gt
z@v_yA=EYt5;(S~=bPJD-d!cLRQ(vB2llAR+g(g^@PK}anG5_xLe~xd=^dkz}<C65{
z9A$-6<tMP64Ao0EsN7o1vU2*Ly_#>j7Mz<aF!`ilXHiBy$01D}R{I6q8=be=u2~<e
z$+K`z->1+Uo93<MzZNOz#v=RM%vsphXo5LgVxM)vHrB5~eH*!RiVoCzys3Q~xVHb$
z?G|~?Bqmm=U0U`M^SWm@6lh#IZhrmZj@CbJ33Jy*T+0a5>hV1A`-#=^9$SaLqq)Dt
z`j_4K{l1`@-(%yn@cO5F8ny{cig+uuPo|>8@T}a*!v@!WJ%~#%@o71HBu3NVW?%00
z+)4XR2PrxPGij{TKKpN5$KUSaEL$h_sjW|QvL1H^Jt|mnOXPTm?uCUmb=#e$e9sWo
zYGAsy{?4>7EuoBY!i+7ev_k&Y&N{es?x81!UE+PKM5mv0PMS5hs*3+e{q95Z+xI)o
zeSUIH?D><vg3aocZx`L$Q(4<)_io0zdCY3}Q(txq<-h(>T$Xcn?b(|b(`UU{n9XrG
zSM9&sRW`FH|9DJJ8oK?kd-|9?PFl?<Q>a;~!iVdcH2?D|CfBgo=}SL59yxTUMxbZK
z#KlkfcIC$_z1Sdsd4a<dG4>a6uZ?W$*W?xbnAp8;S<9hUc@w>I92wYmE@b}m+353^
zM+;jx*={I)V=<lhd%c3Ad1}WajfE%U;~8XkxE6QGZfq~ssP5y}T_Ag<ZGVYQcYVu&
zPMy}`%>s6fZfPrjNGwjhaCrLEv<nsH54o=^w>Y&qALTN+otI-f!SlbK-Ge3PUQ1cG
zU#p*2qC6%1azE4T{>dC$Y9|X?6f?QoNv}|Ae6dG0m{;ss<1sA`{mri)a(QV6&zETv
zobr-eFyFB8r~P>iMZOxJZJx0u-wW#5EThVj`cJkmu2zkCc)?9+Q}NT3{-%V3_oPJH
zYb-eZSwF5e*dga}=+42Z0cRJlNVnZ}Z2jclti}iH3&d(OPYU>#uUYWPa^-9-QLpW*
zre|v3TCBnmFTl3%@w_&#6*qJgFIlKOX|kMbV4Qp)Z)d=yNs`u57f-NFKO<lA)zo>`
z_doW_52+m8u2Rcs^3_w&Oy_suniuljGCMpUvHeJ3OEB8@X{t#ohib{Q$+lDfa;4^_
z6qgjGCgyUb=1s4&;A3MlH=8b)DJBX%rq9sO(s;UHudo=ixrOQUg^Us!_2sDnv3ED=
zzLVl$xxZug?%izVH#V5(9lQ$#x(**&9{5d|{&{ZoxwX+>v;MxkX}jy$3&Z36aZ{EA
zeJeZnN{%lf%q>h!%&uY9lvz^R(%jq)t(~%+lY;ID@|0}bvVAgxRr61Vs00BA-Zu;h
zsmy;`Hz)-%9eFEjBcpp(w|)+z$+9i~RTyWPIZRl(cB!(%<$K5OUA=ULN#Vh(S6Yu=
zJvsE`h0>8P+dX-C*es$O7}KViB{b~V)YZ3Ul1YPGlqa(S?>1&@rd$RsJvFmw%NSU_
zgE!0-o*|Zy_MT(I&+m*0S^4an{)nrqFRSOcv9n2b?tdZU;w{@*HM~}JdueLduVhv^
zI`isLMh9yF2ghgmyXS5ez8`OL<I2gG@s|x5=KPnw$?#u#<{$H4`ByLgy)P&%q^-@6
zlKG0qfN^&8Ek(os-sX|k#?=hh_g_{JZ~s5#pHR`S)BFyf!=0lTIC8#;zfDSB%(8`*
zIpfINT-lg82m2UYs|9Xc<XgbDrTEwCj>Yv$Z`Lnxi1wE5|F8d}USQL?1N)OYZq58Z
zwg2gTO>cEg?{Wi=qnCcJznA7Pd%xA+$=8|w|1K0csNgMryZ(Fg|E^EpBOSk$naTYx
zetJLh-_8k<VbRW!L6iRN*ZZ+tCo?^Zf72FY_7#@@MMYk4{K|hce-qb*Pxr-s@z4Ap
z!FAx*{`7j+1)CQywRY%leHky8`1AVr`6nLK2PP$bdl%QUX3rf4w=%OZ25okA^@jH8
zm!JQ?U|L#O!gAa4|KeZwBmWiuJMNpX!TN?sX7bg0Q|xbOtu@_pD11}KKA~xKb=M-A
z>!ykp<u3ak#DBTy22)B&MPL2mzWMLloJ_<Mly-ct4*#~SwVp?U-OX~|tUfhf^N6GM
zT8isUzOViJ@6*-?I~DJIU~&^ae=UUbnbD(LmdVA+0j+tnl(oNyuf4O~$k8YBTE^o~
z=NKb;=KlD))Y>{TiuslQ%w6v_9@PGl>Z$CWaEM#@;c|KDfW)7U)f&^MRJe(?iZb%G
zCt7WvWAb*-YrW%EQXwbm#ZPsM2OTbck*;gjU-8;z{;TEc#vwWnr$5qsvT^yn+eIM<
zH$FUldg}MG-mchHcEL}}bEe;pSZDOa)?nLx!*$HIt4u5uf24WK>mQqUo@w3Q360HL
zAM@>&XsnRimAxmvYWY%UmNs#r_Wkj`8iroKi;CAf=fzBJXMQ%pZGWuDx6b-!!SDG?
zI~RsG3tPyf?4EYp;<rLh{^s-F?4CqS<dl7O_(sl^n}3tqa}LeTcy#!1_}+ed%Sa{T
zYL&a?3%9-GSQ7ME{!~uD5pEF~p}0R@JKDL6glE{KpZP8D^BUi`+#h#7G~{tN@7t%W
zrYpK`PGP{=psU@otJPlHntZ8L=?kj<Tc28U<LT+|8*e06I~p3#jjKwRkGOq!#l{co
zF9$i@T(<bllXwfq-E7M8g-KTo_QpH4u2wvuv^h^~!xzQm<MX9$r5|qC_JDnVh55;r
zM_WW{f0RGGT(?QWTBNf2_f4y%29vU0Z@Fv{YT*`H>E!w*_wfnGMJsaOh5fpmeemy&
z<IVnp^{Qo#-xlBSulZzr=FAJj>ODUl3nSlkZ2HBy>TPZH<H}t}OVve0rhd-I`Qc*3
zxQZblU&UV~f$h0_(yc607S`_z&sZH{Fn%2K|M7<vC2zF$F54SkK3{R_SHtsnF4~?F
zJv;m760`1q4v%MlJj--b=&P*P$@lA9bH25m|D(nfb~&1@-f+oh$BpL?G|yx!`Knqe
z-7|GB*P`diTORt0cznv@zOk^PWHC?WiH0@XHy%8^+H^7dL(@ve8|@8_-@ERw(A=y1
z`Dog!w|Ay$TiJZfj5z;9I$2L`b?YucZI`t+Yvg-h9@Ks9Q1<%90SgZ2pUd_C<jpAh
z9DbL_$hL$<^G@5%Ee-eTKd4Xq9QJ8q{(6z;x=({suJQ-W$d@en)tug$5_#^jeOOw^
z9-WY`>G642ui2z7-FZA^n^czcsxyy%yeWK}uJiH5uD`~6E}mlj`K<E(L&gbBX(v{`
zZ$2;V@^iLbv8&FV@T-yew?pJs#+|x*V#=xuuYOJVYMWnem>)mqyH-lZ+eK^ZRV*F1
zSnW;_<i4W&`=0-|<1IEvB3^#m#&J3)dfCB+KGzz37VMa3YrQa@$%nOXYU~~L4>7Zi
zbt+p0q@?ye-Tjd1<I}&vN?NteQVNx;je3Rj=IhOw`?@(cQti@$8=LJPf4MEUbpJNx
zZw;%jM=8j(d3@J7Kl`gqqegggeDU!p_v`iDD#>&H-ul7*yS=t{^@PHyd94pPBLq`V
z`fWCCTj%bxuH%aMI^m=joI-w$oJA*GxYp-vO`h-khOKE*iK~3hSxIaCxMd%CRUd~|
zAM-!Kw1ah5@F}6Ei(ZyzE!5q&EzGusZ@NnzTfR^IHSWz**1q6fs&IOBce>_`Lf3Pz
zJ?hPE>Nl53DE=+WIK{<pamMw*%p^G*o2k!tH=8scNnh<A{r~V!)2PB)PtW4FKku%S
zFTc7+`!du0C)cwBgF*w=7kXS4JpIXUb41_le%^?VfIsS1n{xMybYHyriEHWMKZjah
zgmf>Evfr)#u;iZm_l)!p_vYNIxbdZBl0jA6MZ1!o8|JU-H{E|#v@Biz`I#t_*UYvP
zxGwoChaTv!+~(AG`@|zzm8eAN)=&RTjP6&IGTm8sr29(o;rHU+?YnRGtcoc1Ir?Pb
z<?m8QuPPkVJzW*{y1R18i!S*tBj4GN?>_lDeLmN>rDfY6Puw*#`}J*cHr>nBd#uH*
zrg?L`Dseko6P<Ne_IP)_b7o$6?G2mGQw+N|227r2F2CG8{|@tdXWoPD=WODi2PM12
z<yLQXJiPen{cAG|*LKy1T@X9`;>`IE%@Pv~rcV=ia4GSU!B;tP0a25}zx*#NtdEx*
z_O1@N`8h}RqiMf{`q7`S)r-zFwI4{dHrVO7-bDXXa`N<|j>#3TCf(R|`b&MaJs<as
zGS=2N@}GILzgCAz>Wa)2=PKF0ZGTyGOjrPq-b1~LXM)q$W)-N+4{sOP8S(nj{H<r1
z<tGHs&O4dmUHD?|^9OG%mH*lFuBdzYWbK5aiQkuo$C|VyTr!sLXSluXkJ^Pyl`RKv
z?Q*zs`rR#`Fg0g=E@>N!TEoKy!Pzqc>!*6gt`+*6@Ibm?@~s*ZnWGyf{yw5u>nW=A
zOi8-7bn|uHn3K2qRkp2?-dkuBICo~>4kqRY!p5a$nmGqzY|`)Nntpk);mI84Y4&}3
z^P)ayDy=!NdwLDuoXq*xYwwyI%x5^JxtnSK$M%fYzxzC%-}-WKjzr7;XrC*WneTXc
z23y>!-?#r2Z?K)?#KO}i%cnfHQ!ikzzO<sGx@67uLe~fL7k_=l*S5JY%ktn#gAbu5
z``;x!t?4_ZSChI<Xn9D|GXBn&&(_>L;eRar<kRJ!)FYR#x^b?pX}03;-1l;!xBUYT
z1nxS$Pw?10bw*F=6W9M0T(X>2U?*&4wr=Xo7oS!%JJ?CpdrbP0bG2bj<cE{bp0B)M
zvuzibx8cI%Y6pdfU)7u6-YQq06aCEQHb)a*V9}#9iE1jJ>Lyr4I~5kO#Dt&nUF1Du
z-t3IhYu3wzBj>+cF6!>iv^b@Dz2mmB%s8X;g<P9|u)NoLsM7jjg2%bd%jQdcdq3?|
zM*?q5yyN9b532S*zTsA{UVA~~_rEu#pKexKS-tmO@g>%A@51SadzK0wUK_1+SbEW^
z<<V__{WmDrWxgyp5^65VD*j!=D{!^OT=y@cH{N9*FIN^h_mSg?ZdgU+%I=*%8~^Q%
zkV;SKlzkkfbh_Z#yH7j!T?qaqu)0dfvhMJC<qV?@_b*qvu{k^ckd=stm#o)}eqQB2
zvGaAjT3JKiIk8W2VKq|E?=imJ(9afTsoSfocGsq&d-0~fr?(n!He6=(Yf7T$zNo7?
z$K2+92;OfrCHA4W!}{v$EIU<Gg7obVEAtnBI4^6tVbAjV$ORALCU!aU>@S)i@N1v(
zsxMcSU!9juT+uGUG0S{sTA}C`md8u1>#eS?NE2Lgvv#Ud>=dKh`*vR5x|DeaTY#Sc
z$JxWheB7#cu9fnyF*zkTG3-mes&b0W<@iWBLEcKg9-}_bSm9TjQbp@$bGrWJbv(H7
zv&63LwcBT3(_Ed;@YG^^;!n<B!Y$^kH$E=PJ^ErFS6XYRtf=bkjniwGB#kaKsLxAT
zp1Gyo^qHTt=aGo-;_|+i^ezegvsxs1#X0W1PUSh*m6Nvax&A0heq|!pzoW^1hqRx*
z7cudQIHUKeG~@fOOEFz@EhjuOP7awfZ^PqjfeB(yXD>Zf8NkV}`Z00)U#D&nwTSm`
zEp~WKdp%uzs*}W#X$R(7*aw#!joD{$C7Ip!uH{xaMvwX$*Q5TE{Y|IcnAh=UOUAN8
zu4jc8cw|3Z{qFt8xu;#4ujm|0ynE^O&u3MQRWXUDGMcaH)K&H5f1PgK-rmWz!1LCe
z<tHyVS*<I%x4nDj*-z=**-10FZk4e9Q@+8m#c|)x73&lQ-pJp3&XT@!LYu_p&OYyH
za)%1`t`P7P+@Th;%eG$bP=im(u0%DP2@)SZPRRPTF<9Z?PR=FT`}5dabWf<r-k7t<
z<k@`j4>ipzx(=+baL_1iZA!jgFLvvZ%%ofS<&tNu^W%<I+E3Ndj{hc|@?%ltdCPN_
zacSK5el97>C_U?*7u&%6-}=bu6Ni>9o|@OfvUBNghesFBIM~0rGKKH3e7#uT^%#ZV
z>Lv?wt@G7N`k!96Iqywfz*IPYPU|kAr>sjF%}l0cUske;N$4souHcvNd9d@r;<a`C
zCz7vw$H@!4zTMZew}0B^)^{`5T}^AwEi#xSz^$nzx<Ws(Cx4;L<!6;#SKrKh_8>gL
zEo7G7QM&+1ZmG47x89yTeqiO6_s5^q%R4JfO#g8)+WFh*)O%8=tDoOUzj`-^gWc|2
z*{yQs19w-hc=&GPOs0tk{Xfnq*?FUnEB<_$NYnHk8q>oQz8;!a!fUv9(=_G$894@X
z7a#s`W2es-&z5T~6DMt$X1BDir^T)Ij-N`=j+DA@ai80tp46?Gc6L>+h_#XHKCN!`
z)5YEO-ItGdJi1Ucb-TtEzG_#++vaap9G-ftaP^L^`}RBHEG1dz+AH@TEf*Epd_s7}
zwV(fDT4fXtG5WvOn^Sc>$Lqz@8rh|KOtBKX&#(OyX=f9jq}03QjLuh~)Cv3|0tavG
zH)6e0WH@P^f>izG&_BO69@b%Ac18O2w4BE_4HNsHhbh(T&sDd!(Wy-n%2>^{CUtJK
zrE9{C6Q9<(YE=|*f2j`>tMJc?uk=s*b@E{7Y|gvi9p0$7uGykEb&AtF^X^pLw`(?8
zPSW1{IN?WGNwN#aG#gH*_Dt_!5vGSv+ao{Z*Z*zKh_T;Y^R+M9*j3s>_QVI4om-a|
zojSm)rjWRHhWEnQ`d5Cgs_*z8yxH}#V4nY>57JwYu8GThS!0vrEn$1`@<y?F1%EQm
zq^_)={J`2fz;IQ!nC!!d+4+0tBxskvU2v`Ig-A?CedG7GM|G_;ALTCFx%vG^jl0i&
z70r>CVavMw({52;kh#P=0k-N+zO(tV4t4ES2X5>ZkYCoYd_icHSMas^72e0bbYG|n
za{0vilcPZVs6e@fLI1j$JH`I1-?3p>>G$h1qyF~B!h^HEcJRN>spD~1pPl>U!h+MT
zH@TQs{W03^f3Dv_f8LJy{t2(Q+-0y#kC-ShqqbUDkoV`@6WsARCmqcBSAN><eOIzK
zR9|Dca{M%7p##PC;=j*!UD)?^dvyKA*nsk!nR9BRuj@6x5TBGfx2a5{=$mX}x?@I2
z*Mj5gm1J_d)x9KtUW_T-cx%Dej~ASynBVg9OY$X8x_h>$KZAkcLg?+uz0vvgo(b(t
z4<}y<?Y4OLQ}DtH@v}{boMy<It}rT}FK=;E$ulTjVO`d9Q|CX*%v-kJKRM0Ep!8~4
zech*{&#vxfF05)@Xs%xWDLbS(U^82noX6Eom;Z-{Bp+DZwOQm4>vY-ZpYvUP5BYwb
zucEn5{o{#80rSGIPxi~%w|cM1n{Q{26*whbzr9V|G%Q5Z&+kmdlH$w<NncZEcK<N>
zXl%an)WZ4ptV#1eENQ>|dW%mg_p~XiviD8$IH}uOKX3D;QwO6ri`2Y&SSURG|CU?k
zAM3xj`P=!(vaH=4pOkn{t>~y-+?@T(E_=)`cl9{%OIiP=?!3(FuZj!1-(0R;y?0%h
z6PM^W2m6ez<qh@8DF^1y*>xa$-Px+U4_arlH7mWmwS8|ko9x`W&qAEylQ*YxJyPp!
zP}|UyuHSY^?gV4KUwuKjh*FVl`Tt)}zyEeg{JiCZ?L~nrMS<Ub^|J+PeVT3iVq)&s
zBa8T1T&_&~ZOB?;^;7fsuM3X?=Iu*sE305Sl@RT<^KyrG{hxgd6V3igf9$>{q5De8
z{F0E*%YZu1E*5=p;|~j4izWZRzN}ckSufix!1%e-_4wWb-DP_Y9IsDaw(r6|9S;BP
z687x+6ABofMF;h(Gk4iKrCs0i%dzyI@s2>7Sz2NN9F4C(r%Etd>--6A|GIKfkDgol
z-+7LcZZ3}9Eb+;7<6i#P;tILvz2<p}q~DmZ=68QH!>kL{k#jD^ZB-86WB0i4RrS*?
zd+r99*2)}AKX>NTBaYWce`&_2*FQeGA=&oW-0RYtuJzsMPkAzzp)f+QCH!x?|G_)H
zbKCOUn|!D5J2<T%lv~OC;Z-TACC`och3s9t+-j6l3eMCt`z=?0w2U#N)4Xuu_WAtT
zu`e_>tA#96QaGGeyV3N@yk{Tx3hbN_*SFtl`)<C+taceD3OjS(v%Wp7FQg?gIWe{V
z_K9E_`?Q6LKl1mLI8{B`zWqk%^n)B$`;8<|@Meij_xq$;|Fw9!nvGdZ>h|n&jHkVC
z&AhcqvdSjLbSZ22&ly%--wY;5UVCa4`0MGqQYW{X)7s_j%M2RLc01~y<?(r(x3Kp1
zhOLULPqapce&w<b;Xaa^p70{9Pg7><Nf*Iv>-tOkLkdDP6Cd9FfAZgg^Ch8Kr-Y2B
zFOiwV&sqPsbkk?|cWkW@civ>IaL!-;^v<SZB}Y$}ojrA{DEOlM(Z;OP1;JY0tCaqv
zN$2prmE*s-&DQJ5dQHVr!3FWAe2#+4>aItmACcr<J3aFC0?W%mTceaSPSi-xk(%tG
zueQK5=HwrX`gKn49xXYQ6019}Z~f-Vs0$3MeP_E%9MbmtdnKVTVSSsVi=fNzId^&z
zva`i6=J#6(y-0sI>to=R`Slu{--DwVWz{E@|Ex0gi!1S&Y|(sM$bXxS<X!hGr|vu5
zwECTY!s^S;Nz$L++ke0LBmMsA2VaFxd9(NQ#riB!nLf3@_JUPCSLe)L+s85c(>`8u
z3TrsM@k5kkT>b@~*7b+Zc@(kk;&@q;D7<EQ^V{_O-V#@z92E{URor(pHPPYaY~H%n
z7yQgaGd6$Q>$am!`*Hs2zW+TBw#u_t8{Rx+XtD3Thl>Bs3#XS|+UpUoC@BAc$yeBk
zpY0%L-qgPpXMRkKn|k-><BEEfi+77f*1t8@&zbU*(XaB-Hz#ge#cvfR>oN;|3b*Ti
z30wE_-8$K`&!&YaZ4t@V4EX$g<_uBeMOLRC6_z(HI@dT;VgI3PZ(nX(^xf<E>2Hkc
z*QVM14ARYc-yJ=F>!nwF(-~~H2>*<5yV~n|+TGhrHtyk~+}d?9el4PvAA}?06Y4D%
z=|xA}TKOjJH2<Sw!P~)KCGRS$KQven%qZn(%=J00^l-!sp)&Do;i^8i(q-jdybrir
zxU#0my*}|={`Z$zS8G=vS;_a=qFCc_)bEb6sLWOGw=X^YPX2p9zMY@L5~U{DE&WBG
zK5<v|s-(}daC~TOxb2YD^y%Kao`-)s^r%U!evYE<_KIjD25VW7nel!98H3hvUXih0
za>e#*L*HDZ!~V~07Zuvi+fy?&IC1T<>R0Re58b<FU&EFg$5S78Z}M*5qnsI2-Y6Y9
zm1I0$Z^MFF;S-;;??1J&{|nb@!Ltv$)@SWl_e<-4-An%fB{p+Q{&t4@k7vDmeEyM8
z$^H4UvP~`Z%+nwEZT70~{WUe>g~Z*^I|-A|eVtrUdHFc!l1tV}zg;)GPxFmlwAIRF
zx%=0jCGiWm<JG^P|5w1ezxb7)$dUh7I2T1Mo0R_lle<Sij}hmq{;eM*Lrm{ql(Aym
zbL2-=W7m<}%U`<bGyC)~P3P%g{q{y>M!Mb2igl}YTrlO_cllYp-$_OP!!Gx%r>1B6
zeQEBH-jr0TJ@?fTX@&d?+_zs|(C%4ra+Up^=lovhyWUQl)!yP3zkANQ=U;A|>Z!Hp
z6*to3N#D}tHaWJ~;;)OkUBi?6yb(>)IagkpdDnhMbhtjptL^7SPcxX+-safi@``mO
z-@n#krs|DLH}}tdA3QOIVRC)+vGy3@7aDsHY^r<RepJdwdCO+MRg+KWWV_WCeC=VG
zvOGV<V3UN|z7r?exOUIpR#G!JFQnJeZ}Xi6vz{j;i<M4i<(4u^>oQu;=ANHjl@jQ(
z^|%t_w!Ps=!7-{O(F`woJN~Wf-52_QcciLj*%2p;I}K8r{p$W}j=CS;FuPBq{!i{6
zfwGlfQVKt8mX`MRdi5pTRA#-Bbf53R1SSzaV@bbj+;_u@jomnB>W5CLlrPGvH~Vto
z#Ke|V308~AM&U=QBR|)M@A~XM`R=k%kp(}RO4&oD{;`Okx>$8&{b{GLS(opg-MV1s
zGF@T)soswlZ2c|EAj+e-i2v@#E(`SwD-PFR)2|6>=ReB0!al0YE<gHyrSJ*PN0)x{
zU$N+!Ti{ZA|HU1%j)N9A=7;^s4Vg0K<eXW~+NTpQIR9VHZI|TvyK=vIr_kfON$NVz
z*O%Pxko1&_DPE{px7M{t{Axq`yUj*cFB17)ym#B-mTE3v*VSi}x1pmtO2m6_g@u^=
z(p!h4>bYIbJ)&Yb7p`mX&wa~x^v)ip<ISZ%C%8xz%sihVSwH7wqi2@H?v-Em8b1EE
z`}MS{chi<Ut)KVj-TBSVUtcYBTt8)#!X1tCCz(S<x3^5O@;8#=lzuex;XIisW^?of
z`jR)#OIh{rmalx2V6Mg1dWLIkc|ZGF`FXh&E^TMIe$zy`ey_pG>_z$63W^Fn8xJUd
z*>wL^iprVaXR5+~-nSF@o^a}bhsQ(n-HFF4`{w=IqC8`jWc%-}ml;c5h!w7~dvVr%
z<)yT8qe()|qFXxdou1aG_F?zk%bv&kKYV@LDpIlJU!0`RmLDhg8g8!GC)M0IFJ5u|
z!pX-E9M&v1@OZ^=_mOCS{VuhoHs3fden|?y?XdT?=Vj}#Q|X@q9NYw%_<~HT1B9Bs
zY&U*)edqOHP4Umaj;Jn`>z}Ohb9&4P=Gw%+N8K|`rtEyF&bR2_;|^t(m%SPppIH)5
zm+^aPIr1NT|KrQ7AM<bAxV^4TV|rli#blm<Cib=V)68$Zv~Oeb`TO##`_`!Xzc*@Y
zXRUkdDRuYQX_nKKmL_7qHB44H^KGou>R)G-)mO{=Y|4?Xd)_G3+T6W0PdJcOM@-y$
zmPKjC%@f%ZSq>fj#_rSmrSNBL-&(g*UpM`^J^#Zio(}Q2i5{I^9up^P`KtZc8@2tX
z)8b>n#hHErzZ26`yOmUPc|yJN<!|cqOs#L5W%%Xi)^Gdnw(I>laxOfW{di=o66bN(
z*Uk?5?>f)k-~Q^!{pR9J%{ON8o|_rBH<4rK<iZjif1O)R(peX8et$Z#XD`=1?)}H-
ze5{H%cqr_hSeMblsr_OLCOx0s<dJ;qL-Fa3Nt<dq1XA}etYuNO%Bq;$!J(P*<!Aod
z+R(L?6YCd=ec#YNbK2Cfolmu+4&7SfaXF%S)0rK|gTj{`wNw|cs!#oM#8}&X30pPq
zWTje%z4?EFA6(f|W$$?Q-mlpXT+>42=3LyOaLl4x@O9GP+hukglM3E8$ndS0a?9tM
zWZvsLpKUGv*NCtBxFlsd%R$YDvx@qh`;4@d7Eai=Kp|t1dVO%fm#BSDW4e<>PozKp
zef=YQ+oR+29>m|@&2cqQW-70f^s0u!vyIL(EB__WGyP++<kny5bjH#|-sMe|nh|d^
z(mxzsC~Fw3S2#05Xj${Z+TEXChB;l{r?q*H<prajH#Pkg9lh_XG&l4eH80!K!s@^z
zb}awgfu0%9uc>aV{iv|GJ}dEP)KW{;lUF1v^)mNotaUnhzDeOP!@o5Cx6fiyAKKhm
zu<i70^VxOAQ{37=u6q28bMB=4Cl5o`tGSz8VwD!TY=3rLoc!MvE{3YFq8<caiDI4~
zwRM6dPwL5=?K={ir)|-@oPE{#u0Vm3+0(vB^~nW0*DVZPqc5D`f2{SW`YXqJ;YZ(U
zuNVX!%e7qDqZqhx@|RQ2fzM7aknrW3U+Z^v@3WSg9M#U%Q!nZ!dN294`}x{eiQnFS
zbA9#x{*%Q@Ssa|rMb`vepZZN{ebZ}_$ZFYj+`QCc+jgzr{qe8sQqs-%z6IM|dA3Mk
zq3d1wycLcg4&H9g|ESQCCgvu*d}Ge)$Fu7b)wg6;u?Jrced}(szrAJClg*OdCu~>z
z*V|h(?_WioYmU#;C)c>0=cJou&wfxTbmX?yzmR>qBYk)SR|S64n`XI$fyZo3y!o58
zOUgXoJy3aY=!U=LIVIOO+%LoQCQpn|J9vN2moq<3q-!K|xiHNXh-#Q3HG5^QxmJyF
ztY6tt!}_zU-X_h>znZ(z`sAc(^^XHCT-*Fvl{4ehoNL0jGpu8bBnqVU*Hu0;TQRxY
znDghn#}4lWjgHq`;jj3+MDIfr$CXfr`E%t`OtTKZI{s}o--c$+$J1^#Zt{Lx`-As)
zfOXk=(dEDHzSyD^RG&RFfVr-tS=6m&rWjA=yT`X*>pnddSs&K4eezq8_x#%exr>*7
zFPM3JRkszp`|q^m-hwAjZxrSW>^{o1GDpGtU&mdKw5tKJ%iA<p8sDGU*WxE(_Gnj3
z>xuQ-U5sTv-d^SuciS@cN-9IK_mx{|zf5MO*#}=04(s4kxGBg#;YenQ$fj*&g)a+_
zTHBSMdA@InMd9KdDLnh?JB`bWWNz%e!2CPNyiIMgvTK?3o991YFD-a?HRs_p&qEuw
zmi+q8?b+S&S$WE?jj6S%aV{nQJeceEKR)SP(sQbIL#>KzxHIGN{mm)&9wn=GR@Al>
ze%X9^O@Gzu_F3!a2%W1eKEC+ShJb0CJdA$xzLVVbMkzy#)n(QH3emhECI5Qm=U%?D
zwFP_nPi*=onQ~{U(R{u=>cK1SEmY=OkS^Eqa;;iXt488YuU40jcc)dP)or}}V%wBi
za$Jwkr2715nf2rMdp;d|pB0A1Y<@Czdw!~!Woy~W?tSqyb-{|1)~dfJdpGU8x?Mux
z?$v-(Q$3Ual=(L${%#W&dA4$@@P?$@PW2mEa&3E^R@>C9?>V>NPhfm}@8aXuwUsT~
z<#jTX47V%kYwATeH_A=i@%!<%y`|4DT~B+lz+-<-W7%q+^x2;`DkU{-nLekuGui#^
zpT!F6FB~m5eI-*Ly5&tvp@CE4EThlw7_GVA$o?`}=dEx|e&y%5^O{$V-4&bvcdG52
zKf2Ep>L+;IeYL^*j^qg|kBq0ww%a|K)>AO$Qt-W#^<F2u=38BtJ?L?r@xq?qms^7`
z9Z&H2|4c<Fc{+RT!D4UjPRHN^9aA2ce!;`ZVeda^rQLVsyVdmR#ngqHm_M=^|KWMB
z{pQQ3?J9Am_jHQxX)W(=nP=(}YQI+0DPijM(<c_+n04+|ecGlL#XGz6c25-MId~^<
zes$;mE7xC`{BE}9a8|aDOpD|{^?3cQ6En06BXnNO);ax0scK%`uA|lc4-2;yc)WcS
zVcXyN?pgG)z1@yiL)N=VDpoI=Yqi5dL`(kQk(0Ta+$`CKlXmofY7lBP4V7(}{c+~A
ziTu|eIsGiPI~f<IeC%$0S9EOPW|N&U$Nwa5`@ORGXtBwY(CdGn9prq{)M2&BZ}L|k
zt2JwKyXPF1m)#y0kyT_;*_*lF`Pg-hTW$ZQJS*0J=l}N>FT=)^Z4W$@-ixJcuAf@-
z=(fi4V-~`DZYimIG%U6VIAEFZQ$QzhOShy&bw|y#_Xf2+n?7sGFO@Rg_pd(9&Yg35
z;?2$1mUVw+5XyXd|5m%d)b?oYdrtyb*#54#bB{A$p0kHdLSMo+=Q3-%d$g1%%gi-f
z@1F=WW%_r)xwP*3F}L$_f>qjzR{ixEmd%cPCaZPdwECO!SMciR(uLc8W<_k+*VZMv
zaEX%IMZr!N#-r0$=Y*YIzbpT|f`aby`uWANA3`pjYTEYew4b}w{tTX&zt;~{M60$L
z*oEEEv?@5B^L6i$i`vqQ7-znd6MFNkl|6LwKkj8LdnZ^*H>`8BZrH{5f%n+?H@{q6
zw@OP1TmE;-s{SPCQ}^3DebyU3i|~epN5U5*S4sa5oH4(^&E>9JaK+)z9KEf-l!^=0
zo%hzaHCrT|Dqro|b13n})|kv-mL|6oXBMtGV0<|>D@4Dy^;@O=?v{pwXKp<=T(jYy
zvht+4`xAV%^;s5|6uB+*JZE^)Kl*>@CGXbXg&iL8@{U}4KSzF?-gs&Kl%Mj8rW+~s
zYR{^8UcG2R`uC^5ysP(LUbw?(yC#$0X||s}vHw`KpVUuzI{)>uf2)6Gzbe^$`00_f
zotg8KIYMr{n7?P~$~OJY`h1`Etq{!9;8x6(b{F<7wrKljw<>D4?$ON$UoP*vwEoEv
zp6elhSS)3hH|SQFZxw&BE%orO<$+gbPMUt|^qY*^RqWfX^lXmKZ(scJnv~hPk}Tgd
z8?`<^OJqnm_bSR*zrOyarmw-%{cn;c-7dZ}_04<HbgvID+aJjtj^}!{bb*gs@@;jO
zUFWCyd=Hxy?Y*zysm1a+f26#h-?pt^8n4QKvniG7s<HE;pA&S>OUQqZ3OnmLqbIb$
z<?@n+r#Jc;vPd5+&7HoMzjSs<*X2axiOs=DdVZ7qnr$PM%e?~Lii-uWsE<CgSnBAK
z-P$fvFHG+wKR>lx__Bu38HuFAD3w!A8L8(p|1@@A`PFW8)>dEl$MGoLRl&yd-x=Jq
z+~~SN?#-89>$bA(c=7hGaeY_CvWzoZo^&ryJoM%M{VO^%CQpr99lKY%b;r`1y^_~6
zzHEANFIM|g;^t;fo~!xKKZk67>T;UhpuVYXNw@I)<vafzGdX)ozD1J5IdrMM)`a}W
z*&;I~yo8U}eGU`IynB$#NKm2d+`Yt^QGzvYUr*lr`6fz7xmht=IyL_f`_-<J^o{G9
zjd@%DwKgrOcp)+^Zcp{e^sLmy6N8>JC`(P+=Jr*kc>C;I-=Cg)v0=)8ws{`cM2*X4
z`~SXDe}`csZ~FiKQndmO!-f;CU+bj!i_e#6^&Zt(JJs*oC9YczCv)%Y_!qp0Cs%R1
zMPuA)DeLF?9-144-h6A`Fu&e!LgqU5g@4ammi63kIc(!*q;}v!?b?-Fr#Jst&6NIc
zMrTFyHcQv;*l+$TCQMGa^5N+I?j<Mv3)ken68>uxu#urY+u?6@2Gd<uv;Cn=eHT-`
zJ)OnxMLZ35VEdAjr1H@J!&mogkCnUM$W3_T@m%_9QPb>5H>XgE)iUBdU0s1)eP!RK
zZ`=CK(7xrti8J3qR~@KZ!fY*g=wONm%bLwsKPx?)%w`<Qv$nD2?Wy-F+kdQ;eznv{
z|JYZq<Y$iaU7C!Zh1EZcIxD_qH`nx{p8@HQT+0_HpXhyR@zhoNK)S-b3mbE$mM&+}
zGMl~p(Ci5*nQ`x3Zp6NS5hwa3vs(U1#x^|}+m?=o^E&>CpQlYuo4I6edcVJVpY{4D
zYK@+$VXwb%|5@c?5RoRU>$@>ie4+Qdxm8cES*pzm^)vL4zg{qDpWCy9`mJ%xXWsVV
zT5nxb`QW5OO_kU04eknZEDvignf%pSe@yP-9My|y>+c-pfBXH|n|8KKv-e9^JfA*c
z<p!r!jqmtWUC$_em;I-D<Wfa>$?>F>!nd<Gw~1?fPTXqoNc*~Ij4H>Mc~Y9Ko`*g5
zFXFg2Z+rW354XqS7oW5_h1H!qeqL6+{;$OJd2jV*Yo1;Evg^ZVrL_i^jui#V#A$5!
zoBKUnM`6c3cMrRW#N{u0H@)^|)^uds?JfQM`n|+dclA;aMGLDlJWCdwz4=#XpWpdw
zyZ5Z#5%Vl<_usj81%mzgKVMc~RC3*7x3@vc;F*=W?eUVsKip+!#TH0!m+kL~7QMGd
zdUtX?v+N5qg(r8u?654jyjZ?Wn9KBhTS|JNRnGM_GmlI3zTZ%uePd>A|K=}Knwe$y
z{JWaQdivG8-Y0^b>oU2e(n}?$dTc$UCMb2SZSAUzfTico%ungxwCRmsXVUrLy!JNr
zV-I*w-+%b?hEd3ht$%);)Gq%%-S|>(eR$E8>J92|*M`;qUCP4s%Tc;0hO6rBk@?@9
zvu5=?<+Y!}CdpkXdCNJEMZRN`&*wACPV%qats!spUth{8>AjXs+Xt!Nk+COuYqIap
zW}DWR&3-bcS4%qk<@;XwKjBT5t?LX7#8$`bs_{NjWVNl*@J39SY}(^3vwJsoK3G~{
zn<X#HtiCr!X(DTP{Yr7qd*>o8WACPzoK>E`$s#Am-1BK>1drjPJxqPuxV-jEeQjYq
z_o`9Kp^l}jnzj>uUKP?WY1+>s^ef8p&$URVAi;fZOEaGxzkGG(`CW^1r~A)iO|<+F
z@Iad{BwVcP(#|a{y7A|9L~LFgB)+iwKG*Vf^~<G|3ub!!`u9ucuzX!TgS^c%m40hK
zjboykQv>~s@As~)c2L>juf5{Vss9u6E<44~s8qdIk`pk+S@O{e^_g#lZn16t-o2{j
z$)RaoscmcC%4Yxi>(Eip@|o4>?b)VcX|9>Ahx)_KK5S5UYMElGxFfis=8|py7WT5v
zjEyENj%Pbhlsi<vd6lZ0>NTzPMm=+5;>X>``8EZv`E<vXZPSJ8Ix);n%VpG@L^MT>
zS4KsA$uUeiBr-L3iNRCtzlYBDFF3EOxLNh!avN)T?&m-6D9Si+UVV1n`c-~QSNJL?
zmg*PW-&JIIc1i0<+llqo=f%4{-v8Uf_R-<LCGAb8tgZ{OR&sA*R<1d9Jg0p9qO$z@
z%Mm`$H)U1lYpZ?Voc2WJoMn{N8{Vs)@kV9ri<|G<PAT8`=9Kyi&!syb=6ecF-qD@6
zXyWyK92-`LO5ftBG-6J@aZ9VgJ#wBI(>jIf*zC!by_FfQsWV!g7g|nm{qiyTP_B}D
zasHfum1~t)<-SKP%6ah9ykqBu&3jEYzjf=LBw3#vm*xLU;<cCtqtn~`xNp8o?kw=x
z&LTD`bCQ2~s@Sec;+vg5&K31&`fx?{mqx}l>vv0}PVL-pH~9zC^XBVzQ3vOyTs?Z_
zxQ*mH=IZv&(;rsuS$d~E=|cBM$49w~zQ6R`^Xbu7=Fbm()}~iJnc~;G&pR)Nxqp&<
z(9G*U-@f>1R#V>=(fjm{(grKX&CC5mzotw`_VyR=T~PV<pUGJ%<N3bN?&WDn-t?^O
zUT^owckg!-mKzF{mwR`Hq@3RP<=!>T(<PdmwT6wNGmKv>EOBf4ROfH~r6{#9G(v9n
z$_>%07iJ#Z75+l^t>M49nLn*EkNwu<X-o~eBT*+Desfo%{;L<;>g87*NxORC@%z;}
ze|IlhwtS6g^M@OymuHq=THbW#;o?~f^JCVAYRZ2pl<t%>v`-W|%dPP2+;poXZm-v|
z3mgx{y;*sxG46($t^B3LE9PY?!dXu&d(W*r>0)E#H+AmO{TBDDi?%I{op*J~>e+W@
zUfJkpp(X!FvF5B^U(>0er5Dz2sNeX2cjc<7CyO$-O2)07R3vAl)g84W<plGmO`p5=
zz58q<9K<T=CbU7(%fE83h}mLq0S*_Yin}Xgljn4Ajt~ylSW;vs$B_RhevP#qOMJ(k
zo57L#m6<Q=rk=X)ldy}sa>GRa71zF*8ga<aP*iF9ACY=P%<HAeUAthhiEnlGe`c@$
zp;>NZcHhY|{X@u#?K405@8R%XX0h?Zos!PkTf!utJU06lR`tfVUF)0D)4W|`&L>tl
z$>l2a)f}9(bZzbp<$Gxx7oD>&ThF<Ap+}ojRQ<7suU2mCdUd)+Bk@{LS!;xs%(iJ~
zBqa`|eDWziq?L26Xvg1Ak>;w2&F|YLTrc_Hur_JsROR(k7I$CSxLaOQWyQ6|!dEQG
z|GA?wZ7)<BKMj&dI&ds~?yuz!99utTAKdkFe#4tTCbQSPoxR`_OKh*_oWi}VSv-f!
z4w|=2{8JdhVR|g{Q?KHGe|Fz_7NzSC{AZ69KJ*EET|8(Z`o)c+irc>%i5-_@Ha9nz
ze$Youk=e-De7d5Qpa_$h#dOB6{95(7#i;=@5gSSic;8t$6ik2cPLAW988eUBi3ef|
zJF+)Ckh?R9;UH6D!S@I64$8{y{#_Pd8ybJt{_b-B>$bId@l{fl9l{~EZ%ZCId+zK(
zRh|ozu3vg2_CS!Opzy<@%a>2@Xwq4b&@p)ptB4BE1!hLZD1~$ebN+_*?r!P1ath3a
z_20@^Z{KiY^a(pt-^>up&aH4m@D106RtpE417X`30{Qv*J^9Vc`NGQ!`=+bu3UDxN
zWo2A*kWZoEj5RN_YAGwj<fdJG4vbG&inbOoWbBBxYFNv#DnWa~Wa$pc1l~eci$9YY
z)+qQne2AZQ$Ks#ZgC~qdt@}7Om$h0jU3s!)Y5kM?E3=uOq*!cCWf1doXjt{gd$;fv
z-yf~Kn~I8mXIq&ueA$2E;G_K~KJ9<8f7R;i_JZtI=H?6>+nShk9L*BcOU~`D2`<{y
z#_;2RW8=GX|EI;V?A-f;*<f$Q2_A-~HSssz@$tP9>r-Hu%yZ=8O<ArY))kHo3gPMv
z(^@Cr?p9t`pYXbVrC47A`}_a;KkFsE0=mVGm(0nDd-M1gJJary&3hdjcn!WB&Clj;
z7oY#{*jI=DHhoeY9A)Kymdk%hI(2$8lcFErz5mruPwUjjpIEs-<7=Gz^soDMf9%$I
zp2Eu5G&hGK>VmklZcO8U#`@`|ItTu*xv)R!U#up>_y13`!~*KWH;5nT=zhFj_TjJB
zf23#rk@t?0di3=4Io%WN3D2L3u@rp%#LdXU+VbbW{LZj<>((i#zqr3{|Cvwu|Gt|w
zI>aexfB7ldG4+J|ZvV51PZ^6^lSMt&Br89&T4Q{tVDsU(>TWw8$VD%>`AqQUOtZ*&
z>S|9jCM>=2>S5QVNa3}vHXQZE)dd=DYKKzV-YlE3?vUDos+WGo|F`KK`XUiH{mMlz
z*^erpL}qO?kY97q=*aY`o8#BM3DRm?eLyxj?%Ji+md$ev%qt%*IgoRxV|wO~7S5>j
zwTC1(^Xgh`o3bNvc02!h?#QDy3)M|G>uT^9-QzLW`NeyVSs=8~V#kR|cXyN&N7lD-
zrTmf9Q@s6e>xl|AMfuqWAN)IY)cs_P<BV$8l!`T*I`ZqSt;%?n1+VHD1ljTSHV33y
z+DbK?;4t8m$~@Aw>D|p46L-JzkdFTRH6r!<<!ZGrNh``K5^RrdEwy>;IK}l=#y1YW
zSvNyA7e)IV4LjQ<oOAWGrbo=~i<Og%)uw%_w|f0`y@V9|wfZU#Pt#LYqRo7J`pOT-
zC4RN$bw2qraK+KvIjWttHUh6xr^X2#PIrlZdRtn#u(e$8%Dqb$v%a3|$X_vstK{cB
z7tud^<+_-<C%ZbHx9Z${`PXN^y?q-NZJo8=y7KtUX|oS{A8<Oh;`yocFRyOTycz8$
z$NF{Vzjr_CAD&J*?&JCJZt97mdk5DBtUfNouJ}C1V&yq~-q-dKK@#N>hw@c^@l1P}
zXgS5!*Ei|<`fmno1?z4kyZ(-P-dAgO^8!=OJA=?UrfEFqf9?qkkrJ>kztC5dK5Nn5
zpLxvkDLX^HCz=%7&5)_$EpeKDxXq6@f60Rj(=YG-{a;P|y-xlAqrMx>v~)IU|GvHB
zqS^bMrynIK^=Iv0Dq;EM?Q5q^i`;g_9=tMnRY!nY?diQwy)WgRpS$XOu2Ss84CQj3
zOGb{R-=<Ao?X~TN$+A}WShp)r?V~E}KE91jNnU*JV(!ELD-!4R>CJFB;FNaCKz!M%
zf2yw?B2p*rUbs<0>|f*gAA9PbOkVrrLB(SB5~;b>nbNzu_f!h?tiR_Rn{l&3=)3Qy
zZO6ht3qFikckJ7{30&E73~4K#Rt4=#NyvD%a6?o4ooz<<oaAl0)cIa6e5*G{YF*!o
zvySE-GEaY=3f=tC*?hs@6Pkj>QTk##S8v;Jy5GyQBqO?d`dq!8KTKAK*S-xtX;aUU
zxsh?BS=rv%6<&v|^GZDzO`f~(-eI+6n^~T>t@S^1?dhh{yk+0~*aV9w?Y*#eimlxI
zgWci#&o>uuVbWx+F5bB?drNdg#jQBE+4Da!zFe&7R<=68S#$LV{v?CC7i!Is`{mn~
zo8AhV@Ty<mcxKmIsc5+>-hc(~Hv2nm{&KVIN`20`!`cV^kBWEeP0@UN|7FrI7Ehi`
z<3pbE!4DSK6~F$lh5fhY<-!xMgSH#5QY-$It-DC6&Pml{sXB*bLTyI;1&2?`*Dd+a
z2X+`#>(^}hT)4Pv0`Hn-b=k+&WZx)-`7?@n{rF?IboF+P?T@(6J!~=)ZTxUS=X0Rm
z|IX_IVR}9FFTO47PtB`573)wqam)7P$FtOG{EpmN(HT*;i?Nnt&#x20?ETY=>bLn%
zO^o@+-adQAk=dWJnV(+2@#fT<_mR76<R3kqD?H)Rai@tY8+UcQ)5$RWDc33X;r0Ey
zuU0FGZmBExt^fLX*>=0@_uop3|GfR~TDkaUufRw9RpNFBezEbdpZPp`;%}{}&V!1+
z-E*X#zpZ$4KD%6fvRw?9rb_tj0%`u(>Ea*vZd+;Hw_NQS=f`6;i>H=J1UWrSdLw6d
zSm}JQkeZCiryF%SnOC-)3@d2e8C+&^TGJqRMNrA?GiT$ym&82hvb$*W^5N3$cm6Is
z_VDW5!0SynF6q60qqaWQzO|%2`^6=zL-YThwzFuMvSH7kr^4dh?tAQR@=fK?ZrAP7
z^|9mQF<c{VE46IWg>7feY?5q6-h@<#{a0A{JLV_ryvomxdMEzg+`nhx&*dkM@0}aK
zdXr7+$G@*l{mb5|^?11~a`F4I<@DnmQE5w`n^&US9}C94o_#4-Q*7mp`Q<KAc{A%T
zygDpjYWF_kQO$G%`9n|N^gndI-|6f1JGry{fl!l{Sbh6(`MsZR&w6)dM|kk$6aR{n
zP4$lzZ~D2%;BbF<Y)J?I_sDOti<;`Y+GSQ2M0@+`seW6!*Y!r)*ZHgDj%lp_wruiF
z;dG(2{Kp-8?k(A*akS*)xz1TUm(rfz^G`Y;q+fr>aLyg&cV?|GZL;~6Y(6i!Vfj57
zZ>3Kk4~nn2U17s#x#GjStMQo^nbPMSHaP7vRk`cV*L9u0nWr9o^Xy)2j;zzN!}3QJ
z(|)G>eEB(8Li_ZWs>8}%^&H`>Hq)XX^lvTm`Y}h)pJl%N)(<b59bezEek-o^o<rG)
zEl~DD_wOI8e${VUJmY!I`3bR15=%cllenU-!d252wxzy5<5%RfE{9MPam)8#M1+_B
zay?_L%JSx!s`094Tc4i(v+bm~HG5N^hWpvw_W5e^d*v)e8#;wpi)H<LF6fsii_FY%
ztC&_1t9ET$^Q_;TMt8bdfB)>)^1F0+%8kRfUOo7i!aL!7(`CEtdj49@LvNpZtK~n{
zEVXD_bSfzMQUKc~)gS#8ZWq(|bLRS+&M9Z`=l*t_-$Ls#&xVCnM<yQ1<JeLvx5Vw|
zsvma^q<{W6G<U}{Z~3D^ImhFhr&%y<b6Oa&?*#jj%WJzXi+ZZJyPlL^Jw0j55`B|T
z6Eq4}U5#bs@Ll;jV%F`eDW_l7Z{KCJl=pUlz;vCjf7j1Ez4^+m4*puflh;>$nAz~~
zS)%aW&%3Vu<7l1M7j|c>w&&j1YoUuvmLAwH_WX`j`@7^RE0?RjpZWOSDuL?HHty$d
zZwoFw{eJqi7?I_Zw6^4IVtcnRbp5P))!;ypHy(TL^1qpDYZ4(KnCNQg(O;>2=Jn^|
zdXb%ToTj?<y)Th3&EIv*?2Fxub3wD7e2R{*|IQ)lHus%um0x-iXHrm++0E45&PMSQ
zoo8%Xwdht*6_3{b<?&yW{9Jw76_4g_>R5j=EFf|Uzwej70UkSlFx+mE)oU`Gy<O))
zt>a%7t{v4eA@$Cu+rtef@a}H6TH-Q$uY39fo0;_{##0NWEIC(63;cR}de`2D>4$~4
zbd>8}SbM5=k>-}|>??lT{*3hVdAa!9WfS*MhO}%xrbzjNKBans{)>|Zvwn-m@30l0
zR%_Zgb5GbQ|CC49E+4wcIbmY#8VB{0*CLN>{mC6&dGm?r$=R%0|N1A(@tjrWUNp7y
zb(FFF+K;YWS@k7$k{h^$c&mTCoZ|P&`d9LC6*;!$)9<l<s*KLM5b-Bvt=Mb>E*YOc
ze<Hq~cop$XYXQS5o`Nms>{fZq&g3bYxb;QGTb;NgtMf8S0^eW!lN2;zky%Wo^jpCX
znLjpkDr`NOSZ5|85VYV;;|hh_YHMr4H%{z`IU7)^YF9r&bo;A|_0!db@Axf{zPmxZ
zVqNt0W6@lz-48weF)QKr_Y{XE?mOJS7RLEs`OSMP$L7^XuN|g-wrjf=$X0E+b@S?K
z52urT2Tg=pV_Ysx{?7kT)!_Vh%X`_9Pc#J|^88ThxU}z9>XQ||-*4w@+VI|-p1ob;
zfwp|#sUY(WpWQmc<?Rj5a7k9zTNUou9>i{5bm-LCJ(ukDZV58}-7Ayp=3I8;@9GO`
ztIIM()b~8)`NOVN{kw^A@l=0@JuFW)-M#vE?~0kH`QrM7#MiS)tmVD7nAPFk@2an=
zAN<**UJ0q#2qwpgy}oh(S$T(~T>ieseW%^7TGab_+|4|&^2?{yO_|l~g$tME?o6-W
zVaEL4{M}|_5zDZgJsh(`Ki+Nr+L6EfLiDe~qpsXMZ#=I{7AhI>Ot5kJlr;6sq0pOE
z&z^{HyBZWe@dU$k=i3d_JRc`qZJM%yJudF{6i1EYK5t!Zx@?(CR!3}#xU_5j!mA6D
z9Ve?Ts(cczox_<J@jG&R{zvnPEUtcQ_T*hze6F6c`p4ty-QHy;cjFvh{(P*Zsrc{8
ze2q88l493dOg8BY*HkSNt;v-+Dzam*_1vq=cs~5us>d}~aLpf?`U{K9R%~6p%_2i!
zhkxebYcDUeZDMUa^6gV&(928BJ9IcFaGUkCC)+GcbYFC4Q9gI}KfN#UyjQm6tzlf=
z6%zHkG5!2wyZUd8#=qj_uIh4joQR07=UMjtih1XRH5JXJ8kv!1titQwOrEj0#ps!)
z(t6=__IK_ZtL)rA>+ZAX74pHVQL_@c7oUD-ci@%8{EyS#T4>B@eJ%3p&|kO9hwF-;
z9sD)-)Wh%_t@jfizYR;w%lfJJS9DUUR(sMJ2{t*lQ!;z*%)GR4S-t=D?QB!;-(4>+
z6w#M(!R<yg|9s9jMJCR_uG_09%})y0vaaB5*V`j42^+ggV>h1oqY_{FGpS#4&13<S
zsZX!_oje}S(xhE$<ay_E*WAP!-79k^nQHvu%G+P4^UYgq&tl1KPO55eRXO}#>-0p2
zItafh-4~JD^*dPTVd(z6OG|FlSIFw@a4zQkv+nP*Dfc$L7c%xOHQZ*Vo25IOHU583
zV27kvvfiROZqeEcy_dxN|LPzW&|>URyhQ4Guh8*o_U?zRYtOIcR<iX?Sj2Jk!BvwZ
z#?O}RzqUK3`&~fDOPgMc<ZP9ti_2XPY;8BL*VC&H+Qr&FYyZ{8zge+?P5s#-9Q6m{
z&)wlpWmN9FePC&-eBKL*Jn4e0RL|S@*h*R1f6e?j|B!axtBW5T)-ilMVfFr(xax`h
zpF(&JKh1Z~;yaMNJM#0ce?9_E37^t-8mF#^GKzX&_}6*H6Ay)T*WCZiYisO~)Yz0h
zDXFzs*HLG&^0%3e2HT_Dj_hEN+`mTR%#FV2dU;N1{iG){M}6--W<I@TiAwKLldL=G
zA1}oyv_vo5CHpqHBdJ8O^Z&ggsq48{&)6V#aC#~8*YdAL6E3mITNgw{EV7#NYTF(w
z%iX66cPs9xP`D+$beXo|UeUMH=P$}!Qu%9b?ZW*ZdyU#>iFeL9BlYoL%GzGH{NHcQ
zVy-Z*j6C+VenJ6n=97ui$`jf;A8g&Z;DY|?0}|Jr4qC;()9Vuy>8kQ=iJxR1tkM%d
z-BKVX=i<$nKI@{sHB+OdLs)L-uCK3u`mlXnl#P@O2miGf;+G>di}RTiUfNA(ZVvmg
zk9T?A@%dNwHe6fJc3Ru{Sk&RK#YsEo1-vp*>v`w-^h<BT=cD!VJ*M-^J8JlqzMKn{
z(kOD{KfXbV#dFr_gMF(6L|&wvOPv(=Wl`mEjct2<F6~Vf5w82qzA!iZ{DO$?Y1&cK
z+I<}}mzBJkE5M~8zxCD3oFyCvB7O^-^$w{e>X?PzYd2f!y5ZcjuY8^n(kDe;&fI11
zvibg!_ZMQm2b^$J<oPNmSwA=R-)io+>@$M4Wt`t~IV-jL`21P#J41@S6oXo}JT*-9
zSS<7Q4X1T!+#E&UxAmV^#wf5J^NBCBZ<#rFo6D&Kp$6Q%cDBh88Q&VVPAv=7T*V$;
z^nQBtNlD>7?3LmlySn%9Qa0XsjE_I)R{C0(f}cF+CX4Ji<a_AdkJj+@;=zISdU{di
zuUU_sX8slb+GKI|y5E0){nWj`t+~Vh$K1cG6KAQeZqij)wujfc{HM<0k4H94yOJ(^
z>C%VBzVm+%obaFXRlxb9zg;q0?uwna<!$yyZub^BYWqgn$$!(Lc-Dm{Y$T#oFYefP
z(@-U1g7(VP7wf)U@XMQ^Xk@wYQ{KsG5@&Mi-GY|x`|RrX|01Wc*rN20*QY!_8{?f=
zvq;EQG;DHe<hlNJVefKxe)Czk>)O7e$(I&+z1q1XPNuN+wYhiol#(673OjC_y$#&D
z%70z|Jt6C2vHv%pl?Uj$@xM@W5Aj?yqgblac6RP{&tsLVEjP7H@yb)lEwG&IRG6^6
z>#e{7+gJ4};Q{r@=g#c^wr;yZ&F7Nom!B%Q-ORXQJh@YRyG`lQkiDFY5qz0>$?aF8
z`#)w~*IKpo`=dMIhl2~=@gz;Yo|}B{Tk56<&nKRkcYMmRPPO7|A>0Y!eo4&d)|OA-
z(~&k=oBcf7<)cAWJ7z92cCbyIq^_}5>Ef&<+eAM`DtwsEu2V0yRC2b~?~cCJ_aYKE
zeD+UsG-b3u?J;#d|Gb0D-_QR#Gd=62dIr;)Tc+g&v0_tQy^Akft4iAKee8QMW~pbA
zE2pmFZw~jqrCJ{M1E#m$&x!Y3m-krX#W%@WPmTX_Y-`;UWdG#oi<Dh`UiMQ?zP)Yo
z==y9kt!GPa$;&*5IR2{fczwB)y~kOjf=lX+){#+xdI?9Aj8t~5KEQW$`hryVU44d^
zkEt!SpO7|L>T}JHJuD@8Jde7*8SocOojLoIS<*{B-sJTiW*sM(gp96>1Rcw_ddYB^
zwWC%|aOae=Bmq6sgzJ^6hCdgp2irQwa(ipWA6lYO7L=`f{oU&@cCOaa>3izmO0lZ%
zxqER@;#8xMGPZNtQ`VoF*1IcB<K~_7YO_}M3OePzRhnikt2kv&*lXvi0&#5*uL*BA
z{pAaiESV~~SAWWR0lm*_e!Z30#}%RNFB(`>ceC%7-?1gZ?7edD=bXG<{5jL@g5lO}
z=NLb=Mt!N76>hrAF?1on&7s_#hfR`}?x}BjIsF0Gj{N>Z9zPbgtWq=I?{P@}lrm3<
ziiTa6d-eWFX1{m*YxCDzoe`5|oXp^7+%2f_bB#5Fo5bUX0fEyN+8bJ&75Ols^@C#G
z(~Y$%uf97^JO22{HnrK?R>W(pIzHi1sLQGI8#mosSv_lNu)*d{`3~!+9zE%Q{qzp)
za}G}Ho$99;{L1<*^0l<H_0G17vnI{WTj0&nxN!0*<?BZamL9u&=TuqD#J_Wrbyzle
zc;482=l9_^lhz8wUa*m$A8fPEBko^S`9FskvF5Lb^jH>jdOhj*{dmcder4WX=hMqL
zg%|kkV*HRbt1a%tW$n(|1<GY&r46QSDgFKeY&sFH<vEth^>b5fVm4kra(=J#^rd^s
z+WPNYRt`&0O1?d<$oS#(p7(oKX5DW|mfv@Dmv@iG!k+LKo0e2ho5~yS9PZ0o<742a
zp0M)%Zq2`OWvf<MUXXjKxFSCCzdLtQ##*PR?n;%m;m_<7euQq`(XeX5PurMguMcYN
zlh>aM^eU)W-oMy^_nC8jBD2)<#1t9FBgWs_v)!t8?4I>N)%<eox;(M%-yikO^vL+Z
zm&iIlz&+=qpdM4y$3N_{I-jD%Bj<GF&+5wTKF)Zp{AbSWv=cv=)FN5559Q6<RolRC
zD5Cn|l<=m{IUSSi7N7s4RF<qaN%bZF{)>-uy*z{_Dfvh^B`n>*zoqx+i~0-f{Ii88
z=X>j%7W`K6Ds<Z4=Z>nK`ODU_EwSPHE^&N|DOctq4W|`M&))c-oHB9ajDVC4x3mP6
zr$q4DF{#`O`^#u*$@t60eo2~<q4+Gxm7DMW4J-FPvZL2r;E3SQd(WS*Q;1zE)V5)7
zyN>#{In%7Wcgsyyt=yuSbGG17{8nqbdS}u5Y+}c`Z)}%%b$iJ>w}7SB%4N4VWz0DA
zJ9r+;$u|YxYS^q5o_ntqS^e`n>!NEeQh7}0`{&R4+g5jB;(52fo%2IXepKxY-nQk#
zNhJo&`uA+t&#ckDBeA;aWoGnz+ih1>Z!i3kJo~@kJK-;uHl{990*pl!d>`Mn@>;-j
zx?hB?UZ;8G+4n-5E(<6>pJH(^<V)O|_fgHNYvVs>+k1JL2p6WUDba8;lsAgJwzKDa
zj_~UAw3Ky*KA(7NS3X-K^-fVcUeRyM&P}N%sfO>PtzFAh3St$n7@Gc=?)&9w;)AEh
zUhe#O*wWeYbh(D5sNUueO0zb+4ZQX+X$ODP)`E%O>z(TN)w`9Zm~Sn5rR}MGB6Y)B
zEp9f8+`^fza(=HYvWqXs<#!0qDz;oSZ}}1)neB7uz4^MPXk%xlL74mObzVhQ;&)!|
zN`0I1coyF=@pXyky~Otjx=y>g>CwCES41M-&p8vH_3iV?HHPo(KAT4Ee|&xW;a9)?
zE{V&W-+W)q>sa|+KK=URf)*cpjW*8-F>kF{r5tX}^=a>?67B2dnjI${?i+K2%crH(
zq&x2Mu{ZvktIHY}SS>TXz~;c6=6}5UX)FK7E{VN&UW{?k?C&iHavP^TsVmj#tLVQZ
zCSMvIVf_8fvGSEW(r+)*+mo`WxhvT;?9HTqmGX>-!;BOjzYs{<u)|ZX{?t5QhyGt}
zv6J85HryWilw(5SjN|M5Bi4&1ah;zmBK-ZYbjrDD)-z)#71X%08oRf>N_eQt&$fPA
z?48o>w=bq7pVObb^2SP*dn*#Y{LruHxOp@9;F`t4+?o+qp}oAHBf}T{`1I8FwxP0t
z<;QJGf7hjJJ^otsF{p6*y&v4UCHJ@0^V&V1m96w)1`o$a?llLF)UJwJWWc|?^6HsF
ztC-90xRN;Qgm?p7u51>p<f^K${M~dW#DDv}Qw5T;HHpte&8K#6pXeKX$UkFY@C4Qs
zN6ahUXMEmX;!}Q}Kc9WNE&qZ2XS<><B=qIXHa@Z7z5A~lUmD^HB3i3Odw*Nho-YnC
zU`h!%HtVo^oQ`Zx-IW~?4VSI1x6j}I`~>r-km|NqmJ2_v=r4Cwuiuk?*i3sJ$NrAm
z<D3s?tT__%WA3CypEtOtBxR*txx6sVH9$7>xy)&fy{3NzSe>gcnST6Y5R+6F`uT(X
zw|ngOrWac92{W6U8%;mxBPKGP@0J)3tD&iZsl{}`USUyYQ!}IK3m7Fd>&ucSWJF&|
zy}2#-HU#ZT1v6e>+w*STKee=^M}JPvy|J?>_1H~MFO9VP=ZhY_OgQCn+T-{E*9AJu
z)*L)=@PNYshvPi1URrNbvR))*=Bp>YNIK=ZATP^lLC!0O11DS#964}+!_`Y6=lz41
zDVcc>og5N<e&(w-&gxxQ-??<{QsKr~dwciJUb>N$v48gL*$uNdYtNmmEq~YE@zk<q
zEP7(gSkk7MEn_+KiEGxRqDL$ukBU~YJX%(^%&*Oig=?Lg*|cLUM$?WhD?7Jr3QO8I
zKNhq9mI4yDZ_kYQ$35Bj?taD_J7-$${KI_a%*lJx9Ku3e1AOBAS{*`W#JSF>KXBn(
zi-X&v`32VE>FetE`1a1V{TC|B+j#oFhgsWyWy!z&U+lxw`~Q2C1oZT<s7*Vj$Ktl^
z*|f5NFaIC;UOIPXUc+1aEaC9>|FixvKKa9M$JAACu|&nd(De85+gFddox5;tN`upl
zd)E$LJ$j|n;o7|;S5Edh+`Mq^r@Y%7owFSEEpKvtI9zOFeBS!_`2Lg5$jHuo{PREW
z-}`ct^xFOhC}*Vq<Dbd%KQPj&JF;rVERBd=e-7`Px$vz0n!nNO^M1__`>TDie$jtV
z*AM>PzHi><*!(X)RR8K%xm8u6Z(^XL=BxiRJL+e<zU_JItMm2@=akrgiq|ikd{Qs+
z-%MK~>R)~OoPXR;_dj+$@T30RrZzplX>u&LcuM}y5^t-o{XezjfB*Ce6ZW>7>k4yo
zGwK=}zuuqL-PtgC=H2iAo3h`$dXkd${L_2BKf$N#&;OsN6CBJRoV=npv^x2n!0Ip8
zHgMTrT=df`;MLDa=FnH6ZU?r`yl0*3aypS)`0r!sHSVHonCi<V?(B3>zW4XF?aAX}
zN{1_gXIx(SQsNND-Ox4Pg&uho@4q$I|ERq@uVB@7g{&Fdjuk1CPvqB|Ia}J1E9A1y
z&C2OpgZfhUbUf-YWP3W7c>%|6&ez`O%N|YH^~57Gsy@+&e`U77GhHX{{N5k;`OO**
zaW{QWeCJ{KRhLVfNw)8Bz3KbKep!<*K09+e`+t)EiH8b~tg_D!=I(DiSTOC>mfe*n
zd{RFu)djQka9da?#FPm%_%W4Do?KwEr$Adi@x}6^Q_kFpc<_>QlJ4g33^JluoJ2gd
z%mdr)qAnZ@mrtu%%r2ELY0w}%MfSVU--FimBHMp#_;$KD-e$JeM`z8%`-$~y^K$xK
zf0b5yG|H~4=+=7P>6&@uXq$Rr-O<kuoD2`si^`vURbXyqP%h4JoNA-!uH2}-iOHtq
z+PSY&(k^e=w!DX3aP|6&&vb;BzM7$W<Zk4GqKoDReAn0KMxOTTs<pTDp5drc+h@u-
zZ^Mbczl-8q?;RAnV|=tyV)t}W)-ycm^=@oTW_~;5t!~wbo=phiIq1s&&sO`Lz!UE6
zt*!6)yo-HJR*4u&?3%$@<B+8Pg8Rp`JyV+#Ik#+0f0MLmdcpQGhA#;ha?5>n7q6{~
z)4UMpe`L=xmH!Dw-}2vj%;Y@f@$Jtd-fgVHvio<nr&mh7n|-$F*zQ21O}95W2#E=A
zozzwDwXOZ|s-Dx!PHrxk|HbX_;=RWb7?@w~Iy2#u*&eYInO1idr_QaIy==Yp)R+gk
zmPNC89!`)ki3r@tw!NSxc)jUFwK)en|9QqOd3Ba8x8;-7j;<Sprc?V<7T7dB=ZbIc
zmYsequ`g$r(C6C=3VN2`oZfir;Jp`YlO)5U!u-m1%=N3^;XE%SXQE&FZ|1cXiFR`p
zcV543ao0t7%bMt~GK;=W?2C>!mp5Cry47QDHJ9`8oP>h~GaC1`Zk@l-ws`Nyw;G&V
z7l-GsPHxuT#3uiisq(XKXs|k)UE;&^kfj@2%XHN13QO{TcEvPui!6S*HOO&O<pUNk
zZTUINZbt0?_UKCN<odU%Dvz#vUSA&7zMb{K%a5;D^!faWme?O~Rl7J`dCGFexii#V
z8xH<xyPP0%a^}%RYgn(EWG6Zm-+C{2ab82FY4O1at7{7G`p@>YTYW4qG44^N%1l4K
zq@erS^6`746AgQQm-1cPE|@n#-`(_sRb0|h_olOfUAJWKhVd4x>56lyU(ssvt@q>R
zW9*AGBSJ+Sg8y}|Kf2(Ikwea{%AzMl(s%Ezc=t{sT*)F$a6hy3G26H)wE}kWuQ<!>
zm>Sj|{`eqfR+r`!^`hNelh=IMy?gQIS4IB)-)byg>c~8Jr4ad2*6UZ))PpZB_AlCB
zVXczNRe!)@iBeZhZtwg|a~EY_CAIn`7gv7~ce<l9DRkD&)6eu3^X|mfXejg6z57}D
z(vr{O`lsTn7TZI7U+I?Lv{(F^@8xkumR<d+luAhQ3B{Aq5)L&pE`HqiB{GWDyl|4l
z)9b%?Cm(+wz53tZ8!j=X!7WdNoLoOd2_=2GB+<8s@43i}AM+e9m#ng0e$QZOdTZi~
zocgbk-!?A0%`53Jb6Waxu|K9~Q;ipxe<%=-l$$eyG2DdJaiYv+)%WWb6mFZt9IkKB
zCf&L^{=2Ey$ugDP5dX|=`Kp^07v$f0@^1TPzP}$sw%0GcbTnDCm9Osao`qU{s~?^)
z(zm*N?6Tg(C*=i8H_hWu3}dUajK1+)rmu2_UtPajeN^|XfA_Lx*4@0lcuVw#lh>rI
z#Z(l-{8{6iYnA(^7|T>>&O2;);rGoq{Y7E*b4}Tm4yCJ={64zQLz-*$Ho2+N>$on>
zU3*n=qS&_Nj<#Udb9^VCHHxge#m;a_v{lh1?D%3q!S`$D9X@vGL&Y-@XWqvjUbHiA
z^boxiwW>43{ZM25wE1E+7cKYa&3VtTZN(0yl~ZIyrIr=7A6m4PLDGlkV9hVRKa;dl
zYIgp#xwy4V|4G^04VMcpx@#AD9rzI)z4qFnt|PvFr@Bj<Z$y6MW@<RH<M?6kbvA30
z1m^!1X{p<H=8WFTi3uyO-PSxd?G>ZpQGwOY`W2B}46UXjs}vR7r%kUfIukN`S)RlK
zzCY`-a+dqvT(ThLWAdvMz5N$ORqQIn#cXV+{`@q5+j5oD)|wIRUXeS^deWMg{+0CM
zUFH2MF@5sf8wU4x{hvBbf6o2=29ig54Rl-7orLx5x<hYG5o(M-uyhm8R@*d@x@W}^
zcMaPYocmhu*;Sb~$3LuzOFT5$tp2gjT+@{03uoR-yW*a<^Zu;Hl!7I1#AVzi*jQg}
z4gVLcXEJGL&8<wwFYoKy&o$5aoZ|b6aaUU0kuIJ4whMNvblxlHUDzPsv+&;^*<-)F
zc&Fy2dF}JrS-L~NEci*(EIC_|ZEJ3I&-`S0Ki)3j^4W_)VMqMM7P|C3J>5~=8C}Oz
zziX3W{{+qUFFN-pNPkZ9E%bg^yJ5@5Ae-Y1&2uLEm#^T6i(TP5Ia6q-VyjL5suj70
zt3LVb8C-}eidw0iuMn@1XV0b-^KaR`zp8%<*w!qQ`DC7Ky&=>2Lew#VfYARtMQvp3
zEH%z1&zn|ke)n*5*Z%H3Gv~W6I9$9#jjdzCKZSbBYu$z_fq&kJWjcg2-_cnA#`To;
zRxOj|%j5KRYcdzqJ<nP%XY9<NC{*OabWye2);A(CY4_Kr{R^+PvDn2L720wwzb1bv
z{_WPizrO_p<ftn?y~c0L5pA>c$4rG=9-5yXsB3HqZ!HwRzbQ)Nw9mAT`~|;m#wqXp
z+@^Qcxy)ipy_fd#4K;h?H|lC7KkMHm>zR80DSu1Z**U*f$t0(o)lL<D^<e6{OI|!p
zXN;a)Q!SQB(Wo!!zqfVqp_065RUP{ZGru{cTzf73wsG~`^!S4Kyo~fK&tLN%n!90A
z#)PvoQe!G__a!RZ79I83t=OVn=WCX7Y18}FX0@|!{^kf>Ycje1&Zeetww^=r-<<8Z
zd5VJSCDUe?oncFzqWa}i;HebFna`I_HHheWw=k+8C2)$Xc--&zky&b=(;n>D<9~8Z
zZOTPOca@eqB9mi}$L_0bW2t_|u*#c3B~atS)3CiQQwlFLJY4r_&&+3RbEEoVxR;dv
zE7{S%%|6$6!y?1uCJW*%-`1aqK3x(cc}j4<ZlI26>qgm{zRovBj_%4Ai|iPDo-7la
z<aay#;H%49uFW+6DG{{rkH*PIA`!}kk1RHYspeg>D}14||M0B*BeT=z)M`0zm}jP*
z5~Y7FK)rFf;6eVfg4r{|g%~Y#=1<DpaA)hcqbAjVcivXs_c}j*-y*h{l@(hj*7I|m
zy(#sU>$}As@9F%{XI?B^<CwHt^!Uxr{Sq2$YpfKWxcUjF#IIX*N$_Y^cUs;z>34h2
z=2hQPw^@AfrO2`u7TXW6lUB(Qxa%(3J*iJ`YkI@}Z}F!!Zgp&rJh1cOz5OK_5l2oa
z+Wb;8mGtFJSjWm3-IJMJ&9>u{Os4IglKY(X4?;d=Zn*4OmSd#m8@l&a%-@p_O*9jl
zbaVaBJx&tY?s8&c$il0K9$C&j{JP%HaAH>5wA!C@=PEz2{Bq1UC3C;UZU>2*!uczI
zSzJ)4{Wxv5!F#q9CIORdp8dYEdGU_B+fJz6d+Y7`V_nv?j%^pjP83bjUiY(6jir&h
z;(Jis{|4>)il_D)CvE+)Gm?M#l#0`#R|E<R7kN(p^p@qR-SMt(CyO@z_+|amVhdyB
zmxNgnzcXxwPK4KG->~}sOYbX>zSJ-Gi8~*k3COAw`@JwB$@+Tt>*uR;bbFsq`r@#U
zXX$S(@$T*uOuferUDTX@YE~m3kJ^O?FG@LEA1|LGA}v^4tY}>S_lwxiC;Ykl?t1#p
z4Vm?LtMIm6Vhm@t7fM#CY5e>4(nWdut~;uMSzBLt=jyH9^k$1~`@_S}#hoS{{1-24
z!+7Bj^HYJjAroeW#5o;mzPs1KH*t~sSDzoBcbR$~D1C54Gm5dx)h77ms%HsnEvBzy
z3bX075sGmRm0Fq3rkuTmJF0$>+0%E==RT{-b5+^&Y~}Mep{lR<XequmQ3<r$%Pw91
z%x-Jc>qX}0Wp)-nFKN%cbm_`w)|-pwG&9s#-+yPo*XC=#T=@QKou-fTpEBM!`|Dwv
ziE>bvsG)|Usd?|j+RBonk7eU3KcALNeC?cW6sz^*PykPr-@Jnlj+eS8)U#z8)jQ<t
zOkFEg`LvH^kBOqA8~+y9>z;u*sV3J>S$=9*RKUNpU>&Er(dx@*!we!*mz4f@o-NzC
za$oawt<?|tJE8>YYi<TVxT|$>fuFL6Vg9ur({>)cz!19QC0~nZuD;s+?e9MvRN3z3
zx5NCR=+3IC<!QB7Gnbv1)y>v@R)Vu>{X32N7wJNaD^8`JO>LdN;6l~nTL+9+Fe~f7
z*4B5oe_b14u&g;T>+Rt$-_y_Zzc^-9zTifQO3b?l-^-WHwJ%$vt>>Tam{xl$cil!;
zZ)LgL`xm6FTDz$`wAD|vD56nkk@0@f&t8xJRH<Eg?Z9W6vG=Lz2PL!SLgRY*slTHq
zTJNfmI9eZ(`9^sC!H8tr;`o)K65mw3IAl#%T6|L!sFhjoxY&Np^FJZ8c8V`vWt;iJ
zW#Q)djtwt=?Rfrrw%UECIM?QqPg_e}P8(cMRp|e9mHmPF;<@d~|2vj`eJp?NR@0+9
z7BgPiFnY)GKDxZ5T<w!_U9p~9&c6HRC$sIR>~#7b*lfQupgy+ty#In%T(|CQ^VMWJ
zu%T7<akH7ZVs6FhrBkaHxk{gS{W0VIvPt*63YGXvbTgKU&GzlvSa$p3Z?2b1*r)4<
z)vuEOaK+zziKz6{8F?wuQgU%KxYU#MCA8hN*PL>ZlG^TbG+BSur`!G){vE6pxw~X<
zXdTm=o)gPnd7imwSCbZ3|6nWYO`c|ns7IQ-bM5xr`Y*e|^=_b)|Nk>@e+gfXcg$XP
z?E~kXe|dcE0!JPhO6k7u?EiGh&dkuFoAvI3Z=6%F&p-M4=}*4wK=UQ0(N1k2(@R^|
z9xo36!7rA+yddmI^Z!(B7oX@K++ROT&7a=0z&&xB+WeiJrn+H%%hu2NTohbC`R)_$
zOSwA(7g@76?SJF4{k4B&nQMmdi^GPC+m=l;&$RhqoHpG!sG~twIMwKlNup#2+yDD2
zF2V69=kED+{Yu!&>hL{GlNa>Jo0Z6Qm^>(*8j+~Jg;RF(<86ht0{*)n^l&Csx~ui~
z?3$aTx}jb8@)rZUC7*7Tvh7V+=OE7Tss3zI+w0iwmXN-y+E06DuP!L(dj4KgdhxBZ
zXHu8>-#%8xul8Kpg!A#FypW2{`fJH-3m&qs;(4~r{o>rm_KRQVzR!DN|1C1&dJ5a-
z6FOW`dV!N)H*6DTGV<7=nEK4Q-~RU5p9dw|mNGUa*+)egJe0Zj{Q0eU8LkJf@00m|
z%T9x_e%F+yOB|e5a=wD+kA+>o#$jR9s~0kR{fgZ`kMB69$nrRSox-y3%KKuMUafl_
za!bg)S0pW9_QxA+MV1y@ex5Cv|FOXKL(25}h`?hEIubARjC{U!1v=@jyR4?EBvm}w
zz;kAf?aLY6?Cg4)`mXcpqB_kJe9zPhc(HEJ(%Rgb#Z-UVV?V=BU&|GtpSpN+`cE>j
zuD$Vk|K-lTdW$zb*cLC9)2TgYXWYi=M=HG6&v!lU%(AnEul}~)^m+dZmUaA|Zt_I`
zC-b_zEQY5svJGNEhh+>@m4ffynD;BHb?w)NqL(a24JB@RH&VLdr&a16P3q&i-L-0Y
zV$@`{Y4dvJpIRhJ)UUPL&dJ00_Q>}8j9E5|!*gzT3e=<v`0)Q*pu;NY_%7u2PS@s3
z79FP_KT}%PF4)K|HYvzkr;d{$_LJVB?=`CrwR<~%-+rdR{8iwJz06w~1?_Kbn$L86
z+3huRdif3dET%A*`{>+O`l}_r(t?e3{)9fi_{4v{0b=%I3+{-S-91+C`fI_d))VI*
z`@BEsDm6uHli(K{1uaRRLc!*M!*8$VDGRA)o!)mqyzRibCCmM8vQKKX;Gd+|x#i5Q
zgo5NZ>v{sG`EC~Fy%;-f*CI~odpF!%6MT1uJ=q#ueOT*L^OPk8htB9T1ufsb`TENh
zYXcp^)jMq+uA5%o?9vl(J@?>^P_=p$|8%F;byruPxxZr5R!x(w0f~He^Fopr)HO_;
z@v<)QM(*lYZYc*uE}YAh+q3GE&V+=r9lN=L^}j1cso%T0Ad7>s+UrPAnDe~7)z>oj
zY?=P7W`_yi?L9~S2>%l(+?m0&M7w$2(u)!K-x|$$POq79yU6nTgteB|_9kk=+{{sl
ze)ZmS=N<gXyWVc=H(?3RtoQq8?drMosCa7P*Yrn|chy9ws~UE0EIA~&ZBI=TzcIUO
zpHf-V_8A*jdu-ABX0~?X_txfv6$)NeOZR;~TJN%s<8*u3M6*Q<=j2ROCrQqomMbS{
zEbOYOC8cf4fBY!pq&$Ct1F=k(>u*~%-xSq2I5FI(K1XY!wzGhY&@ay_nfm#CtnW4k
zF25geI(+esAj$jxJXeGlf4bgjD5{kHOZHydvSrE-ip2BJvVPcbUNe|+nzWde-Z9-(
z+iq8@JdilQQc(Zlk4IdRawpy5A9v|LU9kVwpCXUG9l`Mh>dRzjHM~5*$A2&7aU@^k
zm5L+AZb!n7L}t{Vx%sM5(ctvU&XpXJ8x~GhJ@EGLn^|=}my2$_+WhTbQ0<?x3-4B3
zII8;fQp!U|t<dT1PcHvfuYU3U*zd%!?NhIndYyATaW-O`q=>+I<tH($-5VCzN<Q5q
zb}HhVb|FXo@6LsF*Vi)fmM54u1pF!bpq~=UF|khO^|N1^f7;Ymcb=`6-nwr^&a{BK
z+f$W~o~TYfVO^-zx%Z|Z{|A$kd(6uA+}N@{;M1kWti7>+1>PqAdi!r`Mv9Dajrg*u
zVl46fLE=ALUrpI_GCc8cx>()HIg9qY&grl6FA~{*`r^L3uPz5Z;aJ8xPfh)Knaj7$
z6Pfo<eB@m+d5^-6SR);;OA|I<KI2)>Df;Y(@8Um!&z;@oI&U^joMH3yjZNKK^)=;N
z<P+^b>7I9+;TR@A|IWqM$JY~>BdwI5oZMZbw4C=E|HBJHCQt53Uyc)x-x7Q(=_LPy
z_T_IXoYMJ^*gnm)xO6$GIzfF)5^orv*Rki-Eb9yZYjMraY}*w1tn7fl)6PhPo<*m<
z7S`MC{&}wP=j5X+Yd@%dTzz2{k0Pt?>aM5KlX?rQj971;kTF{u=hMFNtnjzbKNJd=
z@@*12TsP_5O&0gf$2Np5+V;bI`#FQYU9O(jLgrjh$SjK5vy4-&OF%!^c*$?^n@vX-
z-ZR;49&KVE6=h(zac<6(>;zH!yPx+y4xXhW`K0)_W<6J}VnpYY*_)&pjQ#g>A5Z(V
zt|6bHXWq9vFJxZ0_?%|*F^iG7&YQ*C$Ljw#BK&pQsr7zZVTXD}J09QRxOPoz%b5w8
z$#D-iFRN*-J@Gd;NnGkY|2@Ojgyi{GIk#%c&wlv0>(J{J8!R<vvhSZ;{_dHi{-QZI
z4t%Za(vevjBgDo~|5Wp2^3}awzbBOK&QE--5L&%vU(@E5$EW<@()hrBXN63I_Ul)3
zPPa-4t-t51|LCg4Z3*9>uBC;4XH1{zaj=5<DVKAf^>U9y?Tt0FELJ6(RmO*3Rnb~>
z?P*V9+r792=cU<n`FwA6D%@j!V|4h~$(d^`JtwW{7EiesF!7k)slB)B@84K-_D9R1
z3eE=y{hlTDd9Lw^KK0C~!Z79_%a`Bk!r_v>zqxbRxQ#9>sgzWIT3EDaXa8HSt?fV8
zw@1uh%daDT*jeR+#_!`w;+%0=y-fdf?z^V#t(jlK<=GfI_q%BB3pG`R(1OsN(_`Gt
zlm6Rizun34A@^$YjenE%7*`+cSFRUaxvluY*|$<lC7-fB_;c;Y$L=Y~LAUkw6lGSr
z>#d#J;voJ#C_etU#Ok^Pj>y+$Gf!P!YjQW$bi!HF>p8BU_v-Cmf3ovt#afR0eIFlP
zxU%?+bWfq-#Kx~zx8JT6nl@>w$>ew^>BUofHmWpjQ=2f|eB$Zpx<(bJ*=qN$eD-eR
zKL7fc44DEa5~OW@uFyD;!@1?Qi(Jpn@2>lDRF$4;IG!*meK65x`L3t0BCk~xDI7mH
z;ek7sL+YQhmacfK14>!z<Vw7sTu3(h%PF5xKKYh##l&gunLc;z8ty-Px_)ztiQa+y
z6+beJZ|C0H_vU_)2gBxd`)_ML?rIPTW^D~wQo&s-U#}$i_B@A#!z1fr!*ucEUz?`L
z=B4fzIw+KQu6<wTnpZ7%x30DozkHwFHNmRK=*fN`)o#h!|L<jm{`+q|_EInZ)&}iU
z;U_Ys)z)vlx%!3JntQ<&UmMr&SUzvp{^gNf*J58KzwTVMO6$^>wxb`ePSx%<Qgc~S
zE%I1JYGJ*#LdX)~`V_wi3%^~_oCgmw)qYy0D$mYwQU1w1hbe~)Uw>)L*lS|rDf+UR
zPw|HNgKzieT$0a_JuzdK?<=#TTSc2CxSoZ)v$kE-#<cGC0pT~BIMZiNeiLSH%_|`P
zSEA0NWqOg7_O8PhxRWz;pK+*E`V?=Pq*Wrxu`c$l;klxjM@}dtKWeMz;}<!5`m@wU
z?o*2Hr(8Q+Y8T{s&;H?YZsO5rf7uS`r*ycBY)=j_zUmv7SMy|c>*Nh9?rjpfJ#&WO
zoX*@H8U3W!50?d$6s@|Qkb0oUcACj9*&ac|k7rmU4m-|hdST8|QS@}XT2#_M1Ha8(
zi}-V2c;0yBa#7InR!@Rzio&P&W%Ut$>yGdI>+!=NgjM;-!Tyb5Q?>`s?^Hf;Po|?@
zDop8hzblW|WvQH!?s$fs>8z7II}O}Ao-DcG`sj0lQyBl=ADSLZH*b#bPReiWNPE?#
z{Vw)yLFw*2mtUxVm#z`fJ<)JUi8)p}c2erb^y;;GbG}T`<J+-Sa(e#E2knoOSXZ8|
zx4&ml@gy^$ZPUHZpuZblo!U?{|7NvR%qjWPA4^U~ym_5)<57T)M9Yd>4LiPSUH!M}
zh)=D<u3phe`|>2x(!bkVimqO$6(gAZP++}CQXrSD&A<Ea=agzjT{*G$z445h>^i5`
zJ%9AeKs&i7WzMvt!P~#KJ1m}YSvtI^PsUSz^UI0#=VjaM)*t-UVU?EL;HIN1(#w73
z$(+!WjlL&e^$K1-ae9Z@pM9MFjW#u?t#-cHcYxJ-{{2^<7=wRBwP?K&<lkbVJ8SOg
z^5DW>fo#vDWY0{0woJZnuJ~qI=lV(9WjCK6ZGFwf_I*R$wx){m$*Jxh6D#|)tbY95
z@n?F%)wO*&QjYaYw(M9D(JNA<rT^>4%Ez3UM*>Y`IOfgvdt07XuX$NTEns%mw&Q%)
zFZsQ9n7Z-wLB^0-N1B#t`o0N!oN0XdH}^mGeAbG2{;XlOd%x(Zdzk#Y%>KKzaqaA-
zr)8G5e{M)j@}5<C(Cey3!P&VN-fXCOKmSUE*4zhywxQKC+nxBzztk&F6R=swcy|6G
z_6yGx>R)h9joI}{>*3z_6Vnz*x4W#<ubuPJKw@<{qk^2rQkLMRYnM+w)#thQvZV08
zgwvjgpnvaVM5<ZMf5*#R=rPneaVO=#Oy}2)sb@E@Z>q|!+tmNeb*%>5>s^j^=T_Vj
z_6|Sr-hEolxkI-+zNbD`bf5aOpkC`y=-z~|D5i(=l>~$`!`PIK;<hu%ZhW|rePtZW
zgMV+IiG{{ods1znBUyT;K`HsqWEG8`pm`gzPNi|JOlsKEvHY3#-;=+)OAiSz=ViEg
z;ZWg@BdsfM*)9t{w0(+{{q6--Pa2)P|IC%x$8yX>@l290ubkSooGy_c+df?T6aCDr
zeyjenrB4@S{&BPszxni@puyoS`r>)-7?0mN$+ThF-2|SP>%kHUe<OO@gU<Xse(w1`
zkw({Kn~LMs4>kln<V#>afAiSe(ErOOD%5P8Aj!_b8Q?X|+^R7)%;IL%)wc%8`XYLA
z3Bex6z0R$_*YUpZ-BBq{;aZ`7e)EP`(?s_#>};<;`_Z5w@O#_oZ*i9E6w9~x8z1lK
zJomm&y+dW;SIHx$7PAtZ9ZveUvY$9A=yUe%mCe7jn6e~x?+~xJC4cJGcIRu8p1QTn
zdN;#L_fzToP~As!=e%eUJ!E7p;P`HNOx~}w&!&>sx=fnf!cTBSy<2vS%{zR}+#Ot+
zuWYTpKAy=iL7+Z8)A4HB?t>jqn=^Ia<|Hb=;M0-gc~kdkLZkgIwW(XA4S3fWF1UHy
zamkhj!<s5#tNQCbOfMZjb){b0_Ez?&i2WL6DXCXk7eCeA-O_cCrGdFzQR24qgDUa6
z2a4Bd+&1Jbja__UiLpYL(cbE&%<0c|Kg#{RwCYe{p3}6Xnfo)n>P`B?Iwy4NoI5;`
z{mf2*utlY;hBE`7*f8JsVW@CkzC0lM(0>#4pN)Lsu3a;4&YF2KaL$d%J0nY3+BY`t
zG-TX)CCcU@D~pFlx4GQI;8$GlHdTcjufMZ2OiTCDUcZm~XNkrXTI}q7_Stfth?;-*
z%H)?9`I1Cs^qK-{e}1vKe*AF#(fzASFIX|}Zm9P;AE>&iF3tQBUyaZ4gb-h^pk|#}
zop}bgPwYvaBVDs($qFv@DZeV;%>Q`h#f2;X`2y^|Z*<u7tbNT|;eVkvUoYj<Hht3B
zZtlBi+9bQpZUPqkH($*4TyyC3;{24Z6OZbON-}xN{zY}BN#EWU;<MNNHgm_UpAq#>
zDq{=0CoZ}kC-c)GW1)cRQNi9QFXN3$+0t>YOIK^=CyHbii~N$SeYnYwSwkhx-~Fp=
z&3X;Dk1Z+3#hW?4S_plX;7-U6c{_P;N>=#&hx0?9E=d=Dz3#^PR+G>f&vG7aK7ZLZ
zref<t3k{Pv>#p0clmpi;YreB4u8C{4Pv%aqdWQguY^INgc5I&?z3|Ncw-V(78~17V
ztv^`hrtRY+@~kK@?PZ$Dsm(7|9Mj~#_$ZqF_p;z0XY`&%EY!H3#OJ+dhwzF{L-(3C
z%MBNg9G&T}xt-zq#lq#gqB^*|<m*;`Gj;C|6lV|r&7t!5;yK1GX=cnRi{DiJKdqF!
z^Ll(H_r44Do_A~(eJ^e9{`BGOBaT1e*^DM7+Qp08k7<3KUa(<rueM41?zB@g1MZ}|
zhAo_~q|3KApU=N6@KpK?CBI!t`*T)Zd;4U^)9>x+wlcz}K1?W|CaPaGbr-9*Y{cf9
zRxj3CFS${dvU`p1xs-EXdGGD|py4PmGkwY)J<UkjS=-;5u`Q}sTlwhg?A4|<J{%z*
zszmo5)^jvm_IbCL$92ay)A$dr6t0`Gch|?&bql}p|NP-pEOfalxUGJh)FIb<iB><Z
zat0-Sd9A^#+GQ2u+TNJje9iP|aP9y3eaoYJ|5l%7?lLY_ee7TpD-e=h=)WVWaY`76
zh|f-ukG2m|Z%*E!_(nwfVExVp7oJVe7o4rzdFe!nF2|vH@#>9{94<<8JvN-(qg3#?
z;eol~;kT>1;+DUuT;<^`6ZFX=ah>9P9aY8GDIe9MXI^d=um9iop;*T4BX3uN$Iouz
za>W$M^#>MT7TWS_{>m1y;!3&I3y%GmJfrZ!-Nkn$H27_F!>o07UtV#EbDH$cdfO)D
zvx<A!_vo{W%)jNnWs?2-l-(|O+4pELtbVyp<ZoH#r;@&>UlSVz+M}n1h|jjETl1NT
zwZZN8Q-OW`Z-k{>UQCNQ#qikv-{Wt$W_)i7y5G+<rDA#W{6JrwX$L(|oDkfy=kEpH
zboXd~<rB)Lmt~%q#+SczJ8a^_=K65OBt_Qx>0e$t?weVbB@=Q{uWCKh&pXmnBDY8~
z&wt6~6m{uNn>O1H_Li<K=Tdujo%C<q-E6-xr8r$MCG*Lhl@`nY)^A^yeNtO3)a~xX
zm($&sG0ENYDL8dd+BA8`^-~A#$qA|i$8HM<i|$*)wJG(R_7<lC?v<UVS>Mm`|CHHv
z)++J92dDbPWd$00Ug%^76)3w^npSK)^>5XY)?coFWYZ4r58c?f>UI5+KYG>8`RAC*
zl~;H~P21G&_b1Qa<>{S&b6*B0d=mV!K<({{w%3239<iu>@-ejj)1DWmXTqn4YQ$gO
z9pS8QzffI2)nv!*C$r_<g_5^VUzxD5<?jie$~XH`cdaOmD5!UFWH=?pl6s&ugu%Hf
z==MFYYpWVpUKF+H(VW<+`r^RGofgTbCvX*3|BH5;?dZ4bhCt?rfZm$blFpn<=Q)Q@
z-mkoLqGF1%=6uy=ttD@Ni?S9>I`qduLA~~zLg5vSp1+D5wuuY&o?ek-#XM`GH%}TT
zXU(o%^Rq%<T+viMxrVi{{*U6kt+U>)xO*wwEo$P6{TsLLj6SP#>gvZYaS_Yf^E%k4
zG_MVpwtvk#?YwSGXU*}`Cy%_G$Hyy{|0FR??1q@t9(&j4OZ#S<TzqI3y=d;wiEB2=
zdCT>r?3{2?Avw*g)imWl^QqfRZ_XY4`8SbQ&1g%7*A(WHHtMYmyrEgeVFq&bIkv0x
zn3>nTDHQYmcCN5GsUvhvU%=sgZCyvcTrlhUk@ZSHPG}BiN`CiM<C3pF(>9)X6tt~%
zMck(eUow*Zmi?Dyy`#IENu<PYew)|Ta66W>T(Pgj51ra3=vDUp>C1}1B$r1swQhy~
zsC?d&r<0Je?1IL2ksAjux>}w-X?ND@$%^{V-lk@=rd;HE|3Fap!}c#C{WJc5Q8&4B
zJ!aOktxperE%<hK+s`_lN557ci|L7MH2lHE`C?tS#n!l19?z=kD+`}JTD^g@=GCrf
zm8j=YAD<Y-73QUDAKNKtKkIW%%;int*)1;IClcL$_T1n-=$7THo$FwCHU25v3-%Sq
z+m6J3pIqPE>MZ<<@tj}tyXo1HJ((vh<Aohhs&_wIrO@qm)oO;p+x+BtE}nKR$L(r9
zF4laO&(D0}%c(Xs*PNIN7p3gwxvf!We*Lh&KIfv#$zvTCk9EFT>a^(UvQkm@l1__>
zjt5y>Y(7khwE45sdTC7f0k@9|vwtpJ7vJmgQ)^be=C_%G^$zj@i9*3VZwr<)P76{p
z{_pj4*GC=4Sqf|FRpvxoQ#_P<t9^HEZGOIR^S8b%9-f8m&Z5RgE^UbZ$$C<nwJz*P
z{FO_V=dPQr7Wa~3TDCA^*0WQ8g?w&K%v!ap=Sj!snN5!IYo~Mm>#FXFVD)&rfA5Or
z`x*M=%nv2J=1(d<;bl{Q^m)XB_)eyO+&6gd>2n@_rBhMiULI6G#mFd6q(-&>NA3+(
zb@}D9KFw5ixyi6bYD16ytmh#eXF5N%iQfKjB<;|WB&DPi`+X)&IrulI*VrobV$;j4
z2cBo++c$Ug_?Toeb-v3`I1(VaanXjaU$*JqTjzE`tKwPxg_~y{t$CGN*k8{)+0rxk
ztX1`s6?=7@Rb(ROU;4l9SL33b#PVG$G!`bTRx7*{JYnq|5BC?LVK)lSv5Fmb4*IKe
z=j@yZmm?*$jkbMSzJ%wYUO{r(@jDW?Kb}(j8v0Onz08zH{c{pmXWi^${E^mw+h?MA
z)Dvk#?j0weWvOcg+bY>9P0dJne_pVEe*K0on^${(ce!oh5GYZXe#d0~MxOTfa$72<
z{MUFow{fLaa`lw9@LE=XvF~N}DXJ~pn-@=ziPq{o!l!mqW`2+5%eTu41EP!X<;KSC
zs&X;oydKc-BvWqxJ<Ge_ude*`B=utFoSUK@$~~GK)AVG${fuX76sE>++xR+8amz-<
z{8G*OFVa6&MCwY)7x?!5JHGPum(>DCb`{>=!KZz9-KG1dGBbBC%z9Ok6LKx)*k!%%
zJny8hHQhKTHv6fugw&nwKV+taC56i?y}p!n`R;m86X8a#wtath2+n7IpuMr@)AVg~
zqQe~6E}pSGYyJ8BF1BCUx{550x7g>DoSAogn~wM16K+iPb041je8lXpW0j=$pFJ9B
zhnwCOx+EUG{wGAVN@dq_HgD!D0?E8{CNx?4>0CdgnLd3-=Zn4em2y{~oU4y^y!c?&
zw*@ox?=q+T{vp#)=b^AV=M%eYhr*hIt1*_Y&sL|gBwc)6_RZ<SwVwJJxpnq0`Iji$
zxz?P@S$OQ;MO}_*R+aT-*F+5_JqQz8xnU>c?7MGPi1D9ke$r_1WA&P)OZPl@Z2q&#
z&4B&-C$&%4<Nd5z>ia%t8=gp;s8Bv(cghYEy)QDsS`F_H9N+wUx3l-bi+sU%SM8hH
zrvCfb?Xa4~>k4vx-Gp9vTveL<fOG3BO*wt<$#&b8Y0c)V|Mk`9S91X4&u8_EWh2<z
z)+EhM+}jm?$#lvOJJ#O0E9`t$@AEBwzO(hc=Ys<Ue}28py%D#&^n2(_+u4`6UQV!M
z_M5oQr)~SiE#dB|F7r}3HtqiW`(l%tc0tv9cjtNBER)4`g&r*3|C=LT{L2j858H+9
zuQr+S*RgGB@vIOt?P6H_etkRNb@7=U67`;vJ(I6i+T~q)vC*OL-3R>}&z7BT|2JvJ
zoIdgT=6_~?1^(T8x<i%gWS#L*F3&2CXG>ps$4`2(@5tlSW6>-eF-;TfJwF=$Pdh8M
zqGGLr=;A*&68-zvb*L2Ues^!uKX5rMf9j&b9}y+<_tiRV+Aqv(vianUYr!?|bhe7l
zQI>Btt!J!yEB=L}#YQwT<8J=mh~@uyW>qXp|KF=`lgJsge)i{#m5ilauVz<^nFOlX
zX+Qn+OKY*1#|&4Aubl~^Ilp`&s|<WzFYxrSz9p>Oeev9iD-C(41y1fXpP<3^a_PA|
z9qW9HZ^2eZ-p7TMCrfXTaDEed=}2*aTXHq;NsW7lWIxwGwmrG!T*je~hWEE^xSM$M
zvW{GDlYGlv?TtHX8uHarBKRaW^RHU${<Uh^{X-2)KVI4P?2)(q)4X2aHy1k(p4}L;
z=BDdxmLs9QnMN6=f{p7}Pe|J5^Zf`z%Y-DM*MH(Zb_l#!vGT#hPIErBYjSN8j`z<A
z$N#p<(viOJd3XB+9i#fcE4-PG>+t64W+bJ5K4Eq5;Qz}kx!NxLi@q-T!;zu-yEN#f
z^z+$0&ZitUJ^jhE!Rhkac*c^Hw{kXTGa2J*+qT-32n#dyho<!2I&T@-ywviE$`Rd^
z@3HBRqpyC*Td}#=_I%^|gzXarZr(Zc_WLCT^|fUOlJ#EfKYZd2=N{fV@p|SBHqAmu
zt}Qz7hrRM!U-q7En|11OM{*4=Ux~CZwrKls{d1m7)04J~`&+wjnIHL)w%5xwX}5G1
zqxymal?_WP#LsZ>OK4io&vX=Q(v7;VpY$*8WU`6*{tBC(i=W?2mMm63{Y-Q<3(Hhf
z9^<3w2_`E8+KlIQtY2^RDsUYiTleDn2|FiWdp~=QvG5ny6TWh-Z=T=W{HEc8V#m~=
z%wLz@Y`y)U)95*KOk&GQzS|Rfo_fw-Tk=h3`Q>O<voo3Jx;RerFtOQnxXr)b@K)_s
zaQBq1pao3L@!ytxxbAzvvd`~}F9-j2j*t~ylOwMf{_fq`R`GUMsp;J}Op5&$^KP;;
zFzu{ob(KgHI-l>^^L+ERqGOYPJMXgdkee+(BdPk-*&0t4#bxa+r_IhRoOg4_f_-Z{
zN*$+8uKv_C_fz$yplPmZ{d2-(dvkP@6J}MOTW=o4U6N{A{!;K>;D#8Z1(q*nzn_*a
zy!&;5d@0Xb(Z`bl|1fZ{EGVAUv-`04hdp!E`UCGDdsRO}fLHKePpg+|QS6cPC$rib
zuP%I5SkCU8bjf|okx4CYt70P8>#$p%`L)6H(Z>sG+GC%+nYCuZx-yL~bKYG^_mgsb
z-8D^P_LsM<&urGVo$WFyEian?vg*CkCx8E!+)HmxwMo3<FaP^v?UH)QUh}8yndRSi
z{)-pLV%jJENN9(?aQ#pHb*ptQwQZJlUdWdp!8svmt-cXsxN1krua=Wf&fZC06j=0B
z-|~cINs`x{*q3vndsUsg_wKi_77Y8@TKlwvfw9f^d`IA#&7ll4xNhJ2rxu>IyX!^Q
z5{dt7(y}MaxVZH4mW+-5+x9jz&r5E<(6mFz%eB#G(}k-G=UrRGKgr`nz3`$A_nJ1}
z=pD<Zi2Z!NNaW=08P=Jr&YnI~VbhzWU@B=HDW-Ei(=A2fgkliK+Ygz46Al^J?W<bI
z@mE*OzVYCmStZJC!lxD6&n<IV?C<*2|JSj{_Z0$GtbSB*wNc}5js#a&&d0UhSDMy_
z{_6L-Yc8wxcVcr<jdeutln*lsUslw2vI*KR{T&z0W<7%`|L$78(=9)y-gY<VdnoX{
zTX$XRxuoMKjh04TpUn8|;i(;lv+VY){H$J{^Y9jb!*P8vnf;OJe=B%R&+Q57O#3<6
zdj}V5#;ubVw!5wnE<Vip<>)+l%~QA5+ck$jQOsTa-e=B5@m6EU9G@SnJRI*myUg2j
zp}+oy_{U{o=^b`YQV!{<8B~7d<=EwEyNPqEQoP!_d0P($8ZG})nQU_Z(IJU+bt(TD
zOV?L!iIaIhC0grW@-eR`bCSF|)@rCv=P|v0mS>6A>5KP{U#LF&RU+izr;PS2?Gr2S
zcPi$zm^S)|y<oSR`S)qx-;ysD>&ho*{QfE294(P8THk!-UdHx?Dq4Dc?T=5)opW7H
zvFkbSj;a?$u`iOvBZ8UhxKE$(mA!w6=b2FN&fAmj*xWVy=f2$KUf68*wt3h8et-C4
z`^P)p6R*Fj*!yb1SKHs$7^)A+mX*$Gy!8F$am9@dX~J(q&RTMLHJQh5?{KWOwO;v1
z;_0>%PHAy5Q{+6X>II_n=V~5cWskcPd8YhTVo2b2o}UVzd0lpzq`sQq{xfg#o{R7J
zLoe-16=0A~KNWa#%kq@E%)L*Y7mM&cT(q3;@0sN5v6|NN0w*qhy<e(tkKW(AZozjX
zFJ&I^7hu?7!1Uzf=e@hWB|2YUsM%#V$LnSFpY=8Cd;cAJ_$xr6WoAoUz4fvc`(x#=
zyw&zq*^s2vbMKsAA=|%RGeNTx$Cn<-K02fHeQLpv&dsrctSmn=nwXfn)~s4oq58z&
z+XT&Y5xuYSi)>vhqtXNgzfRIuG@Vt;`!aEQy|TdUNwLD;>VBPEG)r@e`PDhQ8&5fx
z<Qw0~+4FMUa*ruh51T!{?@B(hslBnjE2T}=?t8PxSp~8FoL_ZXOrHWhEAGBl$lFqP
z`*h5^l#?N82JcnO8kQ<A@jvl(QFhny$Ol_rb@w(MHm(00(WSa~&ZqS7&px*eKNx;r
zz1ZsZRKuGU(HSR8i#PHwxMKQTq4sf$1g}=?Bx#<vcDl(2Th1N2Dy->x*ObkD|FOOR
zm->cIt#fO42<R&MFTTRJYc50YZ<&C^>71hW^QN&lJjs0g$5f){#jHsO+F1(ol06+x
z9ZS(XFf;S@v*I<q#c$^&U;LKX^lMJ}-)D9e@u8N>cLy&h<7YfQN&FDU^4xq8Ch;Az
z7B^W!KL63V<$Ui&(ND3x4O142-VSKkA&{ihVX|yvy-QJJ<@NpQdV*n9&6{UE(LORo
zdiLX@#fx_N{W!M$>vUaqkv|@X=P5~e>R4_Jy!`ia^Pa^sX863_HusWE%h{Y4-Bp|B
z-^zUR)M@@HU5DB&PvfPID72@x-Co_&@_hb$k5kKc-!AR<tbVAn`9`4U*M9MhHFYzi
zKCTgw`?qBY!*7lk^?6L%Vv2DNdtX#(9ylXxGdJ(w#AP-rd%h<L97sF+?u*DXlb76+
zem`#FR{VSEnsSrybb<9}znfUj)Nk%ysCBQhz-z6m-N6TS7k+jz@i#?ZtbI9IEO>c(
z=Sr{SK6b^X_d<ue1O2Bc7_6A{=ixfe*XjPp|Mf<9O<N;be7up9-N(It(uO5+_J0;$
zt_eRhZE4gV70b)zkAEucT_75;<i>Bw6B8%x4QtwB#clq_?p$}pm5*{4w;n50H9T;E
z%WlE!_g~Uy-r6oJp=z7g+J94Rbzg?S)B=BtoiQ?R&Puha?%GhjXr>nT)6%q!p4(&D
zPuGcjU9K_Fb>igvoNOD*u3r;BAIVpL<96+_SrL=3|BPDo>zaMnS=B(l$OoUAHTDW!
z-R~K>{KjVK&Qm*iI;*nzF3g%-FP@yj_xPBqtF41ilimDxYy$VIAI;umtKjRo$w+eg
z_vd?suKMr)bLr6OEmk+xnzk)mAN4YCW*m!%+mYpyOe<bL%Q|D<wZAoI|5VMKz(1BN
zm~`tcxI*o+FQvcfI=N&WyUeYhVM2~+qCyjoEH-0Oy0DsU_TDgm_HBAyJXSCJuN=|(
zn&kKY{?F-L1qlrdydMHzbI3CpiwN9JX+2cRbia48pO&*nQmM$bV|MGExwu~1mv<-a
z{eJ(`-hY>46i>HYP?%RK`)J?I6$jq!^kS=8u31|hQD549MK@x8V$?^0H)rPb%A9{Q
z+xwB`XYH(qS3b!<6P~emMVv<t$Bg5rt)_K#ed@lf*14f~Z)4wzq;M@h`O8(WzG`R8
z-4k+Jq?>D5?Btwp-Nw#RJA0>lb_G;zk`yWLP@H`JuE_V^*itdkggsgxSQl~VIvQ+t
z|CZyjcDwNYy9Ijn&u(|D<g4Ie**8@~;;PlkT(P&?zdmkT`JAa+WUG1G`3*<;;(M7}
zcX6~&D|4BqxMKc;XN6$_B}&$AJNp)Mywc-d6}hNR;LX#;lX`>~F!ts|n0=h`OY+sX
zIqcU=`wG|p{?(<>pIZO_)LP$8d*QJ3*Y2m*=ZpGe&$gVslllLy=_>WJ)xNhJy>@YO
zR0dmv!dtz{?j0w^Hni@)YrG~~OT8rL1#9rsfd8tWFXq16JV{*ZY}~WiVgCX=)HI#*
zchm)JGAW!l;quN&C&d@Y+s^87m}BqBz^mw;w!N?F&qLOUkuw$U+&2E>+H|?@Z*_f;
z^+(rb+t0o_c}QV_z~q&Z&R+Ax^y?3FmR-(!9DFFF>{a7RJN9BVZ}r_06As@rxx8KL
zt(C=2%lRwX)<1XKBhpnd_k`+}FBc_Jo7KgtHZjRhcM6@zz_K#O*6K!3a^NLHdG)0s
zQ6JRA4*V~eW|X_}^Xcg_MWIVW4jc`*!f}?Ne>KaifD5}-lDJ(pZm%;x?!D57yJ)*`
z{kyA2*BIDNC~p_H^{{@t+=SQ0XTg6K$$}+(LMPY$tIJ5<wkxEFH-oc1F7N-Y4%2Vn
z*1liXGyl8T1*vCQzxJ+e6g^z`eyWny6ZMZLe#LnHc`dP8L2AzZ@bv70tG1>O4!mD-
zXq!yzo$7fxJA(dNUW{_~`_Q^~+ai0L3sbYN&;6TL-+n++be{Z;#`NdS_tL|X1TRg`
zVS00iMdVzSjkvXbW8%-GsLkgxZ;9<K*Qr0xwnwT=ko~C0b@}-H_ZGdXt#vr8!Tr8?
zW*!rh#=-3z<_vqS1Q=^pZqhYACnDJrY&}tn(PiEH<ogr$^Ju=c&5td&mpi#_YTnYS
z69u6wo~hinnpyvUMa9e*C!g{{;q+`ThG69tHD?c%^ruD`%V#`Z7kz?ro$OJ2zd-%D
z$3B_0itW6#@K{uLcK)v^6*JGTJK!Dt?DYB7df#hh4aFwr{fnCQBx1_b%$Rv=uE<-h
z`66l}7yD+nyQp84({~Prxn8II)Pr6}wq2~Bcj@dB)$3im7yg)byWXSxkLnd&<>vbj
z6(eew<uNZz>?#Vp7woIIWlqA>5Ywe=me$N*e7?W&Li`dNvj^85?p;s|5`Vwup;GhR
zJza%UUh++v@_;2|?a`E(a_@gRD%?IT%Pqgiwle*IVNTtL@`gv8PFGgQJo$2&qxrt8
zdh!<u&Yj%73%<TemzVWEkl9gQf2yLGv!f@tU~h9)w>RI6E~Z7>%T_J0Udf!Myy)yx
zpJy%$u57=n_uXbI&ldJwkx$?Jk#6)9_hyjU<ELg;d?@S?N76E3MY-<osC>Vmy4y=W
zdnaBkKm9N#Nx@-@#=3`-qJJ-aHB*Us-KvgjQ+Iv4ZFj|I^8MNW?v-j<pAll6?|!L%
zV~$K-g2RGu>%UBIujnhdE^lb4b+mDU)S7tj>__@6?Ms)f-#g1Q#7mK9EsNK4H7?W4
zEgG-Ye{Gyn%)I@|(yZAM-CEl%@}J$BXW$c8yra3|+!6n-@~ZXiQT(fy9rbDTT)J`M
zYdOJ)iK>q(w5@jCUyyuqP5Z<ZA-62vmNg&z*<P=@cjIdj2PK8gI!USt;Tbm1mVY^r
zWV5sT(b?`k;X9h#d(~&IU2|Gj)uTebzTJIJ_5aR}7mr<gc}@r2_flu+O1twrzi7_l
z*;N9cXMat;d;0OB<?DV6OMjMnx&2lZL$=Spsq8!ao*n<4Yw2j)JU=h4L;v#xuQQSF
z&mI5r-hXn#xB7iv4_xnCM9p-Yz5JG?%lv8c_(inmXlnobe0$MxDYe^27C1$I-()#y
zS<ceh$`}00bgw2&Uv|u0l{dmapxPj4uh|N|1c_3mNk)q#JSMvAFr5~|`>-!nMC)~(
zer_e7_#fq~9Lz^;3j8f6B}EmklV2g&kk@v9>;4NL9;t}DpRwPdUM79RdW|`$kM&*)
zZ77_(t$wS))U92Y<Kj72Eby=0Kh3iC;zVt&?Rxp~k_!v|ZaR?JwrthDv(IOXpHIrz
z_Hvc!G37}+Z*0*2{LtywhgT1y|F#DoRa)h=P<*atX3_WkdG9U4lohTXSrAoHwRX9y
zwt2>M(Suz39Hkl=*N3rIZ+Ww?KIq+nmK*iAmx(QRdKeXVv9m47bH)_s;4dqdw%2{A
zi;vu0oa=s;qx{k8b31bTz2{|STRin%QpYc*|4DUi*d9NdU%Nj&o~L{ucayQBS5`~R
zzpUiBZs*?EmrFXP%|BGN)x<~7Wc8VqKQ`_*OH!BMZoIVklwJ3u+(!mYmzrLEyYi1!
z-}1QSRPbhPCUf)Y2Ykdt!F#p0%PtqYWdsru%oI~(H8M3ZwFDnx%xYw2U}7=dQC38w
zzB0LB+1*QdIk&GJ*_P{*^O$qqjcs!~bJc~blWuRz^(ncx_xsKJE7!le^6T=NeZO9<
zi(36|_N0(YaxWG=dzo<V(1AlI&Ui1<TDj`zp)-da51l!|=I*KaEG6#^(+2h~>D@Cv
zPs*4zd*X^&))O{tn6$yjc=Lh4NgX$>E36oG*2Z{b_|(_`x$UtiF*}EC1GB}%j2pLa
z?Pl~@>+$36ojWae=fq0RjbWAi?-^uju3os&NPQ#2jaidBG&QqNYj{n(;Gwx{vd2v3
zvvYfLJ*UL_<}fZ(`NR-hykPTBej)B^b)nn;HB^>;b1*)z-@wxNpESdTvv*EDl}`}!
z`&OpHC6uK!$*U`?UPUO$Co4(in1iuU<;(g@je6(y{CAl>+p7A{YU?VY>HjC@^!|4@
z`YHdievhBr|A`V0BO*M`Ff7wkQF}IxK|$v7{))+rQ8y+R{5ziW?A3?(>-G(E{vULA
z`pn;M?{Vgg?!V5mty@D)wi&B06x_VMxS-UqTq$saxp6tuq!m)kbN|;T9^p)IRLaWF
zc2j!zFp1B^*!*|?qK&c#u6_PL`&YekN=(oHg>EbvKlx{#`ESTLN0m|TS=uRv>Ge0Z
z8*KaAzP0|g>Dm9rtLjC6`G2!t>hVu<<4oHN*FOIj`?Gv~{q*FZKmpOv@MXW}_x{)(
z&6JUq&&CinX~nKT&g(W#zWHC`-`n~yGqykJbN_Ka-T&J4(5L?;tjXf)4eXtI#*g=Z
zYyBDjeE+0>|GR}mw|@VSmXP{XF)<-ISvB$DqbCXv6BEDxjW6(xojd1Dqu&2{2kiI$
z3IG2+ZRYIi8M6<q)xACYQ)|TXtu3KHJVnliIbAyIC%y8r?&gMdK40&=Sj5D(_6!gI
z`VaN*u73D*SCAu}$(N-}zdYsL?2|o@&kFXbt0j9Vf0_O<&ijP6?%%BK|5l0Y`P*l(
zqwT_ht;V4(J399ipNxp-4q7%h<@_nz^;1iAgdL_PbsB2Df6?r6(=Q^ng2n6ah2?Ii
zul#f}xW9b0<IJsGx_it7tL{cKbD!tG=elFz5z{SNYw9^lEO@ThJy?+WICB4-gLA}N
z7A%yiD~sb!;B@u5eedC^CQc)ro|&8eKArVq`3}dXbEer^N2MMuPi%c0m$+<7L57Ek
zwxo3u>tTj_Mt!mByM05axi=@rzG(^MeDz~r;l9nS>ksvNw974>xbV8dpUaP#pGMe;
z_7z{bo+R@$TwLdE{hsqJ#kEZAC+2@WWOIJ5UK*ce)*QCC>A7Z0X0~l(PCjjOPCia!
zjlssRnU#&49XyK`<cUsBOn2#L6kj{Vt?8t<oP6SpjklQ+ZYCX^ap-gU2cAzK%e9w#
zl=+yL`2G0vxRR-H)0D)<qfK|G<bVHshH2uawbP|sN~*KU4fB?sXn$DmyJg3-6_aA#
zDcc<qVfm-Qw6n6&c(F+PjLACEr*#iSb!(gG2bj;?+vz>+%v{CGWsjw@H}rh^VU=~=
z=kkrmiH~0heTXpSUm4u{&$V9u-tO3AN9O8sC%gLTGL~?jt*Gjr6S|zW?`fZl+}^+U
z4y@^#8+xhq)5gGQoD8qsTCUCX*Q{?pWqP~hKx;%;mtWkUu5-7Je|c=P*6drKn&(%a
zU+<o_R2y#ld?2cPw{I@<4RMwdp09!XFY0alQ=6Leyoo*Pih>Kn?;G=zcJ1b7-mz6q
zw4LdMXorXWrHmg>OC;U>H>cECXmrHRoSSPdtlRc|hugIsHm8GizFw&;h+L9=Nsw_v
zy^F8s$AH>gxp@cs=AC^i&A&nD%h}JNKD)$!UbD`~FG#u7m9=J}d69q(+fAeD4*#G-
z3nw?6Zz<|d*uj0jA##@5-$bT`Ay?+co?({Lt6eO#Z>9U~jwRcq6Y?H9IlovWE_ZNK
z-0Wn{=&+c&&%YM$+5NKRl|khyw%@I@Wf&TKvbgI{uATIM-ovM^q0b)OV&2d4b<?qH
z$v=w}9-Ch3J5+KZYrX%z%G%;?3AJK*G4mrka_{IIzy6wCNKfeL%*v8qp_1DB|Fmy+
z==-j+zVMGv8nae-^~LbXJ8oKMn;+5)sNB9mzIw@4@$=8FH#$Am3V-;tc4gS4$K7#;
zi@n=p_L{0*?x|P&*uu~~Z>wCuH}gXkspqErlZeaQU$K^h<3VgkgzJ<UhaN}e?|Z6|
zpi|*zan8$o`OnDxZ+BEY_UGZ6u>EB1CvVR(qrwAO+fKN4{Ql>qzh1Nbm&4U1SGaT6
z_4~QUR+Y>*G`|{h;#(Kz(Ydelb}aqcslcB5eO_N`(Vu&K+vGZV>TQfB_Wu^JYOk2N
zLNg_^>+R+&>AVRAH(sxLpjo?lgRy@`tJA9sbMxOkc8T89_98U<^77~2uZ2StwznxR
zlJkCBsPm)y?Ll+hBcHiHa&J7>*ts(FMQqF&$*taZeH@lIhJN;q+F~&6%Q**5rNdk`
zzK@%>9A!OLcxc|V#<|PX0v;Z$KgVOXQH4KF;b7*2fam9beY_f(6~%rf{`$iGX|EZr
z7FzOX#gxDLt;LzV;jiGk38}wdB(UgqC^+O+%c?RNXno)8y^y1=I<0-1ro8bpo_9&5
zi*=%JZ9cMZ;$F^+Gg}3pxO!VkEttT4zWMl$mACwxvx2zvv;y?B9acs+`7V_0SW@qG
zLjTIEd~d$oV%>g2U!%3PKAsD&y}s4<)6o7%HTT&$)AE~HPOV71UiQSn^-ON7GLvzG
zRhHYcm;02j#tR;HQF>QveR#>`=BF96TI445Ki#6X?6h*t>z%Xyt?oA9m>N6RtLC8B
zgUzO^?NSfS<6d|2hS_t?xjPk>fBZY?)8`E{RO?lzvimQN^*SDSqx;H&Cd~(Xn;Yb6
zbTUs?FYzkwT{}zYh}x-eZ@Fmq)eG-E;>{MA=&QP1knfrcV|CLDE=QNM`H7y=v$9U7
z&$y!5w)^tJ6>KMyR~XjHyXKp9E>ugCdz4V*Ww7L>%uDg|m%oaI8WqbI%=p{P{oC_@
z{E?}Vg|;pALLbf^PUvmwE67c{qjxhhd1~mNS}m(|%co37@@tBe-dZTjKH8kQ^{&2^
zRPqkxje*gx_Uq<ksU6>~7(DfhRM_ofoY%f2PneT4MON-o;~djTi)AkN+}YX}<*c})
z<hMYX_?qp_yOx~ux!g48g9rbPPm}+(|2(v00=JIMfzFRJ6tCBBuIs#0e3ngQ&sH^^
zGNFS>Qb{|+x8F2B%>DE2jae&vVxnDtSv=rtzSVj8oBr#}mah1<w!e<g@;hH9I&s#)
zjkmX(+IiiWYW2h6zTKbr{Z9hi#QJ#7{=c9wpD*b3PSMuNvyV>Bxc@3K*Z$<D@_C=O
zzABj2BPqBrxbAdN6MJqR%kBCV_ZQzyy}XL=mfO1IU)DY>@7iyy-RqonWzn3TPp_&o
z`p$}~XRZ9R=+#T<4@*S8gk4HH5oO3RXV11bvrXqL3lm?z@paCYcSfE@w)r;iIX}HG
zdo#i0{i0olT4yx&E@+kUe5Ka)EoxzHGQU<?vH4FM<9RthdzWiihHCg%y<5I*nrOZ0
z{+q8Y<L0M4Ir}GS%^q)q$9(6uuo^G)4-8rmbMS>gDC_mb4+7&S3UL3{VGWEv!o1e@
zkIkQR|K`2kam(1TEo+^H?8dDX2AUTY5`3l}+03`AKC!X#LrL)`r=LA#Rjzfn9$uTX
zZ?)>zXI1Skxw<#zzKEHxYObSWHRHmSd(|Ej66^KlW8W%h?kO}^lD<9Hsq=ihqv^K^
zCHq&3J(+ym?Lx|DO_gL`VK3j+tHk(@B&$Wc8D5{MYH;{u<He7*XXSo#dHqh@x5%Kj
zVcGS1|Ch`1rtvndnsx9`M8DMX7(?who_CII^ly&%UVLf)ruDzMKX!eaZsW_falNPB
z*GscCC&YiNuK(Qhh)wtHwB+5KUANaQ4xIb>m(9y_ug@2pSjcIga;x3ocfvBR=oJ(5
zk8ZfpP?zbaSN&v3*XNC#41VWbP2MkWnmo_SRei!@eM#GwA}`csk6bdJYP9+8scC+b
zEknZty!cn=UUrh^Ezy1-=fLtVgzfW>r|mzVINr&0;JPMyWx+X-dYNV4B0Qye@0D$w
zJ+tVF%JTD<Bdoc@*`;5)tytQ)w~6cF%!LaK(sb&6m)lOhc%DViV$N>`eb@K5du`u*
zc&w*Z*3o%!$IHh{PMZAR_&v5};n~wu57zt5Yvc1d<GPQ@bH|C^?-hmS7W+R3t<spf
z&*Pk}&ZdIdU&LRuM%2k%+$iW(Z{8fT@?X))$3J?byYiL0c&(S7VeePFuaLUu!PX+#
zpf?Y<D!uP6OlZ7X+a<W1>-E=!+eR1q?>Wicxoo<YhxJ+R=d)!ePpdq(%&va*Y^~G1
z?1vwZB}Lh(+ln8K+}eElMZwCBr}F}~9Jn>b=2jfzmI+zeH_LYwW=wJXcH`Qn7tvqp
zuU`~Xl-4uQF5411HK%`lW>w$Bi852f*B`mMYfFpW;cvCB|8?(%e`^2q>`J($UE}Ir
zp={%jf8~NAE1!zqcy&r;Q>LT-zB^)dV%&fHujMZbKc%$%+oanw=f1Ff{j%!9hkVoR
zyK{R3js`HrhWhPXJJmPzsk!|0Nh&$P4n}txZRgeto%-pZyt=aAe@2=rU*J^EwX5@%
zO58TrOG(~*X~m596Z3zam-BlY*k8R^_Q>~C(c>j8EN}0%ol)8oBfR*D;IVI>YJdOe
zpSvH^Q?cyGwuFrVyDm=P`>uCT>a6c?@#_m_IdY$9D&sn@AnPkqEf81!VU^52`At3{
z4_0@tYqe%zj;=qZS#V7vK1C?fE`l*t>U6=*3w`m`De49Z%}&40Z!ziXb=zd?n)yLk
z{@Ssl3or9C`2Bv9egE9IlP6oY3D~v8%CbFby1S4`Qt{mSxOSOnyOhmg3j#zw6dt!<
zdc>LO_@#4Ar-cNk@lECQd|GHZfALqtb~on}PX8x%Txj-4{5YApKAGjn6zzG>!WMlw
z{PKEnbnjuF-YefZ%(NJyI##~Ba;-pMALs8&_ZQp|Y^^B^y{7(jqfTI4@teMrkNk^n
zGL?!L^`*rf{dlue>h8Y6&2dJRUJNr<`XB5sRlM+?u^}Yj)B5=;zOU<dZ0bF)J>C4f
z?m3qocH5McB$mD7El=}aJ<GRV=KPm$3nagCUz1gQJ*QV+^LKO9r|!)>WvBMf{KMOm
zdCfWb>f-hlwx{!r?0*|7EE1C8KUsfv-NA<kH^p5uHWGJHnB%-ZeoI&KyLs2TOg}F2
z$QI!I;4f4yz_eqx^NstChL^l{^t_vxn7HEMD?!oi2ac2{-QPSrt2WTwB2`@Sno_-7
zvXT~$q!aJVC0}?p&1#D;dVO%ko|ddX+W(whbm}Z+e%<}>t64;=!rM>szt8dVT<YiL
z3p)_1w62w<G;dRw+YJ@{YVDco&ws1?e>Qy4q<{XAkzZgBbD5f(rk%5MSb)W|`E7cu
zA79yCcPz!{M7xR-kLdcnQwn!8+O~CXI4E<VUd#BDvZw4?S<ypterv4C_gZ&iS%Zo3
z9qv4#6QaTk?(-D}om}SN>>xGu$4!CrHH9VW4|fKb<(oXza1+p8`tp@W+%IQM?+deo
zY`T|+%HOqJmGt|^iXy?Fg)yuq23w|VjqG0_!+v^==D~MO7Y}zB+Aj!<zxn^^+9V_G
z@GicvZ-w=9_A!g!abfy1+hWzEIXnOURAm%8T-F{ND#kHQbJ2+dwc#qOx_2aBW=NIz
z8v5PXIdr1a!vIeCkVn<C>b^#~cl#Uet(~mNCU&ln@Ag8c$LDT@zTelj`Kw&FBCi4K
z))~=jUX;%L;G+HFo!2V%6X`EbWxSa_tyxWjLphMOpnmTJgZfX-vv-Cqzwu1ztmBJ%
zxA33Sjd$JeS!xzlRwb8yc=`4tVn3AHcVD-5joBvDQ#Gr6o6*9vB~SLJ`<Jg<QnCA}
zj`aQXu9?r~@3omEy!F@*zDu91@~x5z>du`@-*H1P;$Lg(fy@O4Cu7p1S(Y6;aO;eD
z`qzZZhdzdL_B}db(Y;!6cl|Ae=f=OUluni2{kYCpKi+GlM%K=~N_k?hZUn#dpH?XH
zHnL!zNi<s`o1*lZvr!C}rj#`Q{@%%J?Y&aqjg0L6sPiqmHeY(G;JIs>sc7?t)6cB=
z3y(~;&zXLA!LdshHofb2Se!oVGXJhAVWJ6NB$XGw_<MJn#R>IDo8IG#&K7GK)bFym
zGh=D<MRvtQRl2ciS-)l&cu6JLCT)`APg=fsm-UGkYnkj0>i)kb__x6S^SrZ`U#zV*
z{5aN{&tCarGiL)|_Ro`QVY!$5wO5xl3S@3bX6|F_6-xPW^1+<Lj#}Tg+^<{vyY;>B
zp{=};r$vqyuo!F<Sot8T`HpStM4hapcvho&OYYqZ51OA^W?XBawe9JI=Bmv$HD3ig
zyt9|EUS(S4;vZUC$-Y_2wByp-yIKC<T~ZVdGF+P<Q1om=uc_(oYvzdp>=$jbv@cxs
zy{__2%W#V7_Ne(sl#k_H_!QN7YOB1bmDuGfNyig6VheAx_s^C}F0xSFIPFDlmvH)@
z{*NiGF7;L(Ec^}3yk#-}eoi^>JjqueKU-(P;`JRfV?QV@G26d5P9Wi<jtaL-$^YzQ
zVxCPGC+2-f*I!(9RIZ@!RgAcy$_0}t96!rjX67|Jx#k3CPIAo(c0OCpa>zA0{>2vW
z?GkYg>%1O5Xt`k}eBUWz&B|i!=Z^xGem<~y>gU7n9SZI1BNWd0NSQ79&{UtlVv<*)
zkp8X2h|?Pj|Mzcf2`~M-R&ZI2-_=Lw9FJdnawfuT$Kll}JKq1=(<;&Z{k~P`fyFUb
zm+^$<oN0Oy&ROw{uVQBQtC;tEMSCyHUUK!ElVrU2=^pis3;a5}bMMW%e>l~tbobh$
zQ>s#T-mlL&mCMdx`Qc)HiTPS)ms~>=<t&$VHx7yfh8iz_`b*%z<;-686Md6DJnetI
zVw2wUyifZh0=;cMWG#MbQ6GBcP07c~Id{IVu5zB3SKjpdOtDqj;+Txq!{#ez^zP)d
zkLZ6askrWTmHziNi*{$}W$Jmn`Eags-D6AbPaYeCT!m+4TfeyS@0eYZUv&NPuhnw(
z?0?!~w<}MH{bTvp^y2LKJTvC*u*=!cdfV1m_xkfLkFwd@EnBYXXD}<L-xezpWN=@?
zQTOv@klN9#%_+7QW_{ITJvoWnE?Hmw<EN4q*1u`zuC>f%vAHR{;_%g9cS8HjgKm`D
zda7@zyss3!;&4f~p`fjS#<4G{hT@v-^;cNbg`6!zB5$`ZP512edur}zD;XIVsrc}m
zfn{+1t_2Hc)|$S#tKPynHQ;n#OsUw6lX_l;S2VBa?_zw=bLT~srQz(YGY@Fhw|e!i
zTKKr^=8^U4FMY1$ID1Gx<;iJ}=$DY$&hoO$x5Db>WwY;H&Zi^v;z|y&MlEXheaHW1
z!G`+n7ry7bY3S5pJK46@Fnq=?Esh5T;%vVKV|RV{UE;ntRj%lmm-UJ78#fgE`Fl9d
zTfHr3ftqGcYxz1GqqRFG7ie|ZWhWo#{3dqTzsQhr^5tUv#H25Q_eAR+_J0WOy0`4m
zo0O~rml+nV=}f7PVA>;b<L!36kF4h|7CmO%KjkNzXZ`M{nau3d7jvsrZS*lTkKDNG
zu1Mp&v)Z+>``a^o5B%IH>gV-rzHzA6;i=DqpUpF<3HrsLd#FTRqM>Qlq{B~M{q(&2
zQ?~czEI+$D&Cj%Co_D|5&Ht9KdxPTQz~WPX%xueEwE3RxzQlHQ<-*#9Cf6PZGK$;I
zkuw*XoFY55WAXME^^Ap|H!>e8jQw?b_6<jkdD%zaJ>BYSY4>-{k#E^T)(4K=W?8u)
z_STuBM(6b|Jd;znarf;kl@DqTf8KVSy1(JGUQ((-yWoctJI_S12%oDkICVPe19$zT
zgbLBlXSof5H`f^5<hk}SGiy@Nv6PBMnnBvn^WR?xe|31d<iFMo1-(xO^})Y3KgzR@
zIsQX4hv{|SIm?~SX$5CL-gZ7Z`K!^z<6lAoOyz#K%-MKx*S8s2GI}?3<fUwnihtq0
z+u+>9+O+OWCQI_``?+RU3Qcd_p1;-a8l!N*o%@!@++EH6ot`h6SMx<XD&ACnbA_7b
zzx}3Xmjr(<n0r!du5AiaX<Ykl{(|TAej@!VqPJS{bsbUK61ZY_-}A_y&;Hqbj-0HY
z^yG0D&w{tdF0ea(E4<=)X6CI@g~&i3%cvVxZqBXi#EZ?VZWgRs#U1^0>DPGX$9Mf!
znLKXxSv^H9?DNXGd=9l+t-md`Uw$QO(wFV$!d|=xI$Jsa+<B=hH~!h|nGq5yD679?
zLB^H(_fp#rZC5zA(!$73@PK6#$NV3z{MuSMOOGEY*!BBL-jlFne*z=@-!HE#c(}n%
zU?=0Nkfb_whADD!cU!AD)hiDRUfi<d*vqi*&+orlU2h-Ips;Fkji2F?t98bgw9c9{
zc4Y5OQ8idptCRWVy5xIz5$<PC9M)Oc6~z0=Z(i6DqglUR{;)%{-_riTmzvKz++D&$
z+&cW0&sDs8;iTA_;Hy(I>Yr<5{m`6KcHZvIyzke~B}H894!*skS5Q?pd~%Qdp$8Ab
zT%MnQ7=J86;H>wDh6~lb2^!1Iv~A@}#iw*OeB2-Z$l#}FS?=$-;spueli4q@eGu!I
z?;QGaURU-0dCgP))r<anVO-hmY<6JV><#O44qYl(7qx>$kjtU2<vw%Ch4ABdB~Ew!
z*cel{>ue6=@>dJ}S-!PfzZ4f2P}#A%{+)nc*bCEXOXEU!&Wd@yts?ARWc8<NEq9TI
zZQ-{w<xD;;FFHHzVbq~+qdRYZ>@r%d-yX4l5!>Z#-GYX7(yq-a0->AgS-2*ypKx;B
z&pD>Xvbj6{9kkxV`t7FM3ClT(Gj6_etWAE^!EQNW>sbNjyo~$;O+PVC^M$XhkL)yD
zqn&M4x%8B@tL&=ul=b18j$N<``@ZGZYSSre&f1h_PqF(s;nxKPzLv8mxtB7nuwBpf
z)b{F)JjNcL-eT6q%_`aa`VCeG3-{D-juL*|t+Vk`v&<>?fF6!T`vj|{S(SW37A|w1
z>S=1U@wd+^3HjMuqLUB4EjxJUb>_T3T&@+X-%U7Ja8>;6$4+_MQ2Wh=nu0roRbplZ
zO~3Kx^85apPZy)}Q&+ALb~#-iANktlkKLgeYue6DxjSKRrCaLSNv>DeZq%nZD}L$U
zai%^+u4o1St_&wm&gTx2SJu^P^j999(aIg8`(VPt-FZUKvqeSZ{BB;Jk*@hE>*N1J
zYd0Q?eNvv5ljLyu_LMsX{8zF*#?LXjZ7UUIe%!4(t$J_xhg;8He>phebV<qOMbk6W
zZ!_Hg)z{8<I-j|nZ^7%oc^mvhRj(SY>Iib5e%tZbmHJ?wg;qKd1s8c8c~cA2y%^o3
zSgM!KTe0%0b50#!h4=%_vp<*LuH-i{`|$Bv=uY=m(W_q33#~4+Z4%hw$-HmZ`zV)t
z#sa1$rxdQeE_x{yK3DW?tlQ82!sXVVEcae}{71_Dq|QXUUQd-<-?QhRd1o7(;^lF&
z|7M17@gh&jC9{9jC)K*HX_@B6`)c2fy3|F#l9@H<)beO9Eo{!?ogmnLzT$4|^8U|4
zd;I^Gv~6#?(_1lbVe*xq=frP5?*IR%(Qh|H=>*+66_%(=mpHZdElZuXV$&P7+ST!Y
ztgfvSi*%1o>pHz=pG55~&W8Tu4lCMqr|>RddnlD{cj(6Q5AW2^^T^j<tB;;oJS!nB
zt%T!Wh4#rsjv22e?q4Z*_9~NaS<JWjzK7-Rom{{pc_!jjz0y<9IVXw*PkP24YY_bZ
z>FK4)Wx<Wx7M^L@82@?Vu?>bPJG*T6W~$gkJ-Y6hxUGIwz@(p9(q8i4?hD9lYFxHt
zR)Wtf!v(W$Z`Wxmv$(6%<@Hvr;#&RM8wYue-!fEWb?EKBF4MSFz3`&Hevf0>8Hbof
zZ%w0;=UEE7ot^Wuc2AH7-(CBKp0|$sPIY=<xNPZ~WqW_m?#b*qyX^L+?`+bCx}9y0
z1ni6#m05mVf3d^+$d1U|m7SNLt9$0ZixtYyl5<zsEicLJweTL-bJ^xqGg9kk-JBxz
zw?3!Z>#K3{^Va=mwBKjw3;%feQ_Sed>aE*!e=gR{nW%dv`g7LI4eTdG7k}&cy}k5J
zz}?%7U9uw2L*A@vtKPaURYIwno9*qxb}=W7=gVaxj$|LtJ#y4K)j@w9n?1ueSG!2I
zxv!f-^era|w!CIcEuS`B{Qku0W;b0oC+d{gf4lBoAGF}ap@|tr!guFL{OsW3(MXx<
zY2h5(xx7@m?)9M<E8)HN+>Sxt<)7_H`{n<9fu_t-=f;R15lSv4f0aY0u^#xj+KGQw
z*7+4vx%P<38sGm~EoSvp@UqY({^TwrM*Xj=ryMMKox$m_sZAz%+Lwe1l?CF_7k>o`
z7krsEE7Oesv2gu_uRGp~$mIT;lKa_MR!{lYg}!ge8(iLt)+;rn+7-TZZNIo6)bRXy
z{hP}g57lcFX&t=6EV3(OpWkxNtQ9F&bz9j)wCyHGbrv?P+`jJqbDoza3rr<Lm(-{C
zuMia1X8s(zyUdg!n)~sC<oOoUEbg_b>(04Sz3bZq9s4c%=a)!stDm(x{Z#4-*#-5L
z({&p81+V7*4iA+6oBo7ny=LLs9h1_o*_9nzW_^z1;F0I%&-~jS&iJ*4YuEcNg(~Mt
z-p$f#yw0Cz&!hVP>0kNGbz)ba6n;(1Q!6M})s}u@E5f|t%L_-LmqP5*0_>e%Zk}^o
zSzUHvu=Iw_U(UR|Gp$53%Hq69z18VC`JW@cd~Eq{$z5CbYxmvN%^wc!oavBNsC&76
zmOhuo{VV?*r_Ow*#uCe<x@dV$j#=#77Mtz-L6ISPk1UL>xK8_&9-XD;-tT8G7sISO
zON2L@Klff!%D#W0q1g+6PB(Ou7L|Mv-&wUe{86h#XUgVqV^<ChWvi*@YTniS_pYD7
zCU?T0k^OIo=^CfmJDgSKF;7~&NOwd2o++Ba9UYv`e?2;u$$l{Qe)HyDe9MLxHUEy?
zT)sVhdxyn@X-?`XOXh4=k#cjaYyKLuVCAf~`28oHduP@eZRXUveDZ?5%hU-E3Iq21
ze$AwCVpq8s!!$P+k^ExIN1IG4kI!4MJ^E?whkEPh-?rZNS~k1*U(KnRK1)pZ&7M{q
z^5D*fIKic74jgq`{wVB!vZZ`u=)G&beD=TU>w{;!(^+qPcWsboNAD8j>D#(z$nN^`
zW<BrZM%z6u%%LgSOQZL4MqIsXZ;&T+(!(~h$7ET3JGYkAq6GWX@yix}clsNXZ}Ina
z!t{%6Itsh8>z7RKXvzwn-nKn-c}d)Vrq3<XR~8vYeB?;h5tuRYZnsv*C%y0Dt2=I2
z?mc#%W!n3jQ;hP>N@h+_&fT|DeEm$-pLdh@y`7W&>B)s}y4<y$Ka!L~7`==Q{IB^L
zFWwV-ep}*<Y47}*zV=NL5#mc(oc3eWCxfrLcZ(zsOPx=e&)MEzzt1b~ddT^%zw1Al
zhCI+*8TD+_8phbHE-vT0+}C|Neuu5&T)^!1*==5Gv;Ut`PE8e#isSW~1#0hQr~SX`
zeskT5siH0)YhFJn`TSk_tNGj0KdQ<fJBG0H>&AagQ=fc#osN2&|8A%FJ3Wfu7>`=&
zzDX)K<PPRdowRjVm-M-uD|hP8O22g~ID3{gI`E3~!kpO`o;?ct!mE`YYh8P|`t2(r
z+YMbum6bD2GASRMb~Ew3|J-VsCzq3%HA)4d9xhz^z~-EgS)cS}L%&VRru#cvG#@2>
zN=ywE%&vRC-|4-1*XPg8XN6Rs-}`jJ)9vX3oxK;nx*H#Umh0=go+sIh;|~A#-ul2t
zcWzZ$eVU)D!=04#*x>FTgXqNjR?psl`(|4dQ)Alk;^D-n_hZ)GGvn~RxadTT-IM2Y
z=l^3Vl*w6hHS3`Imo%<ZCVLC+o(s9x`{O}Tzs4JFy{|fNjZzJ-xc08^DcrJbtIJ>C
zAD_<OyD(vX=(iKICtli>ap9GqS<hoheWz)>=Jm&A3>muq{dvjwa%rQ?mHdr)t%jf3
z*qUa`OiO;6oyya`zr4@2dCS3B(^dsE`TUUSU#7nDP~#rOH;;<fFM8H;y!hN>V=?I+
z{&V6T&72hrXZLCC$h78Lqrbi&V&?CipT4fYm2l?yvGrl{zk3!KmiKJc>d#eBQajC9
zfAwp7o$Rbx^@5H!3l_N_oBZlsmWYjPgP||KnQflj>J<|kre#K}&R*-p_9raplisP*
z3QH4CXZ)GS;CE+U>8TZhH`Hc5&*1Mn-8oVA=#JZKHFs}5Y`5n8v_HSUb~to!%xlqF
zFd@wT){0#v3z-v_y?1x`zti~b1MirBTz4jOPOVPmS31F}8^$PH&vS9{qW0R*1roOf
zVsi7dx8F+Q-Sz1{oBQv(x6&U<PT<)&ebKB4F=?Ku%^okFMO=x#zE-ALB+@dqNFzm$
ze^ROKzo2720$VQfDSo-|^ICuAjOkOiJYi6Lc;Nom{pV)Ldvm^e`&hm3%dKQraYwBq
zz1!8+hHt!I{!-;g&dxr+GnqT<=bQ5vHj7@rt6Fk5|7Tx@N>}%TyrxYzFRHIzzc<!(
z-U*>c$KPmvUE~=*!|%d5eLaqVjI7HaUh$-Vo^9IBZ~6BNU&ubC9yT>u{{MWMKewf=
zn9nwi?~Xy}Th{~A71F#N=Q`9Z6^qVIP8K=kz_;P=iu@c~Nu97x|7ex$f>VpH&#M2y
z`}%p2^5gEU2e<#6ZJb+O9rtFd%8hkw*CoqsWg>oC+-t}zyk#g-6p(cM{aW#vroxt-
zcX*_0(zbX1{nWJ0I)Ck6{rORgb(DG*Ib^)se*QpSg-GE1$J@3V>RH;Hu`SQe{Mq5E
z+->gtQOe=?VNbcRu78JKq%6J}%n~x8u_k?8{r$V0i)2<GJ72N;h+^OG^6o2@sgHIn
zn`Y6osa)VY*Y!r<&8pYtt`vK@$&$C)?XZGlQ6tj=>CbXfEzY3{udKxT92q~(p6=zN
zz2<;l+q6H^&&sm-eL3sovn4RdcH^IGckLVQKAwK(?yNTTH8<MYFJ|Uj+&#$I`@DS0
znf>c!&O5c%|JnJ}v-v}LTluA!ogXh0_db3fY2G{~?23ch^O?f(4l6?J0`x4t|1G;&
z`KOpO-Dma1hpRb`zu&uJt%ft-f*t<N`!5Rja+xr(^?Lo$xZb(&pw*twwpS9rXlSy`
zH(Ghyxp~op3Ag0BI1ZRkU*&p8#5w=Kj-+pU8@HFf-(22q;A~N!AO170YjWc1$AxP+
z_`hDhaaU}@{WAei_={V-_&-kjyVK|Ho=0vsnrnYdJ-PkS9nRf+%(k~BcHX%=Pfc3k
zv<Dj_+wYpKkDT6n@#u0ot&j~o#4ot#uhjF^zt?gw{j%=WcX|-JdGVDx?|mg=*Q#oN
zACI4X^kK=lSvy45v;Ro24=kv6$y^osm*b|Ac)mWX?yVJE66{fb&Q!ApD;o9OjQ$le
z;|2G|8F~fTGcE3|H_OTn(iA(d5cQt#z`>rg@9*{=*UZ2Cj9F%$@Zx*brmXhvU;N%Y
zJD>6|=X&a%cWTwMuB%yX?p>+f_^u>Th-XWB$mhLP7j{2ilQ`d0bXP#I%bk?(lJ)!U
zubp&1&t5F+CeM_)(m&2k+$ASey-9d^o8~{io8g<D9etDdWAcjTwfil1?EX0KKDVfm
z=4_RJeX2(_C01;W|MMV<TYLA?2$g$>R&?v$KKaHnv&6<@$@^P2ODs3mpRqSwXtN?#
z^T`am%VN*d4=gr$HCHZlj`>0!n~(>3{~RC3pQ#Vrx@+!CnVU>jecUU|&-}W&XICym
zzq)qTl)tNO&-P!Nt)F+WrDT4!pB}%+lmvI*O?6hji%hP|8VjTqDex|5T%;+HTDo@2
zZ71EsvwaNMI1?w{eB_%Y=zrMe+lge2pDK51_D+1p&y=gZDxu%yS&!8}XOAn=^$+9s
z&vJa6=C1Ur-Yq8Gr>U)#?XiV))Tdg_J+aLRZPT*VyOOPiCyIVi_VKly#qj>`^oHBD
z5=BLY#{+(~y=T2-x9E*tiFYVx()IL^_>ILTu~%LRaA|og)lmGM-?zJmr+>T1j{A2k
zp7qvd74XysTz|{;Y@LXX|E7EYzS;NN<eb>K;`bK5s0S~Xysy{0TxfTw$n$^Os%!CL
zHi7#@f`4#b{_&MrZNl<Nc3(Z0nXU?26MsSSzSNw8@RSzMW<REhqVKz!{5Obe{7<PZ
zd+*QIn_I@ESR*PQWp?0U_MA=aMk=ME#@8p^;LO<aD)qXbbmPv`T+!`QYgtoOs=QU7
z{P|_(d(i1F*Ygz9>RB)A9oi;sd-9`ov*gCZT{9=JmCjqU{k(pU`a_R%M;||_jMr-5
z+xB@<v5l;S;5Gr(m%8EVb37fM3BF(Dx^AD-<M#{^JUOi{sW|~Rc@yU=<sI%f*(Z8I
zl8v3`uioB!o-aNG)tLv>e%R@B%=D<Pd#<AW&5j4kX%@|od9pLyuGXxWvZVgF(cZns
zSWd~m+*clDH1TtMY3=KLjpwdUPi?j9Ru0chlK%AN#a|oI1O7^>IlRj*T<v{l%`l-i
zQa}Ir<i(B;^;)<B%dXr?IpVZ^+2N9ka6O6M$x*zeW{%$<y0yl{&D#;@UF*L!#5_Do
z;Jn-7>32We>X3RE-RG?Fc*}<?w?7tS)<^%nm3zo{PqxU5f3IF0DedWBbeJ(xakWO)
zaRs04rcZy&o#4|q@s#L;>4A5eCx3hG&wNAgVB?Oc4XRZ)R>kdKvn_73#^Va5nUT8|
zu-{VcR1^Db@kb~5{>LzN*5o%5FVAFZ9F+PR@YBn>JM(to1cfi#Lyo*&_2*>hZnhH-
zg(uzPs4wEx&s?Pc?2_7@l+97f%vGy5n;nT=)hW-q>%{rm-qTZ(tS^0V&Ux?i(&KBE
z@2hkk?e{a6?hd)QjdumZWoPZk4X4j+kH{8R>b1+ONzAx%<f7e`55mXJPuzK|rtT(3
z&%!yDUnN{Gg<tef$@}lQa9Z&LF@+_I_ub_9)$bo~+ts(D-Xm!S-=}$BGF5J*hu6!q
z&Ghw>Gdt(~Aj|1bYSoQ!kGqbJZK_9^9Fza`1}X;q-m)({O?BOzPty%Or9zwE`8OWe
z^7!B6-6eOnoQmL%@nF5T@r>@g%Reoo=gcme^x|Ec;Fabu<F89kO<gIKv>_m+`x8$&
zw^c!=%=d+%qPB_7S<Us!6YfqZkQJV9{{Ld3{3gxYY*H&0YJC=85q_iL2Fu2#sbAhq
zR$yc-+FU7j#MsDd`OWZ{oJZ4*9*P^!QExeKVjY(2yzJ%O70V{~+^^>kTFG`^x~^jG
z`Zt9JNAtJ#rn}5PaoI(=zsT{!hV)~i>$k>ry1RYRFI29${!#CHhk&<}SpDoHr|#BH
zw$lD`;X%b)u@5UW(rh(<#eMxH;D1u&%!l9I+V7n?k0d{HIum<l<G#vrj=fK_@BMX5
zZuzp~?a`*kAsjo8Hg^d<KPd6@>8Xn{Y0FL5pI*PJDDg$U&B}l4;!{f3TsamtN$vXI
z>x@zAooPB>mon`?-!-K$&aZRr)$=QCC)EeP3A~V4d0MDV@A!XB&1bIih9R#^cK6>@
zaL;ndS;D2sH|6a2$=mOJx_FBxctZQi)al;47N#6B|LJVf9JA<but$~6qaXvl<iFeA
zY1nE=sy&SE-@(hN|E0O)JDabT&J~7rXaB{{n%--6Ey~(V^<DnI;HRhTw*ItoEV0=f
z$}F{_{#%pmd)=&>aF$@F=!LVzz1Ue(OPA=s>zll=X`aTJU4jqgR&q5LM>f}8YPk2x
z>f5emI?aYlLuXbkoT8Wbcr%Z&i`JFTAAe~H#s~1-%3GDMm2|zc_=Ts2M}^q*f74wj
zE(;7QEe(2HvSpdOy>zDCLit?+fnLT8%ef7|1uU2`N4frWq~eqGv#mEwUnevFO8$7S
z_V!=Tby@n#CiYbwJ9F>Gefep9$#o&mv+Ie+XG}YOqFH6e`R{AL#Ow@KaGPqqPAJHA
za>0hrAGd@C?CZbP;%!{HwE2RWmJXBkK99*(kE?8Yj^4gqz2WnU@9Tcm|I4tNr?qLi
zlG7~p>s~?qk`>IVJ@s5K-+MG}=bqD2aMrn7<>5ZL`pDC1KFdVHUY~vaj=$wG-$@Ui
zjY(T}X%#s6tGGDCZadPVdq}^Oq5Tx|-K~=inAu+3*{(mESM{L8t)BSX;!o^YZtrU{
zv0YkxTXVAT*WgyQ4UeMlNN+lHdpqBToYK9iwNEx@9(kC@U(aD9Ua3)2f8b1&dW&$e
zkc#MCYc7W#)xQEK4hYKKh&xrWIqgVJ@51j17E_-jN?R$kcfb2}b_4gv{7YLZ%AaJO
zsGBlxN0Z5pne()nlbw96to{lKUprBH_P{5Ndr^+xx3x0W*WYtn;<|j_3HDPrnnP_1
z)s1qK+Z)1DDnCCo2>B&>>zwQR#8vgTvh7>$i|yW7^zu>Rd&bNAGB4U?-=6)U=&z8D
z$&FL2e>d~a@R`v%qw?JnI~n$_BITl0Qf9yHUTDs_f6&e|#B0)*y8joVBgz??*0%BN
zU**}kG})u4)6ztiNAmu2q2-euRBKbSbY`xpGPl>iwqqW{$9;m41?4w)h<d(gW!bWH
zYyGm*_dYHbyEXf*TWNd3QctnNlap?Rzm}iJdbjG*<z41)Z#uST+DBiXY*=)v<o0&$
z4=P5*EzI-sXIkieTDS6xHLuCTQzeT{H!HGkJbs|yiaW#2sp+qL?H4HfdBt8ZO?h?W
z{n_x1dsn}eiIHSYTJXfjYM$G(a;J57EVn(-zw7(*fBlSu@2B3g>OWNwwC%UhL1v#O
z&rco8`|RdjIkCgSDr@THMVIp!YUhb=m1bL%A9CZh-uKH1rBeJC61)~FcDDs*pPKu5
z-hAiQe<zEqW|S3Q4;PTB_?l#}I@Yq3=lfX)!D}(<Ih@aJq&FlMpI|*?xigHf-C<3;
zpm_Q$&&CQ4&ER+SZ&xVl6(yfM-C3^Q;mcibRQKeqaN7lWwcOq}Dv#dZ4O_42GL@0D
zr-u8Dz-OiEPt#46tFH2G-Y%$_oTe19r?>i6+cm~H-+NYi8XwLtJ=|j9zt>Xlq;YOf
z$tk(`UrtR~alUV#7CztiJpZz!s&Da~p!#A*lNH;S*jw<0GI`hCsh4+Iq`5D$PHJBE
z-@AEl<@LFOj^rn7ZMkxI&TlsEMK8tn{{FgX={=Flsb|Z=4m?UPFYx`57RC7f(qm4~
z>s+Vgwzo!zaPR!?7<c%QRgk^tpWTXQi}YqmS8s^jcczDN^R@|vqH+-dYV&74-F5EK
zrM<@DRR?dSoouna`F_sr#W&na>e=U}J`~<|E$@)<lxVM2UG<?{xhd0cGk%#GkS${Q
zB-~&VBloRGTsxK(<THIg5aM#7d$IAG>2Y2*b)Tm^UC6~R_1Ds;ZjpDr#NKuPwc`{P
zB$@BA+N~Ab;qSL^_QhRd$GVJs!{?@maj&_!<~rljpXZX5j<G#H-uSKIpzOun%x(Vl
zZ*9XoCr(>`z&P%<?d3Z@mlZ!LhkPlWyJd}d(Vtxj-v#pid%cUe$2Rf(C!g%S0XsTY
zbS7Pxp787P>l+uj;(}8n&phmM(0Fsm{QS2atr6G7iX$?7S0CNUR2$n^)W33Rh07L6
zSN^<6KHpzQYOgR>#$7U-dSz;1)0+E_l48uwc%<rOzH4aT;+=NInWd{`@&4E6y!HMc
zWL$epzV~Ot?Vc@i%?>iglU5}s2^I@1ylcPzNT94JS6Xe)gLw=2_q+T*u-4xzF!Zz1
zymh*IpHKDNx!}j~W9dC9wtsscgk5-OdTP(9#SIT0IGpoL{U~Z&BKBZO>}QW9^WyCr
zPw|^96)|`B+f?tLlN+qUZM5LX>C>CrFYkF>_qVC$&5O6<FSoV6e4>5t_QDYUx%&jo
zZD-edDlS_-^<G;`l*arc&2!C9ZoU1vk@w%XSCvXXe0wA>Bv_c7{n^banep1_PVc&T
zvtN{JNL)Ccxq#Cy;iLPGQvU1jb8P;vda8dSYt;`C&Y4C}E{VT?R9wGr&O(mP;|)H!
z$^CyD!{UP%G3;D$|3!sJcD>dMkN1hU&%OV7Pji+Km*Asok5lBHaK6=BUno`aW=V2(
z&OtuC$jFzkg2Hz3TZngeE=>CVPUh-k$wPAPuLGBy*|%hg*o=*r?1F9-Hht#luT{HK
z_SX7$q{7eg4OfpG{KdOx+RQCymeo(c{NjqWt*F-B$vUnAlVa=lEc)!&b6sQZmG5s;
zjXjNxv;NPT$FO}%<lH&G7;E<>Yo%_jo8%}O8ucV>;}+ZU-XB+mBHbP*@Ft#|R_u3w
z5?{RewM>hAg>_M}mmE!3+h5-H>%n1lwwL@1de|JNn`b>#pCMFl)KHeVQvCmP<Bv>J
z>!sK1$<z2I@2A$h`)+*qnRms-3l=Q+%KO#pyOz}+`<E{hehRCu?R&y_H*|N{#Tmw2
z&!kgsZ%S^;OWJTsv%sj?DZyT;-0GM^h11R1GQDO-UN-v5e*YgFoO4=5&~oDj(S4^U
zW#{Cbte+)*W&N!tk>$x>Rd<(lbR3@Ndtu9)ZSg7f?DZR!zaD88KYDM)b`|xe5^<~M
zV{6*>d`pwM)!w|myeGFMF4t*|(u?W$R-Uli^RMIFk6B4uPm40=zwv+5$)V2X_OxpO
zYiQFF$6rfVFOd25|NZTC3pUChtv=Ye-b3VQlW*u}O*1~-jiJXvLmDJ^8Q34loBMRy
zL-)yS2L-mRVwh83U!dIZr~maKvy^vRtan_`wUxNz^1$x2=Xu%Z?_|%$@dsI^MDrh+
z^_U}6_qWuSzqj~}rYI{0Y&fH{OYGou5vJ$)5~fdeyPk?pbBw?IQ$4nA=`PdT?!A#r
zPtC4;zWj>s+dY;F%j>fquc=(r;j*)8CC{URyiarYT(2y7##b)wa=ZSIn41~@XU&z1
zG)yg6j=o4Wm??Gh<$XnV#h6nY()#xHTwX4hcQ>z9<9F9ObCv+rQ{whhPlR*bkn5Sm
zX|HwVZT`PXoxDKZqQ#jvGkf=4|D$C4&7rtT!r{u#vUI-Jb>YV8w{QEdj`VQwPH|gu
z&{XF}-}ha~owfh7++$A&7)MU2zi4Lo_rg`)Mbi{QkFyGFv2f|*WR^Y{x$gXu$_C@b
zSsVeD>bdv!Z<n(d*ivz^KyX|C>YakSqkc!fy4`nycX#LU?+Y|In7I0!0~0j3QYz&A
za*_?$F3t>|5vH3~WWd5|cI(aD<v(BKy$e`3Q7yLICHBmL($xk}AN|bywkhkrZ%e(G
z;1&kkytlr)1oj*;{xbjZ%=l`JmatE|KcD%oBCPyob;6VME_D;$DZl<aoaE;_YxR8=
zDG3GtskUbp&$iEqe!gzYk`+u1Uu?vxtuG~Cs(hezx;|aH&?Is)pMdOj(fw~8gzU&@
zsqig#T6K4u>Z6adC7YDv9tukASP=P7<i0}ye|?jXYnJJU?K72k><H@nIw?%PYR0#J
zJkRCi(w2t$AO2qJ7rD~v{F(&^pWZ2~oFQdydtl+V-_a~n^ZR*g10C-=C9MCQe#<ZR
zKKoj)fQB3AOHLQLu9=dv`j7uC&Ku7+P0s#bRyBLGZ{FX|jNdaA+*Tj0;MsS5-`s=C
z_O8CA?`+&XyZ*zAjbH3$zp9K%ZPk1@&nQLtdFI|vuXau{XL(lA7H@xV@=ey=>=))7
zbbJxt)_rlmw^8=l8NW4(Z=HL8_KxhyV5TS2)_k<fJoU9`yI9cP>>XO0rM5iU`%&@7
zFSXNF){pEuljU5Fy#D;;+L5o_;u#{<?;}#wlo<V&Pm(Nd{Bd;Gp8A>(aS2}*3P{;j
z<o|rpXkVG}^^xE@)q^i5M?bC(`?39CtH*o4(@iHn@3nj~lh@^Tz35iKP0i;bE~u>i
zv0Y0!-T2g2pUkb2Dy#p?wIAi3@$de1L31rpk=Y%w&KK`{vN{Fkl$1QJJ$&}x`YTL@
zkBk02KV2eS@Y<HqZ?RQR=8O5U_2o}jp1x3(v~J6DA#JIG2m_%l>~9Xo8HBff=bdxu
zY=q3G{CVyn8}~UYu%$m(w~lMa=T-N<tnGJvSiWVdT4TmN=0kr@zjYK{|3%2+`jTDi
z&m>mgUHx*=BbG#M_0Gec7K`8RSji)8Q=RnX;ji-n-sOip<Y%wQttw}hdT6Y~eq(ZR
zeN#?x$Sy0(Jy)NkIo2ONw02Scsq_B+*>|S>nSVC&LD<YInTbCbPV4>Jb0lN_p(5=G
zmy5q_mJGe6+$tS2y*K)|uhZj?*M#-XotfsmN=~eRZ3Wwfs*{fWg8uv7DA~Ujc2;BT
z{N?ttdUE{Jo?b)cIa{8&wCZ&yu&>Vb%TF&c+u2axzed*XxA^td<!J%Q)&)}Mj@_IZ
z-pN=IxmGXbyxaF@laBU=y4FOkp2L;*<b0U$V*#mSzuX_lCNl}Shj3(Wnt7O?k$aBP
z4(r-?3-48}mS+k7arBLU*yR?bf+u{ujm+W3*I0OLnfp>s`=n+|2CgbSca1GByL7T-
z{V_$&C62kX>$yX+1@`R|<x0Fdsid;vl<~`#e;20nn|7&872SUBOz774y^r&y<!-(B
zC?)Ea6UnFa<(_ZC(F@r+%6BT5f1LdNXUeN|wYo)a);6rB+A#ux?`87D9()n|esceb
z?7K7Xl`Yw-qjI%OyD0Up@)4^xWwRQ+bu$*Q)iU`dZe6p!=@4&ybXk<o6Y*2_Nj+<F
z^FD{C1U}HaZ?y7SeX-KpZ4FW9=BfrqE6?+o*BRlj`Gh^?jcixmj!2%>l>y?;?5AB=
zw%@#_K5eS=iK7<t1uun*-u$rr|BiXewQuGgx*MCwdN{!+<haFyl%pq~^qtwgq2rKi
z{c5oz-}INMXrFl>AI~h!8CD;zHLd>8t>$2rT&~1ldu1kZT1{^6wd{QwvewRApm<^1
zn@7*%85+_Xe7<h|-(&lJS*?-of8lj+lj4pqJS`i)IQ;G*%eZedu01rAZ@YSVo&0tE
zyU#4WBBr)jiOxGH;-I_zoLA~g>4UE6JMUyTR29c;o|&**NqcA9LeU!nOGImH>%A*J
zwD0zD+#HfHVY;K9{`7?X&)B$Pl5Ra+x6-~y<%d<$=eDg1M=m}(nBKyA-^;Ccu3sJ3
zH_6N>Vco57zOVUOQ!ev4UtjJTgTU;Lg?nqxi?Q3}%uS6o@^g&ge`B3;H$iBM;`AGO
zJTFsoR+ar!TNhL`)nCr6%!uWAX9oMyhv)03Z^)BdY`$cM*~6=@?S|7HvYIRZ+i7OH
zbVIek3Yi<C|19p#j^82u^Zo0ib6#-nHPPCybam$rjUA87>qXA3bN=YvAaeh&$*K;n
zM*n367sF5fjJxf%+2x1G|1Mr>$r9JK;sIC1*&n_Ye40??GDl6uKJTZ5;7qf{Qm!Ja
zQ_A-@uda9Ln<<j&*30p+rlmaJ`}3J|M;4n*$@!h<f74U(!kVZ9eYP(BmVa;g2jAB<
zIBpTPpDS?Vn?yH3KE9yacSUChxG*pM7iF*`bJir=l0=8!MMBT!`z9nvYH@9Pw&YcU
z9ha3>fke3Nnj0N5?~-JNr4Jq0(l0UTl-<(O`Mm~HrFI>wpINS8%XRaS>*j0spU$+L
z)Ks);)?&@c``$iOh~M3<&0+M0wM*jlx~0LMF<N{lOZyyG&uY1uHv8HF-uD{|A~y#b
z^@&!8Cq%Uthg42Y+Yo)?X2%2LyL_%;B1+r~bb}7<*joR*mt&T_!Kt*_r`h&4aNZIz
z>fD~{|L5(K_G(Gr*bntKe%-0Rrbu4=U|jf3?_pzA-A7{uH{0ub9z8uRZ0_q(Bl$*r
z%AQV}(`S``IxMkCj;veEfApr?CF`IYF7a#fCFG7Is_bXinfrd{B%{DvQfrOUpU-ho
zxi_uu^i^K@s;u@sFQRVkG>ba4F(*b-Of)Td<r;2_<HsZ7_Xx}DO<Nb4P%rc2Rqg)5
zwuIJ*@P=>G#dq!gCcAO%L(#+1AOBXZY5FRCtj+9^a?y=v->0lIy#GqKC{5+)j=8)4
zd0uvy&lGZczM@T=$EmU>%JaqZUMe{M+!y3}V@25CGZEX~zO49iM0#fG;VgN>xwo>l
z7uwAaT>LOnaHH*djcclQlL998cuSgb)_+jgS70J>a8p%bz<0a(KjoZOck&hXyEQBP
z{VfnvByS?R^yAt;i@&8jT`s|UONF=BZ;gJT>-i*!tiYS67$$5^|7I?BS~8lu%UdzZ
zsgUW|yw%$`b}E}x2;LTdBjDNmnM2LshMttKt4C_VOUX|Ue^#+7PM%foY#H|=rAKbA
zL0SEyd)9%HO4iwm9bzS3e)I3zUTRc}c*xIE|3dfuiq7*~MMwG`1WxAOnjy1UNIY`l
zgWUPYdY(Tnp5ppfOp-4&OWAI(SAfw0q1O7Vhjm1@?s_6}uv1mHk}sC)x6$qVZ?EiB
zql!3Jem1<=!IZw;*!KPjj|H|1FF)(Jx@dhv!QQQG_22l<O!TW*kTl6C!us0g{AHJK
z<sO=|hOe{5rCLhu`0axHoZF8!-s^p~@*7|BA(N^VMOP{}mWa4MHC?utWxL0N8WFDk
zsq9C79x(iU`oS%A`%CYG^}cOqu4sCmzJy)e)1Rk|b=%zX;FsxU1&6$tmVZnT==*ty
zQPljU=c3ZLEmdaq9aCmrsEN2dMN)oxXn~kE8|z7DyESZ^#j>p@C0_cn>fO5JU7;G+
zE?TztoH*6eyd|J@Cj+PG#O}-4XH>nnb{_P!+f;X~FeoX#ZuZ_cKW@%jay;Rcc-hKF
zhqmqtOD<3f*>Jww{<lZXoGMG{Fne*%7e8GWb)FI1eJZZGddt>n8BFz7?^hN@EzYlR
zVE@H!-u%nJVUe6#*~6v%$2P5R4v0IJcevF|_<>iGr}ODMfgiR``hSt}_4BWN)uK|*
zmm21YY5p>tbR%>3wtHdT(eiUct@lmavZm<onzjA6u9oKRdF42-)`H`}BG2ynBQ-T=
z`3u(dd};r2)a=r+%QJr+_K-7@t*x&%xbV7&QC~Q@?#Q7W=Kr%Krn|2C$zs3j+AikK
zg|Ggzh^xN1<tVXExFo*bwYflh?M1#t%4eT<%y_WOsH@BG;?msjFBCq#+02%!rfqs~
zf$XnKKkaYL*LnG(FE#IFyS$jiGl5-Zy4Sj%vXxl&Jb(RCb%|Kl^Vz>;bANihp1I5Z
zWc`9?t51D#dQlTAIQ7V5(<_=$yCZyG8084qxq3fjkIDSAwP0V!|AlHre|Z0`5HrnL
z{bYaYu^;=B!WX*O|6u<5F!r|6xf8wT#1E{FmJvQ;`9RV2`eC)Sr-sw(TAKx;6HM0H
z*SLN<dULkK%oT_C70wrVm!ar3Nt*w;e^~kkrU#2E>nmLytcxCU+}ag*qAE4?)z^Q;
z`!}4s{&nsXKE`ap)X6OYZIkost)xn81wYz9Xe)8=k=iUF=X`qF$Bb2VQxkU@>ibyU
zT>STn)~%irXWoBuQ(N0Q9y06+W2gyEcD!(P!*$gwFI$&PpLNsWSE0$(>AmemDXq%)
z8?WVLa*6Faxm=?Do#1TIWM9v}2d|aC5`C2Jv}<$XT2r0*Cp?Nh3uK;u&t!NZz&Slx
zL~`@VmbOc2pJk&}-M29q7OyNWn{m^_EQ@`{O&43MJ0_v}mZtqR^Q60UKYz%|T>2+4
zSimr+EK~EQ+NG5tPdB<xxK&n>nkUJ#(%4|58OLpf?<?*}nz8>+tY5v}GWvzU_bi9C
zOd4XB6K0>^$oS^iuFz~j0Zp-9F=?h(On+~;?ftdupyM>jm7D872pvf(OS;pVzH!l-
z)$c+k?&udt&CKa+_*k^i_?C12&2XPw*&{wZ^^4}GKf3%<Yw{0^w6K@GvV1!NZH;X+
zo1@hx@84;+TYbrj*(@2mpZ?lcUz5yzYkEiiU9+0Shq+v{L@ha5!>--B?J234YQRyw
zig$6Sc}(!x!iXc&zs~9uRd4bAWM7f+u~+VZRvnXG_>`}<ZtARDKVEr17kVA>SyS$Z
z#^Nh$SJ!0!c+StV_`=ND@t2Ry;XKJ*f4FmMCvQO7x<LQT#;Naq1?=cJu{JVQabmp^
zPYshYkNLmWsn<l#@eB4(a@^uAwuxiAt4PeO|3@=I59&9kiu1>$+`oG9c|#*(Taj1Q
zl^(z887k-fSbFPZj|u6V{SaBDadq{QGhQLDt_7LMCd`sPUMKg{`s_yy_V<6E%lr(~
zH4xZ+b>ceD`|HFc5?6`{zug_;{P~W`lZYj{^=dZ`T-?UA@MMMe$}6UKd{n~aS2=Dt
zy8Ec(r}fwWtUCK8)Nx{r_md~rRUV~p2{G{uyeOJ_wPy9-lBdrk%&tZXD3?V&jk#-_
z)MENkWF-ghvHKTSZ9Z}`{E5-h>s|^WF|%|Sdv`7Q^mb3G<2g<7$@PzqI`i*uS~kml
zRqaN`wU?*6)f*nI3AUc}@|IKS-9;9+mV_^PtH1V@s?cHY>jhto9_`HBw^{K|(wx3|
zE#}I9^PkwZDW~{am5V)f3JKr7{K%bKhVgO7mzl}Fb<5Cn5Wk<5ctT=E##ZSl?mr*)
zJo+tN*`aFu_>jxVF#TD*4`o$mWwNKOh<{x3wC29QjI>n~%ftBk6?-~woqqfERN%99
zCw%^YeI+*c&BOj;J+8BVbL(`c-+Q=Ff5)fQ4{nQQlwXkhd`LB=*KO73^nHFEw)){p
zDN}_fiFp@nQumbezq+jF_qCmITp^zoX3DSZG*m38oBb@c=AY$?ZTz<8dV);O-K&*d
zc*0zkN4hRPCSm%Xp<v5~w}SP@ZrH7z!R_?YVdumRuNdz%uMgbmTclSf8-J1U%;Z8b
z?yu*Be=I8XntO5XY+3I9jJJ-0GiI<|<e#3ucRt(k^}f|rQf_?5jk)vWUMSzpI`V8r
z!Vl(9UKJ;2Td^XBPkmC%&RXJzoDru^+{!EvW4u=?tNm!r;~j_8B!urQeylb<u%6}k
zt?JXMd)s^jsx!rw9t%4kUXYsj^L@k(pTiT)VlT{MPCSv)I5F)2Uu)%7TZ<Pa7tj2f
z=W)m(&N%wBZ1csy)t;G;v%Wd6c;j*?{(WcDjqfjezMl8C(5-xT>*<!??aQuqb<AXt
zF+H`y$|>W8xntdvf(y;od$t|BS!VZT)^6pC^=_VT3wch+)$Nz4Hm?wg%;>)IH>ddO
zcO{eD73V$H#>Re8jhbaqTe+pV*I4^*`pk11Eu}A---vvsB+{Am;HziuI)2trx3%)6
zOm>R8zBkLuO+?oeTzqan^<qNor^K&QcH64I_-{WgXZnHflQ=Wa&+^x|y#6iQ{H<H!
zD*<jUxAJ=bbA7_;b$2hC9TxgyTwuKZ-{<^gcZFZY7+uNhdf6Tm_TA{!+$xTh^?SOf
z=bxTi7{(kJX<88TBlF$M=k0d$#QK)Ze)02km((oQ=E|p%2ee`o-OS^-*7`cirnhue
ztPbYeck<5a37%RJ&T+cu*Jg{vXB_Ijc3iP{jd6{M+v$Yd`cK+hCuuEK5tRO*FTZB8
zHScU6QRy;%hv^3TH?lPzX=Gn&6?2&NFv;wFzs$?6fBG7qU08eneDJ-k*@cn^cWh%n
z#Io_}`z7bao<}`*ida^8_)+wQfTioMD7!2?7|2sF=gx}#P7O0Wer#6y)w*y?ZgK09
zl~YX4_k7~*cWv68wA#?J{!-K3<ok@RFTHDm^VeG0FINy<G_N?XJ*8t)(AMzjg6d~4
z#Q*GL4_f4%AIN;4ara+_&n1e*sm?)-d%0hlFSeg4laqKNvgW}Hp{KzH+oXQi?-QFc
zSLukX!%GgeRz-2yRcwae`<O&eJ<+}2rtN9jeog<-r==e*u4*#ZcQSo@Gp63cZcSI(
z&TO{w%NIX1y$=hT)FND;Vy$ZP<4ds3wG&!rr{6XW&Hv=w{vvYHEt7<$ex~{xHrx}f
zH9PfJv%KWk_WhMx?W|wS%1LI_d${U-u~n1U#BAo(d!0}2I9@yD#pbL(_7=wfy%+b@
z&&w_1{m8<<=NhN$z4RsP?nNi5^i=H1sb^=p>SouQx8L7NYX5un{GSXj<W6}#ztd%Y
zF?q)PaD|yuQg;jAWV_X7sPbi3@UD3}SHA|tbHAGG#oOL|Jm<;AR$bLqpVwKkve^AT
zXJ*fGaLHK)DKXzIj|xw>u^sz$(?fm6{B$1f2LXaxj`Hc4X(leb@mXYX;f8hRb$EXk
zB?`{0FPXS~vl*|Ad_>YY!3nqcW*U_1e(5^U@i=GF$(ZWLY^ToH6<s};5&Ymzl~2<r
z+meLrT)yQGckH?_qrW!h_p==DBmci?@@4JX`SsrshgH$-!O}@pD)(0BE&QvsPmSYV
zcE;MJQF?s(lM@d{N~A3@=L_HN_hVk0HFL|F-oq^SL#^xoMP&May?5`vvBS~au-rKj
z7kVyNbM~^!@akyVyI8yxGR`VsFJy9BmfAIQ+iHm!i?g5klw6+IwqJBb)0KU(QZJ9*
z>!_HLGe`PV)A@rnt<nXh;SG|-%!>-SZnxJNuzt-fIO@8$<m5BWJ5MjI%99D`HMgxu
z2$;O~@{_rrU#x%sxn50x|HI@P{>2(bEz1{2m(BhjX>Pi0-f=NQmr&P$+&*Q!fZjDN
zObWAam8RcUE8KpDi`{b5f4e<SM{+dG`4>F&Wsu+ff;DosQcj%D;Vrd~r<p|0cJ;Y?
z?R{uT1DnjUl&k<Zlj0bOEd?yhC!#JlCvzKJDe?1<*QuQ(w(MIYgLM6$Q&Vf^*-R)+
z@Nb&&WZC?e9xR6+9m)!DNiLjQDx2tbf5DEc4a;jpFFo7QdT{EDXS1G(|8f&LGwZv2
zcTUz9sSgc4`p*SFZ<-rAbKm<P@h9^f%uCeYNloo&*l2rP{y5u{c7D!BPt=(Y#dI^z
zsH|SLV@1{aUpp4@eX%ioC#|)LpRfL)qV~ZD<uz*`&${uUb;Tv;-Dfv!<V)CjYfktN
z-LA=t_i49lao6lzWHZOKT+gQ4da?hbKXqPDD*x=8vQ<)9wP@qKi13?BuHFfEy4b2(
z9%8qu^r6&kcH5NolkabRx8K6l!S=EG9J}=qE8ClHdYM<=__Y7z@>#$1&217?GX)OE
zY1db7^`7_p^6mdk4h|L{Y+l7EY&fv#r%r@he(1{emRtX=4@$LO=5+StMX^0LA+xd^
zZ7OA|Z4?Ey6!d=wYL*&t3MJ{BH@kP7XQlR$wWr>&PdTtHMCrrYn^Ud!xLnM>yY<`3
z2a8?x{LTHX<yrrSHN~Z=eC1mxGxh)C&LsIiv5ct(_22Cqj%&_qmQ$K(siO0(H(6~-
zbKtoRu|Ypq@$9b<Jgfe5nt}y$;NR1h_CELeMZNkqpVZ3!SYaylg?G;U-dLMF73tvP
zryVBFJ!tsQ)uL{z*}R)up1Ql+bj*6WQC?Kh!|L=|Cy~?leg%ZZZnfF6oL6Oclu%T6
zQPGnBMd~>pH|5s*eVx-I$gr?X=+^4Tv#XzP>E&IS`%!~kKYiA^&KGkumzC=t+&D?g
z`jY(Ywb#?x3(nq?6P3TCqZj*fWkkV850?|R-SPQazb`92pLEPt*~>#x%3<Z!MKACF
zmA<;YqseRXo%cUmy=Nc27`#60w)!lFsb}&;#Wl6%)||BEcm8;m`%k^|-gB>(?3>!X
z#9StXZ|V6p47_`8?E73Qo%dqplD(C4N|Gw7SSDXgzutOXSF^h}<NYa}+Dk<h59>YG
z>Ap~s-FxdvYqtCS+1^4XTKSvLwcD?L$eVor>+1Y{8wF$Rr_GfQSQ0<)y6)G*i>o9~
zneVtD^+Sm%muY6e`N{Qvd9EwJ3$Jfzz04FG=C-Bf%jvwiNws&s9{ON%rEmXvq4gYR
zcHCxuzp04nxUYMcd{kAZyKi-<Y}l(;9y_%5sNCxMK3%0&A>#|{3iim0Wp~2Ln>VuA
z?~~Nro>TE>Rj8)$B12|Vm8r}hrY`UO_i5Ipv>!7#zDU2j_Hxdzeh<N$x693buBkA7
zP(LlwWs$R@lBVke8MTz^?SI#uxzgLsU30pn`hEHK4T&A`&GQ{tb04a{3=6Rfp6Pq`
zo`v(jGK=haPx&J5vFjdDns6$a^;?L~l)jJ^-##BobPsm=b7aHI9F@bp3wWH|w<>%;
zu}iBg<j42v+p6dI82&rSer8A8`R@tkCLtF)E{U$MpKkhQtFp-Zr&BE-9_@)(s!&pN
zBK=|C6rJ-q>t}>~3)w5aX!)c!=hBJ}%(>2;_G8CpmCG!=X5CVDQn#cY-kj`qCFAMg
z0<F2f1XgU4pL23EN82x+EVe7A*|!t;Pp<C}seUi3m|M%SxWzJ<Z+(1(+4BAE!S5H(
z@t0YmqpY#_)X~a%rq$t<9s3=BaD3zu4Dq@c{eEd`ShvreX*CWVzbfW3{+F7($xN(S
zwtSxHdbN4!)3ypYsJPx+ysv)az7za2d0V!t``JI<u4=F>uTD;<vODw7>-$~TYOjgz
zn_+jhA%f+>$JrJ^xwEDOyU*_^Snl`oMc%_lOSxY!{k=78@ADU}oGtZol~*n+g=Wm=
z>ucq!I=awes=)d)bEKrT?>~8Wb@D;)Sv61RxZcP#SUy2LocHQ$jVmwT)~cK^I%e|X
zXWPakoj&`+qD+;gTU&nxgw9$1se5JeGP&D!>Wz%NX786uUtC>g|4G_q8Lz2)vE35y
zyn`_=LWewF{p74()oMHGe74;`=6Z!78PTcIIrYaSHbtv&l$_A&ig=KJS5sJW`rWFK
z8HMRped3>WO8;sqh`RmX`62z;p%(40Z|2>dBJ3Rd=VATkD{75C{GA`fC#+hWeIP>R
z=z<HkgCrg~Z~U$M&_K>s?B|IkpV_sQZdtD>+9Nad*6;0Gd8&DZdtSD$?z{3$^NiN5
z`m2kc8C_rFWwo2xx56}d^X+Yax};y<Uwk=FdGWE>YZcz<ht+R{@#nO+mon?Ed~!U0
zdCS}VyB|#YEAG~{Fko(W$DUj3efEll*znsfDpaoB-h1Fe>RiDS9Tu%R^OpYe$<R~c
zo7itM<;}4|k+)&fp7p%u^O)Z5loGZ5(~K3oGd&aQZTQ4IDj35)KG=U}%h$EDn_i`<
zou9E@xcq^Xj+XDERErBL5iJ`(pNmpEwo`6X@aHa@9c%lJ8tHvkKRPqE;>TtuZ}FJ2
z+I4E7e+06^H9xJjS$6l9Y?R2Pv@^TnRZP5VJ}6!mH`8-`87`n)I^))Hxs9elD{e14
z$k-5(Tf5J<X<dEouBFm5)=gWUtFYkPI{~Ie%zG=-=6{lRW-u3dkZ#I7)s*?L?XeHn
z8|TS=o&DiO;L+k1nI^5RtRjln43^AWRB~*|scD~Y>mQx<O8)-lV_iDY`#2f}`EI6H
z@XfcZ7EC<et!Ll!#zFe>|Jbx!+&6CRnQ19ywe4qHUDY|=+3brl1?zRnQ~Xm54-`ZO
zrXQAZJ~Zu_?(Bnqn*<*3w$@wr`fpk574u0fQa@DWO~urr?<!7x7jGEon((UWv)<D;
z9WU=R+pH}XdC9ya^`BR1ncJS5%%68nk8kE_VLPgDwr@)3P2E(D4AH`}*$NdVjRK!N
z?eb^m|4vb!@GU8=UBWH<#`|UUMyWODU+(!{CAVX)*o1Aa4a+~Bm!2u#u<6kUbz!X+
z*{w=e@z%!=cHOl0S)(4XC}N2?OUOdbZj+{oWht7;|Ko1oyO-wZ5Pq~YtS{b4XUEr#
zTg{F}$3GI#{-sj>N9Nw&f5t2x0ZTmvD^>}xt<5YFPUc{&6*}oMd)n1KcDomqovWWV
zhuMFIz46*)ljNh_tttPvf73j<$Gh`$LRU$|{6{NK%la-zP4ZrGdvn)hO>3sF*^&u9
z51w@I`?l=Y;)64#ew@fVI9qYkl<N&=99H!06<RA*zu?CDseQXnvweOnz1w42Y_5}N
za-4&sNQ~u_?))F0_TS@JY0g!D-?Hj$%fUFVef3K=a<yza5a*a-oAK!HYvFaGeOlh<
z7b)|th%s2Uw?cEGiuKXYJB+!aSb1Jc%~AH(w~V<fG3D2`?1px;>Ca5=?lgbr{~%$%
z$48BhaP`Rh3BRv?nSAx;556G9^*%o*+-Usg@gnu6d~Z|yrI{)x(qtk#XVz3bymaMh
zbu+^cvGW%5>yy6o{qg_$O;O9<Id*083dza87P$Nkm{B$7c-U^yR?WXD*TurxS6{7<
zFn5x8D6VC9^XAp)Us1D)yRJD1EU<XL+x^o$|DSV;ci(h<yo{}R=82hq&lztnv#8$k
zQ^`s%EM?xA)yvn`@cOh1$#vC-Yc$p;9JqI0!mU5D|Bs_Zy|``t47r6dr&h?+*M^*P
zxV}kT%s60O@m=TRs$M;wLeY;R@0}ICqCD5Qg<q_}M)@~i+ksOR6$iy?^1shNpUI}%
zH7QQO!?IwZ@88RhJ+`RXiBEF(ZVP*w=^0yl$>Pw8oS7fGmY#1aTxeoEdu{VKs~x4K
zWm50nzdiY(LOJvG{E$<BW9q*=cFC9;UlZ>8&2Ed1b5{H6Q#FfCHYa4OhhP3E{AY{J
zCiz1pb<OpQr0-h2-O9xE>d9~AhB^M6kw@kBtk=0*Y^yCa_hwqomiyYJi(XH$34Czw
zKf}CLN`_mKN_P6EKAD#ykS8shSE9J!0fS1-4gYOYZ|2;e!+kdBJKrBg%}-vJ>b0z%
zUrg9qA9nwa*SqsPF6U!d{StL!n|s{)_FPDL%=w=8#qY9So+DF?+9oP|-TOLvOY{k*
znspj}D;^5;9%(kee?cSUM(Hw1<5e1N#rv3dy>v~fbNBX3;PG^m))Bh2(AwUPwNs-$
zbeF}^x2J?}Yy50nHrLNufUh(0)=f2MMvnTJ3rR8#9=xCAe13FJVf<a+q7n4dc|+{h
zevPQ?rYjAh-Zq<5QkOJ#)gCzcUE}`i>k9D&>27|!jj>L1{{P@ryVyMOf4blHxk3N#
znp|Ic*lF9l>&+^ruQmAWi}Zh4y<Ts(G<wFTQcd**d#3v?Y5kP*dY%2&uf-*<Tq)ZZ
z-e~*yqFzDy)feZQO&|G7FZcY8NzQXE4G6rS@n)?9!=Ar;clXCd{aZMfA)~PCv7n@}
z_@QH;4C-yp{7~PxJghkP&W0z8Pdmmx%eS=h6=^tiyjpr`Si7?QTlLfz@p(cS!Auwb
zZr5sj_-Dhr$ked6#~UM@^E);^UN$*w)7ug*dtP6`wXHn${b`kVS})G>xyEw)Kv{A-
z=aoYuSx#?WhNa8wXpr7Fnd89rSartsFMQhe+vF;O``7Z$*R`lzld$*BdJjeGLn2FN
z&gjpXbjxMoUPhTeCaI^i6_!0MojR{FM|gEah%xiF5Y_{c3LF2#?$`PC_JTml_y6WM
zoaRJ+*kF==wqf<Qv&Hpkd&6|SR_Gs86g`sWK3DMXnjc!cDoWZ%b#-3XO#8yIV{>Zz
z!K7>+$5q^~Rb;*e)r7|`Rk<<0tcYph(^9?q-~)_btCJQe+T<A4KKy=Eufgoug?qtI
zo1Q#dq#<&m_P~|gyCHLb?l{t_=db9>v$%Bcv*7*usn2IP<}6;n=f;NDv+7S8UDTM6
zuX$&o`1u2CVltY)8hvr$+?8#w)0$*>Hs<06Io|3!QcH_mw2ThQPiCHQDY#+RGwp2?
z76nhbB*z=MY7(2T`}~QmI~}hz&EB*B=O0c9m1S>ClF#Ytc?3M28Q~<lAvxD=j$dT{
z_4qSC)MA5mH{ZNn$j4puXi~3+Y49(b`e(Ol|2OvfMN2T`U!7%MWGc|WKK<RZ9kDxB
z_QZU-C$x7BN8?9{*KtqQJ#6lMy^@ESum6|TLjRpy-1E3DzvZbb%Q>f6uwCh%>cU;C
z7A;eZ|8wTvweyi~Y7D<7IqSq6<C<L4cK!G}Rc=1L<#*UUPjfL$n!UDqXXS*FXMqKw
zQ_fV@7btC%4YFL{*lWPnldWoJ<Qk;0DbRftQ<LDW9X5B4t7PbFGRzaQHh*}bd)41d
zN*g}u_U^t>E5F0ngkL&b-a}h#^PS5!%WKW%Sj*ejTQ8~IUBRuq&nnzop>Mxpp6oyN
z#IKRvYfal%`FT!#r6bqBr#(dKCexS71l~`}_&?~e)qiES{If;v=7~#l7JOW~pX0+x
z1!svzt6neiF5Y>!KfGLLQh$`@oyG0@e{JxRKXfH%MuVmLu>j|LS-J~cZ=bfRoP08?
zzDr+XdrH~VcTu_Ta;7igp7_B!>Cem7fQvf{4)yG--~Rhs!79;^Ge>fioE*g$H}2bV
zROk+$?Sj|;91eT%)ZepuHTg}K$INf+6ZzcpR<`k9xahz6NWk}yjrBi8tZJ*4y!O-n
zmu^#Bbilpn>%^eQ1qb)`-^_e<flc<-3`O6rdVYcT{tINTS(sIMx!;`p`SrUT#SSl7
z<GmuQe2j#o?v*Y-dc*61_2+3(?<~2EPrXxpxqsr_b*X>a-I$h1M>poxbM&?Tempsi
z({Q5b)5asJ-E%etsxrwGUZ@Yz4pcW*pE#{{_O+iPqDM5f*1s?o+jfC*!+#dujG9w1
z&Tn3IG)(%!rnu;+zvaRgjMH+THixa+7~<nQ@2Rx2*0p_?J+69t^4{Hbu}S}~%!7Ze
zbK?%O=G^4ytye0(dZ7Gvj>p|Sz9IFAj_!&JmzAj%3Q5>*F#fgj-;5XT7Bg7V)82EM
zu70+v^LBLA{}a=WFJf|OGCuQBZ;S2xRDaLEhqvxq7<RcxN|ixU;o{mUH)`wR<{s0T
z`{MA{X+AoQKgEkwWL{fb`99?-OLjwI%DGbRM_)eA*u=QYdt#ko>8IkIjS;hczBNm@
zv9P|@(pE&Z&&KSmuG)-$LNj&VK0LsZQpe@%GJpEK1Kq7RY&HJ#*i5l~9I-5c<MoQa
zaT5ALw*$(`pEoYE)~NgImSD$_Tp#R}@-_EaL|3F*(S^Br8@!J>cX_nj>UUGWk+Gfs
z+cxgF&)VzmdsWPwd2&T(Rw2VJz3iEv(+_<PcYVxU?^GoCkh^nTf(yHLwVJ>5EyY-;
zIcbd%2MbIjzF4=-4U;dM@ay@Cxyg5rvej#Zx6fOjzb!Gp_4d1KErD}xyKQu9Sbpne
zB;R-8IlT-0tAFQwOgdP7vX*aV>J>99S@kCy9a>iE<h|lxSiP?E?#!n4vrz$?Kfi96
z_vT~$?&PCet(Mmxtex*HCf6sup(@Q>A^79c?ZM?0CyeEi1Edx!9k=TE^!U#9o{V>|
zT>i4{nUl(Wn(<_(%9pRQ;TDs2oKdR?d=+abu{UD=MfMF&4|Z5*X(X<5ws(8HDDUaQ
z{|?7_zbm(1QoT9vymY*S0dLJ>dA?H~2mUqmOz(TEbK%m9qOjRYne}({r^f%Q__?vi
z%&k?c>zKIDmdJ`#)e{YK)!9}ym?TdNlwT_G=V(vmdVS&WS3i!=<2`ui#HTf{cHH}P
zv+La&v5=yTzE^K_@a#{V`R;2x-@I!+0aLHCl_#lMNjkm^n#Gk|{zoq>C1BZt&5Mh#
z-hMYLh1+stTfhwIrx#w|zWKAlx?Y22M&pD@=a!j$_I`gRV8)F*i)Q`GJUHRddZFN=
zy}_HacF&3zIKAM>H<6l$BKI`|Y@{Y~+sU%m))n2D#r-x^`_rZ4Rc~BB{y(r{hvY8R
z=@+Jb6JEw(^5{~AX_FYk8adHxrRReCC8`WxPx-CSr1f4o=FGypFQR|l8bUmN3Ty~U
zug~_2GLBx8A;8uxm%QY$_|NmU_e`d$9P7&5_T$By&d9pc?q$WFWn>hmcnDtq%%J(V
zwvzeJ5!+8fytyu~U)De7Zd}A~R<PaO;+WF}?bn?-29|ANYD>BV>$0x9v;EI&J@#&&
zjc`My<0WPNsOaKdK7xI3WJ33BI$|SH%DwXZJ;8e2Z5I!eh?||yi8&#2@ZGt`O{&k1
zRmFK7Sm_<yDezz!=lSK&Kd>mtx?b6(p?SaDI_=q{)F$0^2`N{#&!p>V_5HB74m>u`
zB6?=UXC5IH(KTWkxnCXPY#p|KbG$#>Yo6Vcx=XsAsS*EJZ@x{jNI1~$miqocPyK{I
zC85b#vp$%1)gS)jTlKg+HfJhlgu8sdUhtMTUH&&OC;VYM{XlZ-iuMD%;&%)ee_pR8
zaIu9cU}s6s6xF%At)6+u&M5pR-Jja@)oMGF&x%ba#d_OY8Q$HtTAe0i<J}&8eD%ic
zmYpwO*r-kuUviFNo=v>eOooz#VwTSmugkovm*=I=+3#JxeM3uq+s~}C2M-0eRwZr;
zH0I`toBZzR&)LPE4-)zXrv5rxX2ieZ_|-W9kyqln)cKAYWF9)dp`5>Iw%oImUpFs{
zu=PG6d7<Ia`5DbuzJ6ahIhAi~+yORM`xi<lq-|3^a5VYPJ|Hwz@z(4eeoHp*)Y-tB
zwd2BkXUl{g3lB*6<@$E;9c`+g=&PK4K)qd8vwYc3(NpvPFZpVBkl~cu6DG&sIa3^2
zx4-OJ+4s1?z2ASm)Q9uNd(P$OpD~?sVC~e!haz*fTb#`6ZCmz-N9uNz*@>fSU&QLF
zlZ}3^lbgP{+W7PtU&ak#%6>mh1H(8<B7XfbF$npdIO}Ore)mSXbhfqiVVt?$-|J=6
zI*x4Yzk8EA|4jB0AIsk-&mGvcKeg+Mcg;ukPku(fegCfG-nP%wLMvpK+2e+!A8$?H
zJomd7;aOa@-rH0(^Udi;wU<>nz9g6nng~nZ<X*R4aNdf`*Y#KxuQi!0x~i~~XCY^R
zo3EXu@88U}*6n?>+;6Getqq<1$ZYEaNrpA5^(n4j=Y7j75V*Z3am&|QW}oc$<t#fH
z_ZIFx=^N4gSeVOUj=Si)?4AVE&=Ywjo;SOhT|2i=ss30PDJzllH+r(@gc&(slqWsn
zT(Ia3^L?fnH_XiZyj?dpx-*^b<n)b=VQKzs(Z}0dv@gKoUd=j_chhR?qgNli(DbQe
zjepmAn~(K#ZqHPFxc_y(`00m-yzDM5s$mJbwBwGQ)}=pEkJ|doC%icA;o-f1Czn&t
z%!^M<9&c@yH$3{oB`0)3(z3`L>wDhP@<%T53TSP7lbWxoG`V%kj&dbQ<M(<UzS(C3
z6d$(8R&2P)yyfbKn+NWvy_bHsS<*ViO5(KjLe_J;+jqqY#?{x)cPWYW+-)iBz5cqK
z>6<FvimEvmUU=v<9*{Tay`V1c_;d48D`V}Cn(eWtFVw&5SC4kvB{F?7bLHmcPej%R
zhpUvxtXzC{0iS}<`^a}S85iuO14GxR9of80nYn#K;MOg(UubF0TYpgZ&aqcBy?q_a
zSGt|rIn8+EtTf$E{>PJw>SNf$S3TPJAwtn)uKc8rn_WClr57$;yn1ryvgH^1MY;JF
zMR!klVO{ouHK20E1*T&Kf26*j)XKhb^NsA%n_K7bY&)SO&EO)TcDCT!L93eWImPW=
zTSYZp!<oJwS~%(Rc_+DA+sI<hgG^=&3---+3+8TnE`G94>u{|pgU=GC6MKE?yR}ry
z;x!ZUW?fF;&Z>3bf3y5O+u2<^DmPd6uYBIQ!S!U$E&T&4H~vhO5B(z4b^m~b)Z0lB
zp{@BJr<DorS#jp(BHtf77cKd07jf~nU)`i0B_k15?$vd_Q{ScSIB}+U|F;Q&LHbi=
zj29YS4LLQp`C)I5L)-aNJU-KBZ1J=bmH%EZBa`_g{<J{Y9@$EFv(z=658hO6ihQXv
z+nnF~dCj}iE4l)*6&0)JJ1yLQ>us72&*r`NF0A3W#Ju8@y%vL&dgGk>t(~gJ<jr2x
zy==PHwCtmo-NlCWGb5R`|6G_f>t)&6<*&?yJ9<Nw-t#NU(k)xNUtHl`(*9I~qJE7k
z75n<An0iJ96<v=fJ0`uVKdpZ{$-E%>MTo|>%MqNLu1xx{|JeqnH77a`O<3lYAhgpk
zVco9z!oic*$vnGx`OwEHE;aTy--cg0`L^-qW{I_HPnmgi|9_X2Wv_SkaqXqswVVqV
z=9uPNY>&L%D{J=rGM66HOmR_nS*CNJI*PXX);@pw+3}>u-g>Jdt(|tfItix)&4Sc^
z1z22Asb4woqMym$%R%d&bDuW$SdjMiZjG6eG)sVqq@3oyxgj0>`qBv<N!x;h9>{N*
z^~>$Ae$0QiJr9}du0C{DbDwl}nKsXP|ArkeVnpU1$TV}Wo0|M&k#4JUdG6enIb5Rl
zr`PGY-MUdW@z<SAs|4QH^C%}S4iDY;CcibM)ywDDVu_sxSfadFIS5PL%g%p)^`Ay5
zSJ$^C-13g6$_^#V+?eNLws_mzmHTpK((WhhD+sA%=`dTHXZKU5`thV}y(;FmzXj<<
zYUbMlym-7OoK5vreq{LnroF3BmF@lBhYHmfxl@1MUe`7Mf3WD+nx}j3UEm7ja=WV>
z`Soo2<mrVLe8P<8(=Tik6`Rg?ON^J<#K35Jqo|-LtC5MR8T7uIUC9M`cQ5J5sB8O$
z<=ozud;6p;h&<MHR`m9^+{e}5?xpWvelIxwti7$&)$sVm>Ag~$)ioE+n7ej!SG#S)
z#Ay@z8oM1LeIlDDb~ZLPH1<i(ni6tDFyTc`V!C$H3!Vo`0qipbG??FTO3dW=SD4tM
zrYf*)^Y?-+2FB%T3k>R){n<Xr;q0voM-Cl3G|}Pgxm)M19=b87;rP|7p$D#>Y(00e
zwg26Gg;a)y12<(H60#C`6$GY*UzjpQSbc%O^k7v1_8UwxylXi{VtUr-_Hd@?^e}Go
zWAI`MwsvQF{a=Tp=WUL!&cD`^o$u~5<is-eo%_#VT)Jhm;snu9L6OPRgX<LqM3;pN
zsu^rCRh%&Khx(msH#=X;=QnJe{CoeZ#fk<0<WJuEP_MH1|HOaCU%mJz-^n*?;=}_-
z4&9h}fFmI-k=ysb{ymjk-?tn${w+2u-1vX}OL+&s{|}TG{AhRfViIn6X@5`e+O?uK
zGX^HEL~H44@$?4e#x-*}4_ut)aPz{om-X^)GP*vTEpOKNa=6@`%eYOAVe)@Asap{d
z)qnoC{gdbSOg~(|LU4=e?{=TI|0{In9MQSMsKzCB?*E4Ttc<_>+5fMtX8yN1^uO1a
z`7i2&1pjP4s#dn`n%sZ&hxVm^t!4Ml+R?ILgUHwaB}ew3U9|03nVQ(PG?r86{!hq$
zk@3mCtG<4=D39*H%YOe`Ki&VPl<;SNcBFH<J9jx#F59m9uiS_C&-?GS>;H9cj}zza
zc2Db^+1W5{X6NLFiF14BHcXy)^?Ch4)3U-6mK#?8tJ(jpe7gU2eYqIJ13rVcxae)h
z&-k|aWOJ_lAgViSEz9zGbIk&l#-*{u&3v`<qT413BlC;)^?MHO3O{(Ny!q%{PJ>5x
z_uiSfCtuB|hxve<zmJ=6+iSh#z0(B3XZ^gEw^v(ik7>*6*yfdqw<JzC-gUWSnZ9N{
zt5$&Trj)1iu6tQd`KZ)s>?S>>{7bWP-tqN%Hn+NhUrka@&#FDl^lfFfK>Ar{uJye?
z;=f;WIP|HxEHU51@ax%nZf&MF{D)2CBQ$SWT))ve!>`2uTI>87Puh9SZG$gvf8@Br
zA*MuBJl-|wadNI{-|T&tR>sIL+cHntv}K7J^ZnZyEr(tzM>_HJR3*h*)Px;6dCOW<
z$>(0tyQrmMVZt1rqg1ae^h^|*bLn%*ENcVXf+L&G>98K0DWqwenW`pNSueC-_goi8
zHG8L>%$5f%CsO?5pEpl!n6+k^-I^B)>SE8f6&>1e{f5~e(+x~#j;mXSu9$wpam6Vm
z8>cMUC7Ya0s}^lK8MrdEam}=imsjoj-p8+1R`2V0OZM7)!Soj81;O{&CbU{ge?7in
z#R4Dw`XwLxr^%{c{G9c7-%Q0P^__{i^`<rV=l%IAoO9DdX&=Xy`cKpUKkeUmJe`w2
zygp^wwtV#{tBn&=mK*=5nJKo!(4ssi?f=gH$eHt_x){VZ9h-Lj<(<dzv$o7tY{>HE
zPg=0wOr81TH07X4JC;1XZ*Md|;>Clo+#3hK)vfOKJMoBh&Q#UFOr}qzCln7(Xz)K<
z$`d72Kkc~iy+hsHvu>OVKWuBXZRd;iyOmdb>R($dHLv>d%E@+$g26`*`2N@}-}-F5
z_0QUX1kIqi4-fj4#cujuyTD|V^RhSYVn-jWdKtNv=h*e)h%Z5Q$GSb-7~gJRD-+zl
zFYVP{uKABr4IEoepE>BV?sLz>#%{gkR|9%(b12<fmuIrB{$bv)c|RuZsjXb2V&S27
zg!hT?oW2n55`lS}Uviz@Tg8!=DysQ|SG)Vnz0>-?TdqEQH#0b;P)Km=yOK>dxwV(h
zOxPhVaietctg_VBnu3@kQ8Ob73+3i%o?o`^U!;7t-LETL<{l!VJuTO6#CuOT;81?P
z=97!bGrJu#7q_19wKS^#!D$~iCD?hQUY*_B9q#>nE8b{uSf<9k)_Zs&TjM_aPMw;1
z3)hZZ(cijPCSChB_ieoLzgt|B()m)i-Y)nqy5iD_85Ne(P6(cOlqVT(9v+<aNnN+i
z;#j`YKQ0@=Tp>%nvQGv|({J^z-V=FS^z+}hpCA1Rm3j2P=y!UTDqr572lWvTKctCP
z#qsR9#K7A6<B#u5otIKJWxto(FMMKpb?ZJYhq)3p->a8}=N_3JzP3DP>XhjWT5P|U
zX*{dGTzUWeA+MIUkK3N>t2MlewUx1c;;=cyUe@_Tl%3|UM9bADGGc;OWc<~w5!1UQ
z<YKe(-4y3K_207|+G@1&D+a0@bCa~Hzrv*WPtM)yg!A0GlPorwA)M_Td$ZGKAK$Pz
zrAUa)@b^5?mD{y<YZWW4@jTe2^yMAn1dn_vMvbByHm^<^etp9>?Z&FZM!V1LDO+%A
zXBumoz}XoW_ZU{M&t9<KqkfvY-Zj1tDQ-8CBSND%b+@TZTK%vm$wI!&=5v+plTB+*
zXBgL~RxUDH{LxI}H52#7dnE#^U&+cjOyW^xm5P+~yQA;6Bjm}R8Im<#6*Jdn+$;^5
zbNSRIhD+-A1wM6acinE9|B}1ZSjqY-dw9e5o38nXZyzw&thM}d%bdrIyHxrZ9d&Gv
z^7SRHW0-eM!{FZi(uYQOZ9)Yi8-K_&{L+eETkBM1Sbw3R^@nWl!H6w4cfY(6mY62I
zf+u=%?6pgUy%BQE6T;SYtZ2DtRsCIX>Q39)B`dfleU8dHI&pKv{cmQxE53bv5@g)j
zm%m}jEOC1;)oB;iA4OMLHg5W(cyVRQ`xR|XzZ_Dobe>xfc&@(UMP%cGCwkvz{VGn>
zZg-r2&$2kpn!EK$eXPZ5z8Lv=6JIXXzxMC?!?y<=rtD+*zwTOhZ%TXP8}(aNGP8tp
zojjG*?_}vHPCxX~k0-R>^_SAo-edFJ>gHBB-?gX+)V;rM`{wm2%saPjJn5L{vC->t
zjCkwuCDPKx{<n+PaZOZ`mOU%nQTRlvbl<!8AKXLAOga{tTI8De2i>o~JcEr#ey;T9
zd)MF2FMpvj$MU{H^?6B!6B{z6RaZuo{L#{z7_&0>mzvo0tp^ufE!s9|YQ@$oOOJ04
z?6u}T)y(ZBf9UXuZx^lBcE=qrecycJ)DfSUpKs4AzI-iZZtnYPhf8D0)$Nk9k?)dc
zb$2KyD2Mo6>YFXR-gsSQ;noh1@8<Q=vv{@cTsnRzUFmIX!O!FB(z1>m_tcsXe3uJa
z!JU^}*^oP{V9GwPv!5GNet6A2YP+Y?T6=}#<=Q8=Yv!dLyDkt_>QV2qa%JcF7e_AM
z3AUD5BVZG{cBZ1^M8$(w`YNQeeDqADBGn{IW=+)lE!Df?m0W(^<z=5vPmTDNmy~em
zdHwvTu!0S|{bxA;c^$r0T4eK<|KyG%8D4B>C1!Q}+04&;@1o3im!r2gJ7p@i{gKk>
zzIkjC)0V$6>v(s5`pKccSnJb)<2N(sCqIx-?|1Fvx-IqK1)I`DN3V&!n{Ff@XujCB
zYGugHqSGZpr_yK7Ec$o%&kxab>%y$Ni+^*rz53GfuYU49k94l=?*FHv9?pAlCr9fW
zr$(g+<4QFfnF~`tY}76`O%HE$^?twbPtv<1rt|mrc|DykyQZVA)8e;YLT0<IlwaIx
zN9}EMj_&^|zWMQ@kSWI3tB>Y0p53#HtJQmIpqJNW^NH^N9IF@otJz_9<>JTqt0l{)
z`+DmbN^fmCv)S)={Z-KiJR0+w6mF$Wixtk|j&)hj{Nb?M_jfZSc+Vu9G*&z7bklQ6
zMD6p3E4q?3^WPNiN>`b4J5E=<X4O(BR<YM#RfA_Qba>6C#i6}%;iA72n-~6)`0FKh
z&#m|w=b^&n^TAdxmwm6FI_(IHje1e{+8XI|D_J-5ex7vg;f_VF>-U_gzqcnpAbZv?
z`8nMgDdi0s$ArwZx3`JQ1w}4@z`kX_%L~Vxg1D)20YWdzS_1i>d5EhO>Nb14KD<aH
zUZFowIU&R)vxSqXH|W&o4+|ExB<eQCeX3*Be!cTi%*NSfLYK<ze^hXXx;k%7?{Z9S
zaArHRF~w_H<P@WusTP)D7gqR()Ne8G^G^z_-Mu)g-r(87`Oi+R5$C+Up}EMu^!b66
zg1Oa?*8RGaSNG!og$w0^t!G#NxLm6Gt=_%3<?8$T_@rqkt~O2ieDp4l)gPXKaHslm
z>3LT10q!O4D%WOp&d?~;coSpNb>K4N3r{Vp)6rih3uSzM_fzef^Uu1}$+Ml7G>WgP
z-!@16^2OA>jv<pu^@ATs<?!i0dHvq*XsowZeAyh|$w!3JwobToO885{Q}zQZ`(D;w
z<H_>5l&;IVCi3sa@A})0E0tYN-f~j0zHhOMW#qKm%oEQ094cCwoy5CAvRP#EZCM53
z3~Sy-1=D`tjo0KmeZQtD*ChP<>a_Ud2bEdJkNVa7AJvSFZdxrB{N+`2#XO^mLq5Ce
zC$cIPNcGAa>@@n+zBTWCTlt}%)%pu3zhgfuXVz<2;c`YI?2=`*691a3Wiv{GmN;dK
z8(crUW^02)$=hDR<JYRg1^hd73|iPkC+^rSp0D}n>etveKg#D7zerFxcw*_(+tV!^
z=REb9B^1kZww}2%|JIqbt2#?wt?iqg$hjfqu+f*#YVUsiST6oI(*LsY{sr@;`{M$&
zos5MSISD>BlwG;>!2T7t_9;A2s^9S7s*XsnEzi=eZEqHp{F~Wz`QGzCw^iqSoRn)>
z_~G@`b?tdYF5e6|>aNA_nY;BmSCOl-<MRtD7p@fL*S05GPW|n7uD<tmY5Bjz+NdS_
zdT*t9m(}#=CGCH=E7~OTK7+F0afYuwd?m}T_Iy5AC@^t*Q^L9jo>zF{`7K-puCt01
z&O7{LF8j+ZzhccrPk!+6n#9|Cch_l2`Q~{K4u+^Ool$qV^&<JlgdWE!1x$8)Q=h+g
zN&U9$)9r$fu`_n}K9*+e^%mb=KWjFJ4rj7RB%`U0jfKL>ZIvHi)EYWvhCli1a8qUZ
zWr4j5LhHQuM8}=;{(0sZvvq-HOr@p9R!?Sr^<10jEB@u3Ubt!DoM|%^<j=k<$h;Nz
z;?}7{|IE`2&iyc7HY4^?{9{E%RtvWkijh+`OLR?sH`o7__X3+q4!pj%>LPYV96Mj1
zzV_F4nN%y~Cr`{1l<xHZ3Yh#oi+}0H{M=s~dLo$&yga*mOuj^Zk-m3r>CA0UUOWlk
zT&`@P;Am4jEhc5@%SBo8Q(VQTDQ#bt>~6zyep`&~)K)kDSFb!w3s*)i`@$vLDEnEr
zRq2&jp?^WzPxrii+bx@ULtje;e|;9!RM>fTcYP7Jko2dCAN6DyueeydNbjGmxQ;Wl
z`=#tg*M4iWHP;vF>~*W3$82@f`=;OIIKdZjEw)=SW?tNpel)7-L`Y%01lLlt)r$fS
zWiR}o`*{jy$93~B(}a)kzj^W^Zpvon{cj~#=kPF@JX>qWzy7zw*4Mu$a`?oGUyhIa
zwqGw(bm1ia`l930*bcmXqWV3%eSH(h!k+<Wde^Sjx-;GE`FZC`k^1+`94lW}YHU|I
zvz9%3vhYuXIij&&zArT1a<6bMe{Dwdp`L%4jN29dO?mP5z^?7T-aW9<691N6XDq(|
zCew}mYAk8VElXcJ&n*{P|LGs+&AT&OHilg@%&W_M$Pp|u@8-15`o|vp47M*W+<G(h
z#fqN(4gr6?SwG@di?8^cviDoTHBo`1`I(UdeRu1*q_iqm|Cu)P=^K#~rNT<bgs*SN
zTIX>8=au7%w~L!TE1PK~FVZ}Fd-}$^86ARxlM@S_n^X?2Jtir0lEt$+Zr{_FDL<d}
z@uZ4ndpdHRIJms|Sqt|Lg(A^<l_@Q8_qOb<&EMwJ)U`{X?;X?DDLqer<tcApd`C&$
z?)il5&L=sSA6~lbs;;?j!Qv?s1;6*C??1#Xda*?<{%vEgbMWz)*RGx}E+vlz8+bqK
zN83D<;qKTN+2AYleZsGq3Ie;cwRDUPQa72+6`O7B68+=r?3GL^?!HlH59sZvyj!o!
z6MMzAV7tk=4=1%4UFJ`nm|}YS#+-TPm#@FxeC>8~x`#yPyeInqf4)rjGS=#no?cRM
z+qNp#slICGeXFPKg?~5ye3N&u@BY?zJw3)VI@k02J1LmIP<v1}y>8yzTYd%(i?-VR
z2>aBq?}w)3`b+ln`l=gQbK(m8pIzyA|M6$s=K8m9u0E`ekTCpUv9Z<KrfL30|F`SX
zH*?MV?XqUaUER9Zo^#(HWjknlai_gu@FT0GN>&%<=O5|mZ>~^V*c8*PF1V6wX@SP1
z$d=7LHK+fbdRDOO*M+5fUtZbu-A~!%@PX##Pjo!$HmY<yZ_jF4ld<~Eig{&!zkWWj
zydb@|BKB6fXT4~5?xTs9etKQqm38&x^v20QDtvPf=IrzOENa?1QLItc?8Af|0)hOW
zq)xgXSi0xX79Ew2hi!q+RUT=s{=L9ks%yT?m0Hogi@$m|gv5UIIlg1!6b+5P#j>FW
zIc^Lq&fRo=lK4TgseWDPC8^i^TrM|0$7-w)dHi(R*I@H?X_b<E^_|_RHcO{zy<1Qb
z&iutSwRO_2xX(qKHoZ|u3obskVxr~VD~q|0&3SzDy&97i+m+1%7hlKyKBmyez|+}R
zIya&I=OX<(h5NMf?B6Ps`(DlH4>;>wzteWU(z~}?&xLyjzArM2Q+z)^?$_V9(;dT1
z;_{zo1eP3p7Wq;5?k%CP=J^}zSHIoi(tJF_Ph-Q5_IuKEW#8=2SRDHG)RTguwI&9J
z{0nx){Ib5il*jy6g0bx8={bH|OJ>y_KHnbbv(I27rx`ozqZw1rTPdGjFE+8;Z>L`K
z_vneH=QdTZu4Ju!@FV+fXo8}Byo~Nv#Tlm;zWeli^}p2Sv%e=Um%A>myI)VIewj@D
zst4_?KgHfAG%nlU_*iqb;Os{8ZPxn*_T?T9c=EP7!)|Mn#nsN`*A9JO(RFd=N0pP3
zs#@j0&m23HR8>>4@W+d_Q=_>*>6^~}ZL;iFj^vc?3HAqeGdwS-ce*2QHFHh$@#nvb
zy)|BK*j--7ry8HNX;&cMr4CbL!FjLthq1lc=YP0<uI3ZjPTNObIp2)m^Y{BaiuCd{
z*w*pi#rM+6JlX1l)8>h^E!uoF{b6s0X5fy<>HC)KeRxbyhM_UgopE!Y6W3fH#@wfx
z2XA(UlwD>2)_pkS`jU=>BPM-Ove(#!PS<6Z^%=3SKIFb9u>Rz^JHGGsq)j;YC-&;1
z49D#KS}Sy39ISVmzRD*p%<fFIjbWxradwz@a$eNAj?c3uYaTd#S$)%-FBhy-6I~zm
zHJ+<333hXzw{F_{z{h_lMZQ|TVzKPO8|J<%E*)*y`j4@m_odsf8!ZBNE1uSESO2kZ
zNvxy9?OQL8mtQzm67fOh{>sIl4L-^Gn%%YIy?ytczn(}(MpfPA*!rKdd2Ek_N_86h
zMKDW*9KW%KgFEZntYxd}3%j$8k0^bb8(dPiIn!sI`B(QhN%}li`r55Qlh>~5+hf<5
z?Ddb&U2XsF^Vd)0abH-c?{-*u5l@!HvWCq!K5g0N^t|eM-`tSv&+m4-PTwBL(>`aZ
z;{wHNOLscv=S-Szo7Csk_{2K9-uU?O%c=DbJB)9{FzFn!TRmruVpxyy_WRTA;{JIZ
zczN!}=N41`!*3fV*EPEtDkgD$bE)1jyH3Al+6)Kr5clVMyGmy|g?pd)Yj}0<)!5B{
zFE<}=RquFs{NKB60`ucPe-3O?pQ+226{)>djOF?k&GZtD+K8ovc^b#E?(hg64Na^!
zUS<_HM>jtC-?kpdnpbn>Km9W?-Mhf8sai!UG2@PnV7u-5Q~Bm@(GB6h&fL86=;$<^
z$y!qH4?g0nyuVy}`?0nEmlrne3O<v<yx`S@_yF!$*3YYYIo+*qe)%W5C!P7h`~%?&
zYEC-j>~&u8=)hJ{FRQ~%1!ceDHoyEDk~JrIqh`IjV}#01F^1$sM$IY4#eZk5=%1cy
z^0M9Oz~1w&vWG0LaEJWtF_xDt_}|uiv4-R0uZ&-ch5uh43y(f{>h;#@jO4&VmDw#7
zQL0WhZ*Hyld@762;IUoCiASrNW-1FGY3XRuytnS@|0$QXGME+9?ma7i#@edPSru4R
zm9SJ|-rM@?^<k<PE7#nUky?J)YQoIJ&n_H)-;|u;e~5YAM)irDM|S39KgqB$on{rD
zU~K+t-nl7T__l86YN&an7a5nyp0dv({eQs^pL?6`E7=E6dcOW*peNHqvDbU1MXRrK
zvtH=+O5Zg1b94EmZ`}@Q&z#QWPI+Pa%X6E~IlrUZUlsAYyRu8yukfD3=2E&%(R0_w
zL$;q^1?FEazv%1vC0qW@1dBOw$Jj;KAG#c15j5ZYu{~8Yq$S-j%x$LCJhf{pCO%wo
z)Y#y}tMgeIS0{N2`HQ_Pd@%3S`_;2~mHxi%cwupaqx0K@NVR^am5pmoOekb$v$lWu
z+Vmv*Z<Yz+fr~%$>}o4vW%sIobRpB4?d#EZi906fnEu;w*62>&ZsUlr>bChT9Sqe5
zl5>UT{PXj3xZ9yG-E{hh!TC0Y106x}y~<xM3RZ_)=~SuN6S03g%avRIjV3iTy}GgH
zcf^X;_jBR`+77NOUy}Fv)Hcr81|L@W<!t9aS`^)}39(h{w*L}RD)^{%QkTm9=k>)Q
z%YHOgDty_yyyWAhqGua+zVO?*?K)>p7-yr;DgT1a#|vMzzW1+v`!#gVsu?EFZk$%s
z7Uny%gyq;NS(CLBi>_^&bz`}%Px$3mg3FbQ^fTsb$gL}zoiwXI**s4vDO<hkgvE{5
zJ;yg6@;d1uW5go(|FP2Y)>%<uSH4DH;nSaMP_MJ9a_#&B6CO3(NmtNzdtMQK-gxhu
zQvRGtpPqbD``_`$Yu1J5%ECf@td|+jG5k^w-mspnJ|knxTkk*>{-4=}4{dgAZ3>>T
zbiqF9*kw-=CSBQfOLtK~U*8<pQhlZ~w+mjpJZ0zhB`({T@zaNA+T6$Z_Lr!XRUNzC
z9P~3^muc;)`p4;xu8pVq)hl~9ZeQblV0ME}&BL-p5jEyZcP2LWhy7<>SfruduJoyC
zr;C=&WsPfBH?C}H`El&j{5xgq!#p_NXG}IIz7{dZmD47&R6lP1WI5T*JI}XS#hqI_
z|L9*?zEJ;VnU4L@%s<scLarXWeEGn>skJ|DZCFroXXd%nTa;_-6?2L&cF061rZ!6~
z`0#e$O<(4-roYyf-7}c^aPGz}*LJMA)V$ho`SJ44PmdPQ-*fcUe%5c7mrjlhyTtf_
zbMYd%6ASKWL|mDBcaDRLm)%Y4$%->uPG#~uzqziMW7W@3;%(Y8bDV9~EIJVVyR>8W
zDY3=h;@*k6tlww<vQ|mhXT4=(ecgpwlXfKTZ|U`(=#lqIf_tOh*<+>>B`zC^w+V+Q
zhwYhtzHLp?`UN}IU#Sk~_q9}Y%2Oz9-CI;2n*8{aqT#DUj1JtlZznum`j0Dfqvg+A
zX1^N_&)Co+SIaBP%{M=R`)d2-if6{j3Y+FXN;Eq&TR#6qw?3bZ<`so^?lXVBH(XG^
z(L%EJ%M76~zZ)Cp$lU(m?w5a5aR0sfD_;cIFWtO)BI}D9S2oj+s+vuQG*}m(Q?&KF
z@p{SZwv$QIL=Eni@Oy2$HA5k-mN_<?^UV9r;iX#cuL8T}*u@{dv(r=9-r6nqNnPmS
z<+A6Z@<+FZU(4V3#&>e}#`1Mdv#-T4_{E)XcvjDu!fGP>eaa!3D}KR8rI(z1m8~y+
zP<_#l9fsCHb6-@RVwK<NA$n+veE$=v&)FA)#kV*o*d=7AimaApe{wc|+FI`)ujbh<
z&p6C|VMAOk%k>+EChSR(7Oo15H7+Dw`BC1s_Kw!4cf1F3_}Z5)`1^6|$1k_CwL}$L
zOl=<jHS9=OUf;*J*=}~l%@bw2wLXjP-zbuuq;GVpv02a9H=v&F=DJTU8yK0{Yt3{D
zQ?q(sX;qyH`N^;?c*3J~PgX?wd&ti_`u#`Il)kf0ah;`q%k3q?7bc#W9`wPt*sJRP
z!n@g1CvmL`j63(JPOfuTdBK5g*%mwEI2=4gw@;T}t#6thbyuzaU%R@^`hO{*J$8GZ
z8@&2w$kU?!>do=(LWLWqC3k3jy}gIKswH>P6{)2;7H%77U;FO$Lv2>n41?>Z)1<A-
zp7W<q7U|fsU7}->_I%5oYfLj<HynxM4>?epaMLJM)J5a`lVgIt4P0lQrA|KWI`8AJ
zTob;igFCNJ`NJ|Z{_wkxoU`inm(4HYOyg1!aXQkoq3l6SlIL5`+N)<4NpM{gYSBE`
z{`jElc0a}LRHx?;O<uaZP<Q?J=WtGeuG#kO0t;Cey-1C7`n9}thUT@8%RAjB>+MrL
zR(hf0+wSj=E=lfV@yNS&+f(X2Z_mGd3ugRenbbeMGUwV8->LhbDr}Ts*~sI2Bc}eq
ziuc9uR2^5<Y>3-ZrVtlczMefy%lH1B<#~JlvdM98IWudb?+NGUDvw2DlGt5#P2~M@
zCQ`{RbjeaqRzLec7q+ijr%`<=u+r^t!`5~t^}Y6zL8tY#`L7sG*7R$hnYkf$HmBBR
zjjwLYUR-{Dy((_w+~%!~PxFs9B|dqQYyNeqas9qiWxsp%C0fqCiA%pX<Jg|0o9)J%
zZk;gp(En3&aQ2<Up>9muxxU;fS3YaIu*=rSJLapSO6%625rQ%<uU@==xREhurO?5v
zl2^Yu^eq)D_`lAed}^w8ra)Wb_XR&ok}r#<9hjNJ-}Ka-sowCR_2Ra*QG48-=dJ6~
zSScv5_Qu0|_2+tGmb%&1F#cL7!kkj{($(AVTBi=bgvsw)fm{J*d8=$^OpepsJ8jDo
zvszKF@;@0jK7R2zJcV&z?v2ieoZfkJmW8Z7^GmK)*!NJ+%~o^GLU9gN-^{(inO}b0
z^1L3h&nVt#dGyTUj<$j=twB9$Tkb63w>7=8?BDc;qKChhKJ=>hJO658nD5$~LJR&(
zV*j$|!MP-j8#j-KO+OU!cK6ZrsaG~BZ;xba{CMZ}-`%FVCGwk6MCPfz@O`-^S>n*A
zIsShc%hvx5U|?Lu7ctSiq)XK~gCq9Y3$2MhFUs%hvOYW|lgWSW_>KFeb1&J+%=wbG
z+u^*&X_;buW&WK9*n8U4-_+DEKkF1(q^+B0HgCl;9`Sph?>@~xIdNUFPDDz^9F2*B
zcVp!DztQb%{V|nm`}GfH<++vx{vwHj-sz9mAL0L7^5x;pUy8~}3(~%<mkEnHro_dZ
z7JDO}|NR8FexdK7CKG)Rl<7RZWEop9H?YDW_@-LP7wfY;bL1{h$xDjZ6#VLqYrWCC
zZwt-Wnyo(Z<3^6y)1^WO)~w}T;m`D%|81DS@p6?tKTB@MKAv<mHr%x&@ru0tEZL%)
zZokSF?wWd7>tN#?Nq*jD+vfRe79{s`mu1Q5XEEM?I@46X^jlo$uNxP(%$?t?u=iAi
z=A&abf+81BF~6~IvG()}+1YUg5pPSoZc3Gf)dw%s{`9TGX5ATIUFXuEDHECmz2{gT
z?>PUE!^mg1gI-@y`O&HM7tKw#vk2Ys`=)nC?o9vNrgNRg7$?oh<~98D?)b?$v-@O4
zoOM2LxYzIE#Qo=l?B$O}KXT2OKBh8CHqJEZ-{tlDt5fZ#yd~^@$!|K`7+sDDS|sI2
z1-zE@uu-gM;-Ag3Q?B?zmHDZ}b(5;!>^9_D{~^=vcGdEvi(d>jnzALlO9|HEyyz$Q
zgxmFlNa?f_U8kxx9xvnEcPacreCK7U@_eyd4pB#DzIEC$on@BSyS-h@n#?~+&)r~k
z`NdBzUCX>!R>w(O`Qv6CC_TIFI<K-^V`%R6HYVTC-<EH+U0>g8F4>wG?GSzVqz6;>
zX^Wl5OwKH5H!Wlqu0J5Lu0C?+=5rUle*8V@q3={-uH1TPWwtHz_h_S4Irh73PW8tw
z6+M=6D1kZDi2YZO>$iC+{*Lc&%rt!Y-fph;+Lx<ebL&5-*vHbXSCxGCsqB|UyMD}(
zbq>*b$hz^zvp)WrChZ3=)*lyPf3o9OiB5s>s+y>t7?$}vxwzj<OLW_N?0BD3N#l3!
zEN_Lqfz0p!DDkdWe$6s9+&S>ynH8@0{eP~$Z1ADtM0y#w%TE>48R^V>B>Xb>%AdLN
zZteSvY~f+MejKVw-hF=aw9t|Z5vfugY<x-m>aChp4D+1U$W1)jvD!<xbUJsvNkZ}b
zMg4v*RdY*pua!<%wJKVXBjw}4{`DFy{*N{bn77@&WHwoAm8#)Vzm<N03)j9rI_>-M
zh&$hAXuMp?Sia|3MDDw=mz~F=``v$AwSH;(u~#=)EJP`8{_)?d&pTe6==|Dv)4X&3
zomq=mnstwc)jipI=}LLh+LVV1E2`MObl<2ib&h|zS<rGrTA+9Db))p8-4C|iDZIwI
zZ%<h%!@|Tfp)V$KO<`-lZ@|3nw!rOU|4uaNnLplXweya}1I<jaiN31**H5LoX5Nq8
zx$eyMW1FPY_x3H`vp-30ew+T&>2IFx+;ek%>deJ!l-N5$SG~+KDx11u-n++~DUB2F
z${Gi*Z&t2vYpq;#qIMCx+|?JWeszEFEuTDVQR3-eopTrOT)wE}$g59^Htch`ga6)0
zejXeC?KWS%Xt<BU{`M7fJ$NimmbfHHx^bE;_&e?PpVt@sJ^73KLT&!WupKRml0TOd
zR_BuvQ|)9n-~8sYe-}0KYlMCkv&~+T&ECEA@Rt2tvuY0OuBzwx)4qpY%=uzu+|-xi
z7uX_BF1ls1?}YU351CeSPW*RT+LY#BmN*sEV|D(`l_!bw94lVmI&f^?VrkVI96ULK
zTOM_bNPZ0R>*a}Eu0G*y=G+zEOr_Xeu51drvx#R*%>|Weo(~x+4`)R#m}&ew+WcJG
z)JTV2jf=%@v1dK|+WK=&W4+R}jyvnVEbUAQRjl)@l;PTMzi(Sdi{L>y_Nx->qBd)=
zU+hl|mz|N$S%2Qjc<pryuD)A7(KUOzyUOI$6i()@vDhy5ys3lV!m((UB8Sf_g^cNm
zrtC4jn}cR9`}_XnO|xh=-hf-v)V0sL74x${N?4+kvF1VkvWd)XS8^`qJUUYEsVMPt
zmXDpV_Z<d<zs>Sb8S^5x>2G<oyDT$p>Vc<yt$uM~H$S)kp2@#Wvf54h&6N{w`m)#7
zx-Y3op6GF+H(%lZrAI0}6%w}jF89_f4VF=9KO>OqkXktD2J>Nts+Lg6w%NaOI0C<U
z-T%oasB<swYvtjjQ^k#uQBmeHuBU%Ksy}tPRbpn?$*EV|(j{N6*T_A#e?|50D_K|f
zo~~HAZem;P+lhCC5~uc+H*#{!)GEKT^?x<b^*s*^H|JKVNX}JJd7NwAr?NXpE9TB6
zR)fzE4S5P4FZesLWxu_U!l|vB+|RYiUYI#yQE*|Z=~COtbtTU_=M;vz&-0Er#`2|W
zwgKyh`rb3avpYmW9<Su@tY_o#bN!`uHs+7j)2GZ^&y>{^$As?u(WyMQh$G<7Y40O%
zqrA3BY+$UsVQjza-d)Kl4<_Xl@rr-XPGe%OI#r`@WwLY1U;d7!>8JO3eSVTZEk9%D
z$sbD+?`%q6w)Ooy)9mgV<`Y{5(sS8vdcD1qA#$o=*~N?XfsY$h{D0n#wdYxT-Rs?)
zNBxesGzC^x&)(h>vu<6Af<%-^RYTAGpYJc6{CiN=Wt!NmdA+g%A2lw@EeW%iUoh*-
zoOJaMtxjJ#HqFe7NVHD5b;ySQ+jiLnybtys_;A*+q_udex?JEQO<U*OMFwIOddD_s
z@O(**fBSP|N~`^kxgYCec;^ap@l7@h3*Q!X`_5(4I%lrLzi&Dt7oRzzmptLk<wLx`
zj;FI3-PyS8QRl0P7LkQn&sSWS<q`f~TK;Cr9LFeu26?5*6>q|y_TIk5(ZaszxbY>e
zS$w`-HO301pC;^|y?^p2yQw|Wvl_R4dl6xDgx5RvPW<`x+B@=p?)s8es#?E8I62_q
z?Wvlx*I!?;BF=T9PxPb}78kg8RbQGFzuR(t;SF{5ogdGzAL8tnTDNe;U0$=S(iLak
zIw-GY)to0<8{VpH%p?`yB=K(M^!0+(FNA$tZeKSzr#JC-VpfLGv<Wx<NTv1uWPfut
zap8ikSNj*=c=O#zIK21DE{o~jniAo%)%Dsv@>_Yu^lo(tDV~^DkR<zY2D|5#gXMeV
zvzijV>~5L9eU~5W%(Qp2KP+Bod!oT9;Ps2+dnPV?F*#U-)lj_Wb+(W}{KAaS>!kYM
ztSY>_@#nuqw~ab}tx!&_(+K$Vm-9;;Ym}$6f#Ri|jb(Nl)0bA=y<A_p{jWFwm4nZ?
zX0P0}qu%hRxN=NJ#AFdW`OWb^@07Oa>r7^<@oD6l7pSZ;FN*K%1?TJ4+ikl24&AL6
zF-c(Yc&@m#=i199lfF2`ifsS&Tj#U#A$cdI*};lcrH9v^E;YC7cvSU;*`VoE!C%=E
z5~o&8cPMuImb6n|Yx!J$@jD^ArdicUStK(U&s=kG)}5aED2?>!(8^=$S7h{O3$I(l
z7UdCqXzlmZhR6k#Qd(I#yJS*S&sBIt#ifV7k+FaBx3}Bl<i_%o;h#F4HZ)BXU1&2+
z^0`oldX2<}<eUpv^NV}5LYY1m#&PtmwdN>am9=Oe*YTRtYkl%6znu<GNfeY7nz<=<
z9#=tK?Z+QK-gz5G)^EG}WkXNKPTj?)j7<|Yn&r9eU9WHWFO<l8^6SI&6`dEH!mphB
zd-q1?Yh~ZKQ!H#I5#~v&i*mUYW8P(#DljNl$h%+r{y}8bgvR-*w>C=eSvi&IV2i<w
zXB?q*#gaGk8NY;jy7zZCsj|*s^Of#McC7rqXrbvFS^tTPe%`O=(U@AlCR;wwqP^<M
ziq7pnZQp3Tnzf|gInzu2<hIAvCpo51KfmkF%GSsKq7JQ<no#<PwTFM|)AI_N=Y*UJ
zD?QWLPRmZ4&v^FLA+5Z=fR@}$9i0?T0g+W-%XQTCD<95_x)YN9@m6AVv5wbsN7t88
zQtcMia*g$AuX{V5Og$^N)<ntfWIel>$l1kLCcXaGRafrt&Op=f;*6II_AY5UyY*d=
zzxUG4eQhbxvzWpK6DnSQQ@<_n>vQ-yKab6Vw(GaAd89vmnd6?DTx$=VH{6n?HEoCI
z#ic(5{`B@)z2CXc<e>3$gXwn8^Z)0^+&rW|b(!S-w)^Lj<@g@0p6;x$jO*^hNt33X
z`CcEot~G2%a`NIw9+zM4w)A$Fyf1dwB{9k@c6apIQ1_BYy@oFxJ7N}ZbBwmmxwOz^
zYs%F9dw&E<*&i+zT&}0CwIgz?@S+F8nf5<6{ww}DZ)O>1AD8IsDjT*>0l!YWuusxk
z@;GN{XyNMLJLmA9R!M&ACC%FY_*4*QyTWy$Ihti0_39EKZsuQvX76YEo8s~;>?SjN
z$-CFQ_y65p{(0GUSBK|1#y1u<Z&)*1SSYoOHzDkM%8t_>{#P~fI7=GRxljHUo6;#Z
z=X+ex4$t!Yn}55O7f;^0>fH{XL)|R`VjEndE$W2s)-2LbK4tdSJ)QaI_N}VZN}`TR
z=vdYmEbrIR+L2%XB$18t^z!wx;k)X#Obq`MRO7!dH~86!9dl=%f4BDG%X<0x*~;g*
zjdQPL%In42C^Ur5%8_{)Y@(odms@<_v@=WvF^`|W4DP-!^<n?|*=O!NoLPMMxVxv!
z`>j2}4>lCv^6E95ySl6XeC2GJcPhUwixhhu51Mlz-F@c9Q^(nNGz8VR1Tgz3RG6Ro
zmiMzx(8S_-S=fyKn+}Wb*S<b&yW-`mo{aIwJ_bll<o|a2^gTwa6|x&$nHQ?^?Un4D
zx=Cua!jZN97Ws8APd|&8U~l&4QdoUbO{dq--lr4Gg=SALeAaq&)y7>v?atSIT>koa
z<CgO*UPt;S@8dgOzqS1DaaAjGo=5d1J|24S6OvQE)<&)VYxYdRbf2a6ZPtI&H8_(D
zDh|EsZxSrI-IW_XE#UK#MNM-P?pqrD(TisdIw9RQb?@w#k8WtUOmKD)GE%bMKBFsg
z(!npGC*+Hkv;X`a@8ZvGTED(h^QlnO4d-ST?YYki6U{@umfwgjI{Q9W@W#G_CJ|>n
z>ep;N?Q%5vZu}8ljX8Tu9dzoJ2h9pmJ+>)+!|6>AxPGp=)@)k+dHLqjd&WP0J~&#q
zPWL7MeV)`eZIjE@f4z?{<ypE(rJif^(>sgYe>P}c?-Z-q-_~e(HO2lKYZZU+&PB6!
zIVr4E%Pk4mykW`h=`zc?o~<$1{qKFh%S-vgiFzC4>H~L~UU2W<86@!I@Z9Ko$yw*5
zHXrg>za{;!uEt8!OMz=!7fuMg9BVeA)pa2Y3v2tXHjcWNAy*4N{=Ua(V0|+0%<3sk
zva7yK&t3Q1x99OUNA5#kTDWUpS$?^haLw!50nH9c#gwJGMWS_5Yc?+ZW*4^q)LH3R
zan)s+$x>-K{N;i5YpT??nJ?;L*!{15W>w<9ibelj_gG%}UGLYJBk{I$Udeg|DVfXr
zG8a{KZcJ{TxQFqgXntI}-}5&M+`QbkFRPxlXMV+VwsoJ{zJK{@eAg-a*aZjfr;aB!
zrsyutT*937^&;nY`v~rg6MS1AoaAV)QWUL~@DTbOy|DUkpwl&;qS*RbMR#4Aj_EkD
z-<x(=X~ua)@nZq&O>Sl+#yn(Pxa)0m?IEUDFXug+YVNZ=U9b1>^CR1j+`qm-#q)ml
z2g|<Wr`X;U>I8h%>Ygg-;KzMZ@p;tcl;x-Q8qRsn5j*Lx%f|!3S_Q>7--^s#WOpmR
zwQSPYT-#p-_xW?9bKb2N?=ZS9tX;qNhFD_X+G~B=Bd^3yvtRb-t8ho8;wrmIQN^=v
z7JYlS`N_m*yYH`fHcwozH^C*0cmBiEPLH0PcZu(FnfP~>jzDkoF@ua;WA-<hX>3l(
zAMd`>V4wf{hvARHusNBDEpfs>5=%Bl=LZNpn_?=ugEjlv=M!8$I#-VN*Y7Rs+pYMs
zvp)7aN0W}5d%yLSBsC_fwRQ;!S95b&Ppz8ujc<3_n-cwsMNgLt*xX)tyk_U7tXq6>
zU1gmfx?(4TnzU~0cywuPPia)e<@zV-q2XUzc8kg9OO!S_FZmF4qiD8i(~euK#Ow?<
zeA*i_tK@MdlO+f9iGp+OzXJDpv8qYDS^tdLZI3|x<JT__`{r{0l#p5-n0sN9hv0@k
zr<si;E;345<accs3Rh0-EmHermCLvEOytITi?EY>a(e8TXFe5TjhQ=3&3aX`K6j$_
zUitTR$2CtcuuA_LYq>aS;yxGcl>eF!7|kVQ*7iJ}7?HdD)`=|sxd#u*9C#RVE$4v5
zk}~<!Cl9s67Sxv~%gNevzP9vDd(`@TR!8OCn>w6dLqy}Y{VCnd({3cP`UX40*&Vkw
z3GThOZSIvPSvNP{ON;)t=yKbFkl4wc3VKT&|8AY5&T%NEIjueC2%nO^_B6B5*|oka
zZCAwZx4bQ>p<&hF-e+*+c$D^`Qz36273UT|-jJ*PX=;Cvsm1@)`qo=P#!IIBe&ZpL
z*7Hg$<iqRkn)4carfd6c*)Hkgl+yL&cJ<mb{VF$1Ww&2kEiG1)yz}zb#ZxEiU1L=3
zP~EiYPojj;ma+$za+o{TrmZ=Apz~RdjP<lYGoOR}|2dZA_-1}>k>6I^c)jT0S@u$M
zjxLUf!mP{Bm>=@Xd2UzvQFgO_&i-3hPum&Je0qRu!V~LFX^J_?^_!1Bm=IB6SC&4<
z;cnvk^||+UubjKl!>!)KD7v9`LY1ybqtzeza_yum<u6~IIP+4yCF;ktJDN@JQm5}r
zmcP2Nzb_-)Y^Hd<X%nlAMWdLJVXW~Beb!sIcTBZm_AA;H<L`Gy_bcPQAFnoZc-JfT
zam=~8Wunc`=LZkW+Qcup`u8vYtrrF5Qmt*}Iy<FPIz%S%JpBAJK*MPNY|YH=XEi6J
z34XL(?R)LuMxP%I^2If8CGI74GKYLhuljhW<e-NIbN!t)Z`xiOE;bO@%(U@zXyt-A
zAA-*Clsa}4l?HVsHk~;5<MZMvoRyRN54C;wss9sX>1zM_-}lFF854fxo=Xc}uwYJ_
z$K$`L`TJ|Pf6zK&_D9&FuI^*ggsKxy`&B;uRl3I$bGl{4{h#W0Ki$7j=pFV_>c{T>
zeG{Jx+U9LsV(J}#V`E`^TdpY28fJyBX<ECs9z42sT7#~=<gb5anXR)QEPE-r*Xl-8
z|C{t5?2enS)c0L4v&(+D;Pc=9S+VIyrp&+k$>RO8>GCmNv-DRi`m@<=H?#fk<+65<
zo;E!_ch*xo?eP5MXKzbC-}|eQIXgWv$Mpg8GydtKKYh1MuS@!$Rg*8n{%>}$@QIH{
z=BHT5?y9MN|M{Iq5x2mzAFp1?#xtiGc&xu4DOJDW#G#CL1@bzK_3QP16z?`KH}O<h
zf8bAqT1Q8TWVd}?Y`*W&RCE6`s-Zt#n{Y01(+Ydp5&QDMDe?915|Y>)<{RnX=yO(e
zcyR4k>&eco{OgXgvK<Lrd{%yIphu9}+WTMrENXu6?W$p`+Lpx?Y=+<MUxm3lpX9!q
z8_lo$lI>)phMn&EXBX#c$(*SVxEtqHdAToBP&?+?i62f(R;yO_nQt~;+P0(Ptx422
zj=ZW6`@JG7ZFa`89lquq|Et#J!gmXkC+j&)3nvELxE@f_(IWN#`~jQirVklzbsbvZ
ze0in9c0ozaS6`Kb%P#F*ta|U-E`hYqA5ZrfpOHFf{ph>L#V<eBrEh+)((Jn=_xbug
zr#%0@J*}JiYORZ4pNxPBw_Dh@ot^u9i+-Lud@p|XpX5B>eyiPGEmLp#mFxPqM=sj`
z@AEVRHIZ5ThdVvLoPN%yyEWcorF?5DySb!Naq8wH%9-8wyB=^G=~*1{a|=9r`gGE^
zg?oi%1lX?i*_Zr1y4;rW^&75l-wafnohPvc)|Y6e$(WV0pV?@<Ytpu$HJrhF-dc(o
zFTGK0!9MkcGXMQgh94$qWbjL!U7DQVJlCG@Lea{Z7TI$99L|0IW3(vXhS9Zx1&2>O
zXgH(inp$>8^@Q-1w&p2&l^3QzXt9{gb}P4Xtvko$(0o~+u!Ib?39M<=Y5T>r*8MA1
zxsnhqk)c!neNLriUW)BgsqfzcR%C2X%zbezvsif6W4rGkwpI9?=A6+zWg&0e(=#Vl
zpDqc07jJRKt!ne3^&3BLG`a9$%d1?E=jpQ+aF#vnD$H$4*&igvI>9Q{bz|GNeQliW
zb9n-l=SX;jI490Kt*gm&PB~@8%!ReA>?PS-x6Pe>+ODy2>eKo~Nt4&!<=>H!`qeFb
zk6`g>yMq@5E@kM|eEGfCSACcI(Iq?exyzGhald@L&i~5ZdR3PA+`B2Widv5!ebpOr
zD)L~Indh34GtV~{=W_>_RyG80XWD!u@1W?>hWE8Xwe3fKPQ8EsqQrc^OZ`2yeHSC0
z4let|;b}Q@NzGd8%DIYblj`5ivQAbtl~6O1`@!oJzhFnz#;vY0r+g;;kK0;xNs7Hm
z;FIP*&cGSjo4@biSg9^4xI(|*@$!nbEeYq(^;BI=3*Ym{BPT++((}=wz>9pheCDk>
z{B;fA1o>{eAp3XW)3?X%x&C4^Q@xP8%PtKg2DukI9p5&+zdn({|8_{zWgl++`t9BR
zXX{Ta`?9rhRdhhe-S*7dqKM_M)W4h;?s+UYsr~!kkTu$W*7D6eEfpS{IIUnp_P_Q8
z)2_8~y$zcCf3jbUlXmo(sDmdTNluA>*c-r+!Ew;gbw~BWBV9+<a$b=Qop;%G#)0hP
zDW<~Cy-T~^FNk~173QOJspr?)tUX#kXGs~>=a<A-X8ce}(q=pVGr4W2_QoUke_mPr
z)!<W@g1OV${b@RLgASH-x*BbH;-a6Ix}o*$yYx8zGjA-WExZ5Vp6Sym>b#S;iZ67%
zCV9+Tx2}Jg)Y9kumX>D^&sUzIsC#bfr2FzAdRbLX3?`dahny~DH=n^YYkie#SOeda
zuE?#-^YrUK+><@K<R{~rb2r~{79Fe%{;D#^nNdRhd3?t@>m?_`a?2{tdBksFf60^;
z8>a7TCAe>rW^u5`EZribAO8H@nOC`@Hd&?awV(ZYI`fXJmwa!pa|?Xt%W1`zl~>5@
zcvQp8Avrg0%{PmH6E-K5b{(?LemiN2)$&(iV(*0<v}Ltr>SLy>%*|XUm@b~0@bg&4
z>95oIUd~&;T4=Ax!VjWX>Ybn8pR2#;QRfd%;giYowpRXO4$a&(LfvYoZfv%9eR?$d
z^A-K%g+3M!+unBs_^w>DZtFg$3p<N{dvDkkd6gkF(@^i<DyNgCtJuG*@)mvgw<>A<
zp2&+FlXEiieP%x0ySDUweNib}{<DcOf2XC)s=K~vO5L68;<?wYC-?hI++0@Eb?3!2
zFDv~+TT`B}?qQWtoAP?%v8724N0_<RZCZbRQGRhr?S<H)!i_J??s%TqU^Hu@@zT$B
zicI+z`p;_kJ=r?h_(#Z2oqkS}j1GeXqI);2KUOx=_{IZKAGJo#mkTy`sPCOpf4K0-
z(NFU{cq_eU)O@<KFh%_2wJo7d@z0|_ENyf8Y4mhf<__6Czgm2^c|VdkH%lzV`B%o<
zm(#S*`R{K%Y~&X9yWqA|qou`cpGV7=mxw))xNt2~`nEyR!kp#yw}X2$ti5ZuzIp5S
zPDDX1EqUVMBl~$J|B398OVw53Fmm`S5XoBay|=BM`?8}~is+}G;m79e=VtESQzB>8
z{eNEWi$5%FlLa;!b47REZ!UCaUfi|i_j9x5d}g<;y|+4*`YI%xaB{WTlOD3t^u>oi
zTQ2MKt-E&f;b(8pO)qyEB=Jhit%;B6zr^}nY(>xIPuCc(9@yl(bLE)>k3PjaSD0@<
z_Vgr^%I5lgt7gn$P-n`l5V4x(QNB+~<bl!pwo>oIrZLu~5jCmj8Sa!l`Ss;cv)F_a
zMLFiYLRQavjNTn_nQ~lh#feQejhxaaR*7Dm<6W^b{>R;Rzv<>dhW<K!Pv6baTI{|3
za%au+PYb66R;Ss@vSl3Hr!P9cb>@8WNjV}`{!xkvuU>@<)NfkY_WI2p_AptioUN=K
z8j~WIvz-zUk>68x+g@eegA<py8-0ED2i2dREAsEy>-wJ53L#UG6NkbkxJ?K<pXUFZ
z#khac&##W}%#-fy-CXM-@}oLT*-7J8596!=c6Ir>Y}GY(dy@XoI`Moq=kL`~V%CA{
z3>Q5OJk?umm?p8q`J`F>hJB(zQ}&&x$VlP)YR#nb&Gx}D9ziSjL%G{F%`R>_K6&jy
z4gZU8j|D4TYM3cozohk8--Zp5-Y58_bZj=-o9gDsv)puU<BW*BInDU^y|kGIik9EM
zIr^&i3f(y4@$|~By9;gg<@NLb&o9rO!yCrXbfjy-QIXtf#dVz51^GV~MAbhM-qdZ=
zfArFfU)^5|=N0*sw8eh@zO82c`@CkEHmlM&`FGov_3^*iJ!50=GmEOpuNU2^X31B%
zE3fyzRpL_SoZr8eT;tGKAkwKm-%2vEw{-cQmg^QZ#Zhv(cNXe+C+j^Z=z5UPw0_l_
zUuWabiJ4~Q-uS~5{bu{T)C_y6=c;ir_1k3Aj1M#}{?`zf|L)2)*G(qcCOY5R5883v
zuGFZ@*VO5|I=|>j2V<0n<^H{Tf7gqgIdwtf$F4OR>2=%oL>j-BR_nFww0iHTVsxld
z;DFKJsV^5hZxTMm8eQ<#(q~(Q)jGp-OFX>(dN_$iJxx;(|LSPl`S|zIveqjsD-zkK
z?zO5HmwI!rT0>ocH=#pw)%~m0Ew-E2_={*gmwC<|IW0}o#5VLScW7!!#+lqb=l(qx
z`8%au+oADt<j(E|;TITxo1T+@diAV1yTe1D(#qF1(zAOe+|<5zcl!Dtf+9b1`mMxV
z#9p0PDRSnJ(N>$)R~Bo}+UX?IyKMK=B<Db_C6C@!ov1HdB3`;_lPl}}3pcj~_+MVq
zKk4HGCzTi8=3*{?g&u5WODpzzI#=5{Jtr^yqTKh^rX`JXTQ2InQu%t9VZUg+@PpV7
zC2mDgruUb>u?Z<YvPbBK!5a?N)uzv^jyU8!vJ<dmdlUWfJEu$9#Y;LZow0{cOmtcE
zjBWmT*67N&Wq&tY)c3okw+5%3U$yis+ngyfUmVz_&o2ypWd6TXV(;T~<x@Y3_D1g%
zG%`FPcuP@+?V#9lrx|ZuS01fm+<q_i-F&0t$sZF~7Dbnf&O4j`pZSR5-Rn<8Yd&S=
ze%q??QtAH_(_rIp=8&2dUJEC$@49kHpwe?~`HvquYE}IcuANTnXiVs-KeU=@&B6rh
z)egr5|1YdeTy1faRb|QEs+L7FqaF(WEE4d$oHco$$gcRBJ9V?#d87kAJQe+D7&`Ct
zqD@cc9<T~+W}NO8F)cv))y^qicE<a@<{P=XGZ$2gt_wJyr)qtmQ2%2`(X^J_{p~eV
zl_t(RRuCGp+C8*gwWZg&!1-<deaZUHi7hQm#r2i->t2fcYJ2qEO7WYtIIN2IvDUu5
zAt`O&eMP;^n(bE#mkRsMIu#JOUG)@CN8HCp;#L>)mxoJUy~pz1lkd_8r3=fwrMDMd
zi7TG+*!(r`nuS+GYfV)5g;(YVZx<GcxXrR;(cRAJ3x)aBv{r1kdFpzS`Pp2P{h)CG
zOS2=jOJ^<Yxhv*4PweArm#txQ9eNG9UKRz$pL+1Mb;<JhT>+trF-kH0XAdcGc+M*Q
zcP;f~cBl08WzXeaD_x(v{@Ki+RztUad^xLSSMVily8UWH@brp*8GElfcQ495mM8nz
zmoeZs|FKzp%{y)??Dl!azANa6d@O6P&Nj8fN8Z(I9=etEAZ}`KWa1QKg{QhZrvLjl
z&+B2#mafwp2Q)P@i%+cBxa{%U`w?-wp0fv4B=LS(s3FkEy<2dH^Q}c$1<qD0CdOT0
za%iaD&8Twiw}v*mOZA5*XY!=0&T92&7qzU4G0*erb2yjT`7|gd^X=54J%{eLdk2Iq
z6E>*Mm{GatZoRg|qjTpjR5MQf*B$38Gf~Lp!HVBIx*VKef8BolFk6pSbAVgQx;Opz
zzMQn+nREJy!T)#$8~MWzZY{Q7oc((yzrZ4g*0>qku_`Z(_N6<;3!ipbx8%Cybg>op
z0#c9EpRL}U*JO2|=NG$m_5PsP+`9)BiwV1gUtv<LN`K5*{`L6s`gOOB<{hfBxwJRo
z2jka`4HG(q*E4Gv9RAu{!^|GI>B!NZ8n;dc`RA{hfA5b_D7#g(hVLBb!TsDh^^YG}
zcIltvO1va2Jx_j`#%7;&3@6&w|5Wgp_BBNHmw|?v)yoA@izn_f>7F3Kvb#fi^}jdf
zTQyP|7dg4_d;Hk^wv3$q^53oXW;5e!+hW<CG|CBz$Y1n&bU@<Eq5nb`6kP>#pGF$i
zi7hCKKAH5_PxM5ysd(v!zXnF>DSAB*A9!zEJL!$y{U1A{YG<n$FP?a9i`|B6(g(UP
z`Zj!1iC)rd780$z$ws5z&Uatex~`mU>vyC`p0$bIAjuG$JK=PM)Xx<UAB#ITrPQCW
zZxOcsz<WpKom=XWsjqKbs8mupl=36+R>z`cEt;D}F7q+7Djdji^5os7^yTP-&+eyA
z$6J_xe;RasUdDzA@i)94I{#&MSzU7bpy}QJUv|B*a{R~<e`Ig}f^L(PS5_-jE1O@u
z=5uA7Vk=a>N3eF{Odr`rEpv@l__p?2$rv7-T3?y^tnQwG=#6ZHl5Y6|##6`mrQ22I
zCV#f^o3!}gt78{>_%}E$;-0eV@~ZZZv+oO+-x0HlWnSwkxL9KQo2RE12bi@S5czsi
zZP)1|nU`+g-zIbO68E$444Dl6Yxz@h_n2+mxaCPwHgnvMv}PC1!(Sx%8?!GqPhbA;
z=8+<$HUBM|>VMBOm;Wg&z2mlK=sK%g?>FnbkTN!9o^{IQP11z?tiQ^Y<}4Ssc+NkT
zcf^7-P+0M3>D0w<wSM==tngg1&`puS@9c;Ft^cy-{M-1Wdqe9P+g~3QbJ?X|ndi@9
zwT>&9dqG3YVyP&@p@=);#hb72<X^C_-tZ}Oha_+6HuiT(T#r`Ov#gJtqQLOjW~oB-
z4`;vkjL+r&K3$>yz50GTpIcLgXX>xTafK(YEIDygdjhNB4@*VPUAq>%Kl>~q;h)4+
zziV$EENDrKcwP6*&Bka;>Yjj-XMYUe-v5*&aY|piwb}gkz2yfsX#X;4n{_Fnq`O$w
zMe@Wf@l~_*-nduaKc*A^g`Kf}(W;lrWDmPU_0_#ppYyq<^pSsJ*u)3_g>3(1y)u|@
zG~u;DY}o{kGfl#U2g<r%?TcHV!mj(~<h`1Iei9{-MNRVY$=7yIz0`Pfl1hqBXvVU7
zCWW9KFV7hFF751OORCjsyLW5rpHh?L%skCTwS@0yQXKwY5pK_$b38F7koQ^O<@y;Z
z^F7|aoA<SzJ*&#yUBYzbrpWtmqiXt%7Oj3!c!~KCd!4DP!;_7*=igs%x>wwD{7}cP
z^LO<m+c}!`*4&>tYoX=ssZ5b8bF?<xy?gL$;HT{+^V?4<=Bxjlf3CZv@MVzEs;b8)
zl5U1?u+rFWvs2sleY4!F_b+NxyGmBhSjf9Iw!WSJ_GWbrkyG+2=Ts+izrN7W*`lq@
zEY^MaMEM!!UDi1_u0NTo)aO5a>3+HW9oC2D9-Ua6%d2U*t#|J4?-t*>LwF))-|Jc=
z_x)(wx4)C-aH&f-6mpAQ$Vy_lvgwkAf#bnL(=*eyu*yf;x|J*tN)Nc<9HstQjBU5<
z^Z<tE7R(dsMRs0)<Z7||x5|<(y)zay+$-KNDt$Qge3Rem!-tM@fArg$yZO*xtAf~H
zx<|E_xJ9!C1R2(SSNP7^|5|aopxL|1{OeoqWikEim?KoIAHV*w<-XkQo6_X{k4{Ve
z_4n$G4`P!iKD(%^D&Nkm>VEQU_EG!l1+Pvq3O1W;kY867!ZW}AtD<JZsbiVz^d&Ce
zpK7#v&Aa-mA#+c}ZasI-S$5v#@=GGj?<Ke|Z?zS%3vcRPTU4o)nEab>=0lB(4-Nep
zbdA5r-(GdvV28P)R2-vEd4powp*1Hf_B$`R@nb*hmP=opW|wX4;obE=;o-Yqk^1s~
zeqM7BYx=m|qj>6UA-9Y_lOpP^TV;b!L_MpT^mT*hGNv!a+3XV@A2pxt$gL^Qo82xD
zt{`Q9uXAJIysd?E-qlYnz0dmp=tQ@Zhv$Ef{P*hfX5VZ>>2v27&;MF-^oaec_Qo4!
z5oHf6HqJHrsHxlj#o0}!^Rj34<sh4rr8P&N=S@F#(cMtYx$a$RN8Mum1aINaSM~1y
zw=S7#BQER|cE0<O<|7rqm=XoOpk=&~C03`5tydN;I$g|lEWe;R^HtB$%Ch`oG3m$o
z&9?%2JPjAlcTQ4I-a9LU_icYg1M7Z2twKX}4$+0Kzl+ku%bz6f74vF$yZj>My5Cjj
zr&$*-Kd9ts*s?NV&1&UeDXa}GJ&!ue9!;;8QeNkxcxKbuq{_WIidP=(zrIVpO<KbL
z;vCOPF&p0O%4yX(J0wnQIq+q|l?_2Z-ZM&^?o&t+jN84#>hK5VTQvbTD;Ferv|pdU
zp=M9Vhvo?(Q_nKl$t<gy5TR0g@r(HO6~&K3Z13Cun*KlU+izuYv)Nqp44ZF+=>>mW
zd&fC(v1>i!`$DbK7G;a4qRULYI5>8HReT`ze%j;J1+zJRc~4e+Vb4=is&#7b9_fQS
z*d%u8U!ObWoN5i{v;&<LPuN(N$xF=SEzjJm+WWiN=LF-7IMzE09{ZZ??^<{#;-rXB
z?vDgJUH)AyhLxFrPhLNF?_!mWo9(=Ni}I{{b>~aIS+#=af4y>(pLqH+oqa~<CtY9S
zqud>II!H}GHFd=a0q1uj^$(Y1us*9vYx~xEE|P=g>+$I`q#PcazpLkY?kw%NX7lr2
z*H_aQaNgm5^y1FcB$tGJTG2*1>+ZZiKRZgo?ODV5$;JPc`ll|e-Ok8A^W)xx`EneG
zejIu`&uw#*gve(F^9}PR*7IcfFh*JTKmYkQ!MT0U<d%HniFJOrxw`D`lv(UI)p(gD
z$ZuY6GN0k%uC%=K+7q=CGHkv!ymbioXxn?Hrr;p2M|o)W`Hh9SS7bZ$r@qjBthh-v
zQ>0~WU4O>W*_*d5+b0*|B%K@FW%c`}NTI^E1FNt49A0F6YNsBHZJU@K$A)_IsmBUz
zmF=av7MA%Nq*O~y<d$U2KQg6rhxp^eH=mr_QSIN)`N4DcRma;x5&=tQ{w(>was>zD
z!4-!uf6UuldF+rY&(2e&J2E0RhOBS>q&Cg!M&;?d?4K6)nV+1l%Re_=S1gfp)p4bb
zf*-Em{LVA4hf`A9q&hddVf(JX{VwX--1YyPuSsrE{#Il?)3)AHW#O3vcg?o#zngx(
zO7g7x)5bZ@pWHp)H}~qkJ+MjXT6n#h^x`#&YY%!(4lPz;@et6ynKAR-nY@2JH`y(2
ze&KRze0b}c&!dy`&vms2s=i%!=%LrNIZ~k$4IMxADQ9_4`r>`rWLwfN&udOo%)0K*
z;f_ekuAlv=*!OGKWRG(fuPnH8gn#{$hnuVm<&yqh%3Txuv$nnWAoE7;_9HurLsm^{
zUAOtok4=?govij}avekXS2N8!Z<%Ud*CPIHLPx{h@4LBst+<3-r}sZgc+VvF=$MpG
z`+_Y87iq4XX|KEB+?1RvAtkEmi)ROhE_kwlw{ouP-h{oe^-}Dv!53;mP9L#Swi9sD
zl6anJY%_C7<<6MY11@4w93h|oh7~{f>acRZ&F$;!u0{6!Ge0Hm?L5tKt@6J`t1dDy
zI`A!F>i_bR`HI`w>9@|+<;mUn7rSA_-LCM3d(KSWJ$wKEzTBB_LQkk~>)}dV<G0#Q
z(Z@;b|K%AU|F6zc^_6X_k6w3mhwhrkJ5D7vThvb3zmR9fB(@9T2M#q}55AVMUgPAk
zFD?lmU(Km|$hhHG(k=68PLp&lyeJeuda!Jf!Mb3DqSd{D%IB1l6vclY{B<I#VN3UC
zq1xr@ufl96S1p_q?#-EUc+GsrSJJ2BRk*nBI=U9F7Od7imtg#}u(`8Z)HJ1@%Zf26
zPG0eU-3i9xxVM+oF0SMWJbJoCzNJuG)_-Z&w)B%(ckbN_%)VUp+V`fivHM4cBO48`
zITbIt{UYPh>w|4`R~rBN&DtcpYB#IPy`5j!mJ6z<>j&r=v2n!|{Z*{&Z<ul{hgm{%
zLDv1FTXyA22r}*X#w};vp17}cwq1b6<oX#?PdFB?F}3*}ru{xEXk~ZfMz1XsX0DsN
zdZtj^f)AH@l#lX7F|F9Qvy6HDy@Q<n_C^d>7yAACy8Z6X`tZJKnllfznO{FEoOAkr
z`GzYyI4|a!u>H<n9V-8>O=p|7-p2SnGyX36zjfCndv)c@^W1c83a=S4?D&?V+xg1l
zNav#Gf9kX4wtU@Jyn@X&w0N=Ro}8j%Q@1-5WtD#RSK?TF)>wo;<ng!a^;e&5uTsB%
z!KXU*<io9xU)F|ca@Vt+KXX!I!nyck6Jo+{9ZP;y=zV{Y%bC3koOAhgJC`WGnb$8j
z@6sRZZQQKu|L{x}^LbG26=XKA<KBcT%})>heYR`=YW1#&4fRSAjKx=Uo!48KK5g_n
z+jT}KaH{6l<p=L>sg0lE_0-}{T59pXw!3aeTe2T9*uS0Vx#VJQk$CmLu-26fT0wv0
z7+khG2m12Hbj_+f_I1x(tzGIOGb+@V?(fQED33E}UcBS{ck9NJUd!5gOCFvObWH8$
zkvzv2nwA+e@4``cL67<MwZV-3t9W0%Ot7zd)qCUR9^QyU4dPcOxyJ<cwWT&Zd7^dd
z==Nsj2QSl|n%^&6dFtES-w)5dJow$sLHzrxHCr!a?)$e#{?eImcf3p@c0PTP@J({l
zqjlPIyX{W}vc<k=2rb&GRl8#PwEdk|XN9M0?D7;YK6v!p|Ab`c$BL~})gK+IS5us|
zXzi!k8P9LHO})Rh;zZAayJrqBx+Y&5V7SfvX;yX3za(cT*(vkA+bpc!d^>V}?Sr?4
zibp*i8YR2fuNXfm^shGbddl^~>YkU9^~K)$1zZ2C2dZv5Dr7YCv%uX92A2=zr#@Sr
za@iOCkK@ku{rUfLGJD(|&wohw-QdcUQuwG|wsHCHv-`U9SS%-4zKXbTM_eIiJ6{g-
z8n-zIxK>7&oJdg@EwTzT^`8*i^8erV59i$1W}mb&Tt4H_;e!h;oLd;e*}FR<-z*9%
z{r30%{t1E+Y5j8>PirboO_xoKTYPMB-I4jMx@%s#Nyaf<;Ewx{wOeM@r>+|UzVoUB
z=X|{+_^kfdlI{qn{xd<GlkFd-^gd=wO}((Hr6W%*b9s60p>JYO+RNqFhi>ZKw)V%<
z#;mIWio6e*%r@;VJto@H&~ayiN`RM{!SbJT!;QB|&v!hN=hR`?)|2?@u3M&153Bo%
z?~&VYJyN$=^YXw0Q)&LKU$f5N&u-BA9wvQWk7w$PpdPag^<rB-O4<90wDubBYf#^B
zA(ibX9(=dzvgmxzlj<=qx0kDZH03!H#S+l%w}ai5m96g8vhQWeTYtCc&0d#xBVXvf
z|F--I``=0}_-L&f&MseOCMCD_L!Q3R$u9;`hYecZbQyeX4Y?6JWrm_}Y*E!3t|+Am
zp5G^&WVCr1Da>hp@KgOH$IY^gpN=wr+ih}0YvqL<3)9uiG;%&H;u4#Db~E#`_0Kr(
zzTZ)=A^h20wUos#NR79+_D!h$sTRKI^>bEV6%9FJs<82ZrrQr5>D9UV-m)^G$^VSI
z+}tgH8Giou<ll+hWjBrMQkYCnFe<v(>2usaV*P2c-;)$&n==c}%=)+EY<*N%S3r;A
zOY4^ztyir!cT5dxX$n)6bCJ04f3wF9+henD-R?X;fmuH3kkV!;Z5b^$F^f|UuaqXt
zUwgbc`Up!9*UICk7*FUP*mmUf3q>Ev(l4G3*(>&cc2`^f>#e!L%QffEu3K&XE9dCh
zI*r<8;hzMBjCc6F(RvnOwxRl9ySoHOz4dM3kA|Q1rn}yMbTItcVP;8&FvjAG-%Y+v
z=<JUzkNu#`m%c7<%KkmaR3kngo_ynKb&1k!hvT9FrE?k^?aaSFtKA-z#kBWz{EfR=
zR{fqOEZSBkb6M@>T@y2(F1T*FRDSk^_YB-0W~`gmzITGw)AW_xVgF8YFl!4huw&JF
z`n0ZIbVdD2L-zd|{$e5T9A3=i4LmgWU4TYt#GR=(C1!UoycGH&&NMJH;Hizp-EFr|
z-uNDJO?rv817m@_49A{TGj=Pl`YL|wq|pYaoJ`kT!)s}JkJ%eGyuKV1s}<i6y!lT5
zf0YL5++eXC8Ew|mNq<kiORY7Hvpbmd{D8g2DUS_r_SBmft^3y9`s!Z%JH{iG%#W>}
z&Y$HY|ABXoP;%SX7hV$oOLxzVP;fgwo$tDj^xRv1F7rOke&fwKgWY%X*D#wc=HBb$
zgo8Io?b-G1uDp?lLwK0|96iHsqZs)gd*^R^$!+}MSckrT^=(!j3+)`m8@^jwx=u{n
z9<(KOmhy|D6}GQ-)-Tp--+GZN%3{8Et<2Pnmi8-tW!WBo&NYX49_g98ylqj5rjzLT
z4bQJ-9Q-EH5_e?5*9D8)CdEIyEv6eX`%C@ggKqyHpEi8O8@pRwX8!$s(R?@7+&mck
zr@`T8<m{hqAL=*ph{)tH#jd#8DCIr#KvVk1-)kRlz1FyTQQXB6`_nRR_3^pZVfK0d
zrE+p!JvpMUmQjCIv&Gi?@816P7yq@kG8Q)a|8+2P`|(-ESovjR$URZ!8Pi+pc*HWB
z|ArqI33ryc6`-?X|Bklr%|<*Sou`>U3GON0!@ny~`2DMWFOsWMZ;4#>@R@qE`S6dc
zoQHaokDUmf!1U7D!ul}R$)&tk&-B+{t>H@SS$I4ANU-;<T?TB)D(M#(WvkfrFFr~<
z^x}(dcu~xx4W--IGrX7A?&aH6`(fVUFHhq%(jHx{E&Q-K;L~#7SN{H%C1DOtby=xv
zugqBSx|L7cZO?}r?I&7QU*CUNlbU}}UFyD0&eBk~7r&dCFKMPfdUDQe)&6@mo1<>l
z@2b~v?=@Y-Dz;(o{F1GEvMSn^JzhWQ)pE9r>1~{)HAf%F-(Yk<Zncf&ih9w<4Kp|T
zr+yLE*x6TaE%9w%_NS0N)z$AdyF6#J+UE8tBtVE&vS{zzq<gAzYqqg{O7SuM@aWcy
zqx$z<_kT@wm^WvM<&5a$6({@Fhy8ZBep2g4ou9g*YQ1P;oRq4{<KOi+zCXTuX61_-
zZ4QrTv8rnfQeQtSwCEHH(-qk4Joo8+wM%Adu>odwW-O+;DX9zD1t-+-nV-05z5l{9
zq0^p!r0*SNYhUlF`q}D9+^uM<w_$S9X5Y9wE<N30y=&QSmruq`J-_;U4oo>D{;NVV
z_|941tdBv7f3lhC#a=BAh@E{%KB~F3ZsC^T&#8|$Z1ZKjvQH!HP|u}TcW1D!+BZKw
zL3i@wokjkwKhCG0<~NP>{!*=T*MHIl^R+JL)St`eJ>W=`=~J2~_kT+HgJVZ0+EkrW
zIcecO+ckUYht|XsD;oq~Z{~NIyHz42msy+Jw5~5$^tyYAz|P>4n^)IQK4n?VB;gs#
zeCYUxT_0xfn{D3O*0Du`=eO6C)sFK!l`YGPY(75Q;lX9|xaWSli{f01hw)vn4RYQZ
zDJq?vt>8UhKTwqM@+4#Xb1zh91!gQ4e?8~_$MU**-czxT%MU1Q&`c9jI)3s5OK9M|
z=*KIkHvDWC$ks7$dA3C2iSU##v3i-AGZI<fJ23`*y8OtE?K5AJbTYrMsquu$kk3)q
zPSvlT8#?2=<%Xu->9bo+RE~3QU&G&FDs8!LdQR%Oho5(-PuQ%+#`I0>iSf(2*DYa5
z6~WyZ&&@v0&wlvz+5s7R#@3@E+YOa||2VXpH9*bWY3b}YsWK8X9&ZZnb6<Pk^3qG&
z`de1Pzk@>yGH$Z$6MdY#VaL{V+5f>^t8*9r^=0|XDSvyzV~>kx{#?@J*>Y!F$ki}Y
z{rw(Hwslvl-Y#D9#>4w7+sAVZN1loH>@Z%_E7rZw`9kojsk0w%+0Ha&uJgmdeFtpr
z{JDF1)rZp!Qxm4@PPr)mee%W$|EKYO@cMmNA?TaI!usT?M<yz=hs#b2oKbq@qVSWg
zLYbkr(zT5b{B61|WwV<p_*<8P@69DM1pZB&f2iQJ$i_R0sbMeQCqDkT?d5y>pO<H>
zy8f7j!MmqFY)RXkS%1}Ucdaw_Iat&c`)lWp<m=1ocE2r_E00UoE4@51W43pnT7@BN
z%abSn-Yj1KKIp*1<ob`#zrAeTZs{kPvHscPn>Ve@R{d{Mn|M%IY*p0{p&ti|n>C8E
zG)mb5FE0Jqa;1GHf4xJ+^0TEO@>X7V4ET1(Z*+cOrxLFd+Op*k+gU3ezCThEjSgQu
zl<_(yDUd^6TTwKuYk7ic{nLwI9D+MD^0Gd;IfQ&Rdz#of(|#+LQ26Bft2)|$h07wf
zCeM4I{4?~jaHRb7M+ZNaU9;g-kp0xd-C*+Rj>eogtrz=dC+j^feSFNMa<`+&zXR)+
zv&%mG{h?sNQW>#{Ya{2dDn64p)`-2`zUocvTdzlV4miA2VE-S;?|Pcw;);9Se|_h?
z=mnf}cINHh^*N*4`26XPIZEzqyOryIEOR>gY3e3*lWUiBO{Sfy(woTtDk5v$&fK*=
zuVPyTn=P!<IeX@<@w3U-$;p=c_k4atlVj|Bhd;iYnJ4Rv=e(S=`rYHYryL5Kz0d42
zYs(VWvh&!!=6$BS+RkI&()RyZ*rB^aKcC0E;P<SL%2ymOIu$E-m6ztXbbaS}(wVhD
zzW(IQOXfGL>lPkflR87P?u&0Z^IpDRi}OC2o!P6k@J{xPds`m9{FbM@YOe*a*{6Rx
z*U#=#v|8t?t;mtssOns~UGvUeq0ez|<qJQWrx|wNc=1x)+NopiYT=D4w&A~j9k)Jr
z;e^eF6IuH&Yua!7eC+R@9rOQd?KII^{h`sf_)}7^U;Wng(Xy(+_o7Xe8dfO1T@%{9
zv3$Re@zI{W66cb&PFBAztvj=6#c8pHoo_0d!%j(^`Q)y<ee3-wQzyZquEY}$t9Tyd
zssG^Is&T!h=Kqo(e-hc+F7;KMN!jO=b3*j+{<Xpr4=fbq=!gsppSR$jb%)qnQLYtr
zM~+#!KRvu-&eGE+^#@it1*aW7oOJcJyL{!>o*B-wUz~{e`+~`9)%<wXGxde+@0O&d
z#GBn_{I$WiVw$+d)NOZPF{geMzdI??AZD6gnZl1*r`_@uG!A-6q;}{&^vbn+@AY8M
z+v7#@*((nV$U6V*VovrgHf+obGV_?S&s;j=iLB?8MWXv8UcCLja&JQYi`UmSEL_@<
zwI^l9Ex)>bkItN1xHaeBw~sl;_jU0l+-`_t4m6lE?dJ=L#8mEM-iFH$m>LJR&Rpoi
zck_4q)CldC%D7mb@7sM|{yVw;<Rq2<Z@=*>TVMCt^z44BZ~Bp<=SA}udb!`0QhVjS
zPjt@qeuJ_^{u_=y`xl){ciM9=L$ADEy<&&`;||3`uQvYv$>s33ZrP1H4Cg*a|CqOo
zdu?`_ebd7&%Ve9?ufETGY<Mdn^6cq12kgrp9Wq}dT@k7FW5Nu}?*2p9vzujk*PQ0z
zsgE;XC6{f)^@Vxyss0<M&%S#Se0QnayNC0F9W~0ghbXVxboQ&ahhV4Eu3ZOz&(J^N
zzW;6gq`!xk*R2WhX*c-QC^MyOLgbO9>QjS~bWXmO&pTJ~EW!QuR)YgCxB199yB`ZL
z%@=IEDOz(Xx#FyF%*^`-=U(<*q4Gxh%z5RdvvPKCyWstD=8C1_vJQr2mI`k7c1~7(
zlO5jb*SR<)|MDL36y~bpWsw!r?^}fRe^_<4{@0708U^)Pr6;V996K}T5C4=8XE*1)
z?cH&rCsDVMg>Qf7zp65xy3=l3-`cvzE;cNEbU;!<^UB|2A*^ZId_Ol|$aMO7uEurF
z=e6pZo9&rCh(8L-X{_^c6tJoMw|kP(%L>(tJc6G+b$Hcfb_6KsFN%_LC|y72-H*FV
z)sn>}P1a0yQ`kQtwf?Nl6*aXfVRon79+t^|n#}Lll2mN8B=&RXdbX58kIoAR)I)=x
z3f;c1b0Xom_3k4@>yLUKR{HLew<J|&dx_x3P50kb<?Un=cgsrrx=>MS<D%NLcW1@z
zUU*z?*Q@pSO1JF3^y0LvgFr#y_4hr_w@davDe^V{e|Ngj>`zZuuj>|5uP@Pg!!bYk
zpNEI`+z&x3x!u}KltbFLo_o6O)X%O@kGdM2DmSm3nA0<5!`7Xqv-SiP{F>{dSpIAJ
ztu=1u2j*QeSg-OZ<!{XNk}Z2CyeJS@UwKpghA!hmhdqwHPTrd&uGww<ZFg_x;Rn?>
zv-bM9T<bb3!LM?yVQOxHxt++f^k+-I)|VCQo>QA>czm@|x#>CIoLuc_`&Ca<raU;l
z$;-daQrq)N?a^)B+fUvuPye81)%xLM{p7Tq*FRQw<>pR}-gCr{Z_yJSxoMsPzMeP4
zOXc(!Uj%l()$O|Yx_F!WbJuGR&zw7>%q1oLqtoV5{H0^zTO#K2w|NPFH{Gz{)-!8+
ziR$S3eHED|_oHg!b+1HnINW;krgDk%_I)MaYa|5NPEI*}iu2K$>oUvjw0|q=ddJ<~
z+B7lyk?BMCgz9Yq2RO~RIlLxHTL?X!e@i&9Y(vW_jd+h&tLqo9JT36cK)6FUKk-`d
z`%~?QE=kI=rMcwq?%(=IVDqIL^VU}W_1d5*tH^3ESzMozpQ5t6&EVO6y*qckwTxWP
z+Ae=L{m<mv3%?&ee8}t{M^k33q}%?Ft=FgCn%6E@(l_(`$$5w4dDL^OmUg(j4Qj6B
zIq=f4qeEg28|%8*kX#9?@`;nzzP?+uh3Q6&+6PbZ?cT-8&62BSU$#$S>z!lqS#582
z(T{5{Eo(kpzy7fOTD^htY0*9&DGBL#z3L60t4~RsdoOnIUzcnJvr8Svj4rL0n=8B7
zFO>wz_eDxOuju!9X)aTzf6IYi>|gyB8<$!K4KWk-4GS-wx@6P7aBJ9>i>rBF*Kd#A
zazviV;pv>|zrwF7xl3&C_#Y9eo3wJ$ow%mPUCCcg7CvrWt&r#Zm~pb%oVy}@S7a?d
z%~$G;Yv+IDzCW%;T%T{RL5yQj=8E}dd@Fw4|92xXV3zXljgEHf)k-;Z+-E;s1HRjU
z+1$cl`avHtk?G*u4UEl<ryG`uf^Ii3GPIoTC@Z2-UllwdBlc42Ro&aibZ>9VMWC{?
z*Y95bf5gXU&h$H-C#Gs&KipT$XSlCpZSUksyXP9(n%eTpvd>%8u}I2RSXfq0mRDKD
zaN~mJjr%6=T-!Tg-(*Afd8;-G&ReumR?e1Lj#*aLR>g4Mg0*vZH}70IQ&?`M;?Mna
zE41pvez`rn_KdGWYg^bhy=QG{6)}2xdNq1|=S=v{*_iwn(Ug*YY&lc%@yr>~l8-r0
zom$y_y5rHr&QltXJEd+*SigvVc+yfjVy5&X&zaIvw=JY5Kc0ER>Oth+=MCu@*~uyY
z^nLnF{<9@KPI~j;3%`Lddvvx<W}<4HV5Fp~O`>B|y{e;4t+cX@=EnL{xpQPJ|D7~5
zD=GPXy(FZ<?|*XS%m4kUAMCIFcagpGFZrUwrOS^cXG&W=l$4k~>$bzCf8FMV(!$X;
z)Bf-1o%8me^e^@akL`baIPve{1ex<EZakTvldi2TS(}|~W8@f}ZJn;3%x;qzt(?p*
zZR1)ieY{?x&_KrgpzwyRMu&vUijB4z8kzmdU$}4U&Z)ouZ~s!CK0Vc0T)+OFy|&q=
zts9H}-{<{5^Y#6=8KEXBE-kGZ|J?=u^KsvnxFt37_KZiGR)3w>?Q6dH-{PO_w9DrI
z`{(@Qe!BnDp~e60(=%(;*^A9>e642HzifRMf4*M#?f=QD3JI^Dd7eFRqRsv6i33gU
z=Z_s}IqrA--QW6yrX^(s2HOgMeP{bO^J)G5=k?mBZ`?S0L!hYk=(P#PCzQ6TF1h2r
zqhK9VOHrPi|IDIRxq{MN&%=Zd)|@!w@%@F=XGc!s^P*De*X}n|zt0N)vv8(^{WXbS
zDMeab_CD3DpV!XVaOleNwBOEl|M%MYJZFnwJ$x&G?T6W)dz!V$whnzsU7E(v7r7nU
zH$~cUO1+)e`ZbH?S?bjDazCDQn-Viy#L)RM`>h`ho22T_>FjuLtl@iZ{a^o#xCe4y
zbPe0qMLO=>e>ZT2o9FJr2V3sk|Dg9Uu=M>*zBBui?igRmU3R<VQ?)?Q?{{i5eP1o`
ze%UEt^RZ>Qk--5Qh4;@M2EWU9Uw-MdY95<k2;ZT7({4TZSD&K4LjTKb$HUwmIX+jL
zrih6htUsspSoOlMt1?HTjkj-GxLImZ&VDz0-p>zvC4CdtBz4F8N1fZZD&MDLVdhN3
zwR%?UrcI4&RP+z2s&_YkYTS?-tZdP<Imocv|JcQ~Z=KF~y}P_*vEZIp#g9wtP1k5j
zpFXVbGEGbOp3cF8g*;L9CoPTt`SJA@X_+mUyyIB!m$&k{`*+Sfwx;3#yQ$W;R$Z})
zvN79~&##!n%&u{F>%!b>_BZkjH;v!*dmMQEdf8^Hj;IJ_C$-S&3La<pv%9Xg{>c8l
zWA5Fr7N5Bn|45X#i#4)%$`<~t>Y_pTt4pOf=Ej=yF1J0#zWq>WU6+i`hl=`cuDZ{e
zQ?|5d={;GMcJe{v$BYY^PQ@SXHu}cwFEzK!dzKKm{r{FlyLedT)LlE4SicK@A8I(S
zzB_PPEXVGN>!n{iRLKj+{Wras$(x}6f>Zb5szc8&M8s>ok(hTguXedf(>ER0!r8Mp
z-`$hHa>h9`QR<SK!FChhvWiYW2X^^w^_J7GIx(I1oX5Jc=G-n{<&O*kGo4?#9@jT4
zXL&fW^z<$7r8})7v{$u>>|0jFA+biRRAH-r?=v5N#kHaLtctT^-Up_<4wJQAQfX~!
zulQZ=OyR|S*JW2Ilw{~vUO9NgZFOsD=e`TAYqFQzpOPB<r?*n#fPT!a@V$4QpW7kG
zbT+2`vxd6!l7GKfU(&vJQThDA$;W0zH*Y9%ZSdH3_t|}?v=eT>?H<1R$D`W5X@`&X
z>MMtM+#hLamOoQ5oV{9Pt?sjTVqtB4OXdUxoA_K}I_t2_{eaV4jT2A9CM90g=w-Lr
z{^i5DSygS;`%jm<S+m*py)&v-uz02N;Z~LKY}0kSMWX6wJiPq;a*aCEdH>q}xm_3k
zUYM1*PWav<#echPUr)=|KRa90{IN8z`n@t??RCMNLVD^93|5CHGYcGMe3|h+$gA^9
z_qL8_%aTg|Ni8e?zb{z#>Hlp9mIXgs-8eCR-shXIJx;8Ca9F1I`gYw(E*353C3hYb
z_buPR$KJlFe6D|M=F$46ZKVelW_>H$Ys>hU*T(6{4ZFw>si#cu7|m-go4+<=pN2t4
z#9F2qdGkWNU6fz1H#1|^Yiw7$n6Pwq)S>@*->)wFvwM!Nj*Xhg%G)zOzfx;__D)-D
z`tHtEpJj^XnmxNY?V*?GlkJ7o1-Bg>p3hD8P{}r9^xsmw>!Rzwo}9u{Q|t4zMfU!g
zURu9<dDo|fv(`>MRTyeoq$U<D@b;J1rKUrE7niRP<KbrE=$Ns_yXIBY3+WY%da83z
zH$*F3T{?N?(V#O4TTVUwH}k3WX_YD7C-N(ngw3(^JSr{ybK)D5hT{)Uan&3XNLg<z
z{`t{2#Xn51vi$ciFK^aRs^+dYIVsz$R$rI**L7CYBmb_-w^q`(D>+Z9Du2kHXB)Op
zowdz$)%@A{?urJp4}5A}qQ-syyraL8;h+ASei^&kKHgeXXT9Z59Iv5W>mem}mvdL{
zMjVPhB7fmP^_;^A9?Kr~vRK<6Ei;;SGr@Dsy%V$goes1J_s^)E>vnX@FW<_$-FEWZ
zay=aDeTy}{PL~!wouhqk7uSmKVa1n(qqR*v>X$_6H)t1~(D9mW866<g+!OcJbx%od
z!Ex~o5A_vG)$Oj7FHpLcs}Z{+XDZMC<8xjG*_S-46!PVjzM~ZNt6j&arzht4+X<zN
zua2=?^OJ7ewm#1I&YQv@RnwP;zD_I;n7&QZ>rFTFse1R0#h(;iFMYXibmhlSVv$`Z
zJLU^(e9}GJ-|>LQs8!>-MOs<c)~n1B89`egH&_U^{JZ{s#*)&-*1o$~7&(?QeO;Y5
zk2iCnK%LnO_LZkt7ip{wKcz2pI7NN4#m|oc>R)T`Z*k&ozOnw=OQCnSYR%3WZfS2>
zxp42?{kyvMH2<oYUq8`LC!xS-bGq-r$4?Sh<sC}YIPh`zq6<p|on=n7ZM_}ucujcI
z@eh-aS{TYJ+3`$P4|t<G=Li4qC=o;bg~iV~=j}Tedw}s})F<`1w*MA<zH{u(#0zsR
zu7$9*>gOJ8Q(X37$CGPUBN~%uUyu55U}E69JGYl|8XUduQ)?^usB7k}&-MDx*cYbB
z+n!YSc8OX1Q2xS!-OG8ie3Qkcmj$YGw70C9@;Q5+<;zF6i-g|2ySVLy@5IlqJ&)gH
zO1XV|v;V1AhZ6R`<(aho#zR@r4~xo=J!UwZc<${Z*^BG<da&m<2z9J9z5YQ%by0a-
z(BUns=lOPq?EI}EUe0xMdWFdOIZyeYtgc^Yb?(jdouB_K_7YcYbdj9<cH&>B?0+#E
zEOeOPZ(99y#-;hW!cwuVIdOUH4!;-H#JnvMldKSIoNW`bZ|V_e+p7|15?%?HSGP@X
zS)I&dGyg=DG3Sw$yl3jwGHmiEEO(4O@%X;d<@}2gys3L9SZc1e>TtazF=OMZP4SN_
z&bmzJt#@^Px&BbciUP%p9$vY<$0dVV)PfpA?70ucH|$L4i2U=ZQ|#HUZ%nGOji1*0
z`CUD-W#Q!Vv#PA`&u4$g?hg!%ja$elIK`>V<-(rsWg4OP|MDqpSRwlL(X%q9t-r0J
z-}}obTOPe*eoZVR_`#+{Ayr<fmmYGSD;E$vv06O4!DwB5n&8X@bN`xjs%VGUl~wA@
z-1m&r`NTTQ4*&M|g(6u_8GU^F_%2WAc%^%Rvp1%0h40*{)i$ov{#pE&3l)xR5RiFt
z>&7ReWBdDmy3}qCbNTl~t$5$d3Cb_iHNB2}yIm%4>3TRPFu;P_{#=YfY|v?opOcR_
z>|k)K{5$J+=ta>Tsr6!9630J(Tm9r>&Uuy$qra**m-(IYxv~4uM4bmmW0t-BIGL|8
z({cCDVD7@$)~q$RW{0kQBc}ZHvwNgI%e9xTa}=k~?PPkR`e0?L(F`sn?p<!>ao5_t
ziWTK+D}^t`bW2EI5}BZrHmBvD(MIL0?Z0+ZrhEPN+oQCy)imYw<;9u}^=(J(w^>ys
z6~`yH{#1AE34HlGiAU13+19iE#Qh1(a}r;1oDp-k2s$aCclrJFLkk}{9Z359dqv@#
ztoPn=4!<1@=QPatl(VDu`(m+q<xk)Ha$e0n?9%(gfuY&e|8(e=PRp~ZtSs#t`NGn-
z+>TumJL@}7bHKg>on^U4dZt#@+Mce@V-z!R$;xMTxhKDCVehd+(w}$yJlg5`gZIFt
z%s^&N753U2+t0t;X5jpA@3$gVem3>0t9M`b^Og(y@O@;yBb4{!L-plrOAh4gFK1gY
zFVAmkU8&i$wJICCOPBPf=Dw7C{CQb}Xvmb1{r4wGB&=t3iQ0Z-b>-A&^Y|-$K6)}8
zRjB{E>WXR8+fVvRU*$_?_U-)g((8HWlpH1l$#dEpIQFM}jm>X+*8btiwc9bZbJu=U
ziEp#{WjJL%k3@Ica~qRaVM?|c%dKX7tC>D;z7m&|oqeQ&#sgE=KKVy-Qp^oD<!VYz
zz7bcf-Hz96X-|8|IJaYG>(+^zwC<X}uy9vDt?}h+ee-iQpOe2sQ?AP?l!$%b@lE%n
z{fUOG?E)+IDyfE5ZHx;~Kk%$#hnvTwZ5!&_uKz!FdBvK;=U$n6Yw<aKQ9tDVFk=0u
z(-Y^;7PNNje7;B}Ajfv!7geT}-#(iOy*gz)>Drx@%Q(9p@d|BgW4-s_YJ{#^GAo0m
z$d_=*zL$-2iuPvJuPjZkc2apVZ`N&*<Yj!jg@m80OF7=K_xBg<mhSN}Yt4Ri{Z{a$
z2WAatW<M~STE2<*h~O9Dw}yGFg1WI~6)*k%bUt8n@jO_0=HC8^^Va*7q_4GpB${(y
zcDJm&dB7(l(;vLnj;d=bF6_U+XOPWMJ9%<)TJ`=dUecxfB6G}_Dc1i^UF{yB{hRaF
zvyFw}HYVcJSnK>d-2OJlS(-<$6!XZ_Zjd`-aCMRY9CxXLrQ9uvEL<A%*Ewv^H_p)N
zxpK*+dHI^P8*Q(p?>$|@R`u`0_h&w<bt`JCCUn24HV=|ylbL<$%;k#<KDIkd@a<)1
zSDBkHo3_bVLm~D0;azLgyxVf>D_S;o6t9*!y!IEz_bl<}tcDllyMDc%$F%4;&&~%M
z86KUQH|aL#$yYiZ1>Xft4i=xA<n8h*Ju>9PNnhvEWxu8#uXHv_Iu^b**yF;kbCV``
zUcJG6Elsv9Ma5#8{InAd`}DjHJFtHayXbtmvHnR&zy+xzhWE4_`0ooHFMi2%xlXS>
zQT~<WvQHYDYua`lkW~oIihIr3+I6Si>CthI{gbbMHcMqv{;twA&G_Bs3L&rgjA0V0
z_RH;CH@tVAKly^k-bmpSJ0xR+Z}B;nE_zn9N@aCpd%F9E$o;7$-jV46uXI|<{;rbv
zSUZQqIDBCbgIv@<=8I(tf2T}15izYx)nlf&cm0#sAwS%#BVW(lw$3Fd-p$(}^8Xa3
z>&?$%%)NJ;374c=wXX61uet9-iuB<#>0xUOkM3tL@8@P)_-$j)_UXGf`sw@>X{!C7
zqWodAP*?C#?$jKqq*YGKF28VU@Za*`IL`}TtG%1=@ErQK{zdJ~Wh%4m-UUu=_%7YQ
zC9Uhus{>;C^&J{c<<ePFa+8kUJ#tXl$LsB4-p?l54`)gI<yzkRpe`e4N#L^L;>=2~
z<Nkl1KG8SecDqx@cYK-8O{X2p9aS?AT)xwz9`oLHzN_!1JeIj7`_I<OE!_7%>hc1{
z%zDEnm%j-Tocf#XUOrrYio<%(+ZL0)zGt7FN0w-sxmBjzv$<9uI)(FHlYuouZcYWa
z;9ZFf`>^HRQ%oo9-%>4b-EJ4(#L^Hk<>tg*HL))~*^A>jT@G2U;7MBVa`3tB3a8Y<
zk1MQ8r-(!cxh@r)&ggDuvZ(XV?RRUK753-rF*Ebk96Y~jQ`^R~3N=j<v%U$+=ueyT
z^L(>{uFXra7rz!Tm@e#kSihlqkI8SXZJQ>#G&FlPEjQWCkhqO`zq926t-7?T3zH*P
zEK1}GjD4`NWYWoFh5GxxhzV6s_?^1#sey9Fp%pP2JKhvucl5X@F8{zYra{+*`^=s_
zwr5Sume?}fU+Ev=JiWcKZ>OB5bZ&;C%HN+%&(B9~>zLd5yyo7nl_srf{hUAQ)zs^D
zn?18s&b{|Xh^c6<+I@pZmd#Vxr%n4Vv6_v~*F?!rs(DAzqO(tn?ruK3Z&f>QNcNs}
z6`$7|vqazC<$LE^!OOT?M@z2UPWqXm@W4yvYmSWM*MmK4vo4DB&zNR;Z|<Y+bmf^-
zF3yWNAhK9Ql+WKg=bB-@BDe7ica}$A3;)+&yg55;lNQ@axt))zYS<^QR9!Zg(cC)p
zuCK^t75A=RQ-anl%J+`;J#%9Dr{w1oZXeRzv_7+M=R&_Yc12bd=ihrCb1iV{c=GZl
z_XFNF4H<%J$3BL=*;35B{o#@mTA7^}YnyprKH_5i-J9u^f1Y`1W!b7bT1GP?7kM+E
zs`~6`-&L>lc$QxAYDW(r7O_kGS4s~T)tK7{R;<{UWg%^6qcyw1#_g2n$#Yjf#itxD
zYI5HGeTwG%Z9Wp*o4G7L?2x<5e`L<5U<LN*gM94=YL!Id|A^{UY+ws+n$pa0u2nkZ
zlNA4M%?A&1RaSh{6Y<X2TKxRA%BdZJ?<B=p>#dx8RWEwiSH>PU4|a<9Gc`A+NH4&A
zN;4<tUS*@Rd8aS!-W+V^cxqM56vfopLjGEloPGI3L-&5L@0j!8_lM2G{s$lJ=5DXq
zK1o>i+uPF;f1^v{oR8-kCUSpX;rb)!!@r3o^9==06nt=9kob1X-`UaG;*%{Ve9K(2
z?i%Br{WF&w*)!AXPuh<9X2k=3*BH|{)+g(>JzbO5CfBv;L$zUBnu)jUM(ww+PPeBW
z$$7NXWTovgx3y<&%#SbfezA^W`$HMlBl5=@maUxck$>d%itgJhCR@}pO02rr?S3QY
z{B^k$mNsSfo}k))0tYlhcGo-X<=|cSputnMd9$#Jg4BZz0e4SwxNeLyW3K1mb1L51
zH0A8xX)X5_g=lHz7hG2Q`LU+-s+Lo|>JA6iw15fG`|IZ}mpl-iqi@@Cz4!1gS&zK9
zUy9k6Pyfz~__c{Cf%$!f*Ik|awsH3(Hp}d)_bNU($&vGGg>Balq20@>!*VB|z9yJ+
z?!#20u(v|bH@wU<Iw){$X|0*C;TiE&_2(}h{(GCl`QXDM?^aXQ?vAw^?@j)@Kz>#a
zvus%1iCG4A&)<n}dHi#EzRi@Rww)m{7w&H~-XLn(e(qPs(-PCE<)*8rt!H2H*C!@=
zZ)?}TfT?_zDlTo`-g>{UUYqvBTUb=#<X5S=(eBzSx0#qU2C*Ld)VoTEjahQj7sGXW
z23F$rdplkWWu05OCWAS;P3LPux%^L?_nVE|@96DLoH0kY`*ShtRD~=LnKh}!kzMa(
zKJHt+W%<k3`((S%#pM^XKJ1N)T%>T2WunUYAC7!1*B+@by}z*6KSegM)#~(T=aeu0
z`3sMx_?8Iqx7=R6z4HD>;fR0Brd<#`p7ZEko}2G`j_dWaGvkh4QEvFVE$z0ZVa~Mm
z?+rWZH%|0;8F=_XQg3C&CZ*KKOSa7l+49@MTRtAz+qX`3<Fg-37bdBEJ^emqwrssi
z(NVAJmzFh4mYlx4*3r!-{^^8YlI8{~j@nPN?f*R$?{JIUS$gk%&#RYNit^@;9l>Yf
zLM}?o|KYV;Z++?ZGxefe=aTIj-37b1PFi>Bn6cE`<2PDa)^1eRNGUDK|GjeGe~Fpv
zW1<YWzdlN+maEyiblsz`>?UPBULDL8(pw&M%%1<6`R<>0rM0I%m%FH^zume1>fSSf
zOj3zg_taa@=1tqxz2@bO=P$3VTC=TLL{_Gh%dBNv?Ujj&!4iFM-wO75)fe$>P<o~R
zpJk6db4$RUw!JR3kM8bWc*x<Ae`uxpG)dO0d&F#1@{>A()OasC)&GCN9_N=`wdgmq
zX+2Z<`qa6Rw`6j()|_8iH!~;W`488k(;9Y<oc|aI?krpK_(_Y)P3OJtzmN7fEm$IQ
zWxK7{v6vL?&~J>M6V2{<pT2Qdx2B`M?R3_Db+^js_dJF_SFiH<{*<liH`}#2D(fHL
z`r0b6{ZRbP^qTnEeX3K%!g!TWe<?k@thMihT*(!g{}-OE3azx;>Yi8aDtoTsPx{nb
zKdXJ}^conFc6%LH6>2%<7b2!EZF+p0y~FK<wsPC4%<Tud*cx`)vp8SldsfB3a)~#L
zr~ZJO=d!jQp6aY0bE}0;IBlDFFrk0erUywiW$Q}4>|Y*yrXZ2@SMKe;xcJq<mns@}
z-4ovC{btUMOTFwG?5z0_eGOr5+xl1|lx?&=biWM#w?1x~qxIvZpQ@jVnBPr1_47yB
zrEvY@zQ6w6W6<1kcVl_oX{}F+igQ#>*q8slz3cO>`qy<U#Vs_mUH=*G+?dr=_i;^R
z*z(O=88tuOn!nxW_r2CNa&NBnb_BK7ZMKamU&(QMQM}W8<>2Wn3$KM0sk5F}=M1`j
zyhnxgtEKycBkf^pRx&9S+C2G@+_GHf(#NtMrX%KmJU`SLCv&yTVbtDmNFlKQUaM^z
z+rlTBy2@s5SH<hgC2tCN_VBiKUr}6D*Czk;{A!!?j~kEfFE_kv^Ow^&#+hwNs?f%5
z_u8G7&ppe`#&PJy<kp)r<UW6Ru5(Iw;>Mp_RtYnR7X}>R-jra_wV^TErr%B?=8VpR
zqfRLj1uZ2>=XPXj%hm6kdiB@2<vnE@qA&M-d;R>vJH?m9u8F~k>GiRV8QZz<=+9qq
z(TAPO;o+I@$#?w{roO2abz8V$y<B&_7vJ+;&kfJ8^CmA$nqFwWURieA<LZSrTNqrg
z6=@|d_;_7{PbRrVr8x0GfUr~OJ|q6E?YqVEOYTl$oobP>P2c0R@d`d|-)+XPXUEOV
ziFSRax8<$vlGfIkPm?kpubH%^K4zYLNl((}jQE$F(;o$F&SBN*jS!6G&YE}XL^gw_
zA<H!5rSH1!ZT9W@{aeN|QK-mhj=<E*p-U!4UNoM0e(#%C8$~UeIl9(#9d+&e>{Hck
zQ+qVvdB~!=9l7=APOEI)zbW!Sa{SMjqWBVa=LPzlTnfjht%<vmvMWCSTKt9ZvtR0W
z&Qg+HHKX<8#=hd!PwjiB$<#y!tuFfIcbxg5HTPy87H_Giw%axvFZPsNclygehHDA^
zoYnq)NBbuq>v5XNb?oAuM(?RE&Cfz-iDU*O9kPhds*JZiG$rfS`^l4e4Hh4?-gv?%
zCy_zUR`4*pu!U^$3lVmc_C)u5wGzpBWu3Yz^&-CCuD`sy^EmGWJ1fIznNRm`WrQsF
zb1d1vY}v;+Zlh@)*01kgnznK8yh$rXS+0s*;EUYEs^)f0+uOQcqa@<p>D<$kO1PLA
zZ#6&8%HAPp%B}Nd)ve1MR~WPsa;&YV2(_*&n^-?r^N3Ge%Sx50$=vDXtZZUF%bPME
zUM<<n{OEbT9*a!bHQ5UbB6H8>yUMXuSxifbGyi<ii(#Q-#_n>C!=9R9W`=fm>w=d}
zx%|TDn&!!)CEeRM7N0P=E%9GsA>Y38JBJTu7*_kKc+I_$dDpv(+xEt53-(N|RB5ev
zzQ1qZS!=k>V`5e?_{FWSZPD!0o;lgAfAZe#Z}(iSKXyyByk33wZjJxtxt!sA?KAXL
z5AOFBU(`Qa^w_F$?zXvkx2xnT>@W2%HhpyZ<gTJs5pQ&?qt;!xI*nnn+M>ESS$YwL
zLW$~EU6X##i<`H+*;P&R-yI9L!dt$sFDHM>TQg(!9gSy^PIngfi73zcxlD&A@Y}ZM
ztQTXAj@#MllrK!%y+cj2K9OPTWWK+@f<8==dt#Bkm;KFGwm(aAI~88>6$$U)?zZ{1
zt!uCGiW}=RjU!7JyH=~do4ny+JHwSpNxN^EFy%IOa;-daeo^OUw;xy2K9tN}&M_~3
zsgF;g?d7=5JGW2SVRNs%wm5mY(6os;k`pwe^2PSwRNH)XN=E)3zMQFM>*J2sN1hG+
za$x)ROB#1StWba7&ZD^ceQIP?fMUnfZ@oX}2nDt3UrY*Xe)ffFMW|$v>P=p=j+GTc
z?GoF*+`YK;sF$vK(Vg2Do7C^73GS>4QVkSd*nKrDf@@d&N=Z-SX*`p@y|VJ%z0i6d
zQvjEO=bl!dIlJcwgsoKJzx(iI@N#~Q6S?)h=0}y3<YKc=^8WaiE#B~RS%}8{4x@Ef
zj%+X0Sg}g2@714~-}~=f^OkN(G+1w`X&Zm;CG*jp>uqoPO%>z4E@kCb)?v+ED7(h{
zmC(DSnHpL-v)?b=XEMR;;r->pEY&Ji0md>eFE1}%Dbo7cYg4*MQ+|5fVe`i^t#RI6
zI}f_uuHV&gR)j~m^?cqQ<G0tlGk(hMROhh!SgqKc5#e;M;=3F7Q{FG`zr<7&y|%7A
zRpFd{{Y6v}ulv=h3+qz;y>XLom*|t7Di`8-H*3`+?P*okZGBx%ZL{-}CCg8JjQGL4
z)NI4MEFQxhcQ@C#8@?A`s44!G;qS4l>Fs(Kl316ViS4e}D}1pl|47eCnG?1Fe)_v3
zEIzur>~&ZAnWWl%!fD4l(T2@|?vanTSYKGwUcqOh(R5zRe7Z*FoMk#0x-W80%C{=;
z?tfe2EFr;i^Kpxo<l~=9K0k3~yVIZkB(MGQsY`5%$~Bcfn-8_udRabO;va94mf4@Z
zywp5L+Slz{pv|oB^~ZKUXz<X~Ih%X+i*tn9l|wT`tZ(QGGCyN@xpq(S>qYBxWioy<
z#a%u=`9m9<@;7}sKacj^+`fIgTsqEeTITij74woNA;nJr#J)z8Y31{BJ=QBdob{<>
z%GO&S_tmI#bss6bKf6XTvaj25eXegF^IQ4C=#OzH%(nI$n@naqXLh=N-%a;p`&aV)
ze9-oJ_nMxcr^Fi7KOX9g-C4VWQTXW%+j3<`|H?%{dD}ji-K&?^y{a*_Wunqu=cLF_
z&fN3!`PMLr>+IwRILN@?@%N^Fi%_qUOme01j>Vh&cYpaWuPT2@&2nN`Nri&+DM2@-
z1$G-4CQ6)^z4mO!tv&nrJ1uViUREDeaq5#p<_GQa#<$!or^PqahKaapZ(vHP)a0Kk
znXr^Yio^Jn#?Jkb#aZVQ?>T7|_;+2uXZqmzi+>i3Q}Qh{awKj<de8LQw9RrB=R<pz
z!Vk~B78)4nbRW9>MKv&PLi<a>6OTU66Ii^hEn>B9Mv>;J_*cJP`D@l2=W%AOIG}f~
zUjEw#p0)RmZC|(Rb?{=FEl%FTHz!ojU+D7vwZ|t%b`g~Xj(=yW9~7C`haXbV)(c<b
z7ykdRFi(2Ww0Buff3>{2kB0`xG9Ok5FzfKV$MH&I=9Z$rafSAhGsE8Jv7{vA{PcQo
z=nMCWxpk!{%D33`Z#z>E#CgjqR))(<cIWcj7k<?De*D4B`eV^&>&XdW^;xTbU;oS&
zy0rUC%C*N#;qvDj7D{__UZ1;QC0kLxf8pi2yEhp6w50plEJN#-M94jf*x;7<({9U&
z@1CA%KXN<t3}2f)Z};zB#QbdWAqS?D|HA!EI`_K&cyf-p-d88U_xfGcMK5<UiB9ir
zPOg0xd-ut@P4&ui16b83Ugi~0Vm>MJ@O;|rG{KBTDih{QPJgNQ%Hm^J-qVF!?qy2M
zF@H60!_sA!_8h&|m%z96PMCW{oJ5NA+uJ=+tJC*7PPtl<YxDn;M#FKrcf#$nSvDQ@
z3)HM$AU|zm2Cq(+LJ;#O)4AVu-?+b!Uw7hj{Cut-2c@<tcKt~2tG}qBre)mE_<rB!
zN6YNzEzDkOm&m{TPsAF(PIX;_jSVNJ%N^gWy7!s3KWB^Tq^_dL?u#F8S9*By_yqY?
z8O)O(OV;ju|7XfE26vvUw|7@WY)VYCU$HV^?VNLl`VKtvO7<OOT4?c;(e1RYy{`J&
zWqON_eqWru>Sa#zI(sAa>Yx_!`h>I_Z|e8<eO?)DB_v?{_T<)w|163H7|%H~-<n}K
zZ(`c(HH%*OI><Z=;Jd!}><^K-yCSWfoi$wECw*OgX!qF##%)6O7NOU-vKsCP%dfIA
zJ-A0=Umk<O@8uij`!_E#y1$@wl2`FvC&%!j@CN}7*Uog`xR%PQbV)VW|EKY$)n)tZ
zzel&a|IF>aBXxH&L&Dp7Z=SCWbr$^f61hJzS<-_~Z{C-Y`E*{-|5OpSa8?iRC1*^3
zR_Sb&;xOelxc|4~`)2ua|N4)2{9nzwxlJ|ync`#Z1>X}_D?fSS;;pkUb>>8!OxEse
z-m$-D+?(3-X9{C~vC@+N1_|lK`~Gk65)d+3vZ3De#LfK1w!-}n*`vBbCF_dJ=Jrgm
zy!iRl^#6yJ+%Uhw<XLHVvtwe=hw4W$JoEBqU;c5+;J}*e{ZmUXmis)Nt5sC$^5$>I
zoJ}ba^Zom0+s`(CSTw7MKlJ~Ms#*T7w(+Y)cFdb%l3#Y~sqB|!VP0GH<=an|$bWJD
zyL5Z5*d`CddG$4i-d=IY)bf*hU}so&BW2yK6%$sSy3`uB{h#RRtLi8H&wut}`}kt+
z;eVzJ{#s4GcwF+0oQGb6t*}bG@p>!YuG*eEr&9zgd%s)D{QvaAMdOxp)@iE`ixPHj
zep)Bd&l0rDD&|>UWva&3hlje`d2P}@p06_9zbHxJ+v>m1^!F<Y)^EA-XSK=i<)!8V
ztIAn9`b*E7OqsG*dfo|}=sycRlxMy2Z!1zfV6?<OTlmh+tCGvN-WEK!=E*7%J4w^c
zlYVM1nwprUbk<CW>%!vZpB<-CZq*q_*0DWZ^W)-&*<5eV{AH~Y)s1L#E9soAzWB^(
zZkeL`=ZUQT=VDKV?&*8F{hHd5`kqzIbI)Y_>{7{1x}f@gI};Oo#O1%+cnp@>J+Qlx
zBk^xq&+EfCPTcz?z$4@I?Llbnoz*9KO|7P>C@=DVx53){qO{rlKYuDL{daFM+FsM<
zw?srsG4m)}<+6(6POj)`uDik~KdslVc|WNmT{n0^Sf#J`3*l!!q}R?pBg0hxpsk>O
z?`P9bDW}6XE(&t%*n6(%s*cv`?OVIg7$tbti8$s-w!e5f=jd}W%fn^MH$IXtD(+M$
zKN}b3_3T|0L%0Z=q5gyW>mz(iwi$J6h_HLweJYm<VgBsJz4G6S1LtEGHt6QDrx&wd
zxH?ml>4imgp5Vlj6@4ak1{^EgUq&VD+xhU;>H6v6<&P71xT8);KHqfpm!jw{-aE~2
zcP>41O({*dYK!vbZS$A>HJP57;*ql2+3yZVNzaPeSCbBL#wYybl|Ln){O9&7dE?E;
z)AMdGxvJeP=raGlRH3r?{7c7YPnqxM<(-tU{ECTGNL7EoI(NqD9amnj`Fkyd<K@;1
zXRmy#xZ6-LyI!s|{>v6g;}6OE*3Gr~Ty-s2Yn$R;zwI0x-S=kL&Q2<rB|V#E)8Frs
z0>09V|Li*P=`WAQ&m<1!+9!{g4!pM9QTTrKl-23Hy-w%<{G9oxcQN}W<!{;-h0GJ8
z!gl@)S9vt&q5he~-ycstyz%|m&DeX5OD?hP3tc4d7qG=feTrx7&wA(0uN8~h>Xrn4
zI&k>;B6}}}QdN!=W|rB9cIP@K{$3*7QObRP?~Et=ZeCVRS+g^4>AFJY<*MhO-)@XJ
zy&xi~vP-8lthl{FZJEn&-q>Z)@nYQ4;eTpEjVubBZAB})WH0Wyn$rBiDCPUx`h7Yp
zL|XR<9#HK!mu-J!YaRVabZ>wC65rVCj`3`77xoHjO_}`Q<KmX2oAOH*KE3sJ)nr!g
z)weAQtb{iF|Ed(U%JtimyaiduIh|cXSo<c+E}1{|`&vQPneGmKORDVDi{dXIJz;-&
z&nB~kUW;d@1#1;I1zCx;M{c-ne(=+cLsxF>Ua8s}TiIuLMeX5Iky$U7wkpqvX`5L8
zVy#D(f$4jn&x=w{_jG;w;kVi7sqD4Q)0Q^IuPI9S)yz4|UN&l%)Ba`U4p~p7op02g
z+p~Vk(aS9}d_HVeG;RoFG6+t&7;gQ)_Oe7rmbkn7>m$#n%B+5PG?Hm@;*PKD6`vS~
z2`F#8T&mC8TWGy3#jB*{*S#FWeF=)Ie5b_6meoHy{zUM}Z?D8q&S}k=`9UpAdil!}
zZ1y~D`=e}7ebsON{d9-RC(~d3eAHlQAox`(+FHCpWd*yzuJmWhnblqQ7M`2u%~_?{
z^tVggCRLnuvTkS0-{Tu%41%3Ld^-JNHuuKP)B5`(O)?ypO%beaJa{ps_GU$9LQcih
zUpHp_y7X*Y{mDzg)<>6xeVBbDU2&b&Q5~Vrd#25INaek=Z^rWOFG}}U&X1hOx#VqH
zEc5%d{PnXAs4%(Cc`Gb><vOpDxr@X7Z*wwxC#<<6xA!IM2Elv_(_PKCD~{GE-l^1#
zP2FPguKn$X?`zM*UR<aB^ozi4^HRepC4U!7z3&RLJ#*?EkDO3?y+^U^#LF{I^G$N~
zynFV_lM|t9E~Ig9{yU%fx)|HxrWsdWM2G#luvT@x#JBa&udR5uuX1ADo9Xl41p8n5
z>Ejbn@?vkxloM{7tgo&~TDO+tOY<`A6H69mDDC%nuK#z{Puq)GF<z0O?C<V=j!-WB
z_ce9q^<x(qcUsh_*mX|0dHY*LeSM+A-zs(KW6u?3K0cD28al_^b@_+(ofjsXI~T8!
zdTS*fGfkE|mpRL0!)Arb=O5-xz7^faaVPuuG=oW1TmP;SZJK$S^;z$%;Mn!cOt}7c
zi5RX)TXmWBSZI;v6Pu0pE1cKNdv3>OSn^c3!~boczRcb0u?Jd8PNc@1+^nP3{N=!m
z`st$n+(nZPJeuiVE!mdVBeK1HZS=Qy0ooO&D!#R4b(8;TsA$#ezZO{{8??+&Z+*fw
z=4n@sPIxhEd3OB890B)h<|$2**&%*UuAH_0bMIN2$s)CT8`M*FZ#w;8^+lnB8<%Fd
zWGtAf6!hgu*EG91CC^^DozuC&Qp2|(=W>aD$&d2-b2}56m_Bcf{9pBNVfwYuMoGr)
z?g}i0A{#VYn1V89Oxe_T=6Uvv1=Uf_d+ug0?Ck%jedU5@>q-TqJw^YW9?9Rhdp!4u
zgRlF~koA$=GYvRyv)@qljC0d{Zf?VoxnP>@hi3v;f?Dpdo_eC}aO-SN&+Bhx9~>?Q
zSX}$5HQ^qUxn_O-_oUOei>AHbXR_FN>%*Hd-Rjp{0<6^DzfmkuR@XO@)NIiY%SmyG
zGkpCa{xNUUfn3X@lN}b_k_(c#mF8!eshYh_WrfJ>Z~RQl^(Eg*s5{w~Cp?!k==!*I
z(uMHNtCB>|UOd9L_D#>>P_D_-R+);Jn97=`_nn=mIPtCIHc9`Y`p0%>?*#9<`ToF!
zYj+QCp4zXZw=ekjKkHTJIn>&I%q+ewvw&S?QKiER$<6!zshkY?&7A!8)LievX<NOc
zzAL!?o#v}myJ>n|@V||EenzGomw$+6>#Y;A7TUqFFY5g4bSDv05zqM(Udgw4NnhT$
zVza<)_gQ92(m$K;ob=eHpB(2`&+uWh&GCs*_7DB1m9FEQbMjn=$ea2fA1;eoPH=ZS
zeB7$^+$Bw?RQ=T)TmK5LlPWJda)McB)0KyY3(9#{=WYGKT^J=Lm2k0&ZOf@<_wQwk
z&-kyjK56rHmQQ1?{_82<Zi)GS%CxS$eB8>RyU}OS6uUivR@*1aev4>n?w{W#Q`Axa
zVpZhkSF1aDW-)%uZmz1E;Q1g<JY4?!UZt>}{PlhZx3Tv<NUdiT@}B<kprzFDg2fkw
z*sb0F^oF?$#J01nc{WM?zo=G_koB|)YZPztEHBbN<o+}A%H5{wCEi=-iD)UeGsOIL
z-*xk6pkK(Jbw9#9Zixj%2b_=8_CJ5ECOqld-}*-rva*U_{!7tZ-7v?-pgZp1hG#PD
z%X_nzbF;;i%$UBZ^;Uki?3GL1?{!uvy??5|ocWT%UN4mu<<tI862GE<HB_?mL3aD^
z!igH%T>F=Yh?U>l)bVpNZ*_SUt4!YFwz`11r)M>V-k7TrwRv`s!^YR=-M*Y}vHi1`
z@7Vf?ITzjp)pKb-U3%ly%s)l5k8M`?)DyYNVN%AjjeC24XYFcvf8s;A&7AkYZ|+ek
z@OCu3xrXtreB3^sQ_F4$9o#5*<Z$Zz^Cx-~e6x!d6=vG5(K7wDX{ocjvzvhX<n^72
z8pm3EJQ`D(BExnuHa+s#lB54O-=Ke{te%uZHP<YrIg59Hdm`|zzUgt_n&4nx&v~;N
z9IUdJ_-%Pz_wlGiqWsd-zfNY;MXp>-+|kM-ns%wp{{Gx`M?##vOs)4cJBa^|IGi4C
zb1HR#{L+Q96P>wy-#eSA)ZE~9Ntna8LSJK<ts?Uuw?$i@`ReJ|e)_e*{%7#32lKLD
zEPDM)D>g^r(eF3k7i)c3602U%%`@loUi~>@E#4mccSx<!lQNn8(pj9X@@u5~p_;>A
zL>M~XS|4P|TH+mCWaA!YV<c<Fb5(lQtF(>h9KIS0XZ#aqHm|m4TlvEx&}>_-=-i$I
zUfZ89exJ}k^~TekH3A+JJG~~~?iF=k;=aM7GL>6IU+ZFG^MmPg7rf}olGfcgr@r2H
z)rVt6XJ2yPza`yb@6&ni>h*i~CwACo{H>C%?4DX(|Fyrd{n!5k>`S$3S5zKZtG(Io
zA&>f>hBK`3YF8T9EHiubBK5Fdsq{V1slJ60E4UvfXmw@Jy}K{zsPLcSmwyi)*HMxy
zv<oVkew*X#WF6N03yYGL2MJF}oRGb9MbN3v`h#~i2>(=yHo8=^Orz|_)&&h!i*>#I
zUa=_^%9%c#>a&sKzQ$xT#n+M_lYKQiCjFn)rDT2ju)@r>&!<!-gs)8RF1xXJXPKGr
z>bFs1N)8tawyD}Ly)1r#>CVa0l%jh!i<E34%#sc2vptt`iB|Y6EdRy(aP7Gb^~ab0
zW{vd=I>2Agtgz7JqS$f2d;ZEnT-~;s)%o%t_GZ}J6*~7JIoIZj!TJ>^f89Ez_??YK
zb%BhnP?4FZkltTw7SX&34`+QXO)rXWw!dj-oVG`@=mg(^`vyTDf4|xmeIfT@NJd+v
zc>Tpcx27N6rcu4<|Js!)n<o5tn%n+w+18cMrhK`cbfKs+Z+d;b_OUq|4(v4fw9!Db
z<oh=L>sI}%Z>{6_;`-o}9xMB=&`kl_aV-CK^jtZt!py&%<NL)c4{~&y1+`~e$!a9d
z*&reGSmJ*zR|FI9&Trn%?n0Fze~#3C{*t_PW5V`c&42Hni`sAD=KH1<Grh{eGIm{z
z_3!N8jV`T^vNC5r6BLV&sjm+YI^}cFbnUy?XVyj%`^rCT$$hfjOist>(UN;Q-*O!l
zo<4i(BG4A_l}+@B=)(O!6Q=G;TrIC|@@bRuR1Mi*OiOO0d}^4OeCyioCyo2#SQ~z&
zcyFI_R{ZI?7Z?Bjs?L>lsN6X5*A(V8u01;+1pI8g+InHvB0=_!UCI;W_L^63uAhE(
z(Gp>nDVsKIX7Ifh){^AGbL+PpQ*_wNniXx?H6G`qGqyO(e&97~JabN3)R9fIf_aVD
zlcGuQ-|9xSmd~APeps$yGKcP;mF0zMN6kL2sttY6|Nijy*f;!XJ6m|yalYDe;aT`~
zNs*m3OH&!MpE;SQEOWJ5y2!x9@lEI%j|Fn|4<(n1nd_|KyYp|BoQTxF#;AQI7b;ZD
zgHIQ@O;)P0*k)JI_1&tA|NLS8v-dtf{1##vQSvFZ>-YiJB>APjOq<U%Ii?@pX7pF{
z^Wtqnp3GCH&AY>Gb>PQlX<50G`nNy*c)M!lTUMQwlWuRg+*Pby5oo^8YuhSa0i#tn
zZl->o*BMtY++Qnx;K;^}C;qBVQ-8K|SGZtIiA?bf6Q2KpH{H$7o=b1qA!&5>aJ<pK
zM^jwtyo0woeY^Vq_wtQLET0FSjC>{IQk)VR6@NX5XNuOl?RzcW`mJn8>vKK)?cQy*
zeBIh2-xBHVW)p8L=z6tU`SsP_wiDlYuIA26nz()TuD2KVi~p}bfBnG?-tS5xs~4}l
zK3l3rUh$9X*$AKQZ@9kfG{5%!;~&Xm(w@KTnuTob(-qFIyl;AE{>RrI8+}U~7d@L;
z`&&Hp*PZpk^Mt;v_;+&q`IyJ6R8!SH&fMhdRB&Cx`DR4@=lfn~GmeQi_u9^=GFnjl
zpW|xI-y8RDE}VSZrvF9znU~%5As2Se&0uY~^X&HLC-YWph%fp+MbLS@fhe2Gt-NzH
zo)mqyuux;GEsvb6HB~<3%8WPdP76Ms`2I%kFV~m22aeB+PZS-itTL-g<++=DU&rpn
zrN4)bCTy6zvH#et6uHdB9x)uP+w5<Bs8QH7rJui2^!2fCOGI+!N!03y-ShH(X1u3f
z-{f5UQtr23Of%(|JTG|q=dea{pzxZdo3mm$_Fl<d?IC2IQ*Sf>pw|A)lWy!!H95A<
z**>ZvrfkQYP?a|mif;0Y-<j9H_juf)usx{{nu7F&*Hl`?F3e(l_A2qVaK{aG{R5B0
zKj$fk2Hu~)Kxb$E!wD;*j&JUJD4F>@F<v~rJG=g@@a*~toLX;M{7+kNe#Gtd>2$w-
zWbP?Daptt5Ju1%?xhtnyzd0FHeSS?Zn{M%@pKoJU-+by=xsYSu?*@*fnzAIZi*w#6
zKihxts-T0QI@{q-Zu#HVWZvw(sdfASlXrET!Zx216Cd?1sM_*bSJ-Zc#py|N+`mkl
zyg;Nw$99>VRQ<%%?an86l^@(*{HZ*;VUgpTj$o1Bm&L;J94|y_<UOxYR?0ZLXHx>_
z)~;ilMA_$63a)p5XjZ}ZN?)sM@<G+-*3VDaa!nDMrzDwB%Kf42&)r4I57+LJ^qy8?
zy>-{O%aS!(^KxUXeoayn?_hiS{qWYi-MjN`4q8<>Jr7a1x7g}={UIKo4Re$q<`#av
z`=xN=#pv97r#4ER(2jIV?A@a<!C?O7ds`F|8p}fOt?ZP@n-pfO^e(TU%JfXog7!BP
zj`P1eyeY8BBVYojQyG_56?0U!k<CXF=ZimQJ-RB}p1DlP$mRMMV=JW(LHn|ADwwSl
zTlxRPJ^>dlQ=@dje*S%_f*b3bI$ZBYPjX>Aw&B=a_m(iRn$md=c?vR@kBTRK-QKYJ
zL;Q}Tx5KvVd)K~=<$}hPO$BlD^wW&E?CNJHUSDuV=AFE7$(9e_(knPS=f%A(DlRxK
zebmGG@PopouPaWeF&PJJJ25#p*P`r3ZE%;v(q{Q1dIho9K8e)(w6sjh{=~&`xPGJL
z&I?}_<lNO+=FG@sC9&^*uGAB+(!iYXyG>_OAD-6JNu4Y^x9CjuOT)qgGuYp~n!J4D
z(t=ITu4q5swJpCnaIHrnlgG<b5evn8;<xb5m@2wz*MiFm`|jN<xITYNi*d`j%y|*3
zCls#J*`39E<hsSQ4I!?&r4F0AuGcB*{CTq_p?=l&z^7-Wj_liGo6)7Sv?Qj?yXlwf
zkFD3F7=<2dx2-blnE2#(RIzl=Zja9!UKI7bc=$RjC3L!-m0F<Dp7^MRpB=@#y~2O1
zX=wh|6#LOJ?a7N;=4g8%&+Fk*nlGAVT0Z(@W!x`uiMh(7BF|U9^=6>k#$;8CDgUp?
zYVX-+w_<Mn72WwicE1Wz^i>y~s5*bviB+xv`cri_Jz9QQWujiqGOL0Pb2i2sTM7?5
zme0srZ<Ja7R_wn|x{Ga9XSSO7>gTpHA5Youv|VL1i>sVTv3-)?v@bGI8r;s@+jGM%
zESny%_tVxVzn)vhXP?g9TDItAkd6IY)y8sP=F~M0)SoApJ+Gg<@H&&Vkzu^D+f$ny
zjQ~FFYd4fWyWTi>R_bKPV*QmGYZG3Zte^H_TJ-cym7Qmlog!DB`nkmRf%uXyfxUO{
z`<1g8+r3t2ntnuO<8zxwDvKM~L)Th|v`!FP_w=8Xx6yU3SvBfAR+pVE=UVA%w1uy}
zAn)yA_4le$hb1HRjQX$e)oY#N2outu5IXCFzRY>MsPcmL-nR>jp0Mw+s^N6pl+9gs
z=>WUi1XnHgwpB_SyuEkb+}F;qa{7s=u9lP~eACPf`;PjTUAZM2_elC#byK%p+szFk
zjau9{k|MW#$TZd7r8(_b*uC4f^5;BR1)FPnp5Kk=-s>ILqtdCjsnthhp-X)!i=EuW
z8B5=vVvKXC+iaC7D{Y%Bec%4Oe(a)cGBtu0x94!iO{{vkX))i+Z&TB_ZQ3k9F>B1t
zTOg_Rspy!~XVu8xa-TMpukU}x*(c)Zak^Y}qBzrp5|Q1Da<<s;GqhWp@W0tFzkAh<
zcN4yT)?n1x_j+lS>)wrm92LoRQ|{|Z)*q30;F?%+flH`A@ZPMsT$clXU(yS^!CU#r
zahu19)7ta+r|kP36EAbN>}89=@>x%74CXUG<4!X=V>PqRyV~fMnDUhB%Ld7;H#F0)
z1}1MT3Q?_?+F8P$BirH;Smg3SS!23=dc0T81EvkCD}MOwSQn=*r%>%-5GtG6nVM}h
zSHE65F>Q6on-7QCUO(G?ZS~)caXPwIJ;nUK278ul->$yo(S=zDbANq1c3{KY<|+o=
z?MIH)``hhxUY6v1^vc5yxxCmnj|5#GNKSCO;E-(9Z{?v7e0<IIwa+zYcS%RS-SnWK
z$IAD9qd8Y#W&KR0HCn-+Zf?_l-+Qp;;IH08F~M%$F7*!&{t3HgB-tQx>i))O`JMAR
z{+(Uuq^{oh^qb)w4^fw0g>x3Qa#gPnjBfXC-P-O{QaVBRgY#YAFRg}0R~`#6ds+QD
z(fSHU-5%zJ$_H<)m>P4j?dU(7S1Tiqo^Gs9dYe;JdObti=I6_f&F2^HGHKxExm9AX
zzG&YX;fp1gJz8&_tlz~b*5<tK(V3?c_g2R{Gfmg9no@dB==l}rJD)b6vfQe4lAUqw
zcMCO>9s9oL>=TTrQDJP|vGe_RyNL_yCLf8qedEzmi{uSWQ(2f&t}B1p>S!J|^T?7V
zEbD}Aa~)l_JIES-aqu_g|F>3q@^qV5x7RRbrs{c`nQmP9-z&W@E&EDcedHU@`Q@s%
z%U-{D@b={QGfk?ijVGt{>#6!$v9staP14`?CCn|lG`o8jZ$|zyhsL)*gzg;MX&IFA
zbF!!C*U)9ok6&!MUar9PZ=P{*>9em5K@%>XDn1}wyv)Au+@;P_OfS9$T(S-7%=%sa
zCtLpejh<w=HQp|ak>^Y@!)4yN>4wyw{FLJJAo$WNy#t9x#@XK)d^V}g@v8Nk5&Y>%
zZK!kq!zk&x!thCk=i<@|KYGo#dRd!!Yx$YiDW?k?_sXhzNFRB0=}fqjTq^6Fo=I}c
za~3#7m`Tee@GgAQ_o)Bj>Y~_};tC1MUXR}kJZ%;$T^X$_*}01^f7_aspY47b-TxA>
zxqi<+6%N*(AFJOou5^xPT)69`DyQ-ZCBK&kq74qLUvzJuQRw5P5k=FUS%p{0_IMwk
zu>VSfS*%K!JxBkX&ik)CZo5oW+?&65-ZcHg3=ye6O?$UxT#yblSi*L!^E&@IOFdng
z-4}k#pSAv*<uzSlhV!ne%RDa?2=2<~46o0sO5IdkpY5yf_^3Z_nXd8Q_L^V&9V8D}
z=^T2K^B}f$Df6GD2VOisa=Gx)X^o%q-u4c&j#r%NcFjJc_kCV{bm(EBn#4^y5}rBx
zLhEEIeGcYIU+&gC9Km|ZH_~ZdS*?bAXFm5WVOF7+ita4C{%EWY&S5gW#k}jrr1O8*
z%gpLeIkc=<(z(7|`1-^rPg(0^=0qRRaQhZ7+`c4SI5no@W1-Wfeb>DDT&^m|&)VR)
z;ljZWF0;?fX0O`*&+5aci@QBU#Y^W-iC$>dcOu=;Nh6^uwRgcGk=RGe_v-7M^nYLV
zD)wZ1SiE?x^fG}(>K?k>4{k@qs#|4Eaj(m{D9d4@T=iaz@4(+F^{Y3DoxY+cb+~+U
zU+<%5Hha1DrC4h91o*!)^4c&_LiX@o>m4<p{QvxWw^Tvk;ypXpzSJpYsedK3J5PD$
z_lL`}&EwgjbbsQbBtw?YG#5o-$8?5j)4t#5Z_VsECS3SZKWmDJW67MI!uz*+Okc-&
zE#uQN``}q$F1^%U_5J6oa?xM){fa(qhtK^yzx?c$%U^?1Up+d&)cIcc=g&SZKLP)D
z2D|=-aRhPg+x|@G*(`=h-x$2M_8hi<6tR1kKvbyy*|Sq`7Ivw0iR=2PJAYkfxT@m9
z((R8sPu{qBTjd}_P452g<(aB>C!P1-n)})DlKFvEM(MjE<4XCCDq6Eh&2r*!5mc*R
z>lT)MbAQsAI}LSycUOC7*LfHI5Bcy=#qx_|ri#Kv(_J5~^|W=EPVY^cr|!FgVFJ(k
z)yqGzZV?QbbZJ6t#N5y41P+wiKYU=g<>|LO8oNIII-2|5sd>T1Hn|05;bLN32X@Zx
z-Z(F`He7yk?bp^hvzM%jmk3R{H+9MuPfd5b#V+-kFW!A$Z~lDCRqhDA#hgcMG`u<w
zAKsW`mAvPxp;gzXQ@_4R7PX2_ED&ZqUKxLng(YB0$^`?t3)ef+4*uQqZE+4u%(ONu
zW&4Uqxq^LpPopMOOxjjwJX!A1wv!gds``qp%at?c%;7L;nQL!#)jqgX)7$s4S)<u4
z;dsTFj@hk>^^+w&w6iKX*emQmdcgVT6`wy$8S6J~`dgSV;r^dDp8Wf3wV&=YT|6yb
z@qFsd`_n(HzWlAs^k-ey4Ymm{O7CphdW!jf;F<T1U*0TPEAZ{6TKHye)BMW32R)|K
zcOK#SvF^vM8+BTu%VNGy4Jlc?RB-K;y~cvOw+g*i+^*bJu<zlN>GjvX$7IKfX)IbF
zaCAoReJxg2KI_lhCYgFZ&xut&A`su5_kYgCqJ;;H=T5%2-q7^Gx5=}jKD?7QIP)%Z
z`9t;{lmB@YOnkURpx0;fgl`M>S1|pFXZ#||{ivk)`vcR)?1TItJg<LfFxqe5A{@sm
zs~K{7!u&5GLjPA?FS{%x>v7L%PW{cGB_0>wbxRAXA5f4kpS9@y7ooo^)*Rjv@^x~r
z=xlERgO}Rh@}AFMQCXmTH(}SY!^;yov?dr==X%^W_UV6e_sQ9viN~1EZkZD^cgBLA
z&{L|`r<y0sia%ixyVzvzE|;Aq56b51l&lE0`Db+EFpJOkYV#`d*&oiU9}txADtG4R
ztiLK55iP~Az<p}W$(sjqR95Yl$lmvHzOZ3shS}zax#!pZp1=ON=hlDIU5#E<xLozO
zux$$Zv_-meC8v2H-`VQ$^5#>lsqS0d_|_g?+>w#GGO~;@bIT69&~;}f-`#yxzedAU
zeA?U_&bJb!+oNPJ`8Dn2x#RY@{nQn0{lr_={<atElc(*tyYJddk>aKs*L|kgF8{hc
zjx**|+uX`~8+<mOS}EK6IIpGn-<!nSiF?8?Tieh7`rzoU11F}NPkHhp_Nmarqs|Sf
zTS6B8yRkhncD}0CC+~`LQr4GRzwL85c6`Y+?@xa$cpq@xwp&|w;EIl-oPpKlJZBX*
z>DP;NKdjZ8kucS>e%JhEJ0{+8HeQ)@@cNWPZ_>oh)*GizI5XY)>8bwjUSHX?O=rHV
z`ZKA^WfODi+n2V|2e@9f+@930*4pvl*~w794?(?cJ%ViB$0xqc|Kag#+p><fx7$ma
z4G&tXFU+5}@U{4ty*352inS*6<s{F29~N`MyE!K6{)spPiODk4)OJp)-^JpqVELe9
zn$nkZed!4slhrSVga<c-{n>9Ly*W@`?}(0uqaB}DqwCzHc~e$K9ewinqrTf-TX9$Q
zMKd>v^M=j1>9<mzJNa7d+ulnTR)jof+CBg561(ylc9~K4J}U5*P6=B($1Zre^1k@I
zFFY<a=a{0CZXfb`_xJpZWwvhfA}-b2&W+r2CR4kz?%cA|-YcId>NYiOIM{vexI)o+
zHM>n#=av*Uitk&sV83gv?X{$;+qamj)E_RKe17Nkwq4bJmbo7d7Vc28n<x5r@ixBQ
zd=oFPaIkyGQ_nF)YvQ4LjrKf)tH*rb+U?r+J@^5S%7%dHuFN9S!&?8JJ#>@XNO{&n
ziN*C->zJPTe!6v3iP!EPyZqBLx*F;U3!dfVB(hw(@aEkAtf&P?-8NTdPS8sXi55F(
z6e*P4bAC?H{sOV9C2q6l`g&bIaoN)4-kG0;Zx@K&>u0iUdmXi6XDDaE_T?)5jY-F%
z(w`XwoPXB*Z2e0emW9_8bnhx@&Ncsc_QZuRTpN40Zmxg6FgLJlm3o@XaRE2pjL&|C
zYK|HO){|zsJEg?VG46deXZGdKiZAATJbtcF%yk0uL>u3a>>0AWg(ud}TzT@?vcvmt
z+kfHO+G5|a%FnlXqL&1(ne*?(PIea0l)qlGnD>8gdrZsy8Y2-2m!RbS=5K*LI-MF*
z%xus1us5wadE(;fdZ(4|CU4ATTD`>SjFQR2xJ#PXRU~hHs#bQ~H~FE$<wh&zt=ZOn
z%i~sraQ|79SI|HCVW-mLTZuLLfn1LsEmGJded*t3U51Q*#V_YIU-4d{ld|Y2AODi~
zT&Awxp63hhKAo#IuWE-h>tVyo$M@|&a_Xelt=&)LI+n(k?K*1EymQ~I`jYAY<aVtO
zJT{pti?1jA)^XK?kxX{U66b6J6w=CLzT4%nXMVfJ#BOF<Zg#uVNyta;RD*Pzki(_@
z`AO|kyK?i7H|rlR&hvNUukkiL_KdmEojvERZ&FQk|H7%JS@+wH-r2psujh!Upk>)a
z2bU$48v7Zyd-XJw2NqP%y1d_HXT9B`uYAuBKj+#wdF`I>EcQ-e`%ZbB)xJ{wvHal8
z8YxwI2B(Eiwvqe4Kb_N2lh3!$_(jK;%AaOw?{>2HFm|zdl+F)wHO*sK_qitF(#zI8
z7g$A%XSEja?~Gl!AVz1A#oOuCJu7=Fmrj%j&kWN_l(nzmU0}1XD)?@zPslCpRk51&
zJI^n$h+nx+NBx97%h&Y(uCHt?qZZUoz7ZGtPas#a`9hEA$@y&O6|C=uOq!&ox9r$o
zz4e@TP98XLw)UNVrOs83s+_-n?tQp&qi0T{{ocU2=lDD(KVymJ`S$Q;tdsOA-gWOv
zu0K@Tm{wAsE1_=6)@^rM&nP_AEUn$daJt6&=Th~%6PWqc556dWA$uXeV8czn6-u8K
zBiHym{I~YhvTunN|0VB4E$Vn~R@ZyO+UQB)xoZd5KG|hF;Nn+!=+gCZGvkxj_mAH=
z>UHhFsl17|<~b~PciLR!CjEW>*65cZ7VG`4pVNwpu1Q|!d?~qZ^8Gri*RR7f3br}@
ziwKW5n;~)VlTE$x(!hJmzwn)UXBM8TH6u06h}G2by-?eRd+*c4N){>2?aH>zJM{GC
z>V2w)3)2#U1LIQ+YInsl8&97#>E*e25fiI3tr_#n9SZDugPkLOAImrrQ~0G>`R`mk
zoqfmqT+IbaO}EXwyYOh6;mjY+3P<~|Jrxko@|BDe+P-Gf%Og+Q>Q7FW^H;y>7TfNB
z#dxu_mc#!~dw9&9mTX&Col|r1=y_oejtRH_6u&N>veH#K^w0g{=N~s#Yg~?qH;g!c
z{EF1W8M$A#O-RYP@JaQ~9*&=DzFJj@_5R?OeE%@{c6svltBS=uJr4tfnN>Syu3NoS
z@P%C8josVaCNb<Zu{_S3{^k0K`mDe6md}}AvfIY#Xn=IfoM!${_OA~Yc_?vDyP&pr
zrd`)GCawKFb)U2jzq{E~abn$($~9-~qn<2{h?sIpV&1Xe_l{f<PCq5KbIWJ>uXF#d
zD>-#G{g{aG9{1yauRq)RwfFe$WDTqL(RU}LP5WTQdvU_H8D{)1BQmZ&IuZUi#&E?J
z(|X=`xvG|D9FNQ=?`vS1G&$E;i2dFhhv#)(VZQ>u@XEvmUHoGydH>}`KDMYbq2Me1
zEUsU3ce7foa}ZX$(kt4RaLsLoN%HI`?@D}T2edi-cl7-|^=3#?xwW@s+vMCu4X<Z5
zBq&_;>ynyV+`H)Ur?`d-pZzs%E#gTK^tsFbLcgc}cRhD;;+-Y3EUW9pw(W9a_)!%7
zWzLzj_|@$_4l&M(D$X@s9IQ9&_<LTM$(}d)8EdSs`^5j~g&bw4RoxnsYO*tL#J-MZ
zVe?tDN8r$|bBw9`zBx8N<8b->!?&ENM!h6qabrwZ)|<(8i%iaCPF>h7cI_4G4S_{9
z>GqdaR;4ZRt)DsbJjX&e)0n(Y)x!=dm$x_03#iIH;Sm4LLBmyK)7&!xb3Iv-`0HL3
zFyE>?cDiBFrN7eedyBrWGv4SXt@V7r*rj6j32*G&cc(37d2(&x=E(D6c3%(cf0Q_5
z$ZoPRT9SQ9)e%qK=^r=c{J-2Cy010k(HXg2VPPIIj&_X}4a;Tg&&2PT*%Z$Z+q`mK
z`|7;D8;PCQN=}-2elO6zbNg`GG7*s@t<5f<lbaW;y0_9o&S8&%wd#zE$6K8a$L@3g
zyL#^)WA|?sCqG<~3XS`$pm=6A-@chM-<~NFSeVc(q_D;Hm+F_;NAh+`_NIB$+vg|A
zxTl!Ubl?2pP0O>0CC#V!cK)rutoYd=HRG@Iv|R6XClX)Y{e3n-Q{my!i(-8?Q$J3%
zYR!!QbaVF_j@|b&9QIrM5VCEGzuC^VsP~lCw@oJ*w|j1GTlp;F!Tm=cgBI8)9<WmS
z^R@6m;SQr?TH9*YRef4EB|*vM<xj?2!Ic~xZ>Kx{-l=XB^`Grj+4t=e7yWh+^VnR^
zpM28%|EB3Yu|`EJwjX`Z@h|w~ed}$ip&pF_&s$myUY?pP^zhGtt$$z7-@5Ij&-J^$
z56nb8KJB%)bLZwMKkR>w#l%@exvZhPFHdROj8n#v*P=QFv)y8JE*aN9luHc=H_|$#
zE1>sz#=6#vlVwx)9!xD%^<3XE&(AhH)9ZuPmiiy%^1l8yrpJVGH1<E&P-AdCb}Tg^
zFH$7<PM1uo+WZYsuhMTf%vAYj^LCa2W6DeaH$OFVSL*J6XdbsPrS{@f{;~}H<msQE
z-?aU(@7vGkzx+2Zlz+4Bl-FAZ57{~L&CHIkGP0iQ?%r5fzI=VB&ev-KN4dVfNcX;!
zu;)jkPiMbTec0NYmv0vI*{SfVN;c$uF^)^h6$?8M@i1x6?6a?bYL)m4&6;}V?MAct
zE_c5D+FkMU<WG@Z5#PMJdeyFd+aV<@%bcu#tL<sH*6zg4+{aIYoc4taPg$y}d-cJ*
z_o<~3a@+e3_{vN#JTpB@+}2$o<npX4o$MD2a_%kr{`q0RZ{^^6E{m@j8@GHl-+Sp_
zbj7zlb9fH6RyN+<?XFv3c0TTcYyYPIJD%pOx>^#maURQ(<&7nI@%v}IDq5eU(AHX`
z+v0!q;LdwOxt|U^t(+>+FxjNlQY`QBg)ah@@mq8%j<22lF=U_5p|soHpKhCHm|iXU
zY-qJPsB_)z?)(VW?Hs8djqmFH=1Y9=YAl@k|JymnPU#tX&(i#lz0tX&q890T{NMk+
zuvslFifgvIP5ha9O?vUX4b@kdNZACrR5P@E-+O!i5)HfTC%ruze`FRdbo5($veDvk
zQIv?K=P?V`1Fx(0>1jW4xH#|GO}j4NYvTNMuOd8-cx2Rfmeu>~Gkn;5Y+1ZbV}1YS
z=bD~fubStCaNW4Lu{>VxWt;Py!g{5%TJspnlROTD*ZftKY}eRVD6S;GJ$w28Zwqrj
zA9{8EvGW3J&$&zO#oQgk44Q=IezXhUqR#TnFe7>Ym+XuZ=^1;Q?)<N23l{#dHGJyx
z3$bV9+;WdHDC>8f>5EdUZDw{j*d_I$**~T}o^!8>_R>=a9b^9JGakEm<iqcaDw_W`
z9@{Pvc2hOBta9(wq|ld-Y@Jxw3zScIxr6(Fjn||0UCgJx`WgN9?PX^utUR4k?dZ66
zvUZ8iGLsUO`#Tpu^?Ej`Lic;+dADWtsVrGvWVW)lTRYy}vHzZBooJ}m!LE#BrE1J|
z(;ike%hVrb-B=-U^0Ljg^4T9B>R&E;U~aIqDEZ^r1BMGG#9PjgJDq=^Z7S21ZznhI
zT=D%0&->DgUsg(TRu^Ai&n10Ly6;lKUPEn}toRP;wz)@kRh2F`5IxoN=I7@omF@#-
zche#lUF(~?rtFw?RN>;P66rvZz7E@4mH)i{8tL|$-R^i5SpV!<ho)cA$J<?QM#)o4
zw(9SBvnn{7Yf15r=-%S|rJXZE_P?IHcka$cnVl`0gWeyH?O&8U`_g0vxr$lQ7Y@v7
z+WY8{!!LV_&f9a6J}zUIX_60|TrUtPc3zveNrmT3#*J$oHbP}450yh7x_msoB=n&i
zWAnrNsfN`mon9q>*?()+|JR(eO#Fj$kjbxC6L{337_|RnUfSt!FgpLJLcD<UF_YSC
zAq~|=W$Wj!wyaVOvd(SQ7V!E|BmZRon)e-r&VRVl=G>ff{(i>J0ORFZtOgG_7S8)t
zb&W6m=$ho;e(Vn|Uh2I(#_ae{<Kb=A5{Ig;B~5qQ0*bnMW7y8_RbKx0%k}zC(O-0~
zn*DQovLm{d^I6mB3*Af3ozR-SR((z2Lb+KcJ14MT`z%lt@9{@#M?s|&?~TKcXRN;Q
zJZD>o0rSu5O?$3byRB>c7Fw74K;&qb8B<xS1^cS{!y%`_?R78z(Mm|1u;<cTHbyJs
z^77nU2Q!;Kdu}%n&&<8+6`^!pV{b)FYQ3w6h?$tzy_2&h?6B5-sj98~Nl)tRLGSDJ
z#sw>t6=!T$yKAOlpt9Y6!%x1@qn{ZP7Ce7_Qt8TVkvPqXH(B33Yv*&D);{@!{kMs8
zv!3`#sIr)<C!SPNtk1Z*w>@XiTcz}k&D%`Z&0vfx|F*Nj+kS<u`yD5dN_NBJ|8qOG
zCyLCgpZ0z2dX`O1THdBJpR4ab5_qL~!@}NMpQpPkovQ4(^z!s2(Lc%;181Cjc_#69
ztotjuXtgL6o&V=g>gX`6=ia}6MeEmZg=*iwczH0auKBM!W9nZy*K0g)du45NShlP4
zau+>&7-cN9UsCi#(y?=?AxHmJmb>VLJTiLp;o+pZsb}QsYfF7U{hpj-ZW~>~*uKSS
zgP}too2!V9v1i3aDKFDGl_x*ee13hWZ;!m_*C6v>s+Z#2%bVoqI5qBgpX;+tE^CtS
z2gfP=Ve?N#K2dUwNcwjp@ddM&|HQh!>SynGJp`_NelC8wa7Wa}3v=b>)bd=m+Iz0n
zFa56JrYuJDWqp%v57al_-Ly}-`uGp$>e_ivI9zj#b2UoTVg+1p-6%_EW?eO#ODSsG
z&f7P8MEW&F7XIS7_e|)<k(V2{@I9Vrcw#n3`DCYAnrjm*zT|vmKgzGH_eEt!*sL`x
z7_!eXO=a9S?PVs%yf8hvvgW_9{@xbIV|w)9{Ly?z)s>w>GfKtUBhT|h)(Z$|?RjWo
z_v7R(&6VfYE|vN9qpknRis&3Ai#OX=PuyX;pEIRF^v2q<;JEpR^>ljIoowM_cxJMr
zev!lC)zbyM{U<Jq>y_Umc6r6Dvo4=<uHEU2Fm1b3^T_{mlT?|e6JvCH>$|*@4L+f<
zN;e)`b=7P4?qQ$HkhJ(E@9A{6%v!DbTR8_U4TQJ3hzW}M9P^g{9=Y}P;i;BSWNLqu
z%*xXDy78)f?;7@#YZe%_PAa;3jOokTmZ|;PDmQhOE_0aKE;f&eeV488n|;RKf1`y?
z9noLhbbNIo)1F+Z=|ziIRf{Gr%I|d2`xs$Z;<HR{HiJoch_J^_nMaj9(|q<%X}|RM
zd``WiG?V_Z7s2PW58ak-Vx1|&(Glb6uVHXcIGaW4T5pWimUW+5p6T`}URo>D)-<th
zN9)dNU#r}D$qT)^l_oI0T5-AO>1~bf;?s2wtW^ix)bq}~^f5YYFefPW`+eop+nz5I
zm}fX4d?~B?J?6v-`_un^Sikk<G`91_`GG7Pmh6T0^+CtJ?J`?BeWmOo8wdVh57p=I
zuim-pO_A=&CC(30&i>fKv_62ho8`%|;G3bRW##5Ay*-QfkJ-n~_pFjOSJ&v*b}Chi
z=9V*Nr*(BM+oAa>Yti3bJD0A|{kS(pMcV0~!mo!O+Aj|+H`v%zcvs@Z#s419)*0y>
zQJ!X9_^80(&<pO``uOZ+R_n4SYufd$t%#}Gt*$Duo$V6S%)_aB95dMFe6R@g6Vf`r
z=xT$R`_a{NF8zPF&C<mF;|G65&HO(aTT&V_LP|^>lZAFjwL6H})H-jo<zIg<%qLcK
zrSzqyqMGpRgLU0ye^xzTWF)nH{kvT|1bO%GKd{TXPqOH5fN|w}tGfDK#t97*eJ9>J
zX!qux%ZWo}ac02__5}6vY}OFvpL{2I|3PNufWIF0KGW8{;SV`c`*The!@AD@-+~<f
z9#V;0JY{pnI;jZeT7ItBWmSu9RCN#O`w6KQc?;-&I&<G$c)jWIw;a|M?H5Wb9tIi<
zyitE0`s|@x^mdKTxtkt*Q`=mqQNM0kwUore>;qEkZeO-ql+U*72$L0`gmhCP_w7f9
zvjsg4J5TDKx+mxOESC1NlcG$?cLenA`rKe#5O!!AOH{|~%G!UwI%>VXu<xjRf5=pP
z`*9ss)vr#?f)y_tW#3w^J#<)S?;bmk29r%Q{##EJGL!8t_O4;>e#nz&!p8gNA*WOQ
zvn@;Q_Wg*x@b+^8zu^66hf2~E)?P7<k(*lOb^WRI=Z-+{)$JcX>=Hc4Q}|3;ylPr}
zxyubJ-5F7mI<3F-X5F5C&U3GtP#;rw{tV}T{Oh7_&gZK<eVRXeQ@8pi&TC;lA$mVq
zdzQR2S?K*uhk0&XdWG*4q4pf+V|xE(`PQGie4&2s-XrOT_apdj^&P29*ucC!_~6q?
z$<bw<qHd~D{YOj}g<h{q&N;EzM&@yn-I}+2j89i>J^h=_y5ob4?5{5$Z*(+R7xft4
zh<a7Gsl(>r#1%YW8PYr3Q@%;`$6oEz4ViR*=}yZ#3zF7d*v$7~RRD`{%&fDa?;dch
zY+;LB&r?w{zuqK)J=Sq|eCkcpt@}CO*(Pi89?v-*%&q)<it}dqvitL1dL%E<iG63d
zw5&TeLNxASmxgl1r-yTQ?wTd=`+(VPizk_n`Bi_XzRK=+c_eOs1mp9yiSCP)b)62@
zZNGJk`IO}Jk^-Y^UgA6VtrXbV{YH!9WA>)!mjB94!`5rOpLB!2eyUkXwnWOB$WLmS
zt0ERIWjGk7x?7_6u|b&Eqn0$|a~}O(pZ0ECpgh6h$s4DvUsC((xm)YF_Z)gKLm{p`
z;nj2vO%aaMYlThcn@NiPO38o!;+I|Jsl44U6njLkw1>Y~GTXJA)qJjF*Z)JNs<W);
zNu;}coyb-7#QoIM33qJG)%)wG8p+R^Y;xzq<Qg;Sf6TU-<!90+*r#oi6^?G6T63;=
z>+gomhuHG3EX{TZ?{RKeGw~DSnywu)Vr_D|%$;6tY5n=_(f;MmpPo-EowsaG=%0s9
zYJcxGY(BF+)j!^>KsG$?07qFxT=}N0>3S1Sd^-MmN0-DMt>C-wqnWcx*B=)XI9>14
zwd~64%N3iPw|x1L+c2kT-lh-Fc%tueMrWMJKiAIRH=*<A%KZ}^UmaK^FsuE<{Qi}h
z2G=Z0!&GOr_8(_?mo)Q#3Ja?+i%qqu>BnC}9YO1+Ct6)xa5eg5fl9y+^XWcecPn@k
zyq<S?<m#>CF<*ITQl?{IrnOwf;VaQP_e!=#*4vibo(nqMf8c(aPNmG*uX-CF{9Ga?
z-1hnWm6ngQH}=hJ$ew-LWa7#<`KuE{Ocf1`G8MhOR^8w8FN5LoY&Nq$?Du^?w%v<a
z!Qb^u&-E4`m!Z@7B30iC1-B`>)6G2J*64Z&efH0{33&D^W=5d@+-f#KW5chJr>){n
zoN|^{>=UVXzoO%7ck7V#)CF#vo_$vNsl3yR<?s9K$%`J@FmUM}$rCr3_-?g`m*b1o
z|EAAXF<v&6Mf)F*j=Goc{e}kyHG<`rQUlx~rZ2d$uJR!7e8zcmyqs>giu}EspW}0A
z{^s3Jc~zs*l9d?V&F@TqtzBI8@|)1aGlhBD7VJK+=e=9Sc((r6qRi`-yZ*i3FX`IT
zW~#|x_A!Ks<))~{8O{Tf+yWkj*Ez)&PkY-a#Jo)<#%3qmv=7pk=lJZX>EDx^xn3wb
zeAR*l_qS&3OqKc0@$mo3nICQ`GDy#^;GfVccX5x|(W56G@=Uk8x%+g;?!T(6M|0#h
z+~oY7v-8-ypL@0JS(XQ-{i)Y>j*-f#iH}%vt#en+-wpk%&(||4r!wlFh&!uO?W%5i
zUQbzm@rKyko61j}1KQ&D`@U9K(R^TKf7$wZ3#C;*#eOmmec<xw?F7Zr3G<9TujSZl
z+kMP+XI<BdN5)4|zwp_p=zZqcU#BYnJZ-v=ha^MNdY^dB??0cu*rnHaHR)t@{Uq<3
z(TuG3qI>VGc(>11by;`MKDHPIwF8q`yMBC^ICrJm>IC26yxSpN{mV_G*84lgMDPgg
z;;rOiw4ZxXBrIY6?JtMKVpwV{&Yo0xk@RiK()l~8{x7cE(J?u+{N^nsp;XcJWg>A;
zy*HhBP@+8l*UeWiUQC}D`01EC&%SG0-Nh{G?-Xq7>*9=;&_4D3-6!6~SGG9cIBb^X
zr8(n??5$6WtS?UW3q1e*Z{@2!Vp%bwEB?Dpn0NZ?HRX$YgD0PDzwlsMt9(ME3D=36
zEcdjtJ<o4{sIX^u<=o?;-#+f#J>l`~`)_$WkF;NtTg<=cO8t}dQjP24W_NX+aQJ!A
zg)J&LzkWke{nv!8Gjj!GXY@J8Y}hZgg5l_IrcK_ii&dK+T}Ybo)%NkW8SDRTxK}%E
zub<m12DzLdmDkcCmm)2tlUHg6tzU8BQo-LFH%_a_L<G9=Yp;2~Oye5Qr0Z{k=RR06
ze@Wqct8<&#n@`QY>3rznfp42y7iLdC=F@cT^j-O%1x{ZlDT?&+)EA{Jy2iL;$*lDX
zt1Nv*bd1&*PhaO4IN#ZbsrAd2wed$E@a+ucJ)Xxr_X4-^+1NN{hUk|LF0T9exLF@6
z_A;CgnzEL6#(_8UHuqdNdpzk`hW?8+r>bhZU*Ggvv%}!Z<F?r3Jn4<nj%^IDFS9;5
zT=n|+{GC@gEdHGgQC-y+@=#!F{S=+AvTMJ8yV^0eKQN4A&cqfMxk*QU=RKRy{j|B=
zt0buOT4b~9?&T}&x-!4#?rL7FqrD*TT<lC%?TnLJyfVeYLS}olR@pXhV>K?DDfOAN
z<;IEy^Rw={Wn2p0ZyWw$orA#@uH;VjzEe-ji>!_0H)=+<DqPe5kyM@0Bzw4Kd0)M}
z=$d<KlNt6{<|?<%3Rah0pE4mVv+krqoyv)yF4oJK=Ev2mBnw$tZ(xnv`Fs7WrE6C|
zKDEAAD_JRL{(}0`j;SYRY`!vQx`s#8p<B~s_+lPuub44K?^#<^8Qa+z5=ImEtk>#m
zI$6-KP@4aA_qr87$|e5oVBXFj=HzbR+SsbmRsSH{-@G<AYRC6YS1Xjavr2w6n_e?>
z`!@Bd*W6g_O7rs~AGn-OU-Uy@t=x9Mm-Q+Fa{dQbwPY4JpB6lKcCFfl4Tq;4o$YXR
z!2^|LXHOd1?|c3!cjgjVkGJdICrGbueBTq8ZgnDhYtoF8uJ&54)%C2keNB14I^G07
zll?e%%4dNXZhN20m$pB;aD|ic2<%XOBlw~EJlmTYB_<m%nor;FBPKST@0J+Pc1t6P
z5O+rN=>nNzV$&PMr1+T(%%@KjlM-V#Ft?okQ9)9(zPLc`?ln7^+hy-=96PctH+hn^
znc6nPjk(E5w?WjOdBx|ttM>m|^*?e=?b_`1uU>84J-f-}(7ki6XD=U|)7scNaVGl$
zt%b{uojH1jCm}7RdGP{)QX}&+##^^LC3nyG%wTf%EW@g2d<<e?4BE!V+%l{VSMD9W
z%$bq+l4*h2()yp<1s5bH=df*IwPG}Rll$gw!?I}%cIM{histFzZtCHT$Lc4AoIT5^
zH|<%&d<W^`h82q@ZQIhM(hwEoD65c}m;Np#hdH3gbR**|rY8-{o|T<@X3{YKn;*mM
z{~8Rz)z-!j_8V9l|C4T*JA3Ek)Ak4ItZv?BdUEt?i>ip|6^2Lki+r*cF(g|XH_W+W
z|FTT)oXvli*|T@;__Nxos^Rp153^(cm1q9x|6(7f-v8gDr$9%C!Fa(+?gK~eFlDeG
z|Du0y$=kYH%ohKX&5BEZ<X^XMnDhT2`+|S%&Qc9Cf1a;j6q}nP(vy3Z@yeoa+xXV$
zJ@aFztTrxIw?43cM|nBZzvTL#?*o#f7xX^=pZ}rW)nm8Bf9JLhbC248G5mj=rDPgI
z)r{GijIsY7-adNr>L2?w-_QTw^zPXydEx3e`<KuD7koOuZr07)H!J>K@A^OG)BCS8
zwxpD%w4}cHx196eTe0oNTg{noMKXlM{(E@&#>qGJJpaqIC7J(UcKqM_biXy%flvGE
zckS8OEqsA_!Ra$U){7<nyZ-h5q<{b2Iy-JuR~T;Cw1H9LhQ$s>ot!%|40?QG^Zzqn
zzjF2D$vfws-e2-R_;mg2|9NV~#r(y=JGQ1)2j5FredXDOqWF)8ZgP3-x|yk5x+_)e
z!qk=TvSULYELb}8;X&1VbEV?uSu;KKY2f_-?r7ha`dHzWg>x(qT|AOv;<@9W(LHa&
z$kx{Uv)5)9{mZW1aZt2{ZQa_HOh-zOto8o&D{6tzTb1gxbCJD0$(r`7RJ^wYMpnzK
zoGSbC>QM7sm0mm1sJ3(BO+W2oO;4>!^*A`S^TFwRQV|hx7xWI9vaVa0>R8!u*l|YJ
zfviX73rji^m{-;>`*77I@LT^Bi9ew!qU*bLm+f9M>q6<z45lYHysxdgH~mXfmUZE5
zlYFy#^VTVz{ubpdcTi1x+nM;Bd)HXzX?pl*+{&F&xp{p_)w8?iGjmpkF8*2M^1AS_
z>iq>bY|T%f`n0F@)N|h7`WKF$d%V*@tDr-5lO&rMSIuPpyv*h{i@bWLl<-*Fsp^MK
zQxny1WxsrpCGj=vR_OKD^DpZQ>1@{(-Mv$3zfSdhjklRfJ}Mp#iYEKdzLe)UAS}<@
zd$s<EPSCe@_uJax%a5pJzhgA}+4iXOpO59<AeV!3&-*5D=FQXE`KpfVSI_OQPZV?1
zOYaA+-n-?GrL$}84}-j|%Z?o7tq(lBZ{@b1h1zdz*R}rC3lyDD@vup#^q79ReDqf~
zZrP&4|2OR}3|h0yah;ruW!e5<-SX<c`(7xeZv4CWvq>fYcGp?A8|pVp`S%&C=7rw4
zzpaNceBHi16K*Wr^{DGR+ZxT44^>5{$;Fw(zEPG??o5C1Zc(-h`|2w`o;%VKr|T@K
z-!2~|%R7zFXHm`e71~P{r&!dzb?bg}Dre^0kJ&|+-dt+A%hTIiWBsRj!KZU~?{5B7
zAQ%2GKy%SX&9mE<zLN3TJ~dmkHF54ve$|^QA<GZRi|kOEA0qYR+>XzO4HkGT*%|Tr
zTZUoQP1`?~ra#ygOvwAuUdgJH@$PNl@}!RS&mYaH{~vyRO`maISzQE!kSBBS!OdG;
z*C;c-o~QnG5A);+pL`##)VW!p!|4_%ll&^aiQUEGqSD;A$uFc|xb?=bYQ410!FTOq
z&E%I%7dWc>8~aa{@Z2-iYVNzdP@|-AZN`HsYr=G+P5CdqJ}&;`bljsqQ??nbzBuDt
z#6soCmqTo8{hjL1djx$yCN6GY(&OD?#8%9*ce($Y(`G$0@9j}v9dD68eF^t*x9cX~
zN&|vi#JURZ=zj2G6rFfmJ<ao4#e^j8nhHIW@U2^F;tLbkIL%;O>Jf9y`{o;8rBkQk
z3iO4%DsM?nIy!mB1ewdnFUD-iz5PPB{7y}fNZ8Lg8~^T|f4(ZErGDG>ZOtxWW;_oM
z*XFZTow~O+=77P1mXIvI$=mj9G<v6f#AnYc1?Sg>N{@MEQ;v3jvbn7}{qyWTwaeK?
zG2APEIPGk>dhY?3WOI;Bw{>X~<1YhS^<};PfACIi6b;Y){GGc@prSKj&O7EU?z=_v
z_x!kbxBY?h;j^hWt!0%}x$0Bvg-S}zUq5^^_fM#aM)7{lvgFru4*PBsjOAT>F-6B&
zgzNh1(@_;Gzn)um=AohVT}RI8_qBFSmB0Mpuu)9u4TGY}ti#)mB%jnTJ8|GS+r?Q4
zk>&BPR_|W^b^n}O8xNgVQ{DTrqH6ZV9BYxg74MUsUstK_WnszmE$hDiAu28C((L{9
zbKI8Sd#P#IyG(r6lk88{-IrL~`y^R*txf6T>0hMO^L%E?muq^DVvfGQpLIs?KVLFa
zGW(aCJiYfn9p8W2M13*4x#NRhCwki?KdLUyUFN+%KA>CA(&lyL&Nov<EL}eutg;Nz
z*}YWINV)mB?qcPKJHwCFIalTAO`9)hf5L;`thv6t=}zX}DQC*=e%-H9w6b40{AqTo
z?IH0Wn>x8l6&N1|gs1WI=RBEp;l~2jh%L)X1dE&Y->S;c_7AnQ;F+Soqh*omm&cX4
zUv195=n?)_Yxc?M#yKGghZWmQ_Eg+nb$G#-h?iflq`3dIOI`Pv@5jaG>vcA92)*gd
zou=BB|1>jmYkk3^GtVX^TYQ)4&??ffyB3(ym^!DRRNHgD<(2Y)2(iw?S0DXRF#E3l
zZIcMoJ;(4mCht|bvCGb@YO$*9(RzKUgz;d)>4c|gMT!gU>#PNr`c=Da@Lpb&`0K9D
zX-WGPJ8Fv$-1L9=H0PWpCzGT*=Q-<5W_odF7=LV&6N=r_CtOy4?CzfZ%eMcNaFmsl
z{eAaRi{Cocw%@ld^lXSJDr{(xY>xB(-IcRTJi6Csp%Ux1Nc9CqY&Nf%eAa5~9p09q
zdhOo4r;-vcZx?-<Wbi_aIVwTu#H!~Ty97HqESFUAc28Ju)hBy-PUPWhjr%OjWb7U+
zGJay$l~$r=rgkuL*_#J{{?upMMkvK?U-Z>3fm{7(!^w4?dh2b|D&s2U))=nLI<@^v
z_StRk%!NG4HZ+Os;h$cTl<05%c@u+)`+W^Yk7X(?t9@5JYj_e7q#BSYXS(QDZQ24o
zXZE~8rByQvnWD?)rYxB>b=}7Yl^x7;XLJS}dH=gQ_T91Aa~vHx^_+HAOdnR)CrwLu
zzj>1Jqhs+uz1~UJ|NK2C@`gd^7K7lGGk=ukKe2k9sM0^j`nTVd%yP5+f25agQLgXs
zv^*qcRIhQ>Du2J<*OZ(qL6xs|2yNMKaCQA0uKR0Na@^QhF#G>X)BlyP3#*bHU&Q}C
znzY*Wzjo$jgST^+<#O>_>gX&`*JiEGx@TO^tZwstZS`acrhkSmA9lU6{mRLb_9bh}
zzrE?VWP>kyTne3b^o-W211nbBeYsj6c6@&#=YRjg3mVV--`AemrTX{k$AYE0v(o;%
z|BDrVI8)rSz^jMl*AmS~0w&F@E1Z5M9lYtVGgLe>O`!GUtNn=*-<%%XE&F%=bVYag
zlfzT;1RvJ3Gc9G*%d+C0bV|tn{`Tu0)13|1EnZcV7F5FOJ715_d2PnR$gQ&JZOazz
zTkOoCX7T*{mt8mKmfT%e6|(>Fl!}_w={#PRIhJa(v-jIAUtGv1p~!yc*UvMjGP7ni
zPgdJ#e`Aqw?}e@hGi}d25s_OQsH)B^J1aVnz3z|MB$b~J7S`X*P%;*r)U)75_Mh9I
z9z`$q(+R%JVBY&`W$h8RuHUCkzVYkU{&$$XpyHHuujanJpWmNblx+O`_w9|75B*7V
zPkv(fG-Q)l#kr{Gw*-viECg2f$XvZ!^LAByRA)9*m&*CtvY9G}eM-))U;6sx6p8(L
zF756acXd{$%WaGmaMjZ`s<(Q=a_>#TjKEJJ)6>3HFILU}QqNOpP#a-gXnDf_FUOMK
zKUXfzlK8yfUT~N;V@`F(y4MTDs`WW}ZbvL-J9=N=eMVUQpJ`sv#Tz~?5wA_|oSzlM
zJk?BC#j$i!*9Mn)g~Ac<Z9YVMSIkf5o<5~5)2&T1^4xxwsJn_+4|`4gKIuZe|LOQC
zs=VQnzZcK*`nzqr*u3oE5YMGK4*!+p`W#)%eI~r(I;&E&l6ehhiOcTo9ozpeQ)jy^
z*2Z++!dg-L7xTKEk&h;Btjk)r%2&bmSIQKhcb}pYep<G_e;*&!E7x23fA*IvW~H(c
z`o%|LuN=QwTy&77_{%L9>*jq&Hs5<|yry1#ucPiS#-dlQ-D*1)Nw@3~>6+T*Q&}Cz
zpUva5X4+}a-oS%}5hopu`X>vTuwFK3G_+CK@<3;$0<*}|N7lWQ-fT}&y~XvUDXPHv
zYet3F!>b?J+$Q|;G_lwmDD@*W*7N>KdH0>=J61`Qbk5wT(A70zPI6iH*PeiR9bZ>Z
zl$)AbzfLvtjdY+~xs8c!rqW*R4bK+(aZLGTE)b>owB_{2lo>w-mP!R2_jmlOqIPRT
z{f@~86huDWW4ZR+LgAP7+!eom#(X~fD)8ZK1*?`BclXuK{&aG~>(s*TX=?kkKiDq}
zm5^@=Uw3z#Y2ZDN3#XDK)HmF#-6wua+QMY%uRDgTlFysfN9(ix(zu<laE)4%`5L!N
zzq+=YZ25enZ^i6|OANe{H=W;f<oNW4TYBdgN{E$IuGVjt+ZmTqBf<Uo%j(4)1;0JI
zH>@+8@@>xb55FXzd`Monv@7-K+;3`o1^PEj`>bs!`N=XP;@sxSZGrE%wl)i7Z=SeE
zC@OoZft+~8)2a_Uw%d5t3!d0vJ7=QOr#tuai_iUb;jXOma9#6zueil69p%|C@7n+U
zs9~O0x76?VeZvz6WIvicJ78XJ`ki-~`vy+sMH;6zeVIM0WhS?yY1B&oW6AtVjWLsa
z-3&g&@(9kWjoe@R_sQnv*I&G=(n-lp;TL%SDDqOP<Ba`wn)BZ9%Ieqe-F~V5$BmdJ
zaq9aRUdU7^vh%-GD0#x?GH1J(=(Vo=%txP`XIwMb<?}!AND!wZ@61&jG|QUyrG4k<
zcyTHCU*dNLS-WkIzPO3jas8Q;bMedd1job2J2%c*Dxo{=!u8Z6YQGmcEqxTmpsgKx
z+<k_LdF{o`p<a&??fnyzB|N>HPrqn+Y*0T#hpBnaS);D+OB=<U!ovFI^Dch8`S|lm
zI%*dVKIgQQ*;NxaOE}5?*@bypkB=PIJr-OlSKXN|Zneg8vSnZF2A0iSzjYhAwhE|Q
z^-ruj+p}c5u^eBns{Y5-?62DU6IXp!Eh_BTzWczuXrt*97uHX3y!HM$*Tsg{Z%_P5
zyYjZmp*}F?vbJ=+i=m1-YopAyB?md%SAFT(-M;gdB!lt9)-B>WAEdLAJ~5kgrZ08b
zK6iQ9zu%QikF?4@Og||0NXD?%pZk?>uECd6fo(T7o#vahlx@`ycC}wuN?$j8Trgef
z)rudknd0kXW-|K)8ZGk5HWl8#*gfi0mJbX6qdl9?_-{?9zho11@y$*B!efFnYBTm9
zwXE-a#PyR^?AL6URkleRKUmfYzIk;Zv35Pj#@Wij4^6~o+&_4;v**?JqN@S-&vmwb
zTYOV&TAfgQ++MGf&lTKQ3`@DZ!+*##J-#539?_)xE@bMS!$Mzvl)YVH!pEBT<*wzK
zW=~e_4ewvv=xKVDb7W2Zn$I$!hG)8*H1EhJ-#Hj{^D+A;t?N!&FOK`JFWT&0ZNvNK
zU+dFLd*gjgwm<t7Iw^(iyrOyc-qVb4*2O)JwlrlHc&QYw9m=tXZ-M>ZH?w?uFD~7<
zY@Ob&(x+$n<~MoW*|leN;=HWG_wGD$dU5k|_;1aU@M52QjZ3#@Ox%6X#Jj9sizU%T
z>vj>}{~o<vHdp^f1V*1*)AssB-0u!S{@v04LxXadHy+eH=&;W0#Nl(?W{lJJ^XKtI
zO*)~?Y1cpR*6BwMLZ4Zy7kq3A<2s$-s-b<EKl=6VRU1Bc-HE(-L|ZH8O#Qt~&X-@W
z{q9j(xay+vgm|sBJKI*xKENGQGilZ74ae%YtW{hWWV5=ut?~$O&NT_0`UXQ^PVd^i
zm)rQWZrPa{uzSCIxPJ8|JBCxcS>z4pevR6yc+X01QFhX@vmTZ~cY=2tI{O>%=;?{g
z4axf`9;y8BNb#1XIz{iNo<Gr1uFe?|yzE}q7n9WI{#)#0e=Tx0er@$=TIi#H&wi~u
zVU_DHQP23r+jpH*c;9L5Q_gQhgqIu;H?4Co?qQD4*y~?WQSjhl_2YHR1=^}7pI!1t
zaM=#a$FF})Z&452?f>HWC!RTWkMlm+cX-{X4oY2lbVI<8r>5-=dnLQ`1kbOru{34b
zb;P^C+Lh%l|1a^dN;cOAhyT1xy18$El&?ynalO}>`yTG~{B`kXD%UMiOyB;7u}HZx
zYJOj!;RB{OpU!4Q3%Gg+u$4MlIB5Rb80FOXc3rNKtH9D-`)kuah)3zHPtk3ZnEhB)
ztu^haxUJ=u{m;VVdL^eXv0nX0UoJfB=nC!XBiG}1Gq0GCS8u<yG<|YGp!I||9yU)W
z*gx?XUl6ix&Zdh!%j(m9o%eEFxtq6ycY~tg4YeJgig#Tx+5fO2=gq6k1FW0R2_NRW
zn3MN<{}aQSuNw{CEDibS^Udm&^xQM5lUxO|k9VC)OZ}Z3aw<?qLZUCw@xFV1ux3or
z@$8urY4Zf+t~ZwaSS|J2Aw{6(@Ou9ZoX$Cy_p^9cXw5mZ?9tv9ex4^X^)6>+F5fyg
zL&$2%=CTF*OStFs%+waC{%2ZZt@?j5`{&ei{FWcC&24we4GGHExY6F*_U`4jFTxp@
zbSfXc<i0c0ChdIZ<!PB#e6MEiwDBu__((nZpPuNE^k0Uq7IW0Du$u+G=g|^N5P#pa
zv&C7(%2`&`a`FvUr7MQ9{U4;_zYEqMH167Z<jbSL4WXyPgbfUf*HmlFFlFw4Ro;K%
z&>4pwrQ?%l$9>Y_dacp*Ig5#@VuRYfO;HQZ+Gl${*Vrj<)@|%`QA)sTr&`~RW~PM#
zwaUS&w!P5{YieeH=~3x8z*wQP;F^Enh4x~b|1+u<-+mo)?k(>vA^T~cmvpVv>79B^
zvwruDyYm_k?n{hjC=#fyEVP}~+~-+Q_-1Zg$IF^uVhtL0Rda4sKVS2^xXzk0X4!w!
zWF^f@bC_cbCS>=?^l{nshbz6PKC*G{%IdQ+Huo=FYTsisMPR|zqd7YlO^Rjwc6_bv
z&6mu7eeCw}<|^keuD1W5RB}vdZ;Y0vqu!IUXNd*%|M`N8%Y8MOU$svE+|+uOGk`Cl
z<sfg~gp0ko+iwI&&8fKC<8rogGN;F#wO`x}S>LqFM_ruBrT>4$gcWRyZ|^CV)m(St
zU$p&uzU4_LGj8=Pvix_?r(~VSj(4)(a~?_8#;WmemdY*qcela#Jae;PhxQyp@1@hz
z9j?rt`D-TIvk&z)nx;A`Mj1_Sq>Z@`#V*WCanj_S_AXxBwA1u=Q~KV*;@A?8n`~>@
za<l)f-1=K*Vbb0eQ?AO`nI8JIe5sFitkK(*Oc@6Q+UMjZyWW~!{`y(x&IJcE&v!35
z-=?f>cwyuIn*Hs1*&16I<FBfEMSc6e=4;Nye--5pQ`a=k+AqP$TkqD(_;8I|uUp4N
z<F!u>LzhqJDHmBNx<ujPtCXG<Q`?yiEO2@l`EJ>d(j~pG?4-~3e-GZx#^w@m<6U>1
z;zJSsQ%8ShpWXI+y4T}5vvSwgdo!;)ykzz%x5@(36|20(R~Sc6;d*H2ZCh;9Dz?4(
zx*LC{q-`+Uym<53-{l=P&NJ(&zw`HF;5!i?TNAA{>er{L<T2lwQn4ZOguhJx%hc==
zV|%_^TRc}zvFiJ0IrZ3!HmN4&g~?4l1+yFCKKox?{gHL+9(lgUr@q!7-c@n7{Mf|(
z@gDtq_Gujv;+?hdl+cgZ-4h}vzx^_aU2=^|y_Va<R3o)_e_eEUOJzN}Y4vsQtCO<z
zx65Z~=2z$$v&k<m-*oxan;>sJz5cZ-%72Bb<c`JU&2*Z(P2|KS)x?Sk3SDv!4_#C|
z`{LNdm<PdLItOn_eA(b*t^Vvjm+W@`<$D$?U)h;AW9rVXyo<jy6(l@+!%`ijuQs<^
zUw(dnr<TdSzk6;hR@iT(&wWpO!OE1^uh}Q>obj>#(2k2ck1dbLz9jA-wZwc)&e8oU
z4#I~e9!F(3-ud#}jp^e*{$-VW=gu>$7N}|1F0X#{%%hw<hXazI)lV$bt7BK|$xHT=
z*nND1keBjd_L=k2n2&5=-FBm~Si<Y`Ywr1CT$40~?g{_h#c6lwlFeDSRYBr$Pu_f+
z@Gc?a-@W2D@2=IKXIEOxq|~u}azEz*wII)sq63}#=2}#@em3n>+<)=a1h#;1d6T7&
z>fHmj`ZXHsKFhihERgXz-g0qy@Q?nPrxqq2HQHZwxTQz@pUL&wsGEnM?~FWk>H4va
ztvd@tl7lKIoSO61lkM+;RR@im7c#`B-|-YQ<;vBQ4R6Yx7;&U|M}3a>L&K8$Gnuk)
z&u#y3XX^Xdw3xd$cxTtDBrjZJe%s`Er^WH-_ju3i6nwh)-KC)a1^2$&XZUsq99w^)
zPEj-Y<I8nF9>tt^8vUxwV42&Dz@Cy!M`JUQ;#=8YwhEt9wO?THeqB_o+_DMkk_yRJ
zom}75tSEW&%Hq+-YxDNVEj{&ob^W0UOK*QlSNdf3-9PNQOPJig`E?5B28k0&LS)vT
zVcCCbx#CjmFWuI`i9b&WPA#@A=g{eo+YxP_?G@1$GjX0)`-((c#*XPc_Tp+=53adf
znQd)-VB@SkuX01qJxP7*R}o)boU?w?->X+9IB%B^Fst72^=#IarH!G@%O47@KCt_I
zy>jfPiRI0^PxyTaZo4K^uyVKm$J-a5bGI-F8oBvjR616C|3{y--l93OPC=2TT9Te?
zD=gZkdfiiSxw3fX{-c4Lls7r@zuMhjKSQg|&9>QIBzOHSyKO0}Vh^XknV6)j*3;B<
zWp36y-pT%D&(A4kr#)S?;PGG9DUVbOYsA-gzmlkzIO))}&htxvsrJ7Uvo+4{lH@vZ
zqT^o83@-i{qlUI`fi;FpZyU^BzTTif@8Q)okKHs@EGo?1uk9vzQ8?VsCSGxu+{vEK
z&6;zfU*G=En|N?@_sNa3w*6FE@8Y#;6{D1k$brvw$0jY3KACA@8YI7Rwe)_Sm=$w2
zv$EDK)V+DE&$IsfG~L&YFLI_trYwtLWa*S}z1=A1<izpdT;q@A=_|!2zAL%4@$|=9
zp4}y^A0)nRU&iv+%Q7r@_4Ctd{#I}P2MOmk2{GmzlE}!O_t$IRZCB0r^Q(XK=uPUd
zxMSdLw$<48LP3hqO#g1bC$Bffy15y8FWay5imT>y`T}b^Js0td_4kg2-`dOg?y4WF
z&B+^DvlYzk;^bE>Ui(CX+iSPMxno`{Y(MgD(4D(-X;vuDy#UA4m47Vm+1^!(&2af#
zQ(OD`#k{(NTv3UbfGfLJ^Sx*JF)MLGN5qp<4beEpLgw$+18bLE4E8^IgHzCP!I@Np
zH>*qBR0N`*GTJ(>h%o(h^7)>6qe9c%11lewzAaN(=;T=D_;%^+0D;x)6SZGXm@@rn
zs1{dHzHz3H0Mo1aM;9%YJ$ZK)^V9WrqI#PXKYf1@Wv()7hjYiv_*|2VvCQpvyC?CU
zy|SulrJJT>{JqqfZoH8%&*wD9#~+w1x>dNotL)(Q6Mji+@9Gv6YL>O{KB4YBi?d$h
zamTUs-_0f|n;$m4)SbCv|K$DiPA!d-Uo*Ee=$-z(vyO`nu9~hP+We&PwtS%C(I#Ed
z?n9jQcP?#ucmC1$m+En+bMzi{dnYcmRo2<f)KODm?wc$8porUM^@3e%pXy%P#MV?=
zt#6-qvQKX9hmcGy;Wu_qchsM~viZCi%Y&<Tx6~*6N`1??bpHzRZ2}%&U2Io5C-cp;
z3$NUEG<?<$W{rE7xILzPnX7k5EI;q^$8@b{joTUb{y%eQckap+-!oPIDW75Ybzjcs
z<QH!2dQfnFZeMKdnHOsBZLgi0zotD-SzP<tF{?YT|5Zp_&1UkL#dBHR<dVZPrsGc%
ze0EQ4oj0e&xPF$8(44Ni$=l53&n7wD5_uoXKG8x@Hs<0@#yG$D6)gL7)^+ST%%{b>
zc+v+a<71uuf9Dx*>t(yCba}#ak@K&6SgMO}JaD{rBJ(DTa^%j-(WXI>!Sanyn|Hi8
z+N_nP8vJ+ilhE#GYjQ1}kIB3089iI=&Gv}>#<6oJXYn7oyZE0`{jU?+8y7yRoyfef
z&7xMzAwQw|f17U_(<75ehxII*RXw_;5>LDiys&(E=l$<xYKe!XyF2IHiCy<!k7<+5
z?m4?S-tZjTFk#!5gKnJj8vgLh++gJTQ*`N8d&ZGd_t*KZ&7ULoA!23c{xwy(`)@0r
zTlFZeaed@Qy|w<6KJ-ajY|Oq_pT+3q!~TGe=OmZ8)xBGCH*Kbgb?g3|=QqW%Gtf8T
z)aqmIGm`mU<T$&sx$r!lpUSVlw@6^4qt0}hL(Q#XzQ=Mh7bKrhpL$FnaZ&saaW~^s
z-h9@LhRz}rH`STkynpNNv`GwQoxfFAeVxhw!$+Ywk=1i{(}kS9)1%_<EuSG@Qc?fz
z$M5XLYoD(%IIy#7@wFdn!To=>XJ@Z>mYei<)}50aWfy$rEc#aN+52XX*Ala%_tymd
zuwq}K>#?K7_+47yw}Q>LgkCN@<U3tDqo(#y#?=QAcCWUcH+|nWw{_FYmEl{Jzg7qQ
z+`sq@SN(>K&ucPLi$WTgo-4Ee)N^I}SB6*K%VO*O^-k4yEmue{zP43Bi`~z_*L{}?
zlhplLdlcPXznR6QEXR2LD%bprEQMb+7M@!z*4ud^`L3Mrm%=U2xC+0yajsFml5sO|
zg$mzCmBf1z)(M}h_|G&>UGS{>>53=Z!N+EK2=CaH_*nDzZVtiX;JmPF(*tz$`OW`j
z-ru%Hvc0#ZsouA4x9Y+fRfSf9Z#GW3&p%DJ`VXs>c#7GP<(i)+#+zptZp=Nji_uH4
zf4bi`rBj=2jXckBH!atg!lH5V@N&!f8sA!^*4;_kJT=(K@W$3?>qcIs$j^N{684E&
zT-i0{+xZ)BJ0m1Q-d+>YIav{vlQ{8F#%fL%_LdWeqaLhq_)_+=e)Ay@rt9UtOZR3@
zio551{Ktp%TQz%=-CgH#zxf;<ol`dZR_DqKQx%<<>t<`qcihUE#`&+tTTNSCpr*(^
z)vs#tPL(rf4%o!~h{?JnweMdX-)H~MYUPrb#>)#-J||B)EM}qSvCI0F@#(h;IsUIM
z+mvdHS(o{4SB~Oq6?*z&re^(|v=8eOQaV@)jXGw#?G)g;@#(a_sExo!mG?CQ9>+XP
zFE;V-W>L#{J7v12)Cu8bN4)>PZr=VXXLe@duI*djt8cz4c~tkLo-6D5=uh+W!~Rz>
zJN(?_w=U|=d)uVq`6tAt&d+_ac9(OZj^K5*9uptFFD-s;$EK~S(*5M|<51xy-g@It
zabB-wsy^E2eR7#TpUFSZ>eh3OKC|0V<_}ki?T%6M&6ioDrgN{zFFI5+`buBr4515M
zy&-??>Ta#y5ySRY`H0c{D>JP>_C<<ces<KpM7qr5;1-eSnN0;d!lP7mH?#{08h?G2
zVeUWaL`l$#s8sLeK}p32|9(03?LNy6nG-Vg3<XDg(nFKC{LN8{STxzR^x1=x`;<7Z
zq>Cy)`q)$_uNeCF{@;0_6*V2-?k{}YrV+V0M)AwHZZoTwtS6o}uUge}_DAvy;YrP5
zSy>K29uuE$-yYZT_@Ye6#dyJ6Lgyze^VGd?ckZc8*4~BB(_+|``>vD>%;Gv6FCzZq
zn9YxWZ>{Tpa<xdtHT;fNbNJ3{CA)r2Dd(fQ+y6RSoXi&aPn3(il5$b(_D7bdy6QW!
zv>0DrRFwN~zIRV&Yr{p?+@(LK@_$qQAG<K(_R8NXtA3k&Zs_g!GIy)V1FmNuZ0GP7
z?e>T~DlNw;R$1#>816a!&9kfnHoAMRP7FS*rSy@1k}>oDTlH7iJl*}a`NnF?b8J<b
z^0MS&@3cqdGwM{IoMO=xJe5(GwBo|Q+NY-i<k#^gPMY>sM$Tf<wh6*>WtYa?JG%Je
z!T$UG@}57|O{*?_y`c1l({Z<@JBq`<GSB|BVuo$ZyPk!cWX+;K-JEUDynasypHGtA
z8^4h4E8nKRS=b{pcb!f9vii8HeOkJY4nGh&@A=v3SCQ|mgw=H={yTZLM#|I|K9hVp
zS5QLZ@S|K`!`+O}CTgTE@SFTtTiEErueLBT!=?Et(Fa@h?vj7YV)vU<YsGJE8<l{F
z`fEp>R!&?haqM_~_d`S8_Cq^wRYz?6U}&xvZNArfhQXsnC*0C6u4uPY31a1~zqVZ2
ze*TJ7$CvvePw#KMX6sWgT$uC3=l@Fn!yn%pE?CSdAX&eXIkiiO`TK!SULg_zdew?q
z(wYqVS|{4hIW1qcY}3cLOP)<tIin`^$$aaK8`~$pGqYL2v#$4*gYHMsD{E|c-Y%4y
zUZThLroq>*Tk(l*(BGrRPCr?7s@%Tp<m|7XpJV1E%lBaVWzoy~K5Yr)3R-r!YnI}y
z+tTfa?l_;dP55-cPN8j$)XmM)`NHduZ0y#yWcjJJ^31Xg^@U1W`lt1cZ}TeryjXK;
z`{K#7A}76dXI<+qs4Dj=ici?@b-Q`l%3ryD^G#Tooolzs>Nx+oec`U|hLzgSrR3Jf
zW-Ll)pIv`z%IaOmuO@grvysY_U#>J~R&eXQCQFg(6^#!W^3>+#><?eGr&!Q!jji)y
z{m-*cJwN0k7#+U3=;uL4KP~aZhcgb&KV6(vv(VnaO6Zw(u1<H@-zw#;Cxc4mO|JcA
z`qJSm^?B1yW0Qc@7E>aQM!o5Gx!xE5jC*GBji}cFv$tp))tjgU-ng$dyL-;I-#$-R
zUY?lJ_Tp8MaZu9TxxPhZ(UWfF9}HL&&s~woA^c>r@xfr0O_LZ8D~Bha^jw;%eBWn^
zSO}lfT<r`0Hhf?_R$wRjHub~GeJ4GR&Ae1FA?eh=LfzD_C7afDbs5h4G;3x>VXx|;
zBWABy4u||wV*Zej-ovg{|5qV9@!*BU5|*}G&pj866VBQ6K7pb0>Qvun;cq+}J8wJ|
zo;>-{+WCt;Bx^Z2&l)7F)~alH>~iUkD#x1%Vu`%J=Ra{XI=YiHB>t^S>%EK2Rf%~s
zdjik@dax(Dc8cG>Q%b5cQZ~AtcYLe*_*%-2zrE8e$`lfA9X?#C6nbRW(RH)xD}T3k
zD^BrD|KnjVreWH|%PP4z=vlJsB)x=sbD?#D(tXM=7jB-sQzr04;!*8gl5@3Ld!A|O
zZp_&I(TKIKcIwq7i{86)B(#4&o7>@>E!^H9-N60(>84FWi$rSHu6RA;Ht+M*a)%jL
zi>~(w{(i@1|NgC<&u>KDJ6{>B*U5JA&%62+vx`5(D|Nr^OZeThZE>um<k9HgYnYZ#
z&rogQ|G6zZTx9m;ciSBAcsbszyZ(2^534iB#WOTgmi)iXum5Fb<G$;jHhn9r=QLLz
z3)=9($9n&ZCWe{cepWeTXJ}@;Fl(Q(=dN@opQ}e4@1MgtJ8OOhd+m$2nY4^4@sscE
zyg89}M)g7_!CbFjnaiI$b9#@1SjtROw!OP2&-&=_SA64C{(#-a2eSLG%{-U;tMcPn
zBfb4^Cwj~mN`1m(^J^jRBf&#G|APPM3NOvuaJM~y;nl8P2?su^U*r9^DoN^-p4YjC
zWl{#I5v*Cy)-#lM<Yb&uJCd<0+`l-LkAroBABW17n39>7>i?-enDzc+y9x6gi?>Rd
zQm-2Xr+t3ddGE;8bBh@>Wy&Wk4%9xuudC^wA9HwRqW79}8VcoC*E0X^SfmlR#;Ce6
ze+ge#?u+|RUO989Tvq#I_Qx&heJJNH*`;SbPcN=J6t``wUN6Jd%L@<0zmsO;yU2R6
z`<wpHz|y;M&7FTeUogL{FXTMh6Sh?>u1w*fuUy%^rHzc;;lCb4MDVh$6ztiME2lig
z-R8yYM8}=?pY*(2f3WbOE|aj3lE><u`ijQM?}OQWS(gUIrIhN<V@;Osei~5uBcS|=
zg^N=J*JT!osb$J}*+F0a8A(=5UwX}Pe{*UR$J{;Va@MY1x_NWt#9VeQ-+K2Q{PSX-
z>u0d5lwa&z@+WKIO~V^6d?ch-U6*v-vs#8JS9EKm+>4FbUl;9Fy|B(ird*1*^16)c
zTCZcvLT#CYvqP@8Y+QI_v1gr=Z}PkKk~;GaRbOPCckcd@%FU{Q7j_k_sJ@jdX2`dp
zk8}1h-pJ_UHGeiQn4x}*)9!Y^F>}Jh`nzSn1h%D|*zLdZy~um{r;Ij_)D>;Q92Z63
zU+dKWo8#ev%~G$L?lo=`l0N@M{PE_pxYuvzcpW<axORJzwdcZK<NVIZ6gdqB-km;O
z4;wCURxnx0E6s1`elaKY+nP=tEB6kQaJQzoi@O<a2|Qb6@W=M;zlen=QXabseTfvm
z_BE?s{bAtk%m=?`m*kxm^n0bf{G^k7WudMJhsuL9^OnA1&MH)RF6cC8&!0xtYy6F8
z+e3d^PdjjyKX+?M{mR7)UYi}LbJ)IuXF~hmw7<W%TmLq{5v|3z@^WF#f7hkXy!Gqd
z0v;SY$CjyQx%JA%8LPK-a;?_g_wY^pzEY-~3$r}eE<0cUrl5Z1>mv;lY62S$1uQFD
z7k01sv+bR#=8|N|$>DeX?LTZ_&STx-Zk=ZN`h)wD<+VRn1#VE%$}iq#%5r<@3G<VW
zzP#4+e^jtn{^!42;x?B}q+U!ZOgC8KaY=QG$U46BN3R^2bgXpt`GrbH&uu)KbN=$Q
zf*6B6k-nE$OAGS?eGKZY-bvbDS-HtI`BhV&mol$Z^88!HYi8`p4ENvY5<Rcog8eJo
zP66wpFL7qKe1C54EI6PO^MAsrV0FXiLg&)U1nkcCElcTaUHwi@K&J0*w@T@m@*lq6
zqnmk8?o3&?NIq`+VvmWo?%vn$FZ{fbtL@dP1wXeKEu1%-`Pt3%)!JLsc<Vjp2pRi7
zciNFO*TZQ&+eYm*Phw{7^5WZheDk4OO?x(LUMq6(KC#rzYUj*plY~wl7irzwZ5Ur*
zJWX;U*UCNWdzH>#4_I_>6Z4_!*>(LcFBROy3h%4Q+3-g7d=o7bxUsP2&cvNo&z2Z8
zP1Ol*(d`!77V+?4oK@26m7jKf-1tKKN`1WLV~;wgLwDEQuV0s%V5lpWDp>tN!uqNG
z=YOj@++zNp3|yjBZLvGzl=)oKT{`lAs#1R6uC5PCl1f+5wR)xSL)<;1(&>No->8E#
z?OhW7%}>8@V7Yry#F~qzj;(wWr668zCt}vkr81jU>T<8j8hw_t64I7-;hbsdA>N`V
z8m;Qf6kXNSQ`}E|`j{LkvsdAmyxZ)%IvXxC$WK3ZA@tYv)N+mu_TP6(E*DQND!f1W
zp>$2F3fsv-gM|$y%88nFKCfi77$hEq{1=s5F=P2Px&6H2g}>H1J=nG+`NsB{5B49o
zmoXH$AN`Tx>!brttDQHkxRerX-V*%2`{N@K({AT`AL>1uGO`3@4nKO|V;kr7?8Snu
z^RDIGStYe5cIqy#PRaI{`<u)U$WJsZ-8z4s=l+@JH!9D2b*}G)*^ioX|BpG}Jlabp
zO2?S=)!NJ0`?&trxSMF0z0<dL{+BP7iO2O;8T))#@ief0@v<GP9J*^>IjrNp9qOND
z{x5I0--{%jLu)LK*SqQ6z1=rIbcuKTXSuAX4HBAv%(l)*7E#)kG2`I|x9Ba&6>VFM
z47G3Ho3*F6Xu~A&*4ql-cvy9lBYF;4ojRZEU47(a@!C(#>R)Dw7M%L}|J>UrG25$k
zl2oRen`spE8FV)Pu-L;hIb2LBXSQY9g7}lS-t~2BKWMhQP^fsb`qjsJp?`CQr*rDf
zvovLr|KQ!|d+Jue$~z3Fr=Kra`KfL*qe$-Ekal*HkI8#(*nJdRywGjtggtI~(a-qz
z7R~WjW9849FB-A#3m?xOBk}zzH=UCMmx{dpzxSea(8*hUpJ#tKD|vbLzokw$8Gh`2
zwA(^?{U?U{Bc@BW?94ra)NZ-3DOc8Oe*bXv1K0a!llN{9eR$<-nB%+>l_?SHpJzM`
zjo+)xx3hF@@vM7>w$AF+%YC%>PS$YPe*WczYYXe|8UMbzbmyj)OUpbad93|!c*r2q
z>c#xdo--*Sr&~4VKa77Cq7Zy}(vN9u?4OzLNm+Xu9s4Yx5pZk4$M|c<>>gfu<ZZRQ
zQ9Z2w_|^2YJi$87ydV0VOD81w*ep^LC=cG4{Ol*I^U5CceqXKGQ#WnAH(T&x^(Wu&
z`-RsDe$<=zS#^i{0_XXi`n#&@Jnj~<rg2XV+V#uKMtS236A_7%+6Ir`#QUty=L@|Z
zzHVw))898=Zd}-W^{JT0xg)-vwXVywD%P?UtlcTQeM-G)9@~;tAuqZ4*PCuw&Rw2t
zb=cy?+`2qQBiVo_&m#g(%oASfTU&ZN?=<U1$MtJ3W@jg8=%;eWT~@mAxc`~{z3DGj
zANP8`dipBnX0y%D+&%`s=RIg~oS91@pyYyj$lv6NNB%Ce7d!Q1@7k|?%}ndgGPkYP
z+Hy2=!tT{qf4g!z-K@W<D-aXibzpYstOuF-`C;#KGor;OUwn4A;`p2H=TdtoY!z<a
zDQu7<RaUd(LfygtOCDXkJ#|hNTTLjh>rc^*ESiRAAKF!$`e?;%oxFKP?YhNT6XwTg
zojtO{uW;2d$L0GiOD9$-@yRAkzhc*OIM7b1?2X&e`lVI;%a-hKPZqzFTyOi+>q~q>
za5iUZx8a4p*Z;4X*DtgR4_d2!IJrr@Af$Plcm1|qeOtumIC*_o(N>hs$l2j~aEHLF
zJ!S{>cbwm0eN=DFvi(nvolHIY`ADZmOlxys)!JRx<4ey4?ku>IGP7e>&=KDa=hd&|
z3aaK!yZ$a}!nLr}_1XKmpMK1)Hxje0|250%*e{m@vz$|>C9Yqw@S1h}Iy;|t=Vs&y
zzYINCajU?wdhX)g@?6UbiVELH?b^<n6ue{ID~qcp%$7;d|DBYHPgRnSuk^Tb^1)Xt
z&F%-H=T_z?#&@i`GC5xCin`r(ow@1;4VhmbeEzDc_`<_9RC}e&w%8p^&5Q2zhI@$~
zfBLYVdFtj%Q)C)ea9s1={cH9EpQLLFl6K62D><*+Yw}TzS3lGh6q9r*<A=qxtA|x?
zhQ6tho|q#0_ON%foaWw>M%q5S-5WaCE89I*3t9bQ&RM>rxpn=dMA4;98-241uKV6N
zS=4cN&pYvT6C?XN+kbV;ie!5_OX)}Ov9*!+O*DeGG}rUT&SH-8IDUAN@{IOw%>yA~
z#uJ})Z-{%*`%JCnuJOZVy<3-?YL(k6|FSJD-I4u_#rM+TP}!qhFW+u0Z}ZMd-ec$T
z$?%9<LE}coBePcR*ZAZ#!SL3zsHt;|B~EZ~1&3c2xZY^9x~FXZ?r+vRmi^lzFTO9z
zwJp<<ufOi%)7T8n`nq~~yU?@V&P*-)h5oTc91J~nbm_!<uAdh^p7j0;Q`ap&4W{_c
z&&C&IY&UXk@~{6d+$HhKp!2QR0)^^BI$yUtiu|AJwee2Zs_do|Q+t6($0IjZoZiHG
zU9R$`oo2>^sYQ)THaPx$8uioH?s@jDhN|DuoTlf)zAvyb;Sijf72{CP-gjPOZ{@;s
zp^3Y%R+;a3o%?Xw2W8hVJ^`j~(>I1Mw7Gv6o2)umIY(1_8msWO<NY%h1^YhaQ9OIl
z#LDZw<04bJg<tozvmE0-{P@n(^P4a1=Ided&O4>@D*b;{X4UC(gQXv~Ke~2fMd|rx
z{|t@)JnwIvRp(m}*gf^<wD~f@@w4lbcq^X?_4@s>_4c3rH~z%7ES0q$jT_I-S$=!(
zD~IjPkCM7pC(8CVi+TU~xoEM$PaYP@{K}jYzW+YhJbEkfwpZ!h_0Kxz+#Y34S<xbv
z8?H1((D=q4{wTH!mzn1!ZrZ<E`NeVBHff&T!>4-lnt9^fz0a21+E<=(LZWWc)0<zu
z9H?(Rbo<DeMF-s&Vo&rhG2fGD=~eWR&pD#|<BQej|Nr*f@@=1v|L3PBNeO4pEoyAI
zQ6o~cVDg`@SHC*lQ~6dGtY7@{PwnZfhMT<yms^wv#hjggt0{MXTUG6grv<%6X=_>P
zvhMx8#gY~Gwbw51OJp{)-<Incb_Yza{4Tw0_HmcJOTApK<=qJF=?i;o&PJ!}U3jmN
zGQ)IrAWO@ZA|qF!Kg}$TMnyTzixj*cJmfc?dH0H`T#<9}`-5zzCbM-G{eOPylkd;q
zRf^lp19#R6hIT%=^4)gV$A252UJ{Ene`<Q4i!F6V`eb1vVZGg#wGaM0&b;7?ZF;91
z!!;Jw@btEtC*Q;Cjc%uC1m2w*eC_AlJ31O~!s30)Gn>68n4ENWJCHl;aQbuo<r{@<
zi_<pRxGfKSKX=xi^`DEss_gt`<Fj&Yio~&%pO0SV*7EzK6!T(zXiLky3CA?e_bsyL
zuzs+{J5Mfr(o-oPo+SMTl@Hc5E3CV@et)s|<O3gSN=s(!`EfFyqvcusvty@NZ#}vC
zGt}1ozx`D+*=yAXtfr;+p9ovt5`PgGuKGGJaK|i`jXL#SZaO!V`r<!Sir9wFz2763
zsn1s~%6V?eTs4N?s(BIb4`$x3Or3P;+lCqO?u%!vl{l`_xvJ>pL77ec+Uul0s+_yl
z&GbKe-sf4VLWhd=9WHKLy{+I~vR*x}V8)?s*99f^JaW!?ezPQ>a|c^%PlI3h-6I8?
zzW<x>GeJ0#zc%HD@}V6WQ5UZ=hORCaa#xW(?^3tscg)M}|E)O77lxHA`XwxT<bmeK
zKiq4Tu4r6|-&J<9Y_{cG{=`KELc;Z3S##I(ayqWvG3A6<yy@>p{yvA^JJbiPdCz$L
zVtr=E=4!oQ%dH}Rnhr9|Vf+@#r@r0h-K0JFPS*e93j{6Bs0frF^PcH+*(LGmA}RaS
zklmMOKbgDdWdHTq9^d6ot&1s`?33eH?71qu=EaNxe&*xl7oUH1J{WgJvcx2{E@J!c
zCT5>UJ$|jLOBOHv^D*K5r|vV~{LPi?8XnbO`Y+a8?<RMWk0XG&MEF&~sR;!_X;GD_
zwS0@7MVzzhXy3x9*`d43T0GLV$cQ_2{o|dE!h5PJ4}>WsoV<JGw?O8P6Yl3*FSj47
zbouXP5z>%(ck{}ZZhslOh0MHsnHGNIeSGcPj-%2Ina{MO9!tb7TJgi?bKahV=h6;w
z74CB0C0iq~g}>e*cuHMy$IPU(4Ub+j=N?M?eelhfSG$Uss-uGbiNrP@lQ-e-aj!^7
zaC^gZBC~(<{r@MHNp#oUt>v^+_o;c8&+;NRecFri^rBz!%KTQWTdJ-9@=g69Y5!pI
zB=$xo(Q~iF+m|eOSKgtfr2UWMQqA&dZ-nP+#BYAb9Ve{NIahdPz5b8IJ&sOu+g*z%
z>zF@f-0U5BWy_>ClYcRKJLm6s+2_?g^&6KU8w<~I{;GybxiuTqXVlwPUvFNOARq6S
zduX%Yo`6X4E;rFQ#t+ShgkPrc$t+wx@$r=3eLp-duezvuuAs!;_HE2<mwVi8)4zRS
zPW7&vT<K@8bZ_f_)8Z1XRHypr8#|}i^b0E|T)#L;w=H4wEw0a}w+qG2X_WuCo=N!h
zs{Q}=|CiiSx~}}X*4qV-Kkhmg6)U@YX-E6558c|Od;6cug#IaeR?D%~>+9T?&Qn>}
zZ^*W83;rL?Ik)h>P3!pz?_(hyo>x8|>zsL`yp%7rYUcdv;}hfeyUFX9&O3gpGrHc!
zdG((bX@mGPu}kviDr#Po3(I`;!M5Xft9-{3XJfbLVtW~?+ckCO#XPT(d%9jk`c77Y
zh;Z8MUu&YHgT;bhPuca!-7&W0kcjq`633}m{-ic?_B~?07%XzLfBBRX?yMz@XXBqv
z^FDrk>f7UIjwnnk5MchOmK5-K^@4L#|A!r4Sf6}W_gBZ1lS=!4FMl(^BWRvorvLLp
zn~peK{$IOe*2>n-Kegqy+d0KQzFc`M$o37JmrCB{eFsi2YO|@-IBKxrRop3i(V6?b
zUiPmvJr=lO{h3d$;X5n*UQXI@IepFBldo*Q*R8Q=P+fXc^Oj-2jhjttddjQ(6^`tR
z;5xMIS@YF`hxH~Obgti)PDxuBcX7t@4~e<Lt-DqnD2|G%dZ;^B<>H%Vwk1|CbT&91
zJley&@p4=CrHX~KS+C}cu3j;%R^{VAAvY!GTbn+-3EU;7n|fNbLe1G*Gbrk*(Di?w
z>u#T`pPpLjUv^<uVtc~XFB1H2>`AIjYqZ{Ru05GM<KhR6y>fq)>e=!S9SSvkqwVvK
zbLp-rfd$h#|8JdKFP+Y6RmZ&Zefm>H(GCAK?j}qRYH7A9O8zRY#~J#;Bc7Rg?y;{Y
zAJ6Mu_|os!!if_PO<8k~LF3WU?keB&X`Xw1A`;)WU$|FjS<C$<gMZC2tBr+;61M~Y
z#^vOTeLwh8fAWT`T_OFGC*QnUzy6o?-nb(w=eD)K`XH0|@Ki9LiS&X$cdkfGKC0Qb
z(IG!{hQ-s}$rhraY<>~?879S-EPs{+3OA~3?%yXbS$k(S2Sb&V(lp0f*2S$J>swZ<
z>VJ5aGegGlM!fP90f}#H9&2oL+Seqwi}<&A{^CA7Vb`hLwi$lrZgmI0-MpogQeXd5
z&GJ&-;zwQEcAdF0`M}XDTekV#w&LcLGjvkmKf#go=-rpO*BbwBXnY>A#@MkS(m~Si
z>~@<MC%V?=GCRKzjr6)-{o|oj-J9u~f7oiZ?9;UU@>Y0_q?_03Q#?)Kmah)1FV5`m
z;LJC5dbMEcKgrPe1a)`T#k1-yn>QS`)l1p0T)**R-jb;gW_NQ1T)%!(>h0FMiS~`V
z^ghI0oUvr8_emx1Pwd8D&!u-AQS!OH;SC>ad|~Zm+a>Dqf&I;@i=LSM**BZ<_~+Yd
zU(+_#ru7)J%>PlAH|Np1*=OrF$R{puzUJ4h_B`>osR47SpTe&A&-Le3r<Cfm?-a6s
zJ2yRk&E|Pk^%2jx%}r<S*VwM(CU7U-N&JA-WwWXO*F@f$_^gKKJXiRM3y0#bWxKHc
z%6@6rc9UyP(~ge4aur-cIWKBiP90)MSh+uui)Hux*5yIZna%$7_)b0B@auCshraL8
zo%5z@w)H$-S6iKV;E`#xjcEM@Zi#|4jqR6N)UTGtNgAEgo8MWV>GE}XML17;@ZITh
zwk!46-+koVtt&h2=Gg!>HO1hxizWTSe`UB`GiIekOuNgdtdVl2F7%s#U>vt(<kyAw
z`u`p}k<Qa?Q?oV9TCDoy%fHtgefn;lkh%O>A^TmDQjh)g#4O=ePrgO3j7rUM|6(%F
zFXho)fh%5bzTSCLV>S0te0>pfvy}FS*uy**SIs<TTzt!&YlG!2zb9Po%dc#(G4I$W
zaLc#!*)wY<n`!-@K9!bguYdaV*S}-8?{2>2v2I$V{W85Ki*=sUJRYlUO-T~0ICOQ(
zqLt23QkNpPMw}0nnzldD=ZM^fPup1yPZX>B7*#!9w0XHr%=rld56df7u3q`&PyJ>+
z&pmV3=S-R4#%d5#`6B(o#cA&xwXaG^bUZwi^whf7o5yb9`VY~2-|n2a<oRy3MF+WF
z{cjaon{q*dTX6E0b*XKFpLcT07Svv`|1<l4srUoVlXkN?0wUt}Efp=C-M^snXUA7*
zoi4FsIUgDC9$CKd*$LCK(9qD1e<u%ri010uQXjP4=@R>{#~cD3J5IGEF<kw`b!l3Q
zh0GCwWxeZ+QZ16?lmvuUN)~L_YY}J)T=nwy9S%k{trrqEw#L0G6IB+LU!b1f?9dY_
zAy>9?;kCxhFT(5ZWXVnZT@lG~bb|lR-9qbDIowoVyhZGuP(ow#p@!LywWCh-@NRpw
zNq0q+b?lz{rtBwwp2$rJwcW8wl>K?uqE*wITlbyao^)I`wce)1BKq{px(7ENP5p88
zoA|Q0x4&aNb@<g<<xh2rzkC&?5^zSY=dbx^CX@E%A#F#08^z~7VZ3fxp&skP-Xyc#
zVOGDj_pX_lVM{A#K3=x@j^<;>OFhwbiMw6rT+vK>vf%IfpU>)>Hth_!zw%{}|I8ZJ
zgEMND?kaoHBDO=gf7|l@{>DWfxu=)!{kL3n<^EljF@AD$0v|*~I37tU`!sPK<5ZcL
z`7>kxm_Ajiy8e0b@9lHa%&I>Yeg1JJcDs;g@b9Jq{*_*bmwa}4wrOg8Q%O>+)hCON
zmYt^8T)Xeh*nRz1$G1(@0q5)g_O(Py7yJzVIOXc3%t?m1^Y80M?d8#2eM6e<V4VK?
z)<rtPGXz@GY^PuCI~y=L$ocpDYdx3$>@AzmRq?<fs!XKyrL5yhF4HJ~&fN+p^q=ZV
zu94(DVl#gu>vkq#gId>fPoAvXr{zE0sekU&znL9#wrO6m3IDEDr)j!&QTgp2ruquT
zwkNia*T_AniS<a6^f>syd+oF3&m8T93!T4sw~J4GS$Zpe+H7sD<M-FgFS6)Jv|JxI
zYr<V_jp)Ss!aIru8G$?B=@)#S{YPBMXNG{!@0I#1T_m)2Mc&%za6e{crfzsZ_ODO>
zr7XA&ST6rh?YlAai0k&Vd-UDcG~CgZd0qCfp6}54w-Y5Zm7ZG9{&)MY?i5!p`Jcgl
zYOgF5DiiZ<CVbDZ$enTTz~$&<xv;L)7f-(5eQ7aE-{st>pZPbVv$>0wnO5G86>hfQ
zI;GXm)4lqQdf}J78zN%Yy_q$`>xSXw(v*99c9%~&dp2yD$HcB}wso;<U0r7Xb-a=*
z`ET3W{om~B<C%+H!z(x@PLNPMyG|v4`_Ee`YZ(jX{c>%ya#}N^`Gj1jiG_r|$&SDO
z3k&_C7il<5(!Fh$dV5<g0+soGKXZBR`V%Kat<8#B4c=>Cy!kA%V|@cp(CpPJ>)8IN
z3Pta@@>~2-$@X1K?p8$yveaF>VZZ6qhsBB857)P|_(>OL=SSCb^sozQPo5R?kjZ)1
z!exoycDKdZ7Ot4**>mV?(ZgxHQE!9}2;7+@=H939^hf@rCPt=Kg{v+PPN=?NKEi&a
zBY5ZH?{RZtUF>EH%D3J8Bk|17ZT5+Uj?*`n&QUAh{>=T=4~N$)AE+2yP<#JATT^zi
zuIk3xjCU_S*9Uv`KJ-%iCllXMA$Lza<j>x}4g9eZTb5KtRUOtksle)K@~GizpPBWw
zDZk=+73(@58Y*5rdpCE@j%DBdPrQ{eNZ9&{?{K#NTdAn|S+iKGuWWr#dMkPYcj3F`
z88)|HihfP$x;IxS@cQ%nY{$FvYc+4ihr6yx-utO;dhJBj{L=aLrz@EsDc*ACxT>lC
z=Jwjerk#_lZ&w=q$gH_HrOc4!>@w|WN6#f;6G}f!jt%;9@SbRt|HPX@zmhfAoYeov
z{P9R=eH}x+u?lO!g|(Y=4@Dlkbxd4YW?P!S)c%~Q=~tQ^Y!3Ziu;sQ@N$%$cYc5B&
z{c+8O%Z}ack<Hrj?R59rfY$mCQ5VhJ{W_N=Ffi-c+8zEIUlF^st~QP-EvM>Yxs!n!
z<LqOL&Sy%>IF_WO?2Wy!i}g&E@;ip?ecrpagto^|Ik7FQk1=%dlqhw3#avJEwFc#d
zb<e6iqJrz~Ca<er$mMo0bMnTuM`!4&@jIT~_ey#862`AH%9AHqH16o$5o2IepA>ek
zqGi#&DG`5pz8(sHbLv84P1<4q|L2Wt&o5*D|LK}gcbmtjt9HB>`tS10sQ#FktlB=I
zX=B!%-Eym*?_;*EsIBxoULw|IGL!T7$<9M34;|onr<*Fs#{2tD-_#Vh=%`zhJ}+zi
zd0s<w<+{)g)`q2#H}?8F%+AZx{Bc+DWaFXw<@4QV^sC0!|G&I3ebYWR&xlHa(zT!d
z#c(dKzrFf{HUBr;gZ&Ii$pK~+2D4k(n$GUq8>a1kczwBp)3T{Me^2oJvtH~!gFxBe
z_%oJ^T*Z_RWvw%?T+6CqWolVpp~mJNk@wL1;JbsbW<Gy^C1=ITPqOwuw|=aee)H`z
zA<J1e`M%driFCRqAbL*4>-6)fE=qf*$A$ZcCpk+B)u`+;eXcm;&^1fm{<X&^NCtbK
z;c?Bl$$jtdVZYf=d^tnKuUtRAP5eF=$5a`e?F}8LIP-kk&orFXoTTz0{9AD9eYx%{
ziRDjk<os}8D9yjSejB&Q|GdPXr&-^hDo$pxUUkya^v~9fmGukET$CTGFz)hS5w|@q
z&#ucwtn;H#teOx1vzGm9ZZDOe$|3bn^N8z%v%Iq&2FYzZ&v;dHMd=;0P+mJTb&ns*
zy!YxJ*nTGM+e>!!X|KamOv1N5-Q+lP`_<P$$Gm3Qevw(RNAXyQs1?Hsb*UBa@Adzk
zZfoGyl5tji$Ab5tL(eis*2|sASu3$|&eP1@ORQ5YtF0#-iBZ0*9=?(@HNfGm|NJ%W
zUM6b$eCPT6Vm)C0rp8uC*mFbO)W4Jeyh>}gUR3p%n~NpLe*2Hdi$qlJ1|>RW6sQQW
zn8!QRs;UJ$@l^}oSy#kScjoNPNoQ8ve5z*1ZIgWH-;`DbLGMX<nu{MyTvk_q*!R%1
zn3Y#$AI{ENB2%xD5#Sq}-BA{G-!x3;vgLvOtm%h^%dX}BOOP`8viHrcWw{j(Z8$$L
z-d)6MwUo;%pUu+f%Z!`?{_4%S&*LxZB~F&x%3kqQFEcE?n$h*5<*OAu&ztL|qwSyZ
zITl5GEs5sd>HQ$gQgZjV&<oFND&GBESKm-3ocu|E@#W{T?<~LGznOWIiGA6sBig$(
zr+d7zxE61rtE|}{_3mhL?Nbi3GZ7z*U1v?2pX&bM)#rQ1l5>8s80?z*^}Sf(Qd_|V
z9XDRixG<}IR+@FHykTC`&BNR!H#8j-dW6(9=C3GcJ~Tt@Ny+BhTjyp!)lb=G@JGv*
zqm%J^y<(%?e#VEf^WJRq-LzAn-Xnj917CyCsbd-qEz2wqy^&Z}95*F!*XtF+e|NRG
zKk7NA{O0st=lM!(y>C+5U)fm8-?;7UWqal6LT+QTIvI6lhMiTLa)lMF3m<#r9Sfg)
zZA*8^d7joP246{LXV$$3ZYY}0xV>^8+iRr>_oqH%_WV)*@uzM4UhNAn44(O4iS@hH
zxi(>=kwxi~Ri-VRyIA=)_b<|ndLo}_uDHj!Z=S-8JcB37JB4l(?SFIZ%EmKC=lAHu
z%s&4n`t7RLmHDcPJC8{oe475&qeFhzT?eg{qgz5>P3v_FO5i+TXkN2T^o3aDZ01J!
zvyXx=y$p9OT7Th-gLb`vUD7c}k2Z4wPsigM*xxp4->;9n_R2{`RqNraqwjB<IUR1l
zrNQ|rNL=@>vBp~+H^l=Vd6_0Uq^|1<7g!tFVb6YQdxeA5UrUQSFV+NKT4*{aOKz=%
z#?$$iJl5ttU$rDn>hxz{zqDV?{^@dN%+o~5_s)2@ePfy64a2!yxBmSTsDG}&QLMb^
zF+cN{*hz{0A%`ygWS+^k>)=w6yg%+vht$7RR2oOFnWeJ%%WIY?owxq5iQT)G$+?8h
zwqcH!^z2<5|K6T|`0S<?-sgMUeEhGoY<a-cp4l0nbZwWq;i|c;Mf1Oz9*nj7u|P#y
z*S_9zbBoxo_XlLAJvlhZ+Ro(hyzHw1_4hc|iC4UDFn8Z-{-yK9x*NQ=MDh+R2J<L-
z+?*n(_NgV8$F*|GmsS7%n--R&i#o6WzV<-PFRsqiVzcX&XD9qwxSB6c*XY88YdzL?
zcg5ebUe(>LDp0iZe!yI}h8=gxzF(NL^W~)2Wv%;C7^6H>FZ(ASWsADKch626+a2E$
zLy{HhCtOk8$(Rv!^XyiaLd)-ObX#H!x6Qt|(4XH*b;4QczXp;2YcI)qwAOP~PnVoh
z_P_h1oS=E|*H7E-{yMAE!SSZ}|3s!6JX-VEGA^Dd^DlULYfqxz@d&Zi4-7TVl`eh|
z^XREV53ldxALenj%`I2WPhM|o`ux1LlS}N|F9x&gd-m2(S#$8d>TPDn$PM=2YlUat
z^0~{`=PLA<xAf_mhC<o+x$|l@FaPIf{=x8d$(;L#g|8Oyw#>2S=aLmI+k8qb-0jhB
z+2`e5IVH=3e|e;PKAmseWy8u9vqkvzKKZzf=AR8!*#1ro)Y)>iyya+`(^aALsKY4?
zmET&$JjB?Ai;nC%R&Q1EcIj(2)v(8Gf)no~$)3>ut5DSvD%m#sRt-nuw_822fhRQ@
z)P;XvwL5lscM#vhu7GoiwhvzgysK_B*Uq}6?SD>3?psgg);Hh(F^A=GD%xw$>D#r&
z_Kr)%&1X~ID=e*Dah~V*jM63RVo!uCOk8;3+0M6K-<O(ZUDVVGc21a3FL9{&cbkNK
z#>;A>x6M`czgM{~Vy`*&-T6*)`HFLal6!Z=%2zuaaI?vrasQrSHQSt*u^a#0TcD%k
zFzeri*Ru^eySbNpzMen%P|m}DX7gtC9lky_*XQE4NuPZ-GOxbi;e1EEUikI8H}*kO
zG&t-&r?kdNJG7Nu7Bjs(kCQ9!tV@6W$D4Z;tt@yiom#!nmaTOiZ|l3?8kJh>s$C9F
zKXOm^_Y;F^_cO6Z?B7(Swr27Fj_6%=idmCEY09RXr!~yNruR51u1!c=+<xnT5F^9m
zbsa0%glrGji<&*yF)itzUb~e0y~EC$*Q|ridd%iI#&GqHb<bMI>&usQPUL8Re?fTR
zjpTZ#&PC!2k{X}&G|vD0(T`=f^0a!r$z7)JLyk;+onle5)uJlE-ffoh;;+V=m7bhi
z*|^VcuBP5xhAiHnS_{9-_`5Ie*{K-^D%@|ytr2|xz~ttu8<to7?k%XD_1&%IrQCzZ
zwer7u_UXjuEmoOj{oU<Ni;`ZEY<u?1!*5TQ-<_G*=2jo2tP*|U$HwFv^O;OfPgS0C
zrS=_jz&)v}+aGVuPPpEf7<}dOVc*>|`4;BII;_a>6Q6VVOT&z1PMu4>HXidjGeMY%
zd;Y}J^+)3xOr;fehsmb<Ox(L%V$~Gk@9C3+E-)%(uXklB`xF}X-F24s$NG24pM4FI
z)>vh2%lw)9>TNA+MZL{pYm1M8nte>IYh*>P#y$#TTJrDj|B&5fw`Q|T%O>-6c2qNp
z$2>W<^q}r(PNmyff8Hmt&$#5{XYoqvcF7_A-2b)LPcC0uWqYu7t$^R%M7}LIr>va%
zsyyfQtXFx5H`?ymW9PI`J@(6qSMGc5)W7~-;T7{|S#&<n>*i}yCp_a=S>KXUwTXX@
zl=<VP+{C{V_SA{msTfCuFvbb*y}bU@qgshmdl-M{9qQ!O{ZaBcZ-SH6eD9Sf9tX~5
z{roNd0*Cs^7jpZ}=Ce<Y;yLW5G_h6Hx8SON?StO72R*haEj1^mncq3py;h{MzxnaX
z5Nq}8h9Ziq1JkG2yk_V(kJz#POrTM{%iI|b-n;px_Q!=kHTXUAbAeE!lY-9gt52@S
zR9k#s|1t8s@Qo=Gq#Q(VeK)q0|6x&j%e3#qE=IxS-=Dsiy7ASW!<;td6QV@gkMO=r
zRp@2a=w^tQQ)14zDRC(y(d=ZGzsS9KuX{~O|M#n%`a3ISz5U*7!wK7MlQSRcU;Oi&
zZ*je8{D=R%n>J;C*dzTzy+dVF$K*{tSG^^pyUri2&rsYTxN(zP-Q>W%5r<8GoS0j>
zJmB^2yUkXHhJV&PHF^E=yleqy#N64T8*fKm3P_Py7e7<odiS0d$>Q^uO4w9uL=|@Y
z30bjibCj`I@jg@LDGXm&{XHb4SKqGGRg9PF3{zb2v0g;Q_e<h#4T0Q8?+whQg+4Q;
z{{8*w)4CIE*QY*^U-I_jwB)#E^JT1-g;TnDwXJ$p6-pm6e!1nc^zX`Jr~T?aSJlN`
zyl}W;*&i*tBMjg6-~U(gGE-xp)J(z2JwG_gm^xLZUavhqEzd(Gwd{29N#p*OPK`U_
z`&hlw+#(9DEouK$U#~0>Z12@GZPn6;+fEc()gCb1vUIn3QYv?9>avsi6I#wrTG$k|
zX5V|O4R=l(-LZdrEnohL)vCUAmUli`>vHb(7QMOep|r*IvM+&$S5E#rndkEs)sNu;
z`Wgp+?kPI-K0Nrzm38v1ow>JIE%eSm>31mj?a<1;A@uXD37J`Dm$+=|_uYM*a5cZ_
zBh$TyI}XebWlQ}jw^=D@{iNeM26}UsPoCn;tGrcxnfR?INn7sDwC~H-I~(_f;ki!q
z`s%D3Q|b&OruJCwy``K#E0I;!^z$oDmSsXue>X6HNK~^)RDAg5M%1oVGh#z!EDjaj
zw_k2y*P>^(MgPZ&rG-gKZ(ViHKb5Tybq<hP)NAnJpD9ysjYs=C=e*B3UrIRnk6z#?
zypx(Qw;=Z5xg*!Dc8eEoI~BHA;R%1ckn!Ke$E!-eu2T54`@2Lhqv)B(Pi}sE?doDb
zarZ0-=Y7dc#d8A01^AjRd6@2O;1MoA@o+zDQD#sV&pwxPmabp2k1R{;zWqjiKhsaQ
zKlN=V3)h_f^=qxzmj6FZ%@^Nf;Fp^@YqNyMLPPIejb$JE6N4M-HBR|Vw6J!Q=~-U;
zbN!0e>F;Npc*$KGZl!d+I6vLx=dbcbuk2P-DD+)98q=rGb8hDT0KrfEU8R3#HrPvS
z`@Z3pg4M*;tM2*yZ9WtA<+IX<H5;?dKW%lmrTg{5srrxHcdbP2v}4K)o@%w8(9*E5
zy729k%fSN8$ZO@B^M7*uQulG)GP6E3cKV}m*8ROLmHC<a9&cwIxzVI>N2KoBLep;n
z(OiNli`Mq}@vF`56O!mGw$YzzWbGjE^wwLh6^Wnj`uX@qw5<tlWBtg=^uaSgV27HJ
z>2kj(v*d0}vOiJ(&D~rsL!zL`^xqb#*;9P}2d1cHF38;zexJeg!S=nE-pua(nbK$b
zSMwS-6Pwlq6Rwu60^L_9wr_IYEPsqGZTiQat$%i|kZRk@&U@`c{h`u{4>Fr4M2B6w
z-Yh@)s??3xGDf+b?l)#w*mS==5jH*Qf<<diLHIY(t&65wMODpZ$gV%xohGnx>cyFd
zpFfSTvf6Y(CwSlde^<3M&oAb&UZ^&eY1O1H%?cV73{^A!YrXc$Qs4PzN3YPUuXV|r
zBRGwxuW|ludmyb$x$ddt-A$bH4}5<h%HZ^8l|$(Mlg?+4ZY!y(;GJ`u%lqFMjuYbS
zJwKLReUn_T=e662S?HKu47d9(i~1HNkt143q8{&F%Fiv<U88SOZ}KkdUBKdyZHGVq
zS+ZWu`|gU^*XK6NtbDiEBf%^1s!#6kYK6T88||iU`OkP!Zo|a?6@@dd|DNr7n&&v{
z%G^N7dn${3CR{OE6ny8t`vlW$->Ml+qGI-qZfC4-zx6YZG^y`XGi$%FmHAid_X?dQ
z^(GttJ1o1CTC|S$iG_Ge^m6yRyF2;ki9YR9iIb4ge!1+Fl<x2Qny$+2Pc{iP-RgL9
z{<A?1=Y(sjrN>u3S=k{f^VsLW5<{<aO@peB>NZo#CjY%85Mgj#?#})0j75Lun|fW?
zP*bD2RNCYGv|fATtHw`-ukhR}x#HnrFBx&X;SX#5`xhGa=l!$d({)Z+$#3tnI%@N8
z!>=2c8~8e-y*n8-Rhpub)o$&-SjxQ4ZkeHVq0$$P=E}{pZB@KZChc76IfWr4(fZYt
zlLtO$b%b12{(P$U;e#_4j3$>F*+QhUZ*=a^7k(A>hcA>r)|lzMS<1w$*76O3D|#pL
zeeHi?5c7}4wf?C0^vm;wcKDZS*4T792C3;X9b3bs%3+;#v-j=d&CdJGvM#v@<m}wu
zHub}UF!v4BU5aK#a`Kf@?Qh)Ye*N>P$os&%4PiNnoE)A<<gYawEmE4F@m@Nl`RU2-
zTC-0T6MGrEE|w~0U0bAR`0ca83)!{BW|RM~dph5y;b?pKQ_ges(Me2)!#WEyHvQjg
zmHNx>V@YwfxcK`oH@{1Zt^Q;!eM;@-gY)?!+*}d|w5~=a?b)BC?I#v#{Pui9lgonF
zz6bL5el6Bp^jF8+L+z(*?OXXEts+UjMy8ov9@<~y-YU3FWGL-BzO-bjU(O2mpy;AQ
zTNhosw_lQFt=*xm)+WiPqU#y`AJsB%UK#Q=x8MM8=JT^se?(7fED4r>#<B6xz9{>L
zRVOFZ*6%v8<Q>N!56QK%o{WojKk?tA;4f#zw0%qb>ZN@9#5KH*``HDw@6x*_&-_=q
z^xoNPmp81mb5M?XxwkiR&iyqFMelR7WEtvGtA6pFU$-as@8^x%A9<(7SEv42P|vOG
z(tJ4btJB*gRuz{Ss=>{{)1*9vOVl-lPund%VPhg7aCN3oq{Z5^oQDsnyr0{dDBMur
zrEIye#&g=C4-eud)pT0N353KOf7lj!>%NlmmIQ+qh4&|l7hiw0Cd4}+JnLnL^edy&
zUN0_eSlamP^t`!pf?t9+bonfP@lQDV=jXHa^G_w~z3&W>6>X|ml8`MFu+IL1Y4z5o
zjT?`~7jJ0I$(Nt`lp}N5nn}&Oyd~P6^)`RIc7XMV-j-L>Ossk4P0&v{!&NjxW<Iao
zgt7;m=RaI~rg!~d5ATEJNj9fv+*tAdLv)(ut>Ps;_Uh$|P5;x<m9w8_Zg$HJ+)%`w
z*fxP_p+$XxP4T3<jeWPCJbPky@$8d?ZO%EH-j^H+5S`4n&eeZop*hzbUN4sIn@x&t
z2Y8D&zx8qA72jmR#QHwvLwCu!Inj}6zy95sv8p0f^mgB4*{|CS@60joW<T<O-zE{M
zEv*s<GXG_5UUcD{#6Hzy5wpH%?-rgBqM%dseT8)y&znw5oBEgYrKPOD>LzXP$@Sc(
zP`IXjc1K@Y?(5K$)W?4(g$wPCx4d=ms~5LV<|Fo(j%@)G1Lnss2r6xp+!vjizD1Hv
zD$1H|%iK9PEwX$5ojm?|eL#AFg~o~2{ZCF+^qw;<R9Pr`!=*Cn^aFK;It>N0wY)nx
z7j9@wJHs`nq1a*B+AN0pW`QLRPin*_m)h-e>6G{=dSTn2T~`eR++>q0|J$gf2)qoM
z?ZwEd`!>aCc1)!Atd*4;i)N<H^4?H<gK2BB?PA46CLNph@>ecBopA2K4gYIN$0HRB
z9(<j_-037JWf*$HH)D%=@5&&?=k<#N*T$vX4ZEf#C$^(qakUszfeW9mNPQW{Ovk|E
zE^6n$$W_nf(5Up_yEtv>SKeNp^M&%uj%p;FoiDu1CgO%;O6CoXU)4RakC|F}oO-uk
znZ?b1Kg_b@rTxoC+hruUf*TU|x6W}&<MusfxIAZSbJp7LJ6tBOar*kbSmF0sE*54}
zxrf?+-n`mY#2Rz@is(**DS53I|7KLzuej^V_^D}^BP&yZj4?ySvn5kzuT{<a^?39D
zBfqn*-)8%~St0Mw-{v<v)Y+mIdb1RmtZEMo*x0`O+`;9%|1>YNvCTDj-&wwXQPA~+
zsST|9`B^-5To3B^bH<-$?L5$+ZMnQ-(^IaUUK3V#hrV<VoslrT=e+jiRiV$s<op*&
z$xf{Qe7n5;O4^BET-JBkC1;)yYunYha;hQs<INl1pF6T*@2?CkEyLZP|1@bv@~uC9
zzv=z$vaif{<IG<4&AzU7E<pB9;E$z>`&Qm%`4j4RUFKQE3-+yA-`MZ*{)-6-@2gzx
zEBlPoL(0<U#`nY`zrE7j+n&t&;d%JGTWv?D4VT)ylYI3Dcou&Y^3uzW%zbk5Jm=0U
zwfRkRYgvp71=!ejyq{E@ywLgEXYaXp&O9rQo}wTb{`kTSACF1vU;nsL9C!3^foaaq
z?}iVxYQwl5J_&ifdX;L)vVBLi&er^m?5ersv+90&`Q6PSxd&QpPE|F`IL;9rwDFtR
zv{zRhraw9Mygk%`H>EyyiuyZ7C2JFDHG_P+-|ZI9|NNTX$+P_bov5h1CCU%4J(!tu
zY4x5}E^kdFL>sJjo{xNH5clkR-)jAdQ=$$$oh|97&n=`r<>*2VL2+)`DgKIL#oBiB
z6=T%0EP6Mwty=bHrP<9zQCj!icdh4gUgV;y-f^eoUiOdD9bpB_Gqty|*Jp<9*gwxE
zL+Yx>nKQ@L?B3b0(@y!2wdg_F+1Px+B`hDpnWE+TSZ^AssB*nrexLK|)Tp!F8rM|y
zC-+Ye_Q<}IV{~Y$^L2su4i%F_t^Qm)Gc)eA!N0y;)%iQ-#Q3lESTni!tj?_|t~-^h
zHM}<ZeXL}t4vRQ5rFPTDpI_q-Wo0a`FPz@Cb>)UNZ4U0omw(f|>(-OI($VPd?iUTs
zi`!#`i#N69H5PE*t*CmMb9YmQ;<xq_)xnB?@*1a@%(?d@tMN?s=IRZ?nH2}+t$y{J
zDExHbHvHbgBKYHoPs0~CTW{}UVhcDnsQuY+ptEagh@H#=#Zzso{W&;mKVD*QO}`~Q
z&$m8>`;VR7sk9_F0fB2*^A5F#pJUq?7?Ygpm9{qaFkjE&RVR1JXqg{oHCNTm{D0@|
zozoH4jvY3)Jf`lLn#jH}l<@-B{=0A57u0?HeM#LnLOQ+a?z1e#yBBZ&>Xm1>P!ZQ@
zUmiKBqf4<c&%UeQ*NM|kfhYU*2ClRdOGDV|pX$D-zaB0kVQ!isAbQxy@LOY2+bw6C
zlFeFM_lizf62dFb)~@%?qq4mteDQ%vjN5N3`#pHK_Lbsf(MxNc{x5CZ*%{6Fn`?Qv
zQ~er`=#q*zj+?|8chv9R>B_o3>`(blKGu`_c34F?_09gV$hwYY^TpWbagANyX6`YV
zXuR;_+3?9{4t=aw?$mZK<9Pd=eet}6)fZPSeP7FEaVb->a+S9JEa?w9p|95-?BTd;
z8hAZP{|?{doXbZhu3dZJkm}}88M_b6Y4iL<`es>O{(ISXa;^5Goi5k)dJ^j{JN7Vs
zEexGv_UHCy^$DBKDXof@SJZvVcHK*HQB&=8o6=scw5<nj=2n!>{#I{SF0Lqi=D-1o
z#(mWbT>`Io|NL6D_qbt+t-I-4vp4>CU-`U#E-0iOylTJb@fYpp%*#tBtYeyWj=!fk
zEvL}o?BQ3ztUGExYc$XJRIL5!{)&U#)gA9kf3W!Y=4Cx-e^RPfKHKSY&5yQs3uhIl
zwK5#Oa-S{W>LK3H*BvQ0_hj5#T+fhpEI99%lAO`J06WS5jjfZ86~^zrByr-5`fr;z
zlO8snO*FXm@0_fA;E%$cg{9BZjYVZATy}ozV6$O$<Ye1Ju0P67HEHMH)+<vgPcmtK
z^sD+z(YuwEzKV;Py{>%pdb}ew=IB?(*UPOmRa@VLyncD~mG}ocv+g}xLT0D<m}M=i
zm%ce^;?~#wR~4D6zN~M**%G2yl5+F!*~hb!-PQA)U8g-dDO>jMqGIa#g6G8x<ZODs
z-SwTtrWfpVSEuz|bBJX!_u2=FPKisCdgd>hE`O)Z;6>$ynja@tE)@N@CzDzKX~&M3
zzejJe`9HR>U8Y}m{m-J6(i;EP@AcfBYyGY%h;K)|ILq!GLB+STJDLNMCN|lekkL|J
z$9rIB;NtV2wI{Xgyy&rrxpBjtYMV;i`EM;69vaR6bD2{^*73KEK}LF2tVXPPweU3I
z9e+*+a(S@ie^|EcOynwoS>-H}xk|0u(v3po?rzF-F#h*Y>7<s^-rSmJOA>VE<=%gO
zKhfr*!_#?Q6YKAMzt%tH3JY6s#l1BN&oubNem{)0sxF<Bc|Iz9UEFN3m;KB3`}Ji^
z*L(GO-uy(~_@_IJ6HLQw-+h!cGUicInc04P{_^cJiYCjgX4YPJHUIDABXJp@?E5@y
zy6rVjcI7Ww@b8KJtJk>?gPOK*<%w@9Pnw`~+W%bPE$LMEwWrdb)EA~2mv8pHH|2)p
z+!sQc3)#*V<t$%1XXSVMZxeQyt?2uw|4!KR)c3-Tg^o+77p~qsqwSXE!+&RI&lRju
z7qp0J>&V&4b4LB#Q4XzYdzJ^2(_~&{8uITco90|}!|G_}{!@+fwqG(_wA5?zNuQ%9
zR8CFLIo@OCHNCr0|I_&xx1GM#^?P{dRPYr!mj--rHon7ulu`KQ`<BFcpYD9imR%D)
zC(3Z*A%4w7>H7JZ-!i`Z(+sfW3vBdO&R<Y?ME37a*Q0_LK3&dNowz<`9v9~ln~Ess
z)Vf)`72K-lC#p1<JI~Kavi6MdsxqFjA;9(S!|o7{n!mSA?h4NLop^8u%WH$5e;?Iv
z-=@>~kDagn&=y{?r4Nik&jzK)ns}Pp9F`T3G25VVZ{?lI7n4s<pWe<A@a<%*_0b<z
zR=bq)_e8P$nDlDSq*+tH{A*gG;i)v$XKQy}oLuGRrdj(d_AZzl@7AipH(~u1O<DD$
zviEMBC>Aw1kmTiarS-s-NB062&XMzb{=G1!zPnzwU-j9_rjp-s{A>Iz7bo)9m-zAY
z8cvj1b8be!wM`ZNw?EC+(a-i?7hj)}ceUZ++B4Csxt)udb8?<qaZgu&a!ow^f&Iq)
zACmeu-FlSr`R|f_QERpxkI|0Y^m|(7(mC6>qg<yf^W*F4`KMiKtk06R{n8f?UiNEm
z<5jgCTfe@ot)Jz<>8*V9Wcc$rinhG}Zf{8p`tN)3hp0oqtoQ6*C*q2y99r&lBAZ<+
z@8pVGvXT=O`1WQ-<(nMI{}6Ql{uN)JlADqaOJ2XdSD1YDIdg%D)yjtluTPxMpK+Q$
z>FSNBbv_brlouvzFEKlA%DnWDD9h}-0%jljj=l>ib*qm{^S@_P@3HP+lJLFO4x#HS
zRogyauJPoLKFcq((u+^Ul%wME1I`}@PSkJp?D)9lu!auXv8cy~W!Y*JQm>lD&%HZ&
zhA{gojfC5uB@3*#UnvYPIv8;I+!@u$5)~RQg>P4CuXrP5cC)K}P3yfbNA<bQyoq=E
zZgt*1Y@)@+G*j&7%`cYHZv6GWXB>Xrlat?g;;{3N-wnnhJHt<w1oZA-%Vh8}Y9({*
zMj7#tvU_jLJ#VRLe2IB-w`Jb<jzgOFen&<9l2JaJx>b6&{{uZGcI|^R)uaE_E!uQM
zP-KSPtr<Ix%L;m@7XEYiva!(d$eH;@e;E&jv@CnAGQo2FB%dtf0RE-%XBKbSeY*Z>
z|D>)urT8)iS3d^P{YJWH=lzg9le<Iv!`4gt-8ARdoVx#KgO>8qhZSY}mu5@JU-5jc
zc-usP^YLFZFY&2|%i^RK-w@mTOfYh5@)}#KZ2xJ~Mdd_G=G}giExJq9x<x!v;@pa>
zbF&(+S{%J4*J9J~y4dLa-qlmu7jPY%m6Pz<s{WtN^f=$$|1a=dUN2^tGHXVSo|G!r
zi+OkB8Q!0|z%Z@rQq@X3t;<)O4%{o;eO`Rt$K_VtJJ#kz^2vB{l~u<W8irpkw%fm0
z@rm8CkKZz9K9rN*`kU9J_DZ+zllf8(jD>fb&rdbv{B(PAz`1P2*^Z`Xj>d2Y?7k|m
zGG&!Z=h3MR^?TnkO~}t<+!HxR_?K1UswYn`HU%}_OXa^j@khkUi2DxbE{Y%Rznq-m
zA+<9t-S}Ag<pWJ0>NGW@Tg~P!dEyr+F=e}%s@rk3V~hQBOqMQu;p*Fey;VM$>)6T!
z(Ye<f+m1}%<Ei{f%y5s|fxHd8yZw@WMeDtt>M3TP+L-v|tZ8BWW3D~LQN|y1q$<-U
zt`75hvC^nsKy3ZRt*bJ_%->Y@r-UDv#Ad26)n8**73W<|jV@pJ?f|=}n@tREwfZ+&
z+5Xx`Z=LF#QMunPQk?IL#}tW1_qAtM>~!4a#MSx!=H6X@?&m%Tdd0jcQl}u|gWrw#
z!VMhX<QxKYO7dC0uY6yUQ_uV(R({vAwVtB)RsXD*5odL&e#@6lhPSSH#29cKtN-r*
z`sBU(wwD{@7xc54R){O-?3;F?;A8x~t4p_X=>(`Y2Kdh~2@sE)!jo9UzNf%-bGpgY
z3)OdiF(3Mr)jG*Jj3p=a#^s8qrx)nnjP_ZwQljC)g=gE9+yodD7pl~5>-zn){_5`P
zN#9q`R5_V5-6FX9VywdRIsO?^Nyqj}ul>Pf9H2ADjbTe!M8o9j`5PM#Z20VWQtMRs
zFRLK+goPnB1`jVkTNpj{*q%Qfe^*b^n2@lFeQT$4s>s&mQ<tZI&iS-6`%U-3IM(%V
zg9{fd&$;l%<cL(@;orrspBSd6Nu*kJDoy`aKXu*i2h+qBU6#3|V?Mt%T+#E$iHany
z3P+hJfvZ~tRnN8ANHDLnWJ>sNt?~5jSJP|KJQI&kn|`2s1M9k5fzDi4+Dz3tRVzxC
z8EV;`KbWA;$+>j*JF_+2iV~*+b+0JbFE!nD(~~(#qx!|%|N4=KGH=ZknRJXR<&!~P
z3s2z3lDv9_rD@vV_r%1fmhDUoaIjx}>~^ce(yEZ1%Kk;0zAoTVlKLJs$2@0Y;F@43
z-o0JPS`A+MTX}<i@<qFUU8y#2gU!LE^G_a6+j(&Q>;=Ntz9`<US+v;Qm&4!Dwxgi<
zpN{lG|L4EF3=h01^}fv@l|233^jo)eczrZJAC7H1I{g?od;PTRkdCddx!)-3KB>(8
z=qSnf?48Hzy@?*Xp9??VoHnJhB&Z;>d3x)PSAy~9+Z<=#kcqS}WG;)zXG#2_^Dn|x
z_9jop@ff|Sm#YO{JzKiJk9q%uj6%s18=QYWdbL8=ZEacSHq}7Z4F)TwU%0VWuk7a<
zPvwmCRjwY~_Zu(z{kJr#7j@(jS?N1bGx~Lp&`PV_M^n_Nb9DdMn|HiLRqoaa2KJ5f
zP9?0?pS-%cQQ^%SjdG^GhhKJh-YNNYlO_5ar}kI>y{{@a%)2ci8@V+wT4?W=N7aH0
zJmMBS`l!uQesb59)Q3)mPQ{1j{n>V*HKHbZQQ9V^TLt^=esm=UyF3njlXJJ;HgTpc
zOLcaKPb!C9fx)WfhxZ$ET=VbP$hF8ei{11E-^CF7SvO<M6Yd;c`gviE&Ou4V+9war
z8GO8vr@nfjq{=dfh#H4Evlee%mcVwzLXzj>s?cfWCuN*&zPT~=-vKWTu6NHE^rMZp
zcilYNwOd~^@9oryHuWpmdK<&|Y^o;AP_9p}cZk!nGwE#oz)<IZt2rn9Ny!!Iq?ErE
zt`FG^d;(k+uibv8(O=@*(H|?Cf3NX~)b;MoU~_QjKe_5d`|*!^UBv4oy`N0xa8wOr
zeNeqGDSDCrX0LO{0`d>v`TxsF%$J>UhGX^O4O;DvANSNIocAl{xH9QO?ee96g4NA`
ztd;v!FLC+Vfp@~I53b~G+Hp7f&9-H)6WLF#oOR;ckJ8@H=W4UqlJ^RJ-u!jhtQ)gM
z?JblJ*2sNze{aK`xxAeFcGRPj%BPfqB)+7iE#K?rxky{wV}5$#iGRO~f5jc&e#@41
z&bc$HZ$pDKGZK^!ecR3$d{aqiLL^T$$A&*W%c8g|H4atPfBA60&h1HHu{GnLAMez;
zZ}CYV;5e|d(fNjRqi;gEywGcH-;cSEC;f;`T6!?*&+_-)LIzJXT$rz(`p7*0*3#MD
zSA8YgW+--TX)uew!fcmxO4-9NGKM9Tzs|d>@#+8FeY3fX|8He^r4dv!<K!)u+<QqH
zn`UhllAf_v@Py>#v;6hJ|J2^PM}M?iC&VRj`m=`K%BOFB#KpH*oIC9k@3H+^_RKi5
z*l%pVzFL%Y%_^CEZ>E;_MBB1<o_R02-z>dyXPx@9m%)B+x+;wlipRICnS8%V>*HmG
zGvAv8q#i4t;5@tNLh`L;#t)ukE>E~u8R1!Pv3s`e8s*4KEM<3(9bM{Kp;zyI`jW2l
z{J!ZA6npQo^495G_xa1SBAJiZdyQQm%hdHzbu6!om)({SJ+V{gjeF0oYncyn+aCN~
z9~87YPxp2okDw0UZJqcV1xph6c-vM9ZYq6Qe0{x_+10khyzLkKza4c;nNicm6ez^y
z9wBo#p)T*W<@Nc$e(gHpb2r$bhVk;{`qJ|!oY^MJa$9Y#d6X?_yC{>XQ0JhMDbKC_
z7X07(96v9dlF@U>BDB_IqvgH#zh-8+)_z;bSM#A_Yro60ww7C0XUor>-L&1&UE%tz
zU#m9SDQ;US8MQFtl^V~-<ZnlJ_7rT{uN$`^`2|-+;>?+!e70{nZ}dfEh50`P(+cUv
z@A_x!r#Q_wJeRQG4r|fA#Gt+{{$?^w1?!&P>s{eoH81}1YKa*&bMMt$`8q-RyJS_K
z`r6Fv6QvtV=FEC1B%}MrvrFPZ$0d!p6)s-)C5ms@wd$;xzq_R1<5h`L=66?}Z6{w?
z_<O_BzNb%Y6ZoCfU;ABn>Ah=Sc12F?qgPQYp1$~9&B<54q~?;z#L0i|Dq0mL6#lgk
zdL?wHU)Wc?b>Cc`t-^21S<9MM{k-A+T!S|^MJh6NRr~$6Xye7l++XZGn_BIvA!;1I
zD=Ulr%C7h9OLPt;$xB(7%&7COY~SZEq;e~&=FF;-U*D@OS>RsF+<)`l(*+AT_IzBj
z_Fhb9_>G_X9W%O?Pp&_?py8XwQ-=CA=@v7ZkJof`OS#|gPI?ia$z6B)^}3HsbBm4~
z3O;e3_3X?!61^Yn`onS`*th4EdLGU@Dq3>mT4E2+mkay1UtJgRY~_Rb9Lpyj`8UZ<
zv~1JAWf_w%xxETs^^^JY#pmZfojkhDGIGC)(#gL`X|4f_V=Yc{h3Z!J$<!atia!6f
zPuE!S;+|tW_BM4cR#YhD*H6`$_h3^(oAaBSvnoCt%870LUUzlxnw(65pVw9>#(cSW
zIAd+hnbfKY@rRH6*s|~sN2}l?=hy|7wuRTcUS8gpx-$L77VRZ&viu415_T`lSMKS^
zl3eiiz#skfrR_^+U2NdxWn7@`!Y9(7U+=V~a>;YX$9eZXr$q`J+M6X6sJ0__kI%FC
zgN^Z#AHM5c{dd{E=b!U^#_g{?4!BzIa>X`P6&5{Gy5eqOoB95+msOaZm)NCm%eD5f
zKbZDCH+1#E`E_jHN*}goEIQMZ&r!)y_1U#eSfho_yZ7x``=4qDa?WyiXKvqBZSl1I
zkXA~)%Jta0g%3^%)_v!7&fj)n26uAp4ypdBnh_6-LO(zMetM7BHoj-Fd-Q(g&5LVl
zVaa&A_4moQpKld>Y?IbqB<Q8<^3Ytz@6-BIci&xAoO-`II9RnNCc&}(rUN^hlXb|A
zB^MScyiEMgwP{Cqy4RV*5C235-jcY>-z<7}>7DmkO26wJ1AL-$>rM1z{Kd+xt2f9s
z#un$zDKIYEuOMBRCUf$oMu}Q-No4EIZ#Q4wWlJjkQ(yV{@ztH{FPrcyxO@Hlv}MxF
zXYwMZ5pn+l55|hMZN0rpaw2<ow`RoG+ea$bcFMa6t;?9cUqhJt(?89(;U+!;HB<U0
zHoG=d>F({5{L17|A5^6%T7G)IedWCR@afe?!P|Z|91YwiDSY;PZCUVk_b2&#*1C!x
zKkf5N+D0{$>Hb%hJ(HJr{<;^rzU5p`b!=ya-W7e7U<bKrfBs%&+ozPZ#9Up#K{sc|
z;hSPU9{LKwtjjs)xNC7Oo0R`hH|u%(l9)}JXY10WDwey;R2l1@imR7bX1)DwdGOyN
zvvV6`RrnSeRGD|NfBktaU`9ma?!#Z7iZpj0nfAz}wvXw%&CZ~b18*`PtEIk6o1Umz
zxUB1&XYBuoHru?q3Jck@CgqbKZ4r!qm3QjPr}r!uq-vNB1aIx0W^z~g@B3E0v_}@f
z-w)X>60+L<CNSf_Z<3yMS<9Ob_2T}TE8X9$>gC&C>b`NE!@6l&#pidw%n`e`|6++Z
zo16W;DbKazDmO_U?3tW=eV&wb?x8N18NGekN(w9+w)13G<|MQ<M69V>{#V)i=%URV
zcQ!h*T<n~k7CFhKo>^1I_~vIrjq05qHA#8DeOJXe_HL{)Sk3F9G5Ll{{T5}(b93rn
zP4RX*{m$$9frd>_LVPp(^I6VCo?21&Fs@2SO>0_+z_)yUm2d3~#j?Vl42-)Dn@-7k
zT_o|L<<`4<3G((g<38k_Nef}$|J0^ndE&0SZw@+iS~AQmFne}gTdU65Lh5XM(wY-}
z$1gpe``z<w(oLC7vuqvru}?k_>r+_g%XA^xwEp*e^Nb~4>Bj%BWjlWQqVLZ*b>b~K
z{p)iVen~wgI*<R+!R3XujT%1|uc*{{wR$(h73rcU2MRVzeiqPBuF!qzZl$ti)8eYU
z7f&1(DaS-_SBd<vz)j@Wru+N+u3b2D;!MJ(?nm5LzRmV#^9cIh7dK(*x2cJr4>q1~
zPn6}^wDe=-<$7ZUp60)MuCadYfAoyOY4&yp$pxE!u|Ia3xj%hcWSgJA&C%&Tzhllx
zpPJ*h<|(@=kB_g3=M}YA4>+UsJxxuf#5K;Joc??2#g4BZ1q#axyr!z0zhYmIa%gSp
zyMGK$>Sa5RbA}wAVOR9?L|2^TC8Oyb?JRSje)4t-?vXt$xkP(<eRivr<mCN-gT$si
z?mFsZ#j_#c`frx6-_9@gXy&*4=6%R8exvrU%g29IvTIGB5X&s|>jER6yOrp3UEyn+
zmR?j0I>o!kt9aIxD-L{97bt%Sb3STfHfx!V(#Pdt%TEeb-dtVX{Ad27Gi~0HJgL8r
zC`9n@|Drjir&i77u;bf}f$g8_1CM@Qq8)hnR>m2-gBR~TdUHGVpi@7Os(09plOLL$
z3TgxPoGbL_@wi&fw)EQqgDv`@->xl;xbp1DWVP(%iI*lC-)qlMQ}bS;l&5g#=iMtj
zk7s{az1icH;KDm<?*yLAWe%47V^ZfK@{=v0J9yh0?%s|0=kG0zZZ$f2GV?`-(D6I<
z!Ko2uoGUC=C|{ks*u7}}{b|k-LJdo$c?0zqTIKyOjf(hnY4h_>S2Mok7&guI+GsMz
z^R|e+w~`U#r#Y`aa~^3EV9i|S#Qf&UiCx9VbZ)VyU7NW5<@B46i!(nr-*~cDoJ(u*
zQfYfZg$SA8pamQCHv|+v4%QKzmHydkt6rGcLEZXWte-c?G;P;Bo;z)N`{$`M-fx<D
zn9DVVkN@iDY?d>O+j*96*}%;GEBJTyYe$I<=cOd&F3vOFc}T<f%*T2Eh1cs!zy7Fj
zmtl(dfpXy;M|!uf;NM%_#W_Xjw6BVFU8~yG$?wFhB@Q|LwQ3UAnVYpTkV#qI$F}>a
zq3r2x0luQU*y>+Bd1agQdAZ~pp38@yRD{gAzE5GjLX>m-28q{M-ji-zjk?3XquNI?
z|G~^a=Dm)+kz4i#9Eq7WwKltG)`R^?y`5+MlB)xbOcePab)MZz%yo_a#-$g3^mV;i
zv{r%5{m$Py6SXD3WGBzbSvdRihM?$8uSB(!(yjy*R&P4OYhH6Qyxz&P{27DTYUcGj
zw{iXTO>3xrz4=%2Dvx&yijP<3{tB1ZW@ZuWKAH4Qxi`#W?`*^BzgzYmJF~WPVgJ14
z$5}6FYP@F%UwANCZe@mCI;->Vl2=7v&3nHux3*AtAeg*=lE?~6?~}=<&tH`v{hnug
zp~`J}#U=*U!#h`aH#|J+>U`~C{h}QoJ6%6dDO>Z)R^Y-nMF&oib8|mghb$9t`{Gi*
zKV^eqV*H1Xe`Ss}pWF5G=X0rJDN|HV8@&>^Icfi$JgJ@0hmS-*_IR+c`h~pQ)Kfe+
z&ri$k+{r4rCPn?}Q;{WmOjZ9iyX2lYAHVt5sS?w#{F9!p+tBo3ZpVrk_BGtOb5wm3
z>I3Z;b92tBE86zTH>N+eIBsFY(}rEI59e+=qANN#V5XBo>tA&?$ICUQStrZS>$_%#
zxK(y(%6g<NN<NZqS8?Dq>zfY?*sfR^UQc)=Jh4YL>B-~^X<f0)Z}AwM-thO&rEASD
zFH)TR`d{5xx2VVa-zlaAH$)?i9wy)6njJRJzu;B<$(*~kXZA07wfON;H9yNX%M}e@
zq<)nh>_|WI{z1yK3ns?DOp0qm$}ivhw(jUw&98D9Irhs`CJ3!$dmCWA<-yJkfyez`
z2rXndAXvpFJ6)un_mxe-_N$)?R`*GZb;a#t3FW@K)9$!I*(=TYpR}&dnN=lLqn+<M
z`G=KnI<s&AOI5w#)Nl4Gq5oD1yR^0G?6XdLru@HJ^6mO`-y>CzZVKFyPwAOoe?=~I
z;*X`jx=ux}nzHfgRDta#n||c~)3o3U4PLO-$J6}enbsAx$^C8f*A@OKIk|P0hG;h{
z*EvPE$jArB)mGW*^{%^@*7j`C#LPH#7rCr?Qg$0JUA~yCcu~)`zCJ5y<;^7*f;aCm
zUnAM9ar#K^t8Ld-Ty_mQA|7A!f%lB>%w021+CA6JF7On;(^9jC>uGOEvE>XCC9j#!
zDi`f>u4a9D_7U5pPhp;>Dg8<><DTE1a3?-+cin?#h39SOuGVFgP4+rvFZO@?Bcq7<
z7WZ6}b}4TVPBGq^`a1H<#q~Qk)r<G;m}RtB%5d&wbBpfe<#$fX-8uBe-(K(HqZTo%
zHCxQ)r!zHw^Qvi93O$>-Mj<M7_k%;{)r-TWwO#Do@{EojWLG`;tm6FHC|#}PoF{y@
zU0GVA=eKj}^0{8N2VeR1OgGuTSZ#Tua$fDVE3erSy%v95{KDg>$L~k~U)oL8?K~S_
zpXjoy_S*k<n?5D-=FHi~a{J?*1J@f0x1R66z0c~tzQM&^J=?rbKEHQz!L~MkrU?#u
z)80)|dUP%7DOdA~6_Nt4`=Wz*ubnw|?!?5OtMl(IjImXE+O^U}#w0-XrZnI4a+!9{
z{BL#%x6XaPvg}seJ^j+)i+;P4q(5Eu)zE5Ev)R&7Z_^RQbG_G~+0HQdi0h5>=?#<8
zFMe?G{S;IeI^*XTt@YBscb;~#@CxABptNqb$(DnbAH0+=xEddIbbP(@xWW3j_gZRn
zPBicz<eJv@j??9*knbn!jkWXm!?MC7{_HV)xiD>xn(ym%>n`+1h)*q8`gpzA7n6-z
z-kVN-H7eYBHmaun^<xFE>T<5Lp?)O+U3#;&8r*hFi4!m5;Bw{Nsuucv&ZjW$Z4zwX
zr)uq3#UQaZ(DItOgTM~9hp7Q`4^J%pR9<>si%IsttQ8-lSq$cE-&4D!pfxH#{gL9&
zH;+^2Oi8>VYV`5t6`sHBi%#&?wHRI8k$8QD1-IhFj>5MuXC1VS+g9HzcI{CTx5u@@
z!1jygi*9r0=xZHKW0TSPp}(_xi|XIBMhORzeVRGKS(ilK8AM)m+xq|APbu!(iaDN}
zXI{RtH|obmk8AHs-_PHgU6`Q!TV{!<SQWdxZ_D|-JM7a!AC+G1VvcnBa&wQwsjIyA
zrgk*tt_?fQvZ^67c@E19r7L@9)-UQ+WT_2Z`S4h3w`}Zl*O<I{>063&S21XO;N;m6
z`>I?$R<x?MY3EuS-2g|qKlT9!qNXVv_{qpWZ4Tq&i_4YvpJ;mjrflKXH4K6(E{`tV
z(_mY^eXT{-gXXB$t3}LjoL|atljYmnd4KzDUcH$od|%ve<IEF|L76|^eR(OH|D<wB
z{o%r=%ljj~ZC$f$tzALimirBE922jnZ7td*@^5v7y2VGwmoL*Y0{^RS57@9^f@_lS
z5zZ@nTq2yj=lx^-_~7N^ud7ekPPcZdIrA}&`Dfv`8`szcE-~%9*m*ItC1FPF0{<?d
zt@E#*oO%A$yNG+0f3_Dg=D*s1JIrgn_Rh9|ydxHx^|dxvkM?(OKXmt}b3^H;#x2YA
z+fVicT5WV*Ys{az;AE~^*Rx|zT(cdd3eJ@_9&)_?A);yJzUx6=r`kW}-Bz;;Y%+GX
zTJC0Vtu^mw#BH7ED}15{eQLhWIkoA*kIV1oZhd++p65upN!Q_7Gx+^3_|*RvWj9Ix
z{z!DDpQN^a_j1Sj-%)|Z+fG{@-6JHByX^qS$$gqv=P7yA%!u1m($R5k=1keC%Wg6)
z)pP#x?`}{-{OL7snqDoASRtKO9+h8mFjBPhQ0BU;yXsG@UC+&ONaW|IZDA~nwpWHs
z*6lhpRb*|I??P|kOxB0{qnPz~H=PO&`r+E;>D;>BXV3m@l}pAk%ya6cWu;|iSTXPT
zW1;X>boYVP8?(4>J@t(A+kf)K{eyPC4P{jl3<nv?JyyraeRt7k)r-t6F8H0bQfbPe
z1D@%MmW+S4uDir+!?gMP93}=<-a8*e`QM0U&6d6pWg_eF_sP2^nI|fjdRi|FzdjzZ
zJ2KI)E$i+4Le<0E+>ab37b}WL)vsI1xYJ>E!m-_wlcPnJ$9O)=J#ATjRp*q+jOk~2
z&F`%9N>2QJ_4c3EuDw^?a_`;zpflr^QJB{BSvw{N{xXg4Tb?|jYqu2R^jQxKbwBpa
zY?%6};_8!F<&3?IMVn8{@usYnlUHNEbEI)r`&*xt2@jkC3e(;kz07T2_eI&L)W`Ws
z{mh42oH<8(ZeF;fb)xD0H1oGhIVU~W2|ejk`&4_;?K8X*F>&lc^4~mkIe&lsZ<ks5
z|HT~ENsks<cX=!*%r9H}U**{E?{aZ``%AO~J611yk=Ojnb53G$XUe{2*0wU~`kvV$
zSN7f9-!Jc&?dUzPb)U<sRg$qep1&O?2d!Vfi!HVOj;_1lze=4jM<d%6+GhNjhSkqB
zABC-N%ePUyViO&CWv_@+cjJ2d+_ka_u160&bx63Id1H56dX%y1Uacu>-{1fIXt`BD
z`eHSMTcR;JFDfPd&wBEP#R$gxZ`^Yw;K%l7>#|mVn(G~qG}G_3ai1V_S7X3CiPaYU
zIu9zpoHP%5UB81(qx){`t?swQAvN<RHm|vOZd$KtN!O(r|4KvZL~sB5!}xV|@(ba4
zkCr?1d^hEp^lh=x#&stS2{*n!?HRE2%)~X%HWoen$e`ROD<Jf!%=5%l4jcbHnT}tI
zJ3eean0E5c3o$Wq`7H}}vX#gFEA~Gu(_H`T!LBZAq1adHlV<+mt>+i}Zt8CDb#H>R
z!MT%6QKq}wr{|r2UH01l*=--U@0;#-8)+qaOa6`ZT)Jwz|NYEA!bb9MV%2?a*z~d)
zeA}DEQ+MHGMn|9Pk2R&GzFyYqZNGH6w%%`*|I@(T@pg;R?^j|9&-s#XM3}UzHcGur
zVD)Ny@aQ~eLF>1b{+D@{Oukb8*nP8Q+r?{(J@PjAm9BlW=55NH*=v|)ExBTvJf$z+
zQRHn~yKD6M$A@j*c#kbny>q@;z%G6LCDus_?MbKHC7-m#eGPo#)-^j%QJ&$vC1bkL
zxx-6V77A|N(D&uvi>dvB9(~6q-1;=Nb&E0YOCM*Wwk5}H6a<$h-G0lM6fV7q_d@*z
zmlboQ<*EV}Z8%|hMqIi{?e(&&=hW+OWZu~GxU&3;^wId!N4Ia|t>!Mso$<1BkJrm{
z=G7sUPc-ivKH-*?bM9Z*Q!_(Le6skzj|-mr{y%()%dT}-Y3WJl1h*_cX2tdP_x;zZ
zu`Zi*(6=(G>}rEtX@B+6*tXS1hDOKN@7fx;pgz&6=t1bGO*WjOHECk2CWU^qv6^&z
z;olV&oOj=RX1UTXli_|f&BZ_6?!uCyjip>1?(Okem8A#&Xnr?$oG+Rh;1Dc)!D(Au
zWJR;fia!yuiFXxPjCZ_EKApd4SF7e>pPf#^k1V%*u&$lae)ksl@jKJ?Ixet@S6$z=
zW%q^bw2!6rPJ!I)(aYIq*iG-Rkc)DEe|nZp?WEo*+g@`NF&s0x7EreTb29UuLyP|{
zVEkP<Yh_sIuZ)s2!jl%(6v_S%Dvsovm21$syZ5dI&)UsT5B|T@`bXV(erIK1O~)q9
zd?`+gE50vg7Pscu+I{($wkd0>Q|HITq~J+gUB8@Ozx(HAkGb_s#vY#;rDdjP>OL-d
z*^*W#(x}y6EIC78s+M=FrFzuq^Yw>{1tsTe{9jOc$xZNV`OSlWrWe)9%1<(EzcKIM
zfh@g8{Si||%KUy!e)rHz-^4g0!0cpY>Y{SbUw?X4xPRD`T#kCS=~lwgsjiI*$zmLS
z0uS#g=qpeA_p_cUT6xKx`XlWQli3eRaWlE79GM^XL1gEz-LD-vUmsz13Ug)bs$3Dx
zaBl4%F~ikNr=Bd4xFl<PSwTF&*FeVZ@5V<frp$|-`>O8cZF5bD{j4|Co1bvV9o%t#
zix1E3G+veo^TMsqJNV8^Ji%+ozsR)4vN_~!=6Y={p^BP|_X`5o7+FuW<JGS3`{NSn
zF(c)i$nW{5x>lzNnCY-?HaV=hr)tSrEsp)cUdqusxn4-lv)nd)agzF+mj%Z}ZColp
z@$ud{xn)D}?be?aFL!(^pPME)SM~Gpy;VQ%aAhV0B_(|GyJ-HSx6Zg%RX_UgEzvtk
zZqp4qcWF$TFyC$QZKqs0n_2wL9fxb*y4QE8_ex!u(|)b``-Jy<(!G=>lrFZi(wVf^
zZ0hN)|4(P_j#*_X>X`2(;<EVq9iLz)AI2MN`R7j7cvsYNPvyFQg0b3`RW*g8R-43s
zwHm*fd!E}~NxAkFyYfMf&pq82r$1NP(Kyw@J$S;Y9c$N=ZEt_^C2Yp|qTsLTTmQ}1
zklfcEUmx|%?dlTq-XEvl<)|FE`{t?1D|^9Hec9?cJ5mq7?U^hftn=wu;>C#ppKC9@
zjnR==Sa>#Ty7I+mOC6kUDBA91ecyT_<H(t(`|iKUaNicnaK$pX;-h%ag3tRW{+-)=
zyYt3Y-{f9~NpG~Qjo-avdGO}U=Xe{f10TW{UF<)!RQ^!#vieJDiv&Nsifo8HRA9H>
z@csGw8%&-quz7pv8u$H}W8!<nMbD^a6yHre+G#&!F3*u0DqQhX_A}XgFL2jXKj-x9
z*8=mahhvuR<P+byigmB*<9)klGN>$H{A2o($*ns#{G50^*zfCuJj)FQuRgSx{o0`K
z;>X+`f9&P9&pV^<9-P48nNu%(H8uL1^&v*y(>nV%Jel{N*I3_Vx@_q2t(mnfy8<uy
zy6u;8_MB$uq87y(aKNKRDy?|e^tWwouN}p0i}twNFYi5ZJ}xwb_4LQ5vsFSDhaX?h
zr7S$NZqvp+eP1VB_OIqzyQFdY_pb{!s9Z9aP`rHb(8`rFc(1%)a^;G{aaL!^hxM#G
z%3kese|&bzbe7*YHr->{XOz0C>44`VAN3jY+aKM%@Ah^=SdQ$w)gm(tp3G}~aQDT=
ze72Z7ZMW`R^hjG_8h2n}Q1~q?L1}fxg4)h?R_Bg&h~F`eWhm}cx9hz8tJb20@tD(@
z%h#SUFrDewTX>WCZD7IT_V$&JPTmdQa(jm+bG^5Y_2c-};b|N`v!sr%R1rII{nWK%
z!r31u+HL4^pZDk0uI99E`MGoT{!jnH>ejYv)t-Z92YW<s-B_0O>YCDV9m9#L6Is{%
z3;1+BW2^0lE(=A`tV7!~s^4^Ss?FZjeumBKaa#W7u1$p>e|qPbu9<N1<_@ii_Elz6
zSd8Ai(*9J_S>OCSB0kIMoL9}0B;#~rm+!g1#eNjzr{85c$jem9f3zrki?X+liWm3e
zUbp8qd&7!%|C%GGc_BT*$agWLnAr)oW!8?{eI0(Bzd!TsG`UWzG}cw@982yjFq8;-
z8?)YQvT^y|_9aJ^3}p651UApSSo;2Z;}-eVpAxLRQ)YB=7rv<PIr!WA)X!z1LF-C>
zBpcgCJvwi>`s4*}-*N#nsp<QER2OpUPHXYnA$RTY`o#~N%I{r^7W*<&_7O*aNXPpN
z4`-MQF!F8hj-1gwubIuK>d8e}zQp~`o2IQ)C>J~7x2EiGa+uLNp@36wruA%&U%K(F
z!_|{BuKvAwJWV=qvF=>?>C*M7t%n&39&S|Cw~!Av-F)1h{rpi6DdYD+cBdrNw!OHe
z{#bKv=|mZylxIHPixZN*ZesB_5IFsj^QXb4b62ld7gv|2-kv<)eO_Ie-#nM&ThABU
zsNJ$+I(xBc+lGB#DvwyXgzr*%Ju$aatU9vimdD4<0x8#eu72SBe(v!G;~mb4CiQL;
z&aO;mf3Ug7-1N%zs*U1?ZWDjmpE_$7#ka`e6i0*T<b}(RO{>@F^4WC7=wxo5(b5wu
zeq3d6(!3Y=_tDlWJ|RgppFGCgz3cltw{)9(7v-+l^!|m~fikay6|R-D<(9iGzx2rU
z>I?5ur|XNYSK9E~war<#IaDV8PaVrv!Dkb*>esGrvh!F|YjWrWXUgC77scO$6#9-a
z*Pq<En|<-G`?h_d(L3U&th=Y{8F%NQGe=VYwpOF`HB<UuGUeE%PsvDIvEc5NQ#`s`
z^CvIO-Vw4Xaoz<PY4zKY&$H9E@tiyt(S1L&?C$2XGmjX)<S5GP<B5pg^mCdjt4g%i
zl2vU{?n`6pnM#*vzGz^3YVdVZom{H!^}ovZXWTG|$bPD{N<3Aya{3p~wby?}@|5i|
zKBBZDLdmZud+OJc=Q9O+QeSBG&fb3U!QS$3a_6~I%hyWsymwgH_C`y5ck{*<swX#Q
zd=xx1V-bU>$n4!dHO`ZQm&;DrHmBy+<89(aU%5Xq>FsUxefqK9x#`3EJ!Qhp{VX@b
z=D#cIt9op5a>=F1YuE9fkiSwW^!)qQ>l@ndeCXBx=YG8T?d7mLr)?d#-^z4v|J`u?
zn^0r-TH)?LA>x9{2d}48TrKl3-JPF3v7lD}Z^GfO1rF1nD6vQ<|8$+vA!t2)$`UoT
zN7FvUxAHJ;{l4nn&L`2Fk810U7;4{$*nT@@<-Yd)`D;CDzFbS#E}f{AUATBc<Ljy4
z_OEV~+@+k-wBuJzzNX~{rNtT(FO_r||E?)K)wuV!yn)^X`-@+D=J#CM>1J#q{C7v2
z?`CBg&&;_ZPt_NkEoOTBY}-@8ty`|weEVl&sd;#p$RhFIyC$FfEzOtxUnymInM!?#
z&Gl85xAWqUT+w|Mc0*b7Da-9$M&TuA@AA6pMB4mrd2L(#Mc((C{8yi<|B2fci@o)W
zlacXGD1Duy^?N1Hk(VD%uhl>H*hTcoU(pE*=dmtq{&u<SR5s(DC@1E0|F1kVYmyv}
z{8?Q(Vd}5)&!>;q3d~%k?^SzaH&@pZ&UGiWkJcM-zRBZyyr<!4=<UPWFF7Wkjy6)Q
z^Ioz0PtumUTARzpYkSTZKh}=9wv)d`<I8H%`0s^0?%eO$p6dpro}RaT&Strpv%2}(
zOgy#cRi-VxF3!oN<#u|9^!|RwMoIr0(Z;#?1{T6zo<Ae6sy|hmulQDvz3N|6)VcFD
zhR^KvCvLN-pP=~QC=-L}7LJ{cd~X&!x*<{?lk;S?Is43M``?~VI$R=p=*Go6f4y_Q
zJH5H+u>QZwZ>tIC4|&b=Nt6g=nXjIALubBOhF7k-&tE2u7e;SqhgdXbz2cfv_+NCN
z*0ikHt-Y7DRdXg6J}&897_ZS*R5bOR)$XmX=bIfLF(lnO)@EFPhW)^<?z`gI6Fp;!
z7oJ(Z)>SZVSy|ZZbX%)!TdqufqH=3eMd;^=5~m)m*d^TRy|XaO?DGMoW1XT_O-&86
zUR3W`xlAJ{Rpr=Mj#H+GFCGcsuRF(^H)PY<_v%tR`<RP@9hol7EPwF%UZ>vC{V^~8
zW^5GP{--KsR{^u!l8u|=JFV(J=M}kaWq4;<Ui|8~mG6}&4N11WF)u#Pe=O^5)IPoQ
zzE3^Jio=qdMCFoPKB#voPutn(_2<J4v7+M}SiN0URv!0~-|^$$#O)S>dyRX4pRS)-
zx9LuEp3Dui33k6zuDmZfTiB8Pt@wrOoZuxFZQi-g=FvGDG}r4u;{WYsM+5Keh^gQ6
zL_}ILv9El7eTm=X8s>?@d{@{7U-NI7C(0qi?>)K0q{CBsTa2~-750fy`rmXN7RshI
zEI;D>-16Nun>C_M7cboSR?T`W+hzJuPFZHAr-i)vnO~$foaV0A{qD58J*IVO34d=x
z)Xr;@Vuj9U{rM62wvtE4t8=NZ<%XE=GpkeTnP1n=OZF8#Bk(L#-*i{Y+TVdsjgFmA
zpYh{=friBN2mQ|Cv-dC-ZF?bkb)Dspn-}J8OkTzAX}=+0;+6^9ubzE;^!XH?qe_d)
zY}VeoBN2Ig&fEL%wM>3YJS5ZkuYq@hV4RL&Kgaq*B?;$uO!vK%fBp99t9Gk2%vg^f
z*mM0#kM;lT`o5gineTqTym)Q(l=Z21E6P{D+Qen$K5r$XNpD#nUowZ(t;SEY-!{MU
zl<%)S{%zCwkMEK^Divo;Wf3owo$|WjZramtx`KxD>t1jeXRY}Wv!~AaKxtCsp|kEA
zTwnaO`pf(>bY+v$Wh)-dT<c}78#TXoyy1|^a+ZJWkt+M9V6$31uc+C*j}P}Y8YnEP
zZ#>2=dg@}PfVR~y=6gSxwO)tlwlDm1<}X|NicjkK%GU3)gXR@nFsXX&_euYY_D`2v
zUv_?U6W_A*{9Fs?+*4_nXNs?0@S$LBsqCGTCgyw@vy`&EKgwU~I~N;W>a?-gqjvr5
zHPSC`oK5~5SIrlrAFzI&@T+<ehL$V(N4{uZo2BYe^hLz=g|Yk_m5!*jA^A=m0U@G)
zU#nc-RV1rBdEvTWDI(RbK`+v`ryDLVE-g8Aq<D`q-?U}cQy8{Oo|^glnA$}nCN+V&
zsAH4N6V3PVyT3~<Q~b3geKQNo))_xnY-!l-ZLwd&_kQe3t6fij%B3)H{tKQgQ@<gA
zTWv|oaoG&E##UQ{D{m(}C|U9RTd7uO^n?{+fzNdR*oi%Vb%SlQT;shmzn9%F1b8Oj
zHUIe4Cg|^(b4t?`MT@^&sIZyyz}kGSjCyfs$$dwe?Hu|7d-J1Q+*wyB`K0AP_^STk
zLC(3)bJBLbVR{vuonLY>`Im!5!b0c7g@(`TUx_F;+>w(tv=w!-=ljH4og&*C`IOze
z-^7k(Ui1^aiNESL-6))^b#lI}&9<5?Rq;tzKK|1_ns#%-SBZc}uYMgU_By@i{)X_2
zPLuxcJ9b}tlaTR~`Jqdv9O{`+7Hg$zmB<q1V1LabOKX?Y#>Q@=_4UWqT9RM8nXC(t
zWqI$Q9beyc_3OG$r7BY<rd)X)>y>BHf2tiexT$g~IrO2M?IHfg4H|Ff<fMJ$dvxw}
z{O8-hmWvmQJU;zV_i;^1>P5}G!r!m2vffmf%%$0M)#XdX+#N!T9~`pqNs!kqJ(Q>V
zbqP<@i7QTun%gEHstlHU*7<u~TC<PGx3}+a{|NN2YO4_aT`#oo>%)CfyiqIrWe+Ks
zAD`Uc7_e`-<fUb-sb#aa-F~f+nWm<_tBFHj_*v@G8mk{dm+Bs#`5D^z_5`!~HPLrh
z?^gyqX$m-{FO)k=Gmm?-273#4Q`;)Xg;ziAwGw?GnBS!6)s^x2zu(fwT7uVNzfMYf
z*EA<ScYWS9Ew^LEuM9cs>#ehOLM@iY&7Q~3nR-V52g@P%Loc#5EteX8R&#ONqoz{*
z^YSL)H*-X4%bcHVJS9=NSXWH&p;2eu<|~&I-gcMQFM2=qjL*MY{CgWZH$CL*+kC)(
zdCkQ$|6T>{itRjgA>qT?wkWaZz4AOFno99&DhpzYEton*3wh)mx#v0QN7NTzTKvKF
zQTwJ<OJ}ejmtpxSwnEFr_^<I+^B7H^M~kkkwDJ(xGx2H7+<*&to%xqnKRK!1c#<u5
zRqbjQZo|JDL^d332omx7E_iamnMXVB8`)*1w0Hcp+3)}2>YP8m%9Tr|naMs_xAgLY
zzZID=Q)ZN#O<yywY`2h@R=203Ad^msMg7mPt^eKI%0x}sbedGf_1WrMyM^=*B(Kv~
zKYL|LXR6NGH*W&pOuA4maO4p8q79z^Wcrz$UY%R>Ev4y|S!QDVU6qs#&qJ3wF|@Zw
z?%J!pp;zmf;j=&6FP)k?d+t1enKJy+{l059sr{JuMsok#t<7xVJ9WNJ4k^gl6Mg6N
zv@-#*^|5nhj;{SG@s3wnP^{WumHF~n^{=^>FBS^D^)qr-j{Mb7?-TbqGAz_QkGFm|
z@|e}f(888cmo4J@Z%XWgcv+6P^AoBzNGF#mOt27mZ^geu)=z7%zGTzV#X@%P?o{l0
zJKw!1&2F#Ab+Keq+f987`#6(SOjaMi`u^3d&Fyn9E-bCjXbR1GY+UlOLvCY(OYF|B
z&3*dWw|rOKTQd8;qjHkAP1UxW&(_>@w%xV0zb7h4RIgWd`|9}~eJK@x?(uEXuYLU7
z>Tu6VQ=aV`A1w&o7$Cg({I&Mm*8(|9Sr3~nmdH7_x3s>(@sz@%36iIF+<17ZK~}#w
zdCQlBLV-_|OFBL<%&cELZS9}a8jB8oFrTcrzU6aho%hmJ)n@Onu32RBD=RQkLGJ%`
z#$<sUo^*raSgnjR7au0PNwSFlbLYbcA<ZoxCCv3NoH-V58d-Ps;X0=;A=YoUrkU^K
zb&y(@vBUh&-YeBoYaOn~Se~BGySw??ox8R{+c)w$iz<ibM@YXc%b6kdxIRK_-*?|g
z*0k>{7jIay;=1`q9hUUoEB~%FemUv6Iaha?v7^A0^n`cq7en1%gdCm_bZNP2=jt={
z{4a&S#n;y^e6p)XVDCxs`Ki|?OyWwM{dMhk3tpM`sp6Tdgkn~Is$Z4%lRag5{WdSP
z87C*5c)o9*j9<p?XYwb-nR0?BtT;E>wEph>u17nM{F?8mF)Nhe>CT;<p5c<O1Vh+`
z4ox~V*C=I=z=4B%zyFwRR%GVBb4J1}-XbxxD5<oC$D%cV?_NDWz3fa7gY&K2Up;Hm
z+mA1m-<xgZBV%TD%ED-JpR2C*q-%n&8p`KxvCYxu2!33}m9MB2yld&IH2<8l?#YHP
zzWb`yH}qJScbt27&ez#CK5a#I%KGQm*ITWV*&^v@wCwbI;aNL&n0Q?0-a0w3e%=)x
z%TN}McN?DXXR!Yxlp*WBBu@S1<7G@ur{-xWuj5}ZU-sYIxZLS${44Y$f7Vz9r1!DO
zFIyg9S)|jMpmcp#PK{BV=c{vnvz1h?Ul)0_&HkagMrFPA&YP;qr_EM)tXs>f($tkR
zi=*StlYq^O>=>3kQ(bC1@w>=M*^ex-^1{tQXa2s?+mi9P`C#ya<!yiNZ>*o99bI)_
zbhV>!g!jDQ8M`O=Y&c!y701fF|A*xAWo;h}J|(A$TK>88F!o;YDQ#XG=iK`_QztNK
z-MQerZcn4o*8^w0oa$}<+6dMET2XnvtM&U$y{~!S-rRj}c2QJS<tbak!&+0WtFJXw
zIBp$%wB~nWke9#x`4^3kS+mV#|ER8y3;3_{B7f6Qj#C<I55#=9C;#iH0q0iBBfHy7
zG}4kiyENWe%xj6rEjYj|GV}2dP3}~$HqH<;4R3*)KVCkYp?#bA-<(rH^^c2`Z{1eD
zVeD62lX&7Ox4&;qdH$r#JE1P8`afP46X~B3WUl0~gZBc{b0g7!#_sCh69RGqZMVNL
zv3xM^NXj8G72{8d1^Gci4jybj*GL?BIk9u+%jku@uCvs)Wgf_y!1SCW_mS=V*o|^k
z8Ry&bPhOl<dF`mzn$ONF<rfypKUi2V8-M7h30F+H72_?XVADApMf<<a_dNI{c;@_%
zMXtNvzpVV<kyKH1pY_y!_Y{eb#}e%-yk2fC*b>&>`>%4><wAypz<-<`5$9gBaR;%#
zTpOgH(978Q_L7e7!70LyF59D4SCz0$&yICX`}6U%iRC;#7wwZ@7U&E0I3`%$OSI(F
zt+x}&^u5Bv*YM}t`CI*pf|nwzW(G6zDc4I|WZn6n%AT}-ot#-vSQeYt<1>ognv5UA
z{$<`g!YjtF&S6=}nqOx4czcxc4u*$P0f(lZE<d{T-<1p%74G|dC6(MOnrr;dK7RAY
zFLU~$@cuOyna`H^-wcbq9(wly$20$9OP{=#I#pG_a|aWbcHzxOiJTKApH$Oc>1=mQ
zzPN7V*XKIPx%)0nPFd${73uxmTKM@=lgVr6vu~Z@Vy$u8zu?A|U5mG8SA~gax>cK3
zbA39rOYH9fhQ&&!Q^aoUO?tNS_0*2FcdTuc1;Wqmu;HFpV>Nfp!tG~F&3hLuuX>Wg
zTPC$LEVD<toS|MWVClxa{Kh_M9T&EH>0Jn1spk~8q}L-l$VlwU_q>`H`{GX<`)%}Y
zQZJkJuUFyt<0U)pM})N4TH3IFdwqK9Yr$XhS3lYAdE~hIkwujpu1z_Tr*9n&H?g@B
z%sTVK?>`<47i(^=m}C{iGfg~<r_k2qnTp}mtmXH3yLck3)DOQoSbuWO>sghty>*SU
z-vUFfIh}01`|aC<RFRFzr`}~cWkxHMcwdT~{`wXto0q<9Z(CzjRr#L_Z(?ei*_59<
zpNaS{aOr1om7`ea@BAMgM>c+6mpauYzK4ysHKg>lTY+=FT3C_F65HRInt%2x&oWh;
z6L9Un{wL2Blf@QEUsbY?NIF{o`dw*jq~qgR=jA7JTjcearAC#n)|1+N*WmQ_*GIN%
z>Qsxc=j1(E&#D^8Uh%lWaWRj^-ay@+-N&3veR<yIwG@2%nqed<IZZ(Cms9<Mdv`Mu
zlHOfhx!+%ON7t3oDKq0$Zmuc4w<T+bYmepkLY~y8C$D_xom4Slm#9U?<ByXJpVVjM
z&9d3k`BVIEV7xucJ?GC8>fbqCvtF?L>_Tzg?H3!@HR~8|o2;;+F3dwF{O7cn&yTI<
z@H8#B@y~8e^R@5tX9IIqluN&>7AlUtoaw_DF7VamRes6^<+vYq5?Z>EP5kb0I;t)<
z1q|)FmH$;{9C<Iis?LL#<*6V0b$Pj**DtTse|ovxYD>MwBJY+4ea(f(|LE;CFu7R#
zF`2*VRMNdeej>UPbng5%&^y-rsj&TBV6^><xP=ib#MkA_6yQJi<Iw)epXN^f#@Kl<
z!u5Gb^J&lelrN{t(z5&iIlpEuu(_hl?)<!GWz!j(cXi7q#<b7ccTVi7;!TT-mHS)$
zAN_i;^5BR1^;~mQFLq2knZfdOm7gBlCmj=>^&ch(ZHgEB*I~l(VB_a5m%ov_dfX;X
zEM%`X(_oq15qwP7YV-cNT3^olJa~TPk|h7EIUi+L3AbBke(H9NnrpbnZ_`WdXA!xa
zo8(mXeqF&c|5)Y`j-HMarjNRJ@6IjeePe#&?WXf<56sv(oyDTwCSJ#dFMQFjm0xX3
z&aS++WaS?#b>Ho>d@Wa6c{}WGstTTZwZq`c?E_1)T-^4hCz}N|1+Pe$mt?r|^@KfU
zF{<+Ifz!W;OP#KqaQSL>(h-5jvQI8gzae_}i18zrUL8Nr0=`$fq;iAiN8K0T<6It?
zZqPNqWxL$_lFMJu>}31!xuAaM?PIlnc^@D9d1O++kCsPKeC(GQ_x*a}`O)$J_O~U$
zzgkk)M2p3WADUyue3<R6{q0?cBIkc=ZF#UrD%H&;JKe=<V#G?0Yer#pNzr^)Q+HjA
zk858b*gE~*B73Qh)vOuXzb7wy{<CcIS&n0&A5@O4+!?~>)_8MGJ#$RiGU2{E`t`GJ
z=xm5w!0Bvvn<X-M+v0fvi+uKWX+4kI;rpj@_Q!YAPx73IcI;DMu}wx=_FP(x!2VOB
zqFxPGE<~P)$?V~CSzT=QZ{Mv=bNhX?yvz3%Y~u~NwB5>?t>9qMb+OvRGI|dsR#o<H
zjlNl3`qsYo)q>}i8Z(8a>ll|g*Jm|Nj)`oncRwzt=pS`An@QKg{jBx3JyWiqTv^h!
z=yJTRWZ2S!%j3539SS?W;p?tPPZnHO`8(%d)Ys1fJqc-(bu1JOPw%Wzp1oM$^@p<3
zU)mm#8Xs1@4Q$?2dH3i}-Gx^IrkF*wRLxvt?sX(WbfcBbv2C0S=l;@twd&hq<~Wzc
zBRf;3OP`og-!j{6$+Ag8GU+P{F8*J+VgG&4Gih%vUCstc7}#@i>IfTg{oE+S62S2A
zNT#P7Z;kaPjZn>(K0ETX{@q;hxjf3TG&DTndi`#XX!g|lKFy;V6K<VtylL6{*0s92
zE?;HKhL-b+tfl)t*)#8x`S|Ar!)>+9rk5$vm!~YzVAN$?d9=Rcz|sa=mt!m*n+``S
zmZjZJU0rZ%z1M+@ee=sz_(KhnuV0C051bp7JvYX3{ob%CR<q9=9Dlao%lO*drE#1}
zQ`>x2m}|>Q$wk*4Jt@r*v0={@hJ4)%rP8lrKirX9b2VSC?)IEGF{>Ax88i0p-Noqm
z;OO?Jc6LlP4mxpuy6#`**UvV!pM9cYjd1<Fu3P+%KJ#oiysATkd(j?0v+{q(dheZy
zzt<w;vO-$!aNyeMI%WI(U%lm;q3yRo&2+^xb?&zA?-55Hi7|W?G2g|@#<Gud{}a}l
zt83T{N<1@jYtplmXG>LzOQhTTGdShGFIXJxspQ<$ao|VBQ?uJ^(#q^b<MZpSKPIy{
zEt5Hu>oaA-jf>WkgPfn8yHKtE(0%vSmlBU&NoxgcY%N`Vd-gY$049kG9qX1>+VmKt
z|NO9hlk>i}--;`QO(tnb&0U_C>~-fvh-Ci1pt2D2;@zeD_SgNpW|DC%{mwIg!5@3O
z;#Wj!X||UAm^b^0_vh0>#>{D|4v~sUto5qlfB80VJJ}=Yz3rH{<1fw$T^oD(JLVk?
zsIq_GBhB+GrEEz-E#Hc>rHOBi8KNT|pX&c~{^YN=l{x4AP3q1bNr`XY-(CJ}QBJn~
zk-w=8UlyG6U9sBp^R?16Rqpm#Q?LJx_Bi?byW7$JZN4Hc6J%Gs&OH?&$GS#SafZMb
z)7*@p`l#b??@pOEd#eCj#um@zXFvB$Y+`pzQd$#O-g#+9>C!!UG1Z9^gV!J5p{Bh3
zd8@zTngW*08#cWjpTC-)%YL-&ljx`YuMhJj$?lI@|6_xcYN>ug6XTYmq!aNeyykYf
zcQV&mFO=|p-db&@zdR>+iMeXW<mnR+zgN%FSRJ)Bli^Fftcux^lvymFrL}DrxvW)T
zQ;>eK&{o9k{C%m9+SL+~tQB*dnFB1IWs1DMU@CU&+^%yDXF~bX3o@*k^dB!d`)!Mt
zVw8Cj*Tay=wk=OojaE$FxZ?7ouisV+EqYS*C)dUMW!Ps{u6?R4XQeJP7n@1Ey6R<I
z)9}qa(>Fx3UPx<?SiStk;x^5K37-nOn5~4~crD+YYS;K?|8+%aiK3%=G7)loX{l}1
zj|}~dTXszJ_xqh_m%WKwy(7=!$E?}A>n_ewuDF?86Bv`XW%DfKUwwyTo$oAZJoKxK
z`-*#vP_l|@s6^f^!_tOAzLfXk8y_^poo!qxn>fM3{o9wk&|lsgYDDU%8GT;=$6EeD
zZ>RjCEIGf)yS_etmp%Wx-0P6&Xa2$pH<Pq<T-hE8giqrVDLDB>wp6t(<X)g?;-Vcz
zk((A~&YjY`VB=XHBTwTge^O;;{S64)7VM}i!C+^*L|xR@=uX1^Irkn`{Bu9FpVOkG
zZL-b8bBFexX=W_iZF|;BGOJ_1LjB52?>{+zbe?(nRL(Y4;50p-p78dPr28*XxrQe)
zJC>w=jkQ?czHUv=zcvdA)sBz*EZ_U=D|#k-?Fd8BJf2I*nw#G3C|LBM)4TVVtmF04
z%rCn(T4%WUhshu93iH_-cv>~{%c1!VO-~O-`4^mN=6~Y<chT{@xUQ=+yanDhb-n&n
zU*cve5x#EDv_0B+I`WGx&T0y`{hR;VX;;qv`o}u6_wnxBI#*A9y=S2Lqy+n8Yqp-6
z_;lC7pbIP33jX?jarVw54@;|foUbTbNZ-)3=&V^VV{Om3xi@~U{AR!4?VYF=w>HyL
z*E(3@7TTE=?q{mytFk=zcJBI4?b=ndSFWvG6kGqgp81OE?>foHzxcJ%dsXf&XUp>9
z;k)g%$!1E%#S1CIsWY#n{%^23?wICVbvLi!fuDllng8zo9L4NjhpLz8|Bp1-d1Yhl
z<TJ}QM;~5ozpp3kYUcZOQ*u?RdQN=onQ>aF_srV8!Pm9zb1$9U_}DZv<k#P(`9jG7
zj5*@=!aFYtPG3@AA*vRzZ1<7NQ5nGpD%;FXY;@bI^0G*~)i$YM>UJykJChZ=xEYRK
z$t>FCZ@O1@>!!aG&xOiQzm%Go`S6t+L!C+Uj=sFhd2cT+{u{PASaV)=>H?laY@h1Y
zQ<%*d1D%bpac*69Q;X&GwhgCUm>RUdNp5A9m6#rI(n$Nvx3s_$N9yl?)^NMm{_KI`
z)y4K7W}M>7P@Y|Uja6oc+?z`eg?sP0Z0Y#GTXt-sP@rBu(~((cH9uLJ<am9zbFgll
zX6H~>F*D_T0L#54%XCsiy^FQ#i|(JBkf+*q>F$0x=3o`cVvXq`+!YOv`3k~9e_UYW
zR8SQ))D)Z@{W?v2njgn?H>uA0ot+W3duFOBWQfPdS02B&bnDS}e|yc7N99!<ImE1s
zqaCjY&Jnd+BvT?)pLg}`e9>In`JC<nGi)o@Fd6h8{`ACMY~9|Kj7NIq6xPUauia<0
zQ^Q2=hPJxkjCK1H7Z&__xv@a{O@RQ5lhh_P9Y)sRc((&HuPCp}|E`{Rbv}FF^LqI?
z-&)fIE~_bNEb@HV+q1?_CBDr1*XEm#jvr69m0~%SY`ZVDd)|#ld7H8iYgPV>Tj%@o
z^TG6|(dWKCo3l5D?byW&uPPr4#$~NE`dsC1WU(Sv|8$wwf<plY$)d|xymu%5*t}-D
zu7ZrS-inCHN0*w;eC+mN<Eb46zb<N3nQqD0sCMW@*t9D@o##7S>Ag6lKjDVx<@Kd|
zTCF3iwwRf;<fnZv_@E^IqiA}e1)ngZ`E)^M9^vV=Vp9CuFDpov%w;yWG?;$SM@)2k
z{60yp2xfCjBQSS*{60x;Rue;0Q`6}a#iYcT4GfH@e^ijv+I~e$>O3P`Y(z|0P{;O_
z5>ij?>Ywk>;cC!+oeICuBwHWM?6nU5etk~3hw9W<e)S(;-G1?$ZGC!ZQ;<N)iRU_N
zdQ0NX<cdOO@-JU>L+ElP&z8STPMY&l6h2+{mk)p36vT2cQ{1m--}MZJ`TL!pW{aO{
zGnrc47!Z=W<?4cuUXh2q)UG(4_!g<eR&Qg}dTY&wruRFz3)_CJ+Zgnsb=|Ssfp2zN
zT;~><Ii>dSmrMP*{)UPk*-<=OZt_h&d#!K2LY$9fe#ghYi9t?xZk+0f)^2ffQB{(@
zv%*`tbpNey?*io(_$_=`!Lz>D_@ZW0f6TTG7Fv%o4SSwMD^9h#s}r?bJC)7(yu!yd
zTePOsXXvObpE+AQ&nsRs`O&XX{;>bK*9>N~>OW2ue*arV;m&o{#e3P?edh0r6FKYf
z$+SXj`?36R)3%cvkL-G~=j%cTpO-sk$f{0JOo}=2tfkQC>TDsuo)z=Gq<oGSC+psK
zkFm9Ec)CUI*zuFX=9#A_)^9e7)#`Il3Er<`G@*O$b>{lSjg1Lkdd+{tGf%p-RV?UM
z^fSLBr~f)wE>dVPyC(bGaoK7$o$1PpqA%S(%X?JhZTj5P5pO5%dCeOC_Da;TFVed%
zU2hN4>7VePaYEDyYm*)GA{z27gC2YrRQ&n<#+siB5eto^Z~GdweE)V=Z~B}MBAYwj
z^7hMCUQXWj|Lt|p4HN3uHg7s+lBG~ll;S0OlH<GWtPbV3OU(D3`oA;kSB(6U17fC!
zSL~ah@y00Dn)~08+l#&m%+WjY(Pcd=<KqYOIsB`a#EbtsuweG#rD@h`!JC({dFuGe
zBz%eAF(s;S;)Ba}1uRP${r5SS%s%pRXDjR56Fep-qE~-A?O*V-s^&=g`TTlSr43p~
zl+P=q?(1c|v($0d%=wMqRy^3dPd?)HYHRZ!7TMJSm&05o#pl1}7N4@)u_9D<^SU#w
zS``6j!{(_eiqG?1%3+_llrto9%C$oG>p?5z`P~DrhB>Rv%XxRSch^sWM=?9wTP&;Z
z8f`J)yKF9<pM0g1J7{^M#DP<`A60nv*9%M%o5{D}l($udu)vzepDyaX8S3h5p5BmY
z<1U)=`_#vR$G*=*558Ju^?R=Sd;MPzxZL)3Ki&Pf{rrs3=ANKOOP2>eebXZ{>BBwK
z{Xef||KFxkdn_<;$DA!oro}m>SE@eRp%8vB$ny5D%i;e5IqJC!H$461%JJ>Z*AHE3
zci&qat*;e5W~P~0#ku)s(f<F>yK4H=RbLiQ`)m~dNHEgchij^Wq++VTg6+Gm*EZHz
zxavOLba2ZLJC5>5Egh}L?hVXY{}hg%UC4O;NW%B|r+?m^ye{AU?|f5{S#h#21f3nq
zXSHxJ^ZC6w;B#)-lf}mm^vp?Jb<OVv_g5w79e*Zl`xf`SK1{2ZGtJnxO81<fp?uJn
zBVH44OcBpcda(aK*OENho)#7bwh)uOm*=0XXq2%l<P`4f$Xa+a$*Yv-#MZ}3c{{Bq
zbeZ^>ryL8cFXxWad(_%yJj3FgjI`Q+?cBn?AGO<0OMFS-+s?LBc<sDNnPQ3Ch5S}}
z$<GpdVcECcYP(~)U%g?6xpDR!R^uX}{$DjO!xwqIKJ?JoN5{OSd#XzYuT1~9_euTn
z!N+EZ#w{#8_({X{>o<QPjc2Q>cCVcC-2IqDrxe#R*$p$gEm^H6N{DXW{o>|}J0)VV
z-@i|9Qz?G3!Rd(a_Ae(T&x`+gENOLXmz8RN;Ln-rhcC?X_53SRbegZO-eTKwov+ON
zxdGd`ed`tlJ?(qjC|=I|B)V?N$!#aM9CZ}!I9vD6MPFWb!o;Ua0>u|Ydwin5dR7)c
z=zYHH?Ku$(nRmDD%k4PGoAYyzgN+IEiXDrOFP|66D!KNKnVt5wdoR`buP#YrnR(ry
z>_P3~-5Y`|g3K9iMb<MOJ-)!<;hva!r=8}F;Z`$k@(=O8>1cZ*uwY~0hAkE9-(q|J
zO5C5>SYX&vug?E$$E(_sZk2fLaC5f(MH9EP*j~x%s(i9gVcNsCjpC73TFFKCRc4y3
zH(4$g^pIC(mGG5d^=A(%mYk3-%H9w;bLm$RGp3~>8~<+mu<?<c@Y!ioxAhpD*XT`H
zc%lA|p#$UnXRZm+x88p_J9(;~{uPnq)0fU_pRcaaB{T2U<F*H>wFf?J&w10QcP#RO
z%-NYm#Vz0bLvr4~xcAS~@wd3<@=Y3<H&>;v6S|PM@TB^JulZtqiSv(IPgtulcjd~3
zvrHw9o@iMd^6`I9aboCvpC!y37ZgPMi+g0=iCz9L@wEQr{6(_I{$7z=_usr#-R6$`
z;?RmiOiw0OI<xGbz2iXp#qASWUV5`#Ewp;6<d@r((k=MrUeMvyS>LAqKey(KV(H!o
zJNsDXd-?Krtb6ctV(bcz%~987dZk0Y*{u><RvmIoA@RQDlq0)4Jo@y%c1#iyuwytZ
zT%YyWQ*c_}977rBE%n7I_ulF9r0*%%sJi2nY#Y0Zon))D)5^kItFBgDP0x3anDQec
z{oU*PxdOk$rA)+&Crn`4us(JFuOpieZYVk;_wF^D-3vplxceuwj7&c5JY>Dsrfb`R
zQ|Yr8W_0vM$F7>Lkz=KzT3@8TE?&Cr!@P?Vi-U9{4mj*cTRE>oY{{2L_15AxYK-Tz
z%r{+KDre)TDSm0{qMO@!1l(QNQ&T?wP`}O8S2W}Cnm^nJCnSAZcUXMR?p`zHz)5=*
zGqV3lncqCHYVijRwvI{3Q~y5LxpKwPz*LDJb3&3<N`4ZLy<K_W`r_cw#|)}=CeQw_
zztgvErd?d$rW4bD3(vRs|8@B_sof1~_57Xr28HrIhaPA~p1ARL%IAwKW#g2M6DCfY
z{f5;-<?OQcH6Mbcem_1kfA7Nk{*v#H^Ho=sxT?&|-f1sX!x&+|rL3Xvr^MW-#|&Q_
zZF}y%NtmpoJJ+yQW%IJfZ}b8s9ae7Y*T3kOy_e<l<OAFWJ>lCvK6=Q)dUk^Gl7b3<
z-}?*e-)p<A4O?Ms@l<E8i?h3^@u@S)!DU&ta)x)`IW62^^z60u%!o|82hC0;qWNrG
zzpgLY-K^Brd6s|U^@X?8PX4^1JE?7nn3Qkp%F5_0mK{Oqvn`9$Gp|glZ;J7#UGeKq
zz_d+v8B7gdWo`>e%l|j?Fxs8mt+T)Q?~Kay6Zfb5I9|W?^3oLh4_lmWOUXHC<i0=a
z`o#C8QEYMN-iDWw+nN&C4P#UO{xkfuX6_38TLKSa>%ORUD(ri8FmPFY>*m^xX{O(J
zw`}prGFru<yy*n@0VA!D75wj?ZsT)V{M(!(YSwKr$Lc#NVq4!WnP=4%9a#10!m*`d
zit`MgebtS3?)|!XYrS^#(ZZ&swMybYedGk2)Fy{L+#i_KV&b;=NXGMxxxeg+B()7}
zj19h@lYg<p<P%GZ)AnWi*{kPmNsIj1_BZUtOTX%^`(3WRj4+SVcpq|c-=Xu?=_SdG
z&c>~7iVJj;Z!VO#5LA@03KY7+mnD2b*EoGnv_#*IBg?0+?Y$f@Z}*M*!d&@%P8w|8
zr7trp*51E9?`-m%L*J7p=kH$7{pw~>);p_7Dx0HrYW5s_$ls!TJ?e<%lD)r|EZdnU
zmb7xV_{Pc0y_`kMrKj*Y{3)?q`0iXy--*fZrPe%V;0iXL_peXApIy~~eck0%Pm(@I
zJ>RXEw&+Cn^t-b>ver#d+PFYm^`2(^$w>>|i{`#iQ&k8p2;Dh7#@(DNUof_2{a^oZ
zABVohNk?PYW=S0U*v_;qvPtWmw6bO1kDce87fjb%t2iepac=gP=dmx;vW`1$=V|<G
zz42lrp9-@{f8`VQ%IQ7ZzqxGE|Gn~d-M5?a2cs@z|B76<qqj5V!{(#2mtK9e<F(Ta
zule=Q*`HLTN`_1q$ya;4f7_*O(Lb$>-(Pfj%lxZkThk)+Uw5hG{3j_JC#+?EU6f`c
zZ6Nq3>KMn8W4?|*E%nRHqHliP7kxfHSiUubVY_XONy^p^{pT4c+Bfa3jaoGG?E{;u
zb{{eha&A*ho%M2BtmoGEbCX!j7wpi>-F_oegyp)~$NKehp3{V6ik^R7f4yXTLW}q}
z-PmJcbJm5VR75Ju{>`|t@z2%m#~4m!rsy8nvuVHmnvPq6{+r8H-UilvGP=G!oUbg$
zP*1c(x>9PJK&YJT#`ne-qwj`@`cGGSo%LF^f6ey=2QPFqD!e=Sq%hCRCNGCA_22>K
z0=e%`8Vt{So1Cw#-@Bn8Vt(cJ!m!sL3!koDa(sQ=1M?C_+2(+2hD^Kqm;Ju5AVV_e
zt?bt)oqq(cT6Leu+wt^aol1e6#JguISyP)s*M0pXpt~|}q95NQ?HQXQ0_NUZQ+lzz
zIAEznk&)g0$46uHKl>Qm*>LKTXIY%>Dkq-9mxa|2N8g|4^T*>ze%y!pc)tX_h5amw
z$>-!(Us;&0opgZvsa=oX<}QnqQN3=j?=XMyT9<b#F68w3ia+z~U+~!S)qP$n?tDA)
zkIoynb3Qwi>$xu5h%LJx7%hCqwE8+nqO{r4m`nT5J^CB%H$Q&w!Fv_6nc1cvkoDdZ
z=KXHpir)tXTpGHXMRYB#|EE}N-&%i_`^1MRNyW0e6&p&|FxAff9=^HKUa9Z9P~4-L
z-n?@@eSWdw!(9iXW3l{OUpAS4H}>8%zewzetkB`B_N6N<_o^7_-8E6KQCuO_uxHM8
zl{hBNl3yEDyOw3$J^m}=X>;Hv-W}Y_EqM$6SZuhuq0nBqdnv0<_m8#Oe;zzEN%5bq
zUGK2R`+=3Sgsr%?iGo;~=d(Mv*M`1bemC}SMs(%hsSF=Jujgm@6M9lmp+|JtOuh6#
zxj(LxST^Oz==`?d%AfwE;acK1p?m7;#r>1>6Vl~x9Iw34B#{?BC0PDVLBP9NSMrvX
zi0zw|zOJNJ!y@riNl4_|S9um|@=NwK#Z|mmcigDnc*BdV>9R8K%RBFhEf>GxAo*^$
zW{O8p{rBfR&xFG{4)yZnmB0Szq4xIUyN@e%q;$(7Twi@yE9w<;RLot~dg0!`Q#n1K
z#db0sQ!TD&3xD%%b@lIeuU}2o|6Q)WH}}-qgk#QkUY7h5i`=x=k}J^aO}ltj*S3?_
z{%HM*@!6!gKD^#ycJqbV+pjUPFk5q1{-|!dFn!y+oVw#H!hL`KlC_XBZ4<n6QPM(T
z<1xqcGv8f2RhLqF=tb)4UshFW-G`-qe7vyxNTxxP(X&dq-JNX5pM5S!Ol@?NRGazj
zLh_Y-*}J#w4VFq~Xl`Qp9?tqDfML@<uY`tOzlvA(7_4T0RC{y(?)uYrS7nIsTsp4v
z@W|hjCnhe>?f)QE|L&gFWFy1tihi3+Vl?M}O<7(VKPf%D?U2q%_P+^^-qtfOs)b*h
zl%5s0CU*JEf<pz5By?teHn_olu6sHQ=fWHFb@rY0^>>YneqnIZ=j?~-H68OJ{`$IK
zX8FCgN$>ujxXTs-^3xBn7X<xrub(Pfrr4z9xpS}Np<NHJUo7!g3jL9PHE|EW1+R^l
z*B{}mS(9W;GphOiEPt8NGdE&kRKTqm|My(Wz8Sbng)K8b$ls<ksq)WD<G)6p?AhLq
zufK$^GMQ8KO7-18&WPx>*A8_Z@jch(zco&*XUEh{MSjb_o~XB%x%8!viT8h_uWx-l
z^Rj}qQ?ts8uCATS#!$o%+;w-2<i0z1Ir-I#W0l?|?Bt9+qTc!T-<$iBYm0Teel;7|
z>|E6TyvWJu#&T6x6Q6BsMfJY_OD%N2`rOLu#CGd4Ztap!b7~KKlX|Z9oFmO&n(b}i
zUYR|KEKYJw##s^Pi@KiJP0w01dBR5fd$p+>AJ@lEjduN+q;_mu=M#-%Mb<6nwrpS7
z^lR>pKbOxfSNU(awD$h<1BT*{S=lF69s9F8#@6A^)A=7)nI-Y0UCU|f=-!ZgGTl&;
z(bBYuPxZ}@ScSI6zh6B>rzI%foy+uHGk$*l^7jt^FMKhces1-$^GDW-&s^|%=9XBU
z$<jPNx2gqVdFzV;ANTK%d8fSY)2fiEHJWOZ<EDRopUc7hly&oyE443Nw`p2DaMs8>
zwCs-F^|y-s%a32%P$9YS_x~*q)5Jp46VC+~8uQzKWfol!7b>wRTj|9A$|Z;N{rnzY
zv6A96Y@N-2VYjkDO~8ZSjh|W7U$0*Lx~?+1PvZQvQ|AwR)OxKbs!wU-RjEsxA)EZu
z=h@D=A|G0kDuk9bzWZ=)<rk)@ZPO)Z)qRvWrStxH$b&CSZ`O*ny>!h_57zu#TUV=?
zx&5cG9?NZWap%Ig22Zo=2Xw!mSb6Qh`Ym~(h99#oyJ|0OnfxR1?38!9SI=kj{SNK6
znq6^HdgnDu@#LlK9umLOL_VFW?_W~ys5jN(Lgzi^%gaAs<>a|+zGi;n42S&(Z=Vyn
zRcFkfmVH~YIQ~oZ*;k^<ES}u|>-ViP_%ONGwa#HCQ}>)h%l@_nc^L0nr{6i}xYqPI
zrNBS+>#pqL**~#nL(zteyXy@PtM{g=`ULt4?=PuH`e9qY!$U@-@q}HUq>J5o;kNn>
zJKtta)L}aR=d%@;<Z~B!vDQDce`S6zU-~lBzNPN9;Mp4!BxZXn>G<WJ)SKD=;a}j|
zo@cM5K36B*@t%E>i9s)U-=(`(9!hN4^?0Y;ze|_IiVy3qPh0Qxuzv5C9k0J_uv)z(
zkz+6O&Az{)b3!+$MFi9~IJZCX$~pLqk)h@26_)zQRUuENh|Dbf{UXb2<3ib5SD}P|
z?|wUK9$oQBwEkMEsH%<o+t)uL+}EW~T4H|r%iabjvlpUaLAx`f%8VF~{#LR+V|h}j
zP<Ad4?==_ZIJ4yH+@uYjcTPHfFfw7gCKkEAZd+aHotHim&Fh;ggip@nw7U7~LFwfm
zRXdLJ{W!u{TK`o2Z{G9V-IAH};tmPUEJ)6OKHIOd+*oGui`mmGGLy7q?M{DQSa-DI
zg>#kuPc;*X!nohJ;?zB#NSrn~@F7UUH2nCYEUj1HwHB_D-Lfycx4Y?S>ateR{x){$
z(;qdj+MO}EwN}$(Vmq^{%KBK<2*+Jlc1-U`Nq+t%>Z4@N&3fhfFPy4x*!n+A5O@;s
zbwiQ0gVODDD#04DDVM(<t39M;cSHAfR_NNp&Ecjm76-WsZu}Q;s5&sn@toRej~-Kj
z!nVd+tlAU16m??P?I=&ax$&c!E4MUrd#A#)IdeW+`)r@TurtbZR{w!lw$nRyJ2o|N
zsn=-E-4kW_>G?$7KfQM+T(5r?B`%@K+q*Th<;$ld>+`qI`g}%PX{vhrk4-yul$d@B
zpW3I|cO*j6nrr3vz2E#7d~BP&CxHKJeC~8_|Nj=jNB(+CeVYEK(dl5=#pAEH<a<eF
zHoW66seiuXRLALl<98B|LxcAU@~E9L`+4U1jhpMEJZsiCnP>UWwCwcxUbngFP5so0
zgO8l=`W|V~-mS7}{#!jq4#mlWuTA%C(z<i#9Q)tL^2`MjE1D0aeR6-6wcSIkwXb;Q
zk2h*{SKGLgW!f+A3eMhjZm*_vXTfW~`->d+*j`;QBmHXC3zH@HWf$(#7L*XV(aKh6
zDW`8*63s1Xw^?H4CtbnEVH@XXJYJf(hAr)A{cG`K!OTLO(<QDKXxBNjPI<G>H%mq6
zQ1X_!b9SwA^z@v`XWPE$U&LO&XpTd9%8VY*YZClV#@U)E&3Ks6F|pO}to60rhswV9
z7dCBoe0}H=d(@A&D^eZ1SU0_TGet;K;hg)FsXWv4zuI@`m3|I9m7+NF`O>Kd5k2n~
zR;_xg`|fCc&6K<eM;vOiR3j&pMl0y+H%<I%kZ<vQ%f#i6F3sP>`ewVK#;Viv=I&Z<
z6tstT8}G_}8M{hY+PHEuE_v*p8mV&i>I1&z0bGY}@Yx-ADVw=q@x%;Ed4^-+{harM
zvi`hjdNq-qOZQ{>qe)Z$^VfVnx>)Og?HSk83nePPc+{?O&hD?b<nuUXc6gh(oX_HN
z`P!x_M|Dq_R8F)1HQQ-XOO<g>JkMICtGm7!>?}OVb^r6SPn`Z{<rh9PuGw*s+x**i
z(TTTsZk_Cj+J0Jg*My$@>9>#Y*+==zJfx#@?WEoF;8c^X59~#3UN4hVj%oYgzldA#
z+Oq@ZQHx(J+x~s;EUC%=^_c79f4=&rYoc(dFyz<FJ(Z_tnhR*Mx_Vp`^5>{gy?L(m
zshHvED~}%TsDHr9^Y~EGi4zraUj!q#x_`)ro#y@5`oY(k;bZaSP66Y$?#s9HIX*nK
zDE{@g<Mu9x`1#I#dSR7a!rQ|rbXQ8G(&}PBrolwxBHt!={ZCt$OqjE;HcC#|yuNC~
znaeX3IUlcZn8_`tdty?Hm9DRyhu6$1rv}5xEDy>(kM7NV=X<_K#I${B`l0w82kO{g
z?2qGF^=fr@oi@+Be7%=X4r|XjaqD16E8};2-xB%k$!y;_-?Og$cq;mYtKHA~&nfYf
zK5SG<l{Neys8s3Jw`I$sfLV1@HReY&+Ux4nf0X3@#+J)+V`i9L+V5U=tCBdq+KA)d
z%b3jsFY$>RsG0q``Te3Cueg?LRd?~(p6aRl^=0m?a7*|YapSYy%XJBhcko}|9U$|g
zu48%9m-4n{Uo~QsGbMi~RyCKW*rmNF`Eg6vbe>D?t*<A~+~sBOnKJMCqpgjSuf04y
zjGZ*)tn1Bn8XMm}b*jI3;i$-iGe$YrJ_kfTU=#lLGG+eyzl&MdJjy%X$X?Se8keSE
z^7;Gyr`^hmSMMD6Em|~T`K1J{snrg*PIpXoyti0p#*AdSf_HD0_6xh8)7i4(hM395
z=-%aLectQ;kl!Qvz|!)-fugM!66e{k-NCR?an~Qu{odjJYV}5MX539b+mTp*QZ_4S
z?a_uuACJZ!UB@-sC4X+C(DZ-ph8wjN=S^NNd+$xi*4*wH-%=*B&b_CRWOdz0c1rH&
z#paH4nr3!yP7|{_&A`QQz(K~O?X?}}k3a7eC-A;psby!X70iEURr7-LUK!e@yS^Ur
z-Rize_+F>N<W7an>5l3_^)o#xjbGi_{zPJF$E<kMtIspNjwkCotXNW$wQqmP)#SEq
zA(stKe0l$Tg__Qkgo#r;wpL|E9ll$=`Z34K?$7U!y*iK_9xEp=tS%<D^va&w>pksF
z?XPSTUGnswd&TEZ6HPXJD?a|$it(`L%gyE86AwLl`Owyb>-GLgT^l|)9-16+zkb@G
z$$TRBHZo`~EX|Mp8LQ={nvq{LuXRqDk-~<5^=-_7{@OkVRz4B%^A>QI`@-tqG1>C<
z;YGfji>9wzt|I0<L*lkXTW!@c+j+K&Ep<LNdli|NO^VHU^<3@$6l<w>jgmdx0&|b4
zZr%As;zL<$bL8ZSX&atg`tVWx(Z`uHXU5K}Z$8&qc>MCTkgIEpy{CvXtX#Wn&AkT`
z|Ls`j{H|YEC-TFWXMg{_vRFCQdg1a1GMj2YgbT3feYtUVZJoMY`BHBFNK17$->dtW
ze;e+Jn`4+N-evUF<;`^auSuo}3+i(g{hA+h*mf(+Mb<3u_csk%UN16=e4TqJ^T3wG
z)30qacsHD^|FM3$-o~vtZ|==I6{KiiGr`PZ%C`c0txT=}y?l%6>tDpBzL})23RMe#
zC#S3}wf<yK90!MXLG9xGhPO5<^S-xSbM57W>fP7hp1klcGQZ*5vDnxj$Fx>-s^~0K
zIdOjRwj?b+CeHjNoBV1&|2buD`=4*qwWWpEH{=WNIeX6Q%IRD6?`_T-|LM`X?9aAp
zhT|=J`!^X3e4pC>9yn9PJIye2*7M@aUmjUlspO_;{(h~}8Svr7^h-PUHon+i8QNvH
z!drdKyU(8w#5Vo8acWC*_MI)OZ!yJ7EKXY7C-O2_X=U&A2f}lX`5d@YI3b~U%Azv&
z?V-#vs~3q2zPcvHntkX{EYtIPk<wL5zvOSUlbj%1EhQY1q-lA@dbz^PWt0Co>z|5P
zcS&bu%idi_0{b=AzTT|q#&Rd5#qFG@c3eCcqd(K-y@$heg|t;?H_S;{f39lco9(x%
z{(NEd6=MIo;lbt)$EM6V{rO?_<#wi`W0NB`NF}h9JxsrnB|k;(Mh?H@rYl`NOB?I!
zrg*t*)lxfZ;F+|gKz_|Nf2|8&q;?brth#W`somPMs~|+ip($<Gl|pr?!iT?q#Y?*^
z5AjnB{iPr9PGpw*49htCt#kN&I-(Wt&D^z1=6;g%E&a#8uK8?zU*zz6;<^)t^Dn=#
znULJ|`PBZZHD>PmrCwiTJ(b_s)%Km4y#9n-cYV*+-+osYF8jau+_od$ud`2l`k&*r
z;!T0b_LP>TFC<<p2#~U9Ou8GYbo9S!(QMcEJ2{f7znF_PRZNwua!G#Ayq5RWtir0Y
zCb<UNzD*7i%a-tO{lQf{^Yz3hW{<+wzVp&nIlaZePU>8n%zJ&~Qvb7$k7>pCBp6-Y
zwn^5EbEE5qdi&0-p0G8~HgDOqNmVvje`3+n8rACw^P(8<?0#&NF7~G`bMAqZj*fX3
zghk$z-^mbMX<IXo&*gr9`^V=xQ<AlMqa9A=InVD3zHmk{&^oWW#N=$Dz>V`C4Wz|%
z{kDHOI-ULgvjxJ1^+#LJRV^=6Si9lP%*OZam*tjTQLitVw=<|->B!Q%0@}%wPX3vy
zq<pR2rD%5V;S7F8BR<}1laC*^-tl?<rAKoGs-+IN?AJVYXKulx<H7$lf4Y2sSJ?X{
zrs0oQKw@6N#&z5l|J$lu*PiL?{+?|bCMLe&!IZ_xQ<^1=ZkFwdj*m~gDt<})v-VV`
z1eGl%`xmi@TCRG0ou~iu)%W%N(f7NKbOt^;ar^M+AL7b<260oCJl}7za%YzQHP<VJ
z7OOTgcLzU-Te!}1Ux}5Z23x`*4U08y6PM_E^u8~a7kB&RCC`6p7n?>-!>l%jpu(gj
zZyxXS+xu+iw3%;$)n4Q)<a=9tF(h13Teou6-b9n^N|ju@>UO(F#dd~osy7y%u6OO^
zm3#Q(=d2~MkrHPTADq!KVRz8r*ky6yu-R3yvlG`RnQU0de)ej?#+}BQ5nEHruQ69X
zns|*hE?H^ve=!Ts%){5~+5$vsrfEw@eD?c0Wp#0;p2Q6+Ru;dhF{vBVS(vH=*=ts9
zul&Z{a`|)R+BHjb`wulFom`P@CBJ>mEkTz03vaIFZS>_`of<ls$=>zcq?tUQ_B%a#
zH}kXS9Mg|!FP8ap{^3-AIc2i@2d>Z!MSJpM#N6{YZd-Kn%>QM_^CMDw>P_0C{#2W=
zxlG)!V?xl6%<N$QY3q-ydamYPX59buK!*~~y;FwiYj>S`$av^>cE|bdzm|>locx~K
z91c7b{*_-ZXUnr@>HhK^7dQQS^}a1`ZqjCkAFMnVRMy;{aQ4H_ptz`g3JZ!=Ipn`v
zzdu~JGgp%1@{MU?yVpwTMfF+A9e2J`cB_=N$W>l;;qe9gYIM>Q{5)@8_jqX<-o`6^
z`s|5}jhxG$Jnb^uZo+lpQ1Hr&3mStYncrI^v1k8L<aszNfUQ0(-L+dV{@A)*rVYVs
z0}3WY-FEbS9-$yAYLMK2aL2m+PaS$$PV|NTpEBczk&>EuZe1?x|E91^aU+9NPTr=k
zOF0jnpFUr&Yg?9xQL^7V73E@u-W~rhPndnfWwWdFjV-L_S7x**?|iq~tZG@`s}{zD
z)l=szkylk=wYt5@;a_G{z41b&#XX(}p0~?b?6_0Ct>^ElgEOvf_m<h{<Tqcl_<4!X
zp2U#d(<eWeG^6bQ$Lm!U!o~jay-hjW_QZrPZg=GW?&Fwh<&jsQ740Cr=)kJA=Wec_
z`QOPQEYf!JJu@|{<quuk^OJkFG{=6O6KH#cC%s)h+$*Cn<x;=*y9+#zCdbt$EeiP)
zdhV6PvvVG%hgz$W_wHIN!+XU<FId!-`@7Vsz;f1IOH_VFIYqwuWbbwNUTpA*TW5}6
z+or)WL3P9Jv!1CgtJCgHUN3jTLiCkO$0PPtTenZzn$9F%xP3YA!gt0g)f3{2BTJ8}
z{%`p^-*oH$_*Z`We<yc8b!K&4YX4B$YhC?pyVk8@$1}2(nG%}*JY41FeCykVqGKmF
zH%-`PmSj;XxP@J1zHsZy)UVlP9<wGr5LjQgA+0m>SX%YGfNG09E;=8@H!IE(wDibk
zKKy3$1@RgEQ8!o*aZk%ye0$o`ZR=LA>bSjA;8g;n-t1F$zA?w_>(m+_-4~xHAmf`W
z_^jK(tlnU8n6f%gq~r4AB7VF~$NhpeLWRrUx!r92(U`}|Reh!ZT-EC9U!Grxblx66
zW&Qcy68^HRN6|sA`GY@pv5Kw^e5rW!!pr97r~_&ZH=;a$D$5@)u`m7Z`_FE}B8^6?
zWBhI}4SRQ#e>#8pK&aFGS20x!W^FB88zNqob46+o*Wudw^|Mcyn5;<N>3PXzhw!s^
zJFH$bPnjPS>*2|^fH_dhkIBw?VTJMRV^Jb&rwJE5zvdXzF)Mx3vkleNN*tfXpH%MO
zGMDYl!96ca=4_aCu6T|2GS}@Un_~lga-XH&7M9u+WiT`F&DMier#;_v&pCL(MJD!G
za>lhx|HW?G%Vt==4t-F6EK`8V=lb+(`;7{trgwi<j{P!M`)*g^rON$6oh#B~JU^!I
zG&wbiXZ?kPFXpTYlG}GwmUYsy@|vqxOgTTV4&{Brd~SOC%_V{7;_U)1y9gd$Go`un
zL3CiqH>UMZy1FahW~nPN@%{E;b3Oc=&(Kr1Y(j&g6HoZDbpLG(@&d~;>*^<0UcWfC
zy&?PA>mEzZvoq{3NR%pzEj=!J;GEG#MIX7qs%PdGn!i+kc|CpigjC&j>1lSiPPX3V
zQ_hmzx}8aQVPNpr{t{<%-h*?l96BN|9AxXL{8IjjVb~srgO7GUDqmUf^3yTV$k65Y
zpH)bhEfZ%J|M-4;+KFlZ>@PV?s=QKAQ9o09`t_$}(mbKL`yX{gDSdmruEef}*Z#Ia
z=&LRDSM16ruPiXBlQ1be{ny94D(v!Qx9icR7ZYsvefXys7<B(_<7bobhIyaLOsXut
zmxgZ1{jZrMDIcxFUi&fRN3Zw2%g6O^ocQh2_*JFFL3nAL!L@U~d$(?1v}&7!%2dq-
zdUu)XEiJixzHZr7^DakyBSYBHgJ*O1uiobvIk{G?;<xiFv03r`&9$Dlmey`wu61Ba
z^dxf~#qHBqPVhQg605e6(ef)-jj;Q+s#8%3_U6XwaZ7tWs)G{66&`H8w&VlP@1!Y3
z+gHC-(!OVU!;Np}ynsNpHwzf^v%}9-zdBL+hyDHj#$)xoe?t$-e6cj1Tm73|T=Peg
z_pg9c_S4@wcCx$cRv1~va`swh1xZipIT9dbxGzrmq{F$}t)KTNAGc<fuv&lC<@bN4
zUB5KbWLv9G2=#ULt!(a(+VHUJhE4R|r870Rc+S>In6u~ZL*JPjc0V?(h}CU5m$BIS
z=$CUd?6a=romhE^t^RrK`L@~D?r!8Oe{(Ty^QMh<4`*+4-TiX*&fgFAhBPs3p1-w}
zMV;aQt4H-Mx%)USX6OdKKFTvu#q3aX^jX!qCC?iBlcnpAZ_k<P88uB)%JGg%$4;dw
zJEl)G|Kcy|$(mEL`Fi4UF4L4J|4*J?S-|-E?Ti}kmmbTi9+`13dR$QTy8a;R`DHsp
zzZ%;%H{P-f`qR2(N92<N=TJVcu4l1}Pb~~T_)htwL8rJ;<aGZo_7_|~7GD2(^<2)4
zPxq1?HeC4Zn^?Dg>1M;N-xWR-xP-}u$LN|$-f1{3(4wcScS23@VQS~OQ@XO{tUPry
z&snuO{QePr=z5sJMh0Q^cc(1>cx!Xl+ia4!ESI$5!ICv<4%;g3%RiEl^OFvE9Z{Ge
zanW=_gva~%R}<Nq8t-X;-8KJFFIT{!oJpH`AI8|p^4SIGbp8EvUVy9g*ZREcPAU70
za*DgNvtlGpEt{$v^+3*J?#9P@OW*api4GGCO1m}xZ^SvXEr%C!%&+hfD00_lTN1Au
zAXOi`=(1}K_iv_!*UtUE60<hPZL7B6WTV%2ch9M7zw%;3QOZg+4eg62)34O&e(k);
zaQnsP>vo0L^RwTI{e9N_azaS@7Kf>Jse#>-1k|#+(u`-u<Y)fa9Nx?9tE4(7;M9t;
z<Li!E32pls@LJesM)ou33G$26Rc5@_>iBi2cUkS5o%NTd{B(%1?q8-no7cR|#_oM<
zSGeRl5s`)URa0ub6#6b%zni_PiJi~BLS*uK8Fst96_YQVQe7#}b3`&ZW?AE@4n7^J
z8(D!Y^)qfh+4yv={qgAdi&KuxyP#3Dfq6q=>V~bwjOxoiY8>T?+w{eNE8xVm{RfMF
z8fpG}seJp|L2uqI^~q%qmXupK+pq3<zmL`Q#>$qRrR<BWo7-jD%iOHR?ZYCTr?iKc
zyr2HSEb3;lxtfY`>PeT^`{m`opR^IVn_<E4_~8HQ?RO%KdKM;gzpqjHy!-6is{0d#
zKV5vJuiRI=%hG21|8#ck<80bC-=3^*p57K!k^ShW(Uh0*Z>vtssy$!-`?J-z?2`<F
z?k3MqE`PB5>7`GyS1u&jm*n59+nI9tkmu2YdpAv_uHLz2{I|ncdVPzm0GEjf$DM^q
z*KV+C=SLp9u_h>HuaeFWj<3c=+y_paR$f<|De%wl!3V~tE#*;1f0Q3zar|NV_hY@T
z&dd8(ick7AiRtZ+KMtxo=TD|wa@VWx7F9P>&=)cfvv!+2tE9VkQF_Hoqa#K?g)1!P
z&DnW!>8q&{?qNzMR*jl$zdkJ$cz84F@8)$=>Wo8{8ei05y<5STC@KDEUMlCrir-h4
z<k)%7TmDar`L@iuAKoHMf-5|$7OxjL>m}c4S9e3=&P4eqm-yQK)L*1O{p(?=Rp^o-
zQ@^0sBtWIl_l)8{{=2F-ryQH5${v3D#OHj$z&lG;sh<xiPQ3NESvVjhBiA%>L+7mB
zo2LDD$Xfhp`lVIeCpcSIEBzC<*eIRv`+!&BV9~;-5gZ?bm2Z{IEt#}K`cT-%WWg}=
zZ8cl(=l$B$+BDO8r>QB+haHv&XY8C6%N+Fjj%Z#{y`x5>+iLFC!y@{7*&MEG?E9Ja
zclNy-lO!g4b)0wm`TXr7o{k+4-<o*8xUgZj!2aUX_7y9+EM!g6-z`~MZ1%vIW7{Da
z6CS%aQ9oy$k`b(Ss+=8nZ0YYkydRbxbL2KO*!%aL;Qa1Wk#oGBJ?-?Iv{odK{YLq#
z2*uXzKZ30S7AL9IYuLy9+NqQmw9;To-7bZ^%*FGyd#gphl_rXDd=2Z8S)a|$c0EH$
zf9|uMQ+q<&BOAgk&WWmjVQ}|5?ke-^+SRx0#{Zrac*@rqmi)c%H~om>{AIb)XRC^2
z@+0b*e68oa-o$oo^`pY#9gbXW7tV7V#2w9F^?5EEJD>g1V2(rGyX#ph4Bkyw-yLyL
z?aJARgBJ4@4t-r>+wzz#U)L_~aKzH!+T%8}Q`5sAnpK8fxVcE(^RyU4<A!fDUQf(c
z6q1OV*cbd^r<&qRk(Z1Qdelu6Cof7hy{*@fdqJ?!amB28>&}U!_p09Uc5Q1-*>V5b
z54B@|OSxBwMF$;=z8tSGzwD-L{r$$*Q$=0l<m^+Hsl}UVFl@YJckQI#X{{HGMMCz6
zIOc_QX#a6M9CGrNL{(nig+N~W8$Toe%JCMfZ`*rkkLs#dGXz6b9~Qi^=DhEwIO*f}
znT{5^UVWw)-bb#<6#CyK_cPin_}tmHYgO|vcPu(-nkAX}ZT&&{2?5%SH@=(<VOv@6
zVbkNkXxVhl?VTkvx_i$|V7{OeTB<dBvBF%jb3U2P_h(${I<)&Fr;c{D{l59L*2Z(J
z&SRROlJP@Lhf#dzrkjZydf7G$uU_4+@jf}<`}KKO)#E!aXEgM_cYS}l>Dk9eGv?p2
zK6&TLty|_kwLUp^b3#InC3xMww)5Sd`>RU7^efdbF!x?`F0FZe>a5xGQoNSyNhtoP
zIn2aT@;R#ZX!2W$Et|RWWDZ)y2CZGKX}*K+dglEUQG;)5Gvhy8NoR_9XVdwQ=SO%=
zQ}D8e>1uB}eU?e`8}3uPu^_;H$|dtfUrz7mIiGnYxq17y-8Y}|9Q<s#qU2cX`+X*E
z2N!V#Z&|uvUt#@=hZE-id}5*(U44Q#=|I@_=3{?XzBc@nqRwCZqy2bRb6;-sg%uJj
z*oED<`R_HYaEWscs+xOdQf+bA&F1wsuRZgv7z%!8=`3A7S9P1-p0bF~Yb9>_B<|U?
z#XP{E_P~sJOE+(Ix|tAMa5uwWnZ+S0AhFy*+OYA&&pS=a@8129TYvX~X`r6lvuR<o
zyW3~>oSc5)$(K9lde4N5EEhVU^nB`TvFx^U7qo6`JYTI?y8p?KSH@ulFDLizS*&lV
z$n#>Nm5SDE^=W5>zbgO#z<o=(#D6Ly=k$w=JX;hW2)+uJDmhVq&mrMZ(_VucOOK0v
zW?AjdzU9hiuA<o%mw#`ySIFd!t8d&nX>YmNbpIv|y(Y;{$I^#q)vBhYY6ujxNI1v6
z_e#uY^?%zI<Y2o?w{`K<HoGj1eWe_#-MY`rTu<KC_?!A;!%54WE7x4YANm&fbN^c>
zVszod@}f4uzYXWqx1J3;dwGfcl&Z6>CwFe)xgfA%jj4OynKZBaHrB1_u?yb%f4*41
zOKZ-Z^V^r`Z#te};J)*3OYl}R=ls`-x*LUBHXT>~?I(Y;xiE6_JSUEa%Xc-2IG38~
zTjYg2m-xR#ievHP3@#U@yF1qFvbuk6@7$=W-~X4@)A_2VzUSmKOD1@(OWqu+S7XMi
z{=Zti^K)C7O-8PH;i<)MEH)QjcV7Sf=j(ib^ZKjjSr=4@S|}fGdbjE-|0Z273CTF=
zA{Fn@tO_m$b4^pPZ+dUM%gu$1bjtKL^UXAM5xNi<T5*u&pWMz@7xxC*%LochIC67i
z&BBD^*UlaEuAB4yL#4w@qt4dzl1v#fB_<0G-EY=qT*mov+1J<YT$fu8)P1d=!Z+Pb
z=L=)Dkm1t$+u;T>@kxqPHIi6o#~;oP{%yElSI+hA+*7&d%0u;LTwAo=#(ArEScbAN
z_o9ogy3>*t{+`Mi+qF|#ctw`J<k@4_d}EtE5BHt&RZF|HYyn4HzS5fOEQyo0%r?KY
zy23u7!PLEc!`f3nKVEC8S6;lhe!oPEGusl0(*K*26%LDZU8w)4Dfu?<!nE73)9U_m
z{a(wmdH3$6rG55+LUqqsnCGsGT=_<GvGSRje3M^_^Smwmtkyh%Gb7(fDEx$2CG(0e
z3qn%2JzJ^M+uGDG-q{=K+sW%7y2nK9!XLkFX(?NLYoAV8(r0UPE7EG^r!Q$T%11kt
z>WX_88w<V=ko#WwccIn!`o*iVZNI%((jLcm{Fiy~AB795Q!hsU`=qMAt!FDoUxq~S
zPrD^ie*K5*JlFg4t($4kEOtTqxhm(Pq;*Pal~H+R4g5kMO+9P&2dDjVGhHooQLEs{
zeBb`lb0m&d8~1I$T0FU8yXnEoNio-gwYc@d&z#<xuC+uo+b(BHku3Y<S0(k6bl-bN
zN%&?*f41EF-;L4g#l<%pI~Iy>3;es0yJ5nY?|p~fz1?-9^<w4+|Lu{VJL?x!C+<=a
z71NkgbbOlp)T}qA^ZH*YRX2;yDVieoT+(C8;<@HQvFv+SORCFwUoe+9{OrzjTcKM+
zR;n@R+lhIt+5hV{FZ{f9f6#v!?+w>fKGbjVn9y``J@1+IE&rch$<~bRjazeAiz&wa
z7*o!@Q<2<7+y6Uhumv<JMOiEPUvg;JEj>r4pe*l`kGse_@fgPia(T=d>!zx3DBe-)
zSx~(6c$-5lgVcieF0SIQzVF(0@2gcd&p#`rOMmsZgjW`CYg*UQ(Jx!s9x>70YtH2l
zhDTS|%UXM$7GKU;ak1!g#pV6{83vKlUM{#-V#91B=@pza+xoMCr)t5}>mNKW?|3u6
z`Puz>D%%&adFJK)J)pQ@k?{7&jayBuj;&uH=Kks2`H9bp0?)amKHDDi*NSWD-DPIX
zotM79yW`vMkmfx#@cUWbB`?DHP9{Wt=HWD2`HOkQP8HjF(}ZuYSoWN_$+&mh%!?2F
zn-6|s5El?R{O8Q;=-4N6f8!tj$(_9K{xJm+%QV}YH)4;SuRZ(s?}qK#A-)Psi?&s}
zb9H*RJ)2UvJc);MN!lI;oAX?S9F-0aZQs<TUP%nNb#wBYf0@^+4kZ2iwLVzxSA%uE
z-R0{A&Zll&eH!!J^6shnKP$ryGrC2b&lV_u#=G}GkI)HUUYk7C=vTV_yEIQNl{T;I
zZ0Xky{_7lcHe$+_vg0-%&s2xhasOX-^{K;O&MToT-qE%p&(|%xnHN3p4=3l38?*cb
zLku4+{NBMjZNa0rWv72{F8N^PS<c4tUL)#AGjDm5dByuXD+=Y;l%7i1`Kw-InfQt%
zvC;zz&L})PDm(So+NL@8xwgw_9_W01insUulZ|{AMAvkC?6z9@p~HH4^tm^)*~Hce
zPpduAvgn&l;r)+ntlQ?kt-4^pLtJtDhP6R+__{n+88z*Ddxx2aA*)D#`HB_kr*{_1
zW|qFR-rfCv=hA0hisDjgrvoQj8!@t!Io9huW9_Z&O<7!QvdxZp^Mkpr5lp-4mJ71~
z|5LtqTa!)s|DCsHhG<nzJnQ&#?a|u{d_OLzlbkh2Lr?jtf`RR+*Hf>unwhaDuX{J+
zY2&NSJA_}JE!5;P3W$?pU-)v_ZuOXJHU8xnLJJT0hYC*8llyWaVxnS(@|q)TwbDX*
zdikH1*0&iy*}9)|i?WM(>SsaDW+$63394B(1t;eVmB?QSc;FkO^lOuRd~bq}5YwN-
z?Ne?vp5L*!?r2%2DZ5*H`oqM?`yU_Q<D163sBTSb-_(O{s(<zuulX#edTR2U-w#($
zsJym0IJ!<|=lS1N@wWq8<9(Wp7PqDPh%EWD>wIm*y@c=e7dGztx8nL|gJ|*R(a8^T
zI5gT$IcFG(OfJ$=sycpf&cst3LPtELl5aeY&*OWh>({?GpGjfkk`tHJ=bv3v%A;nk
zG^PB8Sx%S8Yo5l<R|1uHe&%p`AHZ97P1&wTeSzPDFT9u4R|>AVy>I@8o-n=ETB)Nv
zlTQ^c&0gizASKlpzp`Fz%N|L~?H-dqd{$G^x0(1$caqEbtY`N#n)Zl%+*o0Gp)(^@
z)VA$}^*;Vp(Z?+!r#*10G7NkhcA}n3b<*mq)9!@0EOSo_XWL?FnE2<$y7hbQ_L}Yc
zwp1?Yt(o>aQ^Q7;Z<_YZ>P^dkWj}G`bu%-3DgASU2*a}6oWO(T^D{#)*9&jcDvR^J
zk`cW&hf_{oSH0rA?wy-Y+Ri`N5})?5O!dp^6K!TJfeVhkuwG?u(J6TU>OZafFMPZ<
zOtVy)QR8Ic>mwy-ekr2<zrnhk6|25&n7FlKMqO+5`8RC7jqBAeluStaQ5u@=68!Ap
z$>YyFcRHBYyqdGeDAO#ZC;ZG=*6p?R>}4OhxIM0Vaf-O@EYhFrP@gO%bIKxM4&(I6
zkA2R29^De$Rl>FQrvJ`@xaK(~-klFOO9ZjI_@!uF5&7lMvenn|WHxK|{+GN`N{dn?
z{WKq5y>jg1Gxz7`lg}1z{QE>t*Jr86O(m1paq*L~{N*zh<P(0}Uc<-4-NsuNoLs$B
zr~cey;S%|TgxGmSe~Vfxq_^8BJM1YwtaU_EzG%%G1|yB_4hj97ivl-t72FP*?qqId
zbz4s7_#;lSjs?q1*Z=kl@6W6&yL;~OexEz%6GL_P>P|cTsrc|;R<YwRCoJkbvrzZt
z-faedW7MqcjLv5-+*I*e#W^ubveRvUu=&Mp2e`QEXPo?fXvMDcN|txhKk>JQ?GLSN
znr<d%(UzA{9`no0jdMzfX8PJg)9(s|F0T3TV|7H3X&YN|5qm}B8NRjm|2eKt>|C}n
zK#cz$PxFL?ja!x{luRw0@^dSX)Rx=#8NykN?{VEp3XYi|P&F-GnD-d_|4SXy^o~xR
zAI$&S#7@0HGq>KVYJr)9;R#M{UtTYt#A#L&d%gP;e4X9~FU`v-+4{El)bm$|f30Qx
zbBQnavh0f~&Q`29JECh9p1qa%{r0Ou)`ZM6M_&A@ymHj$x?|<@U_Fb%ElojcI@yo+
z#O|H;YyYH4yB18<t2uShd7f|I+m%{|iLRLk7JDl%6<@bH?{mrz<@%Z5xVDzJ+<l`W
zqQdO;Q2glP{|7#OTbG=(G|`Q#%2F>^=4#K1CP`-R&Z!cWx{IpsZBIxsel#QU(y7yt
zulGmXtqz~U67la(>mjqpXEisRj665}5bp|+SDV}>f8Onue7`1^x#ohh%vUbCgtKur
z8~?eLte2Q)?&ec|ZdT2w^M9Fo>-TD}ZrQ+P`~Lv*=U=wBRHK&|w{ayiwoVa^eEH+b
zDjh2YGim;=t;I_;^CP0`mMwNYcuPf6`dq%-u^f~Av)i~HKe-xNw(d`p@&orTa$oJ*
zgS9*R?=5QHkZLWnS-tv=+wHe&c62)hrp_*Bj*yk`3Vkd0P|Vp<<Iky#MXN$MFMp|L
z<jA_LzNYN1)0|1JyzB4Blx^+qE)f-Rl4uGs)roXYTcO1LT`u0cbyL{=DJqqxpTC-u
zq7iWZl2p01%tqn-rKecqdM4?_cJ&3Xkj}fie@EvZBYRKnSuHDnTfY9c`X`&PzpK$>
zKkJ&m&XemhCYVd?zVUI5qu9b&gK1&m>TNb}>&xodC0{Q%XeZCb!SXNsbE(kRnw~jM
z=hYko_MewuJYzvLyTjj2Mk2Y#Smcg<yu{$qkhR3WP2B2{hqj6Rp|iEMv!A#*UvYST
zGxDt0(f-74$AgV0)8*WF!lo+MEsS9BzqaX|jM#=fLD3eIx7OWT>7&2%EKh`Q2J__p
z!zLbPH@WNe`+EX|b{+H#{H2lh=6rPbtLc9F;<gC_j~yjuya*S6zm#cS<L8Ax;_RMl
zWIbCvW9p0T%8@MsebE(OtCqxGo2l<z`KQ9$@2mG`SD|l3YPPD8%dMWw`Z6PT$1A&^
za;1k>&w3Ghe^$%?J1mzjJj&j_?C)05b<cRrL>E4r=WXmOZdkwL^Y4;?SLgSAa(po7
z%dxDLaUXVuY!9+r62Uxwt^a$8HT4PUmD{gR*<v|8`QNhGNi*y`wk#I)xv1K@yrFN-
z`L|(Bi?TbH$hfL{e4Smzt~t3n?%AFRGP5M>*)01Tzp}h(l`*>Q-*RZHf<jYz$muCs
zvkf*K+3`*1mEz@t(`Wk6-d}&+NVeEUW`=rppu@+?kF~wGOwVkuXfMjH{`a!Kk^R}f
zYm$bU6&`)Z*HwLbR+Z8nJ5O`{vJ-|iw=QY~KlrQU_xZf<Aw~VUM$J`P@%eu|6<Oc1
z9Iv-F)xG5?pK-G3&9%hce0^z;&S-dl(9z_3f2-t-o7$Y`PJALQpL8Xxx^Jl0Uwkoz
z%StG^D9Lc&>HlAXO?#)tuD-q`U$XeK$tNBy!JS?AAN=ZyFNrqd>Q=rc&=hO;(Awf|
z=Ki!vn=X53rDrdUxpT^J)~svk#anZ9=eOx7>uz^DDEA`magX8R8SWcRME<_X@1G&=
zKh3I1?1XGnVtLt(rd7Fn-*s*K|K(kz7JI$m_c|_9=jaz}XRf;#u%)twONh6lD)ivH
zoOPL!!TZ*33dr(R-@0<L%$Y^%+l(S4D}G7s`QDnJ<J9Q0ZGz&Gw@J@kj#U_bWSM#M
zMEk`yLFvaUC-Z4vol<!?$mhnYP50O2wOOP&79Gkvm-snQ^YoSt#c{W8o(!`+p>xX1
zfk)*SU;P338Per`+xPAN`(mbu;uoXWH8!qqJoG>0Wj^q)4$pfh?i={9abmX*yG^f8
zvvGJOud?^X9KNU&zgW4Qq5+#Nsy(6>Y*b$UYRW1;^;v5UzsL~S@Jmr^OEN=-bc$f5
zUHqaqMqiKJvr=okWfNZIJypHs)-j%G`VEUJbzZ-WyzE%-@I)<j%gQUx9lK2qMXDy{
zT)k!bNvG&t*Y|i`rx$W-#dmzXq4p(~yDFA->Z#LDkIpr^lW6ytH`1T6;KpPBQqd&6
zS$Yyvc1<hX&$)B^vm=c`H)<kOXT0K^w>#_VEv5?|W-%Jug&*XrHVNk?9alTLu<PLD
z)m<D9PT!gEIq}M~6t()y?f&5fIudM=HFH)s`cC-6e0O<E?#^wyFEd)c@V&IQ$oI?j
zC!a2yvEL>VY`pc^bo;9*GMDEU<WySLZwn30d)Tb=>2CWG*M>Ot2TwXxO_qOjFVhJt
zEoe--ByKS2DR;;JlEtf3xKuW8dwKMrMHcg)fb`@#rXOOjZ#1(iX!N>$sej7D@%zta
z+es@7CYu=?k1OAxd%;I4cEe96y^_P5xE8kb<@2_w-(T~y_CxT;ve!{667B1sgg#vC
zyxX5qe;0H2;_dxXyxXP+WbDu}c;|9nAk?z&NO%8%&YZe?*{?Da+HDzsJbJ%=d$*|b
ziF=1S(jtT=IXG5GFFY07DLro?gXq?Jlk9$$mxmL%#18G;RI~n0`*Zae0pa)wwPp+_
zKBdf4F8tGV;(pyywTbl=k3DtY?YdoOu+2fxy*vD)G4p@J=bgo_yM&Jvd_JvIH0$4`
z%JZdVw&!2&{42o0c59mj%lEjRbF~$gU2j)Nn9Yi><v4!QCHY2<L2Fp_*6Phd3-`Sa
zoLt|S@SVr|gTT9_Cr|EHd~;*U=ib9^t+Lf*f%%K8ru*IomPhu4nH}bQDx(~w^`YVS
z6(iqyFE2ID_{cT;PpRTu)7A2mGFT%ebnUga)%n^zDp1~6ba|ucvOT;9@8_)Uzpjz2
z)@kgJTyDC+k9!+?;J=fSy6YJ0&c}ZJlKtab>z-xo^^g1gtgrqH^gQTs<%P}_<!d$i
z7R|>EW5ol5qxanFKCJpw&8|^UgJH>{o2On+ylq#pa`D&C`CnSs8x{Tw3R|u6;n|f_
z{Y9sD&0Tm~?weGbN$Q^DaNg~=3cmm6{;b4v_fEG|*seU!>59`mICSi5m*njEy7Jq{
z4nvLDrqKE)Qx<vG?+#UYu=hx2-j3VzdYuGr`Ascs`tYHKcWZm^l8RY|H3F`(>+ika
zmi5tnLPzGTPc3&s73x;Mio4&Kw6xiR_1<J<(MfVm#;r}ko&UFR{Z!htnRnBrKYjcC
z^tUmHsClna{P6GRDOHKrTH<$u4p)gpJv4~^7?qSHw0+*|a%Y#a+<*07(!MWDEA7*0
zjdbR}wDdyw?3~WiANjd?*Qhnl>R~8~S+Vi>y_JfbFH%#x=l$(xcpAC;?3M!VZwoRv
ze(_#nk-Jpb(rE5e-{)2v79K2K=bcob&z!9AFWz5uLW0z}KHh7exBmK_&&nNje&e>-
zwi+|ZBi}@==4~yw`#=6g^+)?@mh~6j{X9K4-s<G~Z%bE(<?T)kPMg<oLH?c9dy5At
z)`ojG7px67VPfXlDX{gwXkL-TB!v#~Nh=P-SH~*2u8E$zcTWWOO3rSZUD92Di!}wd
z2zmbqP<!+Ebk@YGvzMAe)bGyK)2ZtZIaeCP$ok}U_~G3NkET4n-_|4l^~Ir-O6iX=
z^`@uS8!N1PJ^R>K8GbXbgw+fGf4LbkoqJm5-NRWjTOWul*~Pr^*{SG_8by)jf*1GQ
z;jx?CRPQleYjx4|t=r=Dy#796pX~qfulwOoejM-1xo2md6z#Ws=Qx8?tdn2C{D=3k
zN0$Gz0{-7$7i#@+aR@iV<}c~IoRyEx+H4c-o%A`a{#Z-uos=?rmlvltnw7U2ycU?v
zdgrG6whV^t2J7A4%d`ZE&h%sL-uhQHkd?`7bG4lOBK{9a?Iuf7^(Q61+uO8t+2PrW
z^Lt|A`Aq8*>o}MiY;5YqAAHaIXs!65ri$f$M&Na6rq4^fZrCm|FtR$&F-vZ-J-?=N
z+4d7ROI-~2ZLYU)37dX4GPo-B#xKTW%eUDk)NxBmDLC7#3R=77y1!Fg+Jtk*yLY4-
zCq0~Xj`^eA#j+j0cBHC18Lj&AZ@<vYAg*@@j=Dr2zmUK+E!5F5?aGF{V{B{ZtdF<u
z^nJK-mg2l;lZy8)`}K%t#r5y+oN9U*sw`T}bq}0%j@}#kMUpEmqyAayEF<poo-*e>
z!%78>4vW{Ec^q%p(E9)Pq*e9i73@t~juobg&c`=+9%QtfBg(?{#{bnujrac@;$7eW
z+E{t_YVPd*t|wOxTx&Gxw5dyHHs4XDtETk8-%xJN-3_mv{B1nI?<9G7TTd&m?8$3f
z|1&FIcQGy(I4!^zKR?<xa9U11FT+;G_e#Ayou1x3i`%v;cyC;4E-xDRc24S+-QL|3
zSJ}_m7Jb{lxTAG0_u{?PhHVj!SxpAF_NTwvwC3%f_ftGw{~N6gf9A=st~J8wNOhjs
zGg<!nncpi;eE9X*+**Ep1z$y7KG#aiHw^ms>O?*sRB&WlUl?q%r~TBef9rcYPSww;
zh?N)TRCxN_-YD51fa^5NN$Z0b^Ftl&7nfg`-OuaYav?&gP;Rn`Ba`1U^ACMo+hV_6
zKJEET^ox{TX-@8~Ia+V$o#(ry)0wIA)1Nng<?qSUGv5ZQ{(6|aRq#!GyuapwlJK)f
z1rMKAJTOCp^K+$F?xU;6BPJa?_k!hXpNrg#`me@Ge^sTL{$_sLYj52sc*F9*;kg%G
z(>r!Zo=uS5|Gtms%!1BD-v{my#WE*z&Zn>4nX<9s(q51ATkM_ReJyM7H)UKrbMu?S
z-D)gz|0?C}wq`o)8!@Zn`Gmb)H!W-IuW1&2ZEq{_|6wQoOErAnqowZG59Rpq1pQWi
zzxqj}(4*M;$d-Wl0bN?oKeAG+@6Xn9GWrno_hpHSpSfw^wlzP$ir=@YU%&9+vZD&K
z%@+UKbo<?ht!BQu=VDxBByPt{zA7K{?rV@Blh=}U9p|>|9=NkG@ownCifz}TK74<C
z>Pz30q|1M#<05A6o4vMj-74v>IPrpcOH0>oIe&j=TVhP}=ghD5L8faD{@2<a5_Kx*
zo$-equRDJ|xUinrr)x%5pUP%~<PeRkLC;UF(!W(9IPbH<tdGm4_||EsF4eoK;Z&&S
zGRx-6>}Wr|B-h6#=Q9_rU;gUY<3}%^Tx)KAwC!}A={X6RbL*m>S4~;^HuZktiqqyh
z;=9@2uR3zz|G6($6qWPlCxrIa2k$wbw7{w6zKSfn^^E*265p!bpK9G;nb_^TY~9PJ
zGh#xjPMHMkJ9IDMtJOKntl4^-jy#o{E#)xfuvWq~2cEv<4=lY&dll3@C(L{iw~?(p
zc+*Ll*U`(jNZ!ldd`<A^W3IvnH^U>mn*C<|`)gveO613hPCK<@XFtDK#2N94`A0+j
zZm~mB28#b}@>iQ2sfySo;5L&lC)gvW^(5bx*`jk7lt-Gq$Yo{kl6dnXE4=2Mv*je7
z6t`nbm9}-8&A)Hn>2y6Qj!kCCdZjmhTK`LhPFyj6&T1PdViA(@@W{P(l^nVM_qXRQ
zXE^-b^{@Ej?76BdCcA$Mn5osO(s|56aWUHhoBBD|cb#3f_3de!6fZY#Tc%6Xa&tFH
zh|Decv3B>J^&Qi<co*M#_ii(bMA?y@cSP^&d8+-p;>ELRX~C(F`gg4FuGCfDUwr?j
zdgi8$dbh-Vo)zwwS9Uwl6clz{Y0mi`b<6dhMc#})yeyBKLi{CnIP*z-lmC_$6g5Xk
zUGhZEysJ$O^?s7wRa}o1Upbbn<7vB@r(#-k;nksiFL&SJnvmT5{fEcYq;yf|ga6r&
z_cGhe*3&88{OpH+>c%6^{fvV1CguyfvxhQ@*|69%7Jp+sV)o|0`je)Dznt4FST}Q*
z*7H^v{63^!dE;)e{4S32<4OyEaw|=;eag1-`+DtdE7o$`XRfTjDWKG8I6)=6%_}tQ
zN6FM>l@c9ORBKcB2~Oqw*!8^s!o_zt>d#$&@Y|;8Zg=iBhQjPf*HzKSZyL&k$1yT_
z?MqkrapV?btS#TOCwtY(m!=+iwjyYfLzl+$>2~b8Gd2C5zI}CPDud&#e|z+w+?V-y
zcHz^q>-G7|pYSV2X5P`?a;{#*QA(>vFlx)91$rA+B$PESc_1<&>+YqyQ#x-&e2$h8
zvY6U_<kw=iw1tx=*v#*^QZK_}e$4dNZ*{f6+6BL*4V4yKI#@-lnc+P<_tE8ik-9~%
z8!OcJxqiQ}!SUZxL#vC|;+BT*SbB8Xw0AY{ST?UQ75lkhKJ&(c!{_*y?^tc|iLw60
zJGH&jp1MzH+sOQ^yiLRExq3n0vPTU^H$K~M6eU}dWZx>IrpJ}!oA|=X|5#ClxxmU(
zVse7}(}E%sQsTb)iayI&e<GD<L+ke9>%6-XKa?9!Z&8@OSG~>s)xu@DDml^1*BhU_
zlKtvgXoKWas|A1DdEx~OUAVtS=`h4Z#mHQ)e|St~67wO3t_^ByH4<mM3f}mrlHWXb
zar%C{Ws@cqO*{AY$?`S3H9L6k2e8cRk{6NSIk>(k$m-W8SHDY#;vcq)^;|EQWHa|`
z^MZ28zf-0yYdZgWaco=gv`<I<kJhn2i`v7(xlS{Q+vx3$53?-3XYF{rBhfJAj9uU5
zns;qM>Y=yl1**(XZ7J^dT~+Jcckjf9<6QAg=S=wx73V!ExBaQ3@GpI7O=<jwY1fwA
z|77JZmY?6nKJAQ%;oCBe2fn<sR*G~m>Dh~N7jA#!(^nL!wJ_)XhVpl8rQ+|t%;t8v
z==3fyKkL&m1%LgykCvLhS;S(htlP==<$bU+|M9a?zMB3Yr`8(@RvIh)ncboDux%at
z9+fAjJzQSLC|5fQE|6ZZc*VpM`(iy-@d?H5+WD~Y`Iq)deac^o@}?cxqv`G8(K=;E
zQ3&V1+A9xKT^~ID!N5NMs(I79T#xVdQZMX(F{XGNnPPUR^3paP-l^QVV$7WXcDUJ@
z&cC#D*XK1qKmL&2EvcokvHrQp{M@JMzZ}{>Nto|`@IF0@Swy{Sx72jQ<b(xgv3srW
zs3|-*txxOnTq*wl&92=&=B+w9Wj0fOPT8G(;Lnq9Dj8KT*M3bp)+)9lG4-;Q&&*A4
zQWLhEUU6c_s}ucKH*n}3I_3ZA`^FoBXZEcAs*+)#$L?mok@u^^=HQ9^UOQY*)oU0W
zD=z2Sd5NLnvTW*f+lJcRYxr6hGe({e&Od1rv_m<dBjUgokz2V7?$&W@mez;7{iwJ1
z)VwQhEU_y#S@CB%Y2{Z<U+$S!RUN;*O4zl+cF&s^y-%lHbjX$bwBM_3vG~t6#aR=t
z91l;;Hf5}HZ@Cs~(R{Fb@h`)fKlmz4=a|($=ty&(b6J4p-y&Df`Puh<91V&^FaBq7
z=WpD6X4|6gC+d1N1Ror#*#6}H`74q_KabRQu9oWmT$jjw^VGxFf(1SXm-BD^vEFte
zg7>P?)a;DI<_eA{ckBuMaBBNO*A9uo@|I7mcK?}em-0GTgg9)HFF53Wr(ffCLbdO|
z{CtlxpZcBR#Xqfj9)*6A4zb&vJYQkw#oe8;95WLV?o8@0^LFpmC=NCIrMvTJi;L-L
zrv<f3(l+1w5F2-ldEZw4_@sx|4!HD3It%{lkNR&}z@X;c^TykM&RX7_ix-zjzWMV~
zEX(8XCe|JH_j!byCRrWZuq@nBXtP6cd)l4Tn@c<o+~AR|H<{o%n_bjWZUxJ<*tmDG
zeOvzDj`v@kz_rB9_QlS_JVJs?UZ_n|pBnv+;jD{t-o-Devu-TP4-E8Nzr%Zi;mQ-T
zd3jqN>k4mvn>Ht|Ax^e>5~sKK=B2S-Tk2&hVyu=;_;+^a5|b|-zK)lhBrWfE{8KyH
z=CkhW)j4%9SKiygyz+ScE+;kT6>Jh;r(apFCZil5pLFV?+?%U2Twb%S`KDoYbaJKm
zlU7+*zBl%k{R!t*<)$V-+RK<2cYXVn1r9Rmz0)!qF0`;tVC^i8-g{K@(BIN!`z?77
zRR5}(GU@QQWTzfke)nxb?@pyArM%C}3TlgQt`^9ubns1KPftja+;vsnq&`_qX{wd&
zbdT8FO<YGG%5A7M4Q`EGy1{!lUsj%hW!3|cZ7)uqJG^eY(aWGSJs%EdWuKR_TW~?E
z&M>0d)G}B5*yOz9w;k2aEbNf_Zp!`g&6nz3PI-IW9=>)`ie8{{@ayHK{cjYnOsWi*
zQeAdbcxU{h4HvqfRaZE+#YY<nE7#tr=L#-8e~88Q#?rG}TVoxr+7-T(NtQdcu1DNX
z=(9<JwdvGF$J+v)cT37<+}!*1nQBIc=3@@AlaXwNQnRhwm%6_4e`IDGr?dIl^X1!)
zxHB$3xpar><_XGQ?{*)1FD2H>B^LeulTfp5S-<DMPsuee4X<_SH!D`HpBDXu-Prf+
zUfz1AX{>&_^-nd<ui4SKGnntHM5H16YMIlae-*#WCLf(~QTTrU>(>oo*?(7gEUi10
zT(WJVux?|iGP`zZM_S18fBQB!#Q9|=Wm?3hp5|2kvDZe`K&jE%w@uje*u*8>ZU41<
zip1D?58h~9x~wajZ*!Hs(APr68*4)4^4(P&EI1_VS35k=WYn@aBP!UOK3R*q)xmPb
zCYBD}IhT$<e0z%TgH~~;xYWh=)uEr>?A?C(&#9g@g}?bc^7~$Yy<H|W!}|E*m$I{u
zPF48+c$?#Wxug_Uxut4(!ps%3%RM(=d$VfyYBuHB8%=rbzr1#h;;&zP<2ozfbT-q8
zyMveR*ne#1gr^(p|785-<G*&(Q_(6t^MeIP`sbylA|WTmuguLd(_}4Iv)}b{y7L;o
zJ*U62dH2i|e>-JnBI|8sqm9!Zzy5xGRo~|+F72D&Omld!UNQXoog*i6MQ0w-=afEm
z+TYCipu)9Gt$=MO8I=ERycQ*!SJ<}q%LY^5)-x{+f=)5pC2OphrSYd;PeCZ%BKt-E
zo|Nql%a|oLo$fg*@MoftXZr4C8#R8mDV~~k%&ymMPXCdk0iWZUR;0Bo|8R%b?)4{?
z!zabf*U4xdS6ewp>HM0Po5hv+?WPqTQ@wG<J^6pf;q|9)=&$_p{OA*2#)LzX7sGD8
zEs~beVm&W%?SZOuoTb5~&@HzY?paX3$IkblNZh+9<)UBD&Gv=n|2qA(I(_SVv$>kr
z=iX9WE6jeu=D_>YV&^!Ny5I5y+oZh=mwnS-9?`P&`Yfw2DxZ3k#Cv0X*tF)~a}1uK
zy^#63iHy>!DYGgw5?PB)4@gFoTrb~LeQAdDg}(yP`@Lq|6zHF@sVuYjT-$%f=DY>l
z%j$Xk1*U(T8T_Yg`f~Y=cizrC)0`k1oA=_IxyFUNNxur}ct6%JNod^MT)alKyyDQE
zFXn$Q_Lz0WKGWJ)88?4btBJ+R@`ANewWZnRjyy$tXE-j}eV?Rn=km9;&GNQh+y>w2
z5uTfqch_fz?=8RF$k6?F)4z`Pb!R^6yeztv;?uspen<Gk@(XiTWHY25lDts0w(p$%
z?Y#8hJzHhVR?d^*msylyH(mO6S<$=#2dh2&4l}z_j=bOb_chn`dER?lL;23^d{gOg
z^Z&=5jr00XeJGgXZ6D4MtABIHIi=~^PXcdCu~|O(;wo^rspw#JgyW;*(fQm3S34{8
zxt|=Vx%{*Co7~3wwv@oh6&Jo8`}m~oqV6U3S8wgV^X2Syx7)h)h`zvu*&Wg)rV-OL
zUb9}5`cPqC>lpaH=)20i+Drf5G^wwU|9-o=(Q@T9w(rj;9(-)Ig1w!|<++^eQA746
zk|k5)FNyaC-v4E>`kJHmw3A)|H||{N^<Fl~KlIhi7MCdfl;#N>+jrJm-aM3Vdq<D|
zim3Felqc6#3wZXi#%2mQCVM^NwPRUz`Nz(~Omn`gf3NdbJ17*v7&vEhzW%;vPh}16
zL|A&IsJ0ucvF(0b<Lvd*y+WgFQfc5_o{ly8Zco3Q+}o+W^n}3ng?C*Qwsb$de&T5Q
zxu0TD%)!6zIDEC!&x=`H{a?{3t^TnH&y<vxdpv4aD)ak9&bjEsQu&y-=(b<TBNL(6
zDVMxX%u!M2=#}L6tN&d+PiFJHHfx7f!sj2~WiOq@?AiLmR>{A=JmNaL=n0!E%CSeT
zXc~R++dfM^nAuiA;H>=y$+atcmaMy7EFt$|@yfDAJRjD1XQr=su;b95f|<vQu0HRt
z-)!!E`-Pa+<M2pjvGOzPUaU~g;jrZ4n^JGb+1oe8XRWDcb@t)z454=yE2`JqIh|2T
z>EFEl$V|_3=YO?Utey8NXsc!Mt<IY6zLSw&En?dIT@jHPrzT2eJGdP_Bq_gCF{t6r
zqKB>*bu7#e@}#Zq(2`A7oYvo7t0*$(Z0?*pr|Ome1Sq;1IR!k7YYS2|)R=D95VCnk
zUJUz-&V3R;!gglt@6(^Graz_ooT1sqDg9lpuU9CRtzy1e_WNG{o{WW(LK&SA^P0}B
zDO%^Y@Qq27{O122=S4Q!{#)6x&ybV-<)yO@n$<tbH{N-1^U!S0=kblEMUSU3b!7#f
zTE=0~>s+E%pW<{}nAu7rfm=+NrAan1a_f&3%Z<FOo}KnS@OG=#mv=jy3YL|+_x8QZ
z?zuMg$3<VQc=bcZN5u{u=yp{9B7I8f$f9M=A+LW*T@U$j=WbcC`-004C-HQgd0rB{
z{`cjObu*tIn{c>bp6}0zr)+N8&3h!;Y}w)FTxp%&biMMbnp{=An9a71>V1i?^Xvjb
zcm8dfazonVPvIHq)fM-6xXQjf;}7wjeX8%;Qpx$hnez<%ALU5>5)U%dVleV<o>Q)!
zbmY*jsjJ^VU$RlG?F2{4_p>SoPZ`x0^*+9uUpOr^ZmHWn^XF<IEoa|-e8j)?k?HPv
zC9T`vEN9+sdwb_>HciFA=N<LW)Z2~aJ}hkR{qjor{5>_UrR;C}qgNbT$CYKsY=3I;
zzh<wFgB+bq7V&zEwYPo$mf>gjbZy$p8sS|Nw;szja=&T!i6b^+A4_1s>4urde5>=l
zIiAkXU(3qko4IOT-tOPJl?EGF-=0<LekGq^@jKwHBmbX#W|M{Ga@BT~TSYIJ)E@}7
z{p)kpc6T_RVC#mEq)9q`o!>)bc#aB+J5Tgv|GCez(_WeRO2(H<QagN2CAGveT0{3&
zxW4l~omaNl?v%=WuXEk1KBC&E9x+`pt+CygHMz5UOU=%M1=|wm$DA_QbtvK9&G^--
zrpNo{%=_r)TXu2A{x#bQ;{Fu;z4q+M;>yMK6>4wzq%TMvy`0f18~yN5S-s;k4%_5*
zPL>-z8?IZ#E?LzX6Mk`}e2K@orB&}=HMm+-<`~P0EOkE8eW8o@gc!#o=0*S9T2iO(
zT>UWhJKxD47iK)qIysNGV0H8wma16Yj~5Fb|Jd>W1^?0Dl=!R17?&DOnwcAI``CBQ
zwj<}0CY#nfZ<)8MfJx%^Yq2Fp*8*ztu2}r~eE&87b7huiMjIbBIs9b0I^jnBifaFC
zjyu~j?WP&OsMmbG=Ew5GsvA%Jsa<_ypJaRMuD1#np7rnA?-fQr-ymsq>`I(~;DNIB
zVv!;L=2Y`?O)~o(q&xqiT(Rfz`x+{zbH1CeSh#Wj{5<Z%0pIFh*shqj<m17xwdFF0
zCmlXlz2nc43YA}$JFD~z=Pva8(E5>SNx#inQQ5=qzb*-KStvd465Gzq?h|ubSj;}`
zwMld2i0NIy=-pfJ$Mf5h&ub?5cox2>cIJGQCARi5SL055jU~tQKJ^D^B}^(ws;D{e
zzoJ>;LB4{dqN3kohelapx%$K(A7^Xm2fH3^k3IaEDXBB?jG(_hUwgL(E9ZCDb&I;^
z-4`gF5Z&&+wlKuUs+T`!eQ$~1i6X-rs}I;sYv<rieSG!E;kzcw7bZExn(SkqR`j>@
z$+;aFyf0=fIi8%Knc319GpGNSqvVoJccZKr&*#=g%m0>}svu|C|3XsmX6Ea9zB*~g
z8NZ_A*2Rim+CO2_nM~z>=Q?kD{?p91x!vJ^JLu5H{;D5F8`>``Z`O#{S8NM^bH?e~
zxo@Wh?0!wY^k$>rH{Rbb`t|2om6>jTxZLgYcAH&s_p|Q(&{`NBKl2ucX~s73&@cUS
z4jiqS@if<dzjA>6`O+sD|M~Y=ttp=EtMa`*Z;5C9>1`(8R~lVrT>Aa9R(9XQJ`3Rz
zA+Ak-*VskAS+sOtavsOo`0uK0!WU<*OU+!);LsMgL%z0`dH2}^Zob>9W(3(QPjj_+
z^*CZj6~`I_k*T-7%x#$bg?mDzWzZ(a<R^tq)1=D68!j^hN^hK@rlFv+*Xl{PVqh72
z+nb{gBkOP1O`W1PcY1?Ii<sv1OC}XzSvn?d=F@)9O=sUe!G792vC_lt&;ORzHCSv|
zaPaf<DBUQN4}A-q9>1R~uO?BHB=)KHerM8lo|7g#2MS)TSnA~R|HlS-g*Sg2%C1%v
z7=KWTo~E|o_MxV)j-qWMQ!Z!!@bx*ym7%cH`C6Ew(w20~`WOGVeZ8wX*QdOW_u0qu
zCI-zjGy*41wvw5q9{zFN+;fI^Ig}l1;(bodKC|e+p6fiS2hM5E-#5uX=+A~HLObQ7
zr*AOZ(>1kizs~-fNj)Djj#nDQgvU;PT=%hy!^YE}bKSICv$MS>K4}#D<JI=`Rkx3&
zx=O?Zz9X62ZGw(3YFPB4zNP%V-=#B4o+td=<Mqqy`pm^uEE8l?-bjhx(^frOYavv{
zee$M}=A1L^Ys-}%p7_$a@8#Jr9gfD@kgYaSN3QmWTR12Q*oU)qGkjaJ_bWqu_vSyl
zC)KoNR&mP8FrN^5UedDm&gtZh*PUltzp)9M<of22@W-VyAL;Ba=T;C5`Teop&fv`?
zAGOXid!K23>5Jm;J=`xK#rh!i^jE9xW=emjO<MNCUiISd`K8itD)iF)Fa0m&6Kml3
z>#q6s{nz@rVjKIlt^azMzp6N#=M}wX&uWudQy<>9c3Z0TFfVptPt^YR*PNW2o~=5c
zroi2u>)E(4VfTmJjotS5t^~z!l$kBPwX*);V%ANMUP)|WefvFYb7ajS_3lXXr&@}>
zg74h?pPu})J!yJrGn2+{{gYE)Y<fAn_uN-*Y5tNwrQavc&%Cw$Pxz_{NvfLP__oV8
zn|%MUD`E9*&%>NQwjMA1Z?#oGq~~b^d!wGH<J_3FjOG3YUpzkMuSt#OHuKT0_N!~&
zy;LSaufFJ&HqXl?)*;!iw<&EgwePdqAAeld=Wz1cZ6{4$&DvpGIbZj}`ZtGJ-%mea
z-}WYP(Z>IabzYk7`c+_gZ)Spw>L31z3}W-8S8ra-_v_Q^$)EE4KA1d@+2$G4yD#q5
z{r)5A`$`QKyD&?3%)Ia-;s@uW4$rESQ!|d1Rb9{4VYprYsXnK*{dUuuLp{@34NN#+
z?0p?FUur@~TT<77<B?Gf%<ZD#rUgGZEZ_dPByTVCo&WK-dcP}{Z_OL_p1J>!`_#<~
zr59Fi*){2SYidhAXXlT^>&@{>DSziZJ<7lRL1zAodnJ#>Y;?9|UO1*8uV6HDxqg|+
z`xqOIHNq)#-IHE(RS1~XSMzUEVl(7k670RY*Dtm%B6YvfQ;XQO!8u>cj$Cc4T|PJZ
z+|j>L*#WEn%fzg_aV8?Ctjh0RyA9WBpOgjnId-a5e^_JLGGm^{ygP#DdYtX8K09~+
zo^|f%k{g$%?cKXGtHu7+=2ab+%BI;!oHUQio^V;U|CNE~8Cj*Wt5F;hFMiZ(Zp*$Q
zuv2TtWT&3?yx7Z2+K((Rcu+7$dx1*HzIbh|x~$%cpro_96IPeMzd!$<mB8iMwXd31
z-Sz*gAbz*Vx1B{SmoKGmf#Pq!M?ce6N1w|~-F<QvqjE*t?&r7O^n3{FKet!EFw*yy
ztI~u7Kd*_N|6fOlwZEJD-STNi&z0L3R@PrgnXfHZo$2^td()hqMyKa9G2QOCB<-SA
zEyQzcipr^}3bD>!?UKhE^)~!d+a9&!z=X+X*)Dmk49+_Fr6IcO-`>z~e~RS<Y7QJ&
zlyR%DFz9Eg_O<F&x5Q^Lf1Dfk`2V9`9|g0freyO|zyHkp<s<r^V`|KqlG=Gi;wlYl
z{j&ZW>u+?(fB3vCwnkRt#WGvAeeDkwJzw70d*|-C!Yy70+rKBf9sL=mny@A_eL-Yh
za(KJkyC=6D?6;{u^s0$D^tego^Pxh{)pgoo>Q>DnhxNni)s$BX?-h(ouD31cjF$O-
zuuOQ7AoD}+a|Iuc@~)5;-uA+C|FIeDZb82f7I#W7;+|gr<xw!B;FT>Ozis(t98~SS
zJoRkNk4s5~<+{rP_=UvQ?Qgzp&py#1tSJBHpEFzjKZq$Xuh^@<J=anoe`VX<F0c60
z53l+CoUb)OyZlSnum4JSvo~)mkqQb4jxw$m41LtUL3zom$cJAxSv0n9@zj+1ox%20
z^1#%<eO$9={`lDv$W~u}=%h#2!S!=iz7Fts(*DzW;SG*o8efxoyGzCL`goc+{@zH>
z+jQ&IE(twOgDnd;1)P7GGojkR=ceqt`<jd2$j*4{;xIotIc2*1tdAWZVvQ9{u1&9M
zKV|nID1&`Ml~3YA+p9DEHq6b6<@Z^bc{$MN#?^%qc0R5z&s5Bmyr6g}xc(CNA-}7;
zy99mjJN>)8H9`8YwiAEBM;GU5^>?ePT{Zu`@Ha|*KdDQ_p*NY8@$b_oYi5_ZS@zC6
zz&C4;hwR}wTw)GMekTr`XL(iE;FXf6D;|>BuP?xuVD7E|*m!Qp=X8^W=U-|(U9_cr
z`@-J6dp}pnJ8RrD+hV`_hE{R<G8Tb)dxzdXOK(1~Tz=pR`?KpUhjx2Sn-r9GT9NNS
z$<?!K+h%jlx)B)gMJ<0()AbeM`;;SAZnzw?cx}zeD;B#io&NN7yE|_NJNI+0konIW
zCwXnFYkAjrGgoBqpRF+qOfI%Y8@`<2b-Q@$qN(8pdn5#uKFA%u_FQXHPO7$jgv@J|
z_U&`(@8^E+IB{!5O4C8Fp11LLnFCC;cU(KvYVfctSHoep?3X<Ybbc>Szr8NQdT#Tz
zb9tsoc}lOC&iW-+rS>xmMs}@k4Vaka_v_o%9BWb4*E|=6**!`%Hr|}zdOp46)S<t3
zbH0eKUE9XLxo%e$TOx1x#QVp*`vt^ZN{a4fU#^l3xKMwT@8?sw(9CZ;w;H$xu%DOC
z6P3(bFEPV5kkihPomc7d)0@27ejBx78`@`aYLp(inidrDeEzj_vfFPqBo<e%Tz$cH
zez8DF?KFY4!b}&rws3wmZm2oFtur$q%)-~z!0}Jt=bHwiE(@;77mIOi(fnw?{FUeJ
zDb=@P^#qSa$jnx*pK)Tk$HK{nFK^7*)Uu;jQD<V%XDP|bCp)tDe`$JsT60xzad^YD
zSu1&Z4<&ZIU$RxS<o5sa_!-i+H@(mObT{eWKHEHIYEFpu6k|`3i5Kp0oO%?IA(XT(
z@dMAMDK&x3qF>q*d}Gc;?+L&9{5^wFl4w}hg_uqA9v$CmJLS<~XRawS5>`7lbwAV>
zINsI&XLYLuvo{Y*+%(f2V$UvKKRO+B?+CM*xyAIvRsjuu6GJY2pVYkck_-hiOB0Lf
z6aO)4)W405F222EQr-9U7ar&N9zF6msPt9H&sjG*C*SbPIUf9Z!40oPl0SvK=XpN6
zo*(bPrQ&*Yi|OX-tmlro94w4quJ^ukYo4<7bDaX)rJoiZAJjV<!`Qfs7HmD#B<1pS
z!vgjosVo-WC0`>pF~6L9M98FbQr-vVr9BbNK@u9`FSA<e@0r{aOl(-7GwsO%4R2M`
z4aXj>2;|S<xpIzY&c~2V%rkiVr0*(tbQX8k3GCTs;KpNMs}Rtnb|_=UQgMT29DM5P
z1=lWl=|rVC1nQRP%w4#xU^Wk5)mNb?&5Rz`9ZPz;BU;{bRm3$b-C5?eAW9)hDrfZr
zvs?k?^$*Ns3w-(?*Gn|UR<UlETq+{=&@4G4O-fI)MZT+`nUg_W<l!Vy#X}h#)32Ja
z^B#$MazT2>S+~yI!hd}G5(Epc++lDmHevBP&E4)Sz$DfFU2OSt4)&J&?C%pyrle0e
z(QsUj*>ir1^c=y6D=LXvhjK3p9lx+sXp&X)Oszzbb7#CYtooCyc<YaL2vp>=Gpy$~
zklL_ziDHSvXA!=3<Hp-ll<qm)p0Y`>ok2BNOF(=@bX3%;*4rj47qR;WHRyk1;9Ant
zxxzb)cgj?wb&+$LTzfBBH1H}I@Habr7uzbh&g$V|hEi9{8Rl0cH8OMAt~u+UW8e`~
z2s?L($K>3hg<T808na&PSf*2dPg<5oN97Jr*3tzFn<p`?{mArsiy?D}469L7XzGVm
z%v&8Kwfh%Hc9#mOWiSSbvRq?K)?(1fzLnsqyhFiHRA=j9A*Wo`dyQu#yO(y9Uf9jF
z&~dInKvSio>={)lfh7wkwOXZad@?oSx8xV|HOJ$x)v;Y%cUWmkq3wZ1BCoA3)(hxd
zF>c*`T{Wtw)P6%$(rmt03sWT+?!R8OX5qi)B8Q!7w;29<Jd`zg%5B3CoOguz`O`g1
zCrYs;%(|5lzSZ>gs%y7{GwjTlnTR>5AKKNnf5FugE50A#e<6S9rObvGj_>z4Y5a)V
zox^-Db8T#SXHmS5=+-Mu>zWc~%fGoVA=AIFK6UTo?;0Xg9Q?ml`CQdne50j(=JZct
zOXNF)zW>~sQ`N0@?Q7uL$b$82^nHYFIAjk+Z+bd``$IGXt4?K(pifhTb!XGLA1<rK
zQ&pMPEv^oJf9s(vOU0}EMstEzWL5mI=!`utnLEvhW5s5b-ZgVP`?Io*LO<J0(%8V8
zF=aC2a<+OAHNOxpf#r_n9TpzmS}IxGjVnd`*53Zq@A&vxfzpG@kGq9el(B6z3|yGA
zRDtynr{&57p$_$!P{HusNA0$LVQ{{Zp*%-Xn;|(eLZNMm``_Okf8Aq@5^@&uo)bDY
zX~#d?vutzz?K;xhJmYYD+ld1=1k+x<taIPo!!g%2PIpFUebGV-N1MjZ=hreWFR1^a
zeSIfiWwLZyB!7XN*!m{cW%FcXr=|ojz2u!y)h_k)L=MA+MV?WI>Xw{4FaCT_%2tQH
zs;%4x&iaD)8CEfFwK~wF(9l@<tHFZB$dgT_k&RhZ%Eu+eWA|e5jCm}ljv4#2l~_-D
z7M*om&3M8@t{Y7gd+Sv=U04F1hO&jnp5-!_yErMMHL`V8*DWTg6)W9UIWnVI7}L81
z<xUIMD91IY9(|kO*x<Jy?r;q2t7QvIb6G#}D2imRJ5tpir@Xe*e^Uy#f^KG~%2|h-
zhfgesHaW^5zwM~cQKyg7p81!=oR40#V3qz$f31}1uf(;Qw56x<G;r68Oxw8NtE`8p
z4A&j0l*5@Z7JQF2I!qMK9kiC&T{kClL3Z4P87zmUpITxS_V7{TidiA@;u`&uN?jRt
zb{YW(p03N-DCz%i@~IepMU7i_?X^;`PbPT8tngai8aGYxi$h`{f6RIjJ=czD0YCbj
zI97eUcJ}?*TgF#6#9aI%!0I~jX?<vK*Yh<8EHn6`10KF<(0rrCAs)crS?>6v#cbNC
zinj~rmzW2>(_bF8t8%YGIp;AEanpC<885Tu=pLJX@PW{SFoAWGH*;Q@taS1b$Hm>N
zc)y?ezT8Mx#-w7N`-3tURkyj7t;H61<|OJB=JN5l?A`K9_GVIu1-rA=7lEa(BvV@I
zZ)ZAQi)G!W%;KmJ-OBXHY{$++yFadPww+dZrSJDMF_-3zq5EANTc*8r@9uKEKDGXZ
zeaX@(NdjH19Z_8=PFJ?fD!BQo!BA-W&sV`2uO@5sPYTW!`I+1GR%WL6^Al?_jJTWr
z*sKdrH!yoV&5`rg>_Cy@6PYAs)NR}US1_9=t*(D^Q@TKM+n>HBo(+aKQeC>wHYaDP
zzP%sf$y!y=b4u7g<k&44WA8Sp@`;U$yu+u7ep;B@s&ZAU|Kc*SlqB6-;_Et<7CAq$
z-u%s{bjgeZ3fJ9ct&(%fGMM{f--Z@>=8vqWB$MY^yzoA#da*rya&Wex+;_Rtb`NrF
z-W%||EkAj$zVhLTNa<VAiKiU`SA>bQMokHuAfhdO^3tQTMrK@n-x%1MuY_#7!OCSn
z>7o02g-q?1!`>V}GsTMhR6izsnIo@NZ2P(KPGp~G>(Wxk=7PvTo(#=ve9KmaH>N0L
zo_=Jw=*g@VfuCO9TVorntYKv=u|cBs#nNeR6TC%JC6`XkJy75LLG<Wf#=ag#q3Mcg
zXT9W>G)bHF#2D^LICXt*_>%krUuCO^N80`iZ*bS`_&(>69^0O|%6__)f$BjYL^bkU
z*IpI*v$N9s)7(?ZHw*IA3f{4VDp<s%-#Iopy*z5VYI8RKVeU^4?Lr>ANg1APT)BWj
zw}NY52ftSFUl~oFODR$HM~?-pnK0E<Q}O=!uU$ReMO)?{pCVm*e6M$D`n6druQlqd
zRd_A1YW1<C2QM=2A9(6g$se-tyz0E2OJd!7gLAc_4$sj@K6k^Y)GI8=!{YEPL&;;R
z=bonbmA6*4*`C*4KF_G#B(F_Xd9KEFfzl}|C$fc}x9CI!NAZiWrO$X4p<Z88Jf+xc
z^O?f)7yTpBuT0wQp*_LmPBhQ|>>1@35=vFOW4J6+Q*KR3ot|AM-g_>@DrT~~x7oC^
zhY1$Gvj6yA9kklLOJl;M;)lJ(3h8-TUF!@2losnGd)ZH&<8{&QjbO`ShubQrbemK^
zCN7(GM}OLnQ^6Wv+2!BaE}wR&xQ9QW{_e$yYF}%|#-@)?9$9)m5;@9w=TddigDDp$
ztw`CS?{s}_qx;NDT^SFQzp8F7daxw;Q_;O?kG&RZe)E{T;6(eMo@*90NiC;h?Ay5}
zXYEkmsQJA?)w@!8?MW^}k$}}XNB&r@tw~|o&wgf^_3W*O`qlXR?6|iV@7r@|gTyA;
zkhHA&fYlC~1+_mJgXeG`E1UFXrupu^q7_>XE?w=v@D6{loa*u&+Lx!8AH6YgjjHQ}
z8S;mpFus*$PHkJGeLHZUr)5yRw<c@8#%<wMbA*pddo8^qHFe7ZTaDXc^M&-ydZjEE
z&P;RA5@-IY7`pI4>bmnEjrt1J&M(s3I)AF@(LHyVuWQ#|l5*YHeK3UUwNUQf%X1^M
zmqk5(7h3J*@L|!@X>CR)rp$Oyw5UR<>F1e-A3r8cneinse5a=PsXwtxc%-xRo@(e;
zmMlF{wdt0&6?4J_+v7FUE+>mj-~4jXhWM-~*P;W>-kK-3FPSNz>fhEW(sv+KtGIT_
z(p8%0Gh~12oh;nE(y0Dm1e<SZs?GYKy<B@{FRWRezB19*<g;02^)k1BcjtrN^=+}=
zx@51o!DKI&!gRNL+Lxxes5H+$E^e_&`j4>YKL|>9=~}lo_WydNqf)-y3d<G4jwy+A
z2bLJyTX=oCIrZrjKb2L<PuTB&Yw-K2l9HHf8TZ&{>CK+=F*Eh*b5`x~)!jUKu0wmU
z&&LO<_QB7^Zc0|x@tto!Y%;5Vi$SoC&q{Nvh$qESHodOq9eRcr45z8S+9A*WO4eY-
zBrlFnU#28<ui(?06uo>;vVp`z3%=<m<&#CkPKY=C<+Tw>|N8UK?GT@`OFWxOmfc#U
z`s-(8++UZ;@3+_ZxF%X%_NY&1_tA}X%sqKNz%r|E`^q;04GAY7c~3o;;(aQ&$vmZf
zg}nbq)~VpqHTazSNliBng(P9kwD6R*nf;FLZyWm`**sjKx%{|pv-k0@)2<v?%5mx9
zHPxcD{#yxk)Bd*UobK|A6#XeYZK?5<&5MddtlTu0FVYBb(b(Fj>bz^s>3YY_RzV+}
zkFT2;G%>`j`yi)X{2`~WGKW@sC>hN2`}0CY`_!j%YfOV{qD~1UxJ`)mSDuhtoZ7jP
z^N&bR(WEnbmleBsoxfE0C0OJ8;VZAzSdX$*oLs8DB6Dl7(!}tkPv>gvmd*3ro#(o|
z@Ysiq`xiLOKlfZ^{?<t*O7f|$T#H3?>)E|-UoyK8`0A$MEgLJlr75dtPVua_I=s|(
zp~v!-idT*KIW=$PNmb<>^5ELKX_Jzy$Bux#i;k=@Qk;8sSIFbunfGUJO<(mh;ymXy
z-CH)7LeIL_EA1?d4iePTd?xhtr}t~Ed%~$tZvPNY{UiC@rCEQYT32OT#9=FUo8_v%
zX7U)-dw%#+)U|M-_R@Ka&+IUMDz)ebN6X5qDk2t&ddjKES7ct#`Sr=c?W*8;&4uxk
z9o0Hps@-&#zABvj+Vk~K#fehiWKAx7X4IJ+BW0Nyb8AZKjP-4LQYR}nx?O*Aaa!-g
z&8nYjOn+Ew*lmgtX1R3g&Y$F@f66{*^t1o}x*qlM-S4;c83AwZ#hl;fez|-1$G2~u
z<@N5{FBkW4>gVgr-}BYqvbte8nMu#5ZT@oR!@6eX`TKb5>Xw~(FtdyAkz>sy8Kv*>
z*SdON9(_^8rk%R>hSa@%6212IGkG6y^EHXjYus_IYwyhhqkT7a{IijKc=Ykj7q3_(
zBDBw4lHKraL9_nh-H$KU=X{7idVKf8qZwa%|NFVkPm@po{ORhCqJODn(RcXXyIsGM
z@n`1#JBjmu<W|*}n$GEMY`wVsX1%fT?&KLQU%vEQxOi*-|Gx$$_x9S`-exP|`?l-C
zMXn1AmrL;49=2dV?mBt#<EC>TCRP|8e?HSh)hVu2X-o7Q@${pvg@w#AV$&DbpUjD<
z(XzYW+qU^)?8l`N;`_z+i%z~+66G^v;iFYM^zz)xAJ0CW6jh_WPrTktAh1^8roH`b
ztJ{h$cbpuS_*7^phqt(Im|MXkeEdkt$F&D%zC3*M+vmBLg`er@L~@*vdgB?c`s%{T
zTf5ncFN;;L<F8iNFOPe-U*%g8d-cXEDK+(%a!udNe7DtZ)>JN=U32@?&94iY{PbSB
z?fTKX(`P4{?a}|2VJP>@;NPncKmI(Bk+6Rib;xZ>PxlXzW7@*clhkkDKJsz)>Wj}6
zBRAi7Gv1PzI@3pDO<u#|1;4v5UjO}Y$q$o%wIMaTcJ61M>QK64r`%cIgtWf}OCP`K
zx_$ERmLFC1_OljA>MUEl+OXV8_OBh2)xWSa`|k9*9evY3`_cJ}cYS3OZ=Uv&lg-<I
zqoSK*H{V$;#%Y1;SrT%tF&Zek-qBB3J$<G1t;)^2H@D{e<l9zra$1mf;_33&XPMHf
zBDXh}@0LFouV5^D%y)Oz*Y2wZkF91Ve$CG^duhV;uF>k&=|A<ddu^+}eq#CgenZ`^
zO?9`{w$*=TR=%+FkG1&s8cBWDWz#Ed>Pq*0|Hsi_`R{@x1Cxo!|A*2|_ikI7G+cfx
z!_3wftM~WayJ!55=6Id?>E4iTCF!^SjI)E@($n83pXA7Sno`nwEWf1G`nO$cmx#p1
zWxea|d)FV|{9Z(^@aokcQuSZnzN#~lzVEkh^0&gPZ}0L(TzdJ}{Y|RXJ}LjU@~83p
zzW$Tq$(F6SdOB<0jXSq13q1~$&+z3iS7MnebYJ(&!L<x!w`C)R?(^1F%{(nG@8@S`
z-Z@`Sm^n}3QT0Tlgjwe6ocee5`UJJHdGGCcwtH^#_5AIfOH~bnw^Vo~zHnV$AG%@5
z^!NR<cHIwq&31b4n<uCFe;=Q{+<xz^>b=FcGWk!;*S_`HVCH7sx#w?gQ@Slu_Ljpr
zjmPDzh(<h5uWp;4dBv;LM`q{z?B>Y+Eiv8muf#U`jL@@3^Bp7l-}9|>&~H6gx#`$5
zo0U?*FHClo?TW35bvRkSYV(q6$^OG{%a=#jpRc#FxM%ZXl90}p^dDNQ4wXkQK9!OZ
zb9muV`O_=XHq1S@(=yB8(&?-ki@R3$Z~T2(QJ(GXa`7nFqBS4i=Gy!|@uuzI%I{B(
zT#NDd)ssG&wlQ{(Mw}@7(b<o33wfe9^l!MmPsi<O`i<E&KkI(8Dor+IdvNq^l00wT
zq8Xy!kG?-z|D8>5uh02^H;=u$X7;e@d0zMSTbfCR7avUwShnHNdNDDUrwb~47sxQ`
zy!X;jV9G4GdHU8KyPEx5_s`$aQ>HjQweF}_)eY6>Mr)#eL?3wRw=vqr-|K_b%7eQf
zsRXzBm!|&MI^)B<9_H=mY9-SWH1^G1ePa8xNnea|&TlU}r?|qt{+{hU;f2{BJ;d40
zn?z-+zf3Uv92j&}z-9fGGwv%}4WuR?K9T)=M@9S`v2+G0r(@h{Q93tH&yGubfA!kO
zhwsFUWp+!3oiO+}qxrD<yW-_*-ozg=cy&zTN`v_`W3Dsr9e2HbaOcaWzW3kF`L^+Q
z-uKh~;1d=6iTk0ih|%-!>%~9RA6I$gxs@eg_j73xp<hZWRW}cBF2BvL?<XWAJ8e;0
z%Yo_o#wuGPEQO>^t2c(fNjGa=`=ok<bn%pm*KJ}cCVO_wKREw<x$~XBhtziD1=YRI
z4%&C`{u#Go_9<l-wj{1P{iuA>vG0%0y9&Kb-F<(LmDSzaqe6`{Ryr%)YIgY`9@|sT
z(s?DRF0-2T#4ATL8P!i+8`RHO`r5hwF@AbN{bZxM^BsqU(>d*Gc9vKCk_)WZ?4r;7
zO7-6>Zw8T9Y7s|Mt5(XlHT7C@MK9=IswS6i)$#gEaPCsQYpZwmM{TRi)j$2WDF63|
zFEa{*=1$XDu<e2VOO}-k>c11_$gR*dGkH8qw*EktervV6XSSQDThF2QzROd8=k{#B
z_io?c18bx&AFWck{Iub#gZ`t`HQjC#UdtWbRkK6z`G+M>SLf<?|4sV;<?3wSl;05+
z7b~}|C`?^4Uv(Ah#tq@?z3<p-ybara-7H<oWZ%Jn{Rv;6&i*^S{Y*gmmZeL4FHZX^
zk^AzvTl6DGzIu-D+SONs&fh(A=Zo!uy&Kejp4z8e*?TJ7#Nc(RocZ?eWoGflX>%E8
z3vDdA{ZNzf_F+Tk<-K~<6AwT8y20Z7jmo6UPILY98LFG+3*G6Bb(UBEKh@SIHuvYR
zZ#T~=ov*L2wcIs3?#`XwX>5$^rbpV}v#_hIbo=y{FJS5f&wW2G)c+J_y3&5CJbPga
zzqFBDTw+&wMeWS6vq~oyzBqPM(zTsq{c(kZ?I#Sm&wZ$Pd~o5+*G~)MWNq(T*Uw*a
zNpwm|5TmzfQbo>&JN{bMG971=pG}ulaytHHp@q9+Y@d7i;+GXsJn8+BGi@FnJ^G<9
zEF*dDHK&gy&#G!WU$+bYU7TMpKKbEQrrH@(v<&P2Bz0zeFyQBX{@i`Lf82NPtE;BF
z-?y&*pO)T!b(M8n_r4JA?)52lR&B2rhn<(7yf$*y0p}}G{ik-seLVE-;_SQP>^$M+
zcaAISAK|t-#HRUVTi~mzJL$g<FD<?O{pw=YJHiXsC2i>T+b{TeXC3ECacTGW{xj;I
zzOz+)+xB6(#>eZD^Eas1WW4)SnIyUPl&b4@m4C}zpSfPX!TT%j-G`s;Yv=l&Ntc_i
z%PGkFmhCOWwFy~A_7r9ANR~fTU#q_(kh5mS+V;Y29Q(q4o@jeft3Us9+Vcm88Q&J2
zo94nKwK%!gK4UfOzY^CxnJ1HboolPx*DXoeo>D(eGPh;RzUiViHaG6n{5Lba^)lvT
zg2CT&t7}j7{ZBNymy@z+m+h-Zx=x~>))-xjl-m4_zp-Zj@w*2^azA>#`4;N6dP@EQ
z`P;Ql`y6dFZeP${y0hohTKD_0Zovh2g<cDGn6X?qEjnk;`}gm1HZxf5oquWJnJS6T
zQ`WRsIGkH7;!s~4ZxAo{c|l^|>r-LQk{4{5eqK1unfpdAC-<`A$(cewL@p&g@%1|M
zNYJNam9_sxhd5gepU=5ZzB6Qp6cjm$u8Y4RD_mDDd%#2{_(gf!r>gwo&l4URDC)Ex
z{@h>FE-+1FQ4NdCx58-({RyA9oXst3+o9kt{7ZK29-I639fE(>zq`9>kC@u456@4R
zZuzk*@mtNDHPv}DnU_qd`W2W{Jp0BSl|y2MUGGwV-JT?ybh#q#p3jGc>jM8;-oDlK
z{?3hy%-^nl+P`oAFN<BX`|ST)Oh0`7*}uD%b1%FXT(I{q|MBN*`0rX;YkJilh(BfW
ztUg%Y>Jr;hKO41~*RM=Go_YMRX#L{4N##EaKV8>wk2bBc{JK5A&)@94hv~GXzb~wO
z{CSa-((46>?=P0pU*+=Sj>7^T?T=T!F^HO#S|sWFSMU1zCn4YX;KjM=&exm%zh$g%
zGkj7#@4vD3(o-#b%f%mm%(2-iW9s|r4`WP(fWLR2{+2zTO>Q@-e*0NxGqY!1-j2`v
z>yOEVcW&Qb`u8a7#xv)>9zFZ?$1h`z!#^%B7xej&WFq@VCt0?=agt`RWxzh0^ce|#
zMGHzh(~tVKc^%sSq+aiD&&Ae`P%X!ZjTVzNPMM$KU{9GmzlBjjLP$uXbJ_!?2N8c%
zHVd5>ikzgO?Y5FRl!5ox4++!tE7RW=ehLa?zxb@)X|}e5waD+SVm-CFZOIQ>H>(Ee
z%@8_L)XBRf`0E>!e}|_}Q9NFM#^`(vf5Pghrz<X(E)EX+Iept+rr^T=g>La1h2ETc
zR$z5V`)#;g_OssqNBLK!Y_#4t``m>s3!YY*`lQxGd@rf7{B3mff9qoL*{7EtHovzr
zhj;z#!;d##y!xYF=xmZ{<2sM>n=Df64YnQIe)i+XCzjIo><eC-l-&H$E6yAJ`1i9P
z2TS_yZxxL)t9$Hw;M$Lkt@~fe+&}s6v3cBy>^}YISL&Z1ruP1I=ZUY6UTa$A{rf}Z
zpR9`2#n0py)_k3QDr)ielJhM&C4Y><_qzAQ)pM^gt@8eyvhUN}Gj8?YKML--e(zvb
zuiW&Lw$BdScIUZQbAF}eo~W#^ud>8r|9_NT|9eZ@_0w(ZXU=hdQS<ojoNEtsw{HIV
zV%xSSF8?1&zrVPpE&t`*Rf+mp-R}e+Z;v<1@N?WQ9+%6db-i}>v*=@)f8;Oz`n~X)
z^1ro_TN@6#T)HDVyC$egb#j*d#QU@AL*6ikM(~EbWxqRnv(eh8-S6j@Rp{!68?F9!
z`Ni7EmrK9xdFcJtEA47s+8$Hw+sR=s3*M~UoMpfN?yS(;Tu(L!S#4)3G!@FRKYV9a
zX!LF0?`sZ$6ffIhsjXeVfi1gg>#WGF^B?4%UA6S>xw7+G>r%qrwr59g-c+m89Cdb0
zRK)px+tRL@y*2FrlEim4t0&|4&#Tv#Ji4SBVgB}|%{P!$inr!W&DPw#D*r@I-_@+N
zt99!(nri=Tj(mDMWWUt&J9X>Uo35U=X|+vP*s`>B(=6xwXFRllBN8(AW^QRRJ+W0l
zjo-q;fD1PHW@KbGy>N=4X8qcT+j%nPLbdbPKiIudV0FYEMn?wkX~MTBK8@Jt!S~Hk
zI$M}A(t5&^gzxXaZ#XGuR&BA?!<e7RQa9}C%HXRuDVslgX+K`9v|9A>`HZzHlZ4JJ
zmU#MMc5*=75Bt>}_u0ahTu##NvRGT-H*sT?YRV+-wK-e5?mS@0K9nFTax_J>KEdIo
zXHVBm<#`*Dl0Tk~Ix4isXhV{8laTKRxkp|(0dJITCI`zfTvW0;e&ST%Az8+2k*OM8
zpO}{OaM=Acy1268sN14&#@7N`D>`&~x(i)r)iNFRIAt7=dBM@-h+9<4ofe5oLs!)t
zlQh3663kLZnzcPGt6GG!eP$gzBsn`RuD;W}u2u3+>mEI|w%9aRrJ$sUNL>$sln5uQ
zGh&k)d?Y(JG21_xYT7f!apP1MtAePHc}JzXb-N~eCCVyt2t@chFjVC<Xf}FF2Q6$~
z^5}+$+*MN+7rnp^Q@cXR35;G(Z!}3gdC8+N;c!x7K*~mm&V;6;VH4O2tkpZYb-p!t
z)i)hw3^<uk_)5YkLPoG%V(k*&2*H1EPqtjKKc)UaL2B}rwus8)V9N~=K~_@Ty35xc
zeso3b#CdCXu9uY&+BTm&idhrvnp~c+9kUfn>^kR|*7!lDvsHwrlJ$!?N5H`dfv!@g
z&a9pnZcjwkm})N(ky)U$_(4E|iim*3+13dw?CURa3L0!waj{{avLg18x2sdO!qgKd
zJG<KMyxRRfjQ#z;@6V@NRs8#U`tGX-Z*K2@*Eav9;#xjF{rvTp>aQH^{``IU@#FsI
z=FOkG)I7&j!e;lbzh9sII=_3p`O1u!S8KcLWA5L%C;PXql6k`F=J|T3`IF*gYxexB
z`Tkq?!h)CWM~~OX*ZuwV^VjM8mv^5$y!idTJ;T+_+n1lOw>i1OW!H*FGE+D6YS}ur
z{=3J%O1`e<*SEjzJ*SFaEO1hN7PC`RtK?kE>K*bS;_k=W^@Udz%kC2W@{BR2a<6#E
z^5g2_>f+2=dwgO;%KEeln!D6iys6Xr@%iM#hri8PL$}z5NZ*~uwYPrl?MnR>b_+K4
z6|rvL(`;wQGW9<HDu4a?^7f}!{Cc0Tfc*_mqW#@}Uw)pvxOp+7Xtq8`qh4Y5_Tzs`
ze*eC%&&OYXZiUL1vbKcxmF&y!_Dw!&7ch7KuP>i6U#%{GzwHfA;^N!B-KYG@*>;PE
ztdHBX$Kv;tz@v7ndh^UTiB7#;f8P4XvoCKBKm6H{b-GT}eD~gmT$`+KuK#xU>hZ<$
zesMBlA$R|3<&{`(y=&*%diivmR>j9pZ$3PpJU?!a-9Hc8RTag%KM4n%^D(^Xp2PH9
zUhmv}yPxNuPOo3yD*f@S+sYM;27gx7zLi&0Ie%}VnZMsTKL1@j5}P&h7T%ORoA$@N
ze)|5{yX*M+_SHF?O!;v3=~>aV!w>5V{=EA2dF`*(vkSU+96DlSHTn1+o^T<p#~a?w
z@8?Q#NmrlL{P17su}`-><^Jk9ewx=V9Z;qh<0kw`Bj%WFQ^(m7kA<E!g;HJ<W*B>k
zpLS>8sLC9(`qK%!el_;Zt$x~N?FviTwp}?ettY46PW*9D*u3Y;r|$DTTIM+CoN1v?
z>X~zwrxr^r{j)8tU7?csc<;KNpAkLY(R}ZE^^$991mdHvr!SH47MPwL(syE&%oaIG
z6_F#6ngxny{FsX+i!W^OR$Evg=f$@0f>_Ntm6lJ|J7k-lBnz&awXMf8LT9b?+9@9s
zXa2~X5D{fIt$teX($r+TDG&JkO#J>lK0F~!Gw;j`eQ|}@@4horB##{VsJHOWiycp#
zta|zm|5zV!$vfUjPQL5ZYsZjX+><YUoFRAe$B|vJPCE^qDx*98{5aC@e~Pc`^42#3
zUB}n#$g!Ma7x2{crk$Z?<VR-n3m4k7tksw1cU20N%$y=Vqi4#RdY5;1AEs1mNLC8R
zU)sFQrm!eqc!pZ%jT8HIjr3h@N-u7IWLJCWjFzIcOQGw9OX24e>$Rf;cG~jHxB0A>
zSk@tQ_s6aN+BMf>-IAxT^>+Q9XY(>*o9dMhky}Mt-hFjW%nf&`*c-o2x+3=T%;lH!
z%j;w6J<qi@FVOnFtAtNx-`sk>{Y7&&Y}>Q%_hYY(n%VP{qWU%`TP=P#d-m%6ZT>qi
zKTh6wEj#;L_qC@HAAh~tUw-)eL*Mu}tMoTN@qWE>y`J8)t@>TP>$jGEbKRHhyD;ju
zYxZS@h4a>*(!V%KUv~MvUpusJ-_rk;bz_;_?OmJJ?tHHu{aSASEVpba^M#dbxzsP$
zzZVp}abc!%;!@-PiMJI@@@{E%Y;km&tnZnz_(kTFk9{GFPS|v<3@nj8deX#W=hbc3
z9-Fg7^vBn4k2u{T)^+D|>T3PCFQ&Q|#A3EO*y;TIwC<y-Z2Z1!2Tw23&#QSkZ~dul
z@hP`kSFUf`^!2IM_dM?JM|U0HwmN6G<n3hZRF$Xomt8a0nQqv$v*>b6o!pXX2hW`{
z*rn@O#d*tX&(wXTeiy#3*fuq5^>0qG>`Wn<{f*CAx?dYQ&SRYz#a!t9J|n}aZ}t(1
zNwX(xlG!BYm)81tS;3`b*DP0`h)rf^yA}6}AHMQSBJ#`Ckk#F%uVhKy{XTWA@A}{!
z(;9CZwXk*MnVqUPU3X^piAQcHr<TwAxNf$>ozwl=??tAqS^02o^`79Tb5kycAFdV`
z554F4y*4%b)yH+(@2eWW-*}YK?cgg|v6Ew$SfbkPjW_*E^sleFWqdI&N19RnuBL<N
zvzdC^E58|pY@OSgyW4(Ct<-E;&+R-j%^XCZY}g@RxOm}PMx||{oZa;wud&X|EK^Rm
z)m<ZG8~ozfri;(#*@TzQ>nwhq7By3Dmev{L*t|O?tL_LtU3JpfGf!lv`iao~yMJt~
zbfXuC_KLAbTKR^l&f_%n|NQ!7LFmJo9NVV_H&s`~Jgr!EtarBC%<7C)56*qrR%)Dj
zyX?j~C9BI9uATj&I`N$4=2a^r6Ee0=yfkl8n4&4Sh`H7+;ft#lrZqlt^Q+E^Iy&XI
zNcw5M)uBo|?;qZ2JxlIcCjWWA=)yY2HR3Hte+O(%-%`H#<?_aAzNpaD>G|<@V#KS{
zXRnIvc0ckg;MT>yuWTEiEVcZ(KKo0(+L0Ze(=Toi6k#&AoId5g)H`l719Kw_LlYxY
zL(A#C52Pee1U5X7>S3}lnEtSmPe#(*f=k~mv#7X4!Q8?e-h47PF`s_XQ$Vx6H##?8
z#8T+rx%Dslr%#>s<FBjJL?@*OERh$~s<rQCl}asWoTzZvSMANc{rjs<y_MTv!oEf5
zc4bVNZK&S#)9>VrI~>^-vc3LTZ>w>VKkb6vgM)lwSvETkvUaoEvuJ;Gc<Zz|KxWA!
zMwQ;QIh8K{DvxBUyj=gYte7Yf_i3`^l=`qchxtx@s<^~^Dw;!>RdnycV2Ldye?-{V
z@;;d&v1MvwiH4_+vRh!*g@cXrE;S2EE!HrWko<X)&rLe7wAt|D!;}0jQ+~G{WMK@`
z;!`tX);*Dv=-EE4*>~H;1=kF!*Rp5Jo|Y_{bL7M<8Bv?$Cz=ZnhWtKw@<8q32U{A=
zOJwHMi%u|3Dmce^$uVu`fjG0Qf{U&;FB{p~o*v_g%kFVfo6x*tz4RXOo}UNVw_R#!
zRAb*Z(_+HXgsh_udlxjv$jmu*A|;`r@yn8SjfyIdz$t=r*2*sWcIQ>wjI_2h{c*`D
z(rpr=$tF`KFe#W!JUD5KMV8Ps*N5_pnEN=G1(_D7Osww^+?KRUL(1V~;N%dlsEdwS
zVT}w^Oj;|J)GwJT!FXrM<DcJERQEPbeo#4c%_ox`Ju+Gyic@vIEa`3P50q+~k{I*;
zqeMi*7ERqVi`D(*=HAQUpMU(|rAI%$UVQme;qu|xXY2OZDm-vys+0V0$J03f{J9;E
z^=IopzWd?0y<YkIy83-~Ip5kRJ6<fAaO6Y3xO~~}!*Aai*iBOx39(xE-=-&C;=@K3
z7DdA;94Sevi~Te%%{Vo`-!DFQe-3}|tH^ifr^RPokXR6u#PM;Pi;h6J5?_bDApa7X
z_8B)X7|x!WwlFnHYHq6GEXD;~2bc_4A23YWV%spOl;MH6<k^-(Tnjns&-=6G+tuIM
z`@4bja%Gj!m&$5uH4E>$zgGA5-T(LZa<Y5Q5~D@O<mU^|QZHefA9O%t^NGnBQ;KA-
zm(Mqg=YRZ9eZvfkGXgg?a$6m>jwiGU1n|1ZE?%QJi!bV??$MxX#a+jQiZw!gg)e)o
z-gE51?wMDniJkxX^XPk}9EU@{gzD?7>+~x^7EApo5=lF(Th(gzV#_DnugSZG4yki3
zy!<sw#3c0A=~Yi({wu24EZUfPW$riWgLYfjH4DGaTJn4O<D<*h#NW)D`c>z5pZ2ne
zEECyXGhNpfms{H1j(^+Y5tZ#GZk^_JJCgVC#GDOl(^xim-0Rj|clk%v%~dlK?k1m|
zlUaYSHks$(JKfcWx^m_-Ebkt8V#2;>Yts$|o2A!cnT2-v=S3MLD_tvzFlRoSp!52|
zKL3SozZYga_-<Z(>xagw8rin*>%SjT6~Df2|GhuIm1oYp7AnA<Yvj9Ec(s|Y&hNbJ
zw!QNFmPfqJ{L96Er~iIF`}C8zrzux0TpxXva86pXtNz*Rk7?7Rzb3stYv;Bt^!BFO
z|3!PGn5){hywsJL6}dfj+S)xgF6K;-R(Ym5Ek*B}%JzQEN3ky%PKi{n(e#_RC`)0t
zO8JUsUyG{$UcbtA?%A>;NxR#Bt^TFk<k&5rIwNVv=2Zzd%cITS{9JCX?38;g>ejbE
zm)Dy-`uTTup;7G5qWZPA_xIkr|E8sFw)g-2H*A*r>6ZsfW!ze4$Gt5!?B$cEeb<Gz
zcT9b;X6LrQ)81B3-PE{hlhJ|g47IGwN>0};@YI{N&TN0MMEu)j2K;F&dz)>hWUaH?
zf5T;dPV6~F;oVU+Hz!>G{ygQ?lS=_Y`}ft>RuuZ{lwI6p6nO68*ME;L|E#}#X3w2X
zd1W`e;{HrqZZ}1({^pza_xiUVD(E^Jdh^Hq-)9qd@2=JPD6e|?%7vSu6LNo-Ts!;r
z*Tx4zR`2bLo9owHaCmy^$cMw<9{;VIqw!>^X`@b7OooG2myZc=hg4{}*p?QrpM8Jt
zw0*kv!mBZ@*eS<B??)|jk>Gu=MSbDR80!O1z0OP5t(>wcyT$aB$?{Os9S;{7x3Q@l
zvN(KQA#86Cug9t8YrGkZt3(f-Sv)0HIY*)6aIvk$TB|u_*%OLX_?DSUFz(_i(OgsV
zHfjEa9nX@3gT8qy+HTjBTOk`)>^7t3d+BGxxfVrMJ`8I;CUc+ReCV20(^?qhcl9+>
zuv$UA$lD4(-LCEHqGmozjSqe_S0}$txGgC5`Kg>k1q=q2%hY&oUi_iAUS3j$^?C-I
z+@a9Ji}E(D3+jKGuRUqby*Vpo`f46%b){_lnAVzLVcE6zgYgLiQDN>SMcRHl78Pmr
z?bzg0a4htyg~iTQJI<V$BeQf`r{<BclTHuAl#bUpO{ib)bJFSIoA{%%oHngV3Q>Ie
zb>sA@=bW^+6#QAA=5Ww@r-B#9p2ynnKKQNK;hu8NNULK-S>DWPwliC&Wo9<ciEitk
z<}pQ8_pJJxOO{eEZ-*J3xVz27U%7DiQ-<biky))0@i(SS%l_0SJ~il5-}I^aC#>V9
zZ%*5gI!({i;<3ceGxewE$}F8$DVZY~y3B~Hec7cF=XW31rDXjG2zJ}K(P35Gk~{6G
zNf)fV*9tUOJH6y#{vPu4bV9Je(xC3$^EXXa{mv5l>#kQ$hW4I6Cj+x)PCr_f<&_@s
zW@+e`h@2%;59^d&%=)GK?Qp=Z3rWU2rv=lVi)LOoT61)p<f)lk3jB2z*SD9<(u%d*
zp*}79;Kb@A(P@1p?u(~Yo}GDhrDz=A_V8_Ugx%kDPOYB98sxV`dDX^KYC8^ehrX~5
zk~>_K)(ZAvnY`lZ1|?CqssBDUrJmY*yts0qSF?>c*Dfhe>kSc+(=XU`>rVb$BN_Vk
z(7jK&zLGBYK31-7vYCEs>GPU|`V}Q}({G12ojt#MQvB_yOs{4eRWMs?P0Mm#b=d1Z
z>rwVOT#t%YovLEo=DpP?k8j6@ZKkZJ?`o^|z0cJutH}%r6;+JgHMNfGW!mzRf|i%s
zcb@&tJexn!e|hM$o*K=-r)?+lR!wqFF%M<+deXG+mbG&H-cwKS8lT%85_5a0(w`;u
ztNt2)Iv6okQ|XhcTWHgf69F&JzAfwiuD8^D`+bhW)7eVrszp6@H{br}dvouq;)*>*
zy*16}wC2|`^Tw_{n}54y>XnKYPm?&ZHeX=c__vW?X7kH0=G!>p|E%5lMVH}B%$$n*
zz3=P(ZMc8;lR?$7f|kFUdz*xIJ)gQItVwozvNBh_OX97Kfhwo`l*PMbPpz-F5^+tq
zm)EahR(J8Oxae%JUyP45n3m*=E)Y0j`c2SPb>@1Bv?<|1-3wEM-mX}&XfMa>Eq^_A
z_xedc-7YRGIwf$Ga&wT^Ry&uauS4Ah=bin1S+I5TlsHvBv#DR0kKEjxyI_Ia_fuvX
zU2*c!k!QmN=GN=T2t^kMl(9d&*4aKes%oyqtFH;Sez=^K%XzIIa&%#L!IZ}bOEvDh
zmbkf1(SCj8;Ic_^>U~xF9yiUhD_hvJ$a2=T&bI9SJX49fM(HS#so^54k7(aJW^+VZ
zboR?*?pM>S9>q*LVWzQT9{<}n3zqe7Gi6UNe0{z0_GGV$x#s7X>kUf|7q3i;Zkty7
z+G@u4q>Dz|W44{h%h7XxVpSQi>WF;8`BI<lBDqzJ*D{|~xowv`UgWzt`j>_D4l{ns
zb>VYj)!+MNeJuT?x3@O)rG?+cjf)S5N5oDmTlpfB`TWvD%O^jpa$Bcf8vfSx-NL;b
z%Xybt9Tm*~5dF!*eaAGO`KoK`v){UF-i_>6GG4d5Bs}%l*FTfq-I!h5;t->CQtZgl
z?p((w%WpJA^zLF6w9j^&R}pfEKj4}7*0PE_GNo^RES@0sM4Y4d{bg<z{b&K{O|i>k
za(<l7=kM#ial~4wrZ}$okKe+Za+j@JC88(zPw=hZ_h@?1x`|<_T<I@EFR5L1+g2Ys
zflo^J)aiAK$uoVVJ*FMcRX+J?ht)d4bhD{nv<gqB++y(2XTBv+=(DVM;+L)kypu}q
z-*@xe^*)|oIJ)wVy~`cr!ut~)-(@i${akLbaB+vv{UsNUKi_j=_OE#XtR=eNRYB%_
zEdJr(c~#56A+|f}$;mz9clYZ$O^#pTx%ozYi}c^h<kho(*xrx2IO)XK*sA0{A+=P_
z`RC7t3hM_xKAI$aedFo9J7#?C_Klgd>ZsZij_dQMTCJ<y-_G;pB$sB=`m5^3D*^<$
zbAy{siZ}R5f1g}?yVC1JP}S}W)8hW0`lq)e{Z4t!i8G&1`bb`Bx^?o*0{MXIeM`co
zXFq)U&Gu{k!}FULHtjz@PtK=q!_R|H+5cZ)Uzk0A$Jtd*a%z73!GR~^OZ@p~_Fb|6
z_4ekY>nf4U&m23E({tvSPw3P$`V*gidGw=NzCvfO=($%RW*(`{AmaZjAJ3cY@lVV2
zSEZ@mWSXiQaFc1O?P}wRQ_Y!<hx<J}T77MSapqjl*FI6{_4cpMIQ@Pfv+y`8>&y-3
zT71=VHa+)IOZ@U{@BK$dU9Tk>Wlr{-?Q<*T`ph#&j>zxH+`#=g&$xQ_&D&@0rHS7<
zbL`)Zjf?e)(|m6-&DPy;lWBJCOCxFZ{lU}Mq%B?Z?x4)S$C1ZU)pxvMnZEo;YIBU)
ziPrW_XQDiI=IlLx?YE7%UH$pidW}i@vRlsI`MqkT$_~2=Pb=In75)09zu5f$Z!5m#
z;?k!QcK82KJm7wdf5n`xm*ouW-}C?Y^LyQ&Oon{PKithPw=>HhUw!xY$1mG=8+OnC
zmu>ye^xge8$N3-E?Wr}tXIokHE2sKLZT0WE@7D`%-0x3Mzw`O(v$sDa*Y3Ylzf<G4
z^M%7-U)EXdwd48qM(4x)>FMe9Lboqpk3W99*sPbY-Awvp{XP+wh0_ljiHR~AOgH@?
zrC4uaVHnG$ADmg0s$ghgVaTN)t`KdgV5|TV4a(0iQ82VHw@@%p2;$QB%uCA$aV?=-
z7lmjWBXcKHH&bVGQxiuMH#Y-wV@Fp5V<$656C)#67fS<UI|cko1VL(I;eAOHQ{(9i
z1^6`URcBS^#NLcOe*gW=^WS_wiM_9$Q_(yB@m;?p>%vDj`sP-6Ke8x%WKk$2y39c6
z%;Ka|Mi=b8OfP$dxn2oNnys$L)^&tq*`*CFtL55OEsa@rpu;;~oHr?ItB&!MZ2@V^
zb{X$EZ~nig=G^-^<<md^p0j(-YZs-774|bdRD`E_q<GiY3pqv`1-=aQlJXFGt#xz~
z|B7jiMM=*)?k=CjB)ZghO}M~r_pL%9f~N&;FMid?d}LPV-KA9mGD_E+-tb*DIU!)}
zl`}m{>`8~LdfDtO(-n$klWy=`jS6soBeF3%<h3L7M$07gm1a$9NzXfTgLBz*kE|2e
z?YLERi{NgrH&$26>I-JvkWGpXu|6P}RNfi8xJsmCT2i9qM&DJj3ufO)ObTE5tsyR{
z_Q<+`x6H>o=Bky=%(6cryxSqC`4xkOUrzH4tE-L%E;-#dq^>3!O!85Y@BgfIHPFD#
z=kXq=QW+nC%XRvJb6M0obOm;Md{wb<eWSE7byaY}E|Kmpw^dgeFQ^aEjXt{i3G1r#
z13DXpkBF_D$NIb@^N-kybB#e&r)reV{6ixYrm2+8TV+<zIOABP{pEAhJ7rbM`d0D%
z5!zUlbZe<!)zk>)jghOQHk2kAA1T=(_2%@ElA7f!wF1LC-wIw{sdaMco9WND-p^bm
z^u%hTj3MvjC%4qp`27N>&e-0OS)Z5Lq53s9$@_?3z}1!=&N;m^E-gN}#XV>84VF;f
zBfpR22?l4)JmPrh&EAtNyw)Z?g2|iMJ(Iq7Jajvd!hfpMR>90^>PfjN&nhbeC(Ev9
zQmYPd^-<ytOx?uJ-XW{pHkom<t%XZY(~ZJaKHnCY+&rD^YgNNH<BcO<Nc5rVsOj}f
zr4GE|d&N*}mBDc4$pTJ;`sOn4CG#%pM>%Lq>&^{3y3cQG)1}k}#;cx1nBCmT_n5;X
z=Ua1+*?~EHyAECqTC*TR-TrgKs=W<6rDT}TTu|UIk+X7~yR*$Dd8y--7g;wvy&SeN
zU6Pn^zu^eGgx~_N24}`1)(G(h$qmaHixm%it6y;ZO}*WEW~<W+HQjv{Hmnphc*&&Z
za=?Ul1{<TWwZp##Z^wpDjN<(a7n$|U8LQZ17BDU0+p&aog-n4UkATI4O_B?8544&&
zTx;+yZdk-9{+Yp$S?@oi72EfnF0VY!&))ktcB))NQFc%Cg(^t{?=argvsk7s*dtQC
zBBJZb$@KczpQY9-H>G^@&id*gCbK0a&%y9+?4>_W-<ALBq@R3cwl$3TuEDFuJmKC2
zqF1K<s&)B0>xP4>M={Iw&e8?vGYbUQ2xPOze7SyG=jMl&y49NNvLo8=XQ@5ch-LY8
zQ_w5?pjGHQf!DSTzYkT(Kgio)$FWQ2=10@qo$>|V5%LL(>m$t;bO-8gOf+C}J18N+
zE}S6b)2QhE?SI#{<=mT&m9WiWOFy7v!Ts#u7FGB1uieFOKB*~eRop)Jt7`$HPGf3;
zU<{Mh{m>0;CHtfkgmof{e$CicBbhO0ePmId??&AM;X50i)GWARc7yTz0bOrBn``Of
zcb;8%*B~8YYT;FWa##It=`Y-^A{&2C+w(;;l=ne=1mC7-Z{Mo!*lH-H$gh;xs``H2
zD&zB7iAz=GZGuG4I{ENOp8T+2Y272oLqWgSuNIX(Y;xep1eaD0@v!Ju=JNxmTk%cW
zDex$zW3u9TRYkux-)X<@?ho9bRv@w^@)iI7r4s*IWgC`H+`#>!GMV9pXFX%)AwTch
zbw2wYHV5>}AD37bTej|RlHZK&SK|LH|HXT0)x$mBr86$sIxsm+;d0mg+8S1RY^%Wa
zL%|7`g6elKZxeo?GGp5n`&`Yo@P%w;r-J@hI2r!oetw|RAbaKYf04Y;&&;k2Qhmbp
z{Os)OF&yFtl-$=d9^P7Tb5HB~6{7#0>ep~@)H|~E16PD$eqi`~0b%Dg+@)?S#N$l!
zp9*K~J+^Wk(;2?}Pj42tNk7Z2i(DGbAbj{X!~a9p4$Rxw15B>?R32zPoVhJ1?dAGE
zCPjrmy{4_JzsJ5i^s4eXN3W*}tXd4^^Dl*-udZ_cyULN-BH>=})2^!xQ332<j$HP5
zxuCLMzAiMDuhHa0!=%R-*{@7s_FW)qGVA+V;j9cccL!^WoO`#8vtF>|KHK{>G1R(Y
zo>_mh<Av0F{bg6J7<Qeley$o??V$gH`M6H)dacBl?cP~$*((jW+I0T@DZgUC^JR%u
z+RO8Ht8Z9bnEc9f!Sl<S2ZA-lH$C~4vhwrnS8LjLtJUk>c~vAfhq?HH%?_3{-M^2*
zzjjw{;LvMO-EhWrVb>+C2<F!b%rR`?2SPV+ZfpFqleO$X?gs964Z9Qg?=W9K*tPWk
zm&;Z?*$Ldj`i;H^?kR2Q@W^m+T5R^~E<68<SD#cT=0*IPx_Xt=g~u0-5>5w7D(n}O
z?2$Ov@vukY+zM`)`t3Pix0p3-3_Nuy{%_-|8<L4REt3U>+&m-{6Q{7U>-?>XoBL6J
z75fh9#PpWLz;l=GYp&>ix9jYa3`v7s7ZWcey?md$g1gJjLQ<CX?t;UY?5p<hAL*H(
z?X>QNgu_aXrAkM7s&xL&V>6RVke6bP>2A{r{<ur3K-Xy<$3vx>&SUjDlP%X?^Gy51
zwKUQocjmF_R}~INX*>*V2^YNNlCE3)B>PoUnqZtOH^WY)CtYT`#_z7MwkyeWeNc$n
zcIH6*O2(y1vhT!pWXwD%Xu2SG3G<<o8E1{+>!)luBVE5d>`l*;)4un%o0R+zUzl8S
z*eHMR+PVs<hbb+S1^wJ!NW6`BRzJ7=YHC047Y1JI=_c<wQdhH0a&Wt|J?B+>mIm`v
zh18qYySu(NYdvT*S+OPO^rR^MhUNzXhi`gi3ZyvlU1{z~-TnJ(cUAy%mZPi$Q}O~q
zlg6|QOt&1HQ`zm8@oxF#7SP7CeWe_0yRP-lHP`qqa9inGe~vu5%R%l-WZApPU9$De
zhZ7EL^6u`+{J5z1l7+;^H(r6fiyx@W*zo3;^U)7krCdJEk_*CL8awD;NN<dr{hUGn
z^y<$I;ZLr*9_aq~O6Wmp#aE>VsuiWIA71U=#a8h!_AbMoXY1k^_uN^R*OZ;W9m8&Z
zz-)r^_5*wu8s0MPEIhR-{8x!ll$IuY`;JR%80)t^muIXx{ro_!?1kC|(n~^irr(^M
zzd_VK@uvR0pp`;XWPY8r58uip!xTELc2TTh&L{p2-k)AS?w-Hx4g2h?vlv%ATHMvI
zWf%2hXVCQYE3CyeH6JCJ<wI-!d_K8geXkrF$0PITZ|SSP7_)pl+1@W!XPz+WhsWdZ
zjCVeKyyq@eU(X=JKI5(O>VC_A90z#i%WIc>RBu>k`Qy=al|N5)-+pIF_PST2Ta?fl
z?{%Q~{VLIkH7=hf9=l%EDHfEb`+H?%>BUXW=Q!ePbmu>4+n;gsex-lxh2#5AT~WAe
zx9>-kn4>`b-A(l$ntr`B*l^_jrZ@9#)=ND5@#E3s?)AJ6y8HF*>Mg%-*Zuv;w{#!#
zyN!!I3%JfSaQmF|5>wr=?+3rm?-!<PQ#sOhzKsv{d@ZIE^5nG6@9*cerafY*%s#z2
zYT|bXsVREq_di^1Rqft$O=C;aVJ^pgC7D0J{a<Oyo#iOIg5AdHNw&`Kzka2e4803@
zzch#yh)mI`{LcIJvC`yxcB=*T%5$cf-D3UpK;p%gn49ijyYnt^|6(X#{YT)%_LyJ3
zrIvhbmfpGjrBnZ~NH8Csmi<rjt2E={1g@Uwb)W6897uTX-!R$X@IJ53jpskFn{CgW
zc2H)<wmT0VU$pgpu07@1L8b_nJG(zW*DcptT9>lHWBLv@jlk&#xNb0r>u%q$;@qwJ
zpH}-1?AkN!nqG9?+uW^L`B5{kzPQH_JuUjb{#LE#-3hmgq-S^CWr+&decEm7qtfF=
zvn97?vG%GOuRHbh=p<kLIU$|RI&v%?!8)7o?42VO#30)p#gLru`m#CPRVct^RuW&v
z-p<K-j{*Yu%~k~2B<xgwmtCz9aAdWTlBnVGj(RQE9IZ#*8--0G-=&+rIeOT^ThLvC
zV{20E#?wXq^--|~%Wv>kd2f{0ZgY0E{ixtuD8SRa=V{%?3A+@+1--kT?6FAN*}rcU
zTaH#AbBN|5uR<w}z|GTs|9HQ0evbuvz|so21+Id+UEU2x#3Rq><VCzoTv}HqnZqa)
zl`?aS$G!TlsPBn&N2K2Dp7vXJZL-+O=)iDp)%T3C86CV6p3HDLDmtxtsT=Q^&oegm
z+n(P0L-FW|XrD>RL1L3P&6sjDMO#hN(6iIiE5_@<=^!n&Uc;B2p8h^|NuLC>`IORp
zf|6t{R(5#$pYiEC>2$`X-_!rhmVQq!pP-~kLX%r(oH=r){??3|BPt4NjE0-7)2<y`
zqNFBjxY;Z%>9~q&+N)zecW0P@h%-l0)YOa(XLg#ZdiwiRCB<f(3_SCvH}X-}$*?mf
zy)&nOlu~#O(pPlM=kkuNCKmO}4k}JJ+}Sg;*O0T<GsDLzIc)c1*#lF0X4)DW9q~Cg
zW6iM?Q?=EFn)RzS-|4Ls=TUK#)L_>PVAOIH{cwP>KtP5ma{^=J1m>#?*se5L1@KEb
zC}%L8UBJ4f$?O6jUo&3;iwx`B1>7agau>LN9WcDW|0#h%hP^p~gQr>0fa}-+ix~`)
zAFx<(`Za1A@TMKeEMPm+wE2O|4CdztZ6X-DA23BQX(x!TX{;|*U^UbI{=zdg@n+Hg
z55Ki?8%{sq+QDUZ&~yXqx@PGF={qdj5Af~aEjuV%ApWMYdcl;xQ!e-EMZUW_J>=4_
z+U-yG{pJd7XJ1#c^WQP~)m_qj$}(;iJp~dE4Gtx?9Oh^j#4k`!SP5k+PCroE!6I-(
zvBO!QU4f5ZM$W>fpyI)aoyyPo_+xfHt=|{9UIr}5!zU?YWRX&E;=zQ2ip|b!?L2-)
zQ#QpP<Z^U9$e=CJY81ft!!6)Ju>V4#5Jr9(26je$Mb@xS+&U-4BP{ecsKl>eGhHBd
zrLpP)gOsCi2Al2z(JhT-1rj9;*S>JOJF356y1Rh=OOxG!P1y_OpB!Yc;EO2K<*8>B
zi{@5N5b0?wG+<O?^#9*F`GLp`rppOz(1vfsF8wo&pA+PC8bA$R#%XO_r+${6{`)#u
z>f0seTm1HmE^+0{{$lN3%o_KG>vaP2hqY@9SU(glJ`fe!IQ0tC>+sgs57=(7)wpTg
zVX|)6`s|Qi!ry%b;%^wk=5l{$l&gQEzUJxQ{9>KoCpN5qs*`fVy{)#^;8M9gm<1)S
zORuzh{o;4ezC|y7^BBERK5Pdf>h^|CuaBwD-tg+&|In2eSDDwvEmd2sm(lWV_S#>@
zmQ$nF{JO|EHEQjzweqX4q?xk+^H^H8`sLd2mm99?>|Gqxe$}SZe`&pP*yq>x!(Xnr
zy2oN!(DJJ_KZ~_WBhT*tJICv8*ysEE*9P@p-4nblX#G_+`S;t;XPsZWy5vljdA;w_
zy4AHmW_eYv{(IUyRBFR5bGhSv(Xr1yZsdu&dsTC4+nRSPy{5LUefN2-R&PY@Ct<DL
zsK0lVryg5VSM9O1aCQB)kXajk?f+N5%WHDj|9|ZvR*Af?;{#qUF|{dnTpE1s!%V@c
z%ho(xI$O&(`tbLEu1h7e-~3tTwS4WzoyQlK9h3V1H(Bd!)a6h4D@v}-s(ZM}>-n0K
zwVq2Yv;Q6VtTlK0v`xZVXQNM_+vdf6?ba`E&Uc!&3&daSH~jK-m;95pTc=+MtExHm
zIbzQD`XBAg{h_@5;oklJkL2Vz_i7y|PwHpo=&xt{5V8N$4}q5-?G59^KFBl1nXX{m
z+Hl@pj{BS3|H%(bnZ%rI|K%Qg{NLQhF1z}d|J<?z>~8CsKX5(xD0=U)_txX~?<(##
zT>fOC+Yco^HLP!!>kgLF@4qJ?!3Ifm!3U04=L>z<dExQ=e4Br_kIiPf+%VO@|3A~m
za}ALPmS^^>vh~*={`h0RbiUk&cvU(1Jez;(k3RmqVmr@|>q75^A{bXEoQ>MOf5wJu
goy&#(^E<IrIZl7WEG@@lVPs)x&ZVmA>hHz{07(x;EC2ui

diff --git a/examples/advanced/categorical/HeatShield/HS_Material.cpp b/examples/advanced/categorical/HeatShield/HS_Material.cpp
new file mode 100644
index 0000000..64c1c4a
--- /dev/null
+++ b/examples/advanced/categorical/HeatShield/HS_Material.cpp
@@ -0,0 +1,551 @@
+#include "HS_Material.hpp"
+using namespace std;
+
+/*------------------------*/
+/*  conversion constants  */
+/*------------------------*/
+const double HS_Material::DENSITY_CC = 2.767974E-2;
+const double HS_Material::T_CC       = 1/1.8;
+const double HS_Material::K_CC       = 1/57.7882;
+const double HS_Material::S_CC       = 689.476;
+const double HS_Material::YM_CC      = 6.89476E5;
+
+/*---------------*/
+/*  constructor  */
+/*---------------*/
+HS_Material::HS_Material  ( material_type t ,
+			    double        d   ) : _type    ( t              ) ,
+						  _density ( d * DENSITY_CC ) ,
+						  _nT      ( 0              ) , 
+						  _T       ( NULL           ) ,
+						  _nk      ( 0              ) ,
+						  _k       ( NULL           ) ,
+						  _kA      ( NULL           ) ,
+						  _kB      ( NULL           ) ,
+						  _kC      ( NULL           ) ,
+						  _ns      ( 0              ) ,
+						  _s       ( NULL           ) ,
+						  _sA      ( NULL           ) ,
+						  _sB      ( NULL           ) ,
+						  _sC      ( NULL           ) ,
+						  _nTCI    ( 0              ) ,
+						  _TCI     ( NULL           ) ,
+						  _ne      ( 0              ) ,
+						  _e       ( NULL           ) ,
+						  _ekA     ( NULL           ) ,
+						  _ekB     ( NULL           ) ,
+						  _ekC     ( NULL           ) ,
+						  _ksA     ( NULL           ) ,
+						  _ksB     ( NULL           ) ,
+						  _ksC     ( NULL           ) ,
+						  _nTEI    ( 0              ) ,
+						  _TEI     ( NULL           ) ,
+						  _ny      ( 0              ) ,
+						  _y       ( NULL           ) ,
+						  _yA      ( NULL           ) ,
+						  _yB      ( NULL           ) ,
+						  _yC      ( NULL           )   {}
+/*--------------*/
+/*  destructor  */
+/*--------------*/
+HS_Material::~HS_Material ( void ) 
+ {
+  delete [] _T;
+  delete [] _k;
+  delete [] _kA;
+  delete [] _kB;
+  delete [] _kC;
+  delete [] _s;
+  delete [] _sA;
+  delete [] _sB;
+  delete [] _sC;
+  delete [] _TCI;
+  delete [] _e;
+  delete [] _ekA;
+  delete [] _ekB;
+  delete [] _ekC;
+  delete [] _ksA;
+  delete [] _ksB;
+  delete [] _ksC;
+  delete [] _TEI;
+  delete [] _y;
+  delete [] _yA;
+  delete [] _yB;
+  delete [] _yC;
+}
+
+/*---------------*/
+/*  SET methods  */
+/*---------------*/
+
+// set_T:
+void HS_Material::set_T ( int n , double * T , bool convert ) 
+ {
+  delete [] _T;
+  double CC = (convert) ? T_CC : 1.0;
+  _nT = n;
+  _T  = new double [_nT];
+  for ( int i = 0 ; i < _nT ; ++i )
+    _T[i] = T[i] * CC;
+}
+
+// set_y:
+void HS_Material::set_y ( int n , double * y , bool convert ) 
+ {
+  delete [] _y;
+  double CC = (convert) ? YM_CC : 1.0;
+  _ny = n;
+  _y  = new double [_ny];
+  for ( int i = 0 ; i < _ny ; ++i )
+    _y[i] = y[i] * CC;
+}
+
+// set_k:
+void HS_Material::set_k ( int n , double * k , bool convert ) 
+ {
+  delete [] _k;
+  double CC = (convert) ? K_CC : 1.0;
+  _nk = n;
+  _k  = new double [_nk];
+  for ( int i = 0 ; i < _nk ; ++i )
+    _k[i] = k[i] * CC;
+}
+
+// set_yABC:
+void HS_Material::set_yABC ( void ) 
+ {
+  delete [] _yA;
+  delete [] _yB;
+  delete [] _yC;
+  _yA = new double [ _ny-1 ];
+  _yB = new double [ _ny-1 ];
+  _yC = new double [ _ny-1 ];
+
+  double * T = new double [ _ny ];
+  int i1 = _ny-1;
+  int i2 = _nT-1;
+  while ( i1 >= 0 )
+    T[i1--] = _T[i2--];
+
+  CSplineABC ( _ny-1 , T , _y , _yA , _yB , _yC );
+
+  delete [] T;
+}
+
+// set_kABC:
+void HS_Material::set_kABC ( void ) 
+ {
+  delete [] _kA;
+  delete [] _kB;
+  delete [] _kC;
+  _kA = new double [ _nk-1 ];
+  _kB = new double [ _nk-1 ];
+  _kC = new double [ _nk-1 ];   
+  CSplineABC ( _nk-1 , _T , _k , _kA , _kB , _kC );  
+}
+
+// set_s:
+void HS_Material::set_s ( int n , double * s , bool convert ) 
+ {
+  delete [] _s;
+  double CC = (convert) ? S_CC : 1.0;
+  _ns = n;
+  _s  = new double [_ns];
+  for ( int i = 0 ; i < _ns ; ++i )
+    _s[i] = s[i] * CC;
+}
+
+// set_e:
+void HS_Material::set_e ( int n , double * e ) 
+ {
+  delete [] _e;
+  _ne = n;
+  _e  = new double [_ne];
+  for ( int i = 0 ; i < _ne ; ++i )
+    _e[i] = e[i];
+}
+
+// set_sABC:
+void HS_Material::set_sABC ( void ) 
+ {
+  delete [] _sA;
+  delete [] _sB;
+  delete [] _sC;
+  _sA = new double [ _ns-1 ];
+  _sB = new double [ _ns-1 ];
+  _sC = new double [ _ns-1 ];   
+
+  // hypothesis: _ns may be smaller than _nT:
+  double * T = new double [ _ns ];
+  int i1 = _ns-1;
+  int i2 = _nT-1;
+  while ( i1 >= 0 )
+    T[i1--] = _T[i2--];
+
+  CSplineABC ( _ns-1 , T , _s , _sA , _sB , _sC );  
+
+  delete [] T;
+}
+
+// set_ksABC:
+void HS_Material::set_ksABC ( void ) 
+ {
+  delete [] _ksA;
+  delete [] _ksB;
+  delete [] _ksC;
+
+  _ksA = new double [_nT-1];
+  _ksB = new double [_nT-1];
+  _ksC = new double [_nT-1];
+
+  double * ks = new double [_nT];
+
+  for ( int i = 0 ; i < _nT ; ++i )
+    ks[i] = _k[i] / _s[i];
+
+  CSplineABC ( _nT-1 , _T , ks , _ksA , _ksB , _ksC );
+
+  delete [] ks;
+}
+
+// set_ekABC1:
+void HS_Material::set_ekABC1 ( void ) 
+ {
+
+  delete [] _ekA;
+  delete [] _ekB;
+  delete [] _ekC;
+
+  _ekA = new double [_ne-1];
+  _ekB = new double [_ne-1];
+  _ekC = new double [_ne-1];
+
+  double * T = new double [ _ne ];
+  int i1 = _ne-1;
+  int i2 = _nT-1;
+  while ( i1 >= 0 )
+    T[i1--] = _T[i2--];
+  T[0] = 0.0;
+
+  CSplineABC ( _ne-1 , T , _e , _ekA , _ekB , _ekC );
+
+  delete [] T;
+}
+
+// set_ekABC2:
+void HS_Material::set_ekABC2 ( void ) 
+ {
+
+  delete [] _ekA;
+  delete [] _ekB;
+  delete [] _ekC;
+
+  _ekA = new double [_nT-1];
+  _ekB = new double [_nT-1];
+  _ekC = new double [_nT-1];
+
+  double * ek = new double [ _nT ];
+  for ( int i = 0 ; i < _nT ; ++i )
+    ek[i] = _e[i] * _k[i];
+
+  CSplineABC ( _nT-1 , _T , ek , _ekA , _ekB , _ekC );
+
+  delete [] ek;
+}
+
+// set_TCI:
+void HS_Material::set_TCI ( void ) 
+ {
+  
+  delete [] _TCI;
+
+  int       i;
+  int      nx = _nT - 1;
+  double *  x = new double [nx];
+  double * fx = new double [nx];
+
+  for ( i = 0 ; i < nx ; ++i )
+    x[i] = ( _T[i] + _T[i+1] ) / 2.0;
+  
+  thermal_conductivity ( nx , x , fx );
+  
+  _nTCI = nx;
+  _TCI  = new double[nx];
+  for ( i = 0 ; i < nx ; ++i )
+    _TCI[i] = (_k[i]+_k[i+1]+4*fx[i]) * (_T[i+1]-_T[i]) / 6.0;
+   
+  delete [] x;
+  delete [] fx;
+}
+
+// set_TEI:
+void HS_Material::set_TEI ( void ) 
+ {
+
+  delete [] _TEI;
+
+  int       i;
+  int      nx  = _nT - 1;
+  double *  x  = new double [nx];
+  double * fx1 = new double [nx];
+  double * fx2 = new double [nx];
+
+  for ( i = 0 ; i < nx ; ++i )
+    x[i] = ( _T[i] + _T[i+1] ) / 2.0;
+
+  thermal_conductivity_stress ( nx , x , fx1 );
+  thermal_expansion ( nx , x , fx2 );
+ 
+  _nTEI = nx;
+  _TEI  = new double[nx];
+  for ( i = 0 ; i < nx ; ++i )
+    _TEI[i] = ( _e[i]*_k[i] + _e[i+1]*_k[i+1] + 4*fx1[i]*fx2[i] ) *
+      (_T[i+1]-_T[i]) / 6;
+
+  delete [] x;
+  delete [] fx1;
+  delete [] fx2;
+}
+
+/*-------------------------------------------------*/
+/*  Material: get the T indexes between T1 and T2  */
+/*-------------------------------------------------*/
+bool HS_Material::get_T_indexes ( double T1       ,
+				  double T2       ,
+				  int  & indfirst ,
+				  int  & indlast    ) const {
+  indfirst = -1;
+  indlast  = -1;
+
+  if ( T2 <= _T[0] || T1 >= _T[_nT-1] || T2 <= T1 )
+    return false;
+
+  indfirst = 0;
+  while ( _T[indfirst] <= T1 )
+    ++indfirst;
+  
+  indlast = _nT-1;
+  while ( _T[indlast] >= T2 )
+    --indlast;
+
+  if ( indfirst > indlast ) 
+ {
+    indfirst = indlast = -1;
+    return false;
+  }
+
+  return true;
+}
+
+/*---------------------*/
+/*  thermal expansion  */
+/*---------------------*/
+void HS_Material::thermal_expansion ( int            nx ,
+				      const double * x  ,
+				      double       * y    ) const {
+  double w;
+  int    ind;
+  for ( int i = 0 ; i < nx ; ++i ) 
+ {
+    if ( x[i] <= _T[0] )
+      ind = 0;
+    else if ( x[i] >= _T[_nT-1] )
+      ind = _nT-2;
+    else 
+ {
+      ind = 0;
+      while ( x[i] >= _T[ind+1] )
+	++ind;
+    }
+    w = x[i] - _T[ind];
+    y[i] = _e[ind]*_k[ind] + w * ( _ekC[ind]  + w * ( _ekB[ind]  + w * _ekA[ind] ) );
+  }
+}
+
+/*-------------------------------*/
+/*  thermal conductivity/stress  */
+/*-------------------------------*/
+void HS_Material::thermal_conductivity_stress ( int            nx ,
+						const double * x  ,
+						double       * y    ) const {
+  double w;
+  int    ind;
+  for ( int i = 0 ; i < nx ; ++i ) 
+ {
+    if ( x[i] <= _T[0] )
+      ind = 0;
+    else if ( x[i] >= _T[_nT-1] )
+      ind = _nT-2;
+    else 
+ {
+      ind = 0;
+      while ( x[i] >= _T[ind+1] )
+	++ind;
+    }
+    w = x[i] - _T[ind];
+    y[i] = _k[ind] * _s[ind] + w  * ( _ksC[ind] + w * ( _ksB[ind] + w * _ksA[ind] ) );
+  }
+}
+
+/*------------------------*/
+/*  thermal conductivity  */
+/*------------------------*/
+void HS_Material::thermal_conductivity ( int            nx ,
+					 const double * x  ,
+					 double       * y    ) const {
+  double w;
+  int    ind;
+  for ( int i = 0 ; i < nx ; ++i ) 
+ {
+    if ( x[i] <= _T[0] )
+      ind = 0;
+    else if ( x[i] >= _T[_nT-1] )
+      ind = _nT-2;
+    else 
+ {
+      ind = 0;
+      while ( x[i] >= _T[ind+1] )
+	++ind;
+    }
+    w = x[i] - _T[ind];
+    y[i] = _k[ind] + w * ( _kC[ind]  + w * ( _kB[ind]  + w * _kA[ind] ) );
+  }
+}
+
+/*------------------------*/
+/*  thermal YoungModulus  */
+/*------------------------*/
+void HS_Material::thermal_YM ( int            nx ,
+			       const double * x  ,
+			       double       * y    ) const {
+  double w;
+  int    ind;
+  for ( int i = 0 ; i < nx ; ++i ) 
+ {
+    if ( x[i] <= _T[0] )
+      ind = 0;
+    else if ( x[i] >= _T[_nT-1] )
+      ind = _nT-2;
+    else 
+ {
+      ind = 0;
+      while ( x[i] >= _T[ind+1] )
+	++ind;
+    }
+    w = x[i] - _T[ind];
+
+    y[i] = _y[ind] + w * ( _yC[ind]  + w * ( _yB[ind]  + w * _yA[ind] ) );
+  }
+}
+
+/*------------------*/
+/*  thermal stress  */
+/*------------------*/
+double HS_Material::thermal_stress ( double T ) const {
+
+  int ind;
+  if ( T <= _T[0] )
+    ind = 0;
+  else if ( T >= _T[_nT-1] )
+    ind = _nT-2;
+  else 
+ {
+    ind = 0;
+    while ( T >= _T[ind+1] )
+      ++ind;
+  }
+
+  double w = T - _T[ind];
+
+  return _s[ind] + w * ( _sC[ind]  + w * ( _sB[ind]  + w * _sA[ind] ) );
+}
+
+/*---------------------------------------------------------*/
+/*  tridiagonal solver to determine cubic spline z-values  */
+/*---------------------------------------------------------*/
+void HS_Material::CSplineABC ( int            n ,
+			       const double * x ,            // size n+1
+			       const double * y ,            // size n+1
+			       double       * A ,            // size n
+			       double       * B ,            // size n
+			       double       * C   ) const {  // size n
+
+  double * h = new double [n];
+  double * b = new double [n];
+  double * u = new double [n-1];
+  double * v = new double [n-1];
+
+  int i;
+
+  for ( i = 0 ; i < n ; ++i ) 
+ {
+    h[i] = x[i+1] - x[i];
+    b[i] = 6*(y[i+1]-y[i])/h[i];
+    if ( i < n-1 ) 
+ {
+      u[i] = 2 * ( h[i] + x[i+2] - x[i+1] );
+      v[i] = -b[i] +  6 * ( y[i+2]-y[i+1] ) / (x[i+2]-x[i+1]);
+    }
+  }
+
+  for ( i = 1 ; i < n-1 ; ++i ) 
+ {
+    u[i] -= h[i]*h[i]  / u[i-1];
+    v[i] -= h[i]*v[i-1]/ u[i-1];
+  }
+
+  double * z = new double[n+1];
+  z[0] = z[n] = 0;
+
+  for ( i = n-1 ; i > 0 ; --i )
+    z[i] = (v[i-1] - h[i]*z[i+1])/u[i-1];
+
+  // compute cubic spline coefficients:
+  for ( i = 0 ; i < n ; ++i ) 
+ {
+    A[i] = (z[i+1] - z[i]) / (6*h[i]);
+    B[i] = z[i] / 2;
+    C[i] = -h[i]*z[i+1]/6 - h[i]*z[i]/3 + (y[i+1]-y[i])/h[i];
+  }
+
+  delete [] h;
+  delete [] b;
+  delete [] u;
+  delete [] v;
+  delete [] z;
+}
+
+/*-------------------------*/
+/*  display material type  */
+/*-------------------------*/
+ostream & operator << ( ostream & out , material_type mt ) 
+ {
+
+  switch ( mt ) 
+ {
+  case _NYLON_:
+    out << "nylon";
+    break;
+  case _TEFLON_:
+    out << "teflon";
+    break;
+  case _EPOXY_NORMAL_:
+    out << "epoxy_normal";
+    break;
+  case _EPOXY_PLANE_:
+    out << "epoxy_plane";
+    break;
+  case _ALUMINIUM_:
+    out << "aluminum";
+    break;
+  case _STEEL_:
+    out << "steel";
+    break;
+  case _CARBON_STEEL_:
+    out << "carbon_steel";
+    break;
+  default:
+    out << "undefined";
+  }
+  return out;
+}
diff --git a/examples/advanced/categorical/HeatShield/HS_Material.hpp b/examples/advanced/categorical/HeatShield/HS_Material.hpp
new file mode 100644
index 0000000..946f846
--- /dev/null
+++ b/examples/advanced/categorical/HeatShield/HS_Material.hpp
@@ -0,0 +1,138 @@
+#ifndef __HS_MATERIAL__
+#define __HS_MATERIAL__
+
+#include <iostream>
+#include <iomanip>
+#include <fstream>
+
+/*----------------------*/
+/*  types of materials  */
+/*----------------------*/
+enum material_type { _NYLON_        ,     // 0
+		     _TEFLON_       ,     // 1
+		     _EPOXY_NORMAL_ ,     // 2
+		     _EPOXY_PLANE_  ,     // 3
+		     _ALUMINIUM_    ,     // 4
+		     _STEEL_        ,     // 5
+		     _CARBON_STEEL_   };  // 6
+
+// display material type:	
+std::ostream & operator << ( std::ostream & , material_type );
+
+/*-----------------*/
+/*  material type  */
+/*-----------------*/
+class HS_Material {
+
+private:
+
+  material_type _type;
+  double        _density;
+  int           _nT;
+  double      * _T;
+  int           _nk;
+  double      * _k;
+  double      * _kA;
+  double      * _kB;
+  double      * _kC;
+  int           _ns;
+  double      * _s;
+  double      * _sA;
+  double      * _sB;
+  double      * _sC;
+  int           _nTCI;
+  double      * _TCI;
+  int           _ne;
+  double      * _e;
+  double      * _ekA;
+  double      * _ekB;
+  double      * _ekC;
+  double      * _ksA;
+  double      * _ksB;
+  double      * _ksC;
+  int           _nTEI;
+  double      * _TEI;
+  int           _ny;
+  double      * _y;
+  double      * _yA;
+  double      * _yB;
+  double      * _yC;
+
+  // tridiagonal solver to determine cubic spline z-values:
+  void CSplineABC ( int            n ,
+		    const double * x ,
+		    const double * y ,
+		    double       * A ,
+		    double       * B ,
+		    double       * C   ) const;
+public:
+
+  // conversion constants:
+  static const double DENSITY_CC;
+  static const double T_CC;
+  static const double K_CC;
+  static const double S_CC;
+  static const double YM_CC;
+
+  // constructor:
+  HS_Material  ( material_type t , double d );
+
+  // destructor:
+  ~HS_Material ( void );
+
+  // SET methods:
+  void set_T      ( int n , double * T , bool convert = true );
+  void set_y      ( int n , double * y , bool convert = true );
+  void set_k      ( int n , double * k , bool convert = true );
+  void set_s      ( int n , double * s , bool convert = true );
+  void set_e      ( int n , double * e );
+  void set_yABC   ( void );
+  void set_kABC   ( void );
+  void set_sABC   ( void );
+  void set_ekABC1 ( void );
+  void set_ekABC2 ( void );
+  void set_TCI    ( void );
+  void set_ksABC  ( void );
+  void set_TEI    ( void );
+
+  // get the T indexes between T1 and T2:
+  bool get_T_indexes ( double T1       ,
+		       double T2       ,
+		       int  & indfirst ,
+		       int  & indlast    ) const;
+
+  // other GET methods:
+  double get_density ( void    ) const { return _density;  }
+  int    get_nT      ( void    ) const { return _nT;       }
+  double get_T       ( int ind ) const { return _T  [ind]; }
+  double get_k       ( int ind ) const { return _k  [ind]; }
+  double get_e       ( int ind ) const { return _e  [ind]; }
+  double get_TCI     ( int ind ) const { return _TCI[ind]; }
+  double get_TEI     ( int ind ) const { return _TEI[ind]; }
+
+  // thermal expansion:
+  void thermal_expansion ( int            nx ,
+			   const double * x  ,
+			   double       * y    ) const;
+
+  // thermal conductivity:
+  void thermal_conductivity ( int            nx ,
+			      const double * x  ,
+			      double       * y    ) const;
+
+  // thermal stress:
+  double thermal_stress ( double T ) const;
+
+  // thermal conductivity/stress:
+  void thermal_conductivity_stress ( int            nx ,
+				     const double * x  ,
+				     double       * y    ) const;
+
+  // thermal YoungModulus:
+  void thermal_YM ( int            nx ,
+		    const double * x  ,
+		    double       * y    ) const;
+
+};
+
+#endif
diff --git a/examples/advanced/categorical/HeatShield/HS_Param.cpp b/examples/advanced/categorical/HeatShield/HS_Param.cpp
new file mode 100644
index 0000000..87a6a00
--- /dev/null
+++ b/examples/advanced/categorical/HeatShield/HS_Param.cpp
@@ -0,0 +1,325 @@
+#include "HS_Param.hpp"
+using namespace std;
+
+/*---------------*/
+/*  constructor  */
+/*---------------*/
+HS_Param::HS_Param ( int    load_flag  ,
+		     double load       ,
+		     double max_weight ,
+		     double TE_limit   ,
+		     double T_cold     ,
+		     double T_hot      ,
+		     double L            ) : _load_flag  ( load_flag  ) ,
+					     _load       ( load       ) ,
+					     _max_weight ( max_weight ) ,
+					     _TE_limit   ( TE_limit   ) ,
+					     _T_cold     ( T_cold     ) ,
+					     _T_hot      ( T_hot      ) ,
+					     _L          ( L          )   {
+  // materials:
+  // ----------
+  _material = new HS_Material * [_CARBON_STEEL_ + 1];
+
+  double T1[18] = { 0 , 7.2 , 40 , 80 , 100 , 140 , 180 , 200 , 240 ,
+		    280 , 300 , 340 , 380 , 400 , 440 , 480 , 500 , 540 };
+  double T2[ 5] = { 0 , 20 , 77 , 195 , 297 };
+
+  double k1[18] = { 0 , 0.0072 , 0.064 , 0.125 , 0.148 , 0.17 , 0.185 ,
+		    0.188 , 0.194 , 0.2 , 0.202 , 0.202 , 0.202 , 0.202,
+		    0.202 , 0.202 , 0.202 , 0.202 };
+  double k2[18] = { 0 , 0.0266 , 0.0855 , 0.117 , 0.125 , 0.135 , 0.142 ,
+		    0.142 , 0.143 , 0.146 , 0.148 ,
+		    0.15 , 0.15 , 0.15 , 0.15 , 0.15 , 0.15 , 0.15 };
+  double k3[ 5] = { 0 , 0.0015 , 0.002 , 0.003 , 0.0035 };
+  double k4[ 5] = { 0 , 0.002 , 0.0026 , 0.0044 , 0.005 };
+  double k5[18] = { 0 , 20 , 105 , 158 , 159 , 136 , 121 , 119 , 117 ,
+		    116 , 116 , 116 , 116 , 116 , 116  ,116 , 116 , 116 };
+  double k6[18] = { 0 , 0.14 , 1.26 , 3 , 3.7 , 4.68 , 5.49 , 5.72 , 5.24 ,
+		    6.53 , 7 , 7.22 , 7.64 , 7.75 , 8.02 , 8.26 , 8.43 , 8.67 };
+  double k7[18] = { 0 , 1.7 , 15 , 25.1 , 29.5 , 34.4 , 36.4 , 37 ,
+		    37.6 , 37.6 , 37.6 , 37.6 , 37.6 ,
+		    37.6 , 37.6 , 37.6 , 37.6 , 37.6 };
+
+  double s1[18] = { 29.9 , 29.8 , 29.6 , 29.1 , 28.9 , 28 , 27 , 26.5 , 25 ,
+		    23.9 , 23.2 , 21 , 19.3 , 18.5 , 15.8 , 13.7 , 12 , 9  };
+  double s2[18] = { 18.8 , 18.6 , 17.8 , 16.8 , 16.2 , 14.8 , 13.9 , 13 , 11.5 ,
+		    10.6 , 9.6 , 8.2 , 7.6 , 6.4 , 4.8 , 3.9 , 3.2 , 1.9 };
+  double s3[4]  = { 117 , 125 , 90 , 81 };
+  double s5[18] = { 51 , 50 , 43 , 36 , 35 , 32 , 29.5 , 29 ,  28 ,  28 , 28 ,
+		    28 , 28 , 28 , 28 , 28 , 28 , 28 };
+  double s6[18] = { 195.5 , 195 , 194 , 193 , 192 , 190 , 189 , 188 , 187 ,
+		    186 , 186 , 182 , 181 , 180 , 178 , 176 , 175 , 173 };
+  double s7[18] = { 102 , 100 , 92 , 87 , 82 , 78 , 72 , 70 , 66 , 63 , 60 ,
+		    58 , 55 , 53 , 51 , 49 , 48 , 47 };
+  double e1[17] = { 0.0145 , 0.01437, 0.01404 , 0.01376 , 0.01314 ,
+		    0.01233 , 0.01186 , 0.01078 , 0.00979 , 0.00918 ,
+		    0.00798 , 0.00664 , 0.00595 , 0.00444 ,
+		    0.00273 , 0.00184 , 0 };
+  double e2[17] = { 0.02695 , 0.02643 , 0.02563 , 0.02514 , 0.02406 ,
+		    0.02285 , 0.02221 , 0.02087 , 0.0194 , 0.01858 ,
+		    0.01671 , 0.01432 , 0.013 , 0.01024 , 0.00735 ,
+		    0.00591 , 0 };
+  double e3[5] = { 0.00249 , 0.002463 , 0.00214 , 0.001123 , 0 };
+  double e4[5] = { 0.00249 , 0.002463 , 0.00214 , 0.001123 , 0 };
+
+  double e5[17] = { 0.00431 , 0.00431 , 0.00428 , 0.00423 , 0.004090 ,
+		    0.00385 , 0.00371 , 0.00338 , 0.00301 , 0.00281 ,
+		    0.00239 , 0.00195 , 0.00172 , 0.00125 , 0.000750 ,
+		    0.0005 , 0 };
+  double e6[17] = { 0.00304 , 0.003051 , 0.003051 , 0.003021 , 0.00291 ,
+		    0.00274 , 0.00263 , 0.00239 , 0.00212 , 0.00198 ,
+		    0.00167 , 0.00137 , 0.00121 , 0.00088 , 0.00053 ,
+		    0.00035 , 0 };
+  double e7[17] = { 0.0021 , 0.0021 , 0.00209 , 0.00207 , 0.00201 ,
+		    0.0019 , 0.00183 , 0.00168 , 0.00151 , 0.00141 ,
+		    0.0012 , 0.00098 , 0.00087 , 0.00064 , 0.00036 ,
+		    0.00025 , 0 };
+  double y1[18] = { 1.41 , 1.40 , 1.35 , 1.26 , 1.2 , 1.1 , 1.02 ,
+		    .96 , .83 , .76 , .71 , .58 , .52 , .50 , .46 ,
+		    .435 , .425 , .42 };  
+  double y2[18] = { .84 , .83 , .81 , .78 , .76 , .73 , .71 , .68 ,
+		    .60 , .55 , .48 , .32 , .235 , .19 , .12 ,
+		    .09 , .07 , .05 };
+  double y3[4] = { 4.27 , 3.98 , 3.50 , 3.29 };
+  double y5[18] = { 11 , 11 , 11 , 11 , 11 , 11 , 11 , 11 , 10.8 ,
+		    10.7 , 10.6 , 10.5 , 10.4 , 10.3 , 10.2 , 10.1 ,
+		    10 , 10 };
+  double y6[18] = { 29 , 28.9 , 28.6 , 28.2 , 28 , 27.6 , 27.2 , 27 ,
+		    26.6 , 26.2 , 26 , 25.6 , 25.2 , 25 , 24.6 , 24.2 ,
+		    24 , 23.6 };
+  double y7[18] = { 31.58 , 31.56 , 31.46 , 31.31 , 31.24 , 31.1 , 30.96 ,
+		    30.89 , 30.76 , 30.62 , 30.55 , 30.41 , 30.28 , 30.21 ,
+		    30.07 , 29.93 , 29.86 , 29.72 };
+
+  double tmp1 , tmp2;
+
+  // nylon:
+  {
+    _material[_NYLON_] = new HS_Material ( _NYLON_ , 0.0379 );
+    _material[_NYLON_]->set_T ( 18 , T1 );
+    _material[_NYLON_]->set_k ( 18 , k1 );
+    _material[_NYLON_]->set_s ( 18 , s1 );
+    _material[_NYLON_]->set_kABC();
+    _material[_NYLON_]->set_sABC();
+    _material[_NYLON_]->set_TCI();
+    _material[_NYLON_]->set_e ( 17 , e1 );
+    _material[_NYLON_]->set_ekABC1();
+    tmp1 = 4;
+    _material[_NYLON_]->thermal_expansion ( 1 , &tmp1 , &tmp2 );
+    double etmp[18] = { 0.0145 , -1 , 0.01437, 0.01404 , 0.01376 , 0.01314 ,
+			0.01233 , 0.01186 , 0.01078 , 0.00979 , 0.00918 ,
+			0.00798 , 0.00664 , 0.00595 , 0.00444 ,
+			0.00273 , 0.00184 , 0 };
+    etmp[1] = tmp2;
+    _material[_NYLON_]->set_e ( 18 , etmp );
+    _material[_NYLON_]->set_ekABC2();
+
+    _material[_NYLON_]->set_ksABC();
+    _material[_NYLON_]->set_TEI();
+
+    _material[_NYLON_]->set_y ( 18 , y1 );
+    _material[_NYLON_]->set_yABC();
+  }
+
+  // teflon:
+  {
+    _material[_TEFLON_] = new HS_Material ( _TEFLON_ , 0.054 );
+    _material[_TEFLON_]->set_T ( 18 , T1 );
+    _material[_TEFLON_]->set_k ( 18 , k2 );
+    _material[_TEFLON_]->set_s ( 18 , s2 );
+    _material[_TEFLON_]->set_kABC();
+    _material[_TEFLON_]->set_sABC();
+    _material[_TEFLON_]->set_TCI();
+    _material[_TEFLON_]->set_e ( 17 , e2 );
+    _material[_TEFLON_]->set_ekABC1();
+
+    tmp1 = 4;
+    _material[_TEFLON_]->thermal_expansion ( 1 , &tmp1 , &tmp2 );
+    double etmp[18] = { 0.02695 , -1 , 0.02643 , 0.02563 , 0.02514 , 0.02406 ,
+			0.02285 , 0.02221 , 0.02087 , 0.0194 , 0.01858 ,
+			0.01671 , 0.01432 , 0.013 , 0.01024 , 0.00735 ,
+			0.00591 , 0 };
+    etmp[1] = tmp2;
+    _material[_TEFLON_]->set_e ( 18 , etmp );
+    _material[_TEFLON_]->set_ekABC2();
+
+    _material[_TEFLON_]->set_ksABC();
+    _material[_TEFLON_]->set_TEI();
+
+    _material[_TEFLON_]->set_y ( 18 , y2 );
+    _material[_TEFLON_]->set_yABC();
+  }
+
+  // epoxy normal:
+  {
+    _material[_EPOXY_NORMAL_] = new HS_Material ( _EPOXY_NORMAL_ , 0.064 );
+    _material[_EPOXY_NORMAL_]->set_T ( 5 , T2 , false );
+    _material[_EPOXY_NORMAL_]->set_k ( 5 , k3 , false );
+    _material[_EPOXY_NORMAL_]->set_s ( 4 , s3 );
+    _material[_EPOXY_NORMAL_]->set_kABC();
+    _material[_EPOXY_NORMAL_]->set_sABC();
+
+    _material[_EPOXY_NORMAL_]->set_e ( 5 , e3 );
+    _material[_EPOXY_NORMAL_]->set_ekABC2();
+  
+    double s32[5];
+    s32[0]  = _material[_EPOXY_NORMAL_]->thermal_stress(0);
+    s32[0] /= HS_Material::S_CC; 
+    for ( int i = 1 ; i < 5 ; ++i )
+      s32[i] = s3[i-1];
+    _material[_EPOXY_NORMAL_]->set_s ( 5 , s32 );
+    _material[_EPOXY_NORMAL_]->set_sABC();
+
+    _material[_EPOXY_NORMAL_]->set_TCI();
+
+    _material[_EPOXY_NORMAL_]->set_ksABC();
+    _material[_EPOXY_NORMAL_]->set_TEI();
+
+    _material[_EPOXY_NORMAL_]->set_y ( 4 , y3 );
+    _material[_EPOXY_NORMAL_]->set_yABC();
+
+    tmp1 = 0;
+    _material[_EPOXY_NORMAL_]->thermal_YM ( 1 , &tmp1 , &tmp2 );
+    tmp2 /= HS_Material::YM_CC;
+    double ytmp[5] = { -1 , 4.27 , 3.98 , 3.50 , 3.29 };
+    ytmp[0] = tmp2;
+    _material[_EPOXY_NORMAL_]->set_y ( 5 , ytmp );
+    _material[_EPOXY_NORMAL_]->set_yABC();
+  }
+
+  // epoxy plane:
+  {
+    _material[_EPOXY_PLANE_] = new HS_Material ( _EPOXY_PLANE_ , 0.064 );
+    _material[_EPOXY_PLANE_]->set_T ( 5 , T2 , false );
+    _material[_EPOXY_PLANE_]->set_k ( 5 , k4 , false );
+    _material[_EPOXY_PLANE_]->set_s ( 4 , s3 );
+    _material[_EPOXY_PLANE_]->set_kABC();
+    _material[_EPOXY_PLANE_]->set_sABC();
+
+    _material[_EPOXY_PLANE_]->set_e ( 5 , e4 );
+    _material[_EPOXY_PLANE_]->set_ekABC2();
+
+    double s32[5];
+    s32[0] = _material[_EPOXY_PLANE_]->thermal_stress(0);
+    s32[0] /= HS_Material::S_CC; 
+    for ( int i = 1 ; i < 5 ; ++i )
+      s32[i] = s3[i-1];
+    _material[_EPOXY_PLANE_]->set_s ( 5 , s32 );
+    _material[_EPOXY_PLANE_]->set_sABC();
+
+    _material[_EPOXY_PLANE_]->set_TCI();
+
+    _material[_EPOXY_PLANE_]->set_ksABC();
+    _material[_EPOXY_PLANE_]->set_TEI();
+
+    _material[_EPOXY_PLANE_]->set_y ( 4 , y3 );
+    _material[_EPOXY_PLANE_]->set_yABC();
+
+    tmp1 = 0;
+    _material[_EPOXY_PLANE_]->thermal_YM ( 1 , &tmp1 , &tmp2 );
+    tmp2 /= HS_Material::YM_CC;
+    double ytmp[5] = { -1 , 4.27 , 3.98 , 3.50 , 3.29 };
+    ytmp[0] = tmp2;
+    _material[_EPOXY_PLANE_]->set_y ( 5 , ytmp );
+    _material[_EPOXY_PLANE_]->set_yABC();
+  }
+
+  // aluminium:
+  {
+    _material[_ALUMINIUM_] = new HS_Material ( _ALUMINIUM_ , 0.098 );
+    _material[_ALUMINIUM_]->set_T ( 18 , T1 );
+    _material[_ALUMINIUM_]->set_k ( 18 , k5 );
+    _material[_ALUMINIUM_]->set_s ( 18 , s5 );
+    _material[_ALUMINIUM_]->set_kABC();
+    _material[_ALUMINIUM_]->set_sABC();
+    _material[_ALUMINIUM_]->set_TCI();
+
+    _material[_ALUMINIUM_]->set_e ( 17 , e5 );
+    _material[_ALUMINIUM_]->set_ekABC1();
+    tmp1 = 4;
+    _material[_ALUMINIUM_]->thermal_expansion ( 1 , &tmp1 , &tmp2 );
+    double etmp[18] = { 0.00431 , -1 , 0.00431 , 0.00428 , 0.00423 , 0.004090 ,
+			0.00385 , 0.00371 , 0.00338 , 0.00301 , 0.00281 ,
+			0.00239 , 0.00195 , 0.00172 , 0.00125 , 0.000750 ,
+			0.0005 , 0 };
+    etmp[1] = tmp2;
+    _material[_ALUMINIUM_]->set_e ( 18 , etmp );
+    _material[_ALUMINIUM_]->set_ekABC2();
+
+    _material[_ALUMINIUM_]->set_ksABC();
+    _material[_ALUMINIUM_]->set_TEI();
+
+    _material[_ALUMINIUM_]->set_y ( 18 , y5 );
+    _material[_ALUMINIUM_]->set_yABC();
+  }
+
+  // steel:
+  {
+    _material[_STEEL_] = new HS_Material ( _STEEL_ , 0.28 );
+    _material[_STEEL_]->set_T ( 18 , T1 );
+    _material[_STEEL_]->set_k ( 18 , k6 );
+    _material[_STEEL_]->set_s ( 18 , s6 );
+    _material[_STEEL_]->set_kABC();
+    _material[_STEEL_]->set_sABC();
+    _material[_STEEL_]->set_TCI();
+
+    _material[_STEEL_]->set_e ( 17 , e6 );
+    _material[_STEEL_]->set_ekABC1();
+    tmp1 = 4;
+    _material[_STEEL_]->thermal_expansion ( 1 , &tmp1 , &tmp2 );
+    double etmp[18] = { 0.00304 , -1 , 0.003051 , 0.003051 , 0.003021 ,
+			0.00291 , 0.00274 , 0.00263 , 0.00239 , 0.00212 ,
+			0.00198 , 0.00167 , 0.00137 , 0.00121 , 0.00088 ,
+			0.00053 , 0.00035 , 0 };
+    etmp[1] = tmp2;
+    _material[_STEEL_]->set_e ( 18 , etmp );
+    _material[_STEEL_]->set_ekABC2();
+
+    _material[_STEEL_]->set_ksABC();
+    _material[_STEEL_]->set_TEI();
+
+    _material[_STEEL_]->set_y ( 18 , y6 );
+    _material[_STEEL_]->set_yABC();
+  }
+
+  // carbon steel:
+  {
+    _material[_CARBON_STEEL_] = new HS_Material ( _CARBON_STEEL_ , 0.282 );
+    _material[_CARBON_STEEL_]->set_T ( 18 , T1 );
+    _material[_CARBON_STEEL_]->set_k ( 18 , k7 );
+    _material[_CARBON_STEEL_]->set_s ( 18 , s7 );
+    _material[_CARBON_STEEL_]->set_kABC();
+    _material[_CARBON_STEEL_]->set_sABC();
+    _material[_CARBON_STEEL_]->set_TCI();
+
+    _material[_CARBON_STEEL_]->set_e ( 17 , e7 );
+    _material[_CARBON_STEEL_]->set_ekABC1();
+    tmp1 = 4;
+    _material[_CARBON_STEEL_]->thermal_expansion ( 1 , &tmp1 , &tmp2 );
+    double etmp[18] = { 0.0021 , -1 , 0.0021 , 0.00209 , 0.00207 , 0.00201 ,
+			0.0019 , 0.00183 , 0.00168 , 0.00151 , 0.00141 ,
+			0.0012 , 0.00098 , 0.00087 , 0.00064 , 0.00036 ,
+			0.00025 , 0 };
+
+    etmp[1] = tmp2;
+    _material[_CARBON_STEEL_]->set_e ( 18 , etmp );
+    _material[_CARBON_STEEL_]->set_ekABC2();
+
+    _material[_CARBON_STEEL_]->set_ksABC();
+    _material[_CARBON_STEEL_]->set_TEI();
+
+    _material[_CARBON_STEEL_]->set_y ( 18 , y7 );
+    _material[_CARBON_STEEL_]->set_yABC();
+  }
+}
+
+/*--------------*/
+/*  destructor  */
+/*--------------*/
+HS_Param::~HS_Param ( void ) 
+ {
+  for ( int t = _NYLON_ ; t <= _CARBON_STEEL_ ; ++t )
+    delete _material[t];
+  delete [] _material;
+}
diff --git a/examples/advanced/categorical/HeatShield/HS_Param.hpp b/examples/advanced/categorical/HeatShield/HS_Param.hpp
new file mode 100644
index 0000000..0c41195
--- /dev/null
+++ b/examples/advanced/categorical/HeatShield/HS_Param.hpp
@@ -0,0 +1,44 @@
+#ifndef __HS_PARAM__
+#define __HS_PARAM__
+
+#include "HS_Material.hpp"
+
+class HS_Param {
+
+private:
+
+  int            _load_flag;
+  double         _load;
+  double         _max_weight;
+  double         _TE_limit;
+  double         _T_cold;
+  double         _T_hot;
+  double         _L;
+  HS_Material ** _material;
+
+public:
+
+  // constructor:
+  HS_Param ( int    load_flag  ,
+	     double load       ,
+	     double max_weight ,
+	     double TE_limit   ,
+	     double T_cold     ,
+	     double T_hot      ,
+	     double L            );
+
+  // destructor:
+  ~HS_Param ( void );
+
+  // GET methods:
+  int           get_load_flag  ( void  ) const { return _load_flag;   }
+  double        get_load       ( void  ) const { return _load;        }
+  double        get_max_weight ( void  ) const { return _max_weight;  }
+  double        get_TE_limit   ( void  ) const { return _TE_limit;    }
+  double        get_T_cold     ( void  ) const { return _T_cold;      }
+  double        get_T_hot      ( void  ) const { return _T_hot;       }
+  double        get_L          ( void  ) const { return _L;           }
+  HS_Material * get_material   ( int m ) const { return _material[m]; }
+};
+
+#endif
diff --git a/examples/advanced/categorical/HeatShield/makefile b/examples/advanced/categorical/HeatShield/makefile
new file mode 100644
index 0000000..cb1ac21
--- /dev/null
+++ b/examples/advanced/categorical/HeatShield/makefile
@@ -0,0 +1,66 @@
+UNAME              := $(shell uname)
+
+EXE                 = nomad_HS.exe
+COMPILATOR          = g++
+COMPILATOR_OPTIONS  = -ansi -Wall -O3
+
+LIB_DIR             = $(NOMAD_HOME)/lib
+LIB_NOMAD           = libnomad.so
+
+
+CXXFLAGS            =           
+
+ifeq ($(UNAME), Darwin)
+CXXFLAGS          += -headerpad_max_install_names
+endif
+
+ifeq ($(UNAME), Linux)
+CXXFLAGS              += -Wl,-rpath,'$(LIB_DIR)'
+CXXFLAGS              += -ansi
+endif
+
+LDLIBS              = -lm -lnomad
+INCLUDE             = -I$(NOMAD_HOME)/src -I$(NOMAD_HOME)/ext/sgtelib/src -I.
+
+COMPILE             = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
+OBJS                = nomad_HS.o HS_Param.o HS_Material.o
+
+ifndef NOMAD_HOME
+define ECHO_NOMAD
+	@echo Please set NOMAD_HOME environment variable!
+	@false
+endef
+endif
+
+$(EXE): $(OBJS)
+	$(ECHO_NOMAD)
+	@echo "   building the scalar version ..."
+	@echo "   exe file : "$(EXE)
+	@$(COMPILATOR) -o $(EXE) $(OBJS) $(LDLIBS) $(CXXFLAGS) -L$(LIB_DIR)
+ifeq ($(UNAME), Darwin)
+	@install_name_tool -change $(LIB_NOMAD) $(LIB_DIR)/$(LIB_NOMAD) $(EXE)
+endif
+
+nomad_HS.o: nomad_HS.cpp HS_Param.o
+	$(ECHO_NOMAD)
+	$(COMPILE) nomad_HS.cpp
+
+HS_Param.o: HS_Param.cpp HS_Param.hpp HS_Material.o
+	$(ECHO_NOMAD)
+	$(COMPILE) HS_Param.cpp
+
+HS_Material.o: HS_Material.cpp HS_Material.hpp
+	$(ECHO_NOMAD)
+	$(COMPILE) HS_Material.cpp
+
+clean:
+	@echo "   cleaning obj files"
+	@rm -f $(OBJS)
+
+del:
+	@echo "   cleaning trash files"
+	@rm -f core *~
+	@echo "   cleaning obj files"
+	@rm -f $(OBJS)
+	@echo "   cleaning exe file"
+	@rm -f $(EXE)
diff --git a/examples/advanced/categorical/HeatShield/nomad_HS.cpp b/examples/advanced/categorical/HeatShield/nomad_HS.cpp
new file mode 100644
index 0000000..58e479a
--- /dev/null
+++ b/examples/advanced/categorical/HeatShield/nomad_HS.cpp
@@ -0,0 +1,830 @@
+/*------------------------------------------*/
+/*  The Heatshield problem in library mode  */
+/*------------------------------------------*/
+#include "nomad.hpp"
+#include "HS_Param.hpp"
+using namespace std;
+using namespace NOMAD;
+
+const int LOAD_FLAG = 2;
+
+const double L      = 100;
+const double T_COLD = 4.2;
+const double T_HOT  = 300;
+
+const double EPS = 1e-13;
+
+const int N_MAX  = 10;
+const int NB_MAT = 7;
+
+// BB_OUTPUT_TYPE depends on Load_Flag values:
+// -------------------------------------------
+//   0 : OBJ EB EB
+//   1 : OBJ EB EB
+//   2 : OBJ EB EB PB PB
+//   3 : OBJ EB EB PB PB PB
+
+// Variables indexes:
+// ------------------
+// 0      n
+// ------------
+// 1      M[0]
+// ...
+// n+1    M[n]     (n+1 materials)
+// ------------
+// n+2    dx[0]
+// ...
+// 2n+1   dx[n-1]  (dx's)
+// ------------
+// 2n+2   T[1]     (T's)
+// ...
+// 3n+1   T[n]
+// ------------
+
+// total: 3n+2 variables
+
+/*----------------------------------------*/
+/*               The problem              */
+/*----------------------------------------*/
+class My_Evaluator : public Evaluator {
+    
+private:
+    
+    HS_Param _param;
+    
+public:
+    
+    My_Evaluator  ( const Parameters & p ) :
+    Evaluator ( p ) ,
+    _param    ( LOAD_FLAG ,
+               250000    ,       // Load
+               10        ,       // Max_Weight
+               0.05      ,       // TE_Limit
+               T_COLD    ,       // T_cold
+               T_HOT     ,       // T_hot
+               L           )
+    {
+    }  // L
+    
+    ~My_Evaluator ( void )
+    {
+    }
+    
+    bool eval_x ( Eval_Point          & x          ,
+                 const NOMAD::Double & h_max      ,
+                 bool                & count_eval   ) const;
+};
+
+/*--------------------------------------------------*/
+/*  user class to define categorical neighborhoods  */
+/*--------------------------------------------------*/
+class My_Extended_Poll : public Extended_Poll {
+    
+private:
+    
+    Signature ** _signatures;
+    int          _km;
+    int          _km_tag;
+    
+    // create 3 signatures from the current one (n , n-1, n+1):
+    void update_signatures ( const Signature & cur_signature , int n );
+    
+    // create _signatures[n] :
+    void create_signature ( int n );
+    
+public:
+    
+    // constructor:
+    My_Extended_Poll ( Parameters & p );
+    
+    // destructor:
+    virtual ~My_Extended_Poll ( void );
+    
+    // construct the extended poll points:
+    virtual void construct_extended_points ( const Eval_Point & xk );
+    
+};
+
+/*------------------------------------------*/
+/*            NOMAD main function           */
+/*------------------------------------------*/
+int main ( int argc , char ** argv )
+{
+    
+    
+    // NOMAD initializations:
+    NOMAD::begin ( argc , argv );
+    
+    // display:
+    NOMAD::Display out ( cout );
+    out.precision ( DISPLAY_PRECISION_STD );
+    
+    try {
+        
+        // parameters creation:
+        Parameters p ( out );
+        
+        // (initial) number of variables:
+        int i , n = 1 , dim = 3*n+2;
+        p.set_DIMENSION ( dim );
+        
+        // definition of output types:
+        {
+            vector<bb_output_type> bbot;
+            bbot.push_back ( OBJ );
+            bbot.push_back ( EB  );
+            bbot.push_back ( EB  );
+            if ( LOAD_FLAG > 1 )
+            {
+                
+                bbot.push_back ( PB );
+                bbot.push_back ( PB );
+                if ( LOAD_FLAG == 3 )
+                    bbot.push_back ( PB );
+            }
+            p.set_BB_OUTPUT_TYPE ( bbot );
+        }
+        
+        // starting point:
+        Point x0 ( dim );
+        x0[0] = n;
+        x0[1] = 0;
+        x0[2] = 1;
+        x0[3] = 50;
+        x0[4] = 150;
+        
+        p.set_X0 ( x0 );
+        
+        // categorical variables (n and materials):
+        for ( i = 0 ; i <= n+1 ; ++i )
+            p.set_BB_INPUT_TYPE ( i , CATEGORICAL );
+        
+        // display degree:
+        p.set_DISPLAY_DEGREE ( NORMAL_DISPLAY );
+        
+        // display stats:
+        p.set_DISPLAY_STATS ( "bbe ( sol ) obj" );
+        
+        // bounds:
+        Point lb ( dim , 0 );
+        Point ub ( dim );
+        for ( i = 2*n+2 ; i <= 3*n+1 ; ++i )
+        {
+            
+            lb[i] = T_COLD;
+            ub[i] = T_HOT;
+        }
+        ub[0] = N_MAX;
+        for ( i = 1 ; i <= n+1 ; ++i )
+            ub[i] = NB_MAT-1;
+        for ( i = n+2 ; i <= 2*n+1 ; ++i )
+            ub[i] = L;
+        
+        p.set_LOWER_BOUND ( lb );
+        p.set_UPPER_BOUND ( ub );
+        
+       
+        // max number of evaluations:
+        p.set_MAX_BB_EVAL ( 30000 );
+        
+        // extended poll trigger:
+        p.set_EXTENDED_POLL_TRIGGER ( 1.1 , true );
+        
+        p.set_OPPORTUNISTIC_EVAL(false);
+       p.set_DIRECTION_TYPE(ORTHO_2N);
+	p.set_DISABLE_EVAL_SORT();
+//	p.set_DIRECTION_TYPE(LT_2N);
+//	p.set_DIRECTION_TYPE(ORTHO_NP1_QUAD);        
+        // parameters validation:
+        p.check();
+        
+        // custom evaluator creation:
+        My_Evaluator ev   ( p );
+        
+        // extended poll:
+        My_Extended_Poll ep ( p );
+        
+        // algorithm creation and execution:
+        Mads mads ( p , &ev , &ep , NULL , NULL );
+        mads.run();
+        
+        // display the solution and the matlab format:
+        const Eval_Point * xe = mads.get_best_feasible();
+        if ( xe )
+        {
+            
+            
+            // the solution:
+            out << endl << "solution:" << endl
+            << "\tf=" << xe->get_f() << endl << endl;
+            n = static_cast<int> ( (*xe)[0].value() );
+            out << "\tn=" << n << endl << endl;
+            for ( i = 1 ; i <= n+1 ; ++i )
+                out << "\tmat[" << setw(2) << i-1 << "]=" << (*xe)[i] << " ("
+                << static_cast<material_type> ( (*xe)[i].round() )
+                << ")" << endl;
+            out << endl;
+            for ( i = n+2 ; i <= 2*n+1 ; ++i )
+                out << "\tdx [" << setw(2) << i-n-2 << "]=" << (*xe)[i] << endl;
+            out << endl;
+            for ( i = 2*n+2 ; i <= 3*n+1 ; ++i )
+                out << "\tT  [" << setw(2) << i-2*n-1 << "]=" << (*xe)[i] << endl;
+            
+            // the solution in matlab format:
+            cout << endl << "Matlab:" << endl << "x = [ ";
+            for ( i = n+2 ; i <= 2*n+1 ; ++i )
+                cout << (*xe)[i] << " ";
+            for ( i = 2*n+2 ; i <= 3*n+1 ; ++i )
+                cout << (*xe)[i] << " ";
+            cout << "]'" << endl;
+            
+            cout << "p = { [" << n << "] ";
+            for ( i = 1 ; i <= n+1 ; ++i )
+                cout << ", \'" << static_cast<material_type> ( (*xe)[i].round() )
+                << "\' ";
+            cout << "}" << endl <<endl;
+        }
+    }
+    catch ( exception & e )
+    {
+        
+        cerr << "\nNOMAD has been interrupted (" << e.what() << ")\n\n";
+        return EXIT_FAILURE;
+    }
+    
+    NOMAD::end();
+    
+    return EXIT_SUCCESS;
+}
+
+/*------------------*/
+/*  the evaluation  */
+/*------------------*/
+bool My_Evaluator::eval_x ( Eval_Point          & x          ,
+                           const NOMAD::Double & h_max      ,
+                           bool                & count_eval   ) const
+{
+    
+    // 1. number of heat intercepts:
+    int i , cur = 1 , n = int(x[0].value());
+    
+    // 2. materials:
+    int * material = new int[n+1];
+    for ( i = 0 ; i <= n ; ++i )
+        material[i] = int(x[cur++].value());;
+    
+    // 3. dx:
+    double * dx     = new double[n+1];
+    double   sumx   = 0.0;
+    double   min_dx = 999;
+    for ( i = 0 ; i < n ; ++i )
+    {
+        
+        dx[i] = x[cur++].value();
+        if ( dx[i] < min_dx )
+            min_dx = dx[i];
+        sumx += dx[i];
+    }
+    dx[n] = _param.get_L() - sumx;
+    if ( dx[n] < min_dx )
+        min_dx = dx[n];
+    
+    // 4. T:
+    double * T       = new double[n+2];
+    double * objterm = new double[n+2];
+    double   cycle , v , max_T_viol = 0.0;
+    
+    for ( i = 0 ; i <= n+1 ; ++i )
+    {
+        
+        
+        if ( i==0 )
+            T[0  ] = _param.get_T_cold();
+        else
+        {
+            
+            if ( i==n+1 )
+                T[n+1] = _param.get_T_hot();
+            else
+                T[i] = x[cur++].value();
+            
+            v = T[i-1] - T[i];
+            if ( v > max_T_viol )
+                max_T_viol = v;
+        }
+        
+        if ( T[i] <= 4.2 )
+            cycle = 5;
+        else cycle = ( T[i] >= 71 ) ? 2.5 : 4;
+        
+        objterm[i] = cycle * ( _param.get_T_hot() / T[i] - 1 );
+    }
+    
+    /*--------------*/
+    /*  evaluation  */
+    /*--------------*/
+    
+    double        Ti , Tip1;
+    int           indfirst , indlast;
+    HS_Material * mat;
+    
+    double        TC_Integral , TE_Integral , q , a;
+    double        power       = 0;
+    double        cx1         = 0;
+    double        cx2         = 0;
+    double        cx3         = 0;
+    
+    if ( dx[n] > -EPS && max_T_viol < EPS && min_dx > EPS )
+    {
+        
+        
+        for ( i = 0 ; i <= n ; ++i )
+        {
+            
+            
+            Ti   = T[i  ];
+            Tip1 = T[i+1];
+            
+            double  * x;
+            int      nx;
+            
+            mat = _param.get_material ( material[i] );
+            
+            if ( mat->get_T_indexes ( Ti          ,
+                                     Tip1        ,
+                                     indfirst    ,
+                                     indlast       ) )
+            {
+                
+                nx   = 4;
+                x    = new double [4];
+                x[0] = Ti;
+                x[1] = ( Ti   + mat->get_T ( indfirst ) ) / 2.0;
+                x[2] = ( Tip1 + mat->get_T ( indlast  ) ) / 2.0;
+                x[3] = Tip1;
+            }
+            else
+            {
+                
+                nx   = 3;
+                x    = new double[3];
+                x[0] = Ti;
+                x[1] = (Ti + Tip1) / 2.0;
+                x[2] = Tip1;
+            }
+            
+            double * y = new double [nx];
+            
+            mat->thermal_conductivity ( nx , x , y );
+            
+            double sum_TCI_Ends = ( nx==3 ) ?
+            ( y[0] + 4*y[1] + y[2] ) * (Tip1-Ti) / 6 :
+            ( y[0] + 4*y[1] + mat->get_k(indfirst) ) *
+            ( mat->get_T(indfirst) - Ti  ) / 6
+            + ( mat->get_k(indlast) + 4*y[2] + y[3]  ) *
+            ( Tip1 - mat->get_T(indlast) ) / 6;
+            
+            double sum_TEI_Ends = 0;
+            
+            if ( _param.get_load_flag() >= 2 )
+            {
+                
+                
+                mat->thermal_expansion ( nx , x , y );
+                
+                sum_TEI_Ends = ( nx==3 ) ?
+                ( y[0] + 4*y[1] + y[2] ) * (Tip1-Ti) / 6 :
+                ( y[0] + 4*y[1] + mat->get_k(indfirst)*mat->get_e(indfirst) ) *
+                ( mat->get_T(indfirst) - Ti  ) / 6
+                + ( mat->get_k(indlast)*mat->get_e(indlast) + 4*y[2] + y[3]  ) *
+                ( Tip1 - mat->get_T(indlast) ) / 6;
+            }
+            
+            delete [] x;
+            delete [] y;
+            
+            TC_Integral = sum_TCI_Ends;
+            TE_Integral = sum_TEI_Ends;
+            for ( int k = indfirst ; k < indlast ; ++k )
+            {
+                
+                TC_Integral += mat->get_TCI(k);
+                TE_Integral += mat->get_TEI(k);
+            }
+            
+            double stress;
+            
+            if ( TC_Integral < EPS )
+            {
+                
+                stress = -1e20;
+                cx2 = cx3 = 1e20;
+                a = q = 0;
+            }
+            
+            else
+            {
+                
+                
+                stress = mat->thermal_stress ( Tip1 );
+                
+                if ( _param.get_load_flag() == 3 )
+                {
+                    
+                    
+                    double xtmp[2];
+                    double ytmp[2];
+                    xtmp[0] = Ti;
+                    xtmp[1] = Tip1;
+                    mat->thermal_YM ( 2 , xtmp , ytmp );
+                    
+                    double young_modulus = ( ytmp[0] > ytmp[1] ) ? ytmp[0] : ytmp[1];
+                    
+                    stress -= young_modulus * TE_Integral / TC_Integral;
+                    
+                    if ( stress < 0 )
+                        cx3 += stress*stress;
+                }
+                
+                if ( _param.get_load_flag() == 0 )
+                    q = TC_Integral / dx[i];
+                else
+                {
+                    
+                    a = _param.get_load() / stress;
+                    q = a * TC_Integral / dx[i];
+                    
+                    if ( _param.get_load_flag() > 1 )
+                    {
+                        
+                        cx1 += mat->get_density() * dx[i] * a;
+                        cx2 += (dx[i]*TE_Integral/TC_Integral);
+                    }
+                }
+            }
+            power += q * ( objterm[i] - objterm[i+1] );
+        }
+        
+        count_eval = true;
+        
+        dx[n] = -0.0;
+        
+    }
+    else
+    {
+        
+        power      = 1e20 / L;
+        count_eval = false;
+    }
+    
+    // constraints:
+    x.set_bb_output  ( 1 , -dx[n] );
+    x.set_bb_output  ( 2 , max_T_viol*max_T_viol );
+    
+    if ( _param.get_load_flag() > 1 )
+    {
+        
+        if ( _param.get_load_flag() == 3 )
+            x.set_bb_output  ( 5 , cx3 );
+        x.set_bb_output  ( 3 , cx1 / _param.get_max_weight() - 1                );
+        x.set_bb_output  ( 4 , cx2 / (_param.get_TE_limit()*_param.get_L()) - 1 );
+    }
+    
+    // f(x):
+    x.set_bb_output  ( 0 , power * L );
+    
+    // clean memory:
+    delete [] material;
+    delete [] dx;
+    delete [] T;
+    delete [] objterm;
+    
+    return true; // the evaluation succeeded
+}
+
+/*--------------------------------*/
+/*  My_Extended_Poll constructor  */
+/*--------------------------------*/
+My_Extended_Poll::My_Extended_Poll ( Parameters & p ) :
+Extended_Poll ( p                         ) ,
+_signatures   ( new Signature * [N_MAX+1] ) ,
+_km           (  1                        ) ,
+_km_tag       ( -1                        )
+{
+    for ( int i = 0 ; i <= N_MAX ; ++i )
+        _signatures[i] = NULL;
+}
+
+/*-------------------------------*/
+/*  My_Extended_Poll destructor  */
+/*-------------------------------*/
+My_Extended_Poll::~My_Extended_Poll ( void )
+{
+    
+    for ( int i = 0 ; i <= N_MAX ; ++i )
+        delete _signatures[i];
+    delete [] _signatures;
+}
+
+/*-------------------------*/
+/*  create _signatures[n]  */
+/*-------------------------*/
+void My_Extended_Poll::create_signature ( int n )
+{
+    
+    // C.Tribes nov 25, 2015 --- Several modifs for the new versions
+    
+    
+    NOMAD::Double dm0_dx , dm0_T , dmmin_dx , dmmin_T , dpmin_dx , dpmin_T;
+    
+    {
+        int nref = (_p.get_dimension() - 2) / 3;
+        
+        const Point & delta_0   = _p.get_initial_mesh_size();
+        const Point & delta_min = _p.get_min_mesh_size();
+        const Point & Delta_min = _p.get_min_poll_size();
+        
+        bool delta_min_def = delta_min.is_defined();
+        bool Delta_min_def = Delta_min.is_defined();
+        
+        dm0_dx   = delta_0 [   nref+2 ];
+        dm0_T    = delta_0 [ 2*nref+2 ];
+        dmmin_dx = (delta_min_def) ? delta_min [   nref+2 ] : NOMAD::Double();
+        dmmin_T  = (delta_min_def) ? delta_min [ 2*nref+2 ] : NOMAD::Double();
+        dpmin_dx = (Delta_min_def) ? Delta_min [   nref+2 ] : NOMAD::Double();
+        dpmin_T  = (Delta_min_def) ? Delta_min [ 2*nref+2 ] : NOMAD::Double();
+    }
+    
+    int                   i , dim = 3*n+2;
+    vector<bb_input_type> bbit               ( dim );
+    Point                 initial_poll_size  ( dim , 1.0 );
+    Point                 min_mesh_size      ( dim );
+    Point                 min_poll_size      ( dim );
+    Point                 lb                 ( dim , 0.0   );
+    Point                 ub                 ( dim , N_MAX );
+    Point                 fixed_variables    ( dim );
+    vector<bool>          periodic_variables ( dim );
+    
+//    set<int>              var_ind_1;
+//    set<int>              var_ind_2;
+    
+    // n and materials:
+    for ( i = 0 ; i <= n+1 ; ++i )
+    {
+        
+        bbit[i] = CATEGORICAL;
+//       var_ind_1.insert ( i );
+    }
+    
+    // dx's:
+    for ( i = n+2 ; i <= 2*n+1 ; ++i )
+    {
+        
+        bbit             [i] = CONTINUOUS;
+        initial_poll_size[i] = dm0_dx;
+        min_mesh_size    [i] = dmmin_dx;
+        min_poll_size    [i] = dpmin_dx;
+        ub               [i] = L;
+//        var_ind_2.insert ( i );
+    }
+    
+    // T's:
+    for ( i = 2*n+2 ; i < dim ; ++i )
+    {
+        
+        bbit             [i] = CONTINUOUS;
+        initial_poll_size[i] = dm0_T;
+        min_mesh_size    [i] = dmmin_T;
+        min_poll_size    [i] = dpmin_T;
+        lb               [i] = T_COLD;
+        ub               [i] = T_HOT;
+//        var_ind_2.insert ( i );
+    }
+
+// C.Tribes nov 25, 2015 --- no halton seed in new version
+//    // construct a new Halton seed:
+//    int * primes  = new int [dim];
+//    construct_primes ( dim , primes );
+//    int halton_seed_ref = primes[dim-1];
+//    delete [] primes;
+    
+//    Variable_Group * vg1 = new Variable_Group ( var_ind_1                   ,
+//                                               _p.get_direction_types   () ,
+//                                               _p.get_sec_poll_dir_types() ,
+//                                               _p.out()                        );
+//    
+//    Variable_Group * vg2 = new Variable_Group ( var_ind_2                            ,
+//                                               _p.get_direction_types()             ,
+//                                               _p.get_sec_poll_dir_types()          ,
+//                                               _p.out()                            );
+//    
+//    set<Variable_Group*,VG_Comp> var_groups;
+//    var_groups.insert ( vg1 );
+//    var_groups.insert ( vg2 );
+    
+   
+    NOMAD::Double mesh_update_basis = 1.0;
+    NOMAD::Double poll_update_basis = 1.0;
+    int mesh_coarsening_exponent = 1;
+    int mesh_refining_exponent = 1;
+
+    
+//// create the signature:
+//    _signatures[n] = new Signature ( dim                ,
+//                                    bbit               ,
+//                                    lb                 ,
+//                                    ub                 ,
+//                                    NOMAD::XMESH       ,
+//                                    false              ,
+//                                    NOMAD::Point()     ,
+//                                    initial_poll_size  ,
+//                                    min_poll_size      ,
+//                                    min_mesh_size      ,
+//                                    mesh_update_basis  ,
+//                                    poll_update_basis  ,
+//                                    mesh_coarsening_exponent,
+//                                    mesh_refining_exponent,
+//                                    0                  ,
+//                                    NOMAD::Point()     ,
+//                                    fixed_variables    ,
+//                                    periodic_variables ,
+//                                    var_groups            );
+//    
+//    
+//    delete vg1;
+//    delete vg2;
+    
+    
+    // create the signature:
+    _signatures[n] = new Signature ( dim               ,
+                                    bbit               ,
+                                    initial_poll_size  ,
+                                    lb                 ,
+                                    ub                 ,
+                                    _p.get_direction_types   () ,
+                                    _p.get_sec_poll_dir_types() ,
+                                    _p.out() );
+
+    
+}
+
+/*-----------------------------------------------------------*/
+/*  create 3 signatures from the current one (n , n-1, n+1)  */
+/*-----------------------------------------------------------*/
+void My_Extended_Poll::update_signatures ( const Signature & cur_signature , int n )
+{
+    
+    
+    // n :
+    // ---
+    if ( !_signatures[n] )
+        _signatures[n] = new Signature ( cur_signature );
+    
+    // n-1 :
+    // -----
+    if ( n > 1 && !_signatures[n-1] )
+        create_signature ( n-1 );    
+    
+    // n+1 :
+    // -----
+    if ( n < N_MAX && !_signatures[n+1] )
+        create_signature ( n+1 );
+}
+
+/*--------------------------------------*/
+/*  construct the extended poll points  */
+/*--------------------------------------*/
+void My_Extended_Poll::construct_extended_points ( const Eval_Point & xk ) 
+{
+    
+    
+    int tag = xk.get_tag();
+    int i , k , mat , n = xk[0].round();
+    
+    // create/update the signatures:
+    update_signatures ( *xk.get_signature() , n );
+    
+    
+    // cout << endl << "NEIGHBORS OF " << xk << " :\n";
+    
+    // 1. include neighbors in which 1 insulation material is changed:
+    {
+        int incr_m;
+        if ( tag == _km_tag ) 
+        {
+            
+            incr_m = ++_km;
+        }
+        else 
+        {
+            
+            incr_m = _km = 1;
+        }
+        if ( incr_m > NB_MAT ) 
+        {
+            
+            incr_m = _km = 1;
+        }
+        for ( i = 1 ; i <= n+1 ; ++i ) 
+        {
+            
+            mat = static_cast<int>(xk[i].value()+incr_m)%NB_MAT;
+            Point ep1 ( xk );
+            ep1[i] = mat;
+            // cout << "\tN1(" << i << "/" << n+1 << ") = " << ep1 << endl;
+            add_extended_poll_point ( ep1 , *_signatures[n] );
+        }
+    }
+    
+    // 2. add an intercept:
+    if ( n < N_MAX ) 
+    {
+        
+        
+        NOMAD::Double xn = L;
+        for ( k = n+2 ; k <= 2*n+1 ; ++k )
+            xn -= xk[k];
+        
+        for ( k = 0 ; k <= n ; ++k ) 
+        {
+            
+            
+            Point ep2 ( 3*n + 5 );
+            ep2[0] = n+1;
+            
+            // materials:
+            for ( i = 1 ; i <= k+1 ; ++i )
+                ep2[i] = xk[i];
+            for ( i = k+2 ; i <= n+2 ; ++i )
+                ep2[i] = xk[i-1];
+            
+            // dx's:
+            for ( i = n+3 ; i < k+n+3 ; ++i )
+                ep2[i] = xk[i-1];
+            ep2[k+n+3] = ( k+n+2 <= 2*n+1 ) ? xk[k+n+2]/2 : xn/2;
+            if ( k+n+4 <= 2*n+3 )
+                ep2[k+n+4] = xk[k+n+2]/2;
+            for ( i = k+n+5 ; i <= 2*n+3 ; ++i )
+                ep2[i] = xk[i-2];
+            
+            // T's:
+            if ( k == 0 )
+                ep2[2*n+4] = 0.5 * ( T_COLD + xk[2*n+2] );
+            else if ( k == n )
+                ep2[3*n+4] = 0.5 * ( T_HOT  + xk[3*n+1] );
+            else 
+            {
+                
+                ep2[2*n+4+k] = 0.5 * ( xk[2*n+1+k] + xk[2*n+2+k] );
+            }
+            for ( i = 2*n+4 ; i < 2*n+4+k ; ++i )
+                ep2[i] = xk[i-2];
+            for ( i = 2*n+5+k ; i <= 3*n+4 ; ++i )
+                ep2[i] = xk[i-3];
+            
+            // cout << "\tN2(" << k+1 << "/" << n+1 << ") = " << ep2 << endl;
+            add_extended_poll_point ( ep2 , *_signatures[n+1] );
+            
+        }
+    }
+    
+    // 3. remove an intercept:
+    if ( n > 1 ) 
+    {
+        
+        
+        for ( k = 0 ; k < n ; ++k ) 
+        {
+            
+            
+            Point ep3 ( 3*n - 1 );
+            ep3[0] = n-1;
+            
+            // materials:
+            for ( i = 1 ; i <= k ; ++i )
+                ep3[i] = xk[i];
+            for ( i = k+1 ; i <= n ; ++i )
+                ep3[i] = xk[i+1];
+            
+            // dx's:
+            NOMAD::Double d = xk[n+2+k] / (n+1);
+            for ( i = n+1+k ; i <= 2*n-1 ; ++i )
+                ep3[i] = xk[i+2] + d;
+            for ( i = n+1 ; i <= n+k ; ++i )
+                ep3[i] = xk[i+1] + d;
+            
+            // T's:
+            for ( i = 2*n+k ; i <= 3*n-2 ; ++i )
+                ep3[i] = xk[i+3];
+            for ( i = 2*n ; i < 2*n+k ; ++i )
+                ep3[i] = xk[i+2];
+            
+            // cout << "\tN3(" << k+1 << "/" << n << ") = " << ep3 << endl;
+            add_extended_poll_point ( ep3 , *_signatures[n-1] );
+        }
+    }
+    
+    _km_tag = tag;
+    
+    // cout << endl;
+}
diff --git a/examples/advanced/categorical/batch/param.txt b/examples/advanced/categorical/batch/param.txt
index 60ed38e..ded1a6f 100644
--- a/examples/advanced/categorical/batch/param.txt
+++ b/examples/advanced/categorical/batch/param.txt
@@ -1,26 +1,26 @@
-DIMENSION      4
-
-DISPLAY_DEGREE 2 
-
-BB_OUTPUT_TYPE EB EB OBJ
-BB_INPUT_TYPE  ( C R C R )
-
-BB_EXE         bb.exe
-
-#NEIGHBORS_EXE  "$python neighbors.py"
-NEIGHBORS_EXE neighbors.exe
-
-x0 ( 0 100 1 100 )
-
-# display_all_eval yes
-display_stats bbe ( sol ) obj
-
-
-lower_bound ( - 0.0 - 0.0 )
-upper_bound ( - 10000 - 10000 )
-
-# TMP_DIR /tmp
-
-F_TARGET 0.0
-
-MAX_BB_EVAL 500
+DIMENSION      4
+
+DISPLAY_DEGREE 2 
+
+BB_OUTPUT_TYPE EB EB OBJ
+BB_INPUT_TYPE  ( C R C R )
+
+BB_EXE         bb.exe
+
+#NEIGHBORS_EXE  "$python neighbors.py"
+NEIGHBORS_EXE neighbors.exe
+
+x0 ( 0 100 1 100 )
+
+# display_all_eval yes
+display_stats bbe ( sol ) obj
+
+
+lower_bound ( - 0.0 - 0.0 )
+upper_bound ( - 10000 - 10000 )
+
+# TMP_DIR /tmp
+
+F_TARGET 0.0
+
+MAX_BB_EVAL 500
diff --git a/examples/advanced/categorical/batch/readme.txt b/examples/advanced/categorical/batch/readme.txt
index 970075c..d4f9f70 100644
--- a/examples/advanced/categorical/batch/readme.txt
+++ b/examples/advanced/categorical/batch/readme.txt
@@ -1,33 +1,33 @@
-This example illustrates how to run the batch mode of NOMAD
-on a problem with categorical variables.
-
-In addition to the usual blackbox executable, the user must provide
-an executable for the neighborhoods.
-This executable takes a point as input and displays a list of neighbors.
-The number of variables must remain constant.
-
-For example:
-
-  neighbors.exe x.txt
-
-  with x.txt containing '0 100 1 100'
-
-  displays:
-
-  '2 100 1 100
-   0 100 2 100'
-
-  (two neighbors).
-
-To run the example:
-
-1. compile blackbox executable : g++ -o bb.exe bb.cpp -O3
-2. compile neighbors executable: g++ -o neighbors.exe neighbors.cpp -O3
-3. run nomad: nomad param.txt
-
-See more details in the NOMAD user guide.
-
-NOTE: another neighbor executable is given as a python script.
-Replace NEIGHBORS_EXE neighbors.exe
-with    NEIGHBORS_EXE  "$python neighbors.py"
-in the parameters file to use it.
+This example illustrates how to run the batch mode of NOMAD
+on a problem with categorical variables.
+
+In addition to the usual blackbox executable, the user must provide
+an executable for the neighborhoods.
+This executable takes a point as input and displays a list of neighbors.
+The number of variables must remain constant.
+
+For example:
+
+  neighbors.exe x.txt
+
+  with x.txt containing '0 100 1 100'
+
+  displays:
+
+  '2 100 1 100
+   0 100 2 100'
+
+  (two neighbors).
+
+To run the example:
+
+1. compile blackbox executable : g++ -o bb.exe bb.cpp -O3
+2. compile neighbors executable: g++ -o neighbors.exe neighbors.cpp -O3
+3. run nomad: nomad param.txt
+
+See more details in the NOMAD user guide.
+
+NOTE: another neighbor executable is given as a python script.
+Replace NEIGHBORS_EXE neighbors.exe
+with    NEIGHBORS_EXE  "$python neighbors.py"
+in the parameters file to use it.
diff --git a/examples/advanced/categorical/batch/runExample.log b/examples/advanced/categorical/batch/runExample.log
index 1eb0da5..78a2338 100644
--- a/examples/advanced/categorical/batch/runExample.log
+++ b/examples/advanced/categorical/batch/runExample.log
@@ -5,21 +5,22 @@ Warning: {
 	Default anisotropic mesh is disabled with categorical and binary variables.
 } 
 
-NOMAD - version 3.7.3 has been created by {
+NOMAD - version 3.8.1 has been created by {
 	Charles Audet        - Ecole Polytechnique de Montreal
 	Sebastien Le Digabel - Ecole Polytechnique de Montreal
 	Christophe Tribes    - Ecole Polytechnique de Montreal
 } 
 
-The copyright of NOMAD - version 3.7.3 is owned by {
+The copyright of NOMAD - version 3.8.1 is owned by {
 	Sebastien Le Digabel - Ecole Polytechnique de Montreal
 	Christophe Tribes    - Ecole Polytechnique de Montreal
 } 
 
-NOMAD version 3 is a new version of Nomad v1 and v2, it has been funded by AFOSR and Exxon Mobil.
-Nomad v1 and v2 were created and developed by Mark A. Abramson from The Boeing Company, Charles Audet and Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from Rice University, and were funded by AFOSR and Exxon Mobil.
+NOMAD v3 has been funded by AFOSR and Exxon Mobil.
+NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created
+and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.
+Dennis Jr., and were funded by AFOSR and Exxon Mobil.
 
-Download  : www.gerad.ca/nomad
 License   : '$NOMAD_HOME/src/lgpl.txt'
 User guide: '$NOMAD_HOME/doc/user_guide.pdf'
 Examples  : '$NOMAD_HOME/examples'
@@ -27,58 +28,72 @@ Tools     : '$NOMAD_HOME/tools'
 
 Please report bugs to nomad@gerad.ca
 
+Seed: 0
+
 MADS run {
 
 	BBE	(	SOL	)	OBJ
 
 	  1	(	0 100.0000000000 1 100.0000000000 )	159.6461296475
-	5+  2	(	0 1100.0000000000 2 100.0000000000 )	152.8902369239 (ExtendedPoll)
-	5+  3	(	0 4100.0000000000 2 100.0000000000 )	134.5175377184 (ExtendedPoll)
-	5+  6	(	0 8100.0000000000 2 1100.0000000000 )	93.9098509400 (ExtendedPoll)
-	5+ 13	(	0 3600.0000000000 2 4600.0000000000 )	72.2375927442 (ExtendedPoll)
-	5+ 23	(	0 4600.0000000000 2 4600.0000000000 )	63.9850651149 (ExtendedPoll)
-	5+ 29	(	0 4100.0000000000 2 5100.0000000000 )	62.0438640124 (ExtendedPoll)
-	41+  5	(	0 3975.0000000000 1 5725.0000000000 )	55.6086573370 (ExtendedPoll)
-	66+  6	(	2 3881.2500000000 1 5975.0000000000 )	58.7730353554 (ExtendedPoll)
-	85+  7	(	0 3943.7500000000 2 5975.0000000000 )	54.5634971325 (ExtendedPoll)
-	110	(	0 3943.7500000000 1 5975.0000000000 )	52.5611211856
-	114+ 12	(	0 3914.4531250000 2 6029.6875000000 )	54.3636860906 (ExtendedPoll)
-	114+ 14	(	0 3836.3281250000 2 6131.2500000000 )	54.2565794588 (ExtendedPoll)
-	114+ 26	(	0 3863.6718750000 2 6115.6250000000 )	54.1218203970 (ExtendedPoll)
-	114+ 28	(	0 3908.5937500000 2 6072.6562500000 )	54.0518889750 (ExtendedPoll)
-	114+ 29	(	0 4043.3593750000 2 5943.7500000000 )	53.9097569796 (ExtendedPoll)
-	114+ 42	(	0 4017.9687500000 2 5979.8828125000 )	53.8237647156 (ExtendedPoll)
-	166+ 12	(	0 3945.7031250000 2 6037.5000000000 )	53.9997469058 (ExtendedPoll)
-	166+ 23	(	0 3945.2148437500 2 6053.1250000000 )	53.8701209592 (ExtendedPoll)
-	199+  8	(	0 4100.0000000000 2 5881.2500000000 )	53.9564900102 (ExtendedPoll)
-	199+ 24	(	0 4107.8125000000 2 5881.4331054688 )	53.8832486375 (ExtendedPoll)
-	199+ 26	(	0 4121.8505859375 2 5874.7192382812 )	53.8169487483 (ExtendedPoll)
-	238+ 10	(	0 4006.2500000000 2 5980.8593750000 )	53.9245869941 (ExtendedPoll)
-	238+ 18	(	0 4030.6640625000 2 5961.3281250000 )	53.8703341236 (ExtendedPoll)
-	238+ 30	(	0 4028.8024902344 2 5968.9270019531 )	53.8199810273 (ExtendedPoll)
-	238+ 38	(	0 4026.6967773438 2 5972.2152709961 )	53.8103680832 (ExtendedPoll)
-	286+  8	(	0 4006.2500000000 2 5973.0468750000 )	53.9937648079 (ExtendedPoll)
-	286+ 19	(	0 4006.3720703125 2 5988.6718750000 )	53.8544733742 (ExtendedPoll)
-	286+ 24	(	0 4017.6025390625 2 5977.8076171875 )	53.8455562804 (ExtendedPoll)
-	286+ 25	(	0 4051.2939453125 2 5945.2148437500 )	53.8230307642 (ExtendedPoll)
-	286+ 40	(	0 4049.3560791016 2 5948.6022949219 )	53.8105786370 (ExtendedPoll)
-	286+ 48	(	0 4049.1615295410 2 5950.5458831787 )	53.7949509311 (ExtendedPoll)
-	344+ 11	(	0 4092.1875000000 2 5889.0625000000 )	53.9562156297 (ExtendedPoll)
-	344+ 26	(	0 4082.9101562500 2 5901.6357421875 )	53.9261842233 (ExtendedPoll)
-	344+ 27	(	0 4055.0781250000 2 5939.3554687500 )	53.8406875009 (ExtendedPoll)
-	344+ 41	(	0 4054.7653198242 2 5943.2464599609 )	53.8085676438 (ExtendedPoll)
-	344+ 52	(	0 4055.7056427002 2 5943.5101509094 )	53.7974893949 (ExtendedPoll)
-	344+ 55	(	0 4057.1723937988 2 5942.2207832336 )	53.7955084222 (ExtendedPoll)
-	344+ 56	(	0 4061.5726470947 2 5938.3526802063 )	53.7896289020 (ExtendedPoll)
-	416+ 8	(	0 4092.1875000000 2 5873.4375000000 )	54.1002366323 (ExtendedPoll)
-	416+24	(	0 4104.6386718750 2 5891.7480468750 )	53.8173417481 (ExtendedPoll)
-	416+33	(	0 4111.5356445312 2 5888.0859375000 )	53.7878645675 (ExtendedPoll)
-	416+47	(	0 4112.3014450073 2 5887.4798774719 )	53.7864363345 (ExtendedPoll)
-	475	(	0 4004.2968750000 1 5986.7187500000 )	51.9855654455
-	481+19	(	0 3994.9005859375 2 5999.2932421875 )	53.8684879252 (ExtendedPoll)
-	500	(	0 4004.2968750000 1 5986.7187500000 )	51.9855654455
+	  3	(	0 1100.0000000000 1 1100.0000000000 )	138.9085806533
+	  4	(	0 4100.0000000000 1 4100.0000000000 )	76.9342961094
+	  9	(	2 4100.0000000000 1 4100.0000000000 )	71.5898013935
+	 11	(	2 3100.0000000000 1 6100.0000000000 )	59.7422200860
+	 16	(	0 3100.0000000000 1 6100.0000000000 )	57.0646794705
+	 24	(	2 2750.0000000000 1 6600.0000000000 )	57.8763193873 (ExtendedPoll#2)
+	 25	(	2 1700.0000000000 1 8100.0000000000 )	53.6053670812 (ExtendedPoll#2)
+	 34	(	2 1510.0000000000 1 8300.0000000000 )	53.3333168676 (ExtendedPoll#2)
+	 35	(	2 940.0000000000 1 8900.0000000000 )	52.7436128628 (ExtendedPoll#2)
+	 43	(	2 1140.0000000000 1 8820.0000000000 )	52.3755732678 (ExtendedPoll#2)
+	 57	(	2 1160.0000000000 1 8820.3000000000 )	52.3132227961 (ExtendedPoll#2)
+	 65	(	2 1150.1000000000 1 8830.3000000000 )	52.3052571441 (ExtendedPoll#2)
+	 66	(	2 1120.4000000000 1 8860.3000000000 )	52.2819610879 (ExtendedPoll#2)
+	 67	(	2 1001.6000000000 1 8980.3000000000 )	52.1977782384 (ExtendedPoll#2)
+	 68	(	2 526.4000000000 1 9460.3000000000 )	52.0042958291 (ExtendedPoll#2)
+	 82	(	2 536.4000000000 1 9451.3000000000 )	52.0017022122 (ExtendedPoll#2)
+	 83	(	2 566.4000000000 1 9424.3000000000 )	51.9945888409 (ExtendedPoll#2)
+	 95	(	2 561.7830000000 1 9429.3000000000 )	51.9923249640 (ExtendedPoll#2)
+	 96	(	2 547.9320000000 1 9444.3000000000 )	51.9856595521 (ExtendedPoll#2)
+	 97	(	2 492.5280000000 1 9504.3000000000 )	51.9608886236 (ExtendedPoll#2)
+	116	(	2 494.0160000000 1 9504.8120000000 )	51.9532484770 (ExtendedPoll#2)
+	119	(	2 496.0160000000 1 9503.7280000000 )	51.9498881495 (ExtendedPoll#2)
+	134	(	2 495.9102800000 1 9503.9280000000 )	51.9495112649 (ExtendedPoll#2)
+	136	(	2 495.5300800000 1 9504.4280000000 )	51.9490076572 (ExtendedPoll#2)
+	150	(	2 495.4800800000 1 9504.4769122000 )	51.9490068534 (ExtendedPoll#2)
+	151	(	2 495.3300800000 1 9504.6236488000 )	51.9490044573 (ExtendedPoll#2)
+	152	(	2 494.7300800000 1 9505.2105952000 )	51.9489951037 (ExtendedPoll#2)
+	153	(	2 492.3300800000 1 9507.5583808000 )	51.9489613784 (ExtendedPoll#2)
+	154	(	2 482.7300800000 1 9516.9495232000 )	51.9488854987 (ExtendedPoll#2)
+	164	(	2 483.3753000000 1 9516.5947532000 )	51.9478129130 (ExtendedPoll#2)
+	172	(	2 483.5753000000 1 9516.4235132000 )	51.9477187970 (ExtendedPoll#2)
+	198	(	2 483.5763000000 1 9516.4234955670 )	51.9477150667 (ExtendedPoll#2)
+	212	(	2 483.5764000000 1 9516.4235948416 )	51.9477143009 (ExtendedPoll#2)
+	234	(	2 483.5764014262 1 9516.4235974154 )	51.9477142855 (ExtendedPoll#2)
+	245	(	2 483.5764015171 1 9516.4235979154 )	51.9477142832 (ExtendedPoll#2)
+	248	(	2 483.5764006485 1 9516.4235989154 )	51.9477142826 (ExtendedPoll#2)
+	249	(	2 483.5763980425 1 9516.4236019154 )	51.9477142808 (ExtendedPoll#2)
+	272	(	2 483.5763980625 1 9516.4236019140 )	51.9477142808 (ExtendedPoll#2)
+	277	(	2 483.5763980825 1 9516.4236018977 )	51.9477142808 (ExtendedPoll#2)
+	278	(	2 483.5763981425 1 9516.4236018488 )	51.9477142807 (ExtendedPoll#2)
+	289	(	2 483.5763981400 1 9516.4236018588 )	51.9477142807 (ExtendedPoll#2)
+	306	(	2 483.5763981402 1 9516.4236018593 )	51.9477142807 (ExtendedPoll#2)
+	314	(	2 483.5763981402 1 9516.4236018595 )	51.9477142807 (ExtendedPoll#2)
+	319	(	2 483.5763981404 1 9516.4236018595 )	51.9477142807 (ExtendedPoll#2)
+	331	(	2 483.5763981404 1 9516.4236018595 )	51.9477142807 (ExtendedPoll#2)
+	341	(	2 483.5763981404 1 9516.4236018596 )	51.9477142807 (ExtendedPoll#2)
+	346	(	2 483.5763981404 1 9516.4236018596 )	51.9477142807 (ExtendedPoll#2)
+	347	(	2 483.5763981404 1 9516.4236018596 )	51.9477142807 (ExtendedPoll#2)
+	375	(	0 483.5760000000 1 9516.4200000000 )	48.9166183112
+	425	(	2 483.5860000000 1 9516.4138032000 )	51.9477158960 (ExtendedPoll#4)
+	445	(	2 483.5859584813 1 9516.4140032000 )	51.9477152763 (ExtendedPoll#4)
+	462	(	2 483.5859684813 1 9516.4140002255 )	51.9477152498 (ExtendedPoll#4)
+	463	(	2 483.5859984813 1 9516.4139913022 )	51.9477151706 (ExtendedPoll#4)
+	468	(	2 483.5860184813 1 9516.4139807162 )	51.9477151357 (ExtendedPoll#4)
+	482	(	2 483.5860204813 1 9516.4139791329 )	51.9477151343 (ExtendedPoll#4)
+	497	(	2 483.5860205245 1 9516.4139793329 )	51.9477151333 (ExtendedPoll#4)
+	500	(	0 483.5760000000 1 9516.4200000000 )	48.9166183112
 
 } end of run (max number of blackbox evaluations)
 
 blackbox evaluations                     : 500
-best feasible solution                   : ( 0 4004.296875 1 5986.71875 ) h=0 f=51.98556545
+best feasible solution                   : ( 0 483.576 1 9516.42 ) h=0 f=48.91661831
diff --git a/examples/advanced/categorical/bi_obj/makefile b/examples/advanced/categorical/bi_obj/makefile
index 89f48dd..033d2b6 100644
--- a/examples/advanced/categorical/bi_obj/makefile
+++ b/examples/advanced/categorical/bi_obj/makefile
@@ -25,7 +25,7 @@ CXXFLAGS_MPI 	       = $(CXXFLAGS) -DUSE_MPI
 LDLIBS                 = -lm -lnomad
 LDLIBS_MPI             = -lm -lmpi -lnomad.MPI
 
-INCLUDE                = -I$(NOMAD_HOME)/src -I.
+INCLUDE                = -I$(NOMAD_HOME)/src -I$(NOMAD_HOME)/ext/sgtelib/src -I.
 
 COMPILE                = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
 COMPILE_MPI            = $(COMPILATOR_MPI) $(COMPILATOR_OPTIONS_MPI) $(INCLUDE) -c
diff --git a/examples/advanced/categorical/bi_obj/runExample.log b/examples/advanced/categorical/bi_obj/runExample.log
index fb02048..87a8beb 100644
--- a/examples/advanced/categorical/bi_obj/runExample.log
+++ b/examples/advanced/categorical/bi_obj/runExample.log
@@ -7,52 +7,49 @@ Warning: {
 
 multi-MADS run {
 
-	MADS run  1/30 ...... OK [bb eval= 60] [overall bb eval=   60] [# dominant pts=   6] [# new pts=   6] [f1=52.02241823 f2=52.95541823]
-	MADS run  2/30 ...... OK [bb eval= 74] [overall bb eval=  134] [# dominant pts=   6] [# new pts=   0] [f1=52.02241826 f2=51.05441826]
-	MADS run  3/30 ...... OK [bb eval= 58] [overall bb eval=  192] [# dominant pts=   7] [# new pts=   1] [f1=52.02241823 f2=51.45041823]
-	MADS run  4/30 ...... OK [bb eval= 68] [overall bb eval=  260] [# dominant pts=   6] [# new pts=  -1] [f1=52.02241823 f2=51.51641823]
-	MADS run  5/30 ...... OK [bb eval= 54] [overall bb eval=  314] [# dominant pts=   7] [# new pts=   1] [f1=52.02241823 f2=51.41441823]
-	MADS run  6/30 ...... OK [bb eval=  0] [overall bb eval=  314] [# dominant pts=   7] [# new pts=   0] [f1=52.02241823 f2=51.51641823]
-	MADS run  7/30 ...... OK [bb eval=  0] [overall bb eval=  314] [# dominant pts=   7] [# new pts=   0] [f1=52.02241823 f2=51.41441823]
-	MADS run  8/30 ...... OK [bb eval=  0] [overall bb eval=  314] [# dominant pts=   7] [# new pts=   0] [f1=52.02241823 f2=51.51641823]
-	MADS run  9/30 ...... OK [bb eval=  0] [overall bb eval=  314] [# dominant pts=   7] [# new pts=   0] [f1=52.02241823 f2=51.41441823]
-	MADS run 10/30 ...... OK [bb eval=  0] [overall bb eval=  314] [# dominant pts=   7] [# new pts=   0] [f1=52.02241823 f2=51.51641823]
-	MADS run 11/30 ...... OK [bb eval=  0] [overall bb eval=  314] [# dominant pts=   7] [# new pts=   0] [f1=52.02241823 f2=51.41441823]
-	MADS run 12/30 ...... OK [bb eval=  0] [overall bb eval=  314] [# dominant pts=   7] [# new pts=   0] [f1=52.02241823 f2=51.51641823]
-	MADS run 13/30 ...... OK [bb eval=  0] [overall bb eval=  314] [# dominant pts=   7] [# new pts=   0] [f1=52.02241823 f2=51.41441823]
-	MADS run 14/30 ...... OK [bb eval= 49] [overall bb eval=  363] [# dominant pts=   7] [# new pts=   0] [f1=52.02241823 f2=51.25241823]
-	MADS run 15/30 ...... OK [bb eval= 57] [overall bb eval=  420] [# dominant pts=   7] [# new pts=   0] [f1=52.02241823 f2=51.06141823]
-	MADS run 16/30 ...... OK [bb eval= 50] [overall bb eval=  470] [# dominant pts=   7] [# new pts=   0] [f1=52.02241823 f2=51.22141823]
-	MADS run 17/30 ...... OK [bb eval=  0] [overall bb eval=  470] [# dominant pts=   7] [# new pts=   0] [f1=52.02241823 f2=51.51641823]
-	MADS run 18/30 ...... OK [bb eval=  0] [overall bb eval=  470] [# dominant pts=   7] [# new pts=   0] [f1=52.02241823 f2=51.41441823]
-	MADS run 19/30 ...... OK [bb eval=  0] [overall bb eval=  470] [# dominant pts=   7] [# new pts=   0] [f1=52.02241823 f2=51.25241823]
-	MADS run 20/30 ...... OK [bb eval=  0] [overall bb eval=  470] [# dominant pts=   7] [# new pts=   0] [f1=52.02241823 f2=51.51641823]
-	MADS run 21/30 ...... OK [bb eval=  0] [overall bb eval=  470] [# dominant pts=   7] [# new pts=   0] [f1=52.02241823 f2=51.41441823]
-	MADS run 22/30 ...... OK [bb eval=  0] [overall bb eval=  470] [# dominant pts=   7] [# new pts=   0] [f1=52.02241823 f2=51.06141823]
-	MADS run 23/30 ...... OK [bb eval=  0] [overall bb eval=  470] [# dominant pts=   7] [# new pts=   0] [f1=52.02241823 f2=51.22141823]
-	MADS run 24/30 ...... OK [bb eval=  0] [overall bb eval=  470] [# dominant pts=   7] [# new pts=   0] [f1=52.02241823 f2=51.25241823]
-	MADS run 25/30 ...... OK [bb eval=  0] [overall bb eval=  470] [# dominant pts=   7] [# new pts=   0] [f1=52.02241823 f2=51.51641823]
-	MADS run 26/30 ...... OK [bb eval=  0] [overall bb eval=  470] [# dominant pts=   7] [# new pts=   0] [f1=52.02241823 f2=51.41441823]
-	MADS run 27/30 ...... OK [bb eval=  0] [overall bb eval=  470] [# dominant pts=   7] [# new pts=   0] [f1=52.02241823 f2=51.06141823]
-	MADS run 28/30 ...... OK [bb eval=  0] [overall bb eval=  470] [# dominant pts=   7] [# new pts=   0] [f1=52.02241823 f2=51.22141823]
-	MADS run 29/30 ...... OK [bb eval=  0] [overall bb eval=  470] [# dominant pts=   7] [# new pts=   0] [f1=52.02241823 f2=51.51641823]
-	MADS run 30/30 ...... OK [bb eval=  0] [overall bb eval=  470] [# dominant pts=   7] [# new pts=   0] [f1=52.02241823 f2=51.25241823]
+	MADS run  1/30 ...... OK [bb eval= 59] [overall bb eval=   59] [# dominant pts=   4] [# new pts=   4] [f1=52.02241823 f2=51.86541823]
+	MADS run  2/30 ...... OK [bb eval= 73] [overall bb eval=  132] [# dominant pts=   4] [# new pts=   0] [f1=52.02241825 f2=51.05441825]
+	MADS run  3/30 ...... OK [bb eval= 75] [overall bb eval=  207] [# dominant pts=   5] [# new pts=   1] [f1=52.02241823 f2=51.10341823]
+	MADS run  4/30 ...... OK [bb eval=  9] [overall bb eval=  216] [# dominant pts=   4] [# new pts=  -1] [f1=52.02241823 f2=51.25241823]
+	MADS run  5/30 ...... OK [bb eval=  0] [overall bb eval=  216] [# dominant pts=   4] [# new pts=   0] [f1=52.02241823 f2=51.25241823]
+	MADS run  6/30 ...... OK [bb eval= 57] [overall bb eval=  273] [# dominant pts=   4] [# new pts=   0] [f1=52.02241823 f2=51.08641823]
+	MADS run  7/30 ...... OK [bb eval=  0] [overall bb eval=  273] [# dominant pts=   4] [# new pts=   0] [f1=52.02241823 f2=51.25241823]
+	MADS run  8/30 ...... OK [bb eval=  0] [overall bb eval=  273] [# dominant pts=   4] [# new pts=   0] [f1=52.02241823 f2=51.25241823]
+	MADS run  9/30 ...... OK [bb eval=  0] [overall bb eval=  273] [# dominant pts=   4] [# new pts=   0] [f1=52.02241823 f2=51.08641823]
+	MADS run 10/30 ...... OK [bb eval=  0] [overall bb eval=  273] [# dominant pts=   4] [# new pts=   0] [f1=52.02241823 f2=51.25241823]
+	MADS run 11/30 ...... OK [bb eval=  0] [overall bb eval=  273] [# dominant pts=   4] [# new pts=   0] [f1=52.02241823 f2=51.08641823]
+	MADS run 12/30 ...... OK [bb eval=  0] [overall bb eval=  273] [# dominant pts=   4] [# new pts=   0] [f1=52.02241823 f2=51.25241823]
+	MADS run 13/30 ...... OK [bb eval=  0] [overall bb eval=  273] [# dominant pts=   4] [# new pts=   0] [f1=52.02241823 f2=51.08641823]
+	MADS run 14/30 ...... OK [bb eval=  0] [overall bb eval=  273] [# dominant pts=   4] [# new pts=   0] [f1=52.02241823 f2=51.25241823]
+	MADS run 15/30 ...... OK [bb eval=  0] [overall bb eval=  273] [# dominant pts=   4] [# new pts=   0] [f1=52.02241823 f2=51.08641823]
+	MADS run 16/30 ...... OK [bb eval=  0] [overall bb eval=  273] [# dominant pts=   4] [# new pts=   0] [f1=52.02241823 f2=51.25241823]
+	MADS run 17/30 ...... OK [bb eval=  0] [overall bb eval=  273] [# dominant pts=   4] [# new pts=   0] [f1=52.02241823 f2=51.08641823]
+	MADS run 18/30 ...... OK [bb eval=  0] [overall bb eval=  273] [# dominant pts=   4] [# new pts=   0] [f1=52.02241823 f2=51.25241823]
+	MADS run 19/30 ...... OK [bb eval=  0] [overall bb eval=  273] [# dominant pts=   4] [# new pts=   0] [f1=52.02241823 f2=51.08641823]
+	MADS run 20/30 ...... OK [bb eval=  0] [overall bb eval=  273] [# dominant pts=   4] [# new pts=   0] [f1=52.02241823 f2=51.25241823]
+	MADS run 21/30 ...... OK [bb eval=  0] [overall bb eval=  273] [# dominant pts=   4] [# new pts=   0] [f1=52.02241823 f2=51.08641823]
+	MADS run 22/30 ...... OK [bb eval=  0] [overall bb eval=  273] [# dominant pts=   4] [# new pts=   0] [f1=52.02241823 f2=51.25241823]
+	MADS run 23/30 ...... OK [bb eval=  0] [overall bb eval=  273] [# dominant pts=   4] [# new pts=   0] [f1=52.02241823 f2=51.08641823]
+	MADS run 24/30 ...... OK [bb eval=  0] [overall bb eval=  273] [# dominant pts=   4] [# new pts=   0] [f1=52.02241823 f2=51.25241823]
+	MADS run 25/30 ...... OK [bb eval=  0] [overall bb eval=  273] [# dominant pts=   4] [# new pts=   0] [f1=52.02241823 f2=51.08641823]
+	MADS run 26/30 ...... OK [bb eval=  0] [overall bb eval=  273] [# dominant pts=   4] [# new pts=   0] [f1=52.02241823 f2=51.25241823]
+	MADS run 27/30 ...... OK [bb eval=  0] [overall bb eval=  273] [# dominant pts=   4] [# new pts=   0] [f1=52.02241823 f2=51.08641823]
+	MADS run 28/30 ...... OK [bb eval=  0] [overall bb eval=  273] [# dominant pts=   4] [# new pts=   0] [f1=52.02241823 f2=51.25241823]
+	MADS run 29/30 ...... OK [bb eval=  0] [overall bb eval=  273] [# dominant pts=   4] [# new pts=   0] [f1=52.02241823 f2=51.08641823]
+	MADS run 30/30 ...... OK [bb eval=  0] [overall bb eval=  273] [# dominant pts=   4] [# new pts=   0] [f1=52.02241823 f2=51.25241823]
 
 } end of run (max number of MADS runs)
 
 
-blackbox evaluations                     : 470
+blackbox evaluations                     : 273
 number of MADS runs                      : 30
 
 Pareto front {
 
-	52.0224182340 52.9554182340 
-	52.0224182340 52.5564182340 
-	52.0224182340 51.4504182340 
+	52.0224182340 51.8654182340 
 	52.0224182340 51.2524182340 
-	52.0224182340 51.2214182340 
-	52.0224182340 51.0614182340 
-	52.0224182340 51.0254182340 
+	52.0224182340 51.0864182340 
+	52.0224182491 51.0544182491 
 } 
 
-number of Pareto points: 7
+number of Pareto points: 4
diff --git a/examples/advanced/categorical/single_obj/makefile b/examples/advanced/categorical/single_obj/makefile
index 89f48dd..033d2b6 100644
--- a/examples/advanced/categorical/single_obj/makefile
+++ b/examples/advanced/categorical/single_obj/makefile
@@ -25,7 +25,7 @@ CXXFLAGS_MPI 	       = $(CXXFLAGS) -DUSE_MPI
 LDLIBS                 = -lm -lnomad
 LDLIBS_MPI             = -lm -lmpi -lnomad.MPI
 
-INCLUDE                = -I$(NOMAD_HOME)/src -I.
+INCLUDE                = -I$(NOMAD_HOME)/src -I$(NOMAD_HOME)/ext/sgtelib/src -I.
 
 COMPILE                = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
 COMPILE_MPI            = $(COMPILATOR_MPI) $(COMPILATOR_OPTIONS_MPI) $(INCLUDE) -c
diff --git a/examples/advanced/categorical/single_obj/runExample.log b/examples/advanced/categorical/single_obj/runExample.log
index 270473f..e7fe77e 100644
--- a/examples/advanced/categorical/single_obj/runExample.log
+++ b/examples/advanced/categorical/single_obj/runExample.log
@@ -10,2192 +10,2192 @@ MADS run {
 	BBE	(	SOL	)	OBJ
 
 	1	(	1 0 100.0000000000 )	160.6247422680
-	2	(	1 0 1254.7005383793 )	153.5536894866
-	3	(	1 0 4718.8021535170 )	132.3405311424
+	2	(	1 0 1100.0000000000 )	154.5010309278
+	3	(	1 0 4100.0000000000 )	136.1298969072
 	4	(	1 0 10000.0000000000 )	100.0000000000
-	6	(	2 0 5000.0000000000 1 5000.0000000000 )	58.5324359492
-	9	(	2 0 5000.0000000000 2 5000.0000000000 )	55.9016994375
-	13	(	3 0 3333.3333333333 2 3333.3333333333 1 3333.3333333333 )	47.1682905221
-	25+1	(	2 0 4664.5898033750 2 5335.4101966250 )	54.6460175208 (ExtendedPoll)
-	25+2	(	2 0 3658.3592135001 2 6341.6407864999 )	54.3665216385 (ExtendedPoll)
-	36+5	(	2 0 4853.2580389766 2 5104.8156864453 )	55.7859562011 (ExtendedPoll)
-	46+6	(	2 0 4952.8329410996 2 5040.1793464707 )	55.7796437455 (ExtendedPoll)
-	46+7	(	2 0 4811.3317643985 2 5160.7173858828 )	55.4595714411 (ExtendedPoll)
-	46+8	(	2 0 4245.3270575938 2 5642.8695435312 )	54.9467100128 (ExtendedPoll)
-	46+14	(	2 0 4217.3762078751 2 5761.6606548359 )	54.0237235981 (ExtendedPoll)
-	68+2	(	2 0 4105.5728090001 2 5894.4271909999 )	53.7841727607 (ExtendedPoll)
-	83+6	(	2 0 4077.6219592813 2 5838.5254915624 )	54.5583352238 (ExtendedPoll)
-	83+13	(	2 0 4079.3688873888 2 5901.4149034296 )	53.9607874220 (ExtendedPoll)
-	83+17	(	2 0 4048.3609134820 2 5933.2963413900 )	53.9575135294 (ExtendedPoll)
-	83+20	(	2 0 4114.7441815640 2 5872.1538576303 )	53.9056113440 (ExtendedPoll)
-	83+26	(	2 0 4103.7166978859 2 5883.2905243151 )	53.9036253851 (ExtendedPoll)
-	83+27	(	2 0 4070.6342468517 2 5916.7005243695 )	53.9019093307 (ExtendedPoll)
-	83+33	(	2 0 4066.9220246234 2 5931.8769623028 )	53.7986288783 (ExtendedPoll)
-	135+3	(	2 0 4552.7864045000 2 5447.2135955000 )	54.3435557967 (ExtendedPoll)
-	135+17	(	2 0 4547.0542966476 2 5452.5362670773 )	54.3341271736 (ExtendedPoll)
-	135+18	(	2 0 4529.8579730901 2 5468.5042818092 )	54.3067391679 (ExtendedPoll)
-	135+19	(	2 0 4461.0726788604 2 5532.3763407368 )	54.2108013388 (ExtendedPoll)
-	135+20	(	2 0 4185.9315019415 2 5787.8645764472 )	54.0536810905 (ExtendedPoll)
-	135+24	(	2 0 4166.7152927598 2 5812.7583019780 )	53.9898429352 (ExtendedPoll)
-	135+25	(	2 0 4109.0666652149 2 5887.4394785702 )	53.8164151300 (ExtendedPoll)
-	135+30	(	2 0 4087.2300638722 2 5910.1495439667 )	53.8086966314 (ExtendedPoll)
-	135+31	(	2 0 4021.7202598438 2 5978.2797401562 )	53.8029621572 (ExtendedPoll)
-	178+9	(	2 0 4997.1817136392 2 5002.7091033541 )	55.8904416155 (ExtendedPoll)
-	178+10	(	2 0 4988.7268545568 2 5010.8364134164 )	55.8568544583 (ExtendedPoll)
-	178+11	(	2 0 4954.9074182272 2 5043.3456536654 )	55.7253209743 (ExtendedPoll)
-	178+12	(	2 0 4819.6296729087 2 5173.3826146616 )	55.2455191020 (ExtendedPoll)
-	178+13	(	2 0 4278.5186916348 2 5693.5304586464 )	54.1478187840 (ExtendedPoll)
-	178+17	(	2 0 4250.5678419161 2 5749.4321580839 )	53.8463541922 (ExtendedPoll)
-	209+11	(	2 0 4991.4018382213 2 5006.9604166780 )	55.8833196229 (ExtendedPoll)
-	209+12	(	2 0 4965.6073528851 2 5027.8416667120 )	55.8295760866 (ExtendedPoll)
-	209+13	(	2 0 4862.4294115405 2 5111.3666668481 )	55.6359728814 (ExtendedPoll)
-	209+14	(	2 0 4449.7176461622 2 5445.4666673925 )	55.2305749540 (ExtendedPoll)
-	209+18	(	2 0 4416.5260121211 2 5499.6214387226 )	54.9360602700 (ExtendedPoll)
-	209+19	(	2 0 4316.9511099981 2 5662.0857527128 )	54.1235694449 (ExtendedPoll)
-	209+21	(	2 0 4226.1108484122 2 5745.9383018691 )	54.0981732449 (ExtendedPoll)
-	209+28	(	2 0 4295.9879727091 2 5690.0366024316 )	54.0285296848 (ExtendedPoll)
-	209+39	(	2 0 4295.1963959104 2 5693.8580076666 )	53.9975464791 (ExtendedPoll)
-	209+40	(	2 0 4292.8216655143 2 5705.3222233715 )	53.9048916226 (ExtendedPoll)
-	258+8	(	2 0 4991.6202042347 2 5007.1787826914 )	55.8789766881 (ExtendedPoll)
-	258+9	(	2 0 4966.4808169388 2 5028.7151307657 )	55.8122316385 (ExtendedPoll)
-	258+10	(	2 0 4865.9232677554 2 5114.8605230630 )	55.5670382161 (ExtendedPoll)
-	258+11	(	2 0 4463.6930710215 2 5459.4420922519 )	54.9622403869 (ExtendedPoll)
-	258+15	(	2 0 4465.4399991290 2 5522.3315041191 )	54.2792880205 (ExtendedPoll)
-	258+22	(	2 0 4465.8494354041 2 5530.1380890991 )	54.1936457881 (ExtendedPoll)
-	258+25	(	2 0 4460.3083978134 2 5535.6518309382 )	54.1829242335 (ExtendedPoll)
-	258+26	(	2 0 4443.6852850412 2 5552.1930564553 )	54.1517073596 (ExtendedPoll)
-	258+27	(	2 0 4377.1928339525 2 5618.3579585239 )	54.0411998177 (ExtendedPoll)
-	258+28	(	2 0 4111.2230295975 2 5883.0175667983 )	53.8374230147 (ExtendedPoll)
-	258+38	(	2 0 4118.0196717655 2 5879.1961615633 )	53.8105466009 (ExtendedPoll)
-	258+41	(	2 0 4124.3795819065 2 5874.6650667847 )	53.7943634220 (ExtendedPoll)
-	258+50	(	2 0 4124.8617357702 2 5874.5877643630 )	53.7906784892 (ExtendedPoll)
-	258+51	(	2 0 4125.6516065844 2 5874.0132740894 )	53.7887889498 (ExtendedPoll)
-	258+53	(	2 0 4123.8654408339 2 5876.1201649220 )	53.7855913617 (ExtendedPoll)
-	345+4	(	2 0 4926.6290194883 2 5050.6609151152 )	55.8573545355 (ExtendedPoll)
-	345+5	(	2 0 4706.5160779532 2 5202.6436604609 )	55.8124774768 (ExtendedPoll)
-	345+9	(	2 0 4650.6143785157 2 5314.4470593359 )	54.9951723917 (ExtendedPoll)
-	345+18	(	2 0 4648.1031693612 2 5329.8418632826 )	54.8434056052 (ExtendedPoll)
-	345+21	(	2 0 4663.2796072945 2 5326.0204580476 )	54.7617474708 (ExtendedPoll)
-	345+24	(	2 0 4676.3815681001 2 5317.5041835239 )	54.7500380050 (ExtendedPoll)
-	345+31	(	2 0 4680.0460227630 2 5316.1598677537 )	54.7351963289 (ExtendedPoll)
-	345+34	(	2 0 4683.8264843704 2 5315.1840446312 )	54.7152907223 (ExtendedPoll)
-	345+39	(	2 0 4684.6722261763 2 5314.6957065739 )	54.7138745538 (ExtendedPoll)
-	345+42	(	2 0 4683.5902055200 2 5315.5546697595 )	54.7130556687 (ExtendedPoll)
-	345+43	(	2 0 4680.3441435508 2 5318.1315593164 )	54.7106238781 (ExtendedPoll)
-	345+44	(	2 0 4667.3598956743 2 5328.4391175440 )	54.7012704968 (ExtendedPoll)
-	345+45	(	2 0 4615.4229041681 2 5369.6693504543 )	54.6698883036 (ExtendedPoll)
-	345+46	(	2 0 4407.6749381433 2 5534.5902820956 )	54.6440687766 (ExtendedPoll)
-	345+48	(	2 0 4390.6423890959 2 5560.7942037069 )	54.5173881146 (ExtendedPoll)
-	345+49	(	2 0 4339.5447419538 2 5639.4059685409 )	54.1546080629 (ExtendedPoll)
-	345+53	(	2 0 4329.0631733093 2 5668.6670143402 )	53.9515249195 (ExtendedPoll)
-	345+60	(	2 0 4327.2889494502 2 5672.1472226792 )	53.9321944673 (ExtendedPoll)
-	345+66	(	2 0 4327.7553229574 2 5672.0024272464 )	53.9295614439 (ExtendedPoll)
-	345+67	(	2 0 4328.5409288104 2 5671.4219660272 )	53.9284968785 (ExtendedPoll)
-	345+75	(	2 0 4328.4706502466 2 5671.5217727832 )	53.9281125932 (ExtendedPoll)
-	425+16	(	2 0 4999.6291616237 2 5000.3176329854 )	55.9006895585 (ExtendedPoll)
-	425+17	(	2 0 4998.5166464947 2 5001.2705319414 )	55.8976626910 (ExtendedPoll)
-	425+18	(	2 0 4994.0665859789 2 5005.0821277656 )	55.8855968012 (ExtendedPoll)
-	425+19	(	2 0 4976.2663439156 2 5020.3285110625 )	55.8380009177 (ExtendedPoll)
-	425+20	(	2 0 4905.0653756623 2 5081.3140442501 )	55.6584535115 (ExtendedPoll)
-	425+21	(	2 0 4620.2615026492 2 5325.2561770006 )	55.1234133107 (ExtendedPoll)
-	425+24	(	2 0 4630.7430712937 2 5354.9539548267 )	54.7064652424 (ExtendedPoll)
-	425+27	(	2 0 4621.4625157231 2 5367.5100005988 )	54.6438867561 (ExtendedPoll)
-	425+28	(	2 0 4593.6208490110 2 5405.1781379151 )	54.4600465872 (ExtendedPoll)
-	425+29	(	2 0 4549.9476463255 2 5448.8513406007 )	54.3496410161 (ExtendedPoll)
-	425+30	(	2 0 4418.9280382689 2 5579.8709486573 )	54.0763891883 (ExtendedPoll)
-	425+31	(	2 0 3894.8496060423 2 6103.9493808838 )	53.9197049939 (ExtendedPoll)
-	425+44	(	2 0 3903.2294018076 2 6096.7705981924 )	53.8996693169 (ExtendedPoll)
-	425+51	(	2 0 3903.5746504167 2 6096.4253495832 )	53.8992666551 (ExtendedPoll)
-	425+52	(	2 0 3904.6103962441 2 6095.3896037559 )	53.8980629375 (ExtendedPoll)
-	425+53	(	2 0 3908.7533795536 2 6091.2466204464 )	53.8933120622 (ExtendedPoll)
-	425+54	(	2 0 3925.3253127913 2 6074.6746872087 )	53.8753312613 (ExtendedPoll)
-	425+55	(	2 0 3991.6130457425 2 6008.3869542575 )	53.8196897705 (ExtendedPoll)
-	525+3	(	2 0 4720.4915028125 2 5223.6067977500 )	55.4583179735 (ExtendedPoll)
-	525+4	(	2 0 4385.0813061876 2 5559.0169943749 )	54.5837536207 (ExtendedPoll)
-	525+15	(	2 0 4367.6120251133 2 5584.7841839594 )	54.4682528290 (ExtendedPoll)
-	525+16	(	2 0 4315.2041818907 2 5662.0857527128 )	54.1388753912 (ExtendedPoll)
-	525+18	(	2 0 4283.7594759571 2 5716.2405240429 )	53.8770977719 (ExtendedPoll)
-	566+16	(	2 0 3661.9622527217 2 6337.4508886172 )	54.3613643939 (ExtendedPoll)
-	566+17	(	2 0 3672.7713703864 2 6324.8811949693 )	54.3464807033 (ExtendedPoll)
-	566+18	(	2 0 3716.0078410450 2 6274.6024203776 )	54.2957519362 (ExtendedPoll)
-	566+19	(	2 0 3888.9537236798 2 6073.4873220106 )	54.2325516547 (ExtendedPoll)
-	566+23	(	2 0 3910.7903250226 2 6051.2139886410 )	54.2135842543 (ExtendedPoll)
-	566+24	(	2 0 3976.3001290509 2 5984.3939885321 )	54.1740869612 (ExtendedPoll)
-	566+28	(	2 0 4033.9487565958 2 5959.9369950282 )	53.8521950489 (ExtendedPoll)
-	566+34	(	2 0 4047.3782664216 2 5951.9666355381 )	53.7987546224 (ExtendedPoll)
-	566+46	(	2 0 4047.6136123118 2 5951.9017281599 )	53.7971533414 (ExtendedPoll)
-	566+50	(	2 0 4047.8134790560 2 5952.0419387593 )	53.7940433602 (ExtendedPoll)
-	566+52	(	2 0 4047.6531698269 2 5952.2260518031 )	53.7938806683 (ExtendedPoll)
-	566+53	(	2 0 4047.1722421396 2 5952.7783909345 )	53.7933936767 (ExtendedPoll)
-	566+59	(	2 0 4047.2240480902 2 5952.7461205054 )	53.7932021747 (ExtendedPoll)
-	566+64	(	2 0 4047.2545309008 2 5952.7446673365 )	53.7929324376 (ExtendedPoll)
-	638+17	(	2 0 4999.9134679357 2 5000.0860989042 )	55.9013177479 (ExtendedPoll)
-	638+18	(	2 0 4999.6538717426 2 5000.3443956169 )	55.9001728626 (ExtendedPoll)
-	638+19	(	2 0 4998.6154869705 2 5001.3775824675 )	55.8955960762 (ExtendedPoll)
-	638+20	(	2 0 4994.4619478821 2 5005.5103298701 )	55.8773330446 (ExtendedPoll)
-	638+21	(	2 0 4977.8477915284 2 5022.0413194804 )	55.8049893023 (ExtendedPoll)
-	638+22	(	2 0 4911.3911661138 2 5088.1652779214 )	55.5271121019 (ExtendedPoll)
-	638+23	(	2 0 4645.5646644551 2 5352.6611116858 )	54.6099568042 (ExtendedPoll)
-	638+29	(	2 0 4643.1899340591 2 5355.7660034392 )	54.5949958366 (ExtendedPoll)
-	638+37	(	2 0 4643.2514561244 2 5356.2503964074 )	54.5891116760 (ExtendedPoll)
-	638+39	(	2 0 4642.9300912980 2 5356.6179294388 )	54.5876751049 (ExtendedPoll)
-	638+40	(	2 0 4641.9659968188 2 5357.7205285330 )	54.5833690042 (ExtendedPoll)
-	638+41	(	2 0 4640.6472708158 2 5359.1620854185 )	54.5782267385 (ExtendedPoll)
-	638+46	(	2 0 4639.9154034740 2 5359.8086535364 )	54.5770790094 (ExtendedPoll)
-	638+47	(	2 0 4637.7198014483 2 5361.7483578901 )	54.5736490458 (ExtendedPoll)
-	638+48	(	2 0 4628.9373933458 2 5369.5071753047 )	54.5601278395 (ExtendedPoll)
-	638+49	(	2 0 4593.8077609356 2 5400.5424449631 )	54.5092397286 (ExtendedPoll)
-	638+50	(	2 0 4453.2892312949 2 5524.6835235967 )	54.3579916958 (ExtendedPoll)
-	638+55	(	2 0 4453.1800482882 2 5540.2966935568 )	54.1950044054 (ExtendedPoll)
-	638+59	(	2 0 4449.7953750800 2 5547.3389974899 )	54.1501982295 (ExtendedPoll)
-	638+63	(	2 0 4458.8302688856 2 5540.9790873488 )	54.1396632915 (ExtendedPoll)
-	638+73	(	2 0 4458.3987614362 2 5541.5182850685 )	54.1376935988 (ExtendedPoll)
-	638+86	(	2 0 4458.4198350926 2 5541.5559487575 )	54.1371193459 (ExtendedPoll)
-	638+88	(	2 0 4458.4486331602 2 5541.5458498792 )	54.1369795760 (ExtendedPoll)
-	638+95	(	2 0 4458.4524474032 2 5541.5457910551 )	54.1369476680 (ExtendedPoll)
-	738+11	(	2 0 4695.1610452549 2 5241.9495428779 )	55.4530370223 (ExtendedPoll)
-	738+12	(	2 0 4619.1696725821 2 5296.9777782617 )	55.4492782592 (ExtendedPoll)
-	738+15	(	2 0 4772.8993460352 2 5199.1498042461 )	55.3189871998 (ExtendedPoll)
-	738+21	(	2 0 4803.9073199419 2 5194.3457519507 )	55.1267190068 (ExtendedPoll)
-	738+24	(	2 0 4779.8870584649 2 5214.4354251860 )	55.0861821831 (ExtendedPoll)
-	738+25	(	2 0 4707.8262740337 2 5274.7044448921 )	54.9771582390 (ExtendedPoll)
-	738+26	(	2 0 4419.5831363091 2 5515.7805237163 )	54.7394753219 (ExtendedPoll)
-	738+28	(	2 0 4251.8780379967 2 5711.4364717475 )	54.2065798938 (ExtendedPoll)
-	738+29	(	2 0 3916.4678413717 2 6046.8466683725 )	54.1969206166 (ExtendedPoll)
-	738+38	(	2 0 3947.9125473053 2 6047.2834003993 )	53.8946625323 (ExtendedPoll)
-	738+43	(	2 0 3960.2502270639 2 6037.7844788152 )	53.8597225819 (ExtendedPoll)
-	738+52	(	2 0 3961.1262500944 2 6037.3528647418 )	53.8551714185 (ExtendedPoll)
-	738+53	(	2 0 3963.7543191857 2 6036.0580225215 )	53.8415309007 (ExtendedPoll)
-	738+63	(	2 0 3963.8724386189 2 6036.0888168742 )	53.8401500357 (ExtendedPoll)
-	738+69	(	2 0 3963.8977126790 2 6036.0717128804 )	53.8400591085 (ExtendedPoll)
-	738+70	(	2 0 3963.9735348593 2 6036.0204008990 )	53.8397863412 (ExtendedPoll)
-	738+71	(	2 0 3964.0565483307 2 6035.9309033538 )	53.8397753773 (ExtendedPoll)
-	738+72	(	2 0 3964.3055887447 2 6035.6624107183 )	53.8397427557 (ExtendedPoll)
-	738+73	(	2 0 3965.3017504010 2 6034.5884401761 )	53.8396163244 (ExtendedPoll)
-	738+74	(	2 0 3969.2863970259 2 6030.2925580077 )	53.8391754528 (ExtendedPoll)
-	738+75	(	2 0 3985.2249835255 2 6013.1090293339 )	53.8384482501 (ExtendedPoll)
-	738+78	(	2 0 3987.0145612449 2 6012.3276884421 )	53.8284510125 (ExtendedPoll)
-	738+83	(	2 0 3987.3798551717 2 6012.0036580149 )	53.8278471786 (ExtendedPoll)
-	738+84	(	2 0 3988.4757369520 2 6011.0315667334 )	53.8260397128 (ExtendedPoll)
-	738+86	(	2 0 3986.7339267980 2 6013.1742832402 )	53.8237018301 (ExtendedPoll)
-	738+95	(	2 0 3986.6783090383 2 6013.2829464548 )	53.8232765676 (ExtendedPoll)
-	738+99	(	2 0 3986.8030524894 2 6013.1636141732 )	53.8231454979 (ExtendedPoll)
-	738+100	(	2 0 3987.1772828427 2 6012.8056173285 )	53.8227528066 (ExtendedPoll)
-	738+110	(	2 0 3987.1736824074 2 6012.8204452533 )	53.8226572738 (ExtendedPoll)
-	738+112	(	2 0 3987.1869497063 2 6012.8129081631 )	53.8225983976 (ExtendedPoll)
-	738+113	(	2 0 3987.2077526376 2 6012.7905795918 )	53.8225977726 (ExtendedPoll)
-	738+114	(	2 0 3987.2701614317 2 6012.7235938779 )	53.8225959146 (ExtendedPoll)
-	738+115	(	2 0 3987.5197966079 2 6012.4556510226 )	53.8225887344 (ExtendedPoll)
-	738+116	(	2 0 3988.5183373128 2 6011.3838796011 )	53.8225640459 (ExtendedPoll)
-	738+117	(	2 0 3992.5125001324 2 6007.0967939151 )	53.8225297822 (ExtendedPoll)
-	738+121	(	2 0 3992.8719297375 2 6006.7662594221 )	53.8220484338 (ExtendedPoll)
-	738+122	(	2 0 3993.9502185528 2 6005.7746559431 )	53.8206084721 (ExtendedPoll)
-	738+130	(	2 0 3994.1935345893 2 6005.7947812288 )	53.8181500804 (ExtendedPoll)
-	738+138	(	2 0 3994.2169631374 2 6005.7752257153 )	53.8181014599 (ExtendedPoll)
-	738+143	(	2 0 3994.2052365766 2 6005.7933405549 )	53.8180529267 (ExtendedPoll)
-	738+149	(	2 0 3994.2070325934 2 6005.7926984484 )	53.8180416998 (ExtendedPoll)
-	892+10	(	2 0 4983.7317319996 2 5014.9580719198 )	55.8453986667 (ExtendedPoll)
-	892+11	(	2 0 4934.9269279985 2 5059.8322876792 )	55.6824111014 (ExtendedPoll)
-	892+12	(	2 0 4739.7077119942 2 5239.3291507168 )	55.1228042284 (ExtendedPoll)
-	892+13	(	2 0 3958.8308479767 2 5957.3166028671 )	54.5781023915 (ExtendedPoll)
-	892+20	(	2 0 3979.7939852657 2 6016.7121585194 )	53.8581095439 (ExtendedPoll)
-	892+27	(	2 0 3988.6378088095 2 6010.1065866132 )	53.8325947095 (ExtendedPoll)
-	892+35	(	2 0 3989.5633053899 2 6010.4187817731 )	53.8211783096 (ExtendedPoll)
-	892+45	(	2 0 3989.5756322315 2 6010.4097884943 )	53.8211411134 (ExtendedPoll)
-	892+46	(	2 0 3989.6126127563 2 6010.3828086579 )	53.8210295286 (ExtendedPoll)
-	892+51	(	2 0 3989.6241534539 2 6010.3728265038 )	53.8210083518 (ExtendedPoll)
-	892+55	(	2 0 3989.6276603588 2 6010.3713253267 )	53.8209885364 (ExtendedPoll)
-	957+13	(	2 0 3659.6318779221 2 6340.1599919713 )	54.3646950351 (ExtendedPoll)
-	957+14	(	2 0 3663.4498711882 2 6335.7176083856 )	54.3592886738 (ExtendedPoll)
-	957+15	(	2 0 3678.7218442523 2 6317.9480740430 )	54.3387643534 (ExtendedPoll)
-	957+16	(	2 0 3739.8097365087 2 6246.8699366722 )	54.2742427310 (ExtendedPoll)
-	957+22	(	2 0 3747.2068852135 2 6244.3587275178 )	54.2206960776 (ExtendedPoll)
-	957+24	(	2 0 3733.7773753877 2 6261.9371915988 )	54.2169921066 (ExtendedPoll)
-	957+28	(	2 0 3729.6284211326 2 6268.5700592566 )	54.2069023761 (ExtendedPoll)
-	957+39	(	2 0 3729.8079759991 2 6269.9395382979 )	54.1945664870 (ExtendedPoll)
-	957+46	(	2 0 3730.0391102401 2 6269.8609297318 )	54.1928795948 (ExtendedPoll)
-	957+47	(	2 0 3730.4171990505 2 6269.5520399169 )	54.1915098832 (ExtendedPoll)
-	957+54	(	2 0 3730.5280413937 2 6269.4196928396 )	54.1914305422 (ExtendedPoll)
-	957+55	(	2 0 3730.8605684232 2 6269.0226516079 )	54.1911930941 (ExtendedPoll)
-	957+56	(	2 0 3732.1906765414 2 6267.4344866812 )	54.1902519228 (ExtendedPoll)
-	957+57	(	2 0 3737.5111090140 2 6261.0818269741 )	54.1866251399 (ExtendedPoll)
-	957+58	(	2 0 3758.7928389047 2 6235.6711881460 )	54.1743221404 (ExtendedPoll)
-	957+59	(	2 0 3843.9197584675 2 6134.0286328333 )	54.1602124163 (ExtendedPoll)
-	957+61	(	2 0 3850.7164006354 2 6130.1799318466 )	54.1262487754 (ExtendedPoll)
-	957+62	(	2 0 3871.1063271392 2 6118.6338288866 )	54.0252546165 (ExtendedPoll)
-	957+68	(	2 0 3874.9618520638 2 6118.0196744739 )	53.9932699228 (ExtendedPoll)
-	957+71	(	2 0 3878.5580673474 2 6116.4979363178 )	53.9713481391 (ExtendedPoll)
-	957+74	(	2 0 3882.4477119616 2 6116.1772112356 )	53.9366512244 (ExtendedPoll)
-	957+77	(	2 0 3883.8176174990 2 6114.7851279000 )	53.9350795566 (ExtendedPoll)
-	957+78	(	2 0 3887.9273341111 2 6110.6088778932 )	53.9304333927 (ExtendedPoll)
-	957+79	(	2 0 3904.3662005594 2 6093.9038778659 )	53.9128801378 (ExtendedPoll)
-	957+80	(	2 0 3970.1216663528 2 6027.0838777571 )	53.8590909037 (ExtendedPoll)
-	957+86	(	2 0 3973.0218399687 2 6024.4703095339 )	53.8544261587 (ExtendedPoll)
-	957+87	(	2 0 3981.7223608162 2 6016.6296048642 )	53.8406919834 (ExtendedPoll)
-	957+92	(	2 0 3984.9637313280 2 6014.4459447299 )	53.8292462452 (ExtendedPoll)
-	957+97	(	2 0 3985.8052081727 2 6013.9503562385 )	53.8256595333 (ExtendedPoll)
-	957+105	(	2 0 3985.8396877184 2 6014.0674560795 )	53.8243145748 (ExtendedPoll)
-	957+108	(	2 0 3985.9527091902 2 6014.0213411865 )	53.8236546852 (ExtendedPoll)
-	957+113	(	2 0 3986.0162471161 2 6013.9629145501 )	53.8235671131 (ExtendedPoll)
-	957+114	(	2 0 3986.2068608937 2 6013.7876346407 )	53.8233045248 (ExtendedPoll)
-	957+120	(	2 0 3986.1976307305 2 6013.7997850945 )	53.8232852967 (ExtendedPoll)
-	957+126	(	2 0 3986.2011589420 2 6013.7983347110 )	53.8232647945 (ExtendedPoll)
-	957+130	(	2 0 3986.1999003828 2 6013.7997678928 )	53.8232641222 (ExtendedPoll)
-	957+133	(	2 0 3986.1980746415 2 6013.8017534985 )	53.8232639619 (ExtendedPoll)
-	1130+15	(	2 0 4999.7419965034 2 5000.2294282565 )	55.9008939292 (ExtendedPoll)
-	1130+16	(	2 0 4998.9679860137 2 5000.9177130262 )	55.8984788107 (ExtendedPoll)
-	1130+17	(	2 0 4995.8719440548 2 5003.6708521046 )	55.8888394453 (ExtendedPoll)
-	1130+18	(	2 0 4983.4877762190 2 5014.6834084185 )	55.8506205863 (ExtendedPoll)
-	1130+19	(	2 0 4933.9511048760 2 5058.7336336741 )	55.7032178511 (ExtendedPoll)
-	1130+20	(	2 0 4735.8044195041 2 5234.9345346965 )	55.2046851896 (ExtendedPoll)
-	1130+21	(	2 0 3943.2176780166 2 5939.7381387862 )	54.8819022435 (ExtendedPoll)
-	1130+23	(	2 0 3935.3565015332 2 5969.8726486392 )	54.6880709245 (ExtendedPoll)
-	1130+24	(	2 0 3911.7729720830 2 6060.2761781983 )	54.1268308179 (ExtendedPoll)
-	1130+30	(	2 0 3902.3832335056 2 6072.7230409636 )	54.1106121774 (ExtendedPoll)
-	1130+31	(	2 0 3874.2140177734 2 6110.0636292598 )	54.0666592435 (ExtendedPoll)
-	1130+34	(	2 0 3854.9978085918 2 6134.5206227637 )	54.0491056788 (ExtendedPoll)
-	1130+41	(	2 0 3852.6503739474 2 6141.9723629719 )	54.0104767054 (ExtendedPoll)
-	1130+45	(	2 0 3860.8118036993 2 6134.5206227637 )	53.9930000229 (ExtendedPoll)
-	1130+46	(	2 0 3885.2960929549 2 6112.1654021390 )	53.9427035432 (ExtendedPoll)
-	1130+54	(	2 0 3886.8263610334 2 6110.9507411893 )	53.9381441910 (ExtendedPoll)
-	1130+55	(	2 0 3891.4171652688 2 6107.3067583403 )	53.9245293625 (ExtendedPoll)
-	1130+56	(	2 0 3897.5041178931 2 6102.3935230381 )	53.9073073325 (ExtendedPoll)
-	1130+66	(	2 0 3897.7068634861 2 6102.2575240879 )	53.9065051034 (ExtendedPoll)
-	1130+74	(	2 0 3897.7316573216 2 6102.2397316194 )	53.9064167304 (ExtendedPoll)
-	1130+75	(	2 0 3897.8060388280 2 6102.1863542139 )	53.9061516260 (ExtendedPoll)
-	1130+81	(	2 0 3897.8185626742 2 6102.1776373870 )	53.9061047270 (ExtendedPoll)
-	1130+87	(	2 0 3897.8165360562 2 6102.1808692197 )	53.9060970673 (ExtendedPoll)
-	1130+90	(	2 0 3897.8201618133 2 6102.1796835545 )	53.9060722877 (ExtendedPoll)
-	1130+103	(	2 0 3897.8200835182 2 6102.1797734473 )	53.9060722845 (ExtendedPoll)
-	1130+104	(	2 0 3897.8198486328 2 6102.1800431259 )	53.9060722750 (ExtendedPoll)
-	1241+5	(	2 0 4966.3716339321 2 5028.8243137725 )	55.8117570732 (ExtendedPoll)
-	1241+6	(	2 0 4865.4865357285 2 5115.2972550898 )	55.5653095642 (ExtendedPoll)
-	1241+7	(	2 0 4461.9461429141 2 5461.1890203593 )	54.9583349271 (ExtendedPoll)
-	1241+13	(	2 0 4468.9338553438 2 5524.0784322265 )	54.2311656305 (ExtendedPoll)
-	1241+14	(	2 0 4385.0813061876 2 5614.9186938124 )	54.0080105561 (ExtendedPoll)
-	1291+22	(	2 0 4999.9828435272 2 5000.0130887244 )	55.9016722791 (ExtendedPoll)
-	1291+23	(	2 0 4999.9313741087 2 5000.0523548977 )	55.9015908089 (ExtendedPoll)
-	1291+24	(	2 0 4999.7254964348 2 5000.2094195909 )	55.9012650053 (ExtendedPoll)
-	1291+25	(	2 0 4998.9019857391 2 5000.8376783636 )	55.8999630243 (ExtendedPoll)
-	1291+26	(	2 0 4995.6079429565 2 5003.3507134546 )	55.8947748483 (ExtendedPoll)
-	1291+27	(	2 0 4982.4317718259 2 5013.4028538183 )	55.8743389196 (ExtendedPoll)
-	1291+28	(	2 0 4929.7270873038 2 5053.6114152732 )	55.7977153969 (ExtendedPoll)
-	1291+29	(	2 0 4718.9083492152 2 5214.4456610929 )	55.5764644844 (ExtendedPoll)
-	1291+32	(	2 0 4720.0070032202 2 5218.1920030108 )	55.5244848408 (ExtendedPoll)
-	1291+33	(	2 0 4723.3029652354 2 5229.4310287644 )	55.3687307229 (ExtendedPoll)
-	1291+34	(	2 0 4734.5488149269 2 5240.3493294358 )	55.1527367318 (ExtendedPoll)
-	1291+35	(	2 0 4725.8141743898 2 5270.4838392888 )	54.8793050383 (ExtendedPoll)
-	1291+43	(	2 0 4724.6472810056 2 5274.2097093929 )	54.8463890957 (ExtendedPoll)
-	1291+48	(	2 0 4723.8706315711 2 5274.8016860074 )	54.8459531010 (ExtendedPoll)
-	1291+49	(	2 0 4721.5406832677 2 5276.5776158510 )	54.8446571102 (ExtendedPoll)
-	1291+50	(	2 0 4712.2208900540 2 5283.6813352253 )	54.8396533297 (ExtendedPoll)
-	1291+51	(	2 0 4674.9417171991 2 5312.0962127226 )	54.8225390616 (ExtendedPoll)
-	1291+52	(	2 0 4525.8250257796 2 5425.7557227117 )	54.8016355518 (ExtendedPoll)
-	1291+55	(	2 0 4527.5719538871 2 5456.7636966185 )	54.4520740351 (ExtendedPoll)
-	1291+59	(	2 0 4517.3087512560 2 5468.5554613436 )	54.4117744769 (ExtendedPoll)
-	1291+60	(	2 0 4486.5191433627 2 5503.9307555188 )	54.2947627479 (ExtendedPoll)
-	1291+61	(	2 0 4439.3520844623 2 5545.8570300970 )	54.2549299012 (ExtendedPoll)
-	1291+62	(	2 0 4297.8509077611 2 5671.6358538313 )	54.1955288613 (ExtendedPoll)
-	1291+64	(	2 0 4130.1458094486 2 5867.2918018626 )	53.8101176125 (ExtendedPoll)
-	1291+75	(	2 0 4128.0235647556 2 5870.5672920640 )	53.7990789831 (ExtendedPoll)
-	1291+79	(	2 0 4127.0989211675 2 5872.2886304042 )	53.7915583989 (ExtendedPoll)
-	1291+85	(	2 0 4128.1741178860 2 5871.4215637923 )	53.7897866464 (ExtendedPoll)
-	1291+88	(	2 0 4127.2012802363 2 5872.4020783721 )	53.7895735461 (ExtendedPoll)
-	1291+89	(	2 0 4124.2827672873 2 5875.3436221116 )	53.7889669943 (ExtendedPoll)
-	1291+90	(	2 0 4112.6087154913 2 5887.1097970695 )	53.7870326237 (ExtendedPoll)
-	1291+103	(	2 0 4112.6224699912 2 5887.2310885676 )	53.7857898087 (ExtendedPoll)
-	1291+105	(	2 0 4112.6068429068 2 5887.3521534897 )	53.7848179668 (ExtendedPoll)
-	1291+111	(	2 0 4112.6094751875 2 5887.3825571652 )	53.7845139164 (ExtendedPoll)
-	1291+115	(	2 0 4112.6011895425 2 5887.3953703748 )	53.7844717434 (ExtendedPoll)
-	1291+121	(	2 0 4112.6098291866 2 5887.3889072301 )	53.7844522046 (ExtendedPoll)
-	1291+126	(	2 0 4112.6115497632 2 5887.3880840681 )	53.7844440412 (ExtendedPoll)
-	1291+133	(	2 0 4112.6117769427 2 5887.3881564070 )	53.7844412964 (ExtendedPoll)
-	1291+139	(	2 0 4112.6117384418 2 5887.3882019087 )	53.7844412297 (ExtendedPoll)
-	1291+140	(	2 0 4112.6116229393 2 5887.3883384136 )	53.7844410296 (ExtendedPoll)
-	1291+144	(	2 0 4112.6116767374 2 5887.3883127527 )	53.7844407736 (ExtendedPoll)
-	1291+147	(	2 0 4112.6116387835 2 5887.3883587115 )	53.7844406977 (ExtendedPoll)
-	1444+2	(	2 0 4902.1720259844 2 5076.8648367266 )	55.7342800977 (ExtendedPoll)
-	1444+3	(	2 0 4608.6881039375 2 5307.4593469062 )	55.4177822439 (ExtendedPoll)
-	1444+6	(	2 0 4440.9830056251 2 5503.1152949375 )	54.6903788761 (ExtendedPoll)
-	1444+9	(	2 0 4273.2779073126 2 5698.7712429687 )	54.1421759642 (ExtendedPoll)
-	1444+10	(	2 0 3937.8677106876 2 6034.1814395937 )	54.1025876908 (ExtendedPoll)
-	1444+19	(	2 0 3985.0347695880 2 5992.2551650155 )	54.0228541969 (ExtendedPoll)
-	1444+20	(	2 0 4126.5359462891 2 5866.4763412812 )	53.8506010417 (ExtendedPoll)
-	1444+30	(	2 0 4130.4392387792 2 5866.5172849087 )	53.8146342551 (ExtendedPoll)
-	1444+32	(	2 0 4128.6854867338 2 5870.0111411235 )	53.7981997187 (ExtendedPoll)
-	1444+38	(	2 0 4129.0689067457 2 5870.9093419522 )	53.7863749691 (ExtendedPoll)
-	1444+51	(	2 0 4129.0636273984 2 5870.9236583107 )	53.7862903829 (ExtendedPoll)
-	1444+56	(	2 0 4129.0651471032 2 5870.9311348262 )	53.7862072107 (ExtendedPoll)
-	1444+60	(	2 0 4129.0646772976 2 5870.9349204804 )	53.7861763981 (ExtendedPoll)
-	1444+66	(	2 0 4129.0641711296 2 5870.9357287432 )	53.7861735204 (ExtendedPoll)
-	1444+74	(	2 0 4129.0643025908 2 5870.9356231986 )	53.7861733001 (ExtendedPoll)
-	1444+77	(	2 0 4129.0644472731 2 5870.9355366612 )	53.7861727831 (ExtendedPoll)
-	1444+82	(	2 0 4129.0644281460 2 5870.9355595157 )	53.7861727456 (ExtendedPoll)
-	1444+83	(	2 0 4129.0643707645 2 5870.9356280794 )	53.7861726332 (ExtendedPoll)
-	1626+2	(	2 0 4867.2334638359 2 5118.7911113047 )	55.5101747565 (ExtendedPoll)
-	1626+3	(	2 0 4468.9338553438 2 5475.1644452187 )	54.7497453707 (ExtendedPoll)
-	1626+10	(	2 0 4531.8232672110 2 5468.1767327890 )	54.2937328699 (ExtendedPoll)
-	1626+12	(	2 0 4406.0444434766 2 5593.9555565234 )	54.0419580454 (ExtendedPoll)
-	1626+13	(	2 0 4028.7079722735 2 5971.2920277265 )	53.7998378556 (ExtendedPoll)
-	1626+19	(	2 0 4154.4867960079 2 5845.5132039921 )	53.7918826239 (ExtendedPoll)
-	1689+27	(	2 0 4999.9918793150 2 5000.0071042165 )	55.9016755069 (ExtendedPoll)
-	1689+28	(	2 0 4999.9675172600 2 5000.0284168659 )	55.9016037165 (ExtendedPoll)
-	1689+29	(	2 0 4999.8700690400 2 5000.1136674635 )	55.9013165752 (ExtendedPoll)
-	1689+30	(	2 0 4999.4802761598 2 5000.4546698539 )	55.9001683374 (ExtendedPoll)
-	1689+31	(	2 0 4997.9211046392 2 5001.8186794156 )	55.8955806263 (ExtendedPoll)
-	1689+32	(	2 0 4991.6844185568 2 5007.2747176624 )	55.8773137258 (ExtendedPoll)
-	1689+33	(	2 0 4966.7376742271 2 5029.0988706497 )	55.8055960661 (ExtendedPoll)
-	1689+34	(	2 0 4866.9506969084 2 5116.3954825988 )	55.5407618647 (ExtendedPoll)
-	1689+35	(	2 0 4467.8027876336 2 5465.5819303951 )	54.8617064546 (ExtendedPoll)
-	1689+37	(	2 0 4466.8269645111 2 5469.3623920026 )	54.8295561915 (ExtendedPoll)
-	1689+38	(	2 0 4463.8994951436 2 5480.7037768250 )	54.7333779337 (ExtendedPoll)
-	1689+39	(	2 0 4452.1896176735 2 5526.0693161146 )	54.3527873521 (ExtendedPoll)
-	1689+40	(	2 0 4432.0999444382 2 5550.0895775916 )	54.2727755505 (ExtendedPoll)
-	1689+41	(	2 0 4371.8309247321 2 5622.1503620228 )	54.0490159101 (ExtendedPoll)
-	1689+48	(	2 0 4367.1633511951 2 5628.4010891571 )	54.0259049915 (ExtendedPoll)
-	1689+52	(	2 0 4367.4363087119 2 5632.2975577092 )	53.9839463746 (ExtendedPoll)
-	1689+64	(	2 0 4367.5173563027 2 5632.3888412069 )	53.9823156833 (ExtendedPoll)
-	1689+67	(	2 0 4367.5750698909 2 5632.4087032645 )	53.9816128497 (ExtendedPoll)
-	1689+77	(	2 0 4367.5769053809 2 5632.4193356014 )	53.9814889495 (ExtendedPoll)
-	1689+82	(	2 0 4367.5805624212 2 5632.4182502476 )	53.9814682147 (ExtendedPoll)
-	1689+86	(	2 0 4367.5821046999 2 5632.4171280385 )	53.9814662175 (ExtendedPoll)
-	1689+90	(	2 0 4367.5818878523 2 5632.4180567321 )	53.9814586704 (ExtendedPoll)
-	1689+104	(	2 0 4367.5819056985 2 5632.4180679393 )	53.9814584017 (ExtendedPoll)
-	1689+105	(	2 0 4367.5819346476 2 5632.4180608593 )	53.9814582222 (ExtendedPoll)
-	1689+109	(	2 0 4367.5819216978 2 5632.4180774844 )	53.9814581658 (ExtendedPoll)
-	1689+115	(	2 0 4367.5819257648 2 5632.4180741356 )	53.9814581645 (ExtendedPoll)
-	1689+120	(	2 0 4367.5819244247 2 5632.4180754292 )	53.9814581630 (ExtendedPoll)
-	1689+121	(	2 0 4367.5819204043 2 5632.4180793101 )	53.9814581585 (ExtendedPoll)
-	1689+122	(	2 0 4367.5819043228 2 5632.4180948339 )	53.9814581405 (ExtendedPoll)
-	1689+123	(	2 0 4367.5818399969 2 5632.4181569287 )	53.9814580686 (ExtendedPoll)
-	1689+124	(	2 0 4367.5815826929 2 5632.4184053083 )	53.9814577808 (ExtendedPoll)
-	1689+125	(	2 0 4367.5805534773 2 5632.4193988263 )	53.9814566296 (ExtendedPoll)
-	1689+126	(	2 0 4367.5764366146 2 5632.4233728987 )	53.9814520249 (ExtendedPoll)
-	1689+127	(	2 0 4367.5599691638 2 5632.4392691879 )	53.9814336068 (ExtendedPoll)
-	1689+128	(	2 0 4367.4940993607 2 5632.5028543451 )	53.9813599484 (ExtendedPoll)
-	1689+129	(	2 0 4367.2306201483 2 5632.7571949737 )	53.9810655359 (ExtendedPoll)
-	1689+130	(	2 0 4366.1767032985 2 5633.7745574881 )	53.9798914222 (ExtendedPoll)
-	1689+131	(	2 0 4361.9610358996 2 5637.8440075457 )	53.9752515834 (ExtendedPoll)
-	1689+132	(	2 0 4345.0983663039 2 5654.1218077760 )	53.9576001475 (ExtendedPoll)
-	1689+133	(	2 0 4277.6476879210 2 5719.2330086971 )	53.9016513465 (ExtendedPoll)
-	1689+135	(	2 0 4277.6290591203 2 5719.2571811144 )	53.9015782727 (ExtendedPoll)
-	1689+136	(	2 0 4277.5731727181 2 5719.3296983663 )	53.9013590679 (ExtendedPoll)
-	1689+137	(	2 0 4277.3496271092 2 5719.6197673739 )	53.9004824970 (ExtendedPoll)
-	1689+138	(	2 0 4276.4554446736 2 5720.7800434043 )	53.8969801836 (ExtendedPoll)
-	1689+139	(	2 0 4272.8787149315 2 5725.4211475259 )	53.8830344924 (ExtendedPoll)
-	1689+140	(	2 0 4272.2449416972 2 5726.1641037669 )	53.8813532804 (ExtendedPoll)
-	1689+141	(	2 0 4270.3436219944 2 5728.3929724899 )	53.8763261624 (ExtendedPoll)
-	1689+145	(	2 0 4269.8544309447 2 5729.2382877997 )	53.8723721175 (ExtendedPoll)
-	1689+146	(	2 0 4268.9604950773 2 5730.9749800002 )	53.8632736922 (ExtendedPoll)
-	1689+157	(	2 0 4268.9281879962 2 5731.0267642928 )	53.8630526551 (ExtendedPoll)
-	1689+162	(	2 0 4268.9081672520 2 5731.0497967493 )	53.8630044126 (ExtendedPoll)
-	1689+163	(	2 0 4268.8481050197 2 5731.1188941187 )	53.8628597009 (ExtendedPoll)
-	1689+167	(	2 0 4268.9130457179 2 5731.0620335227 )	53.8628413313 (ExtendedPoll)
-	1689+168	(	2 0 4269.1078678127 2 5730.8914517347 )	53.8627863397 (ExtendedPoll)
-	1689+172	(	2 0 4268.9798523367 2 5731.0072720873 )	53.8627858887 (ExtendedPoll)
-	1689+173	(	2 0 4268.5958059087 2 5731.3547331451 )	53.8627850104 (ExtendedPoll)
-	1689+182	(	2 0 4268.5734598444 2 5731.3755169174 )	53.8627794333 (ExtendedPoll)
-	1689+183	(	2 0 4268.5064216515 2 5731.4378682344 )	53.8627627170 (ExtendedPoll)
-	1689+184	(	2 0 4268.2382688801 2 5731.6872735026 )	53.8626960762 (ExtendedPoll)
-	1689+185	(	2 0 4267.1656577944 2 5732.6848945752 )	53.8624331084 (ExtendedPoll)
-	1689+186	(	2 0 4262.8752134514 2 5736.6753788658 )	53.8614387941 (ExtendedPoll)
-	1689+187	(	2 0 4245.7134360797 2 5752.6373160280 )	53.8583843412 (ExtendedPoll)
-	1689+190	(	2 0 4247.8459166796 2 5750.8801520137 )	53.8564841075 (ExtendedPoll)
-	1689+191	(	2 0 4254.2433584792 2 5745.6086599708 )	53.8509013362 (ExtendedPoll)
-	1689+203	(	2 0 4254.3648432334 2 5745.5967180794 )	53.8499381914 (ExtendedPoll)
-	1689+208	(	2 0 4254.3884937761 2 5745.5774316250 )	53.8499159225 (ExtendedPoll)
-	1689+209	(	2 0 4254.4594454040 2 5745.5195722617 )	53.8498491302 (ExtendedPoll)
-	1689+216	(	2 0 4254.4747041982 2 5745.5195660142 )	53.8497136099 (ExtendedPoll)
-	1689+222	(	2 0 4254.4785171266 2 5745.5196821982 )	53.8496785985 (ExtendedPoll)
-	1689+225	(	2 0 4254.4745684192 2 5745.5233580070 )	53.8496778754 (ExtendedPoll)
-	1689+226	(	2 0 4254.4627222968 2 5745.5343854333 )	53.8496757065 (ExtendedPoll)
-	1689+227	(	2 0 4254.4153378073 2 5745.5784951385 )	53.8496670379 (ExtendedPoll)
-	1689+228	(	2 0 4254.2257998495 2 5745.7549339594 )	53.8496324765 (ExtendedPoll)
-	1689+229	(	2 0 4253.4676480183 2 5746.4606892429 )	53.8494960362 (ExtendedPoll)
-	1689+230	(	2 0 4250.4350406932 2 5749.2837103771 )	53.8489791731 (ExtendedPoll)
-	1689+231	(	2 0 4238.3046113928 2 5760.5757949136 )	53.8473747522 (ExtendedPoll)
-	1689+233	(	2 0 4237.9514726055 2 5760.9129400964 )	53.8472576934 (ExtendedPoll)
-	1689+234	(	2 0 4236.8920562434 2 5761.9243756450 )	53.8469104201 (ExtendedPoll)
-	1689+235	(	2 0 4232.6543907954 2 5765.9701178391 )	53.8455799016 (ExtendedPoll)
-	1689+236	(	2 0 4215.7037290030 2 5782.1530866154 )	53.8411968855 (ExtendedPoll)
-	1689+237	(	2 0 4147.9010818337 2 5846.8849617209 )	53.8388064213 (ExtendedPoll)
-	1689+239	(	2 0 4139.4939903168 2 5859.9869225266 )	53.7929039460 (ExtendedPoll)
-	1689+243	(	2 0 4134.1713187395 2 5865.6917346274 )	53.7882968215 (ExtendedPoll)
-	1689+250	(	2 0 4133.4948958932 2 5866.3963062176 )	53.7879136446 (ExtendedPoll)
-	1689+251	(	2 0 4131.4656273543 2 5868.5100209882 )	53.7867806418 (ExtendedPoll)
-	1689+261	(	2 0 4131.5933562783 2 5868.3938874275 )	53.7866942837 (ExtendedPoll)
-	1689+270	(	2 0 4131.5998202039 2 5868.3898345950 )	53.7866729850 (ExtendedPoll)
-	1689+271	(	2 0 4131.6192119808 2 5868.3776760976 )	53.7866090899 (ExtendedPoll)
-	1689+279	(	2 0 4131.6209541211 2 5868.3784525807 )	53.7865860060 (ExtendedPoll)
-	1689+284	(	2 0 4131.6214166274 2 5868.3783365570 )	53.7865828676 (ExtendedPoll)
-	1689+287	(	2 0 4131.6210066099 2 5868.3788719382 )	53.7865816357 (ExtendedPoll)
-	1689+293	(	2 0 4131.6209362583 2 5868.3789681750 )	53.7865813838 (ExtendedPoll)
-	1689+294	(	2 0 4131.6207252036 2 5868.3792568852 )	53.7865806279 (ExtendedPoll)
-	1689+298	(	2 0 4131.6206891940 2 5868.3793043828 )	53.7865805153 (ExtendedPoll)
-	1689+304	(	2 0 4131.6206796375 2 5868.3793158160 )	53.7865804962 (ExtendedPoll)
-	1689+308	(	2 0 4131.6206768768 2 5868.3793227362 )	53.7865804572 (ExtendedPoll)
-	1689+313	(	2 0 4131.6206782642 2 5868.3793214934 )	53.7865804561 (ExtendedPoll)
-	1689+315	(	2 0 4131.6206745081 2 5868.3793251876 )	53.7865804560 (ExtendedPoll)
-	1689+316	(	2 0 4131.6206632396 2 5868.3793362702 )	53.7865804559 (ExtendedPoll)
-	1689+317	(	2 0 4131.6206181660 2 5868.3793806004 )	53.7865804552 (ExtendedPoll)
-	1689+318	(	2 0 4131.6204378713 2 5868.3795579212 )	53.7865804528 (ExtendedPoll)
-	1689+319	(	2 0 4131.6197166927 2 5868.3802672046 )	53.7865804428 (ExtendedPoll)
-	1689+320	(	2 0 4131.6168319783 2 5868.3831043383 )	53.7865804032 (ExtendedPoll)
-	1689+321	(	2 0 4131.6052931206 2 5868.3944528729 )	53.7865802452 (ExtendedPoll)
-	1689+322	(	2 0 4131.5591376898 2 5868.4398470112 )	53.7865796204 (ExtendedPoll)
-	1689+323	(	2 0 4131.3745159668 2 5868.6214235646 )	53.7865772402 (ExtendedPoll)
-	1689+324	(	2 0 4130.6360290747 2 5869.3477297782 )	53.7865696199 (ExtendedPoll)
-	1689+325	(	2 0 4127.6820815062 2 5872.2529546326 )	53.7865695587 (ExtendedPoll)
-	1689+328	(	2 0 4127.6840140147 2 5872.2603352230 )	53.7864835442 (ExtendedPoll)
-	1689+329	(	2 0 4127.6898115401 2 5872.2824769939 )	53.7862255016 (ExtendedPoll)
-	1689+330	(	2 0 4127.6796235307 2 5872.3112438240 )	53.7860518834 (ExtendedPoll)
-	1689+338	(	2 0 4127.6784943469 2 5872.3148875688 )	53.7860284213 (ExtendedPoll)
-	1689+339	(	2 0 4127.6750287014 2 5872.3216844082 )	53.7859970553 (ExtendedPoll)
-	1689+345	(	2 0 4127.6738721701 2 5872.3232011194 )	53.7859935510 (ExtendedPoll)
-	1689+346	(	2 0 4127.6704025761 2 5872.3277512530 )	53.7859830384 (ExtendedPoll)
-	1689+352	(	2 0 4127.6704920471 2 5872.3287007212 )	53.7859734249 (ExtendedPoll)
-	1689+357	(	2 0 4127.6702519860 2 5872.3291127215 )	53.7859717972 (ExtendedPoll)
-	1689+358	(	2 0 4127.6695318024 2 5872.3303487226 )	53.7859669139 (ExtendedPoll)
-	1689+364	(	2 0 4127.6693723329 2 5872.3305259594 )	53.7859667262 (ExtendedPoll)
-	1689+365	(	2 0 4127.6688939242 2 5872.3310576698 )	53.7859661633 (ExtendedPoll)
-	1689+372	(	2 0 4127.6688751072 2 5872.3311142263 )	53.7859658109 (ExtendedPoll)
-	1689+374	(	2 0 4127.6689990935 2 5872.3309999936 )	53.7859657384 (ExtendedPoll)
-	1689+382	(	2 0 4127.6690021165 2 5872.3309978166 )	53.7859657310 (ExtendedPoll)
-	2076+20	(	2 0 4999.9878997345 2 5000.0092959702 )	55.9016794952 (ExtendedPoll)
-	2076+21	(	2 0 4999.9515989379 2 5000.0371838810 )	55.9016196708 (ExtendedPoll)
-	2076+22	(	2 0 4999.8063957515 2 5000.1487355238 )	55.9013804121 (ExtendedPoll)
-	2076+23	(	2 0 4999.2255830062 2 5000.5949420954 )	55.9004239959 (ExtendedPoll)
-	2076+24	(	2 0 4996.9023320246 2 5002.3797683814 )	55.8966082342 (ExtendedPoll)
-	2076+25	(	2 0 4987.6093280984 2 5009.5190735258 )	55.8815039246 (ExtendedPoll)
-	2076+26	(	2 0 4950.4373123937 2 5038.0762941031 )	55.8236448341 (ExtendedPoll)
-	2076+27	(	2 0 4801.7492495748 2 5152.3051764124 )	55.6343152023 (ExtendedPoll)
-	2076+28	(	2 0 4206.9969982993 2 5609.2207056496 )	55.6253373563 (ExtendedPoll)
-	2076+32	(	2 0 4217.9971862258 2 5610.1214654550 )	55.5187948731 (ExtendedPoll)
-	2076+33	(	2 0 4250.9977500050 2 5612.8237448711 )	55.2000072940 (ExtendedPoll)
-	2076+34	(	2 0 4279.8220637775 2 5600.5952481192 )	55.0710067569 (ExtendedPoll)
-	2076+35	(	2 0 4366.2950050949 2 5563.9097578633 )	54.6951789859 (ExtendedPoll)
-	2076+39	(	2 0 4393.3723907599 2 5548.1874048965 )	54.6249740689 (ExtendedPoll)
-	2076+40	(	2 0 4474.6045477550 2 5501.0203459961 )	54.4266469861 (ExtendedPoll)
-	2076+42	(	2 0 4525.2654628702 2 5464.3348557403 )	54.3900963042 (ExtendedPoll)
-	2076+48	(	2 0 4514.4563452056 2 5483.6602479286 )	54.2742359116 (ExtendedPoll)
-	2076+49	(	2 0 4491.7462798091 2 5505.0601172445 )	54.2385084897 (ExtendedPoll)
-	2076+50	(	2 0 4423.6160836196 2 5569.2597251923 )	54.1460338788 (ExtendedPoll)
-	2076+51	(	2 0 4151.0952988618 2 5826.0581569833 )	54.0054730693 (ExtendedPoll)
-	2076+57	(	2 0 4119.6505929283 2 5880.2129283134 )	53.7862527117 (ExtendedPoll)
-	2076+75	(	2 0 4119.5665931846 2 5880.3014995623 )	53.7862021958 (ExtendedPoll)
-	2076+76	(	2 0 4119.3145939537 2 5880.5672133090 )	53.7860509080 (ExtendedPoll)
-	2076+77	(	2 0 4118.3065970302 2 5881.6300682960 )	53.7854496575 (ExtendedPoll)
-	2076+88	(	2 0 4118.3108711544 2 5881.6602849630 )	53.7851316932 (ExtendedPoll)
-	2076+96	(	2 0 4118.3198847115 2 5881.6662155602 )	53.7849945777 (ExtendedPoll)
-	2076+97	(	2 0 4118.3348277986 2 5881.6631276284 )	53.7848865134 (ExtendedPoll)
-	2076+99	(	2 0 4118.3462668702 2 5881.6530292707 )	53.7848751796 (ExtendedPoll)
-	2076+108	(	2 0 4118.3455932557 2 5881.6537043543 )	53.7848751047 (ExtendedPoll)
-	2076+109	(	2 0 4118.3435724122 2 5881.6557296052 )	53.7848748801 (ExtendedPoll)
-	2076+110	(	2 0 4118.3354890381 2 5881.6638306090 )	53.7848739818 (ExtendedPoll)
-	2076+111	(	2 0 4118.3031555418 2 5881.6962346240 )	53.7848703922 (ExtendedPoll)
-	2076+112	(	2 0 4118.1738215565 2 5881.8258506839 )	53.7848560937 (ExtendedPoll)
-	2076+122	(	2 0 4118.1735085463 2 5881.8262104036 )	53.7848556344 (ExtendedPoll)
-	2076+123	(	2 0 4118.1725695157 2 5881.8272895629 )	53.7848542566 (ExtendedPoll)
-	2076+132	(	2 0 4118.1726545887 2 5881.8272060557 )	53.7848542498 (ExtendedPoll)
-	2076+133	(	2 0 4118.1729098077 2 5881.8269555344 )	53.7848542294 (ExtendedPoll)
-	2076+134	(	2 0 4118.1739306837 2 5881.8259534489 )	53.7848541479 (ExtendedPoll)
-	2076+135	(	2 0 4118.1780141879 2 5881.8219451070 )	53.7848538220 (ExtendedPoll)
-	2076+151	(	2 0 4118.1780093963 2 5881.8219592167 )	53.7848537356 (ExtendedPoll)
-	2076+152	(	2 0 4118.1779950216 2 5881.8220015460 )	53.7848534763 (ExtendedPoll)
-	2076+159	(	2 0 4118.1779947385 2 5881.8220052606 )	53.7848534446 (ExtendedPoll)
-	2244+6	(	2 0 4168.4622208673 2 5740.6975175468 )	54.6654457702 (ExtendedPoll)
-	2244+7	(	2 0 3937.8677106876 2 6034.1814395937 )	54.1025876908 (ExtendedPoll)
-	2244+15	(	2 0 3968.8756845943 2 6029.8141193251 )	53.8471893590 (ExtendedPoll)
-	2244+23	(	2 0 3966.3440036262 2 6032.7893562581 )	53.8453293272 (ExtendedPoll)
-	2244+29	(	2 0 3967.2852805629 2 6032.5287671287 )	53.8387026417 (ExtendedPoll)
-	2244+32	(	2 0 3966.9613567598 2 6032.8941676795 )	53.8385991104 (ExtendedPoll)
-	2244+33	(	2 0 3965.9895853505 2 6033.9903693319 )	53.8382928991 (ExtendedPoll)
-	2244+45	(	2 0 3966.0039197226 2 6033.9851390276 )	53.8382028409 (ExtendedPoll)
-	2244+46	(	2 0 3966.0291479677 2 6033.9679675607 )	53.8381131770 (ExtendedPoll)
-	2244+52	(	2 0 3966.0378553973 2 6033.9615960721 )	53.8380860741 (ExtendedPoll)
-	2244+64	(	2 0 3966.0380469160 2 6033.9618735742 )	53.8380818691 (ExtendedPoll)
-	2244+69	(	2 0 3966.0381004053 2 6033.9618472758 )	53.8380815916 (ExtendedPoll)
-	2244+74	(	2 0 3966.0381302064 2 6033.9618470067 )	53.8380813128 (ExtendedPoll)
-	2244+79	(	2 0 3966.0381451069 2 6033.9618471499 )	53.8380811710 (ExtendedPoll)
-	2244+84	(	2 0 3966.0381513080 2 6033.9618430199 )	53.8380811481 (ExtendedPoll)
-	2244+86	(	2 0 3966.0381381930 2 6033.9618595149 )	53.8380811293 (ExtendedPoll)
-	2244+91	(	2 0 3966.0381418784 2 6033.9618557502 )	53.8380811271 (ExtendedPoll)
-	2244+92	(	2 0 3966.0381529347 2 6033.9618444560 )	53.8380811204 (ExtendedPoll)
-	2244+93	(	2 0 3966.0381971599 2 6033.9617992793 )	53.8380810935 (ExtendedPoll)
-	2244+94	(	2 0 3966.0383740607 2 6033.9616185725 )	53.8380809858 (ExtendedPoll)
-	2244+95	(	2 0 3966.0390816638 2 6033.9608957451 )	53.8380805552 (ExtendedPoll)
-	2244+96	(	2 0 3966.0419120761 2 6033.9580044356 )	53.8380788327 (ExtendedPoll)
-	2244+97	(	2 0 3966.0532337255 2 6033.9464391976 )	53.8380719433 (ExtendedPoll)
-	2244+98	(	2 0 3966.0985203229 2 6033.9001782457 )	53.8380443936 (ExtendedPoll)
-	2244+99	(	2 0 3966.2796667126 2 6033.7151344380 )	53.8379343190 (ExtendedPoll)
-	2244+100	(	2 0 3967.0042522715 2 6032.9749592074 )	53.8374960138 (ExtendedPoll)
-	2244+101	(	2 0 3969.9025945070 2 6030.0142582847 )	53.8357746693 (ExtendedPoll)
-	2244+102	(	2 0 3981.4959634492 2 6018.1714545940 )	53.8293988351 (ExtendedPoll)
-	2244+103	(	2 0 4027.8694392178 2 5970.8002398312 )	53.8120165816 (ExtendedPoll)
-	2244+105	(	2 0 4027.8996279793 2 5970.7957732839 )	53.8117751288 (ExtendedPoll)
-	2244+106	(	2 0 4027.9901942637 2 5970.7823736422 )	53.8110507797 (ExtendedPoll)
-	2244+107	(	2 0 4028.3524594017 2 5970.7287750751 )	53.8081535202 (ExtendedPoll)
-	2244+108	(	2 0 4028.5782890972 2 5970.8215646372 )	53.8052259801 (ExtendedPoll)
-	2244+109	(	2 0 4029.0659874104 2 5970.8447020517 )	53.8004791353 (ExtendedPoll)
-	2244+117	(	2 0 4029.1224148462 2 5970.8679660822 )	53.7997469853 (ExtendedPoll)
-	2244+125	(	2 0 4029.1289146169 2 5970.8639709871 )	53.7997219690 (ExtendedPoll)
-	2244+129	(	2 0 4029.1327113864 2 5970.8636015775 )	53.7996898997 (ExtendedPoll)
-	2244+134	(	2 0 4029.1345329350 2 5970.8641672091 )	53.7996679124 (ExtendedPoll)
-	2244+136	(	2 0 4029.1361890843 2 5970.8632210851 )	53.7996608999 (ExtendedPoll)
-	2244+142	(	2 0 4029.1366590260 2 5970.8631402857 )	53.7996572423 (ExtendedPoll)
-	2244+146	(	2 0 4029.1368554851 2 5970.8630052034 )	53.7996566135 (ExtendedPoll)
-	2244+147	(	2 0 4029.1372198865 2 5970.8626976562 )	53.7996559536 (ExtendedPoll)
-	2244+158	(	2 0 4029.1372434032 2 5970.8627159631 )	53.7996555720 (ExtendedPoll)
-	2244+159	(	2 0 4029.1372160758 2 5970.8627689341 )	53.7996553557 (ExtendedPoll)
-	2244+165	(	2 0 4029.1372107574 2 5970.8627828538 )	53.7996552815 (ExtendedPoll)
-	2244+168	(	2 0 4029.1372020883 2 5970.8627949737 )	53.7996552545 (ExtendedPoll)
-	2244+172	(	2 0 4029.1371973626 2 5970.8628007338 )	53.7996552473 (ExtendedPoll)
-	2244+179	(	2 0 4029.1371969852 2 5970.8628025579 )	53.7996552346 (ExtendedPoll)
-	2244+181	(	2 0 4029.1372006890 2 5970.8627988111 )	53.7996552334 (ExtendedPoll)
-	2244+182	(	2 0 4029.1372118001 2 5970.8627875709 )	53.7996552298 (ExtendedPoll)
-	2244+183	(	2 0 4029.1372562449 2 5970.8627426102 )	53.7996552156 (ExtendedPoll)
-	2244+184	(	2 0 4029.1374340239 2 5970.8625627674 )	53.7996551585 (ExtendedPoll)
-	2244+185	(	2 0 4029.1381451401 2 5970.8618433959 )	53.7996549302 (ExtendedPoll)
-	2244+186	(	2 0 4029.1409896047 2 5970.8589659099 )	53.7996540170 (ExtendedPoll)
-	2244+187	(	2 0 4029.1523674632 2 5970.8474559659 )	53.7996503647 (ExtendedPoll)
-	2244+188	(	2 0 4029.1978788972 2 5970.8014161900 )	53.7996357631 (ExtendedPoll)
-	2244+189	(	2 0 4029.3799246331 2 5970.6172570866 )	53.7995774796 (ExtendedPoll)
-	2244+190	(	2 0 4030.1081075767 2 5969.8806206727 )	53.7993463077 (ExtendedPoll)
-	2244+191	(	2 0 4033.0208393511 2 5966.9340750174 )	53.7984530101 (ExtendedPoll)
-	2244+192	(	2 0 4044.6717664489 2 5955.1478923961 )	53.7953815270 (ExtendedPoll)
-	2244+193	(	2 0 4091.2754748399 2 5908.0031619108 )	53.7910882360 (ExtendedPoll)
-	2244+196	(	2 0 4091.3024169829 2 5908.0174949293 )	53.7907097823 (ExtendedPoll)
-	2244+197	(	2 0 4091.3832434122 2 5908.0604939849 )	53.7895744291 (ExtendedPoll)
-	2244+198	(	2 0 4091.7065491291 2 5908.2324902073 )	53.7850331320 (ExtendedPoll)
-	2244+201	(	2 0 4091.7062625770 2 5908.2935241345 )	53.7844786297 (ExtendedPoll)
-	2244+218	(	2 0 4091.7061814853 2 5908.2937483387 )	53.7844773284 (ExtendedPoll)
-	2244+225	(	2 0 4091.7061774429 2 5908.2938078061 )	53.7844768227 (ExtendedPoll)
-	2244+228	(	2 0 4091.7061404988 2 5908.2938545806 )	53.7844767353 (ExtendedPoll)
-	2244+237	(	2 0 4091.7061392073 2 5908.2938580748 )	53.7844767152 (ExtendedPoll)
-	2244+242	(	2 0 4091.7061402086 2 5908.2938596455 )	53.7844766917 (ExtendedPoll)
-	2494+9	(	2 0 4996.9428758120 2 5002.4361458373 )	55.8956087809 (ExtendedPoll)
-	2494+10	(	2 0 4987.7715032480 2 5009.7445833492 )	55.8775091797 (ExtendedPoll)
-	2494+11	(	2 0 4951.0860129922 2 5038.9783333968 )	55.8077152532 (ExtendedPoll)
-	2494+12	(	2 0 4804.3440519688 2 5155.9133335874 )	55.5714059083 (ExtendedPoll)
-	2494+13	(	2 0 4217.3762078751 2 5623.6533343496 )	55.3875012518 (ExtendedPoll)
-	2494+15	(	2 0 4161.4745084376 2 5735.4567332245 )	54.7792090326 (ExtendedPoll)
-	2494+19	(	2 0 4301.2287570313 2 5616.6656219199 )	54.7199123025 (ExtendedPoll)
-	2494+25	(	2 0 4362.3712407911 2 5630.6410467792 )	54.0447637843 (ExtendedPoll)
-	2494+30	(	2 0 4360.6789041870 2 5638.2565614975 )	53.9822178137 (ExtendedPoll)
-	2494+34	(	2 0 4357.7855545091 2 5640.8837775966 )	53.9807745427 (ExtendedPoll)
-	2494+35	(	2 0 4349.1055054753 2 5648.7654258937 )	53.9766818176 (ExtendedPoll)
-	2494+36	(	2 0 4314.3853093403 2 5680.2920190824 )	53.9638836443 (ExtendedPoll)
-	2494+38	(	2 0 4293.8589040781 2 5703.8755485326 )	53.9100589240 (ExtendedPoll)
-	2494+44	(	2 0 4288.6181197559 2 5709.6895436401 )	53.8988093078 (ExtendedPoll)
-	2494+48	(	2 0 4286.0250233464 2 5712.6101890697 )	53.8928738710 (ExtendedPoll)
-	2494+49	(	2 0 4278.2457341180 2 5721.3721253585 )	53.8753278023 (ExtendedPoll)
-	2494+58	(	2 0 4278.6875840983 2 5721.1643151240 )	53.8734640832 (ExtendedPoll)
-	2494+62	(	2 0 4278.5548371810 2 5721.3692198536 )	53.8726233086 (ExtendedPoll)
-	2494+70	(	2 0 4278.5803407327 2 5721.3524598889 )	53.8725625799 (ExtendedPoll)
-	2494+71	(	2 0 4278.6568513877 2 5721.3021799948 )	53.8723804067 (ExtendedPoll)
-	2494+76	(	2 0 4278.6854324587 2 5721.3128786333 )	53.8720225267 (ExtendedPoll)
-	2494+84	(	2 0 4278.6872107890 2 5721.3121890539 )	53.8720135829 (ExtendedPoll)
-	2494+86	(	2 0 4278.6834607716 2 5721.3160673533 )	53.8720086108 (ExtendedPoll)
-	2494+87	(	2 0 4278.6722107195 2 5721.3277022515 )	53.8719936947 (ExtendedPoll)
-	2494+96	(	2 0 4278.6723989724 2 5721.3275559496 )	53.8719934685 (ExtendedPoll)
-	2494+98	(	2 0 4278.6719110434 2 5721.3280214306 )	53.8719932064 (ExtendedPoll)
-	2494+99	(	2 0 4278.6704472565 2 5721.3294178739 )	53.8719924200 (ExtendedPoll)
-	2494+100	(	2 0 4278.6645921088 2 5721.3350036468 )	53.8719892745 (ExtendedPoll)
-	2494+101	(	2 0 4278.6411715181 2 5721.3573467387 )	53.8719766944 (ExtendedPoll)
-	2494+102	(	2 0 4278.5474891555 2 5721.4467191061 )	53.8719264022 (ExtendedPoll)
-	2494+103	(	2 0 4278.1727597049 2 5721.8042085755 )	53.8717256857 (ExtendedPoll)
-	2494+104	(	2 0 4276.6738419026 2 5723.2341664534 )	53.8709300560 (ExtendedPoll)
-	2494+105	(	2 0 4270.6781706935 2 5728.9539979649 )	53.8678634044 (ExtendedPoll)
-	2494+106	(	2 0 4246.6954858570 2 5751.8333240110 )	53.8574561057 (ExtendedPoll)
-	2494+107	(	2 0 4150.7647465111 2 5843.3506281954 )	53.8459142947 (ExtendedPoll)
-	2494+110	(	2 0 4151.0319463303 2 5843.7593181024 )	53.8396594450 (ExtendedPoll)
-	2494+111	(	2 0 4151.8335457878 2 5844.9853878233 )	53.8208980002 (ExtendedPoll)
-	2494+112	(	2 0 4153.3279881922 2 5846.2426983850 )	53.7955624715 (ExtendedPoll)
-	2494+116	(	2 0 4153.1058903377 2 5846.6776178033 )	53.7935050825 (ExtendedPoll)
-	2494+118	(	2 0 4152.8591623323 2 5847.0989959699 )	53.7917987292 (ExtendedPoll)
-	2494+127	(	2 0 4152.8542659569 2 5847.1291180913 )	53.7915611730 (ExtendedPoll)
-	2494+129	(	2 0 4152.9186835311 2 5847.0716643992 )	53.7915145196 (ExtendedPoll)
-	2494+133	(	2 0 4152.8895239414 2 5847.1034820926 )	53.7914812417 (ExtendedPoll)
-	2494+138	(	2 0 4152.8811001224 2 5847.1162049217 )	53.7914385729 (ExtendedPoll)
-	2494+141	(	2 0 4152.8973868388 2 5847.1020486033 )	53.7914233161 (ExtendedPoll)
-	2494+150	(	2 0 4152.8955121262 2 5847.1039880394 )	53.7914221706 (ExtendedPoll)
-	2494+151	(	2 0 4152.8898879885 2 5847.1098063475 )	53.7914187344 (ExtendedPoll)
-	2494+159	(	2 0 4152.8896638419 2 5847.1102272180 )	53.7914168283 (ExtendedPoll)
-	2494+168	(	2 0 4152.8897034201 2 5847.1102717856 )	53.7914160520 (ExtendedPoll)
-	2494+172	(	2 0 4152.8897151731 2 5847.1102626252 )	53.7914160311 (ExtendedPoll)
-	2494+173	(	2 0 4152.8897504319 2 5847.1102351440 )	53.7914159684 (ExtendedPoll)
-	2494+177	(	2 0 4152.8897404990 2 5847.1102462518 )	53.7914159546 (ExtendedPoll)
-	2494+178	(	2 0 4152.8897107004 2 5847.1102795751 )	53.7914159130 (ExtendedPoll)
-	2494+182	(	2 0 4152.8897044864 2 5847.1102931188 )	53.7914158426 (ExtendedPoll)
-	2494+188	(	2 0 4152.8897024353 2 5847.1102962286 )	53.7914158321 (ExtendedPoll)
-	2494+193	(	2 0 4152.8897041880 2 5847.1102955980 )	53.7914158221 (ExtendedPoll)
-	2494+202	(	2 0 4152.8897041652 2 5847.1102957121 )	53.7914158212 (ExtendedPoll)
-	2494+205	(	2 0 4152.8897042523 2 5847.1102956349 )	53.7914158212 (ExtendedPoll)
-	2494+206	(	2 0 4152.8897045137 2 5847.1102954032 )	53.7914158210 (ExtendedPoll)
-	2494+207	(	2 0 4152.8897048775 2 5847.1102951127 )	53.7914158204 (ExtendedPoll)
-	2761	(	3 0 3333.3333333249 2 3333.3333333165 1 3333.3333333555 )	47.1682905221
-	2762	(	3 0 3333.3333332996 2 3333.3333332658 1 3333.3333334220 )	47.1682905221
-	2763	(	3 0 3333.3333331985 2 3333.3333330633 1 3333.3333336880 )	47.1682905221
-	2764	(	3 0 3333.3333327939 2 3333.3333322533 1 3333.3333347518 )	47.1682905219
-	2765	(	3 0 3333.3333311757 2 3333.3333290134 1 3333.3333390073 )	47.1682905212
-	2766	(	3 0 3333.3333247026 2 3333.3333160534 1 3333.3333560290 )	47.1682905185
-	2767	(	3 0 3333.3332988105 2 3333.3332642138 1 3333.3334241161 )	47.1682905075
-	2768	(	3 0 3333.3331952421 2 3333.3330568551 1 3333.3336964646 )	47.1682904637
-	2769	(	3 0 3333.3327809684 2 3333.3322274206 1 3333.3347858583 )	47.1682902884
-	2770	(	3 0 3333.3311238738 2 3333.3289096824 1 3333.3391434333 )	47.1682895873
-	2771	(	3 0 3333.3244954951 2 3333.3156387294 1 3333.3565737331 )	47.1682867830
-	2772	(	3 0 3333.2979819803 2 3333.2625549176 1 3333.4262949324 )	47.1682755667
-	2773	(	3 0 3333.1919279212 2 3333.0502196704 1 3333.7051797296 )	47.1682307194
-	2774	(	3 0 3332.7677116849 2 3332.2008786818 1 3334.8207189184 )	47.1680516124
-	2775	(	3 0 3331.0708467397 2 3328.8035147270 1 3339.2828756735 )	47.1673397044
-	2776	(	3 0 3324.2833869587 2 3315.2140589080 1 3357.1315026938 )	47.1645644377
-	2777	(	3 0 3297.1335478348 2 3260.8562356320 1 3428.5260107754 )	47.1546240959
-	2778	(	3 0 3188.5341913391 2 3043.4249425281 1 3714.1040431015 )	47.1336301248
-	2783	(	3 0 3188.5440963277 2 3043.4291749044 1 3714.1116982164 )	47.1334189419
-	2784	(	3 0 3188.5738112936 2 3043.4418720333 1 3714.1346635611 )	47.1327853954
-	2785	(	3 0 3188.6926711573 2 3043.4926605491 1 3714.2265249397 )	47.1302512441
-	2786	(	3 0 3189.1681106120 2 3043.6958146122 1 3714.5939704540 )	47.1201151932
-	2787	(	3 0 3191.0698684310 2 3044.5084308647 1 3716.0637525116 )	47.0795798665
-	2788	(	3 0 3198.6768997067 2 3047.7588958743 1 3721.9428807416 )	46.9175811367
-	2789	(	3 0 3198.8948848743 2 3047.5863280381 1 3722.3442473958 )	46.9131329647
-	2790	(	3 0 3199.5488403769 2 3047.0686245294 1 3723.5483473581 )	46.8997895433
-	2791	(	3 0 3202.1646623876 2 3044.9978104945 1 3728.3647472073 )	46.8464322782
-	2792	(	3 0 3212.6279504301 2 3036.7145543550 1 3747.6303466044 )	46.6332660653
-	2797+6	(	2 0 4900.6584516792 2 5075.3512624213 )	55.7642295241 (ExtendedPoll)
-	2797+7	(	2 0 4607.1745296323 2 5305.9457726010 )	55.4472050367 (ExtendedPoll)
-	2797+13	(	2 0 4509.3465556167 2 5389.7983217572 )	55.3312037272 (ExtendedPoll)
-	2797+14	(	2 0 4215.8626335698 2 5641.3559692260 )	55.2227885943 (ExtendedPoll)
-	2797+16	(	2 0 3880.4524369449 2 6088.5695647259 )	54.1867250496 (ExtendedPoll)
-	2797+25	(	2 0 3865.6035480318 2 6116.0836824178 )	54.0994049526 (ExtendedPoll)
-	2797+30	(	2 0 3858.1791035753 2 6129.8407412638 )	54.0570067200 (ExtendedPoll)
-	2797+35	(	2 0 3865.9856885553 2 6129.2948262302 )	53.9862513494 (ExtendedPoll)
-	2797+41	(	2 0 3867.9219809400 2 6129.0355165892 )	53.9697415456 (ExtendedPoll)
-	2797+42	(	2 0 3871.2247668931 2 6126.9473915858 )	53.9552082161 (ExtendedPoll)
-	2797+47	(	2 0 3872.9461052333 2 6126.0261599667 )	53.9462662728 (ExtendedPoll)
-	2797+51	(	2 0 3873.9223548519 2 6126.0547352067 )	53.9366367060 (ExtendedPoll)
-	2797+63	(	2 0 3873.9150839053 2 6126.0681502590 )	53.9365956057 (ExtendedPoll)
-	2797+64	(	2 0 3873.9023656577 2 6126.0958912493 )	53.9364883221 (ExtendedPoll)
-	2797+71	(	2 0 3873.8992381518 2 6126.1002869850 )	53.9364820231 (ExtendedPoll)
-	2797+82	(	2 0 3873.8993365564 2 6126.1005041485 )	53.9364792786 (ExtendedPoll)
-	2797+86	(	2 0 3873.8994440785 2 6126.1004526718 )	53.9364786703 (ExtendedPoll)
-	2797+89	(	2 0 3873.8995441434 2 6126.1003878808 )	53.9364782440 (ExtendedPoll)
-	2797+90	(	2 0 3873.8997141999 2 6126.1002207754 )	53.9364779912 (ExtendedPoll)
-	2797+91	(	2 0 3873.9002243693 2 6126.0997194591 )	53.9364772329 (ExtendedPoll)
-	2797+92	(	2 0 3873.9022650468 2 6126.0977141941 )	53.9364741996 (ExtendedPoll)
-	2797+99	(	2 0 3873.9023564295 2 6126.0976376432 )	53.9364739541 (ExtendedPoll)
-	2797+108	(	2 0 3873.9023666523 2 6126.0976268016 )	53.9364739455 (ExtendedPoll)
-	2797+109	(	2 0 3873.9023973206 2 6126.0975942769 )	53.9364739197 (ExtendedPoll)
-	2797+110	(	2 0 3873.9025199938 2 6126.0974641781 )	53.9364738164 (ExtendedPoll)
-	2797+111	(	2 0 3873.9030106867 2 6126.0969437827 )	53.9364734034 (ExtendedPoll)
-	2797+112	(	2 0 3873.9049734581 2 6126.0948622015 )	53.9364717515 (ExtendedPoll)
-	2797+113	(	2 0 3873.9128245438 2 6126.0865358764 )	53.9364651438 (ExtendedPoll)
-	2797+114	(	2 0 3873.9442288869 2 6126.0532305760 )	53.9364387171 (ExtendedPoll)
-	2797+115	(	2 0 3874.0698462589 2 6125.9200093744 )	53.9363330745 (ExtendedPoll)
-	2797+116	(	2 0 3874.5723157471 2 6125.3871245682 )	53.9359115277 (ExtendedPoll)
-	2797+117	(	2 0 3876.5821937000 2 6123.2555853431 )	53.9342417174 (ExtendedPoll)
-	2797+118	(	2 0 3884.6217055116 2 6114.7294284431 )	53.9278243645 (ExtendedPoll)
-	2797+119	(	2 0 3916.7797527577 2 6080.6248008429 )	53.9063357782 (ExtendedPoll)
-	2797+120	(	2 0 4045.4119417422 2 5944.2062904420 )	53.8866188839 (ExtendedPoll)
-	2797+123	(	2 0 4045.5215045970 2 5944.2601089211 )	53.8851192623 (ExtendedPoll)
-	2797+124	(	2 0 4045.8501931615 2 5944.4215643586 )	53.8806205222 (ExtendedPoll)
-	2797+125	(	2 0 4047.1649474193 2 5945.0673861082 )	53.8626274298 (ExtendedPoll)
-	2797+126	(	2 0 4048.1386380613 2 5945.1403169447 )	53.8529449201 (ExtendedPoll)
-	2797+127	(	2 0 4051.0597099870 2 5945.3591094543 )	53.8239051878 (ExtendedPoll)
-	2797+130	(	2 0 4052.9055851942 2 5944.7227772433 )	53.8125206018 (ExtendedPoll)
-	2797+135	(	2 0 4053.8541125651 2 5944.9547911326 )	53.8016493716 (ExtendedPoll)
-	2797+138	(	2 0 4054.7420774868 2 5944.5483403302 )	53.7970783073 (ExtendedPoll)
-	2797+144	(	2 0 4055.1565250914 2 5944.8064771068 )	53.7909201097 (ExtendedPoll)
-	2797+153	(	2 0 4055.1705529195 2 5944.8124812684 )	53.7907362425 (ExtendedPoll)
-	2797+158	(	2 0 4055.1759264999 2 5944.8178972016 )	53.7906378043 (ExtendedPoll)
-	2797+159	(	2 0 4055.1662131965 2 5944.8296651001 )	53.7906219881 (ExtendedPoll)
-	2797+163	(	2 0 4055.1612269352 2 5944.8354395879 )	53.7906162644 (ExtendedPoll)
-	2797+164	(	2 0 4055.1462681513 2 5944.8527630512 )	53.7905990941 (ExtendedPoll)
-	2797+170	(	2 0 4055.1439936051 2 5944.8558254594 )	53.7905926341 (ExtendedPoll)
-	2797+176	(	2 0 4055.1459887350 2 5944.8540101306 )	53.7905904735 (ExtendedPoll)
-	2797+198	(	2 0 4055.1459891780 2 5944.8540106179 )	53.7905904650 (ExtendedPoll)
-	2797+200	(	2 0 4055.1459895782 2 5944.8540103798 )	53.7905904635 (ExtendedPoll)
-	2797+211	(	2 0 4055.1459895943 2 5944.8540104040 )	53.7905904631 (ExtendedPoll)
-	3014	(	3 0 3210.5286604494 2 3038.4216692843 1 3750.4447793258 )	46.6015154107
-	3019+6	(	2 0 4692.2382076236 2 5223.3043522798 )	55.6902400114 (ExtendedPoll)
-	3019+14	(	2 0 4751.6337632759 2 5242.5205614614 )	54.9900785314 (ExtendedPoll)
-	3019+23	(	2 0 4744.8371211080 2 5251.2279062468 )	54.9451839171 (ExtendedPoll)
-	3019+24	(	2 0 4735.4473825306 2 5263.6747690122 )	54.8789033947 (ExtendedPoll)
-	3019+33	(	2 0 4734.9854872326 2 5264.5350116862 )	54.8728327514 (ExtendedPoll)
-	3019+34	(	2 0 4733.7844741588 2 5266.0755156716 )	54.8649914704 (ExtendedPoll)
-	3019+39	(	2 0 4733.0120896855 2 5266.6730367357 )	54.8644320425 (ExtendedPoll)
-	3019+40	(	2 0 4730.6949362657 2 5268.4655999279 )	54.8627657851 (ExtendedPoll)
-	3019+41	(	2 0 4721.4263225864 2 5275.6358526969 )	54.8562814361 (ExtendedPoll)
-	3019+42	(	2 0 4684.3518678691 2 5304.3168637731 )	54.8332529571 (ExtendedPoll)
-	3019+43	(	2 0 4536.0540490000 2 5419.0409080777 )	54.7888275928 (ExtendedPoll)
-	3019+46	(	2 0 4533.8703888657 2 5450.0488819844 )	54.4714998393 (ExtendedPoll)
-	3019+49	(	2 0 4509.4133953618 2 5469.7018231929 )	54.4660067399 (ExtendedPoll)
-	3019+50	(	2 0 4436.0424148501 2 5528.6606468184 )	54.4633610125 (ExtendedPoll)
-	3019+53	(	2 0 4390.6222840571 2 5570.5869213965 )	54.4160608763 (ExtendedPoll)
-	3019+54	(	2 0 4254.3618916782 2 5696.3657451309 )	54.3333134172 (ExtendedPoll)
-	3019+58	(	2 0 4163.5216300923 2 5787.2060067168 )	54.2619287838 (ExtendedPoll)
-	3019+64	(	2 0 4151.2931333404 2 5848.3484904766 )	53.7943165716 (ExtendedPoll)
-	3019+80	(	2 0 4151.1660641526 2 5848.5569671112 )	53.7935193903 (ExtendedPoll)
-	3019+81	(	2 0 4150.7848565894 2 5849.1823970151 )	53.7911289956 (ExtendedPoll)
-	3019+86	(	2 0 4150.6155109737 2 5849.3582466966 )	53.7910215159 (ExtendedPoll)
-	3019+87	(	2 0 4150.1074741268 2 5849.8857957410 )	53.7907001042 (ExtendedPoll)
-	3019+102	(	2 0 4150.1089861817 2 5849.8869583539 )	53.7906755049 (ExtendedPoll)
-	3019+103	(	2 0 4150.1127107275 2 5849.8861339310 )	53.7906493993 (ExtendedPoll)
-	3019+107	(	2 0 4150.1143060889 2 5849.8850885612 )	53.7906446904 (ExtendedPoll)
-	3019+108	(	2 0 4150.1171485655 2 5849.8825445004 )	53.7906426731 (ExtendedPoll)
-	3019+114	(	2 0 4150.1178834653 2 5849.8819367039 )	53.7906416845 (ExtendedPoll)
-	3019+125	(	2 0 4150.1179323692 2 5849.8819026286 )	53.7906415591 (ExtendedPoll)
-	3019+126	(	2 0 4150.1180790807 2 5849.8818004026 )	53.7906411831 (ExtendedPoll)
-	3019+127	(	2 0 4150.1182616331 2 5849.8816470466 )	53.7906409597 (ExtendedPoll)
-	3019+128	(	2 0 4150.1188092902 2 5849.8811869788 )	53.7906402897 (ExtendedPoll)
-	3019+142	(	2 0 4150.1188123412 2 5849.8811848413 )	53.7906402820 (ExtendedPoll)
-	3019+143	(	2 0 4150.1188214943 2 5849.8811784287 )	53.7906402588 (ExtendedPoll)
-	3019+153	(	2 0 4150.1188216858 2 5849.8811782962 )	53.7906402583 (ExtendedPoll)
-	3181+18	(	2 0 4999.8309411913 2 5000.1672333819 )	55.9009656850 (ExtendedPoll)
-	3181+20	(	2 0 4999.4491205399 2 5000.4715383635 )	55.9002031428 (ExtendedPoll)
-	3181+21	(	2 0 4998.3036585857 2 5001.3844533083 )	55.8979182003 (ExtendedPoll)
-	3181+22	(	2 0 4993.7218107688 2 5005.0361130876 )	55.8888187275 (ExtendedPoll)
-	3181+23	(	2 0 4975.3944195012 2 5019.6427522045 )	55.8530679233 (ExtendedPoll)
-	3181+24	(	2 0 4902.0848544307 2 5078.0693086723 )	55.7205670458 (ExtendedPoll)
-	3181+25	(	2 0 4608.8465941490 2 5311.7755345433 )	55.3681229992 (ExtendedPoll)
-	3181+27	(	2 0 4583.9528686182 2 5330.5550116980 )	55.3637996156 (ExtendedPoll)
-	3181+28	(	2 0 4509.2716920260 2 5386.8934431624 )	55.3635911500 (ExtendedPoll)
-	3181+30	(	2 0 4432.4068552994 2 5484.7214171780 )	54.9584061960 (ExtendedPoll)
-	3181+31	(	2 0 4201.8123451197 2 5778.2053392249 )	54.0036331278 (ExtendedPoll)
-	3181+43	(	2 0 4200.8569938110 2 5785.9573327015 )	53.9378132020 (ExtendedPoll)
-	3181+44	(	2 0 4192.2315362806 2 5799.0592935072 )	53.8900546358 (ExtendedPoll)
-	3181+52	(	2 0 4194.7836890625 2 5802.0140586264 )	53.8389301385 (ExtendedPoll)
-	3181+54	(	2 0 4192.4430783561 2 5805.1394221936 )	53.8302201837 (ExtendedPoll)
-	3181+55	(	2 0 4185.4212462368 2 5814.5155128951 )	53.8043694686 (ExtendedPoll)
-	3181+71	(	2 0 4185.4407963358 2 5814.5389460247 )	53.8039710219 (ExtendedPoll)
-	3181+77	(	2 0 4185.4480076188 2 5814.5364550417 )	53.8039296544 (ExtendedPoll)
-	3181+78	(	2 0 4185.4696414679 2 5814.5289820924 )	53.8038055528 (ExtendedPoll)
-	3181+81	(	2 0 4185.4807342197 2 5814.5185044072 )	53.8038049529 (ExtendedPoll)
-	3181+90	(	2 0 4185.4816714853 2 5814.5183282598 )	53.8037981763 (ExtendedPoll)
-	3181+108	(	2 0 4185.4816706336 2 5814.5183292645 )	53.8037981745 (ExtendedPoll)
-	3181+112	(	2 0 4185.4816710094 2 5814.5183289895 )	53.8037981737 (ExtendedPoll)
-	3304+6	(	2 0 4901.8695805142 2 5076.5623912563 )	55.7402643064 (ExtendedPoll)
-	3304+7	(	2 0 4608.3856584673 2 5307.1569014360 )	55.4236611469 (ExtendedPoll)
-	3304+15	(	2 0 4606.6387303599 2 5338.1648753428 )	55.0917439291 (ExtendedPoll)
-	3304+16	(	2 0 4589.1694492857 2 5397.5604309951 )	54.5804183615 (ExtendedPoll)
-	3304+22	(	2 0 4562.9655276744 2 5433.3724571972 )	54.4082368778 (ExtendedPoll)
-	3304+23	(	2 0 4514.0515406666 2 5471.8048755605 )	54.4043973012 (ExtendedPoll)
-	3304+30	(	2 0 4527.6994165058 2 5464.1620650905 )	54.3714868324 (ExtendedPoll)
-	3304+37	(	2 0 4526.1776783497 2 5467.7582803742 )	54.3456878637 (ExtendedPoll)
-	3304+38	(	2 0 4521.0733727858 2 5473.6814584884 )	54.3251632561 (ExtendedPoll)
-	3304+39	(	2 0 4505.7604560942 2 5491.4509928311 )	54.2645642604 (ExtendedPoll)
-	3304+43	(	2 0 4501.4477273290 2 5497.9746774822 )	54.2316163720 (ExtendedPoll)
-	3304+45	(	2 0 4495.7156194766 2 5503.2973490595 )	54.2235944245 (ExtendedPoll)
-	3304+46	(	2 0 4478.5192959191 2 5519.2653637914 )	54.2004433791 (ExtendedPoll)
-	3304+47	(	2 0 4409.7340016894 2 5583.1374227190 )	54.1217038236 (ExtendedPoll)
-	3304+48	(	2 0 4134.5928247705 2 5838.6256584295 )	54.0371198163 (ExtendedPoll)
-	3304+50	(	2 0 4057.7279880439 2 5936.4536324451 )	53.8423122971 (ExtendedPoll)
-	3304+55	(	2 0 4036.3281187280 2 5959.1636978416 )	53.8369788559 (ExtendedPoll)
-	3304+63	(	2 0 4033.2436987883 2 5966.3424805330 )	53.8016467560 (ExtendedPoll)
-	3304+73	(	2 0 4033.3453648009 2 5966.5644451074 )	53.7987246325 (ExtendedPoll)
-	3304+77	(	2 0 4033.4533282953 2 5966.5074812194 )	53.7982274597 (ExtendedPoll)
-	3304+84	(	2 0 4033.4322917074 2 5966.5295898786 )	53.7982263075 (ExtendedPoll)
-	3304+85	(	2 0 4033.3691819436 2 5966.5959158563 )	53.7982228672 (ExtendedPoll)
-	3304+86	(	2 0 4033.1167428886 2 5966.8612197669 )	53.7982093544 (ExtendedPoll)
-	3304+94	(	2 0 4033.1071823367 2 5966.8731120948 )	53.7981924297 (ExtendedPoll)
-	3304+95	(	2 0 4033.0785006809 2 5966.9087890783 )	53.7981416597 (ExtendedPoll)
-	3304+100	(	2 0 4033.0925954613 2 5966.9029438115 )	53.7980625663 (ExtendedPoll)
-	3304+105	(	2 0 4033.0991795212 2 5966.8990892331 )	53.7980356267 (ExtendedPoll)
-	3304+115	(	2 0 4033.0989658428 2 5966.8995155138 )	53.7980338197 (ExtendedPoll)
-	3304+116	(	2 0 4033.0983248077 2 5966.9007943557 )	53.7980283990 (ExtendedPoll)
-	3304+119	(	2 0 4033.0980226539 2 5966.9016988988 )	53.7980231575 (ExtendedPoll)
-	3304+127	(	2 0 4033.0981418065 2 5966.9016952224 )	53.7980220818 (ExtendedPoll)
-	3304+129	(	2 0 4033.0982490223 2 5966.9016431107 )	53.7980215482 (ExtendedPoll)
-	3304+133	(	2 0 4033.0983032868 2 5966.9016184516 )	53.7980212629 (ExtendedPoll)
-	3304+134	(	2 0 4033.0983898253 2 5966.9015364642 )	53.7980211876 (ExtendedPoll)
-	3304+135	(	2 0 4033.0986494409 2 5966.9012905019 )	53.7980209620 (ExtendedPoll)
-	3304+136	(	2 0 4033.0996879031 2 5966.9003066526 )	53.7980200592 (ExtendedPoll)
-	3304+144	(	2 0 4033.0996674107 2 5966.9003282915 )	53.7980200572 (ExtendedPoll)
-	3304+145	(	2 0 4033.0996059334 2 5966.9003932080 )	53.7980200513 (ExtendedPoll)
-	3304+160	(	2 0 4033.0996058034 2 5966.9003936551 )	53.7980200485 (ExtendedPoll)
-	3304+167	(	2 0 4033.0996061081 2 5966.9003937799 )	53.7980200446 (ExtendedPoll)
-	3304+171	(	2 0 4033.0996062242 2 5966.9003937721 )	53.7980200436 (ExtendedPoll)
-	3483	(	3 0 3210.2889578675 2 3039.3458759311 1 3750.2389595149 )	46.5961289316
-	3488+3	(	2 0 4552.7233011568 2 5335.3470932817 )	55.5692389089 (ExtendedPoll)
-	3488+7	(	2 0 4440.9199022818 2 5558.9538910317 )	54.1048755479 (ExtendedPoll)
-	3488+29	(	2 0 4440.9496420561 2 5559.0071913847 )	54.1040659660 (ExtendedPoll)
-	3488+33	(	2 0 4440.9365610370 2 5559.0347632759 )	54.1038907469 (ExtendedPoll)
-	3488+34	(	2 0 4440.8905377740 2 5559.0748522452 )	54.1038670525 (ExtendedPoll)
-	3488+35	(	2 0 4440.7524679852 2 5559.1951191530 )	54.1037960247 (ExtendedPoll)
-	3488+36	(	2 0 4440.2001888298 2 5559.6761867843 )	54.1035127440 (ExtendedPoll)
-	3488+37	(	2 0 4437.9910722084 2 5561.6004573097 )	54.1023929098 (ExtendedPoll)
-	3488+38	(	2 0 4429.1546057226 2 5569.2975394109 )	54.0981264568 (ExtendedPoll)
-	3488+39	(	2 0 4393.8087397796 2 5600.0858678158 )	54.0844835555 (ExtendedPoll)
-	3488+42	(	2 0 4394.2113521169 2 5603.9686884921 )	54.0411680120 (ExtendedPoll)
-	3488+43	(	2 0 4388.9432720429 2 5609.7553878479 )	54.0274056417 (ExtendedPoll)
-	3488+48	(	2 0 4388.0032745945 2 5611.4664902813 )	54.0180260116 (ExtendedPoll)
-	3488+51	(	2 0 4386.7886136448 2 5612.9967583598 )	54.0128824739 (ExtendedPoll)
-	3488+57	(	2 0 4386.4467770046 2 5613.3454189378 )	54.0122750804 (ExtendedPoll)
-	3488+58	(	2 0 4385.4212670842 2 5614.3914006721 )	54.0104567213 (ExtendedPoll)
-	3488+59	(	2 0 4381.3192274022 2 5618.5753276090 )	54.0032406382 (ExtendedPoll)
-	3488+62	(	2 0 4380.5784036418 2 5619.2116598200 )	54.0031640007 (ExtendedPoll)
-	3488+63	(	2 0 4378.3559323606 2 5621.1206564531 )	54.0029484717 (ExtendedPoll)
-	3488+64	(	2 0 4369.4660472359 2 5628.7566429851 )	54.0023023644 (ExtendedPoll)
-	3488+72	(	2 0 4369.5969815447 2 5629.7243626813 )	53.9913292971 (ExtendedPoll)
-	3488+75	(	2 0 4369.6824940167 2 5630.2051304326 )	53.9857012024 (ExtendedPoll)
-	3488+82	(	2 0 4369.6472614388 2 5630.3220036975 )	53.9848193694 (ExtendedPoll)
-	3488+85	(	2 0 4369.6050333250 2 5630.3660727419 )	53.9847380922 (ExtendedPoll)
-	3488+86	(	2 0 4369.4783489833 2 5630.4982798750 )	53.9844943213 (ExtendedPoll)
-	3488+87	(	2 0 4368.9716116168 2 5631.0271084078 )	53.9835201449 (ExtendedPoll)
-	3488+91	(	2 0 4368.8845997443 2 5631.1127275039 )	53.9834056991 (ExtendedPoll)
-	3488+92	(	2 0 4368.6235641269 2 5631.3695847921 )	53.9830625988 (ExtendedPoll)
-	3488+93	(	2 0 4367.5794216571 2 5632.3970139452 )	53.9816937566 (ExtendedPoll)
-	3488+94	(	2 0 4363.4028517782 2 5636.5067305573 )	53.9762753650 (ExtendedPoll)
-	3488+95	(	2 0 4346.6965722627 2 5652.9455970056 )	53.9555155106 (ExtendedPoll)
-	3488+96	(	2 0 4279.8714542003 2 5718.7010627990 )	53.8872266051 (ExtendedPoll)
-	3488+97	(	2 0 4012.5709819511 2 5981.7229259727 )	53.8578815474 (ExtendedPoll)
-	3488+99	(	2 0 4003.8363414140 2 5994.7157037717 )	53.8249871296 (ExtendedPoll)
-	3488+107	(	2 0 4003.0106449257 2 5996.4848096773 )	53.8171655728 (ExtendedPoll)
-	3488+110	(	2 0 4002.3593853505 2 5997.2124120580 )	53.8168706752 (ExtendedPoll)
-	3488+111	(	2 0 4000.4056066249 2 5999.3952192000 )	53.8160033453 (ExtendedPoll)
-	3488+119	(	2 0 4000.3383801740 2 5999.4971117887 )	53.8157389067 (ExtendedPoll)
-	3488+120	(	2 0 4000.1367008212 2 5999.8027895547 )	53.8149458834 (ExtendedPoll)
-	3488+126	(	2 0 4000.1340485485 2 5999.8637668378 )	53.8144356991 (ExtendedPoll)
-	3488+134	(	2 0 4000.1293216626 2 5999.8697555108 )	53.8144274351 (ExtendedPoll)
-	3488+142	(	2 0 4000.1301279381 2 5999.8692461828 )	53.8144243508 (ExtendedPoll)
-	3488+146	(	2 0 4000.1294111560 2 5999.8703886418 )	53.8144210416 (ExtendedPoll)
-	3488+148	(	2 0 4000.1312576800 2 5999.8684223480 )	53.8144209958 (ExtendedPoll)
-	3488+149	(	2 0 4000.1367972520 2 5999.8625234666 )	53.8144208588 (ExtendedPoll)
-	3488+150	(	2 0 4000.1589555398 2 5999.8389279410 )	53.8144203127 (ExtendedPoll)
-	3488+151	(	2 0 4000.2475886910 2 5999.7445458387 )	53.8144181595 (ExtendedPoll)
-	3488+152	(	2 0 4000.6021212960 2 5999.3670174292 )	53.8144100483 (ExtendedPoll)
-	3488+153	(	2 0 4002.0202517159 2 5997.8569037914 )	53.8143856278 (ExtendedPoll)
-	3488+155	(	2 0 4002.1422495983 2 5997.8527654463 )	53.8132795659 (ExtendedPoll)
-	3488+164	(	2 0 4002.1489902101 2 5997.8491916670 )	53.8132478315 (ExtendedPoll)
-	3488+169	(	2 0 4002.1460036830 2 5997.8536843822 )	53.8132363424 (ExtendedPoll)
-	3488+176	(	2 0 4002.1464898557 2 5997.8532170669 )	53.8132358938 (ExtendedPoll)
-	3488+177	(	2 0 4002.1479483737 2 5997.8518151211 )	53.8132345481 (ExtendedPoll)
-	3488+178	(	2 0 4002.1537824458 2 5997.8462073379 )	53.8132291653 (ExtendedPoll)
-	3488+194	(	2 0 4002.1537952967 2 5997.8461997948 )	53.8132291112 (ExtendedPoll)
-	3488+205	(	2 0 4002.1537979211 2 5997.8462000219 )	53.8132290846 (ExtendedPoll)
-	3488+207	(	2 0 4002.1537995406 2 5997.8461991017 )	53.8132290775 (ExtendedPoll)
-	3488+208	(	2 0 4002.1538022459 2 5997.8461965406 )	53.8132290747 (ExtendedPoll)
-	3488+209	(	2 0 4002.1538103616 2 5997.8461888572 )	53.8132290662 (ExtendedPoll)
-	3488+218	(	2 0 4002.1538099327 2 5997.8461896839 )	53.8132290629 (ExtendedPoll)
-	3488+226	(	2 0 4002.1538099976 2 5997.8461897805 )	53.8132290615 (ExtendedPoll)
-	3488+229	(	2 0 4002.1538101107 2 5997.8461898084 )	53.8132290602 (ExtendedPoll)
-	3488+234	(	2 0 4002.1538101371 2 5997.8461898603 )	53.8132290595 (ExtendedPoll)
-	3729+22	(	2 0 4999.8953615990 2 4999.9816204393 )	55.9027305088 (ExtendedPoll)
-	3729+23	(	2 0 4999.7707564260 2 5000.1157917870 )	55.9020567360 (ExtendedPoll)
-	3729+24	(	2 0 4999.2723357338 2 5000.6524771780 )	55.8993623523 (ExtendedPoll)
-	3729+27	(	2 0 4999.1349773271 2 5000.8543164668 )	55.8979629118 (ExtendedPoll)
-	3729+34	(	2 0 4999.0739417340 2 5000.9153520600 )	55.8976901754 (ExtendedPoll)
-	3729+35	(	2 0 4998.8908349545 2 5001.0984588395 )	55.8968720583 (ExtendedPoll)
-	3729+36	(	2 0 4998.1584078364 2 5001.8308859575 )	55.8936009704 (ExtendedPoll)
-	3729+37	(	2 0 4995.2286993643 2 5004.7605944297 )	55.8805387184 (ExtendedPoll)
-	3729+38	(	2 0 4983.5098654757 2 5016.4794283182 )	55.8286442151 (ExtendedPoll)
-	3729+39	(	2 0 4936.6345299214 2 5063.3547638726 )	55.6267962813 (ExtendedPoll)
-	3729+40	(	2 0 4749.1331877041 2 5250.8561060898 )	54.9147822323 (ExtendedPoll)
-	3729+41	(	2 0 3999.1278188349 2 6000.8614749590 )	53.8151109452 (ExtendedPoll)
-	3729+58	(	2 0 3999.1207593662 2 6000.8750024663 )	53.8150584528 (ExtendedPoll)
-	3729+65	(	2 0 3999.1195214058 2 6000.8764534763 )	53.8150573268 (ExtendedPoll)
-	3729+66	(	2 0 3999.1158075247 2 6000.8808065061 )	53.8150539489 (ExtendedPoll)
-	3729+67	(	2 0 3999.1009520003 2 6000.8982186254 )	53.8150404383 (ExtendedPoll)
-	3729+77	(	2 0 3999.1012090993 2 6000.8986202144 )	53.8150345073 (ExtendedPoll)
-	3729+84	(	2 0 3999.1012443818 2 6000.8986682546 )	53.8150337554 (ExtendedPoll)
-	3729+85	(	2 0 3999.1011692098 2 6000.8987607750 )	53.8150336483 (ExtendedPoll)
-	3729+86	(	2 0 3999.1009436941 2 6000.8990383364 )	53.8150333272 (ExtendedPoll)
-	3729+96	(	2 0 3999.1009378077 2 6000.8990520256 )	53.8150332623 (ExtendedPoll)
-	3729+100	(	2 0 3999.1009370763 2 6000.8990594402 )	53.8150332041 (ExtendedPoll)
-	3729+103	(	2 0 3999.1009434424 2 6000.8990555693 )	53.8150331784 (ExtendedPoll)
-	3729+109	(	2 0 3999.1009426080 2 6000.8990572346 )	53.8150331716 (ExtendedPoll)
-	3729+113	(	2 0 3999.1009445289 2 6000.8990554321 )	53.8150331694 (ExtendedPoll)
-	3857+21	(	2 0 4999.7695768976 2 5000.1146922267 )	55.9020792324 (ExtendedPoll)
-	3857+22	(	2 0 4999.2676176204 2 5000.6480789368 )	55.8994523349 (ExtendedPoll)
-	3857+26	(	2 0 4999.0614867145 2 5000.9250615107 )	55.8976679710 (ExtendedPoll)
-	3857+37	(	2 0 4999.0655499855 2 5000.9315188764 )	55.8975579561 (ExtendedPoll)
-	3857+39	(	2 0 4999.0601491243 2 5000.9369076070 )	55.8975339712 (ExtendedPoll)
-	3857+40	(	2 0 4999.0439465409 2 5000.9530737988 )	55.8974620175 (ExtendedPoll)
-	3857+41	(	2 0 4998.9791362072 2 5001.0177385657 )	55.8971742134 (ExtendedPoll)
-	3857+42	(	2 0 4998.7198948722 2 5001.2763976335 )	55.8960231692 (ExtendedPoll)
-	3857+43	(	2 0 4997.6829295325 2 5002.3110339045 )	55.8914217511 (ExtendedPoll)
-	3857+44	(	2 0 4993.5350681737 2 5006.4495789887 )	55.8730602592 (ExtendedPoll)
-	3857+45	(	2 0 4976.9436227384 2 5023.0037593255 )	55.8003237383 (ExtendedPoll)
-	3857+46	(	2 0 4910.5778409973 2 5089.2204806727 )	55.5208926377 (ExtendedPoll)
-	3857+47	(	2 0 4645.1147140329 2 5354.0873660614 )	54.5978092091 (ExtendedPoll)
-	3857+49	(	2 0 4641.9961744036 2 5356.4416246436 )	54.5973154410 (ExtendedPoll)
-	3857+50	(	2 0 4632.6405555159 2 5363.5044003904 )	54.5960322314 (ExtendedPoll)
-	3857+51	(	2 0 4595.2180799647 2 5391.7555033777 )	54.5938886963 (ExtendedPoll)
-	3857+54	(	2 0 4589.5405636156 2 5406.2768432706 )	54.4819217775 (ExtendedPoll)
-	3857+59	(	2 0 4586.8655799511 2 5409.1224253831 )	54.4730509300 (ExtendedPoll)
-	3857+60	(	2 0 4578.8406289576 2 5417.6591717205 )	54.4466693127 (ExtendedPoll)
-	3857+61	(	2 0 4546.7408249837 2 5451.8061570703 )	54.3446263871 (ExtendedPoll)
-	3857+67	(	2 0 4544.4002142773 2 5454.9315206375 )	54.3305581908 (ExtendedPoll)
-	3857+70	(	2 0 4543.3834475273 2 5456.5982674743 )	54.3211315639 (ExtendedPoll)
-	3857+84	(	2 0 4543.3817833230 2 5456.6057131428 )	54.3210653441 (ExtendedPoll)
-	3857+87	(	2 0 4543.3799196151 2 5456.6131114083 )	54.3210013080 (ExtendedPoll)
-	3857+88	(	2 0 4543.3724892530 2 5456.6264388915 )	54.3209201075 (ExtendedPoll)
-	3857+99	(	2 0 4543.3733273061 2 5456.6259837410 )	54.3209179808 (ExtendedPoll)
-	3857+101	(	2 0 4543.3714783336 2 5456.6279477327 )	54.3209123378 (ExtendedPoll)
-	3857+102	(	2 0 4543.3659314160 2 5456.6338397077 )	54.3208954091 (ExtendedPoll)
-	3857+112	(	2 0 4543.3658531448 2 5456.6339296214 )	54.3208950973 (ExtendedPoll)
-	3857+113	(	2 0 4543.3656183312 2 5456.6341993626 )	54.3208941618 (ExtendedPoll)
-	3857+114	(	2 0 4543.3646790771 2 5456.6352783273 )	54.3208904201 (ExtendedPoll)
-	3857+118	(	2 0 4543.3645278465 2 5456.6354626442 )	54.3208897035 (ExtendedPoll)
-	3857+127	(	2 0 4543.3645352524 2 5456.6354634587 )	54.3208896327 (ExtendedPoll)
-	3857+131	(	2 0 4543.3645324236 2 5456.6354658827 )	54.3208896303 (ExtendedPoll)
-	3857+132	(	2 0 4543.3645239373 2 5456.6354731547 )	54.3208896231 (ExtendedPoll)
-	3857+133	(	2 0 4543.3644899919 2 5456.6355022427 )	54.3208895946 (ExtendedPoll)
-	3857+134	(	2 0 4543.3643542104 2 5456.6356185947 )	54.3208894804 (ExtendedPoll)
-	3857+135	(	2 0 4543.3638110842 2 5456.6360840029 )	54.3208890235 (ExtendedPoll)
-	3857+136	(	2 0 4543.3616385797 2 5456.6379456356 )	54.3208871959 (ExtendedPoll)
-	3857+137	(	2 0 4543.3529485614 2 5456.6453921663 )	54.3208798860 (ExtendedPoll)
-	3857+138	(	2 0 4543.3181884885 2 5456.6751782893 )	54.3208506492 (ExtendedPoll)
-	3857+139	(	2 0 4543.1791481970 2 5456.7943227813 )	54.3207337517 (ExtendedPoll)
-	3857+140	(	2 0 4542.6229870307 2 5457.2709007492 )	54.3202669568 (ExtendedPoll)
-	3857+141	(	2 0 4540.3983423657 2 5459.1772126208 )	54.3184125004 (ExtendedPoll)
-	3857+142	(	2 0 4531.4997637056 2 5466.8024601073 )	54.3111985229 (ExtendedPoll)
-	3857+143	(	2 0 4495.9054490650 2 5497.3034500534 )	54.2856217202 (ExtendedPoll)
-	3857+144	(	2 0 4353.5281905028 2 5619.3074098378 )	54.2368825197 (ExtendedPoll)
-	3857+146	(	2 0 4353.5041867680 2 5619.3635257316 )	54.2365196285 (ExtendedPoll)
-	3857+147	(	2 0 4353.4321755638 2 5619.5318734129 )	54.2354310246 (ExtendedPoll)
-	3857+148	(	2 0 4353.1441307467 2 5620.2052641384 )	54.2310776574 (ExtendedPoll)
-	3857+149	(	2 0 4351.9919514786 2 5622.8988270401 )	54.2136809672 (ExtendedPoll)
-	3857+150	(	2 0 4347.3832344061 2 5633.6730786469 )	54.1443630877 (ExtendedPoll)
-	3857+151	(	2 0 4346.4159412060 2 5635.3688272200 )	54.1355996268 (ExtendedPoll)
-	3857+152	(	2 0 4343.5140616057 2 5640.4560729390 )	54.1093792188 (ExtendedPoll)
-	3857+153	(	2 0 4331.9065432045 2 5660.8050558153 )	54.0055500944 (ExtendedPoll)
-	3857+156	(	2 0 4329.8320660769 2 5668.3386832786 )	53.9480883416 (ExtendedPoll)
-	3857+162	(	2 0 4334.3358651038 2 5665.1314324564 )	53.9408691910 (ExtendedPoll)
-	3857+170	(	2 0 4334.7698249059 2 5664.9075219934 )	53.9393230537 (ExtendedPoll)
-	3857+174	(	2 0 4335.0132475664 2 5664.9262078546 )	53.9370077879 (ExtendedPoll)
-	3857+178	(	2 0 4335.0593141454 2 5664.8861671994 )	53.9370070214 (ExtendedPoll)
-	3857+179	(	2 0 4335.1975138822 2 5664.7660452336 )	53.9370047791 (ExtendedPoll)
-	3857+185	(	2 0 4335.2265889224 2 5664.7567731080 )	53.9368437214 (ExtendedPoll)
-	3857+191	(	2 0 4335.2341353579 2 5664.7556510827 )	53.9367890253 (ExtendedPoll)
-	3857+193	(	2 0 4335.2400852963 2 5664.7508755444 )	53.9367849554 (ExtendedPoll)
-	3857+194	(	2 0 4335.2579351117 2 5664.7365489296 )	53.9367727467 (ExtendedPoll)
-	3857+197	(	2 0 4335.2420401136 2 5664.7511438225 )	53.9367651768 (ExtendedPoll)
-	3857+198	(	2 0 4335.1943551193 2 5664.7949285015 )	53.9367424744 (ExtendedPoll)
-	3857+199	(	2 0 4335.0036151422 2 5664.9700672173 )	53.9366517744 (ExtendedPoll)
-	3857+200	(	2 0 4334.2406552335 2 5665.6706220803 )	53.9362907282 (ExtendedPoll)
-	3857+201	(	2 0 4331.1888155990 2 5668.4728415326 )	53.9348746183 (ExtendedPoll)
-	3857+202	(	2 0 4318.9814570610 2 5679.6817193417 )	53.9296600779 (ExtendedPoll)
-	3857+203	(	2 0 4270.1520229090 2 5724.5172305782 )	53.9160449943 (ExtendedPoll)
-	3857+206	(	2 0 4270.2287922106 2 5726.4688768232 )	53.8962132135 (ExtendedPoll)
-	3857+209	(	2 0 4269.9967783213 2 5728.4085811769 )	53.8792448146 (ExtendedPoll)
-	3857+210	(	2 0 4267.4719212911 2 5731.3906420478 )	53.8723914551 (ExtendedPoll)
-	3857+213	(	2 0 4266.5745734546 2 5733.1256282638 )	53.8633577202 (ExtendedPoll)
-	3857+222	(	2 0 4266.4308176062 2 5733.3229626873 )	53.8627005560 (ExtendedPoll)
-	3857+223	(	2 0 4265.9995500609 2 5733.9149659579 )	53.8607301402 (ExtendedPoll)
-	3857+227	(	2 0 4265.8268724443 2 5734.0875636064 )	53.8605721022 (ExtendedPoll)
-	3857+228	(	2 0 4265.3088395946 2 5734.6053565521 )	53.8600989724 (ExtendedPoll)
-	3857+229	(	2 0 4263.2367081957 2 5736.6765283347 )	53.8582212182 (ExtendedPoll)
-	3857+230	(	2 0 4254.9481826001 2 5744.9612154653 )	53.8509466860 (ExtendedPoll)
-	3857+231	(	2 0 4221.7940802176 2 5778.0999639874 )	53.8256476388 (ExtendedPoll)
-	3857+232	(	2 0 4089.1776706878 2 5910.6549580759 )	53.7861774796 (ExtendedPoll)
-	3857+247	(	2 0 4089.1136696138 2 5910.7589031772 )	53.7858180957 (ExtendedPoll)
-	3857+248	(	2 0 4088.9216663918 2 5911.0707384809 )	53.7847402348 (ExtendedPoll)
-	3857+252	(	2 0 4088.8359939837 2 5911.1576970414 )	53.7847351920 (ExtendedPoll)
-	3857+253	(	2 0 4088.5789767594 2 5911.4185727227 )	53.7847203220 (ExtendedPoll)
-	3857+266	(	2 0 4088.5833028094 2 5911.4153495129 )	53.7847099233 (ExtendedPoll)
-	3857+273	(	2 0 4088.5841710836 2 5911.4149550584 )	53.7847055346 (ExtendedPoll)
-	3857+276	(	2 0 4088.5850132823 2 5911.4145076255 )	53.7847018687 (ExtendedPoll)
-	3857+280	(	2 0 4088.5854359861 2 5911.4142869556 )	53.7846999932 (ExtendedPoll)
-	3857+283	(	2 0 4088.5850617172 2 5911.4148479102 )	53.7846983212 (ExtendedPoll)
-	3857+291	(	2 0 4088.5850276880 2 5911.4148968462 )	53.7846981880 (ExtendedPoll)
-	3857+292	(	2 0 4088.5849256003 2 5911.4150436540 )	53.7846977884 (ExtendedPoll)
-	3857+297	(	2 0 4088.5849005844 2 5911.4150977550 )	53.7846975253 (ExtendedPoll)
-	3857+308	(	2 0 4088.5849003997 2 5911.4150986678 )	53.7846975187 (ExtendedPoll)
-	3857+309	(	2 0 4088.5848992968 2 5911.4151001689 )	53.7846975151 (ExtendedPoll)
-	3857+313	(	2 0 4088.5848988407 2 5911.4151009808 )	53.7846975119 (ExtendedPoll)
-	3857+316	(	2 0 4088.5848979979 2 5911.4151019930 )	53.7846975104 (ExtendedPoll)
-	4187+1	(	2 0 4105.5097056568 2 5894.3640876566 )	53.7853303801 (ExtendedPoll)
-	4187+33	(	2 0 4105.5249912111 2 5894.4490403525 )	53.7844103322 (ExtendedPoll)
-	4187+38	(	2 0 4105.5402085635 2 5894.4501641740 )	53.7842605703 (ExtendedPoll)
-	4187+42	(	2 0 4105.5590123984 2 5894.4395775740 )	53.7841854603 (ExtendedPoll)
-	4187+50	(	2 0 4105.5607070024 2 5894.4387021916 )	53.7841779690 (ExtendedPoll)
-	4187+51	(	2 0 4105.5636102425 2 5894.4362276993 )	53.7841740843 (ExtendedPoll)
-	4187+61	(	2 0 4105.5638149153 2 5894.4361054192 )	53.7841733315 (ExtendedPoll)
-	4187+65	(	2 0 4105.5638612668 2 5894.4360679458 )	53.7841732508 (ExtendedPoll)
-	4187+66	(	2 0 4105.5640003213 2 5894.4359555257 )	53.7841730088 (ExtendedPoll)
-	4187+72	(	2 0 4105.5640265310 2 5894.4359413401 )	53.7841728988 (ExtendedPoll)
-	4187+79	(	2 0 4105.5640472452 2 5894.4359452146 )	53.7841726734 (ExtendedPoll)
-	4187+85	(	2 0 4105.5640494603 2 5894.4359482098 )	53.7841726256 (ExtendedPoll)
-	4187+91	(	2 0 4105.5640494863 2 5894.4359491407 )	53.7841726169 (ExtendedPoll)
-	4187+92	(	2 0 4105.5640486402 2 5894.4359508001 )	53.7841726094 (ExtendedPoll)
-	4187+98	(	2 0 4105.5640493116 2 5894.4359501547 )	53.7841726092 (ExtendedPoll)
-	4187+99	(	2 0 4105.5640513257 2 5894.4359482183 )	53.7841726085 (ExtendedPoll)
-	4187+100	(	2 0 4105.5640593820 2 5894.4359404726 )	53.7841726058 (ExtendedPoll)
-	4187+112	(	2 0 4105.5640593940 2 5894.4359405296 )	53.7841726051 (ExtendedPoll)
-	4187+113	(	2 0 4105.5640595037 2 5894.4359404905 )	53.7841726045 (ExtendedPoll)
-	4310+8	(	2 0 4986.7257528443 2 5008.3439881737 )	55.9026187973 (ExtendedPoll)
-	4310+12	(	2 0 4975.6982691662 2 5019.3714718518 )	55.8540052955 (ExtendedPoll)
-	4310+13	(	2 0 4942.6158181319 2 5052.4539228861 )	55.7112095080 (ExtendedPoll)
-	4310+14	(	2 0 4810.2860139947 2 5184.7837270233 )	55.1870194047 (ExtendedPoll)
-	4310+15	(	2 0 4280.9667974460 2 5714.1029435721 )	53.9228267897 (ExtendedPoll)
-	4310+31	(	2 0 4282.9099137686 2 5713.8982254345 )	53.9076802800 (ExtendedPoll)
-	4310+34	(	2 0 4283.1982251457 2 5715.8293998657 )	53.8861047342 (ExtendedPoll)
-	4310+37	(	2 0 4285.4740084419 2 5714.2633061132 )	53.8814393469 (ExtendedPoll)
-	4310+44	(	2 0 4285.1205497824 2 5714.8564555920 )	53.8787142179 (ExtendedPoll)
-	4310+55	(	2 0 4285.1005852658 2 5714.8795367790 )	53.8786630424 (ExtendedPoll)
-	4310+56	(	2 0 4285.0406917160 2 5714.9487803400 )	53.8785095322 (ExtendedPoll)
-	4310+58	(	2 0 4285.0005710927 2 5714.9947752809 )	53.8784105470 (ExtendedPoll)
-	4310+70	(	2 0 4285.0007834768 2 5714.9966707681 )	53.8783899929 (ExtendedPoll)
-	4310+71	(	2 0 4284.9983617564 2 5714.9996181702 )	53.8783823323 (ExtendedPoll)
-	4310+72	(	2 0 4284.9910965952 2 5715.0084603766 )	53.8783593509 (ExtendedPoll)
-	4310+76	(	2 0 4284.9884190656 2 5715.0111774997 )	53.8783562185 (ExtendedPoll)
-	4310+77	(	2 0 4284.9803864769 2 5715.0193288691 )	53.8783468217 (ExtendedPoll)
-	4310+93	(	2 0 4284.9804412318 2 5715.0194883169 )	53.8783447670 (ExtendedPoll)
-	4310+98	(	2 0 4284.9804170022 2 5715.0195427745 )	53.8783444443 (ExtendedPoll)
-	4310+105	(	2 0 4284.9804316104 2 5715.0195457146 )	53.8783442863 (ExtendedPoll)
-	4310+107	(	2 0 4284.9804399767 2 5715.0195580455 )	53.8783440910 (ExtendedPoll)
-	4310+114	(	2 0 4284.9804363154 2 5715.0195618337 )	53.8783440860 (ExtendedPoll)
-	4310+115	(	2 0 4284.9804253315 2 5715.0195731983 )	53.8783440710 (ExtendedPoll)
-	4310+123	(	2 0 4284.9804248959 2 5715.0195740214 )	53.8783440667 (ExtendedPoll)
-	4310+124	(	2 0 4284.9804240703 2 5715.0195756911 )	53.8783440575 (ExtendedPoll)
-	4310+134	(	2 0 4284.9804241092 2 5715.0195758008 )	53.8783440561 (ExtendedPoll)
-	4310+139	(	2 0 4284.9804241503 2 5715.0195758421 )	53.8783440553 (ExtendedPoll)
-	4454	(	3 0 3210.2718306224 2 3039.4036796793 1 3750.2294356176 )	46.5957725777
-	4455	(	3 0 3210.2204488871 2 3039.5770909239 1 3750.2008639259 )	46.5947035783
-	4459+17	(	2 0 4999.8234054990 2 5000.1686007961 )	55.9010071498 (ExtendedPoll)
-	4459+18	(	2 0 4999.2960163907 2 5000.6767975791 )	55.8988833670 (ExtendedPoll)
-	4459+19	(	2 0 4997.1864599572 2 5002.7095847109 )	55.8903991267 (ExtendedPoll)
-	4459+20	(	2 0 4988.7482342235 2 5010.8407332383 )	55.8566367335 (ExtendedPoll)
-	4459+21	(	2 0 4954.9953312886 2 5043.3653273476 )	55.7244004145 (ExtendedPoll)
-	4459+22	(	2 0 4819.9837195490 2 5173.4637037851 )	55.2417552587 (ExtendedPoll)
-	4459+23	(	2 0 4279.9372725906 2 5693.8572095350 )	54.1320597545 (ExtendedPoll)
-	4459+25	(	2 0 4260.7210634090 2 5718.3142030389 )	54.0605176484 (ExtendedPoll)
-	4459+26	(	2 0 4203.0724358640 2 5791.6851835507 )	53.8630778677 (ExtendedPoll)
-	4459+35	(	2 0 4211.2611613676 2 5784.2607390941 )	53.8607636217 (ExtendedPoll)
-	4459+36	(	2 0 4235.8273378782 2 5761.9874057245 )	53.8557950144 (ExtendedPoll)
-	4459+41	(	2 0 4239.2666025897 2 5760.1381185483 )	53.8430394257 (ExtendedPoll)
-	4459+48	(	2 0 4238.4020949545 2 5761.2154477473 )	53.8403110732 (ExtendedPoll)
-	4459+49	(	2 0 4236.9895398051 2 5762.5631754865 )	53.8398579750 (ExtendedPoll)
-	4459+50	(	2 0 4232.7518743570 2 5766.6063587038 )	53.8385611120 (ExtendedPoll)
-	4459+51	(	2 0 4215.8012125647 2 5782.7790915733 )	53.8343120215 (ExtendedPoll)
-	4459+52	(	2 0 4147.9985653954 2 5847.4700230513 )	53.8324459450 (ExtendedPoll)
-	4459+58	(	2 0 4142.8942598315 2 5853.3659054138 )	53.8237142063 (ExtendedPoll)
-	4459+59	(	2 0 4127.5813431399 2 5871.0535525015 )	53.7986042338 (ExtendedPoll)
-	4459+68	(	2 0 4129.7411194915 2 5869.3305081768 )	53.7948876409 (ExtendedPoll)
-	4459+73	(	2 0 4130.5591390496 2 5868.7973880268 )	53.7923765042 (ExtendedPoll)
-	4459+78	(	2 0 4131.0192217390 2 5868.6337201408 )	53.7897014772 (ExtendedPoll)
-	4459+79	(	2 0 4131.7293377788 2 5867.9632682402 )	53.7894517155 (ExtendedPoll)
-	4459+80	(	2 0 4133.8596858981 2 5865.9519125383 )	53.7887184190 (ExtendedPoll)
-	4459+85	(	2 0 4134.5843028059 2 5865.2972409942 )	53.7882006022 (ExtendedPoll)
-	4459+88	(	2 0 4134.9640976007 2 5864.9903770359 )	53.7875931645 (ExtendedPoll)
-	4459+96	(	2 0 4134.9859247059 2 5864.9690484814 )	53.7875925935 (ExtendedPoll)
-	4459+97	(	2 0 4135.0514060213 2 5864.9050628179 )	53.7875908962 (ExtendedPoll)
-	4459+98	(	2 0 4135.3133312830 2 5864.6491201639 )	53.7875843437 (ExtendedPoll)
-	4459+99	(	2 0 4136.3610323297 2 5863.6253495479 )	53.7875619231 (ExtendedPoll)
-	4459+112	(	2 0 4136.3648032632 2 5863.6247733590 )	53.7875329472 (ExtendedPoll)
-	4459+113	(	2 0 4136.3761160637 2 5863.6230447924 )	53.7874460195 (ExtendedPoll)
-	4459+119	(	2 0 4136.3737259452 2 5863.6260178809 )	53.7874401351 (ExtendedPoll)
-	4459+133	(	2 0 4136.3738000302 2 5863.6261693177 )	53.7874380524 (ExtendedPoll)
-	4459+138	(	2 0 4136.3737497999 2 5863.6262370108 )	53.7874378803 (ExtendedPoll)
-	4459+140	(	2 0 4136.3737091508 2 5863.6262806039 )	53.7874378451 (ExtendedPoll)
-	4459+141	(	2 0 4136.3735872034 2 5863.6264113833 )	53.7874377393 (ExtendedPoll)
-	4459+150	(	2 0 4136.3735928884 2 5863.6264065675 )	53.7874377323 (ExtendedPoll)
-	4459+157	(	2 0 4136.3735936795 2 5863.6264060760 )	53.7874377297 (ExtendedPoll)
-	4459+158	(	2 0 4136.3735950382 2 5863.6264048019 )	53.7874377291 (ExtendedPoll)
-	4459+167	(	2 0 4136.3735951385 2 5863.6264047429 )	53.7874377288 (ExtendedPoll)
-	4459+171	(	2 0 4136.3735950627 2 5863.6264048312 )	53.7874377287 (ExtendedPoll)
-	4459+172	(	2 0 4136.3735948352 2 5863.6264050962 )	53.7874377283 (ExtendedPoll)
-	4459+181	(	2 0 4136.3735948402 2 5863.6264051370 )	53.7874377278 (ExtendedPoll)
-	4646+2	(	2 0 4105.5720108686 2 5894.4263928684 )	53.7841874022 (ExtendedPoll)
-	4646+29	(	2 0 4105.5833069765 2 5894.4161347829 )	53.7841780742 (ExtendedPoll)
-	4646+42	(	2 0 4105.5835293721 2 5894.4160488549 )	53.7841768253 (ExtendedPoll)
-	4646+43	(	2 0 4105.5841965588 2 5894.4157910708 )	53.7841730784 (ExtendedPoll)
-	4646+48	(	2 0 4105.5842867579 2 5894.4157131287 )	53.7841729675 (ExtendedPoll)
-	4646+67	(	2 0 4105.5842868659 2 5894.4157130854 )	53.7841729669 (ExtendedPoll)
-	4646+74	(	2 0 4105.5842868950 2 5894.4157130859 )	53.7841729666 (ExtendedPoll)
-	4725+19	(	2 0 4999.8031735893 2 5000.1447170134 )	55.9014542318 (ExtendedPoll)
-	4725+20	(	2 0 4999.2150887519 2 5000.5812624482 )	55.9006716187 (ExtendedPoll)
-	4725+21	(	2 0 4996.8627494022 2 5002.3274441874 )	55.8975509135 (ExtendedPoll)
-	4725+22	(	2 0 4987.4533920033 2 5009.3121711443 )	55.8852243268 (ExtendedPoll)
-	4725+23	(	2 0 4949.8159624076 2 5037.2510789717 )	55.8384358459 (ExtendedPoll)
-	4725+24	(	2 0 4799.2662440251 2 5149.0067102812 )	55.6927299999 (ExtendedPoll)
-	4725+27	(	2 0 4798.1744139579 2 5164.6198802413 )	55.5187163710 (ExtendedPoll)
-	4725+28	(	2 0 4798.1744139579 2 5196.0645861749 )	55.1525452486 (ExtendedPoll)
-	4725+33	(	2 0 4792.1420528370 2 5201.0324129804 )	55.1431419649 (ExtendedPoll)
-	4725+34	(	2 0 4774.0449694742 2 5215.9358933968 )	55.1157026271 (ExtendedPoll)
-	4725+35	(	2 0 4701.6566360229 2 5275.5498150626 )	55.0176540485 (ExtendedPoll)
-	4725+36	(	2 0 4412.1033022177 2 5514.0055017256 )	54.8221696457 (ExtendedPoll)
-	4725+40	(	2 0 4371.9239557470 2 5561.1725606260 )	54.6749065998 (ExtendedPoll)
-	4725+41	(	2 0 4251.3859163349 2 5702.6737373272 )	54.2973393293 (ExtendedPoll)
-	4725+44	(	2 0 4391.1401649287 2 5590.8703384522 )	54.2022453171 (ExtendedPoll)
-	4725+50	(	2 0 4362.3158511562 2 5624.4987045201 )	54.1076851285 (ExtendedPoll)
-	4725+55	(	2 0 4358.6036289279 2 5639.6751424533 )	53.9858955384 (ExtendedPoll)
-	4725+60	(	2 0 4355.6625116846 2 5642.2409431111 )	53.9855132092 (ExtendedPoll)
-	4725+61	(	2 0 4346.8391599545 2 5649.9383450844 )	53.9845992440 (ExtendedPoll)
-	4725+62	(	2 0 4311.5457530343 2 5680.7279529777 )	53.9844549147 (ExtendedPoll)
-	4725+67	(	2 0 4308.5432203496 2 5687.9340314208 )	53.9390274262 (ExtendedPoll)
-	4725+71	(	2 0 4307.7243477993 2 5691.7554366558 )	53.9082186256 (ExtendedPoll)
-	4725+83	(	2 0 4308.0052488063 2 5691.9562363603 )	53.9037540967 (ExtendedPoll)
-	4725+87	(	2 0 4308.1049356103 2 5691.8857845325 )	53.9035781830 (ExtendedPoll)
-	4725+93	(	2 0 4308.1185770304 2 5691.8789477872 )	53.9035262437 (ExtendedPoll)
-	4725+96	(	2 0 4308.1246647783 2 5691.8743491833 )	53.9035184462 (ExtendedPoll)
-	4725+100	(	2 0 4308.1208413138 2 5691.8781550898 )	53.9035142224 (ExtendedPoll)
-	4725+101	(	2 0 4308.1093709201 2 5691.8895728093 )	53.9035015515 (ExtendedPoll)
-	4725+102	(	2 0 4308.0634893453 2 5691.9352436871 )	53.9034508749 (ExtendedPoll)
-	4725+103	(	2 0 4307.8799630460 2 5692.1179271984 )	53.9032482824 (ExtendedPoll)
-	4725+104	(	2 0 4307.1458578490 2 5692.8486612434 )	53.9024397326 (ExtendedPoll)
-	4725+105	(	2 0 4304.2094370610 2 5695.7715974237 )	53.8992346674 (ExtendedPoll)
-	4725+106	(	2 0 4292.4637539088 2 5707.4633421446 )	53.8868812553 (ExtendedPoll)
-	4725+107	(	2 0 4245.4810213003 2 5754.2303210285 )	53.8449818536 (ExtendedPoll)
-	4725+108	(	2 0 4057.5500908662 2 5941.2982365638 )	53.8003145611 (ExtendedPoll)
-	4725+112	(	2 0 4057.3125325273 2 5942.2454844463 )	53.7939890318 (ExtendedPoll)
-	4725+119	(	2 0 4057.4393884670 2 5942.4540943610 )	53.7909379794 (ExtendedPoll)
-	4725+120	(	2 0 4057.1333775009 2 5942.8346355240 )	53.7903471560 (ExtendedPoll)
-	4725+123	(	2 0 4057.6371760427 2 5942.3623976952 )	53.7899322822 (ExtendedPoll)
-	4725+143	(	2 0 4057.6378562203 2 5942.3617292243 )	53.7899320010 (ExtendedPoll)
-	4725+144	(	2 0 4057.6398967532 2 5942.3597238116 )	53.7899311575 (ExtendedPoll)
-	4725+145	(	2 0 4057.6480588849 2 5942.3517021609 )	53.7899277838 (ExtendedPoll)
-	4725+154	(	2 0 4057.6479540349 2 5942.3519162868 )	53.7899268277 (ExtendedPoll)
-	4725+158	(	2 0 4057.6478865326 2 5942.3520145431 )	53.7899265685 (ExtendedPoll)
-	4725+159	(	2 0 4057.6476840256 2 5942.3523093118 )	53.7899257907 (ExtendedPoll)
-	4725+171	(	2 0 4057.6476847788 2 5942.3523129602 )	53.7899257509 (ExtendedPoll)
-	4725+175	(	2 0 4057.6476860982 2 5942.3523116454 )	53.7899257506 (ExtendedPoll)
-	4725+176	(	2 0 4057.6476900565 2 5942.3523077012 )	53.7899257494 (ExtendedPoll)
-	4725+177	(	2 0 4057.6477058896 2 5942.3522919242 )	53.7899257448 (ExtendedPoll)
-	4725+178	(	2 0 4057.6477692222 2 5942.3522288165 )	53.7899257264 (ExtendedPoll)
-	4725+179	(	2 0 4057.6480225525 2 5942.3519763854 )	53.7899256529 (ExtendedPoll)
-	4725+190	(	2 0 4057.6480214853 2 5942.3519779120 )	53.7899256490 (ExtendedPoll)
-	4725+197	(	2 0 4057.6480212763 2 5942.3519783281 )	53.7899256472 (ExtendedPoll)
-	4725+200	(	2 0 4057.6480210350 2 5942.3519787264 )	53.7899256458 (ExtendedPoll)
-	4725+203	(	2 0 4057.6480213991 2 5942.3519784360 )	53.7899256451 (ExtendedPoll)
-	4725+207	(	2 0 4057.6480219221 2 5942.3519780358 )	53.7899256438 (ExtendedPoll)
-	4725+211	(	2 0 4057.6480221025 2 5942.3519778887 )	53.7899256435 (ExtendedPoll)
-	4725+216	(	2 0 4057.6480219897 2 5942.3519780086 )	53.7899256435 (ExtendedPoll)
-	4725+221	(	2 0 4057.6480219698 2 5942.3519780298 )	53.7899256435 (ExtendedPoll)
-	4950	(	3 0 3210.2137213322 2 3039.6012428177 1 3750.1834642275 )	46.5946997610
-	4951	(	3 0 3210.1935386677 2 3039.6736984988 1 3750.1312651323 )	46.5946883143
-	4952	(	3 0 3210.1128080096 2 3039.9635212235 1 3749.9224687515 )	46.5946426050
-	4953	(	3 0 3209.7898853771 2 3041.1228121224 1 3749.0872832281 )	46.5944610083
-	4957+21	(	2 0 4999.9515314082 2 5000.0370988583 )	55.9016212277 (ExtendedPoll)
-	4957+22	(	2 0 4999.8061545413 2 5000.1484243416 )	55.9013860644 (ExtendedPoll)
-	4957+23	(	2 0 4999.2246470737 2 5000.5937262748 )	55.9004460290 (ExtendedPoll)
-	4957+24	(	2 0 4996.8986172034 2 5002.3749340079 )	55.8966957757 (ExtendedPoll)
-	4957+25	(	2 0 4987.5944977221 2 5009.4997649402 )	55.8818532664 (ExtendedPoll)
-	4957+26	(	2 0 4950.3780197968 2 5037.9990886692 )	55.8250376177 (ExtendedPoll)
-	4957+27	(	2 0 4801.5121080959 2 5151.9963835853 )	55.6398202521 (ExtendedPoll)
-	4957+29	(	2 0 4799.9016587469 2 5159.6391940553 )	55.5631771412 (ExtendedPoll)
-	4957+30	(	2 0 4795.0703106998 2 5182.5676254652 )	55.3341978198 (ExtendedPoll)
-	4957+31	(	2 0 4780.2214217867 2 5210.0817431571 )	55.1338115001 (ExtendedPoll)
-	4957+36	(	2 0 4799.2192649549 2 5198.7267104589 )	55.1133076930 (ExtendedPoll)
-	4957+47	(	2 0 4800.1328196439 2 5199.0717458199 )	55.1020064789 (ExtendedPoll)
-	4957+51	(	2 0 4800.6067634573 2 5199.1893521250 )	55.0968559487 (ExtendedPoll)
-	4957+57	(	2 0 4800.7025918042 2 5199.2649685543 )	55.0952132428 (ExtendedPoll)
-	4957+63	(	2 0 4800.7285047755 2 5199.2488491668 )	55.0951932210 (ExtendedPoll)
-	4957+65	(	2 0 4800.7568088740 2 5199.2374387295 )	55.0950994742 (ExtendedPoll)
-	4957+69	(	2 0 4800.7456186612 2 5199.2478121856 )	55.0950685340 (ExtendedPoll)
-	4957+70	(	2 0 4800.7120480229 2 5199.2789325537 )	55.0949757164 (ExtendedPoll)
-	4957+71	(	2 0 4800.5777654696 2 5199.4034140262 )	55.0946044924 (ExtendedPoll)
-	4957+72	(	2 0 4800.0406352565 2 5199.9013399163 )	55.0931203333 (ExtendedPoll)
-	4957+73	(	2 0 4797.8921144041 2 5201.8930434766 )	55.0871954955 (ExtendedPoll)
-	4957+74	(	2 0 4789.2980309945 2 5209.8598577177 )	55.0636852238 (ExtendedPoll)
-	4957+75	(	2 0 4754.9216973563 2 5241.7271146822 )	54.9726888507 (ExtendedPoll)
-	4957+76	(	2 0 4617.4163628032 2 5369.1961425400 )	54.6586519092 (ExtendedPoll)
-	4957+77	(	2 0 4067.3950245908 2 5879.0722539713 )	54.2760732951 (ExtendedPoll)
-	4957+81	(	2 0 4078.4498040205 2 5879.1268454747 )	54.1738605186 (ExtendedPoll)
-	4957+82	(	2 0 4111.6141423099 2 5879.2906199847 )	53.8682373433 (ExtendedPoll)
-	4957+83	(	2 0 4135.6344037869 2 5859.2009467494 )	53.8353496249 (ExtendedPoll)
-	4957+91	(	2 0 4139.1419078776 2 5857.4881383315 )	53.8193865804 (ExtendedPoll)
-	4957+96	(	2 0 4141.0884361692 2 5857.6587367795 )	53.8000899204 (ExtendedPoll)
-	4957+101	(	2 0 4141.5688840483 2 5857.7459552361 )	53.7949073397 (ExtendedPoll)
-	4957+104	(	2 0 4141.9346044712 2 5857.4223513050 )	53.7945977867 (ExtendedPoll)
-	4957+105	(	2 0 4143.0317657398 2 5856.4515395119 )	53.7936730233 (ExtendedPoll)
-	4957+106	(	2 0 4147.4204108144 2 5852.5682923396 )	53.7900323766 (ExtendedPoll)
-	4957+117	(	2 0 4147.4162293615 2 5852.5829669923 )	53.7899332894 (ExtendedPoll)
-	4957+128	(	2 0 4147.4160645968 2 5852.5834144589 )	53.7899306065 (ExtendedPoll)
-	4957+129	(	2 0 4147.4153897141 2 5852.5840882751 )	53.7899304432 (ExtendedPoll)
-	4957+130	(	2 0 4147.4133650660 2 5852.5861097238 )	53.7899299534 (ExtendedPoll)
-	4957+131	(	2 0 4147.4052664734 2 5852.5941955188 )	53.7899279944 (ExtendedPoll)
-	4957+132	(	2 0 4147.3728721030 2 5852.6265386988 )	53.7899201620 (ExtendedPoll)
-	4957+133	(	2 0 4147.2432946213 2 5852.7559114185 )	53.7898888919 (ExtendedPoll)
-	4957+134	(	2 0 4146.7249846949 2 5853.2734022975 )	53.7897647629 (ExtendedPoll)
-	4957+135	(	2 0 4144.6517449892 2 5855.3433658132 )	53.7892834747 (ExtendedPoll)
-	4957+136	(	2 0 4136.3587861663 2 5863.6232198764 )	53.7876021773 (ExtendedPoll)
-	4957+137	(	2 0 4103.1869508749 2 5896.7426361291 )	53.7847922558 (ExtendedPoll)
-	4957+145	(	2 0 4103.1682983337 2 5896.8007512235 )	53.7844302124 (ExtendedPoll)
-	4957+150	(	2 0 4103.1669213843 2 5896.8312377825 )	53.7841632090 (ExtendedPoll)
-	4957+157	(	2 0 4103.1650483182 2 5896.8345609654 )	53.7841499007 (ExtendedPoll)
-	4957+160	(	2 0 4103.1624316887 2 5896.8373367825 )	53.7841484300 (ExtendedPoll)
-	4957+170	(	2 0 4103.1626410673 2 5896.8372227473 )	53.7841475564 (ExtendedPoll)
-	4957+174	(	2 0 4103.1625629696 2 5896.8373128117 )	53.7841474463 (ExtendedPoll)
-	4957+175	(	2 0 4103.1623286764 2 5896.8375830050 )	53.7841471160 (ExtendedPoll)
-	4957+184	(	2 0 4103.1623613751 2 5896.8376095974 )	53.7841465724 (ExtendedPoll)
-	4957+185	(	2 0 4103.1623318769 2 5896.8376613910 )	53.7841463677 (ExtendedPoll)
-	4957+189	(	2 0 4103.1623225735 2 5896.8376730311 )	53.7841463463 (ExtendedPoll)
-	4957+199	(	2 0 4103.1623243672 2 5896.8376725291 )	53.7841463344 (ExtendedPoll)
-	4957+202	(	2 0 4103.1623260046 2 5896.8376734171 )	53.7841463113 (ExtendedPoll)
-	4957+206	(	2 0 4103.1623267413 2 5896.8376728473 )	53.7841463097 (ExtendedPoll)
-	4957+214	(	2 0 4103.1623267301 2 5896.8376730798 )	53.7841463077 (ExtendedPoll)
-	4957+216	(	2 0 4103.1623264493 2 5896.8376734513 )	53.7841463069 (ExtendedPoll)
-	4957+221	(	2 0 4103.1623262249 2 5896.8376736923 )	53.7841463067 (ExtendedPoll)
-	4957+222	(	2 0 4103.1623255517 2 5896.8376744152 )	53.7841463063 (ExtendedPoll)
-	4957+228	(	2 0 4103.1623256446 2 5896.8376743450 )	53.7841463061 (ExtendedPoll)
-	5195+2	(	2 0 4552.7863948639 2 5335.4101869888 )	55.5680147602 (ExtendedPoll)
-	5195+12	(	2 0 4572.0026040455 2 5394.8057426411 )	54.7532818545 (ExtendedPoll)
-	5195+14	(	2 0 4528.3294013600 2 5438.4789453267 )	54.6428900648 (ExtendedPoll)
-	5195+15	(	2 0 4397.3097933033 2 5569.4985533833 )	54.3697111024 (ExtendedPoll)
-	5195+16	(	2 0 3873.2313610768 2 6093.5769856098 )	54.2139782157 (ExtendedPoll)
-	5195+25	(	2 0 3901.1822107956 2 6079.1648287236 )	54.0675524851 (ExtendedPoll)
-	5195+30	(	2 0 3904.6760670104 2 6094.4504496635 )	53.9053251878 (ExtendedPoll)
-	5195+38	(	2 0 3905.5158378706 2 6093.9518756993 )	53.9014892203 (ExtendedPoll)
-	5195+42	(	2 0 3905.9712291027 2 6093.7758394257 )	53.8986171016 (ExtendedPoll)
-	5195+47	(	2 0 3906.2152648514 2 6093.7828499557 )	53.8962262883 (ExtendedPoll)
-	5195+53	(	2 0 3906.2570598051 2 6093.7383694092 )	53.8962008251 (ExtendedPoll)
-	5195+54	(	2 0 3906.3824446664 2 6093.6049277697 )	53.8961245036 (ExtendedPoll)
-	5195+55	(	2 0 3906.8839841115 2 6093.0711612115 )	53.8958202370 (ExtendedPoll)
-	5195+56	(	2 0 3908.8901418918 2 6090.9360949789 )	53.8946194836 (ExtendedPoll)
-	5195+57	(	2 0 3916.9147730132 2 6082.3958300485 )	53.8900773214 (ExtendedPoll)
-	5195+58	(	2 0 3949.0132974987 2 6048.2347703268 )	53.8760722747 (ExtendedPoll)
-	5195+60	(	2 0 3952.3160834518 2 6046.1534692613 )	53.8626856098 (ExtendedPoll)
-	5195+68	(	2 0 3953.1776056142 2 6046.6132320786 )	53.8505840740 (ExtendedPoll)
-	5195+71	(	2 0 3953.5789384631 2 6046.3350499844 )	53.8491773294 (ExtendedPoll)
-	5195+80	(	2 0 3953.6091921986 2 6046.3390542165 )	53.8488567166 (ExtendedPoll)
-	5195+81	(	2 0 3953.6616312293 2 6046.3078233717 )	53.8486289876 (ExtendedPoll)
-	5195+82	(	2 0 3953.7497026781 2 6046.2232971719 )	53.8485221437 (ExtendedPoll)
-	5195+83	(	2 0 3954.0139170244 2 6045.9697185726 )	53.8482018728 (ExtendedPoll)
-	5195+94	(	2 0 3954.0185845590 2 6045.9794463233 )	53.8480741214 (ExtendedPoll)
-	5195+100	(	2 0 3954.0184347508 2 6045.9813477797 )	53.8480591976 (ExtendedPoll)
-	5195+112	(	2 0 3954.0185244766 2 6045.9812692933 )	53.8480590234 (ExtendedPoll)
-	5195+113	(	2 0 3954.0187936542 2 6045.9810338338 )	53.8480585006 (ExtendedPoll)
-	5195+114	(	2 0 3954.0198703645 2 6045.9800919962 )	53.8480564096 (ExtendedPoll)
-	5195+119	(	2 0 3954.0199556739 2 6045.9800087306 )	53.8480563182 (ExtendedPoll)
-	5195+120	(	2 0 3954.0202116021 2 6045.9797589338 )	53.8480560440 (ExtendedPoll)
-	5195+121	(	2 0 3954.0212353150 2 6045.9787597466 )	53.8480549472 (ExtendedPoll)
-	5195+131	(	2 0 3954.0212561678 2 6045.9787384550 )	53.8480549329 (ExtendedPoll)
-	5195+132	(	2 0 3954.0213187265 2 6045.9786745799 )	53.8480548901 (ExtendedPoll)
-	5195+133	(	2 0 3954.0215689610 2 6045.9784190796 )	53.8480547188 (ExtendedPoll)
-	5195+134	(	2 0 3954.0225698990 2 6045.9773970786 )	53.8480540335 (ExtendedPoll)
-	5195+135	(	2 0 3954.0265736512 2 6045.9733090745 )	53.8480512924 (ExtendedPoll)
-	5195+136	(	2 0 3954.0425886598 2 6045.9569570580 )	53.8480403289 (ExtendedPoll)
-	5195+137	(	2 0 3954.1066486941 2 6045.8915489921 )	53.8479964904 (ExtendedPoll)
-	5195+138	(	2 0 3954.3628888317 2 6045.6299167285 )	53.8478213863 (ExtendedPoll)
-	5195+139	(	2 0 3955.3878493820 2 6044.5833876740 )	53.8471249631 (ExtendedPoll)
-	5195+140	(	2 0 3959.4876915833 2 6040.3972714563 )	53.8444031448 (ExtendedPoll)
-	5195+141	(	2 0 3975.8870603884 2 6023.6528065852 )	53.8345365224 (ExtendedPoll)
-	5195+142	(	2 0 4041.4845356089 2 5956.6749471009 )	53.8113115046 (ExtendedPoll)
-	5195+145	(	2 0 4041.6035546824 2 5956.7020629246 )	53.8099638531 (ExtendedPoll)
-	5195+146	(	2 0 4041.9606119028 2 5956.7834103954 )	53.8059210158 (ExtendedPoll)
-	5195+147	(	2 0 4042.3009558066 2 5957.1335637099 )	53.7996303534 (ExtendedPoll)
-	5195+148	(	2 0 4043.0741932721 2 5956.5373221342 )	53.7977822528 (ExtendedPoll)
-	5195+151	(	2 0 4043.9165231091 2 5956.0430131312 )	53.7943836123 (ExtendedPoll)
-	5195+153	(	2 0 4044.5989169010 2 5955.3444124866 )	53.7942993075 (ExtendedPoll)
-	5195+154	(	2 0 4046.6460982769 2 5953.2486105531 )	53.7940631506 (ExtendedPoll)
-	5195+155	(	2 0 4054.8348237804 2 5944.8654028188 )	53.7933696899 (ExtendedPoll)
-	5195+166	(	2 0 4055.0724354313 2 5944.9214870586 )	53.7906651766 (ExtendedPoll)
-	5195+176	(	2 0 4055.0761548684 2 5944.9206398974 )	53.7906383460 (ExtendedPoll)
-	5195+180	(	2 0 4055.0778890903 2 5944.9198458871 )	53.7906294220 (ExtendedPoll)
-	5195+181	(	2 0 4055.0811305415 2 5944.9178346926 )	53.7906174793 (ExtendedPoll)
-	5195+184	(	2 0 4055.0777945058 2 5944.9220743514 )	53.7906102701 (ExtendedPoll)
-	5195+198	(	2 0 4055.0778330577 2 5944.9221198097 )	53.7906095046 (ExtendedPoll)
-	5195+199	(	2 0 4055.0777705351 2 5944.9222213074 )	53.7906091714 (ExtendedPoll)
-	5195+201	(	2 0 4055.0780084500 2 5944.9219823862 )	53.7906091154 (ExtendedPoll)
-	5195+202	(	2 0 4055.0787221949 2 5944.9212656228 )	53.7906089474 (ExtendedPoll)
-	5195+203	(	2 0 4055.0815771745 2 5944.9183985692 )	53.7906082755 (ExtendedPoll)
-	5195+204	(	2 0 4055.0929970928 2 5944.9069303548 )	53.7906055884 (ExtendedPoll)
-	5195+205	(	2 0 4055.1386767659 2 5944.8610574972 )	53.7905948477 (ExtendedPoll)
-	5195+206	(	2 0 4055.3213954584 2 5944.6775660669 )	53.7905520064 (ExtendedPoll)
-	5195+207	(	2 0 4056.0522702285 2 5943.9436003453 )	53.7903825885 (ExtendedPoll)
-	5195+208	(	2 0 4058.9757693086 2 5941.0077374592 )	53.7897360619 (ExtendedPoll)
-	5195+209	(	2 0 4070.6697656292 2 5929.2642859147 )	53.7876477253 (ExtendedPoll)
-	5195+210	(	2 0 4117.4457509116 2 5882.2904797367 )	53.7872228417 (ExtendedPoll)
-	5195+213	(	2 0 4117.6891202600 2 5882.3097520301 )	53.7848204977 (ExtendedPoll)
-	5195+228	(	2 0 4117.6899942270 2 5882.3093703541 )	53.7848160313 (ExtendedPoll)
-	5195+229	(	2 0 4117.6915671836 2 5882.3082915651 )	53.7848116087 (ExtendedPoll)
-	5195+235	(	2 0 4117.6919572521 2 5882.3080173020 )	53.7848105741 (ExtendedPoll)
-	5195+242	(	2 0 4117.6920091373 2 5882.3079879653 )	53.7848103706 (ExtendedPoll)
-	5195+245	(	2 0 4117.6920521121 2 5882.3079466630 )	53.7848103589 (ExtendedPoll)
-	5195+253	(	2 0 4117.6920497867 2 5882.3079495734 )	53.7848103533 (ExtendedPoll)
-	5195+263	(	2 0 4117.6920499996 2 5882.3079496675 )	53.7848103505 (ExtendedPoll)
-	5195+266	(	2 0 4117.6920502143 2 5882.3079495774 )	53.7848103493 (ExtendedPoll)
-	5195+269	(	2 0 4117.6920504410 2 5882.3079495242 )	53.7848103478 (ExtendedPoll)
-	5195+275	(	2 0 4117.6920503703 2 5882.3079496167 )	53.7848103475 (ExtendedPoll)
-	5478+3	(	2 0 4909.1597287779 2 5083.8525395201 )	55.5960691542 (ExtendedPoll)
-	5478+4	(	2 0 4636.6389440201 2 5335.4101869888 )	54.8753885588 (ExtendedPoll)
-	5478+13	(	2 0 4690.7937153502 2 5303.9654810552 )	54.7846942177 (ExtendedPoll)
-	5478+15	(	2 0 4565.0148916158 2 5429.7443047896 )	54.4304906658 (ExtendedPoll)
-	5478+16	(	2 0 4187.6784204127 2 5807.0807759926 )	53.8546415124 (ExtendedPoll)
-	5478+28	(	2 0 4195.7852586612 2 5799.5744442811 )	53.8531825911 (ExtendedPoll)
-	5478+29	(	2 0 4220.1057734067 2 5777.0554491463 )	53.8508015438 (ExtendedPoll)
-	5478+31	(	2 0 4231.5699891117 2 5766.4646974951 )	53.8504789320 (ExtendedPoll)
-	5478+34	(	2 0 4237.6296459843 2 5761.5514621930 )	53.8439440609 (ExtendedPoll)
-	5478+41	(	2 0 4239.1257943732 2 5760.2958576158 )	53.8427664280 (ExtendedPoll)
-	5478+46	(	2 0 4239.9101207378 2 5759.7136904120 )	53.8414160967 (ExtendedPoll)
-	5478+50	(	2 0 4239.7094543134 2 5760.1588457372 )	53.8388916705 (ExtendedPoll)
-	5478+54	(	2 0 4239.2194102715 2 5760.6452645620 )	53.8385475799 (ExtendedPoll)
-	5478+55	(	2 0 4237.7492781460 2 5762.1045210365 )	53.8375232191 (ExtendedPoll)
-	5478+56	(	2 0 4231.8687496437 2 5767.9415469345 )	53.8335445270 (ExtendedPoll)
-	5478+57	(	2 0 4208.3466356348 2 5791.2896505265 )	53.8195350703 (ExtendedPoll)
-	5478+58	(	2 0 4114.2581795991 2 5884.6820648944 )	53.7943112519 (ExtendedPoll)
-	5478+71	(	2 0 4114.9485701934 2 5884.6988048671 )	53.7878427663 (ExtendedPoll)
-	5478+74	(	2 0 4115.3912731659 2 5884.4929138652 )	53.7856923145 (ExtendedPoll)
-	5478+80	(	2 0 4115.5104388474 2 5884.4664511137 )	53.7848465681 (ExtendedPoll)
-	5478+86	(	2 0 4115.5040354705 2 5884.4803013045 )	53.7847774342 (ExtendedPoll)
-	5478+92	(	2 0 4115.5085943246 2 5884.4864188582 )	53.7846793465 (ExtendedPoll)
-	5478+94	(	2 0 4115.5038751700 2 5884.4924136225 )	53.7846672332 (ExtendedPoll)
-	5478+99	(	2 0 4115.5033916134 2 5884.4961975456 )	53.7846367702 (ExtendedPoll)
-	5478+108	(	2 0 4115.5032700638 2 5884.4964026531 )	53.7846359908 (ExtendedPoll)
-	5478+109	(	2 0 4115.5029054151 2 5884.4970179759 )	53.7846336525 (ExtendedPoll)
-	5478+117	(	2 0 4115.5029626983 2 5884.4970015034 )	53.7846332805 (ExtendedPoll)
-	5478+121	(	2 0 4115.5030374021 2 5884.4969624551 )	53.7846329574 (ExtendedPoll)
-	5478+142	(	2 0 4115.5030374174 2 5884.4969625705 )	53.7846329562 (ExtendedPoll)
-	5629+9	(	2 0 4975.5429968599 2 5019.6529315723 )	55.8517940762 (ExtendedPoll)
-	5629+10	(	2 0 4902.1720163482 2 5078.6117551978 )	55.7134020563 (ExtendedPoll)
-	5629+11	(	2 0 4608.6880943013 2 5314.4470496997 )	55.3395226272 (ExtendedPoll)
-	5629+15	(	2 0 4552.7863948639 2 5426.2504485747 )	54.5705629398 (ExtendedPoll)
-	5629+20	(	2 0 4591.6555452540 2 5405.2873112856 )	54.4751741266 (ExtendedPoll)
-	5629+33	(	2 0 4592.5840273072 2 5406.3096224852 )	54.4562806449 (ExtendedPoll)
-	5629+37	(	2 0 4592.3579843636 2 5406.7424094230 )	54.4534252540 (ExtendedPoll)
-	5629+38	(	2 0 4591.6798555328 2 5408.0407702362 )	54.4448631609 (ExtendedPoll)
-	5629+44	(	2 0 4591.6012203107 2 5408.2719044772 )	54.4429899385 (ExtendedPoll)
-	5629+48	(	2 0 4591.5696196138 2 5408.3898106624 )	54.4419637140 (ExtendedPoll)
-	5629+52	(	2 0 4591.5680918914 2 5408.4202901410 )	54.4416432602 (ExtendedPoll)
-	5629+58	(	2 0 4591.5700204171 2 5408.4276717726 )	54.4415465559 (ExtendedPoll)
-	5629+60	(	2 0 4591.5654575021 2 5408.4337863066 )	54.4415176321 (ExtendedPoll)
-	5629+67	(	2 0 4591.5646332830 2 5408.4348538518 )	54.4415128113 (ExtendedPoll)
-	5629+71	(	2 0 4591.5645519834 2 5408.4353237071 )	54.4415083512 (ExtendedPoll)
-	5629+79	(	2 0 4591.5646115597 2 5408.4353255431 )	54.4415078361 (ExtendedPoll)
-	5629+84	(	2 0 4591.5645990175 2 5408.4353525777 )	54.4415076449 (ExtendedPoll)
-	5629+85	(	2 0 4591.5645613907 2 5408.4354336816 )	54.4415070710 (ExtendedPoll)
-	5629+94	(	2 0 4591.5645699689 2 5408.4354275629 )	54.4415070666 (ExtendedPoll)
-	5629+101	(	2 0 4591.5645717027 2 5408.4354268822 )	54.4415070596 (ExtendedPoll)
-	5629+103	(	2 0 4591.5645704450 2 5408.4354282562 )	54.4415070551 (ExtendedPoll)
-	5629+104	(	2 0 4591.5645666721 2 5408.4354323781 )	54.4415070414 (ExtendedPoll)
-	5629+109	(	2 0 4591.5645657541 2 5408.4354339988 )	54.4415070313 (ExtendedPoll)
-	5629+119	(	2 0 4591.5645658577 2 5408.4354341268 )	54.4415070290 (ExtendedPoll)
-	5755+17	(	2 0 4999.4391479660 2 5000.4028159491 )	55.9011173930 (ExtendedPoll)
-	5755+18	(	2 0 4997.7566207727 2 5001.6112927051 )	55.8993758016 (ExtendedPoll)
-	5755+19	(	2 0 4991.0265119995 2 5006.4451997289 )	55.8924862980 (ExtendedPoll)
-	5755+20	(	2 0 4964.1060769066 2 5025.7808278241 )	55.8661643975 (ExtendedPoll)
-	5755+21	(	2 0 4856.4243365351 2 5103.1233402051 )	55.7810605478 (ExtendedPoll)
-	5755+24	(	2 0 4863.9579639983 2 5116.7712160443 )	55.5599122421 (ExtendedPoll)
-	5755+25	(	2 0 4848.2356110316 2 5143.8486017093 )	55.3646109717 (ExtendedPoll)
-	5755+31	(	2 0 4842.8037564475 2 5149.4715265551 )	55.3415309539 (ExtendedPoll)
-	5755+32	(	2 0 4826.5081926955 2 5166.3403010924 )	55.2731138922 (ExtendedPoll)
-	5755+33	(	2 0 4761.3259376873 2 5233.8153992415 )	55.0119577195 (ExtendedPoll)
-	5755+36	(	2 0 4739.4893363446 2 5256.0887326112 )	54.9328003343 (ExtendedPoll)
-	5755+37	(	2 0 4673.9795323162 2 5322.9087327200 )	54.7090508194 (ExtendedPoll)
-	5755+39	(	2 0 4628.5594015233 2 5364.8350072982 )	54.6149385255 (ExtendedPoll)
-	5755+40	(	2 0 4492.2990091444 2 5490.6138310325 )	54.3872651867 (ExtendedPoll)
-	5755+41	(	2 0 3947.2574396288 2 5993.7291259700 )	54.3655883138 (ExtendedPoll)
-	5755+49	(	2 0 3928.0412304472 2 6053.1246816223 )	54.0330892795 (ExtendedPoll)
-	5755+58	(	2 0 3929.8700458096 2 6060.7129005889 )	53.9508748031 (ExtendedPoll)
-	5755+60	(	2 0 3925.2024722726 2 6066.9909234750 )	53.9417691814 (ExtendedPoll)
-	5755+61	(	2 0 3911.1997516616 2 6085.8249921331 )	53.9156381344 (ExtendedPoll)
-	5755+66	(	2 0 3919.7706176886 2 6078.8372797034 )	53.8929555395 (ExtendedPoll)
-	5755+74	(	2 0 3920.5459876347 2 6078.2435971044 )	53.8905945920 (ExtendedPoll)
-	5755+75	(	2 0 3922.8720974731 2 6076.4625493074 )	53.8835272419 (ExtendedPoll)
-	5755+81	(	2 0 3922.0826531550 2 6077.5957494982 )	53.8814445368 (ExtendedPoll)
-	5755+87	(	2 0 3922.3040046412 2 6077.4927773412 )	53.8802087502 (ExtendedPoll)
-	5755+90	(	2 0 3922.2317402049 2 6077.7259640948 )	53.8789219399 (ExtendedPoll)
-	5755+100	(	2 0 3922.2265169811 2 6077.7403010701 )	53.8788502601 (ExtendedPoll)
-	5755+101	(	2 0 3922.2108473095 2 6077.7833119959 )	53.8786352255 (ExtendedPoll)
-	5755+107	(	2 0 3922.2085611664 2 6077.7905908301 )	53.8785953531 (ExtendedPoll)
-	5755+113	(	2 0 3922.2107347292 2 6077.7889934610 )	53.8785881820 (ExtendedPoll)
-	5755+122	(	2 0 3922.2108535295 2 6077.7889835942 )	53.8785871342 (ExtendedPoll)
-	5755+123	(	2 0 3922.2110146221 2 6077.7888078314 )	53.8785870886 (ExtendedPoll)
-	5755+124	(	2 0 3922.2114979001 2 6077.7882805429 )	53.8785869518 (ExtendedPoll)
-	5755+125	(	2 0 3922.2134310120 2 6077.7861713891 )	53.8785864048 (ExtendedPoll)
-	5755+126	(	2 0 3922.2211634595 2 6077.7777347737 )	53.8785842169 (ExtendedPoll)
-	5755+127	(	2 0 3922.2520932495 2 6077.7439883121 )	53.8785754693 (ExtendedPoll)
-	5755+128	(	2 0 3922.3758124097 2 6077.6090024659 )	53.8785405430 (ExtendedPoll)
-	5755+129	(	2 0 3922.8706890504 2 6077.0690590808 )	53.8784018624 (ExtendedPoll)
-	5755+130	(	2 0 3924.8501956130 2 6074.9092855406 )	53.8778635334 (ExtendedPoll)
-	5755+131	(	2 0 3932.7682218633 2 6066.2701913799 )	53.8759723517 (ExtendedPoll)
-	5755+132	(	2 0 3964.4403268649 2 6031.7138147370 )	53.8725913899 (ExtendedPoll)
-	5755+134	(	2 0 3964.6765257473 2 6031.6520794236 )	53.8708963698 (ExtendedPoll)
-	5755+135	(	2 0 3965.3851223947 2 6031.4668734835 )	53.8658119765 (ExtendedPoll)
-	5755+136	(	2 0 3968.2195089840 2 6030.7260497231 )	53.8454844045 (ExtendedPoll)
-	5755+138	(	2 0 3966.5220544265 2 6032.9062978884 )	53.8426385768 (ExtendedPoll)
-	5755+139	(	2 0 3964.0381410238 2 6035.9224784489 )	53.8400218659 (ExtendedPoll)
-	5755+154	(	2 0 3964.1134625710 2 6035.8803219730 )	53.8396748316 (ExtendedPoll)
-	5755+157	(	2 0 3964.1376216602 2 6035.8616765123 )	53.8396077632 (ExtendedPoll)
-	5755+166	(	2 0 3964.1391333458 2 6035.8605134178 )	53.8396035356 (ExtendedPoll)
-	5755+171	(	2 0 3964.1395137360 2 6035.8602258817 )	53.8396024275 (ExtendedPoll)
-	5755+175	(	2 0 3964.1397422881 2 6035.8601580043 )	53.8396008562 (ExtendedPoll)
-	5755+176	(	2 0 3964.1401032802 2 6035.8598464624 )	53.8396001384 (ExtendedPoll)
-	5755+184	(	2 0 3964.1401437730 2 6035.8598027239 )	53.8396001338 (ExtendedPoll)
-	5755+185	(	2 0 3964.1402652513 2 6035.8596715087 )	53.8396001200 (ExtendedPoll)
-	5755+186	(	2 0 3964.1407511646 2 6035.8591466477 )	53.8396000647 (ExtendedPoll)
-	5755+187	(	2 0 3964.1426948176 2 6035.8570472037 )	53.8395998438 (ExtendedPoll)
-	5755+188	(	2 0 3964.1504694296 2 6035.8486494278 )	53.8395989603 (ExtendedPoll)
-	5755+189	(	2 0 3964.1815678778 2 6035.8150583240 )	53.8395954303 (ExtendedPoll)
-	5755+190	(	2 0 3964.3059616705 2 6035.6806939089 )	53.8395813737 (ExtendedPoll)
-	5755+191	(	2 0 3964.8035368415 2 6035.1432362487 )	53.8395261614 (ExtendedPoll)
-	5755+192	(	2 0 3966.7938375252 2 6032.9934056075 )	53.8393215384 (ExtendedPoll)
-	5755+193	(	2 0 3974.7550402603 2 6024.3940830430 )	53.8387624914 (ExtendedPoll)
-	5755+195	(	2 0 3974.8020931115 2 6024.3552069220 )	53.8386567319 (ExtendedPoll)
-	5755+196	(	2 0 3974.9432516652 2 6024.2385785592 )	53.8383395150 (ExtendedPoll)
-	5755+197	(	2 0 3975.5078858801 2 6023.7720651080 )	53.8370715717 (ExtendedPoll)
-	5755+198	(	2 0 3977.7664227394 2 6021.9060113031 )	53.8320145804 (ExtendedPoll)
-	5755+201	(	2 0 3978.1694615728 2 6021.6302815615 )	53.8306170085 (ExtendedPoll)
-	5755+206	(	2 0 3978.2884006782 2 6021.6028192098 )	53.8297362750 (ExtendedPoll)
-	5755+211	(	2 0 3978.3433620337 2 6021.5762764903 )	53.8294496693 (ExtendedPoll)
-	5755+214	(	2 0 3978.4034030246 2 6021.5653058772 )	53.8289799544 (ExtendedPoll)
-	5755+218	(	2 0 3978.4320361581 2 6021.5547475992 )	53.8288022372 (ExtendedPoll)
-	5755+219	(	2 0 3978.4762518106 2 6021.5126727574 )	53.8287517449 (ExtendedPoll)
-	5755+220	(	2 0 3978.6088987679 2 6021.3864482319 )	53.8286003328 (ExtendedPoll)
-	5755+224	(	2 0 3978.6514101019 2 6021.3426524116 )	53.8285808779 (ExtendedPoll)
-	5755+225	(	2 0 3978.7789441037 2 6021.2112649506 )	53.8285225798 (ExtendedPoll)
-	5755+226	(	2 0 3979.2890801112 2 6020.6857151068 )	53.8282903842 (ExtendedPoll)
-	5755+227	(	2 0 3981.3296241412 2 6018.5835157314 )	53.8273775476 (ExtendedPoll)
-	5755+228	(	2 0 3989.4918002613 2 6010.1747182300 )	53.8239811631 (ExtendedPoll)
-	5755+229	(	2 0 4022.1405047416 2 5976.5395282242 )	53.8144637068 (ExtendedPoll)
-	5755+234	(	2 0 4020.7893650335 2 5978.9483783098 )	53.8057221545 (ExtendedPoll)
-	5755+239	(	2 0 4021.8359865119 2 5978.0476185044 )	53.8039392071 (ExtendedPoll)
-	5755+248	(	2 0 4021.8964440029 2 5978.0392385221 )	53.8034496620 (ExtendedPoll)
-	5755+251	(	2 0 4021.9498759700 2 5978.0097369858 )	53.8032127550 (ExtendedPoll)
-	5755+255	(	2 0 4021.9714769156 2 5977.9881793562 )	53.8032023063 (ExtendedPoll)
-	5755+256	(	2 0 4022.0362797523 2 5977.9235064675 )	53.8031709766 (ExtendedPoll)
-	5755+257	(	2 0 4022.2954910992 2 5977.6648149127 )	53.8030459025 (ExtendedPoll)
-	5755+258	(	2 0 4023.3323364869 2 5976.6300486937 )	53.8025495188 (ExtendedPoll)
-	5755+259	(	2 0 4027.4797180376 2 5972.4909838173 )	53.8006265679 (ExtendedPoll)
-	5755+272	(	2 0 4027.4926149637 2 5972.4991384731 )	53.8004340240 (ExtendedPoll)
-	5755+274	(	2 0 4027.4867594927 2 5972.5132290886 )	53.8003634319 (ExtendedPoll)
-	5755+291	(	2 0 4027.4868017206 2 5972.5131870229 )	53.8003634121 (ExtendedPoll)
-	5755+292	(	2 0 4027.4869284044 2 5972.5130608261 )	53.8003633529 (ExtendedPoll)
-	5755+293	(	2 0 4027.4874351394 2 5972.5125560387 )	53.8003631157 (ExtendedPoll)
-	5755+294	(	2 0 4027.4894620797 2 5972.5105368890 )	53.8003621672 (ExtendedPoll)
-	5755+309	(	2 0 4027.4894630105 2 5972.5105368589 )	53.8003621588 (ExtendedPoll)
-	5755+315	(	2 0 4027.4894632002 2 5972.5105367239 )	53.8003621582 (ExtendedPoll)
-	5755+320	(	2 0 4027.4894631259 2 5972.5105368136 )	53.8003621581 (ExtendedPoll)
-	5755+321	(	2 0 4027.4894629032 2 5972.5105370826 )	53.8003621578 (ExtendedPoll)
-	5755+329	(	2 0 4027.4894628766 2 5972.5105371140 )	53.8003621577 (ExtendedPoll)
-	6087+4	(	2 0 4748.4423428951 2 5251.5576378325 )	54.9123291399 (ExtendedPoll)
-	6087+5	(	2 0 3993.7694004889 2 6006.2305802387 )	53.8183151870 (ExtendedPoll)
-	6087+44	(	2 0 3993.7694619626 2 6006.2305225636 )	53.8183151149 (ExtendedPoll)
-	6087+45	(	2 0 3993.7696463836 2 6006.2303495384 )	53.8183148988 (ExtendedPoll)
-	6087+56	(	2 0 3993.7696499094 2 6006.2303483359 )	53.8183148762 (ExtendedPoll)
-	6087+64	(	2 0 3993.7696494122 2 6006.2303491234 )	53.8183148740 (ExtendedPoll)
-	6087+65	(	2 0 3993.7696479206 2 6006.2303514859 )	53.8183148673 (ExtendedPoll)
-	6087+70	(	2 0 3993.7696473156 2 6006.2303521939 )	53.8183148668 (ExtendedPoll)
-	6087+71	(	2 0 3993.7696455004 2 6006.2303543179 )	53.8183148653 (ExtendedPoll)
-	6087+80	(	2 0 3993.7696457355 2 6006.2303540873 )	53.8183148651 (ExtendedPoll)
-	6087+81	(	2 0 3993.7696464408 2 6006.2303533957 )	53.8183148645 (ExtendedPoll)
-	6087+82	(	2 0 3993.7696492618 2 6006.2303506290 )	53.8183148623 (ExtendedPoll)
-	6087+85	(	2 0 3993.7696499024 2 6006.2303499530 )	53.8183148622 (ExtendedPoll)
-	6087+86	(	2 0 3993.7696518242 2 6006.2303479249 )	53.8183148619 (ExtendedPoll)
-	6087+87	(	2 0 3993.7696595112 2 6006.2303398127 )	53.8183148607 (ExtendedPoll)
-	6087+88	(	2 0 3993.7696902595 2 6006.2303073636 )	53.8183148562 (ExtendedPoll)
-	6087+89	(	2 0 3993.7698132527 2 6006.2301775672 )	53.8183148381 (ExtendedPoll)
-	6087+90	(	2 0 3993.7703052255 2 6006.2296583817 )	53.8183147657 (ExtendedPoll)
-	6087+91	(	2 0 3993.7722731166 2 6006.2275816398 )	53.8183144759 (ExtendedPoll)
-	6087+92	(	2 0 3993.7801446810 2 6006.2192746722 )	53.8183133172 (ExtendedPoll)
-	6087+93	(	2 0 3993.8116309384 2 6006.1860468016 )	53.8183086862 (ExtendedPoll)
-	6087+94	(	2 0 3993.9375759683 2 6006.0531353193 )	53.8182902249 (ExtendedPoll)
-	6087+95	(	2 0 3994.4413560878 2 6005.5214893902 )	53.8182173813 (ExtendedPoll)
-	6087+96	(	2 0 3996.4564765659 2 6003.3949056739 )	53.8179420284 (ExtendedPoll)
-	6087+97	(	2 0 4004.5169584783 2 5994.8885708083 )	53.8170967872 (ExtendedPoll)
-	6087+99	(	2 0 4004.5245453924 2 5994.8877669371 )	53.8170328494 (ExtendedPoll)
-	6087+100	(	2 0 4004.5473061346 2 5994.8853553233 )	53.8168410364 (ExtendedPoll)
-	6087+101	(	2 0 4004.6383491034 2 5994.8757088682 )	53.8160737928 (ExtendedPoll)
-	6087+102	(	2 0 4005.0025209789 2 5994.8371230479 )	53.8130049524 (ExtendedPoll)
-	6087+105	(	2 0 4005.0443542507 2 5994.7926791534 )	53.8130042923 (ExtendedPoll)
-	6087+106	(	2 0 4005.1698540660 2 5994.6593474699 )	53.8130023789 (ExtendedPoll)
-	6087+107	(	2 0 4005.6718533272 2 5994.1260207358 )	53.8129957265 (ExtendedPoll)
-	6087+108	(	2 0 4007.6798503720 2 5991.9927137997 )	53.8129851374 (ExtendedPoll)
-	6087+113	(	2 0 4007.2403461204 2 5992.5254074536 )	53.8124063797 (ExtendedPoll)
-	6087+117	(	2 0 4007.7373207242 2 5992.0459191907 )	53.8119791690 (ExtendedPoll)
-	6087+118	(	2 0 4009.2282445356 2 5990.6074544020 )	53.8107058155 (ExtendedPoll)
-	6087+126	(	2 0 4009.3503023939 2 5990.6056218015 )	53.8095807273 (ExtendedPoll)
-	6087+128	(	2 0 4009.4380806266 2 5990.5207890577 )	53.8095074272 (ExtendedPoll)
-	6087+129	(	2 0 4009.7014153247 2 5990.2662908261 )	53.8092877859 (ExtendedPoll)
-	6087+136	(	2 0 4009.7506106525 2 5990.2301636059 )	53.8091461907 (ExtendedPoll)
-	6087+143	(	2 0 4009.7635053921 2 5990.2220054099 )	53.8090975243 (ExtendedPoll)
-	6087+144	(	2 0 4009.8021896106 2 5990.1975308217 )	53.8089515284 (ExtendedPoll)
-	6087+154	(	2 0 4009.8017843826 2 5990.1980698371 )	53.8089505672 (ExtendedPoll)
-	6087+161	(	2 0 4009.8017202471 2 5990.1981703234 )	53.8089502814 (ExtendedPoll)
-	6087+162	(	2 0 4009.8015278408 2 5990.1984717824 )	53.8089494238 (ExtendedPoll)
-	6087+177	(	2 0 4009.8015265652 2 5990.1984731397 )	53.8089494237 (ExtendedPoll)
-	6087+178	(	2 0 4009.8015227385 2 5990.1984772118 )	53.8089494236 (ExtendedPoll)
-	6087+182	(	2 0 4009.8015264517 2 5990.1984734744 )	53.8089494218 (ExtendedPoll)
-	6087+183	(	2 0 4009.8015375912 2 5990.1984622623 )	53.8089494165 (ExtendedPoll)
-	6087+184	(	2 0 4009.8015821493 2 5990.1984174139 )	53.8089493951 (ExtendedPoll)
-	6087+185	(	2 0 4009.8017603815 2 5990.1982380201 )	53.8089493096 (ExtendedPoll)
-	6087+186	(	2 0 4009.8024733106 2 5990.1975204453 )	53.8089489676 (ExtendedPoll)
-	6087+187	(	2 0 4009.8053250269 2 5990.1946501458 )	53.8089475994 (ExtendedPoll)
-	6087+188	(	2 0 4009.8167318920 2 5990.1831689481 )	53.8089421273 (ExtendedPoll)
-	6087+189	(	2 0 4009.8623593525 2 5990.1372441570 )	53.8089202465 (ExtendedPoll)
-	6087+190	(	2 0 4010.0448691945 2 5989.9535449926 )	53.8088328461 (ExtendedPoll)
-	6087+191	(	2 0 4010.7749085625 2 5989.2187483350 )	53.8084852115 (ExtendedPoll)
-	6087+192	(	2 0 4013.6950660346 2 5986.2795617047 )	53.8071261335 (ExtendedPoll)
-	6087+193	(	2 0 4025.3756959228 2 5974.5228151836 )	53.8021926744 (ExtendedPoll)
-	6087+194	(	2 0 4072.0982154756 2 5927.4958290993 )	53.7904707641 (ExtendedPoll)
-	6087+196	(	2 0 4072.1230863636 2 5927.4781440878 )	53.7904013936 (ExtendedPoll)
-	6087+197	(	2 0 4072.1976990276 2 5927.4250890534 )	53.7901932963 (ExtendedPoll)
-	6087+198	(	2 0 4072.4961496835 2 5927.2128689157 )	53.7893611206 (ExtendedPoll)
-	6087+201	(	2 0 4072.6142224687 2 5927.1818879709 )	53.7885522474 (ExtendedPoll)
-	6087+205	(	2 0 4072.7124431924 2 5927.2543656553 )	53.7869896937 (ExtendedPoll)
-	6087+206	(	2 0 4072.8894390822 2 5927.0862195600 )	53.7868793477 (ExtendedPoll)
-	6087+212	(	2 0 4072.8331432603 2 5927.1516517284 )	53.7868061997 (ExtendedPoll)
-	6087+222	(	2 0 4072.8364485532 2 5927.1585279631 )	53.7867134349 (ExtendedPoll)
-	6087+225	(	2 0 4072.8360952700 2 5927.1623262685 )	53.7866822980 (ExtendedPoll)
-	6087+231	(	2 0 4072.8355323017 2 5927.1630960486 )	53.7866805212 (ExtendedPoll)
-	6087+232	(	2 0 4072.8338433970 2 5927.1654053888 )	53.7866751908 (ExtendedPoll)
-	6087+236	(	2 0 4072.8348036881 2 5927.1644583778 )	53.7866749068 (ExtendedPoll)
-	6087+237	(	2 0 4072.8376845612 2 5927.1616173446 )	53.7866740546 (ExtendedPoll)
-	6087+238	(	2 0 4072.8492080538 2 5927.1502532121 )	53.7866706465 (ExtendedPoll)
-	6087+239	(	2 0 4072.8546839370 2 5927.1449407271 )	53.7866682334 (ExtendedPoll)
-	6087+251	(	2 0 4072.8548902901 2 5927.1448213042 )	53.7866674110 (ExtendedPoll)
-	6087+252	(	2 0 4072.8555093493 2 5927.1444630354 )	53.7866649438 (ExtendedPoll)
-	6087+257	(	2 0 4072.8556843793 2 5927.1443011469 )	53.7866647950 (ExtendedPoll)
-	6087+265	(	2 0 4072.8556567359 2 5927.1443329620 )	53.7866647619 (ExtendedPoll)
-	6087+271	(	2 0 4072.8556523714 2 5927.1443390004 )	53.7866647475 (ExtendedPoll)
-	6087+272	(	2 0 4072.8556392781 2 5927.1443571157 )	53.7866647042 (ExtendedPoll)
-	6087+277	(	2 0 4072.8556357434 2 5927.1443636744 )	53.7866646774 (ExtendedPoll)
-	6087+284	(	2 0 4072.8556351991 2 5927.1443644301 )	53.7866646756 (ExtendedPoll)
-	6087+289	(	2 0 4072.8556348885 2 5927.1443647771 )	53.7866646753 (ExtendedPoll)
-	6087+290	(	2 0 4072.8556339570 2 5927.1443658182 )	53.7866646745 (ExtendedPoll)
-	6087+291	(	2 0 4072.8556327029 2 5927.1443671954 )	53.7866646736 (ExtendedPoll)
-	6087+300	(	2 0 4072.8556329763 2 5927.1443670119 )	53.7866646727 (ExtendedPoll)
-	6399+7	(	2 0 4954.5798595708 2 5043.6731930494 )	55.7239163641 (ExtendedPoll)
-	6399+8	(	2 0 4818.3194671920 2 5174.6928011060 )	55.2406520186 (ExtendedPoll)
-	6399+9	(	2 0 4273.2778976764 2 5698.7712333325 )	54.1421761447 (ExtendedPoll)
-	6399+20	(	2 0 4267.0544662937 2 5713.0742072120 )	54.0559868372 (ExtendedPoll)
-	6399+22	(	2 0 4305.9236166838 2 5692.5478019498 )	53.9161736343 (ExtendedPoll)
-	6399+38	(	2 0 4306.4284814658 2 5693.0189735384 )	53.9070540230 (ExtendedPoll)
-	6399+39	(	2 0 4307.3369182014 2 5692.6607167976 )	53.9026276457 (ExtendedPoll)
-	6399+55	(	2 0 4307.3366998789 2 5692.6626116095 )	53.9026107377 (ExtendedPoll)
-	6399+61	(	2 0 4307.3371752453 2 5692.6626490319 )	53.9026061874 (ExtendedPoll)
-	6399+63	(	2 0 4307.3375784896 2 5692.6623945369 )	53.9026051716 (ExtendedPoll)
-	6399+76	(	2 0 4307.3375909856 2 5692.6624026545 )	53.9026049811 (ExtendedPoll)
-	6399+81	(	2 0 4307.3375975611 2 5692.6623991511 )	53.9026049581 (ExtendedPoll)
-	6399+89	(	2 0 4307.3375983269 2 5692.6623986211 )	53.9026049566 (ExtendedPoll)
-	6399+90	(	2 0 4307.3376006244 2 5692.6623970312 )	53.9026049522 (ExtendedPoll)
-	6399+92	(	2 0 4307.3375976707 2 5692.6624013936 )	53.9026049349 (ExtendedPoll)
-	6399+97	(	2 0 4307.3375969844 2 5692.6624020232 )	53.9026049346 (ExtendedPoll)
-	6399+98	(	2 0 4307.3375949256 2 5692.6624039121 )	53.9026049340 (ExtendedPoll)
-	6399+99	(	2 0 4307.3375866905 2 5692.6624114674 )	53.9026049313 (ExtendedPoll)
-	6399+100	(	2 0 4307.3375537500 2 5692.6624416886 )	53.9026049205 (ExtendedPoll)
-	6399+101	(	2 0 4307.3374219878 2 5692.6625625735 )	53.9026048776 (ExtendedPoll)
-	6399+102	(	2 0 4307.3368949392 2 5692.6630461130 )	53.9026047059 (ExtendedPoll)
-	6399+103	(	2 0 4307.3347867446 2 5692.6649802712 )	53.9026040190 (ExtendedPoll)
-	6399+104	(	2 0 4307.3263539663 2 5692.6727169040 )	53.9026012717 (ExtendedPoll)
-	6399+105	(	2 0 4307.2926228530 2 5692.7036634351 )	53.9025902858 (ExtendedPoll)
-	6399+106	(	2 0 4307.1576983999 2 5692.8274495597 )	53.9025463974 (ExtendedPoll)
-	6399+107	(	2 0 4306.6180005874 2 5693.3225940580 )	53.9023717283 (ExtendedPoll)
-	6399+108	(	2 0 4304.4592093375 2 5695.3031720513 )	53.9016872027 (ExtendedPoll)
-	6399+109	(	2 0 4295.8240443380 2 5703.2254840245 )	53.8991757562 (ExtendedPoll)
-	6399+110	(	2 0 4261.2833843400 2 5734.9147319171 )	53.8927720075 (ExtendedPoll)
-	6399+113	(	2 0 4261.2854283144 2 5734.9298531621 )	53.8926060076 (ExtendedPoll)
-	6399+114	(	2 0 4261.2915602373 2 5734.9752168971 )	53.8921080120 (ExtendedPoll)
-	6399+115	(	2 0 4261.3160879292 2 5735.1566718371 )	53.8901160910 (ExtendedPoll)
-	6399+116	(	2 0 4261.4141986968 2 5735.8824915973 )	53.8821493903 (ExtendedPoll)
-	6399+117	(	2 0 4261.5839708086 2 5736.0579414386 )	53.8789281638 (ExtendedPoll)
-	6399+118	(	2 0 4262.0932871439 2 5736.5842909627 )	53.8692650726 (ExtendedPoll)
-	6399+119	(	2 0 4262.1303923063 2 5737.5601140852 )	53.8593995884 (ExtendedPoll)
-	6399+127	(	2 0 4262.0592807423 2 5737.6593344091 )	53.8590609755 (ExtendedPoll)
-	6399+128	(	2 0 4261.8459460503 2 5737.9569953809 )	53.8580454076 (ExtendedPoll)
-	6399+133	(	2 0 4261.8066484312 2 5738.0725691654 )	53.8572649584 (ExtendedPoll)
-	6399+134	(	2 0 4261.6592140538 2 5738.2671580201 )	53.8566720935 (ExtendedPoll)
-	6399+139	(	2 0 4261.6094206317 2 5738.3786067875 )	53.8560252022 (ExtendedPoll)
-	6399+146	(	2 0 4261.6039575038 2 5738.3928541111 )	53.8559345028 (ExtendedPoll)
-	6399+147	(	2 0 4261.5822528497 2 5738.4143071991 )	53.8559175202 (ExtendedPoll)
-	6399+148	(	2 0 4261.5171388874 2 5738.4786664632 )	53.8558665878 (ExtendedPoll)
-	6399+149	(	2 0 4261.2566830381 2 5738.7361035197 )	53.8556630883 (ExtendedPoll)
-	6399+150	(	2 0 4260.2148596411 2 5739.7658517453 )	53.8548527711 (ExtendedPoll)
-	6399+151	(	2 0 4256.0475660528 2 5743.8848446480 )	53.8516704284 (ExtendedPoll)
-	6399+152	(	2 0 4239.3783916996 2 5760.3608162588 )	53.8398857910 (ExtendedPoll)
-	6399+153	(	2 0 4172.7016942871 2 5826.2647027020 )	53.8079830812 (ExtendedPoll)
-	6399+159	(	2 0 4172.3873666467 2 5827.1893462901 )	53.8020966299 (ExtendedPoll)
-	6399+161	(	2 0 4171.7493284512 2 5827.9288905621 )	53.8008851851 (ExtendedPoll)
-	6399+162	(	2 0 4169.8352138647 2 5830.1475233783 )	53.7972677698 (ExtendedPoll)
-	6399+173	(	2 0 4169.8728479823 2 5830.1263964098 )	53.7971266241 (ExtendedPoll)
-	6399+180	(	2 0 4169.8744650652 2 5830.1253849637 )	53.7971215364 (ExtendedPoll)
-	6399+188	(	2 0 4169.8742332961 2 5830.1256298513 )	53.7971213238 (ExtendedPoll)
-	6399+189	(	2 0 4169.8735379888 2 5830.1263645140 )	53.7971206859 (ExtendedPoll)
-	6399+197	(	2 0 4169.8735402993 2 5830.1264240738 )	53.7971201036 (ExtendedPoll)
-	6399+202	(	2 0 4169.8735394760 2 5830.1264538648 )	53.7971198303 (ExtendedPoll)
-	6399+207	(	2 0 4169.8735316923 2 5830.1264665714 )	53.7971197809 (ExtendedPoll)
-	6399+208	(	2 0 4169.8735105156 2 5830.1264875411 )	53.7971197747 (ExtendedPoll)
-	6399+209	(	2 0 4169.8734469856 2 5830.1265504500 )	53.7971197562 (ExtendedPoll)
-	6399+210	(	2 0 4169.8731928654 2 5830.1268020859 )	53.7971196820 (ExtendedPoll)
-	6399+211	(	2 0 4169.8721763846 2 5830.1278086295 )	53.7971193855 (ExtendedPoll)
-	6399+212	(	2 0 4169.8681104615 2 5830.1318348037 )	53.7971181995 (ExtendedPoll)
-	6399+213	(	2 0 4169.8518467691 2 5830.1479395006 )	53.7971134562 (ExtendedPoll)
-	6399+214	(	2 0 4169.7867919994 2 5830.2123582880 )	53.7970944980 (ExtendedPoll)
-	6399+215	(	2 0 4169.5265729207 2 5830.4700334377 )	53.7970189008 (ExtendedPoll)
-	6399+216	(	2 0 4168.4856966058 2 5831.5007340364 )	53.7967202870 (ExtendedPoll)
-	6399+217	(	2 0 4164.3221913464 2 5835.6235364314 )	53.7955862535 (ExtendedPoll)
-	6399+218	(	2 0 4147.6681703088 2 5852.1147460114 )	53.7920186238 (ExtendedPoll)
-	6399+220	(	2 0 4147.6602068265 2 5852.1752601464 )	53.7915256228 (ExtendedPoll)
-	6399+221	(	2 0 4147.6363163798 2 5852.3568025514 )	53.7900466951 (ExtendedPoll)
-	6399+229	(	2 0 4147.6523233123 2 5852.3423304219 )	53.7900364877 (ExtendedPoll)
-	6399+230	(	2 0 4147.7003441098 2 5852.2989140332 )	53.7900058731 (ExtendedPoll)
-	6399+244	(	2 0 4147.7008030485 2 5852.2990434509 )	53.7900004953 (ExtendedPoll)
-	6399+246	(	2 0 4147.7011719978 2 5852.2987413745 )	53.7899999659 (ExtendedPoll)
-	6399+252	(	2 0 4147.7010771141 2 5852.2988807259 )	53.7899995260 (ExtendedPoll)
-	6399+259	(	2 0 4147.7010935191 2 5852.2989056067 )	53.7899991446 (ExtendedPoll)
-	6399+268	(	2 0 4147.7010938504 2 5852.2989059339 )	53.7899991385 (ExtendedPoll)
-	6399+271	(	2 0 4147.7010940528 2 5852.2989058189 )	53.7899991377 (ExtendedPoll)
-	6399+275	(	2 0 4147.7010940473 2 5852.2989059352 )	53.7899991367 (ExtendedPoll)
-	6399+282	(	2 0 4147.7010940274 2 5852.2989059712 )	53.7899991366 (ExtendedPoll)
-	6685+2	(	2 0 4105.5727993639 2 5894.4271813637 )	53.7841729375 (ExtendedPoll)
-	6685+41	(	2 0 4105.5727574055 2 5894.4272236982 )	53.7841729333 (ExtendedPoll)
-	6685+42	(	2 0 4105.5726315303 2 5894.4273507015 )	53.7841729207 (ExtendedPoll)
-	6685+43	(	2 0 4105.5721280294 2 5894.4278587149 )	53.7841728703 (ExtendedPoll)
-	6685+53	(	2 0 4105.5721311970 2 5894.4278654586 )	53.7841727793 (ExtendedPoll)
-	6685+57	(	2 0 4105.5721285679 2 5894.4278680979 )	53.7841727792 (ExtendedPoll)
-	6685+58	(	2 0 4105.5721206809 2 5894.4278760159 )	53.7841727787 (ExtendedPoll)
-	6685+59	(	2 0 4105.5720891326 2 5894.4279076878 )	53.7841727770 (ExtendedPoll)
-	6685+60	(	2 0 4105.5719629396 2 5894.4280343754 )	53.7841727702 (ExtendedPoll)
-	6685+61	(	2 0 4105.5714581674 2 5894.4285411256 )	53.7841727431 (ExtendedPoll)
-	6685+74	(	2 0 4105.5714585929 2 5894.4285413146 )	53.7841727374 (ExtendedPoll)
-	6685+81	(	2 0 4105.5714586508 2 5894.4285413214 )	53.7841727368 (ExtendedPoll)
-	6774+17	(	2 0 4999.8038288046 2 5000.1453455727 )	55.9014415188 (ExtendedPoll)
-	6774+18	(	2 0 4999.2153441271 2 5000.5814111994 )	55.9006678364 (ExtendedPoll)
-	6774+19	(	2 0 4996.8614054169 2 5002.3256737060 )	55.8975828466 (ExtendedPoll)
-	6774+20	(	2 0 4987.4456505762 2 5009.3027237327 )	55.8853990072 (ExtendedPoll)
-	6774+21	(	2 0 4949.7826312134 2 5037.2109238395 )	55.8391796750 (ExtendedPoll)
-	6774+22	(	2 0 4799.1305537620 2 5148.8437242665 )	55.6957204380 (ExtendedPoll)
-	6774+24	(	2 0 4791.8152923122 2 5162.6007831124 )	55.5930004110 (ExtendedPoll)
-	6774+25	(	2 0 4769.8695079627 2 5203.8719596503 )	55.2886042603 (ExtendedPoll)
-	6774+27	(	2 0 4753.7104229690 2 5230.5126132884 )	55.1111870096 (ExtendedPoll)
-	6774+28	(	2 0 4703.0495078538 2 5267.1981035443 )	55.1012158213 (ExtendedPoll)
-	6774+34	(	2 0 4699.1189196121 2 5298.2060774510 )	54.7818521507 (ExtendedPoll)
-	6774+37	(	2 0 4689.4016320146 2 5310.4345742030 )	54.7232027437 (ExtendedPoll)
-	6774+38	(	2 0 4665.3813705375 2 5330.5242474383 )	54.6941438059 (ExtendedPoll)
-	6774+39	(	2 0 4593.3205861064 2 5390.7932671444 )	54.6201919010 (ExtendedPoll)
-	6774+40	(	2 0 4305.0774483818 2 5631.8693459686 )	54.5320542946 (ExtendedPoll)
-	6774+45	(	2 0 4291.1020235224 2 5693.0118297283 )	54.0420071399 (ExtendedPoll)
-	6774+50	(	2 0 4279.6378078175 2 5703.6025813796 )	54.0382097940 (ExtendedPoll)
-	6774+51	(	2 0 4245.2451607026 2 5735.3748363333 )	54.0307112653 (ExtendedPoll)
-	6774+58	(	2 0 4249.5032979644 2 5750.4420912598 )	53.8459996564 (ExtendedPoll)
-	6774+69	(	2 0 4249.5962541266 2 5750.3629695656 )	53.8459422263 (ExtendedPoll)
-	6774+76	(	2 0 4249.6238551729 2 5750.3759885262 )	53.8455701397 (ExtendedPoll)
-	6774+80	(	2 0 4249.6129514080 2 5750.3866626954 )	53.8455633271 (ExtendedPoll)
-	6774+81	(	2 0 4249.5802401136 2 5750.4186852027 )	53.8455428930 (ExtendedPoll)
-	6774+82	(	2 0 4249.4493949358 2 5750.5467752323 )	53.8454612142 (ExtendedPoll)
-	6774+83	(	2 0 4248.9260142245 2 5751.0591353504 )	53.8451354192 (ExtendedPoll)
-	6774+84	(	2 0 4246.8324913796 2 5753.1085758229 )	53.8438469662 (ExtendedPoll)
-	6774+85	(	2 0 4238.4583999999 2 5761.3063377130 )	53.8389290219 (ExtendedPoll)
-	6774+86	(	2 0 4204.9620344812 2 5794.0973852733 )	53.8230461425 (ExtendedPoll)
-	6774+87	(	2 0 4070.9765724063 2 5925.2615755146 )	53.8210579913 (ExtendedPoll)
-	6774+92	(	2 0 4071.7886210187 2 5927.0375053582 )	53.7974776434 (ExtendedPoll)
-	6774+98	(	2 0 4072.0432392023 2 5927.4540854434 )	53.7913560161 (ExtendedPoll)
-	6774+100	(	2 0 4071.7200617674 2 5927.8201257384 )	53.7910242574 (ExtendedPoll)
-	6774+101	(	2 0 4070.7505294627 2 5928.9182466233 )	53.7900332794 (ExtendedPoll)
-	6774+110	(	2 0 4070.7703482043 2 5929.0386984572 )	53.7887604316 (ExtendedPoll)
-	6774+112	(	2 0 4070.7520288631 2 5929.1593835311 )	53.7878375424 (ExtendedPoll)
-	6774+114	(	2 0 4070.6714077684 2 5929.2510402129 )	53.7877524096 (ExtendedPoll)
-	6774+115	(	2 0 4070.4295444844 2 5929.5260102582 )	53.7874972799 (ExtendedPoll)
-	6774+123	(	2 0 4070.4383638744 2 5929.5552256590 )	53.7871515709 (ExtendedPoll)
-	6774+129	(	2 0 4070.4346738395 2 5929.5619033272 )	53.7871252238 (ExtendedPoll)
-	6774+135	(	2 0 4070.4365087991 2 5929.5624238125 )	53.7871035769 (ExtendedPoll)
-	6774+139	(	2 0 4070.4373937138 2 5929.5620682560 )	53.7870986249 (ExtendedPoll)
-	6774+141	(	2 0 4070.4382753416 2 5929.5617046258 )	53.7870937763 (ExtendedPoll)
-	6774+149	(	2 0 4070.4383956527 2 5929.5615865285 )	53.7870937340 (ExtendedPoll)
-	6774+150	(	2 0 4070.4387565859 2 5929.5612322368 )	53.7870936074 (ExtendedPoll)
-	6774+158	(	2 0 4070.4387684909 2 5929.5612232749 )	53.7870935786 (ExtendedPoll)
-	6774+161	(	2 0 4070.4387865750 2 5929.5612124557 )	53.7870935095 (ExtendedPoll)
-	6774+169	(	2 0 4070.4387882509 2 5929.5612116428 )	53.7870935014 (ExtendedPoll)
-	6774+177	(	2 0 4070.4387881954 2 5929.5612117452 )	53.7870935010 (ExtendedPoll)
-	6774+179	(	2 0 4070.4387882946 2 5929.5612116843 )	53.7870935006 (ExtendedPoll)
-	6961+15	(	2 0 4999.8058280052 2 5000.1479845174 )	55.9013939424 (ExtendedPoll)
-	6961+16	(	2 0 4999.2233409293 2 5000.5919669783 )	55.9004775395 (ExtendedPoll)
-	6961+17	(	2 0 4996.8933926259 2 5002.3678968219 )	55.8968217946 (ExtendedPoll)
-	6961+18	(	2 0 4987.5735994122 2 5009.4716161962 )	55.8823569716 (ExtendedPoll)
-	6961+19	(	2 0 4950.2944265573 2 5037.8864936935 )	55.8270464781 (ExtendedPoll)
-	6961+20	(	2 0 4801.1777351379 2 5151.5460036826 )	55.6477582520 (ExtendedPoll)
-	6961+23	(	2 0 4799.7583560506 2 5167.1591736427 )	55.4764322556 (ExtendedPoll)
-	6961+26	(	2 0 4792.1155455806 2 5180.8070494820 )	55.3782799039 (ExtendedPoll)
-	6961+27	(	2 0 4769.1871141707 2 5221.7506769997 )	55.0876212670 (ExtendedPoll)
-	6961+31	(	2 0 4761.8718527209 2 5235.6169188523 )	54.9868701218 (ExtendedPoll)
-	6961+34	(	2 0 4749.6433559689 2 5245.3342064498 )	54.9738791762 (ExtendedPoll)
-	6961+35	(	2 0 4712.9578657131 2 5274.4860692424 )	54.9380022491 (ExtendedPoll)
-	6961+36	(	2 0 4566.2159046897 2 5391.0935204128 )	54.8421122279 (ExtendedPoll)
-	6961+38	(	2 0 4475.3756431037 2 5474.9460695691 )	54.6975024335 (ExtendedPoll)
-	6961+39	(	2 0 4202.8548583459 2 5726.5037170378 )	54.4953088368 (ExtendedPoll)
-	6961+50	(	2 0 4223.8179956350 2 5749.6505144612 )	54.0825598595 (ExtendedPoll)
-	6961+52	(	2 0 4202.8548583459 2 5772.7973118845 )	54.0462974249 (ExtendedPoll)
-	6961+53	(	2 0 4139.9654464788 2 5842.2377041545 )	53.9544164694 (ExtendedPoll)
-	6961+59	(	2 0 4139.3103484385 2 5857.8508741146 )	53.8144735666 (ExtendedPoll)
-	6961+66	(	2 0 4138.2372842006 2 5859.4835012619 )	53.8090274109 (ExtendedPoll)
-	6961+67	(	2 0 4135.0180914870 2 5864.3813827037 )	53.7927617458 (ExtendedPoll)
-	6961+75	(	2 0 4135.1400160653 2 5864.5928981232 )	53.7896852883 (ExtendedPoll)
-	6961+77	(	2 0 4135.3836253179 2 5864.5767445826 )	53.7876169219 (ExtendedPoll)
-	6961+86	(	2 0 4135.3975076833 2 5864.5830777793 )	53.7874316321 (ExtendedPoll)
-	6961+87	(	2 0 4135.4221274217 2 5864.5650445737 )	53.7873750497 (ExtendedPoll)
-	6961+91	(	2 0 4135.4358288178 2 5864.5583287176 )	53.7873127014 (ExtendedPoll)
-	6961+96	(	2 0 4135.4417746173 2 5864.5535479991 )	53.7873029931 (ExtendedPoll)
-	6961+97	(	2 0 4135.4596120157 2 5864.5392058436 )	53.7872738692 (ExtendedPoll)
-	6961+108	(	2 0 4135.4600654422 2 5864.5390582696 )	53.7872711118 (ExtendedPoll)
-	6961+109	(	2 0 4135.4609366779 2 5864.5386703998 )	53.7872667832 (ExtendedPoll)
-	6961+114	(	2 0 4135.4606620754 2 5864.5390602294 )	53.7872656603 (ExtendedPoll)
-	6961+119	(	2 0 4135.4605743562 2 5864.5392819246 )	53.7872643984 (ExtendedPoll)
-	6961+121	(	2 0 4135.4610972036 2 5864.5388560396 )	53.7872635958 (ExtendedPoll)
-	6961+126	(	2 0 4135.4612010194 2 5864.5387974466 )	53.7872631950 (ExtendedPoll)
-	6961+137	(	2 0 4135.4612024119 2 5864.5387962096 )	53.7872631938 (ExtendedPoll)
-	6961+138	(	2 0 4135.4612065894 2 5864.5387924983 )	53.7872631903 (ExtendedPoll)
-	6961+145	(	2 0 4135.4612070035 2 5864.5387922853 )	53.7872631885 (ExtendedPoll)
-	6961+146	(	2 0 4135.4612082457 2 5864.5387916463 )	53.7872631831 (ExtendedPoll)
-	6961+156	(	2 0 4135.4612082147 2 5864.5387916956 )	53.7872631829 (ExtendedPoll)
-	6961+157	(	2 0 4135.4612081217 2 5864.5387918434 )	53.7872631824 (ExtendedPoll)
-	6961+163	(	2 0 4135.4612081460 2 5864.5387918272 )	53.7872631824 (ExtendedPoll)
-	6961+164	(	2 0 4135.4612082186 2 5864.5387917788 )	53.7872631821 (ExtendedPoll)
-	7131+3	(	2 0 4874.2211666294 2 5125.7788140982 )	55.3724275680 (ExtendedPoll)
-	7131+4	(	2 0 4496.8846954264 2 5503.1152853013 )	54.2156316564 (ExtendedPoll)
-	7131+39	(	2 0 4496.8846529014 2 5503.1153270666 )	54.2156315732 (ExtendedPoll)
-	7131+40	(	2 0 4496.8845253266 2 5503.1154523626 )	54.2156313235 (ExtendedPoll)
-	7131+41	(	2 0 4496.8840150275 2 5503.1159535467 )	54.2156303249 (ExtendedPoll)
-	7131+42	(	2 0 4496.8819738307 2 5503.1179582832 )	54.2156263303 (ExtendedPoll)
-	7131+43	(	2 0 4496.8738090439 2 5503.1259772290 )	54.2156103523 (ExtendedPoll)
-	7131+44	(	2 0 4496.8411498966 2 5503.1580530122 )	54.2155464435 (ExtendedPoll)
-	7131+45	(	2 0 4496.7105133072 2 5503.2863561450 )	54.2152908615 (ExtendedPoll)
-	7131+46	(	2 0 4496.1879669499 2 5503.7995686762 )	54.2142693849 (ExtendedPoll)
-	7131+47	(	2 0 4494.0977815204 2 5505.8524188009 )	54.2101971068 (ExtendedPoll)
-	7131+48	(	2 0 4485.7370398025 2 5514.0638192997 )	54.1941263256 (ExtendedPoll)
-	7131+49	(	2 0 4452.2940729307 2 5546.9094212948 )	54.1333544119 (ExtendedPoll)
-	7131+50	(	2 0 4318.5222054439 2 5678.2918292755 )	53.9475643989 (ExtendedPoll)
-	7131+53	(	2 0 4318.5963891128 2 5678.5244295969 )	53.9445911411 (ExtendedPoll)
-	7131+54	(	2 0 4318.8189401194 2 5679.2222305612 )	53.9356722784 (ExtendedPoll)
-	7131+55	(	2 0 4318.7890853910 2 5680.1984801799 )	53.9261887566 (ExtendedPoll)
-	7131+56	(	2 0 4317.9105033838 2 5681.9437023028 )	53.9164801493 (ExtendedPoll)
-	7131+63	(	2 0 4317.7577644608 2 5682.1341594764 )	53.9159200953 (ExtendedPoll)
-	7131+69	(	2 0 4317.7221920188 2 5682.1837563103 )	53.9157374211 (ExtendedPoll)
-	7131+70	(	2 0 4317.6154746928 2 5682.3325468122 )	53.9151894649 (ExtendedPoll)
-	7131+74	(	2 0 4317.6823945996 2 5682.2780286129 )	53.9151462258 (ExtendedPoll)
-	7131+75	(	2 0 4317.8831543201 2 5682.1144740148 )	53.9150166207 (ExtendedPoll)
-	7131+87	(	2 0 4317.8850608152 2 5682.1144169722 )	53.9150004675 (ExtendedPoll)
-	7131+92	(	2 0 4317.8855375905 2 5682.1144246562 )	53.9149962090 (ExtendedPoll)
-	7131+100	(	2 0 4317.8855643890 2 5682.1144116170 )	53.9149961040 (ExtendedPoll)
-	7131+105	(	2 0 4317.8855791781 2 5682.1144097931 )	53.9149959925 (ExtendedPoll)
-	7131+107	(	2 0 4317.8855925920 2 5682.1144033038 )	53.9149959395 (ExtendedPoll)
-	7131+111	(	2 0 4317.8855821380 2 5682.1144139226 )	53.9149959253 (ExtendedPoll)
-	7131+112	(	2 0 4317.8855507760 2 5682.1144457789 )	53.9149958826 (ExtendedPoll)
-	7131+113	(	2 0 4317.8854253280 2 5682.1145732043 )	53.9149957120 (ExtendedPoll)
-	7131+120	(	2 0 4317.8854184488 2 5682.1145811854 )	53.9149956927 (ExtendedPoll)
-	7131+129	(	2 0 4317.8854186637 2 5682.1145810957 )	53.9149956917 (ExtendedPoll)
-	7131+136	(	2 0 4317.8854187880 2 5682.1145812036 )	53.9149956895 (ExtendedPoll)
-	7275+1	(	2 0 4664.5897937388 2 5335.4101869888 )	54.6460177074 (ExtendedPoll)
-	7275+2	(	2 0 3658.3592038639 2 6341.6407768637 )	54.3665218070 (ExtendedPoll)
-	7275+37	(	2 0 3658.3592901848 2 6341.6406946471 )	54.3665215475 (ExtendedPoll)
-	7275+38	(	2 0 3658.3595491473 2 6341.6404479973 )	54.3665207691 (ExtendedPoll)
-	7275+39	(	2 0 3658.3598690753 2 6341.6400944160 )	54.3665201699 (ExtendedPoll)
-	7275+40	(	2 0 3658.3608288593 2 6341.6390336723 )	54.3665183724 (ExtendedPoll)
-	7275+41	(	2 0 3658.3646679955 2 6341.6347906973 )	54.3665111823 (ExtendedPoll)
-	7275+42	(	2 0 3658.3800245403 2 6341.6178187975 )	54.3664824230 (ExtendedPoll)
-	7275+43	(	2 0 3658.4414507195 2 6341.5499311982 )	54.3663674021 (ExtendedPoll)
-	7275+44	(	2 0 3658.6871554362 2 6341.2783808011 )	54.3659075842 (ExtendedPoll)
-	7275+45	(	2 0 3659.6699743029 2 6340.1921792124 )	54.3640725584 (ExtendedPoll)
-	7275+46	(	2 0 3663.6012497698 2 6335.8473728577 )	54.3568003795 (ExtendedPoll)
-	7275+47	(	2 0 3679.3263516374 2 6318.4681474388 )	54.3287978530 (ExtendedPoll)
-	7275+48	(	2 0 3742.2267591076 2 6248.9512457632 )	54.2341245206 (ExtendedPoll)
-	7275+49	(	2 0 3993.8283889887 2 5970.8836390611 )	54.1291421044 (ExtendedPoll)
-	7275+51	(	2 0 3994.6101563766 2 5970.2984863845 )	54.1270135487 (ExtendedPoll)
-	7275+52	(	2 0 3996.9554585404 2 5968.5430283547 )	54.1206429804 (ExtendedPoll)
-	7275+53	(	2 0 4006.3366671954 2 5961.5211962354 )	54.0953869891 (ExtendedPoll)
-	7275+54	(	2 0 4043.8615018154 2 5933.4338677582 )	53.9979707862 (ExtendedPoll)
-	7275+55	(	2 0 4058.8195737352 2 5928.7389984696 )	53.9018789159 (ExtendedPoll)
-	7275+56	(	2 0 4085.0234953465 2 5911.2697173953 )	53.8187819628 (ExtendedPoll)
-	7275+62	(	2 0 4079.2095002390 2 5920.6867517244 )	53.7866402997 (ExtendedPoll)
-	7275+75	(	2 0 4079.1688898115 2 5920.8018656928 )	53.7859692077 (ExtendedPoll)
-	7275+79	(	2 0 4079.1419239280 2 5920.8566204642 )	53.7857204969 (ExtendedPoll)
-	7275+92	(	2 0 4079.1420265196 2 5920.8575686043 )	53.7857109426 (ExtendedPoll)
-	7275+94	(	2 0 4079.1415632502 2 5920.8584021968 )	53.7857076422 (ExtendedPoll)
-	7275+101	(	2 0 4079.1418084008 2 5920.8581707058 )	53.7857074853 (ExtendedPoll)
-	7275+109	(	2 0 4079.1417949665 2 5920.8581973084 )	53.7857073675 (ExtendedPoll)
-	7275+116	(	2 0 4079.1417913882 2 5920.8582038435 )	53.7857073412 (ExtendedPoll)
-	7275+120	(	2 0 4079.1417981276 2 5920.8582006667 )	53.7857073079 (ExtendedPoll)
-	7275+130	(	2 0 4079.1417985233 2 5920.8582009121 )	53.7857073020 (ExtendedPoll)
-	7275+131	(	2 0 4079.1417993958 2 5920.8582005863 )	53.7857072969 (ExtendedPoll)
-	7275+139	(	2 0 4079.1417992378 2 5920.8582007573 )	53.7857072968 (ExtendedPoll)
-	7423+14	(	2 0 4999.1900742320 2 5000.5459053974 )	55.9012953652 (ExtendedPoll)
-	7423+15	(	2 0 4996.7603258365 2 5002.1836504981 )	55.9000925053 (ExtendedPoll)
-	7423+16	(	2 0 4987.0413322545 2 5008.7346309009 )	55.8954303274 (ExtendedPoll)
-	7423+17	(	2 0 4948.1653579264 2 5034.9385525122 )	55.8791873269 (ExtendedPoll)
-	7423+18	(	2 0 4792.6614606142 2 5139.7542389575 )	55.8538338094 (ExtendedPoll)
-	7423+20	(	2 0 4775.1921795400 2 5165.9581605689 )	55.6864877206 (ExtendedPoll)
-	7423+21	(	2 0 4722.7843363173 2 5244.5699254029 )	55.1994445339 (ExtendedPoll)
-	7423+26	(	2 0 4722.3476042905 2 5276.0146313364 )	54.8445124513 (ExtendedPoll)
-	7423+29	(	2 0 4697.8906107866 2 5295.6675725449 )	54.8205115310 (ExtendedPoll)
-	7423+30	(	2 0 4624.5196302749 2 5354.6263961704 )	54.7613812550 (ExtendedPoll)
-	7423+31	(	2 0 4331.0357082280 2 5590.4616906724 )	54.7273149903 (ExtendedPoll)
-	7423+36	(	2 0 4308.3256428315 2 5648.1103182173 )	54.3396439948 (ExtendedPoll)
-	7423+38	(	2 0 4455.0676038550 2 5543.2946317720 )	54.1475041698 (ExtendedPoll)
-	7423+47	(	2 0 4447.5339763917 2 5551.3741742688 )	54.1273594464 (ExtendedPoll)
-	7423+58	(	2 0 4447.2091995963 2 5551.7388284514 )	54.1263276850 (ExtendedPoll)
-	7423+59	(	2 0 4446.2348692102 2 5552.8327909991 )	54.1232362635 (ExtendedPoll)
-	7423+60	(	2 0 4442.3375476659 2 5557.2086411901 )	54.1109285550 (ExtendedPoll)
-	7423+69	(	2 0 4442.5740664204 2 5557.2691503271 )	54.1082748289 (ExtendedPoll)
-	7423+73	(	2 0 4442.6925323818 2 5557.2986052154 )	54.1069545527 (ExtendedPoll)
-	7423+79	(	2 0 4442.7168164211 2 5557.2801226062 )	54.1069394344 (ExtendedPoll)
-	7423+82	(	2 0 4442.7071793373 2 5557.2919529796 )	54.1068985868 (ExtendedPoll)
-	7423+86	(	2 0 4442.7017183179 2 5557.2972807450 )	54.1068897802 (ExtendedPoll)
-	7423+87	(	2 0 4442.6853352597 2 5557.3132640411 )	54.1068633612 (ExtendedPoll)
-	7423+88	(	2 0 4442.6198030272 2 5557.3771972256 )	54.1067576985 (ExtendedPoll)
-	7423+89	(	2 0 4442.3576740969 2 5557.6329299635 )	54.1063352645 (ExtendedPoll)
-	7423+90	(	2 0 4441.3091583760 2 5558.6558609153 )	54.1046489915 (ExtendedPoll)
-	7423+91	(	2 0 4437.1150954922 2 5562.7475847223 )	54.0979593435 (ExtendedPoll)
-	7423+92	(	2 0 4420.3388439569 2 5579.1144799504 )	54.0720900340 (ExtendedPoll)
-	7423+93	(	2 0 4353.2338378159 2 5644.5820608629 )	53.9829787440 (ExtendedPoll)
-	7423+94	(	2 0 4084.8138132516 2 5906.4523845126 )	53.8646582524 (ExtendedPoll)
-	7423+96	(	2 0 4082.5755616140 2 5909.6528113969 )	53.8560492754 (ExtendedPoll)
-	7423+97	(	2 0 4075.8608067011 2 5919.2540920498 )	53.8305130308 (ExtendedPoll)
-	7423+98	(	2 0 4066.9078001506 2 5932.0285038353 )	53.7973908395 (ExtendedPoll)
-	7423+110	(	2 0 4066.8994834762 2 5932.5167352687 )	53.7930561968 (ExtendedPoll)
-	7423+113	(	2 0 4066.7294181484 2 5932.9744722294 )	53.7904920157 (ExtendedPoll)
-	7423+115	(	2 0 4066.4042148569 2 5933.3386999159 )	53.7902064369 (ExtendedPoll)
-	7423+116	(	2 0 4065.4286049825 2 5934.4313829753 )	53.7893539893 (ExtendedPoll)
-	7423+122	(	2 0 4065.9681225742 2 5934.0003020220 )	53.7882608591 (ExtendedPoll)
-	7423+134	(	2 0 4065.9833434669 2 5933.9992277641 )	53.7881299256 (ExtendedPoll)
-	7423+135	(	2 0 4066.0088195296 2 5933.9824261494 )	53.7880462489 (ExtendedPoll)
-	7423+138	(	2 0 4066.0322468281 2 5933.9628689699 )	53.7880063853 (ExtendedPoll)
-	7423+149	(	2 0 4066.0333397798 2 5933.9653350231 )	53.7879740199 (ExtendedPoll)
-	7423+154	(	2 0 4066.0330666936 2 5933.9662487622 )	53.7879682924 (ExtendedPoll)
-	7423+160	(	2 0 4066.0329389515 2 5933.9664500713 )	53.7879676549 (ExtendedPoll)
-	7423+161	(	2 0 4066.0325557253 2 5933.9670539988 )	53.7879657426 (ExtendedPoll)
-	7423+164	(	2 0 4066.0323799541 2 5933.9674972574 )	53.7879633642 (ExtendedPoll)
-	7423+171	(	2 0 4066.0324936658 2 5933.9674614732 )	53.7879626367 (ExtendedPoll)
-	7423+175	(	2 0 4066.0325420577 2 5933.9674266746 )	53.7879625038 (ExtendedPoll)
-	7423+180	(	2 0 4066.0325530871 2 5933.9674366944 )	53.7879623114 (ExtendedPoll)
-	7423+181	(	2 0 4066.0325776078 2 5933.9674197559 )	53.7879622378 (ExtendedPoll)
-	7423+192	(	2 0 4066.0325784803 2 5933.9674194301 )	53.7879622327 (ExtendedPoll)
-	7423+193	(	2 0 4066.0325810978 2 5933.9674184529 )	53.7879622173 (ExtendedPoll)
-	7423+197	(	2 0 4066.0325804614 2 5933.9674191328 )	53.7879622170 (ExtendedPoll)
-	7423+198	(	2 0 4066.0325785520 2 5933.9674211726 )	53.7879622163 (ExtendedPoll)
-	7423+203	(	2 0 4066.0325782752 2 5933.9674215470 )	53.7879622154 (ExtendedPoll)
-	7423+206	(	2 0 4066.0325779836 2 5933.9674219101 )	53.7879622149 (ExtendedPoll)
-	7423+208	(	2 0 4066.0325777001 2 5933.9674222795 )	53.7879622141 (ExtendedPoll)
-	7423+214	(	2 0 4066.0325779310 2 5933.9674220447 )	53.7879622141 (ExtendedPoll)
-	7423+215	(	2 0 4066.0325786236 2 5933.9674213404 )	53.7879622141 (ExtendedPoll)
-	7423+216	(	2 0 4066.0325813941 2 5933.9674185232 )	53.7879622139 (ExtendedPoll)
-	7423+217	(	2 0 4066.0325924760 2 5933.9674072542 )	53.7879622133 (ExtendedPoll)
-	7423+218	(	2 0 4066.0326368038 2 5933.9673621781 )	53.7879622107 (ExtendedPoll)
-	7423+219	(	2 0 4066.0328141148 2 5933.9671818738 )	53.7879622005 (ExtendedPoll)
-	7423+220	(	2 0 4066.0335233590 2 5933.9664606566 )	53.7879621598 (ExtendedPoll)
-	7423+221	(	2 0 4066.0363603358 2 5933.9635757879 )	53.7879619968 (ExtendedPoll)
-	7423+222	(	2 0 4066.0477082430 2 5933.9520363132 )	53.7879613453 (ExtendedPoll)
-	7423+223	(	2 0 4066.0930998717 2 5933.9058784143 )	53.7879587467 (ExtendedPoll)
-	7423+224	(	2 0 4066.2746663863 2 5933.7212468186 )	53.7879484746 (ExtendedPoll)
-	7423+225	(	2 0 4067.0009324450 2 5932.9827204360 )	53.7879093366 (ExtendedPoll)
-	7423+226	(	2 0 4069.9059966798 2 5930.0286149054 )	53.7877839844 (ExtendedPoll)
-	7423+227	(	2 0 4081.5262536188 2 5918.2121927832 )	53.7877812112 (ExtendedPoll)
-	7423+230	(	2 0 4081.5299687022 2 5918.2130588562 )	53.7877391250 (ExtendedPoll)
-	7423+231	(	2 0 4081.5411139525 2 5918.2156570750 )	53.7876128665 (ExtendedPoll)
-	7423+232	(	2 0 4081.5856949536 2 5918.2260499504 )	53.7871078341 (ExtendedPoll)
-	7423+233	(	2 0 4081.6155830020 2 5918.2198824166 )	53.7868886494 (ExtendedPoll)
-	7423+234	(	2 0 4081.7052471472 2 5918.2013798154 )	53.7862311047 (ExtendedPoll)
-	7423+236	(	2 0 4081.6080460159 2 5918.3440427676 )	53.7858294673 (ExtendedPoll)
-	7423+240	(	2 0 4081.5880590083 2 5918.4017130398 )	53.7854893417 (ExtendedPoll)
-	7423+247	(	2 0 4081.6043092810 2 5918.3875148632 )	53.7854687399 (ExtendedPoll)
-	7423+248	(	2 0 4081.6530600991 2 5918.3449203333 )	53.7854069422 (ExtendedPoll)
-	7423+257	(	2 0 4081.6496579113 2 5918.3491070966 )	53.7854002178 (ExtendedPoll)
-	7423+266	(	2 0 4081.6498661605 2 5918.3495360557 )	53.7853944010 (ExtendedPoll)
-	7423+267	(	2 0 4081.6493358875 2 5918.3503287128 )	53.7853920795 (ExtendedPoll)
-	7423+274	(	2 0 4081.6491972063 2 5918.3505226482 )	53.7853915938 (ExtendedPoll)
-	7423+275	(	2 0 4081.6487811625 2 5918.3511044543 )	53.7853901369 (ExtendedPoll)
-	7423+284	(	2 0 4081.6488121122 2 5918.3511553938 )	53.7853893889 (ExtendedPoll)
-	7423+287	(	2 0 4081.6488409573 2 5918.3511479011 )	53.7853891913 (ExtendedPoll)
-	7423+293	(	2 0 4081.6488473913 2 5918.3511516580 )	53.7853890979 (ExtendedPoll)
-	7423+298	(	2 0 4081.6488480521 2 5918.3511510017 )	53.7853890978 (ExtendedPoll)
-	7423+299	(	2 0 4081.6488500345 2 5918.3511490328 )	53.7853890974 (ExtendedPoll)
-	7423+300	(	2 0 4081.6488579640 2 5918.3511411574 )	53.7853890960 (ExtendedPoll)
-	7423+301	(	2 0 4081.6488896822 2 5918.3511096556 )	53.7853890902 (ExtendedPoll)
-	7423+310	(	2 0 4081.6488900669 2 5918.3511093933 )	53.7853890891 (ExtendedPoll)
-	7423+311	(	2 0 4081.6488912210 2 5918.3511086061 )	53.7853890856 (ExtendedPoll)
-	7423+319	(	2 0 4081.6488912536 2 5918.3511087179 )	53.7853890843 (ExtendedPoll)
-	7423+323	(	2 0 4081.6488912181 2 5918.3511087641 )	53.7853890842 (ExtendedPoll)
-	7752	(	3 0 3209.7898482266 2 3041.1228583258 1 3749.0872770800 )	46.5944609002
-	7753	(	3 0 3209.7897367750 2 3041.1229969359 1 3749.0872586356 )	46.5944605757
-	7758+32	(	2 0 4999.9999577432 2 5000.0000417347 )	55.9016992549 (ExtendedPoll)
-	7758+39	(	2 0 4999.9999505368 2 5000.0000494217 )	55.9016992168 (ExtendedPoll)
-	7758+40	(	2 0 4999.9999398266 2 5000.0000597821 )	55.9016991732 (ExtendedPoll)
-	7758+41	(	2 0 4999.9999076961 2 5000.0000908630 )	55.9016990423 (ExtendedPoll)
-	7758+42	(	2 0 4999.9997791737 2 5000.0002151869 )	55.9016985186 (ExtendedPoll)
-	7758+43	(	2 0 4999.9992650844 2 5000.0007124825 )	55.9016964242 (ExtendedPoll)
-	7758+44	(	2 0 4999.9972087269 2 5000.0027016649 )	55.9016880465 (ExtendedPoll)
-	7758+45	(	2 0 4999.9889832972 2 5000.0106583944 )	55.9016545357 (ExtendedPoll)
-	7758+46	(	2 0 4999.9560815784 2 5000.0424853122 )	55.9015204952 (ExtendedPoll)
-	7758+47	(	2 0 4999.8244747033 2 5000.1697929837 )	55.9009843757 (ExtendedPoll)
-	7758+48	(	2 0 4999.2980472026 2 5000.6790236696 )	55.8988405794 (ExtendedPoll)
-	7758+49	(	2 0 4997.1923371998 2 5002.7159464134 )	55.8902763014 (ExtendedPoll)
-	7758+50	(	2 0 4988.7694971886 2 5010.8636373882 )	55.8561940243 (ExtendedPoll)
-	7758+51	(	2 0 4955.0781371440 2 5043.4544012877 )	55.7226824798 (ExtendedPoll)
-	7758+52	(	2 0 4820.3126969657 2 5173.8174568856 )	55.2350077198 (ExtendedPoll)
-	7758+53	(	2 0 4281.2509362523 2 5695.2696792774 )	54.1064641659 (ExtendedPoll)
-	7758+55	(	2 0 4281.1646507560 2 5695.4980679496 )	54.1049615847 (ExtendedPoll)
-	7758+56	(	2 0 4280.9057942672 2 5696.1832339664 )	54.1004549928 (ExtendedPoll)
-	7758+57	(	2 0 4279.8703683119 2 5698.9238980333 )	54.0824459107 (ExtendedPoll)
-	7758+58	(	2 0 4275.7286644908 2 5709.8865543012 )	54.0106865894 (ExtendedPoll)
-	7758+59	(	2 0 4276.7931988063 2 5713.6465440949 )	53.9642063625 (ExtendedPoll)
-	7758+60	(	2 0 4274.1455108935 2 5720.9891012964 )	53.9153574311 (ExtendedPoll)
-	7758+61	(	2 0 4264.8649553228 2 5733.5451470685 )	53.8744070070 (ExtendedPoll)
-	7758+68	(	2 0 4267.0690872708 2 5731.8801062161 )	53.8711681165 (ExtendedPoll)
-	7758+71	(	2 0 4268.6471229147 2 5730.7285666922 )	53.8684637360 (ExtendedPoll)
-	7758+80	(	2 0 4268.8897458950 2 5730.7013509085 )	53.8665809105 (ExtendedPoll)
-	7758+83	(	2 0 4269.1151490944 2 5730.6075484182 )	53.8655030390 (ExtendedPoll)
-	7758+88	(	2 0 4269.2342348079 2 5730.5807124826 )	53.8647110142 (ExtendedPoll)
-	7758+91	(	2 0 4269.3362140286 2 5730.5136259757 )	53.8644648872 (ExtendedPoll)
-	7758+92	(	2 0 4269.6421516907 2 5730.3123664551 )	53.8637267148 (ExtendedPoll)
-	7758+99	(	2 0 4269.6705853207 2 5730.3012821375 )	53.8635834586 (ExtendedPoll)
-	7758+104	(	2 0 4269.6856215996 2 5730.3038783910 )	53.8634248321 (ExtendedPoll)
-	7758+107	(	2 0 4269.6932509707 2 5730.3038560301 )	53.8633574718 (ExtendedPoll)
-	7758+111	(	2 0 4269.6964158444 2 5730.3017263609 )	53.8633503046 (ExtendedPoll)
-	7758+119	(	2 0 4269.6971078879 2 5730.3023825398 )	53.8633377454 (ExtendedPoll)
-	7758+120	(	2 0 4269.6986534873 2 5730.3012649089 )	53.8633350054 (ExtendedPoll)
-	7758+129	(	2 0 4269.6987532838 2 5730.3011997053 )	53.8633347603 (ExtendedPoll)
-	7758+137	(	2 0 4269.6987734099 2 5730.3012216853 )	53.8633343667 (ExtendedPoll)
-	7758+139	(	2 0 4269.6987532218 2 5730.3012436083 )	53.8633343307 (ExtendedPoll)
-	7758+146	(	2 0 4269.6987565277 2 5730.3012418911 )	53.8633343182 (ExtendedPoll)
-	7758+148	(	2 0 4269.6987598023 2 5730.3012401148 )	53.8633343066 (ExtendedPoll)
-	7758+158	(	2 0 4269.6987598456 2 5730.3012400760 )	53.8633343066 (ExtendedPoll)
-	7758+159	(	2 0 4269.6987599757 2 5730.3012399595 )	53.8633343066 (ExtendedPoll)
-	7758+160	(	2 0 4269.6987604960 2 5730.3012394935 )	53.8633343066 (ExtendedPoll)
-	7928	(	3 0 3209.7896557217 2 3041.1230842797 1 3749.0872551315 )	46.5944603702
-	7933+5	(	2 0 4909.1597359805 2 5083.8525467227 )	55.5960690117 (ExtendedPoll)
-	7933+6	(	2 0 4636.6389512227 2 5335.4101941914 )	54.8753884193 (ExtendedPoll)
-	7933+10	(	2 0 4468.9338529103 2 5503.1152925039 )	54.4525845141 (ExtendedPoll)
-	7933+11	(	2 0 3965.8185579728 2 6006.2305874414 )	54.0810898671 (ExtendedPoll)
-	7933+19	(	2 0 4063.6465319884 2 5929.3657507148 )	53.8515922697 (ExtendedPoll)
-	7933+32	(	2 0 4065.8046023555 2 5931.0905010240 )	53.8160592307 (ExtendedPoll)
-	7933+33	(	2 0 4064.4534626474 2 5934.7549556868 )	53.7954447026 (ExtendedPoll)
-	7933+39	(	2 0 4065.1985513690 2 5934.1237414293 )	53.7942572358 (ExtendedPoll)
-	7933+40	(	2 0 4067.4338175338 2 5932.2300986566 )	53.7907104457 (ExtendedPoll)
-	7933+47	(	2 0 4067.6763605460 2 5932.2578742164 )	53.7882192511 (ExtendedPoll)
-	7933+56	(	2 0 4067.6961659596 2 5932.2810920154 )	53.7878265281 (ExtendedPoll)
-	7933+64	(	2 0 4067.7064620507 2 5932.2843178088 )	53.7877022834 (ExtendedPoll)
-	7933+68	(	2 0 4067.7096029627 2 5932.2864826593 )	53.7876537119 (ExtendedPoll)
-	7933+69	(	2 0 4067.7163863700 2 5932.2829908004 )	53.7876226117 (ExtendedPoll)
-	7933+81	(	2 0 4067.7165647188 2 5932.2828325755 )	53.7876223942 (ExtendedPoll)
-	7933+82	(	2 0 4067.7170997651 2 5932.2823579007 )	53.7876217416 (ExtendedPoll)
-	7933+83	(	2 0 4067.7192399506 2 5932.2804592016 )	53.7876191311 (ExtendedPoll)
-	7933+86	(	2 0 4067.7200409230 2 5932.2799415742 )	53.7876164105 (ExtendedPoll)
-	7933+101	(	2 0 4067.7200445311 2 5932.2799480928 )	53.7876163183 (ExtendedPoll)
-	7933+105	(	2 0 4067.7200436470 2 5932.2799517117 )	53.7876162938 (ExtendedPoll)
-	7933+110	(	2 0 4067.7200455038 2 5932.2799515643 )	53.7876162780 (ExtendedPoll)
-	7933+111	(	2 0 4067.7200489601 2 5932.2799501743 )	53.7876162586 (ExtendedPoll)
-	7933+119	(	2 0 4067.7200493934 2 5932.2799500040 )	53.7876162561 (ExtendedPoll)
-	7933+122	(	2 0 4067.7200493924 2 5932.2799504696 )	53.7876162519 (ExtendedPoll)
-	7933+129	(	2 0 4067.7200493199 2 5932.2799505607 )	53.7876162518 (ExtendedPoll)
-	7933+130	(	2 0 4067.7200491022 2 5932.2799508337 )	53.7876162513 (ExtendedPoll)
-	7933+141	(	2 0 4067.7200491111 2 5932.2799508739 )	53.7876162509 (ExtendedPoll)
-	8079+2	(	2 0 4664.5898009415 2 5335.4101941914 )	54.6460175679 (ExtendedPoll)
-	8079+3	(	2 0 3658.3592110666 2 6341.6407840663 )	54.3665216810 (ExtendedPoll)
-	8079+47	(	2 0 3658.3592086607 2 6341.6407911178 )	54.3665216529 (ExtendedPoll)
-	8079+49	(	2 0 3658.3592231902 2 6341.6407758540 )	54.3665216198 (ExtendedPoll)
-	8079+50	(	2 0 3658.3592667787 2 6341.6407300627 )	54.3665215205 (ExtendedPoll)
-	8079+51	(	2 0 3658.3594411326 2 6341.6405468973 )	54.3665211233 (ExtendedPoll)
-	8079+52	(	2 0 3658.3601385484 2 6341.6398142359 )	54.3665195344 (ExtendedPoll)
-	8079+53	(	2 0 3658.3629282116 2 6341.6368835902 )	54.3665131789 (ExtendedPoll)
-	8079+54	(	2 0 3658.3740868643 2 6341.6251610074 )	54.3664877574 (ExtendedPoll)
-	8079+55	(	2 0 3658.4187214749 2 6341.5782706765 )	54.3663860796 (ExtendedPoll)
-	8079+56	(	2 0 3658.5972599177 2 6341.3907093526 )	54.3659794991 (ExtendedPoll)
-	8079+57	(	2 0 3659.3114136885 2 6340.6404640569 )	54.3643552693 (ExtendedPoll)
-	8079+58	(	2 0 3662.1680287720 2 6337.6394828742 )	54.3578918193 (ExtendedPoll)
-	8079+59	(	2 0 3673.5944891057 2 6325.6355581437 )	54.3325733144 (ExtendedPoll)
-	8079+60	(	2 0 3719.3003304408 2 6277.6198592213 )	54.2398493355 (ExtendedPoll)
-	8079+61	(	2 0 3902.1236957812 2 6085.5570635318 )	54.0045822968 (ExtendedPoll)
-	8079+63	(	2 0 3902.2168451994 2 6085.4781750776 )	54.0043572353 (ExtendedPoll)
-	8079+64	(	2 0 3902.4962934540 2 6085.2415097151 )	54.0036823026 (ExtendedPoll)
-	8079+65	(	2 0 3903.6140864724 2 6084.2948482648 )	54.0009863502 (ExtendedPoll)
-	8079+66	(	2 0 3908.0852585462 2 6080.5082024636 )	53.9902629755 (ExtendedPoll)
-	8079+67	(	2 0 3925.9699468413 2 6065.3616192587 )	53.9483351232 (ExtendedPoll)
-	8079+68	(	2 0 3929.8118238900 2 6064.6724015289 )	53.9176744624 (ExtendedPoll)
-	8079+71	(	2 0 3933.6400530629 2 6065.4639783275 )	53.8745546326 (ExtendedPoll)
-	8079+74	(	2 0 3935.2163827223 2 6064.3107328191 )	53.8694071337 (ExtendedPoll)
-	8079+80	(	2 0 3934.4145700168 2 6065.4354030875 )	53.8674407841 (ExtendedPoll)
-	8079+86	(	2 0 3934.3391268516 2 6065.5313647145 )	53.8673400617 (ExtendedPoll)
-	8079+87	(	2 0 3934.1127973559 2 6065.8192495955 )	53.8670381792 (ExtendedPoll)
-	8079+97	(	2 0 3934.1264743868 2 6065.8465307696 )	53.8666759354 (ExtendedPoll)
-	8079+99	(	2 0 3934.1212739663 2 6065.8766020781 )	53.8664692539 (ExtendedPoll)
-	8079+109	(	2 0 3934.1202740309 2 6065.8782263033 )	53.8664649210 (ExtendedPoll)
-	8079+113	(	2 0 3934.1223533865 2 6065.8765080955 )	53.8664598006 (ExtendedPoll)
-	8079+114	(	2 0 3934.1285914536 2 6065.8713534722 )	53.8664444397 (ExtendedPoll)
-	8079+118	(	2 0 3934.1299504561 2 6065.8700151548 )	53.8664429271 (ExtendedPoll)
-	8079+132	(	2 0 3934.1299636052 2 6065.8700081445 )	53.8664428619 (ExtendedPoll)
-	8079+133	(	2 0 3934.1300030527 2 6065.8699871137 )	53.8664426663 (ExtendedPoll)
-	8079+138	(	2 0 3934.1300169838 2 6065.8699818250 )	53.8664425790 (ExtendedPoll)
-	8079+144	(	2 0 3934.1300195727 2 6065.8699791463 )	53.8664425772 (ExtendedPoll)
-	8079+145	(	2 0 3934.1300273392 2 6065.8699711101 )	53.8664425718 (ExtendedPoll)
-	8079+146	(	2 0 3934.1300584054 2 6065.8699389652 )	53.8664425505 (ExtendedPoll)
-	8079+147	(	2 0 3934.1301826702 2 6065.8698103857 )	53.8664424650 (ExtendedPoll)
-	8079+148	(	2 0 3934.1306797292 2 6065.8692960676 )	53.8664421232 (ExtendedPoll)
-	8079+149	(	2 0 3934.1326679655 2 6065.8672387954 )	53.8664407559 (ExtendedPoll)
-	8079+150	(	2 0 3934.1406209105 2 6065.8590097066 )	53.8664352870 (ExtendedPoll)
-	8079+151	(	2 0 3934.1724326905 2 6065.8260933514 )	53.8664134151 (ExtendedPoll)
-	8079+152	(	2 0 3934.2996798107 2 6065.6944279307 )	53.8663259908 (ExtendedPoll)
-	8079+153	(	2 0 3934.8086682912 2 6065.1677662475 )	53.8659772994 (ExtendedPoll)
-	8079+154	(	2 0 3936.8446222133 2 6063.0611195148 )	53.8645986296 (ExtendedPoll)
-	8079+155	(	2 0 3944.9884379019 2 6054.6345325840 )	53.8593413213 (ExtendedPoll)
-	8079+156	(	2 0 3977.5637006562 2 6020.9281848608 )	53.8424195173 (ExtendedPoll)
-	8079+157	(	2 0 4107.8647516735 2 5886.1027939679 )	53.8397272797 (ExtendedPoll)
-	8079+160	(	2 0 4107.9148966216 2 5886.1375900537 )	53.8389476963 (ExtendedPoll)
-	8079+161	(	2 0 4108.0653314659 2 5886.2419783111 )	53.8366089797 (ExtendedPoll)
-	8079+162	(	2 0 4108.6670708432 2 5886.6595313405 )	53.8272546148 (ExtendedPoll)
-	8079+163	(	2 0 4111.0740283523 2 5888.3297434584 )	53.7898451866 (ExtendedPoll)
-	8079+164	(	2 0 4110.6415612866 2 5889.2053399927 )	53.7857457298 (ExtendedPoll)
-	8079+169	(	2 0 4110.3275535183 2 5889.5792704659 )	53.7851798069 (ExtendedPoll)
-	8079+177	(	2 0 4110.3514722870 2 5889.6354230117 )	53.7844442616 (ExtendedPoll)
-	8079+179	(	2 0 4110.3094657512 2 5889.6797036381 )	53.7844214421 (ExtendedPoll)
-	8079+180	(	2 0 4110.1834461437 2 5889.8125455175 )	53.7843530488 (ExtendedPoll)
-	8079+189	(	2 0 4110.1987859472 2 5889.7973681491 )	53.7843522353 (ExtendedPoll)
-	8079+190	(	2 0 4110.2448053575 2 5889.7518360439 )	53.7843498028 (ExtendedPoll)
-	8079+191	(	2 0 4110.4288829988 2 5889.5697076232 )	53.7843401922 (ExtendedPoll)
-	8079+198	(	2 0 4110.4212701576 2 5889.5773535241 )	53.7843395401 (ExtendedPoll)
-	8079+199	(	2 0 4110.3984316340 2 5889.6002912268 )	53.7843375858 (ExtendedPoll)
-	8079+200	(	2 0 4110.3070775395 2 5889.6920420376 )	53.7843297986 (ExtendedPoll)
-	8079+213	(	2 0 4110.3073348959 2 5889.6924434618 )	53.7843237498 (ExtendedPoll)
-	8079+218	(	2 0 4110.3074006879 2 5889.6925428714 )	53.7843222330 (ExtendedPoll)
-	8079+220	(	2 0 4110.3073219352 2 5889.6926323636 )	53.7843221306 (ExtendedPoll)
-	8079+221	(	2 0 4110.3070856770 2 5889.6929008404 )	53.7843218236 (ExtendedPoll)
-	8079+229	(	2 0 4110.3070782245 2 5889.6929137441 )	53.7843217731 (ExtendedPoll)
-	8079+234	(	2 0 4110.3070784835 2 5889.6929211901 )	53.7843217023 (ExtendedPoll)
-	8079+244	(	2 0 4110.3070782010 2 5889.6929215603 )	53.7843217014 (ExtendedPoll)
-	8079+248	(	2 0 4110.3070784332 2 5889.6929215433 )	53.7843216995 (ExtendedPoll)
-	8079+255	(	2 0 4110.3070784211 2 5889.6929215697 )	53.7843216993 (ExtendedPoll)
-	8338	(	3 0 3209.7896175644 2 3041.1231297861 1 3749.0872500424 )	46.5944602659
-	8342+4	(	2 0 4720.4915015090 2 5223.6067964464 )	55.4583179990 (ExtendedPoll)
-	8342+6	(	2 0 4385.0813048840 2 5559.0169930714 )	54.5837536455 (ExtendedPoll)
-	8342+11	(	2 0 4580.7372529152 2 5419.2627444776 )	54.4134065463 (ExtendedPoll)
-	8342+19	(	2 0 4558.0271875187 2 5440.6626137936 )	54.3705316119 (ExtendedPoll)
-	8342+20	(	2 0 4489.8969913293 2 5504.8622217413 )	54.2562699395 (ExtendedPoll)
-	8342+21	(	2 0 4217.3762065715 2 5761.6606535323 )	54.0237236224 (ExtendedPoll)
-	8342+31	(	2 0 4224.1455529878 2 5775.7452613984 )	53.8272825836 (ExtendedPoll)
-	8342+40	(	2 0 4224.0014506112 2 5775.9423292618 )	53.8266734099 (ExtendedPoll)
-	8342+42	(	2 0 4224.5165513001 2 5775.4823531964 )	53.8264974549 (ExtendedPoll)
-	8342+55	(	2 0 4224.5193698410 2 5775.4797826488 )	53.8264970122 (ExtendedPoll)
-	8342+56	(	2 0 4224.5278254637 2 5775.4720710060 )	53.8264956843 (ExtendedPoll)
-	8342+72	(	2 0 4224.5278620041 2 5775.4721180965 )	53.8264949041 (ExtendedPoll)
-	8342+75	(	2 0 4224.5278401629 2 5775.4721383731 )	53.8264949041 (ExtendedPoll)
-	8342+76	(	2 0 4224.5277746392 2 5775.4721992028 )	53.8264949041 (ExtendedPoll)
-	8342+77	(	2 0 4224.5275125446 2 5775.4724425218 )	53.8264949040 (ExtendedPoll)
-	8342+78	(	2 0 4224.5264641662 2 5775.4734157976 )	53.8264949035 (ExtendedPoll)
-	8342+79	(	2 0 4224.5222706526 2 5775.4773089008 )	53.8264949018 (ExtendedPoll)
-	8342+80	(	2 0 4224.5054965982 2 5775.4928813139 )	53.8264948957 (ExtendedPoll)
-	8342+81	(	2 0 4224.4384003804 2 5775.5551709661 )	53.8264948856 (ExtendedPoll)
-	8342+83	(	2 0 4224.4377205871 2 5775.5589246019 )	53.8264648146 (ExtendedPoll)
-	8342+86	(	2 0 4224.4354746818 2 5775.5620080759 )	53.8264551993 (ExtendedPoll)
-	8342+87	(	2 0 4224.4287369659 2 5775.5712584979 )	53.8264263535 (ExtendedPoll)
-	8342+108	(	2 0 4224.4287371566 2 5775.5712603508 )	53.8264263340 (ExtendedPoll)
-	8342+110	(	2 0 4224.4287369462 2 5775.5712622015 )	53.8264263180 (ExtendedPoll)
-	8342+112	(	2 0 4224.4287384895 2 5775.5712611586 )	53.8264263143 (ExtendedPoll)
-	8342+120	(	2 0 4224.4287387223 2 5775.5712611587 )	53.8264263122 (ExtendedPoll)
-	8342+123	(	2 0 4224.4287389206 2 5775.5712610366 )	53.8264263116 (ExtendedPoll)
-	8342+128	(	2 0 4224.4287388106 2 5775.5712611591 )	53.8264263114 (ExtendedPoll)
-	8342+134	(	2 0 4224.4287388393 2 5775.5712611545 )	53.8264263112 (ExtendedPoll)
-	8479+5	(	2 0 4748.4423512277 2 5251.5576461652 )	54.9123289774 (ExtendedPoll)
-	8479+6	(	2 0 3993.7694088215 2 6006.2305885713 )	53.8183150359 (ExtendedPoll)
-	8479+51	(	2 0 3993.7694094976 2 6006.2305892118 )	53.8183150239 (ExtendedPoll)
-	8479+52	(	2 0 3993.7694111450 2 6006.2305883426 )	53.8183150161 (ExtendedPoll)
-	8479+63	(	2 0 3993.7694114742 2 6006.2305883502 )	53.8183150129 (ExtendedPoll)
-	8479+65	(	2 0 3993.7694113839 2 6006.2305885648 )	53.8183150119 (ExtendedPoll)
-	8479+70	(	2 0 3993.7694115223 2 6006.2305884756 )	53.8183150114 (ExtendedPoll)
-	8557	(	3 0 3209.7895991439 2 3041.1231230634 1 3749.0872724849 )	46.5944602388
-	8558	(	3 0 3209.7895438823 2 3041.1231028951 1 3749.0873398125 )	46.5944601576
-	8559	(	3 0 3209.7893228358 2 3041.1230222222 1 3749.0876091228 )	46.5944598326
-	8560	(	3 0 3209.7884386500 2 3041.1226995306 1 3749.0886863640 )	46.5944585328
-	8561	(	3 0 3209.7849019068 2 3041.1214087641 1 3749.0929953290 )	46.5944533336
-	8562	(	3 0 3209.7707549341 2 3041.1162456982 1 3749.1102311888 )	46.5944325369
-	8563	(	3 0 3209.7141670434 2 3041.0955934346 1 3749.1791746282 )	46.5943493545
-	8564	(	3 0 3209.4878154802 2 3041.0129843799 1 3749.4549483857 )	46.5940166899
-	8565	(	3 0 3208.5824092276 2 3040.6825481613 1 3750.5580434156 )	46.5926870780
-	8566	(	3 0 3204.9607842173 2 3039.3608032869 1 3754.9704235351 )	46.5873853782
-	8567	(	3 0 3190.4742841761 2 3034.0738237895 1 3772.6199440134 )	46.5664471002
-	8568	(	3 0 3132.5282840110 2 3012.9259057995 1 3843.2180259264 )	46.4870256328
-	8569	(	3 0 2900.7442833508 2 2928.3342338397 1 4125.6103535787 )	46.2408879908
-	8571	(	3 0 2900.7614274922 2 2928.3321612234 1 4125.8538859951 )	46.2381909255
-	8572	(	3 0 2900.8128599165 2 2928.3259433745 1 4126.5844832443 )	46.2301005176
-	8573	(	3 0 2901.0185896137 2 2928.3010719787 1 4129.5068722413 )	46.1977507173
-	8574	(	3 0 2901.8415084025 2 2928.2015863959 1 4141.1964282293 )	46.0685414984
-	8575	(	3 0 2900.9072090155 2 2929.0263074597 1 4144.8990220964 )	46.0294803754
-	8576	(	3 0 2898.1043108544 2 2931.5004706513 1 4156.0068036976 )	45.9126009127
-	8577	(	3 0 2893.3059337557 2 2930.6699823072 1 4170.8633174072 )	45.8058560157
-	8578	(	3 0 2906.2246413292 2 2906.6780968135 1 4186.3657664955 )	45.7664430594
-	8585	(	3 0 2885.1856032809 2 2904.8325671601 1 4209.2503341972 )	45.7234233185
-	8586	(	3 0 2822.0684891358 2 2899.2959782000 1 4277.9040373024 )	45.6027586237
-	8587	(	3 0 2569.6000325554 2 2877.1496223596 1 4552.5188497232 )	45.2497134209
-	8604	(	3 0 2569.6580658121 2 2876.7761909688 1 4553.4192663392 )	45.2437144482
-	8605	(	3 0 2570.2146083482 2 2875.2291180641 1 4554.4732367897 )	45.2420565509
-	8619	(	3 0 2570.1792950214 2 2875.1673676151 1 4554.5724351350 )	45.2419430091
-	8620	(	3 0 2570.0733550410 2 2874.9821162682 1 4554.8700301708 )	45.2416024126
-	8621	(	3 0 2569.6495951193 2 2874.2411108805 1 4556.0604103143 )	45.2402404599
-	8628	(	3 0 2569.2779660036 2 2874.5306463677 1 4556.1885520705 )	45.2397502250
-	8645	(	3 0 2569.2890178965 2 2874.5245089523 1 4556.1847035137 )	45.2397436100
-	8656	(	3 0 2569.2838215385 2 2874.5258438228 1 4556.1885598972 )	45.2397403650
-	8657	(	3 0 2569.2682324643 2 2874.5298484341 1 4556.2001290477 )	45.2397306308
-	8658	(	3 0 2569.2058761675 2 2874.5458668797 1 4556.2464056497 )	45.2396917036
-	8659	(	3 0 2568.9564509805 2 2874.6099406618 1 4556.4315120578 )	45.2395361495
-	8660	(	3 0 2567.9587502324 2 2874.8662357905 1 4557.1719376902 )	45.2389164047
-	8661	(	3 0 2563.9679472400 2 2875.8914163050 1 4560.1336402198 )	45.2364769895
-	8662	(	3 0 2548.0047352705 2 2879.9921383632 1 4571.9804503382 )	45.2273531705
-	8663	(	3 0 2484.1518873922 2 2896.3950265960 1 4619.3676908119 )	45.2010503608
-	8675	(	3 0 2484.0736686549 2 2896.3896310350 1 4619.4612514156 )	45.2009055791
-	8676	(	3 0 2483.8390124432 2 2896.3734443522 1 4619.7419332265 )	45.2004713862
-	8689	(	3 0 2483.8404577833 2 2896.3642671817 1 4619.7710023038 )	45.2002598293
-	8696	(	3 0 2483.8253676018 2 2896.3813588741 1 4619.7912874024 )	45.2000581939
-	8712	(	3 0 2483.8253703113 2 2896.3815984832 1 4619.7922104815 )	45.2000473949
-	8714	(	3 0 2483.8245414630 2 2896.3833077377 1 4619.7920389071 )	45.2000420407
-	8717	(	3 0 2483.8258603227 2 2896.3779360857 1 4619.7956529999 )	45.2000411600
-	8718	(	3 0 2483.8298169016 2 2896.3618211298 1 4619.8064952782 )	45.2000385180
-	8719	(	3 0 2483.8456432174 2 2896.2973613061 1 4619.8498643917 )	45.2000279546
-	8720	(	3 0 2483.9089484806 2 2896.0395220115 1 4620.0233408456 )	45.1999857711
-	8721	(	3 0 2484.1621695335 2 2895.0081648328 1 4620.7172466613 )	45.1998181601
-	8722	(	3 0 2485.1750537449 2 2890.8827361181 1 4623.4928699239 )	45.1991656831
-	8723	(	3 0 2489.2265905905 2 2874.3810212593 1 4634.5953629742 )	45.1968429324
-	8724	(	3 0 2505.4327379729 2 2808.3741618241 1 4679.0053351755 )	45.1921264676
-	8727	(	3 0 2505.3685769810 2 2808.4952747076 1 4679.9720755135 )	45.1823799799
-	8728	(	3 0 2505.1760940054 2 2808.8586133581 1 4682.8722965274 )	45.1531602599
-	8729	(	3 0 2503.1517786669 2 2810.5022882056 1 4685.7790057314 )	45.1291493448
-	8738	(	3 0 2502.1929683392 2 2809.7986800253 1 4687.3275204562 )	45.1288718569
-	8739	(	3 0 2499.3165373560 2 2807.6878554842 1 4691.9730646305 )	45.1280529948
-	8740	(	3 0 2487.8108134233 2 2799.2445573201 1 4710.5552413278 )	45.1249818571
-	8741	(	3 0 2441.7879176925 2 2765.4713646635 1 4784.8839481171 )	45.1159841138
-	8744	(	3 0 2462.0887438795 2 2743.6941147538 1 4794.1115963840 )	45.0330234211
-	8760	(	3 0 2462.3136002207 2 2743.6052851221 1 4794.0775784423 )	45.0321070688
-	8776	(	3 0 2462.3185474349 2 2743.6003098574 1 4794.0805750106 )	45.0320771528
-	8786	(	3 0 2462.3197386852 2 2743.5989064226 1 4794.0810742815 )	45.0320738114
-	8793	(	3 0 2462.3211643858 2 2743.5976465736 1 4794.0809396072 )	45.0320731778
-	8794	(	3 0 2462.3254414876 2 2743.5938670266 1 4794.0805355845 )	45.0320712769
-	8812	(	3 0 2462.3255079460 2 2743.5937832827 1 4794.0805883207 )	45.0320709008
-	8813	(	3 0 2462.3257073210 2 2743.5935320511 1 4794.0807465293 )	45.0320697728
-	8826	(	3 0 2462.3257104845 2 2743.5935091129 1 4794.0807652912 )	45.0320697624
-	8827	(	3 0 2462.3257199749 2 2743.5934402983 1 4794.0808215770 )	45.0320697313
-	8828	(	3 0 2462.3257579368 2 2743.5931650398 1 4794.0810467200 )	45.0320696068
-	8829	(	3 0 2462.3259097844 2 2743.5920640060 1 4794.0819472921 )	45.0320691088
-	8830	(	3 0 2462.3265171749 2 2743.5876598710 1 4794.0855495803 )	45.0320671166
-	8831	(	3 0 2462.3289467365 2 2743.5700433307 1 4794.0999587333 )	45.0320591485
-	8832	(	3 0 2462.3386649831 2 2743.4995771695 1 4794.1575953453 )	45.0320272796
-	8833	(	3 0 2462.3775379695 2 2743.2177125248 1 4794.3881417933 )	45.0318998663
-	8834	(	3 0 2462.5330299152 2 2742.0902539461 1 4795.3103275852 )	45.0313912035
-	8835	(	3 0 2463.1549976977 2 2737.5804196312 1 4798.9990707529 )	45.0293724005
-	8836	(	3 0 2465.6428688278 2 2719.5410823714 1 4813.7540434236 )	45.0215504519
-	8837	(	3 0 2475.5943533484 2 2647.3837333325 1 4872.7739341066 )	44.9942951687
-	8838	(	3 0 2515.4002914308 2 2358.7543371766 1 5108.8534968384 )	44.9485005040
-	8840	(	3 0 2515.2855315668 2 2358.6893426326 1 5109.0589561943 )	44.9480836817
-	8841	(	3 0 2514.9412519750 2 2358.4943590004 1 5109.6753342622 )	44.9468335445
-	8842	(	3 0 2513.5641336077 2 2357.7144244716 1 5112.1408465335 )	44.9418379464
-	8843	(	3 0 2508.0556601384 2 2354.5946863564 1 5122.0028956186 )	44.9219348254
-	8844	(	3 0 2486.0217662612 2 2342.1157338955 1 5161.4510919593 )	44.8435947921
-	8845	(	3 0 2483.0458496952 2 2338.7707113988 1 5167.8643075048 )	44.8377804120
-	8846	(	3 0 2474.1180999970 2 2328.7356439086 1 5187.1039541411 )	44.8205099552
-	8847	(	3 0 2438.4071012044 2 2288.5953739479 1 5264.0625406864 )	44.7540328039
-	8848	(	3 0 2295.5631060339 2 2128.0342941051 1 5571.8968868678 )	44.5306991822
-	8855	(	3 0 2246.8411231851 2 2159.0391922817 1 5594.0432427082 )	44.4908538729
-	8881	(	3 0 2246.8591149590 2 2159.0973578929 1 5594.0389538567 )	44.4902351182
-	8890	(	3 0 2246.8486392353 2 2159.1084209401 1 5594.0397904890 )	44.4902262093
-	8903	(	3 0 2246.8540260785 2 2159.1053127856 1 5594.0375595191 )	44.4902251751
-	8904	(	3 0 2246.8701866083 2 2159.0959883223 1 5594.0308666095 )	44.4902220731
-	8905	(	3 0 2246.9348287276 2 2159.0586904689 1 5594.0040949708 )	44.4902096777
-	8906	(	3 0 2247.1933972044 2 2158.9094990553 1 5593.8970084161 )	44.4901602933
-	8927	(	3 0 2247.1934312789 2 2158.9093352501 1 5593.8971782696 )	44.4901598382
-	8933	(	3 0 2247.1936064494 2 2158.9091736740 1 5593.8971710678 )	44.4901597251
-	8934	(	3 0 2247.1941319611 2 2158.9086889458 1 5593.8971494625 )	44.4901593859
-	8944	(	3 0 2247.1941525712 2 2158.9086089656 1 5593.8972354233 )	44.4901591006
-	8961	(	3 0 2247.1941592110 2 2158.9086060982 1 5593.8972336338 )	44.4901590823
-	8969	(	3 0 2247.1941622393 2 2158.9086061446 1 5593.8972314647 )	44.4901590747
-	8979	(	3 0 2247.1941629850 2 2158.9086060136 1 5593.8972309224 )	44.4901590742
-	8988	(	3 0 2247.1941631028 2 2158.9086062984 1 5593.8972305733 )	44.4901590739
-	8998	(	3 0 2247.1941631943 2 2158.9086062904 1 5593.8972305018 )	44.4901590738
-	9011	(	3 0 2247.1941631861 2 2158.9086062987 1 5593.8972305106 )	44.4901590737
-	9021	(	3 0 2247.1941631897 2 2158.9086062984 1 5593.8972305098 )	44.4901590737
-	9027	(	3 0 2247.1941631931 2 2158.9086062979 1 5593.8972305086 )	44.4901590737
-	9037	(	3 0 2247.1941631947 2 2158.9086062989 1 5593.8972305060 )	44.4901590737
-	9047	(	3 0 2247.1941631950 2 2158.9086062987 1 5593.8972305061 )	44.4901590737
-	9056	(	3 0 2247.1941631952 2 2158.9086062985 1 5593.8972305062 )	44.4901590737
-	9065	(	3 0 2247.1941631953 2 2158.9086062986 1 5593.8972305060 )	44.4901590737
-	9074	(	3 0 2247.1941631953 2 2158.9086062986 1 5593.8972305061 )	44.4901590737
-	9091	(	3 0 2247.1941631953 2 2158.9086062986 1 5593.8972305061 )	44.4901590737
+	5	(	2 0 5000.0000000000 1 5000.0000000000 )	58.5324359492
+	8	(	2 0 5000.0000000000 2 5000.0000000000 )	55.9016994375
+	12	(	3 0 3333.3333333333 2 3333.3333333333 1 3333.3333333333 )	47.1682905221
+	25	(	2 0 4664.5898033750 2 5335.4101966250 )	54.6460175208 (ExtendedPoll#6)
+	26	(	2 0 3658.3592135001 2 6341.6407864999 )	54.3665216385 (ExtendedPoll#6)
+	40	(	2 0 4853.2580389766 2 5104.8156864453 )	55.7859562011 (ExtendedPoll#7)
+	51	(	2 0 4952.8329410996 2 5040.1793464707 )	55.7796437455 (ExtendedPoll#8)
+	52	(	2 0 4811.3317643985 2 5160.7173858828 )	55.4595714411 (ExtendedPoll#8)
+	53	(	2 0 4245.3270575938 2 5642.8695435312 )	54.9467100128 (ExtendedPoll#8)
+	59	(	2 0 4217.3762078751 2 5761.6606548359 )	54.0237235981 (ExtendedPoll#8)
+	69	(	2 0 4105.5728090001 2 5894.4271909999 )	53.7841727607 (ExtendedPoll#9)
+	88	(	2 0 4077.6219592813 2 5838.5254915624 )	54.5583352238 (ExtendedPoll#10)
+	95	(	2 0 4079.3688873888 2 5901.4149034296 )	53.9607874220 (ExtendedPoll#10)
+	99	(	2 0 4048.3609134820 2 5933.2963413900 )	53.9575135294 (ExtendedPoll#10)
+	102	(	2 0 4114.7441815640 2 5872.1538576303 )	53.9056113440 (ExtendedPoll#10)
+	108	(	2 0 4103.7166978859 2 5883.2905243151 )	53.9036253851 (ExtendedPoll#10)
+	109	(	2 0 4070.6342468517 2 5916.7005243695 )	53.9019093307 (ExtendedPoll#10)
+	115	(	2 0 4066.9220246234 2 5931.8769623028 )	53.7986288783 (ExtendedPoll#10)
+	137	(	2 0 4552.7864045000 2 5447.2135955000 )	54.3435557967 (ExtendedPoll#12)
+	151	(	2 0 4547.0542966476 2 5452.5362670773 )	54.3341271736 (ExtendedPoll#12)
+	152	(	2 0 4529.8579730901 2 5468.5042818092 )	54.3067391679 (ExtendedPoll#12)
+	153	(	2 0 4461.0726788604 2 5532.3763407368 )	54.2108013388 (ExtendedPoll#12)
+	154	(	2 0 4185.9315019415 2 5787.8645764472 )	54.0536810905 (ExtendedPoll#12)
+	158	(	2 0 4166.7152927598 2 5812.7583019780 )	53.9898429352 (ExtendedPoll#12)
+	159	(	2 0 4109.0666652149 2 5887.4394785702 )	53.8164151300 (ExtendedPoll#12)
+	164	(	2 0 4087.2300638722 2 5910.1495439667 )	53.8086966314 (ExtendedPoll#12)
+	165	(	2 0 4021.7202598438 2 5978.2797401562 )	53.8029621572 (ExtendedPoll#12)
+	186	(	2 0 4997.1817136392 2 5002.7091033541 )	55.8904416155 (ExtendedPoll#13)
+	187	(	2 0 4988.7268545568 2 5010.8364134164 )	55.8568544583 (ExtendedPoll#13)
+	188	(	2 0 4954.9074182272 2 5043.3456536654 )	55.7253209743 (ExtendedPoll#13)
+	189	(	2 0 4819.6296729087 2 5173.3826146616 )	55.2455191020 (ExtendedPoll#13)
+	190	(	2 0 4278.5186916348 2 5693.5304586464 )	54.1478187840 (ExtendedPoll#13)
+	194	(	2 0 4250.5678419161 2 5749.4321580839 )	53.8463541922 (ExtendedPoll#13)
+	219	(	2 0 4991.4018382213 2 5006.9604166780 )	55.8833196229 (ExtendedPoll#14)
+	220	(	2 0 4965.6073528851 2 5027.8416667120 )	55.8295760866 (ExtendedPoll#14)
+	221	(	2 0 4862.4294115405 2 5111.3666668481 )	55.6359728814 (ExtendedPoll#14)
+	222	(	2 0 4449.7176461622 2 5445.4666673925 )	55.2305749540 (ExtendedPoll#14)
+	226	(	2 0 4416.5260121211 2 5499.6214387226 )	54.9360602700 (ExtendedPoll#14)
+	227	(	2 0 4316.9511099981 2 5662.0857527128 )	54.1235694449 (ExtendedPoll#14)
+	229	(	2 0 4226.1108484122 2 5745.9383018691 )	54.0981732449 (ExtendedPoll#14)
+	236	(	2 0 4295.9879727091 2 5690.0366024316 )	54.0285296848 (ExtendedPoll#14)
+	247	(	2 0 4295.1963959104 2 5693.8580076666 )	53.9975464791 (ExtendedPoll#14)
+	248	(	2 0 4292.8216655143 2 5705.3222233715 )	53.9048916226 (ExtendedPoll#14)
+	265	(	2 0 4991.6202042347 2 5007.1787826914 )	55.8789766881 (ExtendedPoll#15)
+	266	(	2 0 4966.4808169388 2 5028.7151307657 )	55.8122316385 (ExtendedPoll#15)
+	267	(	2 0 4865.9232677554 2 5114.8605230630 )	55.5670382161 (ExtendedPoll#15)
+	268	(	2 0 4463.6930710215 2 5459.4420922519 )	54.9622403869 (ExtendedPoll#15)
+	272	(	2 0 4465.4399991290 2 5522.3315041191 )	54.2792880205 (ExtendedPoll#15)
+	279	(	2 0 4465.8494354041 2 5530.1380890991 )	54.1936457881 (ExtendedPoll#15)
+	282	(	2 0 4460.3083978134 2 5535.6518309382 )	54.1829242335 (ExtendedPoll#15)
+	283	(	2 0 4443.6852850412 2 5552.1930564553 )	54.1517073596 (ExtendedPoll#15)
+	284	(	2 0 4377.1928339525 2 5618.3579585239 )	54.0411998177 (ExtendedPoll#15)
+	285	(	2 0 4111.2230295975 2 5883.0175667983 )	53.8374230147 (ExtendedPoll#15)
+	295	(	2 0 4118.0196717655 2 5879.1961615633 )	53.8105466009 (ExtendedPoll#15)
+	298	(	2 0 4124.3795819065 2 5874.6650667847 )	53.7943634220 (ExtendedPoll#15)
+	307	(	2 0 4124.8617357702 2 5874.5877643630 )	53.7906784892 (ExtendedPoll#15)
+	308	(	2 0 4125.6516065844 2 5874.0132740894 )	53.7887889498 (ExtendedPoll#15)
+	310	(	2 0 4123.8654408339 2 5876.1201649220 )	53.7855913617 (ExtendedPoll#15)
+	348	(	2 0 4926.6290194883 2 5050.6609151152 )	55.8573545355 (ExtendedPoll#17)
+	349	(	2 0 4706.5160779532 2 5202.6436604609 )	55.8124774768 (ExtendedPoll#17)
+	353	(	2 0 4650.6143785157 2 5314.4470593359 )	54.9951723917 (ExtendedPoll#17)
+	362	(	2 0 4648.1031693612 2 5329.8418632826 )	54.8434056052 (ExtendedPoll#17)
+	365	(	2 0 4663.2796072945 2 5326.0204580476 )	54.7617474708 (ExtendedPoll#17)
+	368	(	2 0 4676.3815681001 2 5317.5041835239 )	54.7500380050 (ExtendedPoll#17)
+	375	(	2 0 4680.0460227630 2 5316.1598677537 )	54.7351963289 (ExtendedPoll#17)
+	378	(	2 0 4683.8264843704 2 5315.1840446312 )	54.7152907223 (ExtendedPoll#17)
+	383	(	2 0 4684.6722261763 2 5314.6957065739 )	54.7138745538 (ExtendedPoll#17)
+	386	(	2 0 4683.5902055200 2 5315.5546697595 )	54.7130556687 (ExtendedPoll#17)
+	387	(	2 0 4680.3441435508 2 5318.1315593164 )	54.7106238781 (ExtendedPoll#17)
+	388	(	2 0 4667.3598956743 2 5328.4391175440 )	54.7012704968 (ExtendedPoll#17)
+	389	(	2 0 4615.4229041681 2 5369.6693504543 )	54.6698883036 (ExtendedPoll#17)
+	390	(	2 0 4407.6749381433 2 5534.5902820956 )	54.6440687766 (ExtendedPoll#17)
+	392	(	2 0 4390.6423890959 2 5560.7942037069 )	54.5173881146 (ExtendedPoll#17)
+	393	(	2 0 4339.5447419538 2 5639.4059685409 )	54.1546080629 (ExtendedPoll#17)
+	397	(	2 0 4329.0631733093 2 5668.6670143402 )	53.9515249195 (ExtendedPoll#17)
+	404	(	2 0 4327.2889494502 2 5672.1472226792 )	53.9321944673 (ExtendedPoll#17)
+	410	(	2 0 4327.7553229574 2 5672.0024272464 )	53.9295614439 (ExtendedPoll#17)
+	411	(	2 0 4328.5409288104 2 5671.4219660272 )	53.9284968785 (ExtendedPoll#17)
+	419	(	2 0 4328.4706502466 2 5671.5217727832 )	53.9281125932 (ExtendedPoll#17)
+	440	(	2 0 4999.6291616237 2 5000.3176329854 )	55.9006895585 (ExtendedPoll#18)
+	441	(	2 0 4998.5166464947 2 5001.2705319414 )	55.8976626910 (ExtendedPoll#18)
+	442	(	2 0 4994.0665859789 2 5005.0821277656 )	55.8855968012 (ExtendedPoll#18)
+	443	(	2 0 4976.2663439156 2 5020.3285110625 )	55.8380009177 (ExtendedPoll#18)
+	444	(	2 0 4905.0653756623 2 5081.3140442501 )	55.6584535115 (ExtendedPoll#18)
+	445	(	2 0 4620.2615026492 2 5325.2561770006 )	55.1234133107 (ExtendedPoll#18)
+	448	(	2 0 4630.7430712937 2 5354.9539548267 )	54.7064652424 (ExtendedPoll#18)
+	451	(	2 0 4621.4625157231 2 5367.5100005988 )	54.6438867561 (ExtendedPoll#18)
+	452	(	2 0 4593.6208490110 2 5405.1781379151 )	54.4600465872 (ExtendedPoll#18)
+	453	(	2 0 4549.9476463255 2 5448.8513406007 )	54.3496410161 (ExtendedPoll#18)
+	454	(	2 0 4418.9280382689 2 5579.8709486573 )	54.0763891883 (ExtendedPoll#18)
+	455	(	2 0 3894.8496060423 2 6103.9493808838 )	53.9197049939 (ExtendedPoll#18)
+	468	(	2 0 3903.2294018076 2 6096.7705981924 )	53.8996693169 (ExtendedPoll#18)
+	475	(	2 0 3903.5746504167 2 6096.4253495832 )	53.8992666551 (ExtendedPoll#18)
+	476	(	2 0 3904.6103962441 2 6095.3896037559 )	53.8980629375 (ExtendedPoll#18)
+	477	(	2 0 3908.7533795536 2 6091.2466204464 )	53.8933120622 (ExtendedPoll#18)
+	478	(	2 0 3925.3253127913 2 6074.6746872087 )	53.8753312613 (ExtendedPoll#18)
+	479	(	2 0 3991.6130457425 2 6008.3869542575 )	53.8196897705 (ExtendedPoll#18)
+	527	(	2 0 4720.4915028125 2 5223.6067977500 )	55.4583179735 (ExtendedPoll#20)
+	528	(	2 0 4385.0813061876 2 5559.0169943749 )	54.5837536207 (ExtendedPoll#20)
+	539	(	2 0 4367.6120251133 2 5584.7841839594 )	54.4682528290 (ExtendedPoll#20)
+	540	(	2 0 4315.2041818907 2 5662.0857527128 )	54.1388753912 (ExtendedPoll#20)
+	542	(	2 0 4283.7594759571 2 5716.2405240429 )	53.8770977719 (ExtendedPoll#20)
+	581	(	2 0 3661.9622527217 2 6337.4508886172 )	54.3613643939 (ExtendedPoll#21)
+	582	(	2 0 3672.7713703864 2 6324.8811949693 )	54.3464807033 (ExtendedPoll#21)
+	583	(	2 0 3716.0078410450 2 6274.6024203776 )	54.2957519362 (ExtendedPoll#21)
+	584	(	2 0 3888.9537236798 2 6073.4873220106 )	54.2325516547 (ExtendedPoll#21)
+	588	(	2 0 3910.7903250226 2 6051.2139886410 )	54.2135842543 (ExtendedPoll#21)
+	589	(	2 0 3976.3001290509 2 5984.3939885321 )	54.1740869612 (ExtendedPoll#21)
+	593	(	2 0 4033.9487565958 2 5959.9369950282 )	53.8521950489 (ExtendedPoll#21)
+	599	(	2 0 4047.3782664216 2 5951.9666355381 )	53.7987546224 (ExtendedPoll#21)
+	611	(	2 0 4047.6136123118 2 5951.9017281599 )	53.7971533414 (ExtendedPoll#21)
+	615	(	2 0 4047.8134790560 2 5952.0419387593 )	53.7940433602 (ExtendedPoll#21)
+	617	(	2 0 4047.6531698269 2 5952.2260518031 )	53.7938806683 (ExtendedPoll#21)
+	618	(	2 0 4047.1722421396 2 5952.7783909345 )	53.7933936767 (ExtendedPoll#21)
+	624	(	2 0 4047.2240480902 2 5952.7461205054 )	53.7932021747 (ExtendedPoll#21)
+	629	(	2 0 4047.2545309008 2 5952.7446673365 )	53.7929324376 (ExtendedPoll#21)
+	654	(	2 0 4999.9134679357 2 5000.0860989042 )	55.9013177479 (ExtendedPoll#22)
+	655	(	2 0 4999.6538717426 2 5000.3443956169 )	55.9001728626 (ExtendedPoll#22)
+	656	(	2 0 4998.6154869705 2 5001.3775824675 )	55.8955960762 (ExtendedPoll#22)
+	657	(	2 0 4994.4619478821 2 5005.5103298701 )	55.8773330446 (ExtendedPoll#22)
+	658	(	2 0 4977.8477915284 2 5022.0413194804 )	55.8049893023 (ExtendedPoll#22)
+	659	(	2 0 4911.3911661138 2 5088.1652779214 )	55.5271121019 (ExtendedPoll#22)
+	660	(	2 0 4645.5646644551 2 5352.6611116858 )	54.6099568042 (ExtendedPoll#22)
+	666	(	2 0 4643.1899340591 2 5355.7660034392 )	54.5949958366 (ExtendedPoll#22)
+	674	(	2 0 4643.2514561244 2 5356.2503964074 )	54.5891116760 (ExtendedPoll#22)
+	676	(	2 0 4642.9300912980 2 5356.6179294388 )	54.5876751049 (ExtendedPoll#22)
+	677	(	2 0 4641.9659968188 2 5357.7205285330 )	54.5833690042 (ExtendedPoll#22)
+	678	(	2 0 4640.6472708158 2 5359.1620854185 )	54.5782267385 (ExtendedPoll#22)
+	683	(	2 0 4639.9154034740 2 5359.8086535364 )	54.5770790094 (ExtendedPoll#22)
+	684	(	2 0 4637.7198014483 2 5361.7483578901 )	54.5736490458 (ExtendedPoll#22)
+	685	(	2 0 4628.9373933458 2 5369.5071753047 )	54.5601278395 (ExtendedPoll#22)
+	686	(	2 0 4593.8077609356 2 5400.5424449631 )	54.5092397286 (ExtendedPoll#22)
+	687	(	2 0 4453.2892312949 2 5524.6835235967 )	54.3579916958 (ExtendedPoll#22)
+	692	(	2 0 4453.1800482882 2 5540.2966935568 )	54.1950044054 (ExtendedPoll#22)
+	696	(	2 0 4449.7953750800 2 5547.3389974899 )	54.1501982295 (ExtendedPoll#22)
+	700	(	2 0 4458.8302688856 2 5540.9790873488 )	54.1396632915 (ExtendedPoll#22)
+	710	(	2 0 4458.3987614362 2 5541.5182850685 )	54.1376935988 (ExtendedPoll#22)
+	723	(	2 0 4458.4198350926 2 5541.5559487575 )	54.1371193459 (ExtendedPoll#22)
+	725	(	2 0 4458.4486331602 2 5541.5458498792 )	54.1369795760 (ExtendedPoll#22)
+	732	(	2 0 4458.4524474032 2 5541.5457910551 )	54.1369476680 (ExtendedPoll#22)
+	748	(	2 0 4695.1610452549 2 5241.9495428779 )	55.4530370223 (ExtendedPoll#23)
+	749	(	2 0 4619.1696725821 2 5296.9777782617 )	55.4492782592 (ExtendedPoll#23)
+	752	(	2 0 4772.8993460352 2 5199.1498042461 )	55.3189871998 (ExtendedPoll#23)
+	758	(	2 0 4803.9073199419 2 5194.3457519507 )	55.1267190068 (ExtendedPoll#23)
+	761	(	2 0 4779.8870584649 2 5214.4354251860 )	55.0861821831 (ExtendedPoll#23)
+	762	(	2 0 4707.8262740337 2 5274.7044448921 )	54.9771582390 (ExtendedPoll#23)
+	763	(	2 0 4419.5831363091 2 5515.7805237163 )	54.7394753219 (ExtendedPoll#23)
+	765	(	2 0 4251.8780379967 2 5711.4364717475 )	54.2065798938 (ExtendedPoll#23)
+	766	(	2 0 3916.4678413717 2 6046.8466683725 )	54.1969206166 (ExtendedPoll#23)
+	775	(	2 0 3947.9125473053 2 6047.2834003993 )	53.8946625323 (ExtendedPoll#23)
+	780	(	2 0 3960.2502270639 2 6037.7844788152 )	53.8597225819 (ExtendedPoll#23)
+	789	(	2 0 3961.1262500944 2 6037.3528647418 )	53.8551714185 (ExtendedPoll#23)
+	790	(	2 0 3963.7543191857 2 6036.0580225215 )	53.8415309007 (ExtendedPoll#23)
+	800	(	2 0 3963.8724386189 2 6036.0888168742 )	53.8401500357 (ExtendedPoll#23)
+	806	(	2 0 3963.8977126790 2 6036.0717128804 )	53.8400591085 (ExtendedPoll#23)
+	807	(	2 0 3963.9735348593 2 6036.0204008990 )	53.8397863412 (ExtendedPoll#23)
+	808	(	2 0 3964.0565483307 2 6035.9309033538 )	53.8397753773 (ExtendedPoll#23)
+	809	(	2 0 3964.3055887447 2 6035.6624107183 )	53.8397427557 (ExtendedPoll#23)
+	810	(	2 0 3965.3017504010 2 6034.5884401761 )	53.8396163244 (ExtendedPoll#23)
+	811	(	2 0 3969.2863970259 2 6030.2925580077 )	53.8391754528 (ExtendedPoll#23)
+	812	(	2 0 3985.2249835255 2 6013.1090293339 )	53.8384482501 (ExtendedPoll#23)
+	815	(	2 0 3987.0145612449 2 6012.3276884421 )	53.8284510125 (ExtendedPoll#23)
+	820	(	2 0 3987.3798551717 2 6012.0036580149 )	53.8278471786 (ExtendedPoll#23)
+	821	(	2 0 3988.4757369520 2 6011.0315667334 )	53.8260397128 (ExtendedPoll#23)
+	823	(	2 0 3986.7339267980 2 6013.1742832402 )	53.8237018301 (ExtendedPoll#23)
+	832	(	2 0 3986.6783090383 2 6013.2829464548 )	53.8232765676 (ExtendedPoll#23)
+	836	(	2 0 3986.8030524894 2 6013.1636141732 )	53.8231454979 (ExtendedPoll#23)
+	837	(	2 0 3987.1772828427 2 6012.8056173285 )	53.8227528066 (ExtendedPoll#23)
+	847	(	2 0 3987.1736824074 2 6012.8204452533 )	53.8226572738 (ExtendedPoll#23)
+	849	(	2 0 3987.1869497063 2 6012.8129081631 )	53.8225983976 (ExtendedPoll#23)
+	850	(	2 0 3987.2077526376 2 6012.7905795918 )	53.8225977726 (ExtendedPoll#23)
+	851	(	2 0 3987.2701614317 2 6012.7235938779 )	53.8225959146 (ExtendedPoll#23)
+	852	(	2 0 3987.5197966079 2 6012.4556510226 )	53.8225887344 (ExtendedPoll#23)
+	853	(	2 0 3988.5183373128 2 6011.3838796011 )	53.8225640459 (ExtendedPoll#23)
+	854	(	2 0 3992.5125001324 2 6007.0967939151 )	53.8225297822 (ExtendedPoll#23)
+	858	(	2 0 3992.8719297375 2 6006.7662594221 )	53.8220484338 (ExtendedPoll#23)
+	859	(	2 0 3993.9502185528 2 6005.7746559431 )	53.8206084721 (ExtendedPoll#23)
+	867	(	2 0 3994.1935345893 2 6005.7947812288 )	53.8181500804 (ExtendedPoll#23)
+	875	(	2 0 3994.2169631374 2 6005.7752257153 )	53.8181014599 (ExtendedPoll#23)
+	880	(	2 0 3994.2052365766 2 6005.7933405549 )	53.8180529267 (ExtendedPoll#23)
+	886	(	2 0 3994.2070325934 2 6005.7926984484 )	53.8180416998 (ExtendedPoll#23)
+	901	(	2 0 4983.7317319996 2 5014.9580719198 )	55.8453986667 (ExtendedPoll#24)
+	902	(	2 0 4934.9269279985 2 5059.8322876792 )	55.6824111014 (ExtendedPoll#24)
+	903	(	2 0 4739.7077119942 2 5239.3291507168 )	55.1228042284 (ExtendedPoll#24)
+	904	(	2 0 3958.8308479767 2 5957.3166028671 )	54.5781023915 (ExtendedPoll#24)
+	911	(	2 0 3979.7939852657 2 6016.7121585194 )	53.8581095439 (ExtendedPoll#24)
+	918	(	2 0 3988.6378088095 2 6010.1065866132 )	53.8325947095 (ExtendedPoll#24)
+	926	(	2 0 3989.5633053899 2 6010.4187817731 )	53.8211783096 (ExtendedPoll#24)
+	936	(	2 0 3989.5756322315 2 6010.4097884943 )	53.8211411134 (ExtendedPoll#24)
+	937	(	2 0 3989.6126127563 2 6010.3828086579 )	53.8210295286 (ExtendedPoll#24)
+	942	(	2 0 3989.6241534539 2 6010.3728265038 )	53.8210083518 (ExtendedPoll#24)
+	946	(	2 0 3989.6276603588 2 6010.3713253267 )	53.8209885364 (ExtendedPoll#24)
+	969	(	2 0 3659.6318779221 2 6340.1599919713 )	54.3646950351 (ExtendedPoll#25)
+	970	(	2 0 3663.4498711882 2 6335.7176083856 )	54.3592886738 (ExtendedPoll#25)
+	971	(	2 0 3678.7218442523 2 6317.9480740430 )	54.3387643534 (ExtendedPoll#25)
+	972	(	2 0 3739.8097365087 2 6246.8699366722 )	54.2742427310 (ExtendedPoll#25)
+	978	(	2 0 3747.2068852135 2 6244.3587275178 )	54.2206960776 (ExtendedPoll#25)
+	980	(	2 0 3733.7773753877 2 6261.9371915988 )	54.2169921066 (ExtendedPoll#25)
+	984	(	2 0 3729.6284211326 2 6268.5700592566 )	54.2069023761 (ExtendedPoll#25)
+	995	(	2 0 3729.8079759991 2 6269.9395382979 )	54.1945664870 (ExtendedPoll#25)
+	1002	(	2 0 3730.0391102401 2 6269.8609297318 )	54.1928795948 (ExtendedPoll#25)
+	1003	(	2 0 3730.4171990505 2 6269.5520399169 )	54.1915098832 (ExtendedPoll#25)
+	1010	(	2 0 3730.5280413937 2 6269.4196928396 )	54.1914305422 (ExtendedPoll#25)
+	1011	(	2 0 3730.8605684232 2 6269.0226516079 )	54.1911930941 (ExtendedPoll#25)
+	1012	(	2 0 3732.1906765414 2 6267.4344866812 )	54.1902519228 (ExtendedPoll#25)
+	1013	(	2 0 3737.5111090140 2 6261.0818269741 )	54.1866251399 (ExtendedPoll#25)
+	1014	(	2 0 3758.7928389047 2 6235.6711881460 )	54.1743221404 (ExtendedPoll#25)
+	1015	(	2 0 3843.9197584675 2 6134.0286328333 )	54.1602124163 (ExtendedPoll#25)
+	1017	(	2 0 3850.7164006354 2 6130.1799318466 )	54.1262487754 (ExtendedPoll#25)
+	1018	(	2 0 3871.1063271392 2 6118.6338288866 )	54.0252546165 (ExtendedPoll#25)
+	1024	(	2 0 3874.9618520638 2 6118.0196744739 )	53.9932699228 (ExtendedPoll#25)
+	1027	(	2 0 3878.5580673474 2 6116.4979363178 )	53.9713481391 (ExtendedPoll#25)
+	1030	(	2 0 3882.4477119616 2 6116.1772112356 )	53.9366512244 (ExtendedPoll#25)
+	1033	(	2 0 3883.8176174990 2 6114.7851279000 )	53.9350795566 (ExtendedPoll#25)
+	1034	(	2 0 3887.9273341111 2 6110.6088778932 )	53.9304333927 (ExtendedPoll#25)
+	1035	(	2 0 3904.3662005594 2 6093.9038778659 )	53.9128801378 (ExtendedPoll#25)
+	1036	(	2 0 3970.1216663528 2 6027.0838777571 )	53.8590909037 (ExtendedPoll#25)
+	1042	(	2 0 3973.0218399687 2 6024.4703095339 )	53.8544261587 (ExtendedPoll#25)
+	1043	(	2 0 3981.7223608162 2 6016.6296048642 )	53.8406919834 (ExtendedPoll#25)
+	1048	(	2 0 3984.9637313280 2 6014.4459447299 )	53.8292462452 (ExtendedPoll#25)
+	1053	(	2 0 3985.8052081727 2 6013.9503562385 )	53.8256595333 (ExtendedPoll#25)
+	1061	(	2 0 3985.8396877184 2 6014.0674560795 )	53.8243145748 (ExtendedPoll#25)
+	1064	(	2 0 3985.9527091902 2 6014.0213411865 )	53.8236546852 (ExtendedPoll#25)
+	1069	(	2 0 3986.0162471161 2 6013.9629145501 )	53.8235671131 (ExtendedPoll#25)
+	1070	(	2 0 3986.2068608937 2 6013.7876346407 )	53.8233045248 (ExtendedPoll#25)
+	1076	(	2 0 3986.1976307305 2 6013.7997850945 )	53.8232852967 (ExtendedPoll#25)
+	1082	(	2 0 3986.2011589420 2 6013.7983347110 )	53.8232647945 (ExtendedPoll#25)
+	1086	(	2 0 3986.1999003828 2 6013.7997678928 )	53.8232641222 (ExtendedPoll#25)
+	1089	(	2 0 3986.1980746415 2 6013.8017534985 )	53.8232639619 (ExtendedPoll#25)
+	1144	(	2 0 4999.7419965034 2 5000.2294282565 )	55.9008939292 (ExtendedPoll#27)
+	1145	(	2 0 4998.9679860137 2 5000.9177130262 )	55.8984788107 (ExtendedPoll#27)
+	1146	(	2 0 4995.8719440548 2 5003.6708521046 )	55.8888394453 (ExtendedPoll#27)
+	1147	(	2 0 4983.4877762190 2 5014.6834084185 )	55.8506205863 (ExtendedPoll#27)
+	1148	(	2 0 4933.9511048760 2 5058.7336336741 )	55.7032178511 (ExtendedPoll#27)
+	1149	(	2 0 4735.8044195041 2 5234.9345346965 )	55.2046851896 (ExtendedPoll#27)
+	1150	(	2 0 3943.2176780166 2 5939.7381387862 )	54.8819022435 (ExtendedPoll#27)
+	1152	(	2 0 3935.3565015332 2 5969.8726486392 )	54.6880709245 (ExtendedPoll#27)
+	1153	(	2 0 3911.7729720830 2 6060.2761781983 )	54.1268308179 (ExtendedPoll#27)
+	1159	(	2 0 3902.3832335056 2 6072.7230409636 )	54.1106121774 (ExtendedPoll#27)
+	1160	(	2 0 3874.2140177734 2 6110.0636292598 )	54.0666592435 (ExtendedPoll#27)
+	1163	(	2 0 3854.9978085918 2 6134.5206227637 )	54.0491056788 (ExtendedPoll#27)
+	1170	(	2 0 3852.6503739474 2 6141.9723629719 )	54.0104767054 (ExtendedPoll#27)
+	1174	(	2 0 3860.8118036993 2 6134.5206227637 )	53.9930000229 (ExtendedPoll#27)
+	1175	(	2 0 3885.2960929549 2 6112.1654021390 )	53.9427035432 (ExtendedPoll#27)
+	1183	(	2 0 3886.8263610334 2 6110.9507411893 )	53.9381441910 (ExtendedPoll#27)
+	1184	(	2 0 3891.4171652688 2 6107.3067583403 )	53.9245293625 (ExtendedPoll#27)
+	1185	(	2 0 3897.5041178931 2 6102.3935230381 )	53.9073073325 (ExtendedPoll#27)
+	1195	(	2 0 3897.7068634861 2 6102.2575240879 )	53.9065051034 (ExtendedPoll#27)
+	1203	(	2 0 3897.7316573216 2 6102.2397316194 )	53.9064167304 (ExtendedPoll#27)
+	1204	(	2 0 3897.8060388280 2 6102.1863542139 )	53.9061516260 (ExtendedPoll#27)
+	1210	(	2 0 3897.8185626742 2 6102.1776373870 )	53.9061047270 (ExtendedPoll#27)
+	1216	(	2 0 3897.8165360562 2 6102.1808692197 )	53.9060970673 (ExtendedPoll#27)
+	1219	(	2 0 3897.8201618133 2 6102.1796835545 )	53.9060722877 (ExtendedPoll#27)
+	1232	(	2 0 3897.8200835182 2 6102.1797734473 )	53.9060722845 (ExtendedPoll#27)
+	1233	(	2 0 3897.8198486328 2 6102.1800431259 )	53.9060722750 (ExtendedPoll#27)
+	1245	(	2 0 4966.3716339321 2 5028.8243137725 )	55.8117570732 (ExtendedPoll#28)
+	1246	(	2 0 4865.4865357285 2 5115.2972550898 )	55.5653095642 (ExtendedPoll#28)
+	1247	(	2 0 4461.9461429141 2 5461.1890203593 )	54.9583349271 (ExtendedPoll#28)
+	1253	(	2 0 4468.9338553438 2 5524.0784322265 )	54.2311656305 (ExtendedPoll#28)
+	1254	(	2 0 4385.0813061876 2 5614.9186938124 )	54.0080105561 (ExtendedPoll#28)
+	1312	(	2 0 4999.9828435272 2 5000.0130887244 )	55.9016722791 (ExtendedPoll#29)
+	1313	(	2 0 4999.9313741087 2 5000.0523548977 )	55.9015908089 (ExtendedPoll#29)
+	1314	(	2 0 4999.7254964348 2 5000.2094195909 )	55.9012650053 (ExtendedPoll#29)
+	1315	(	2 0 4998.9019857391 2 5000.8376783636 )	55.8999630243 (ExtendedPoll#29)
+	1316	(	2 0 4995.6079429565 2 5003.3507134546 )	55.8947748483 (ExtendedPoll#29)
+	1317	(	2 0 4982.4317718259 2 5013.4028538183 )	55.8743389196 (ExtendedPoll#29)
+	1318	(	2 0 4929.7270873038 2 5053.6114152732 )	55.7977153969 (ExtendedPoll#29)
+	1319	(	2 0 4718.9083492152 2 5214.4456610929 )	55.5764644844 (ExtendedPoll#29)
+	1322	(	2 0 4720.0070032202 2 5218.1920030108 )	55.5244848408 (ExtendedPoll#29)
+	1323	(	2 0 4723.3029652354 2 5229.4310287644 )	55.3687307229 (ExtendedPoll#29)
+	1324	(	2 0 4734.5488149269 2 5240.3493294358 )	55.1527367318 (ExtendedPoll#29)
+	1325	(	2 0 4725.8141743898 2 5270.4838392888 )	54.8793050383 (ExtendedPoll#29)
+	1333	(	2 0 4724.6472810056 2 5274.2097093929 )	54.8463890957 (ExtendedPoll#29)
+	1338	(	2 0 4723.8706315711 2 5274.8016860074 )	54.8459531010 (ExtendedPoll#29)
+	1339	(	2 0 4721.5406832677 2 5276.5776158510 )	54.8446571102 (ExtendedPoll#29)
+	1340	(	2 0 4712.2208900540 2 5283.6813352253 )	54.8396533297 (ExtendedPoll#29)
+	1341	(	2 0 4674.9417171991 2 5312.0962127226 )	54.8225390616 (ExtendedPoll#29)
+	1342	(	2 0 4525.8250257796 2 5425.7557227117 )	54.8016355518 (ExtendedPoll#29)
+	1345	(	2 0 4527.5719538871 2 5456.7636966185 )	54.4520740351 (ExtendedPoll#29)
+	1349	(	2 0 4517.3087512560 2 5468.5554613436 )	54.4117744769 (ExtendedPoll#29)
+	1350	(	2 0 4486.5191433627 2 5503.9307555188 )	54.2947627479 (ExtendedPoll#29)
+	1351	(	2 0 4439.3520844623 2 5545.8570300970 )	54.2549299012 (ExtendedPoll#29)
+	1352	(	2 0 4297.8509077611 2 5671.6358538313 )	54.1955288613 (ExtendedPoll#29)
+	1354	(	2 0 4130.1458094486 2 5867.2918018626 )	53.8101176125 (ExtendedPoll#29)
+	1365	(	2 0 4128.0235647556 2 5870.5672920640 )	53.7990789831 (ExtendedPoll#29)
+	1369	(	2 0 4127.0989211675 2 5872.2886304042 )	53.7915583989 (ExtendedPoll#29)
+	1375	(	2 0 4128.1741178860 2 5871.4215637923 )	53.7897866464 (ExtendedPoll#29)
+	1378	(	2 0 4127.2012802363 2 5872.4020783721 )	53.7895735461 (ExtendedPoll#29)
+	1379	(	2 0 4124.2827672873 2 5875.3436221116 )	53.7889669943 (ExtendedPoll#29)
+	1380	(	2 0 4112.6087154913 2 5887.1097970695 )	53.7870326237 (ExtendedPoll#29)
+	1393	(	2 0 4112.6224699912 2 5887.2310885676 )	53.7857898087 (ExtendedPoll#29)
+	1395	(	2 0 4112.6068429068 2 5887.3521534897 )	53.7848179668 (ExtendedPoll#29)
+	1401	(	2 0 4112.6094751875 2 5887.3825571652 )	53.7845139164 (ExtendedPoll#29)
+	1405	(	2 0 4112.6011895425 2 5887.3953703748 )	53.7844717434 (ExtendedPoll#29)
+	1411	(	2 0 4112.6098291866 2 5887.3889072301 )	53.7844522046 (ExtendedPoll#29)
+	1416	(	2 0 4112.6115497632 2 5887.3880840681 )	53.7844440412 (ExtendedPoll#29)
+	1423	(	2 0 4112.6117769427 2 5887.3881564070 )	53.7844412964 (ExtendedPoll#29)
+	1429	(	2 0 4112.6117384418 2 5887.3882019087 )	53.7844412297 (ExtendedPoll#29)
+	1430	(	2 0 4112.6116229393 2 5887.3883384136 )	53.7844410296 (ExtendedPoll#29)
+	1434	(	2 0 4112.6116767374 2 5887.3883127527 )	53.7844407736 (ExtendedPoll#29)
+	1437	(	2 0 4112.6116387835 2 5887.3883587115 )	53.7844406977 (ExtendedPoll#29)
+	1445	(	2 0 4902.1720259844 2 5076.8648367266 )	55.7342800977 (ExtendedPoll#30)
+	1446	(	2 0 4608.6881039375 2 5307.4593469062 )	55.4177822439 (ExtendedPoll#30)
+	1449	(	2 0 4440.9830056251 2 5503.1152949375 )	54.6903788761 (ExtendedPoll#30)
+	1452	(	2 0 4273.2779073126 2 5698.7712429687 )	54.1421759642 (ExtendedPoll#30)
+	1453	(	2 0 3937.8677106876 2 6034.1814395937 )	54.1025876908 (ExtendedPoll#30)
+	1462	(	2 0 3985.0347695880 2 5992.2551650155 )	54.0228541969 (ExtendedPoll#30)
+	1463	(	2 0 4126.5359462891 2 5866.4763412812 )	53.8506010417 (ExtendedPoll#30)
+	1473	(	2 0 4130.4392387792 2 5866.5172849087 )	53.8146342551 (ExtendedPoll#30)
+	1475	(	2 0 4128.6854867338 2 5870.0111411235 )	53.7981997187 (ExtendedPoll#30)
+	1481	(	2 0 4129.0689067457 2 5870.9093419522 )	53.7863749691 (ExtendedPoll#30)
+	1494	(	2 0 4129.0636273984 2 5870.9236583107 )	53.7862903829 (ExtendedPoll#30)
+	1499	(	2 0 4129.0651471032 2 5870.9311348262 )	53.7862072107 (ExtendedPoll#30)
+	1503	(	2 0 4129.0646772976 2 5870.9349204804 )	53.7861763981 (ExtendedPoll#30)
+	1509	(	2 0 4129.0641711296 2 5870.9357287432 )	53.7861735204 (ExtendedPoll#30)
+	1517	(	2 0 4129.0643025908 2 5870.9356231986 )	53.7861733001 (ExtendedPoll#30)
+	1520	(	2 0 4129.0644472731 2 5870.9355366612 )	53.7861727831 (ExtendedPoll#30)
+	1525	(	2 0 4129.0644281460 2 5870.9355595157 )	53.7861727456 (ExtendedPoll#30)
+	1526	(	2 0 4129.0643707645 2 5870.9356280794 )	53.7861726332 (ExtendedPoll#30)
+	1627	(	2 0 4867.2334638359 2 5118.7911113047 )	55.5101747565 (ExtendedPoll#33)
+	1628	(	2 0 4468.9338553438 2 5475.1644452187 )	54.7497453707 (ExtendedPoll#33)
+	1635	(	2 0 4531.8232672110 2 5468.1767327890 )	54.2937328699 (ExtendedPoll#33)
+	1637	(	2 0 4406.0444434766 2 5593.9555565234 )	54.0419580454 (ExtendedPoll#33)
+	1638	(	2 0 4028.7079722735 2 5971.2920277265 )	53.7998378556 (ExtendedPoll#33)
+	1644	(	2 0 4154.4867960079 2 5845.5132039921 )	53.7918826239 (ExtendedPoll#33)
+	1715	(	2 0 4999.9918793150 2 5000.0071042165 )	55.9016755069 (ExtendedPoll#34)
+	1716	(	2 0 4999.9675172600 2 5000.0284168659 )	55.9016037165 (ExtendedPoll#34)
+	1717	(	2 0 4999.8700690400 2 5000.1136674635 )	55.9013165752 (ExtendedPoll#34)
+	1718	(	2 0 4999.4802761598 2 5000.4546698539 )	55.9001683374 (ExtendedPoll#34)
+	1719	(	2 0 4997.9211046392 2 5001.8186794156 )	55.8955806263 (ExtendedPoll#34)
+	1720	(	2 0 4991.6844185568 2 5007.2747176624 )	55.8773137258 (ExtendedPoll#34)
+	1721	(	2 0 4966.7376742271 2 5029.0988706497 )	55.8055960661 (ExtendedPoll#34)
+	1722	(	2 0 4866.9506969084 2 5116.3954825988 )	55.5407618647 (ExtendedPoll#34)
+	1723	(	2 0 4467.8027876336 2 5465.5819303951 )	54.8617064546 (ExtendedPoll#34)
+	1725	(	2 0 4466.8269645111 2 5469.3623920026 )	54.8295561915 (ExtendedPoll#34)
+	1726	(	2 0 4463.8994951436 2 5480.7037768250 )	54.7333779337 (ExtendedPoll#34)
+	1727	(	2 0 4452.1896176735 2 5526.0693161146 )	54.3527873521 (ExtendedPoll#34)
+	1728	(	2 0 4432.0999444382 2 5550.0895775916 )	54.2727755505 (ExtendedPoll#34)
+	1729	(	2 0 4371.8309247321 2 5622.1503620228 )	54.0490159101 (ExtendedPoll#34)
+	1736	(	2 0 4367.1633511951 2 5628.4010891571 )	54.0259049915 (ExtendedPoll#34)
+	1740	(	2 0 4367.4363087119 2 5632.2975577092 )	53.9839463746 (ExtendedPoll#34)
+	1752	(	2 0 4367.5173563027 2 5632.3888412069 )	53.9823156833 (ExtendedPoll#34)
+	1755	(	2 0 4367.5750698909 2 5632.4087032645 )	53.9816128497 (ExtendedPoll#34)
+	1765	(	2 0 4367.5769053809 2 5632.4193356014 )	53.9814889495 (ExtendedPoll#34)
+	1770	(	2 0 4367.5805624212 2 5632.4182502476 )	53.9814682147 (ExtendedPoll#34)
+	1774	(	2 0 4367.5821046999 2 5632.4171280385 )	53.9814662175 (ExtendedPoll#34)
+	1778	(	2 0 4367.5818878523 2 5632.4180567321 )	53.9814586704 (ExtendedPoll#34)
+	1792	(	2 0 4367.5819056985 2 5632.4180679393 )	53.9814584017 (ExtendedPoll#34)
+	1793	(	2 0 4367.5819346476 2 5632.4180608593 )	53.9814582222 (ExtendedPoll#34)
+	1797	(	2 0 4367.5819216978 2 5632.4180774844 )	53.9814581658 (ExtendedPoll#34)
+	1803	(	2 0 4367.5819257648 2 5632.4180741356 )	53.9814581645 (ExtendedPoll#34)
+	1808	(	2 0 4367.5819244247 2 5632.4180754292 )	53.9814581630 (ExtendedPoll#34)
+	1809	(	2 0 4367.5819204043 2 5632.4180793101 )	53.9814581585 (ExtendedPoll#34)
+	1810	(	2 0 4367.5819043228 2 5632.4180948339 )	53.9814581405 (ExtendedPoll#34)
+	1811	(	2 0 4367.5818399969 2 5632.4181569287 )	53.9814580686 (ExtendedPoll#34)
+	1812	(	2 0 4367.5815826929 2 5632.4184053083 )	53.9814577808 (ExtendedPoll#34)
+	1813	(	2 0 4367.5805534773 2 5632.4193988263 )	53.9814566296 (ExtendedPoll#34)
+	1814	(	2 0 4367.5764366146 2 5632.4233728987 )	53.9814520249 (ExtendedPoll#34)
+	1815	(	2 0 4367.5599691638 2 5632.4392691879 )	53.9814336068 (ExtendedPoll#34)
+	1816	(	2 0 4367.4940993607 2 5632.5028543451 )	53.9813599484 (ExtendedPoll#34)
+	1817	(	2 0 4367.2306201483 2 5632.7571949737 )	53.9810655359 (ExtendedPoll#34)
+	1818	(	2 0 4366.1767032985 2 5633.7745574881 )	53.9798914222 (ExtendedPoll#34)
+	1819	(	2 0 4361.9610358996 2 5637.8440075457 )	53.9752515834 (ExtendedPoll#34)
+	1820	(	2 0 4345.0983663039 2 5654.1218077760 )	53.9576001475 (ExtendedPoll#34)
+	1821	(	2 0 4277.6476879210 2 5719.2330086971 )	53.9016513465 (ExtendedPoll#34)
+	1823	(	2 0 4277.6290591203 2 5719.2571811144 )	53.9015782727 (ExtendedPoll#34)
+	1824	(	2 0 4277.5731727181 2 5719.3296983663 )	53.9013590679 (ExtendedPoll#34)
+	1825	(	2 0 4277.3496271092 2 5719.6197673739 )	53.9004824970 (ExtendedPoll#34)
+	1826	(	2 0 4276.4554446736 2 5720.7800434043 )	53.8969801836 (ExtendedPoll#34)
+	1827	(	2 0 4272.8787149315 2 5725.4211475259 )	53.8830344924 (ExtendedPoll#34)
+	1828	(	2 0 4272.2449416972 2 5726.1641037669 )	53.8813532804 (ExtendedPoll#34)
+	1829	(	2 0 4270.3436219944 2 5728.3929724899 )	53.8763261624 (ExtendedPoll#34)
+	1833	(	2 0 4269.8544309447 2 5729.2382877997 )	53.8723721175 (ExtendedPoll#34)
+	1834	(	2 0 4268.9604950773 2 5730.9749800002 )	53.8632736922 (ExtendedPoll#34)
+	1845	(	2 0 4268.9281879962 2 5731.0267642928 )	53.8630526551 (ExtendedPoll#34)
+	1850	(	2 0 4268.9081672520 2 5731.0497967493 )	53.8630044126 (ExtendedPoll#34)
+	1851	(	2 0 4268.8481050197 2 5731.1188941187 )	53.8628597009 (ExtendedPoll#34)
+	1855	(	2 0 4268.9130457179 2 5731.0620335227 )	53.8628413313 (ExtendedPoll#34)
+	1856	(	2 0 4269.1078678127 2 5730.8914517347 )	53.8627863397 (ExtendedPoll#34)
+	1860	(	2 0 4268.9798523367 2 5731.0072720873 )	53.8627858887 (ExtendedPoll#34)
+	1861	(	2 0 4268.5958059087 2 5731.3547331451 )	53.8627850104 (ExtendedPoll#34)
+	1870	(	2 0 4268.5734598444 2 5731.3755169174 )	53.8627794333 (ExtendedPoll#34)
+	1871	(	2 0 4268.5064216515 2 5731.4378682344 )	53.8627627170 (ExtendedPoll#34)
+	1872	(	2 0 4268.2382688801 2 5731.6872735026 )	53.8626960762 (ExtendedPoll#34)
+	1873	(	2 0 4267.1656577944 2 5732.6848945752 )	53.8624331084 (ExtendedPoll#34)
+	1874	(	2 0 4262.8752134514 2 5736.6753788658 )	53.8614387941 (ExtendedPoll#34)
+	1875	(	2 0 4245.7134360797 2 5752.6373160280 )	53.8583843412 (ExtendedPoll#34)
+	1878	(	2 0 4247.8459166796 2 5750.8801520137 )	53.8564841075 (ExtendedPoll#34)
+	1879	(	2 0 4254.2433584792 2 5745.6086599708 )	53.8509013362 (ExtendedPoll#34)
+	1891	(	2 0 4254.3648432334 2 5745.5967180794 )	53.8499381914 (ExtendedPoll#34)
+	1896	(	2 0 4254.3884937761 2 5745.5774316250 )	53.8499159225 (ExtendedPoll#34)
+	1897	(	2 0 4254.4594454040 2 5745.5195722617 )	53.8498491302 (ExtendedPoll#34)
+	1904	(	2 0 4254.4747041982 2 5745.5195660142 )	53.8497136099 (ExtendedPoll#34)
+	1910	(	2 0 4254.4785171266 2 5745.5196821982 )	53.8496785985 (ExtendedPoll#34)
+	1913	(	2 0 4254.4745684192 2 5745.5233580070 )	53.8496778754 (ExtendedPoll#34)
+	1914	(	2 0 4254.4627222968 2 5745.5343854333 )	53.8496757065 (ExtendedPoll#34)
+	1915	(	2 0 4254.4153378073 2 5745.5784951385 )	53.8496670379 (ExtendedPoll#34)
+	1916	(	2 0 4254.2257998495 2 5745.7549339594 )	53.8496324765 (ExtendedPoll#34)
+	1917	(	2 0 4253.4676480183 2 5746.4606892429 )	53.8494960362 (ExtendedPoll#34)
+	1918	(	2 0 4250.4350406932 2 5749.2837103771 )	53.8489791731 (ExtendedPoll#34)
+	1919	(	2 0 4238.3046113928 2 5760.5757949136 )	53.8473747522 (ExtendedPoll#34)
+	1921	(	2 0 4237.9514726055 2 5760.9129400964 )	53.8472576934 (ExtendedPoll#34)
+	1922	(	2 0 4236.8920562434 2 5761.9243756450 )	53.8469104201 (ExtendedPoll#34)
+	1923	(	2 0 4232.6543907954 2 5765.9701178391 )	53.8455799016 (ExtendedPoll#34)
+	1924	(	2 0 4215.7037290030 2 5782.1530866154 )	53.8411968855 (ExtendedPoll#34)
+	1925	(	2 0 4147.9010818337 2 5846.8849617209 )	53.8388064213 (ExtendedPoll#34)
+	1927	(	2 0 4139.4939903168 2 5859.9869225266 )	53.7929039460 (ExtendedPoll#34)
+	1931	(	2 0 4134.1713187395 2 5865.6917346274 )	53.7882968215 (ExtendedPoll#34)
+	1938	(	2 0 4133.4948958932 2 5866.3963062176 )	53.7879136446 (ExtendedPoll#34)
+	1939	(	2 0 4131.4656273543 2 5868.5100209882 )	53.7867806418 (ExtendedPoll#34)
+	1949	(	2 0 4131.5933562783 2 5868.3938874275 )	53.7866942837 (ExtendedPoll#34)
+	1958	(	2 0 4131.5998202039 2 5868.3898345950 )	53.7866729850 (ExtendedPoll#34)
+	1959	(	2 0 4131.6192119808 2 5868.3776760976 )	53.7866090899 (ExtendedPoll#34)
+	1967	(	2 0 4131.6209541211 2 5868.3784525807 )	53.7865860060 (ExtendedPoll#34)
+	1972	(	2 0 4131.6214166274 2 5868.3783365570 )	53.7865828676 (ExtendedPoll#34)
+	1975	(	2 0 4131.6210066099 2 5868.3788719382 )	53.7865816357 (ExtendedPoll#34)
+	1981	(	2 0 4131.6209362583 2 5868.3789681750 )	53.7865813838 (ExtendedPoll#34)
+	1982	(	2 0 4131.6207252036 2 5868.3792568852 )	53.7865806279 (ExtendedPoll#34)
+	1986	(	2 0 4131.6206891940 2 5868.3793043828 )	53.7865805153 (ExtendedPoll#34)
+	1992	(	2 0 4131.6206796375 2 5868.3793158160 )	53.7865804962 (ExtendedPoll#34)
+	1996	(	2 0 4131.6206768768 2 5868.3793227362 )	53.7865804572 (ExtendedPoll#34)
+	2001	(	2 0 4131.6206782642 2 5868.3793214934 )	53.7865804561 (ExtendedPoll#34)
+	2003	(	2 0 4131.6206745081 2 5868.3793251876 )	53.7865804560 (ExtendedPoll#34)
+	2004	(	2 0 4131.6206632396 2 5868.3793362702 )	53.7865804559 (ExtendedPoll#34)
+	2005	(	2 0 4131.6206181660 2 5868.3793806004 )	53.7865804552 (ExtendedPoll#34)
+	2006	(	2 0 4131.6204378713 2 5868.3795579212 )	53.7865804528 (ExtendedPoll#34)
+	2007	(	2 0 4131.6197166927 2 5868.3802672046 )	53.7865804428 (ExtendedPoll#34)
+	2008	(	2 0 4131.6168319783 2 5868.3831043383 )	53.7865804032 (ExtendedPoll#34)
+	2009	(	2 0 4131.6052931206 2 5868.3944528729 )	53.7865802452 (ExtendedPoll#34)
+	2010	(	2 0 4131.5591376898 2 5868.4398470112 )	53.7865796204 (ExtendedPoll#34)
+	2011	(	2 0 4131.3745159668 2 5868.6214235646 )	53.7865772402 (ExtendedPoll#34)
+	2012	(	2 0 4130.6360290747 2 5869.3477297782 )	53.7865696199 (ExtendedPoll#34)
+	2013	(	2 0 4127.6820815062 2 5872.2529546326 )	53.7865695587 (ExtendedPoll#34)
+	2016	(	2 0 4127.6840140147 2 5872.2603352230 )	53.7864835442 (ExtendedPoll#34)
+	2017	(	2 0 4127.6898115401 2 5872.2824769939 )	53.7862255016 (ExtendedPoll#34)
+	2018	(	2 0 4127.6796235307 2 5872.3112438240 )	53.7860518834 (ExtendedPoll#34)
+	2026	(	2 0 4127.6784943469 2 5872.3148875688 )	53.7860284213 (ExtendedPoll#34)
+	2027	(	2 0 4127.6750287014 2 5872.3216844082 )	53.7859970553 (ExtendedPoll#34)
+	2033	(	2 0 4127.6738721701 2 5872.3232011194 )	53.7859935510 (ExtendedPoll#34)
+	2034	(	2 0 4127.6704025761 2 5872.3277512530 )	53.7859830384 (ExtendedPoll#34)
+	2040	(	2 0 4127.6704920471 2 5872.3287007212 )	53.7859734249 (ExtendedPoll#34)
+	2045	(	2 0 4127.6702519860 2 5872.3291127215 )	53.7859717972 (ExtendedPoll#34)
+	2046	(	2 0 4127.6695318024 2 5872.3303487226 )	53.7859669139 (ExtendedPoll#34)
+	2052	(	2 0 4127.6693723329 2 5872.3305259594 )	53.7859667262 (ExtendedPoll#34)
+	2053	(	2 0 4127.6688939242 2 5872.3310576698 )	53.7859661633 (ExtendedPoll#34)
+	2060	(	2 0 4127.6688751072 2 5872.3311142263 )	53.7859658109 (ExtendedPoll#34)
+	2062	(	2 0 4127.6689990935 2 5872.3309999936 )	53.7859657384 (ExtendedPoll#34)
+	2070	(	2 0 4127.6690021165 2 5872.3309978166 )	53.7859657310 (ExtendedPoll#34)
+	2095	(	2 0 4999.9878997345 2 5000.0092959702 )	55.9016794952 (ExtendedPoll#35)
+	2096	(	2 0 4999.9515989379 2 5000.0371838810 )	55.9016196708 (ExtendedPoll#35)
+	2097	(	2 0 4999.8063957515 2 5000.1487355238 )	55.9013804121 (ExtendedPoll#35)
+	2098	(	2 0 4999.2255830062 2 5000.5949420954 )	55.9004239959 (ExtendedPoll#35)
+	2099	(	2 0 4996.9023320246 2 5002.3797683814 )	55.8966082342 (ExtendedPoll#35)
+	2100	(	2 0 4987.6093280984 2 5009.5190735258 )	55.8815039246 (ExtendedPoll#35)
+	2101	(	2 0 4950.4373123937 2 5038.0762941031 )	55.8236448341 (ExtendedPoll#35)
+	2102	(	2 0 4801.7492495748 2 5152.3051764124 )	55.6343152023 (ExtendedPoll#35)
+	2103	(	2 0 4206.9969982993 2 5609.2207056496 )	55.6253373563 (ExtendedPoll#35)
+	2107	(	2 0 4217.9971862258 2 5610.1214654550 )	55.5187948731 (ExtendedPoll#35)
+	2108	(	2 0 4250.9977500050 2 5612.8237448711 )	55.2000072940 (ExtendedPoll#35)
+	2109	(	2 0 4279.8220637775 2 5600.5952481192 )	55.0710067569 (ExtendedPoll#35)
+	2110	(	2 0 4366.2950050949 2 5563.9097578633 )	54.6951789859 (ExtendedPoll#35)
+	2114	(	2 0 4393.3723907599 2 5548.1874048965 )	54.6249740689 (ExtendedPoll#35)
+	2115	(	2 0 4474.6045477550 2 5501.0203459961 )	54.4266469861 (ExtendedPoll#35)
+	2117	(	2 0 4525.2654628702 2 5464.3348557403 )	54.3900963042 (ExtendedPoll#35)
+	2123	(	2 0 4514.4563452056 2 5483.6602479286 )	54.2742359116 (ExtendedPoll#35)
+	2124	(	2 0 4491.7462798091 2 5505.0601172445 )	54.2385084897 (ExtendedPoll#35)
+	2125	(	2 0 4423.6160836196 2 5569.2597251923 )	54.1460338788 (ExtendedPoll#35)
+	2126	(	2 0 4151.0952988618 2 5826.0581569833 )	54.0054730693 (ExtendedPoll#35)
+	2132	(	2 0 4119.6505929283 2 5880.2129283134 )	53.7862527117 (ExtendedPoll#35)
+	2150	(	2 0 4119.5665931846 2 5880.3014995623 )	53.7862021958 (ExtendedPoll#35)
+	2151	(	2 0 4119.3145939537 2 5880.5672133090 )	53.7860509080 (ExtendedPoll#35)
+	2152	(	2 0 4118.3065970302 2 5881.6300682960 )	53.7854496575 (ExtendedPoll#35)
+	2163	(	2 0 4118.3108711544 2 5881.6602849630 )	53.7851316932 (ExtendedPoll#35)
+	2171	(	2 0 4118.3198847115 2 5881.6662155602 )	53.7849945777 (ExtendedPoll#35)
+	2172	(	2 0 4118.3348277986 2 5881.6631276284 )	53.7848865134 (ExtendedPoll#35)
+	2174	(	2 0 4118.3462668702 2 5881.6530292707 )	53.7848751796 (ExtendedPoll#35)
+	2183	(	2 0 4118.3455932557 2 5881.6537043543 )	53.7848751047 (ExtendedPoll#35)
+	2184	(	2 0 4118.3435724122 2 5881.6557296052 )	53.7848748801 (ExtendedPoll#35)
+	2185	(	2 0 4118.3354890381 2 5881.6638306090 )	53.7848739818 (ExtendedPoll#35)
+	2186	(	2 0 4118.3031555418 2 5881.6962346240 )	53.7848703922 (ExtendedPoll#35)
+	2187	(	2 0 4118.1738215565 2 5881.8258506839 )	53.7848560937 (ExtendedPoll#35)
+	2197	(	2 0 4118.1735085463 2 5881.8262104036 )	53.7848556344 (ExtendedPoll#35)
+	2198	(	2 0 4118.1725695157 2 5881.8272895629 )	53.7848542566 (ExtendedPoll#35)
+	2207	(	2 0 4118.1726545887 2 5881.8272060557 )	53.7848542498 (ExtendedPoll#35)
+	2208	(	2 0 4118.1729098077 2 5881.8269555344 )	53.7848542294 (ExtendedPoll#35)
+	2209	(	2 0 4118.1739306837 2 5881.8259534489 )	53.7848541479 (ExtendedPoll#35)
+	2210	(	2 0 4118.1780141879 2 5881.8219451070 )	53.7848538220 (ExtendedPoll#35)
+	2226	(	2 0 4118.1780093963 2 5881.8219592167 )	53.7848537356 (ExtendedPoll#35)
+	2227	(	2 0 4118.1779950216 2 5881.8220015460 )	53.7848534763 (ExtendedPoll#35)
+	2234	(	2 0 4118.1779947385 2 5881.8220052606 )	53.7848534446 (ExtendedPoll#35)
+	2249	(	2 0 4168.4622208673 2 5740.6975175468 )	54.6654457702 (ExtendedPoll#36)
+	2250	(	2 0 3937.8677106876 2 6034.1814395937 )	54.1025876908 (ExtendedPoll#36)
+	2258	(	2 0 3968.8756845943 2 6029.8141193251 )	53.8471893590 (ExtendedPoll#36)
+	2266	(	2 0 3966.3440036262 2 6032.7893562581 )	53.8453293272 (ExtendedPoll#36)
+	2272	(	2 0 3967.2852805629 2 6032.5287671287 )	53.8387026417 (ExtendedPoll#36)
+	2275	(	2 0 3966.9613567598 2 6032.8941676795 )	53.8385991104 (ExtendedPoll#36)
+	2276	(	2 0 3965.9895853505 2 6033.9903693319 )	53.8382928991 (ExtendedPoll#36)
+	2288	(	2 0 3966.0039197226 2 6033.9851390276 )	53.8382028409 (ExtendedPoll#36)
+	2289	(	2 0 3966.0291479677 2 6033.9679675607 )	53.8381131770 (ExtendedPoll#36)
+	2295	(	2 0 3966.0378553973 2 6033.9615960721 )	53.8380860741 (ExtendedPoll#36)
+	2307	(	2 0 3966.0380469160 2 6033.9618735742 )	53.8380818691 (ExtendedPoll#36)
+	2312	(	2 0 3966.0381004053 2 6033.9618472758 )	53.8380815916 (ExtendedPoll#36)
+	2317	(	2 0 3966.0381302064 2 6033.9618470067 )	53.8380813128 (ExtendedPoll#36)
+	2322	(	2 0 3966.0381451069 2 6033.9618471499 )	53.8380811710 (ExtendedPoll#36)
+	2327	(	2 0 3966.0381513080 2 6033.9618430199 )	53.8380811481 (ExtendedPoll#36)
+	2329	(	2 0 3966.0381381930 2 6033.9618595149 )	53.8380811293 (ExtendedPoll#36)
+	2334	(	2 0 3966.0381418784 2 6033.9618557502 )	53.8380811271 (ExtendedPoll#36)
+	2335	(	2 0 3966.0381529347 2 6033.9618444560 )	53.8380811204 (ExtendedPoll#36)
+	2336	(	2 0 3966.0381971599 2 6033.9617992793 )	53.8380810935 (ExtendedPoll#36)
+	2337	(	2 0 3966.0383740607 2 6033.9616185725 )	53.8380809858 (ExtendedPoll#36)
+	2338	(	2 0 3966.0390816638 2 6033.9608957451 )	53.8380805552 (ExtendedPoll#36)
+	2339	(	2 0 3966.0419120761 2 6033.9580044356 )	53.8380788327 (ExtendedPoll#36)
+	2340	(	2 0 3966.0532337255 2 6033.9464391976 )	53.8380719433 (ExtendedPoll#36)
+	2341	(	2 0 3966.0985203229 2 6033.9001782457 )	53.8380443936 (ExtendedPoll#36)
+	2342	(	2 0 3966.2796667126 2 6033.7151344380 )	53.8379343190 (ExtendedPoll#36)
+	2343	(	2 0 3967.0042522715 2 6032.9749592074 )	53.8374960138 (ExtendedPoll#36)
+	2344	(	2 0 3969.9025945070 2 6030.0142582847 )	53.8357746693 (ExtendedPoll#36)
+	2345	(	2 0 3981.4959634492 2 6018.1714545940 )	53.8293988351 (ExtendedPoll#36)
+	2346	(	2 0 4027.8694392178 2 5970.8002398312 )	53.8120165816 (ExtendedPoll#36)
+	2348	(	2 0 4027.8996279793 2 5970.7957732839 )	53.8117751288 (ExtendedPoll#36)
+	2349	(	2 0 4027.9901942637 2 5970.7823736422 )	53.8110507797 (ExtendedPoll#36)
+	2350	(	2 0 4028.3524594017 2 5970.7287750751 )	53.8081535202 (ExtendedPoll#36)
+	2351	(	2 0 4028.5782890972 2 5970.8215646372 )	53.8052259801 (ExtendedPoll#36)
+	2352	(	2 0 4029.0659874104 2 5970.8447020517 )	53.8004791353 (ExtendedPoll#36)
+	2360	(	2 0 4029.1224148462 2 5970.8679660822 )	53.7997469853 (ExtendedPoll#36)
+	2368	(	2 0 4029.1289146169 2 5970.8639709871 )	53.7997219690 (ExtendedPoll#36)
+	2372	(	2 0 4029.1327113864 2 5970.8636015775 )	53.7996898997 (ExtendedPoll#36)
+	2377	(	2 0 4029.1345329350 2 5970.8641672091 )	53.7996679124 (ExtendedPoll#36)
+	2379	(	2 0 4029.1361890843 2 5970.8632210851 )	53.7996608999 (ExtendedPoll#36)
+	2385	(	2 0 4029.1366590260 2 5970.8631402857 )	53.7996572423 (ExtendedPoll#36)
+	2389	(	2 0 4029.1368554851 2 5970.8630052034 )	53.7996566135 (ExtendedPoll#36)
+	2390	(	2 0 4029.1372198865 2 5970.8626976562 )	53.7996559536 (ExtendedPoll#36)
+	2401	(	2 0 4029.1372434032 2 5970.8627159631 )	53.7996555720 (ExtendedPoll#36)
+	2402	(	2 0 4029.1372160758 2 5970.8627689341 )	53.7996553557 (ExtendedPoll#36)
+	2408	(	2 0 4029.1372107574 2 5970.8627828538 )	53.7996552815 (ExtendedPoll#36)
+	2411	(	2 0 4029.1372020883 2 5970.8627949737 )	53.7996552545 (ExtendedPoll#36)
+	2415	(	2 0 4029.1371973626 2 5970.8628007338 )	53.7996552473 (ExtendedPoll#36)
+	2422	(	2 0 4029.1371969852 2 5970.8628025579 )	53.7996552346 (ExtendedPoll#36)
+	2424	(	2 0 4029.1372006890 2 5970.8627988111 )	53.7996552334 (ExtendedPoll#36)
+	2425	(	2 0 4029.1372118001 2 5970.8627875709 )	53.7996552298 (ExtendedPoll#36)
+	2426	(	2 0 4029.1372562449 2 5970.8627426102 )	53.7996552156 (ExtendedPoll#36)
+	2427	(	2 0 4029.1374340239 2 5970.8625627674 )	53.7996551585 (ExtendedPoll#36)
+	2428	(	2 0 4029.1381451401 2 5970.8618433959 )	53.7996549302 (ExtendedPoll#36)
+	2429	(	2 0 4029.1409896047 2 5970.8589659099 )	53.7996540170 (ExtendedPoll#36)
+	2430	(	2 0 4029.1523674632 2 5970.8474559659 )	53.7996503647 (ExtendedPoll#36)
+	2431	(	2 0 4029.1978788972 2 5970.8014161900 )	53.7996357631 (ExtendedPoll#36)
+	2432	(	2 0 4029.3799246331 2 5970.6172570866 )	53.7995774796 (ExtendedPoll#36)
+	2433	(	2 0 4030.1081075767 2 5969.8806206727 )	53.7993463077 (ExtendedPoll#36)
+	2434	(	2 0 4033.0208393511 2 5966.9340750174 )	53.7984530101 (ExtendedPoll#36)
+	2435	(	2 0 4044.6717664489 2 5955.1478923961 )	53.7953815270 (ExtendedPoll#36)
+	2436	(	2 0 4091.2754748399 2 5908.0031619108 )	53.7910882360 (ExtendedPoll#36)
+	2439	(	2 0 4091.3024169829 2 5908.0174949293 )	53.7907097823 (ExtendedPoll#36)
+	2440	(	2 0 4091.3832434122 2 5908.0604939849 )	53.7895744291 (ExtendedPoll#36)
+	2441	(	2 0 4091.7065491291 2 5908.2324902073 )	53.7850331320 (ExtendedPoll#36)
+	2444	(	2 0 4091.7062625770 2 5908.2935241345 )	53.7844786297 (ExtendedPoll#36)
+	2461	(	2 0 4091.7061814853 2 5908.2937483387 )	53.7844773284 (ExtendedPoll#36)
+	2468	(	2 0 4091.7061774429 2 5908.2938078061 )	53.7844768227 (ExtendedPoll#36)
+	2471	(	2 0 4091.7061404988 2 5908.2938545806 )	53.7844767353 (ExtendedPoll#36)
+	2480	(	2 0 4091.7061392073 2 5908.2938580748 )	53.7844767152 (ExtendedPoll#36)
+	2485	(	2 0 4091.7061402086 2 5908.2938596455 )	53.7844766917 (ExtendedPoll#36)
+	2502	(	2 0 4996.9428758120 2 5002.4361458373 )	55.8956087809 (ExtendedPoll#37)
+	2503	(	2 0 4987.7715032480 2 5009.7445833492 )	55.8775091797 (ExtendedPoll#37)
+	2504	(	2 0 4951.0860129922 2 5038.9783333968 )	55.8077152532 (ExtendedPoll#37)
+	2505	(	2 0 4804.3440519688 2 5155.9133335874 )	55.5714059083 (ExtendedPoll#37)
+	2506	(	2 0 4217.3762078751 2 5623.6533343496 )	55.3875012518 (ExtendedPoll#37)
+	2508	(	2 0 4161.4745084376 2 5735.4567332245 )	54.7792090326 (ExtendedPoll#37)
+	2512	(	2 0 4301.2287570313 2 5616.6656219199 )	54.7199123025 (ExtendedPoll#37)
+	2518	(	2 0 4362.3712407911 2 5630.6410467792 )	54.0447637843 (ExtendedPoll#37)
+	2523	(	2 0 4360.6789041870 2 5638.2565614975 )	53.9822178137 (ExtendedPoll#37)
+	2527	(	2 0 4357.7855545091 2 5640.8837775966 )	53.9807745427 (ExtendedPoll#37)
+	2528	(	2 0 4349.1055054753 2 5648.7654258937 )	53.9766818176 (ExtendedPoll#37)
+	2529	(	2 0 4314.3853093403 2 5680.2920190824 )	53.9638836443 (ExtendedPoll#37)
+	2531	(	2 0 4293.8589040781 2 5703.8755485326 )	53.9100589240 (ExtendedPoll#37)
+	2537	(	2 0 4288.6181197559 2 5709.6895436401 )	53.8988093078 (ExtendedPoll#37)
+	2541	(	2 0 4286.0250233464 2 5712.6101890697 )	53.8928738710 (ExtendedPoll#37)
+	2542	(	2 0 4278.2457341180 2 5721.3721253585 )	53.8753278023 (ExtendedPoll#37)
+	2551	(	2 0 4278.6875840983 2 5721.1643151240 )	53.8734640832 (ExtendedPoll#37)
+	2555	(	2 0 4278.5548371810 2 5721.3692198536 )	53.8726233086 (ExtendedPoll#37)
+	2563	(	2 0 4278.5803407327 2 5721.3524598889 )	53.8725625799 (ExtendedPoll#37)
+	2564	(	2 0 4278.6568513877 2 5721.3021799948 )	53.8723804067 (ExtendedPoll#37)
+	2569	(	2 0 4278.6854324587 2 5721.3128786333 )	53.8720225267 (ExtendedPoll#37)
+	2577	(	2 0 4278.6872107890 2 5721.3121890539 )	53.8720135829 (ExtendedPoll#37)
+	2579	(	2 0 4278.6834607716 2 5721.3160673533 )	53.8720086108 (ExtendedPoll#37)
+	2580	(	2 0 4278.6722107195 2 5721.3277022515 )	53.8719936947 (ExtendedPoll#37)
+	2589	(	2 0 4278.6723989724 2 5721.3275559496 )	53.8719934685 (ExtendedPoll#37)
+	2591	(	2 0 4278.6719110434 2 5721.3280214306 )	53.8719932064 (ExtendedPoll#37)
+	2592	(	2 0 4278.6704472565 2 5721.3294178739 )	53.8719924200 (ExtendedPoll#37)
+	2593	(	2 0 4278.6645921088 2 5721.3350036468 )	53.8719892745 (ExtendedPoll#37)
+	2594	(	2 0 4278.6411715181 2 5721.3573467387 )	53.8719766944 (ExtendedPoll#37)
+	2595	(	2 0 4278.5474891555 2 5721.4467191061 )	53.8719264022 (ExtendedPoll#37)
+	2596	(	2 0 4278.1727597049 2 5721.8042085755 )	53.8717256857 (ExtendedPoll#37)
+	2597	(	2 0 4276.6738419026 2 5723.2341664534 )	53.8709300560 (ExtendedPoll#37)
+	2598	(	2 0 4270.6781706935 2 5728.9539979649 )	53.8678634044 (ExtendedPoll#37)
+	2599	(	2 0 4246.6954858570 2 5751.8333240110 )	53.8574561057 (ExtendedPoll#37)
+	2600	(	2 0 4150.7647465111 2 5843.3506281954 )	53.8459142947 (ExtendedPoll#37)
+	2603	(	2 0 4151.0319463303 2 5843.7593181024 )	53.8396594450 (ExtendedPoll#37)
+	2604	(	2 0 4151.8335457878 2 5844.9853878233 )	53.8208980002 (ExtendedPoll#37)
+	2605	(	2 0 4153.3279881922 2 5846.2426983850 )	53.7955624715 (ExtendedPoll#37)
+	2609	(	2 0 4153.1058903377 2 5846.6776178033 )	53.7935050825 (ExtendedPoll#37)
+	2611	(	2 0 4152.8591623323 2 5847.0989959699 )	53.7917987292 (ExtendedPoll#37)
+	2620	(	2 0 4152.8542659569 2 5847.1291180913 )	53.7915611730 (ExtendedPoll#37)
+	2622	(	2 0 4152.9186835311 2 5847.0716643992 )	53.7915145196 (ExtendedPoll#37)
+	2626	(	2 0 4152.8895239414 2 5847.1034820926 )	53.7914812417 (ExtendedPoll#37)
+	2631	(	2 0 4152.8811001224 2 5847.1162049217 )	53.7914385729 (ExtendedPoll#37)
+	2634	(	2 0 4152.8973868388 2 5847.1020486033 )	53.7914233161 (ExtendedPoll#37)
+	2643	(	2 0 4152.8955121262 2 5847.1039880394 )	53.7914221706 (ExtendedPoll#37)
+	2644	(	2 0 4152.8898879885 2 5847.1098063475 )	53.7914187344 (ExtendedPoll#37)
+	2652	(	2 0 4152.8896638419 2 5847.1102272180 )	53.7914168283 (ExtendedPoll#37)
+	2661	(	2 0 4152.8897034201 2 5847.1102717856 )	53.7914160520 (ExtendedPoll#37)
+	2665	(	2 0 4152.8897151731 2 5847.1102626252 )	53.7914160311 (ExtendedPoll#37)
+	2666	(	2 0 4152.8897504319 2 5847.1102351440 )	53.7914159684 (ExtendedPoll#37)
+	2670	(	2 0 4152.8897404990 2 5847.1102462518 )	53.7914159546 (ExtendedPoll#37)
+	2671	(	2 0 4152.8897107004 2 5847.1102795751 )	53.7914159130 (ExtendedPoll#37)
+	2675	(	2 0 4152.8897044864 2 5847.1102931188 )	53.7914158426 (ExtendedPoll#37)
+	2681	(	2 0 4152.8897024353 2 5847.1102962286 )	53.7914158321 (ExtendedPoll#37)
+	2686	(	2 0 4152.8897041880 2 5847.1102955980 )	53.7914158221 (ExtendedPoll#37)
+	2695	(	2 0 4152.8897041652 2 5847.1102957121 )	53.7914158212 (ExtendedPoll#37)
+	2698	(	2 0 4152.8897042523 2 5847.1102956349 )	53.7914158212 (ExtendedPoll#37)
+	2699	(	2 0 4152.8897045137 2 5847.1102954032 )	53.7914158210 (ExtendedPoll#37)
+	2700	(	2 0 4152.8897048775 2 5847.1102951127 )	53.7914158204 (ExtendedPoll#37)
+	2760	(	3 0 3333.3333333249 2 3333.3333333165 1 3333.3333333555 )	47.1682905221
+	2761	(	3 0 3333.3333332996 2 3333.3333332658 1 3333.3333334220 )	47.1682905221
+	2762	(	3 0 3333.3333331985 2 3333.3333330633 1 3333.3333336880 )	47.1682905221
+	2763	(	3 0 3333.3333327939 2 3333.3333322533 1 3333.3333347518 )	47.1682905219
+	2764	(	3 0 3333.3333311757 2 3333.3333290134 1 3333.3333390073 )	47.1682905212
+	2765	(	3 0 3333.3333247026 2 3333.3333160534 1 3333.3333560290 )	47.1682905185
+	2766	(	3 0 3333.3332988105 2 3333.3332642138 1 3333.3334241161 )	47.1682905075
+	2767	(	3 0 3333.3331952421 2 3333.3330568551 1 3333.3336964646 )	47.1682904637
+	2768	(	3 0 3333.3327809684 2 3333.3322274206 1 3333.3347858583 )	47.1682902884
+	2769	(	3 0 3333.3311238738 2 3333.3289096824 1 3333.3391434333 )	47.1682895873
+	2770	(	3 0 3333.3244954951 2 3333.3156387294 1 3333.3565737331 )	47.1682867830
+	2771	(	3 0 3333.2979819803 2 3333.2625549176 1 3333.4262949324 )	47.1682755667
+	2772	(	3 0 3333.1919279212 2 3333.0502196704 1 3333.7051797296 )	47.1682307194
+	2773	(	3 0 3332.7677116849 2 3332.2008786818 1 3334.8207189184 )	47.1680516124
+	2774	(	3 0 3331.0708467397 2 3328.8035147270 1 3339.2828756735 )	47.1673397044
+	2775	(	3 0 3324.2833869587 2 3315.2140589080 1 3357.1315026938 )	47.1645644377
+	2776	(	3 0 3297.1335478348 2 3260.8562356320 1 3428.5260107754 )	47.1546240959
+	2777	(	3 0 3188.5341913391 2 3043.4249425281 1 3714.1040431015 )	47.1336301248
+	2782	(	3 0 3188.5440963277 2 3043.4291749044 1 3714.1116982164 )	47.1334189419
+	2783	(	3 0 3188.5738112936 2 3043.4418720333 1 3714.1346635611 )	47.1327853954
+	2784	(	3 0 3188.6926711573 2 3043.4926605491 1 3714.2265249397 )	47.1302512441
+	2785	(	3 0 3189.1681106120 2 3043.6958146122 1 3714.5939704540 )	47.1201151932
+	2786	(	3 0 3191.0698684310 2 3044.5084308647 1 3716.0637525116 )	47.0795798665
+	2787	(	3 0 3198.6768997067 2 3047.7588958743 1 3721.9428807416 )	46.9175811367
+	2788	(	3 0 3198.8948848743 2 3047.5863280381 1 3722.3442473958 )	46.9131329647
+	2789	(	3 0 3199.5488403769 2 3047.0686245294 1 3723.5483473581 )	46.8997895433
+	2790	(	3 0 3202.1646623876 2 3044.9978104945 1 3728.3647472073 )	46.8464322782
+	2791	(	3 0 3212.6279504301 2 3036.7145543550 1 3747.6303466044 )	46.6332660653
+	2802	(	2 0 4900.6584516792 2 5075.3512624213 )	55.7642295241 (ExtendedPoll#39)
+	2803	(	2 0 4607.1745296323 2 5305.9457726010 )	55.4472050367 (ExtendedPoll#39)
+	2809	(	2 0 4509.3465556167 2 5389.7983217572 )	55.3312037272 (ExtendedPoll#39)
+	2810	(	2 0 4215.8626335698 2 5641.3559692260 )	55.2227885943 (ExtendedPoll#39)
+	2812	(	2 0 3880.4524369449 2 6088.5695647259 )	54.1867250496 (ExtendedPoll#39)
+	2821	(	2 0 3865.6035480318 2 6116.0836824178 )	54.0994049526 (ExtendedPoll#39)
+	2826	(	2 0 3858.1791035753 2 6129.8407412638 )	54.0570067200 (ExtendedPoll#39)
+	2831	(	2 0 3865.9856885553 2 6129.2948262302 )	53.9862513494 (ExtendedPoll#39)
+	2837	(	2 0 3867.9219809400 2 6129.0355165892 )	53.9697415456 (ExtendedPoll#39)
+	2838	(	2 0 3871.2247668931 2 6126.9473915858 )	53.9552082161 (ExtendedPoll#39)
+	2843	(	2 0 3872.9461052333 2 6126.0261599667 )	53.9462662728 (ExtendedPoll#39)
+	2847	(	2 0 3873.9223548519 2 6126.0547352067 )	53.9366367060 (ExtendedPoll#39)
+	2859	(	2 0 3873.9150839053 2 6126.0681502590 )	53.9365956057 (ExtendedPoll#39)
+	2860	(	2 0 3873.9023656577 2 6126.0958912493 )	53.9364883221 (ExtendedPoll#39)
+	2867	(	2 0 3873.8992381518 2 6126.1002869850 )	53.9364820231 (ExtendedPoll#39)
+	2878	(	2 0 3873.8993365564 2 6126.1005041485 )	53.9364792786 (ExtendedPoll#39)
+	2882	(	2 0 3873.8994440785 2 6126.1004526718 )	53.9364786703 (ExtendedPoll#39)
+	2885	(	2 0 3873.8995441434 2 6126.1003878808 )	53.9364782440 (ExtendedPoll#39)
+	2886	(	2 0 3873.8997141999 2 6126.1002207754 )	53.9364779912 (ExtendedPoll#39)
+	2887	(	2 0 3873.9002243693 2 6126.0997194591 )	53.9364772329 (ExtendedPoll#39)
+	2888	(	2 0 3873.9022650468 2 6126.0977141941 )	53.9364741996 (ExtendedPoll#39)
+	2895	(	2 0 3873.9023564295 2 6126.0976376432 )	53.9364739541 (ExtendedPoll#39)
+	2904	(	2 0 3873.9023666523 2 6126.0976268016 )	53.9364739455 (ExtendedPoll#39)
+	2905	(	2 0 3873.9023973206 2 6126.0975942769 )	53.9364739197 (ExtendedPoll#39)
+	2906	(	2 0 3873.9025199938 2 6126.0974641781 )	53.9364738164 (ExtendedPoll#39)
+	2907	(	2 0 3873.9030106867 2 6126.0969437827 )	53.9364734034 (ExtendedPoll#39)
+	2908	(	2 0 3873.9049734581 2 6126.0948622015 )	53.9364717515 (ExtendedPoll#39)
+	2909	(	2 0 3873.9128245438 2 6126.0865358764 )	53.9364651438 (ExtendedPoll#39)
+	2910	(	2 0 3873.9442288869 2 6126.0532305760 )	53.9364387171 (ExtendedPoll#39)
+	2911	(	2 0 3874.0698462589 2 6125.9200093744 )	53.9363330745 (ExtendedPoll#39)
+	2912	(	2 0 3874.5723157471 2 6125.3871245682 )	53.9359115277 (ExtendedPoll#39)
+	2913	(	2 0 3876.5821937000 2 6123.2555853431 )	53.9342417174 (ExtendedPoll#39)
+	2914	(	2 0 3884.6217055116 2 6114.7294284431 )	53.9278243645 (ExtendedPoll#39)
+	2915	(	2 0 3916.7797527577 2 6080.6248008429 )	53.9063357782 (ExtendedPoll#39)
+	2916	(	2 0 4045.4119417422 2 5944.2062904420 )	53.8866188839 (ExtendedPoll#39)
+	2919	(	2 0 4045.5215045970 2 5944.2601089211 )	53.8851192623 (ExtendedPoll#39)
+	2920	(	2 0 4045.8501931615 2 5944.4215643586 )	53.8806205222 (ExtendedPoll#39)
+	2921	(	2 0 4047.1649474193 2 5945.0673861082 )	53.8626274298 (ExtendedPoll#39)
+	2922	(	2 0 4048.1386380613 2 5945.1403169447 )	53.8529449201 (ExtendedPoll#39)
+	2923	(	2 0 4051.0597099870 2 5945.3591094543 )	53.8239051878 (ExtendedPoll#39)
+	2926	(	2 0 4052.9055851942 2 5944.7227772433 )	53.8125206018 (ExtendedPoll#39)
+	2931	(	2 0 4053.8541125651 2 5944.9547911326 )	53.8016493716 (ExtendedPoll#39)
+	2934	(	2 0 4054.7420774868 2 5944.5483403302 )	53.7970783073 (ExtendedPoll#39)
+	2940	(	2 0 4055.1565250914 2 5944.8064771068 )	53.7909201097 (ExtendedPoll#39)
+	2949	(	2 0 4055.1705529195 2 5944.8124812684 )	53.7907362425 (ExtendedPoll#39)
+	2954	(	2 0 4055.1759264999 2 5944.8178972016 )	53.7906378043 (ExtendedPoll#39)
+	2955	(	2 0 4055.1662131965 2 5944.8296651001 )	53.7906219881 (ExtendedPoll#39)
+	2959	(	2 0 4055.1612269352 2 5944.8354395879 )	53.7906162644 (ExtendedPoll#39)
+	2960	(	2 0 4055.1462681513 2 5944.8527630512 )	53.7905990941 (ExtendedPoll#39)
+	2966	(	2 0 4055.1439936051 2 5944.8558254594 )	53.7905926341 (ExtendedPoll#39)
+	2972	(	2 0 4055.1459887350 2 5944.8540101306 )	53.7905904735 (ExtendedPoll#39)
+	2994	(	2 0 4055.1459891780 2 5944.8540106179 )	53.7905904650 (ExtendedPoll#39)
+	2996	(	2 0 4055.1459895782 2 5944.8540103798 )	53.7905904635 (ExtendedPoll#39)
+	3007	(	2 0 4055.1459895943 2 5944.8540104040 )	53.7905904631 (ExtendedPoll#39)
+	3013	(	3 0 3210.5286604494 2 3038.4216692843 1 3750.4447793258 )	46.6015154107
+	3024	(	2 0 4692.2382076236 2 5223.3043522798 )	55.6902400114 (ExtendedPoll#40)
+	3032	(	2 0 4751.6337632759 2 5242.5205614614 )	54.9900785314 (ExtendedPoll#40)
+	3041	(	2 0 4744.8371211080 2 5251.2279062468 )	54.9451839171 (ExtendedPoll#40)
+	3042	(	2 0 4735.4473825306 2 5263.6747690122 )	54.8789033947 (ExtendedPoll#40)
+	3051	(	2 0 4734.9854872326 2 5264.5350116862 )	54.8728327514 (ExtendedPoll#40)
+	3052	(	2 0 4733.7844741588 2 5266.0755156716 )	54.8649914704 (ExtendedPoll#40)
+	3057	(	2 0 4733.0120896855 2 5266.6730367357 )	54.8644320425 (ExtendedPoll#40)
+	3058	(	2 0 4730.6949362657 2 5268.4655999279 )	54.8627657851 (ExtendedPoll#40)
+	3059	(	2 0 4721.4263225864 2 5275.6358526969 )	54.8562814361 (ExtendedPoll#40)
+	3060	(	2 0 4684.3518678691 2 5304.3168637731 )	54.8332529571 (ExtendedPoll#40)
+	3061	(	2 0 4536.0540490000 2 5419.0409080777 )	54.7888275928 (ExtendedPoll#40)
+	3064	(	2 0 4533.8703888657 2 5450.0488819844 )	54.4714998393 (ExtendedPoll#40)
+	3067	(	2 0 4509.4133953618 2 5469.7018231929 )	54.4660067399 (ExtendedPoll#40)
+	3068	(	2 0 4436.0424148501 2 5528.6606468184 )	54.4633610125 (ExtendedPoll#40)
+	3071	(	2 0 4390.6222840571 2 5570.5869213965 )	54.4160608763 (ExtendedPoll#40)
+	3072	(	2 0 4254.3618916782 2 5696.3657451309 )	54.3333134172 (ExtendedPoll#40)
+	3076	(	2 0 4163.5216300923 2 5787.2060067168 )	54.2619287838 (ExtendedPoll#40)
+	3082	(	2 0 4151.2931333404 2 5848.3484904766 )	53.7943165716 (ExtendedPoll#40)
+	3098	(	2 0 4151.1660641526 2 5848.5569671112 )	53.7935193903 (ExtendedPoll#40)
+	3099	(	2 0 4150.7848565894 2 5849.1823970151 )	53.7911289956 (ExtendedPoll#40)
+	3104	(	2 0 4150.6155109737 2 5849.3582466966 )	53.7910215159 (ExtendedPoll#40)
+	3105	(	2 0 4150.1074741268 2 5849.8857957410 )	53.7907001042 (ExtendedPoll#40)
+	3120	(	2 0 4150.1089861817 2 5849.8869583539 )	53.7906755049 (ExtendedPoll#40)
+	3121	(	2 0 4150.1127107275 2 5849.8861339310 )	53.7906493993 (ExtendedPoll#40)
+	3125	(	2 0 4150.1143060889 2 5849.8850885612 )	53.7906446904 (ExtendedPoll#40)
+	3126	(	2 0 4150.1171485655 2 5849.8825445004 )	53.7906426731 (ExtendedPoll#40)
+	3132	(	2 0 4150.1178834653 2 5849.8819367039 )	53.7906416845 (ExtendedPoll#40)
+	3143	(	2 0 4150.1179323692 2 5849.8819026286 )	53.7906415591 (ExtendedPoll#40)
+	3144	(	2 0 4150.1180790807 2 5849.8818004026 )	53.7906411831 (ExtendedPoll#40)
+	3145	(	2 0 4150.1182616331 2 5849.8816470466 )	53.7906409597 (ExtendedPoll#40)
+	3146	(	2 0 4150.1188092902 2 5849.8811869788 )	53.7906402897 (ExtendedPoll#40)
+	3160	(	2 0 4150.1188123412 2 5849.8811848413 )	53.7906402820 (ExtendedPoll#40)
+	3161	(	2 0 4150.1188214943 2 5849.8811784287 )	53.7906402588 (ExtendedPoll#40)
+	3171	(	2 0 4150.1188216858 2 5849.8811782962 )	53.7906402583 (ExtendedPoll#40)
+	3198	(	2 0 4999.8309411913 2 5000.1672333819 )	55.9009656850 (ExtendedPoll#41)
+	3200	(	2 0 4999.4491205399 2 5000.4715383635 )	55.9002031428 (ExtendedPoll#41)
+	3201	(	2 0 4998.3036585857 2 5001.3844533083 )	55.8979182003 (ExtendedPoll#41)
+	3202	(	2 0 4993.7218107688 2 5005.0361130876 )	55.8888187275 (ExtendedPoll#41)
+	3203	(	2 0 4975.3944195012 2 5019.6427522045 )	55.8530679233 (ExtendedPoll#41)
+	3204	(	2 0 4902.0848544307 2 5078.0693086723 )	55.7205670458 (ExtendedPoll#41)
+	3205	(	2 0 4608.8465941490 2 5311.7755345433 )	55.3681229992 (ExtendedPoll#41)
+	3207	(	2 0 4583.9528686182 2 5330.5550116980 )	55.3637996156 (ExtendedPoll#41)
+	3208	(	2 0 4509.2716920260 2 5386.8934431624 )	55.3635911500 (ExtendedPoll#41)
+	3210	(	2 0 4432.4068552994 2 5484.7214171780 )	54.9584061960 (ExtendedPoll#41)
+	3211	(	2 0 4201.8123451197 2 5778.2053392249 )	54.0036331278 (ExtendedPoll#41)
+	3223	(	2 0 4200.8569938110 2 5785.9573327015 )	53.9378132020 (ExtendedPoll#41)
+	3224	(	2 0 4192.2315362806 2 5799.0592935072 )	53.8900546358 (ExtendedPoll#41)
+	3232	(	2 0 4194.7836890625 2 5802.0140586264 )	53.8389301385 (ExtendedPoll#41)
+	3234	(	2 0 4192.4430783561 2 5805.1394221936 )	53.8302201837 (ExtendedPoll#41)
+	3235	(	2 0 4185.4212462368 2 5814.5155128951 )	53.8043694686 (ExtendedPoll#41)
+	3251	(	2 0 4185.4407963358 2 5814.5389460247 )	53.8039710219 (ExtendedPoll#41)
+	3257	(	2 0 4185.4480076188 2 5814.5364550417 )	53.8039296544 (ExtendedPoll#41)
+	3258	(	2 0 4185.4696414679 2 5814.5289820924 )	53.8038055528 (ExtendedPoll#41)
+	3261	(	2 0 4185.4807342197 2 5814.5185044072 )	53.8038049529 (ExtendedPoll#41)
+	3270	(	2 0 4185.4816714853 2 5814.5183282598 )	53.8037981763 (ExtendedPoll#41)
+	3288	(	2 0 4185.4816706336 2 5814.5183292645 )	53.8037981745 (ExtendedPoll#41)
+	3292	(	2 0 4185.4816710094 2 5814.5183289895 )	53.8037981737 (ExtendedPoll#41)
+	3309	(	2 0 4901.8695805142 2 5076.5623912563 )	55.7402643064 (ExtendedPoll#42)
+	3310	(	2 0 4608.3856584673 2 5307.1569014360 )	55.4236611469 (ExtendedPoll#42)
+	3318	(	2 0 4606.6387303599 2 5338.1648753428 )	55.0917439291 (ExtendedPoll#42)
+	3319	(	2 0 4589.1694492857 2 5397.5604309951 )	54.5804183615 (ExtendedPoll#42)
+	3325	(	2 0 4562.9655276744 2 5433.3724571972 )	54.4082368778 (ExtendedPoll#42)
+	3326	(	2 0 4514.0515406666 2 5471.8048755605 )	54.4043973012 (ExtendedPoll#42)
+	3333	(	2 0 4527.6994165058 2 5464.1620650905 )	54.3714868324 (ExtendedPoll#42)
+	3340	(	2 0 4526.1776783497 2 5467.7582803742 )	54.3456878637 (ExtendedPoll#42)
+	3341	(	2 0 4521.0733727858 2 5473.6814584884 )	54.3251632561 (ExtendedPoll#42)
+	3342	(	2 0 4505.7604560942 2 5491.4509928311 )	54.2645642604 (ExtendedPoll#42)
+	3346	(	2 0 4501.4477273290 2 5497.9746774822 )	54.2316163720 (ExtendedPoll#42)
+	3348	(	2 0 4495.7156194766 2 5503.2973490595 )	54.2235944245 (ExtendedPoll#42)
+	3349	(	2 0 4478.5192959191 2 5519.2653637914 )	54.2004433791 (ExtendedPoll#42)
+	3350	(	2 0 4409.7340016894 2 5583.1374227190 )	54.1217038236 (ExtendedPoll#42)
+	3351	(	2 0 4134.5928247705 2 5838.6256584295 )	54.0371198163 (ExtendedPoll#42)
+	3353	(	2 0 4057.7279880439 2 5936.4536324451 )	53.8423122971 (ExtendedPoll#42)
+	3358	(	2 0 4036.3281187280 2 5959.1636978416 )	53.8369788559 (ExtendedPoll#42)
+	3366	(	2 0 4033.2436987883 2 5966.3424805330 )	53.8016467560 (ExtendedPoll#42)
+	3376	(	2 0 4033.3453648009 2 5966.5644451074 )	53.7987246325 (ExtendedPoll#42)
+	3380	(	2 0 4033.4533282953 2 5966.5074812194 )	53.7982274597 (ExtendedPoll#42)
+	3387	(	2 0 4033.4322917074 2 5966.5295898786 )	53.7982263075 (ExtendedPoll#42)
+	3388	(	2 0 4033.3691819436 2 5966.5959158563 )	53.7982228672 (ExtendedPoll#42)
+	3389	(	2 0 4033.1167428886 2 5966.8612197669 )	53.7982093544 (ExtendedPoll#42)
+	3397	(	2 0 4033.1071823367 2 5966.8731120948 )	53.7981924297 (ExtendedPoll#42)
+	3398	(	2 0 4033.0785006809 2 5966.9087890783 )	53.7981416597 (ExtendedPoll#42)
+	3403	(	2 0 4033.0925954613 2 5966.9029438115 )	53.7980625663 (ExtendedPoll#42)
+	3408	(	2 0 4033.0991795212 2 5966.8990892331 )	53.7980356267 (ExtendedPoll#42)
+	3418	(	2 0 4033.0989658428 2 5966.8995155138 )	53.7980338197 (ExtendedPoll#42)
+	3419	(	2 0 4033.0983248077 2 5966.9007943557 )	53.7980283990 (ExtendedPoll#42)
+	3422	(	2 0 4033.0980226539 2 5966.9016988988 )	53.7980231575 (ExtendedPoll#42)
+	3430	(	2 0 4033.0981418065 2 5966.9016952224 )	53.7980220818 (ExtendedPoll#42)
+	3432	(	2 0 4033.0982490223 2 5966.9016431107 )	53.7980215482 (ExtendedPoll#42)
+	3436	(	2 0 4033.0983032868 2 5966.9016184516 )	53.7980212629 (ExtendedPoll#42)
+	3437	(	2 0 4033.0983898253 2 5966.9015364642 )	53.7980211876 (ExtendedPoll#42)
+	3438	(	2 0 4033.0986494409 2 5966.9012905019 )	53.7980209620 (ExtendedPoll#42)
+	3439	(	2 0 4033.0996879031 2 5966.9003066526 )	53.7980200592 (ExtendedPoll#42)
+	3447	(	2 0 4033.0996674107 2 5966.9003282915 )	53.7980200572 (ExtendedPoll#42)
+	3448	(	2 0 4033.0996059334 2 5966.9003932080 )	53.7980200513 (ExtendedPoll#42)
+	3463	(	2 0 4033.0996058034 2 5966.9003936551 )	53.7980200485 (ExtendedPoll#42)
+	3470	(	2 0 4033.0996061081 2 5966.9003937799 )	53.7980200446 (ExtendedPoll#42)
+	3474	(	2 0 4033.0996062242 2 5966.9003937721 )	53.7980200436 (ExtendedPoll#42)
+	3482	(	3 0 3210.2889578675 2 3039.3458759311 1 3750.2389595149 )	46.5961289316
+	3490	(	2 0 4552.7233011568 2 5335.3470932817 )	55.5692389089 (ExtendedPoll#43)
+	3494	(	2 0 4440.9199022818 2 5558.9538910317 )	54.1048755479 (ExtendedPoll#43)
+	3516	(	2 0 4440.9496420561 2 5559.0071913847 )	54.1040659660 (ExtendedPoll#43)
+	3520	(	2 0 4440.9365610370 2 5559.0347632759 )	54.1038907469 (ExtendedPoll#43)
+	3521	(	2 0 4440.8905377740 2 5559.0748522452 )	54.1038670525 (ExtendedPoll#43)
+	3522	(	2 0 4440.7524679852 2 5559.1951191530 )	54.1037960247 (ExtendedPoll#43)
+	3523	(	2 0 4440.2001888298 2 5559.6761867843 )	54.1035127440 (ExtendedPoll#43)
+	3524	(	2 0 4437.9910722084 2 5561.6004573097 )	54.1023929098 (ExtendedPoll#43)
+	3525	(	2 0 4429.1546057226 2 5569.2975394109 )	54.0981264568 (ExtendedPoll#43)
+	3526	(	2 0 4393.8087397796 2 5600.0858678158 )	54.0844835555 (ExtendedPoll#43)
+	3529	(	2 0 4394.2113521169 2 5603.9686884921 )	54.0411680120 (ExtendedPoll#43)
+	3530	(	2 0 4388.9432720429 2 5609.7553878479 )	54.0274056417 (ExtendedPoll#43)
+	3535	(	2 0 4388.0032745945 2 5611.4664902813 )	54.0180260116 (ExtendedPoll#43)
+	3538	(	2 0 4386.7886136448 2 5612.9967583598 )	54.0128824739 (ExtendedPoll#43)
+	3544	(	2 0 4386.4467770046 2 5613.3454189378 )	54.0122750804 (ExtendedPoll#43)
+	3545	(	2 0 4385.4212670842 2 5614.3914006721 )	54.0104567213 (ExtendedPoll#43)
+	3546	(	2 0 4381.3192274022 2 5618.5753276090 )	54.0032406382 (ExtendedPoll#43)
+	3549	(	2 0 4380.5784036418 2 5619.2116598200 )	54.0031640007 (ExtendedPoll#43)
+	3550	(	2 0 4378.3559323606 2 5621.1206564531 )	54.0029484717 (ExtendedPoll#43)
+	3551	(	2 0 4369.4660472359 2 5628.7566429851 )	54.0023023644 (ExtendedPoll#43)
+	3559	(	2 0 4369.5969815447 2 5629.7243626813 )	53.9913292971 (ExtendedPoll#43)
+	3562	(	2 0 4369.6824940167 2 5630.2051304326 )	53.9857012024 (ExtendedPoll#43)
+	3569	(	2 0 4369.6472614388 2 5630.3220036975 )	53.9848193694 (ExtendedPoll#43)
+	3572	(	2 0 4369.6050333250 2 5630.3660727419 )	53.9847380922 (ExtendedPoll#43)
+	3573	(	2 0 4369.4783489833 2 5630.4982798750 )	53.9844943213 (ExtendedPoll#43)
+	3574	(	2 0 4368.9716116168 2 5631.0271084078 )	53.9835201449 (ExtendedPoll#43)
+	3578	(	2 0 4368.8845997443 2 5631.1127275039 )	53.9834056991 (ExtendedPoll#43)
+	3579	(	2 0 4368.6235641269 2 5631.3695847921 )	53.9830625988 (ExtendedPoll#43)
+	3580	(	2 0 4367.5794216571 2 5632.3970139452 )	53.9816937566 (ExtendedPoll#43)
+	3581	(	2 0 4363.4028517782 2 5636.5067305573 )	53.9762753650 (ExtendedPoll#43)
+	3582	(	2 0 4346.6965722627 2 5652.9455970056 )	53.9555155106 (ExtendedPoll#43)
+	3583	(	2 0 4279.8714542003 2 5718.7010627990 )	53.8872266051 (ExtendedPoll#43)
+	3584	(	2 0 4012.5709819511 2 5981.7229259727 )	53.8578815474 (ExtendedPoll#43)
+	3586	(	2 0 4003.8363414140 2 5994.7157037717 )	53.8249871296 (ExtendedPoll#43)
+	3594	(	2 0 4003.0106449257 2 5996.4848096773 )	53.8171655728 (ExtendedPoll#43)
+	3597	(	2 0 4002.3593853505 2 5997.2124120580 )	53.8168706752 (ExtendedPoll#43)
+	3598	(	2 0 4000.4056066249 2 5999.3952192000 )	53.8160033453 (ExtendedPoll#43)
+	3606	(	2 0 4000.3383801740 2 5999.4971117887 )	53.8157389067 (ExtendedPoll#43)
+	3607	(	2 0 4000.1367008212 2 5999.8027895547 )	53.8149458834 (ExtendedPoll#43)
+	3613	(	2 0 4000.1340485485 2 5999.8637668378 )	53.8144356991 (ExtendedPoll#43)
+	3621	(	2 0 4000.1293216626 2 5999.8697555108 )	53.8144274351 (ExtendedPoll#43)
+	3629	(	2 0 4000.1301279381 2 5999.8692461828 )	53.8144243508 (ExtendedPoll#43)
+	3633	(	2 0 4000.1294111560 2 5999.8703886418 )	53.8144210416 (ExtendedPoll#43)
+	3635	(	2 0 4000.1312576800 2 5999.8684223480 )	53.8144209958 (ExtendedPoll#43)
+	3636	(	2 0 4000.1367972520 2 5999.8625234666 )	53.8144208588 (ExtendedPoll#43)
+	3637	(	2 0 4000.1589555398 2 5999.8389279410 )	53.8144203127 (ExtendedPoll#43)
+	3638	(	2 0 4000.2475886910 2 5999.7445458387 )	53.8144181595 (ExtendedPoll#43)
+	3639	(	2 0 4000.6021212960 2 5999.3670174292 )	53.8144100483 (ExtendedPoll#43)
+	3640	(	2 0 4002.0202517159 2 5997.8569037914 )	53.8143856278 (ExtendedPoll#43)
+	3642	(	2 0 4002.1422495983 2 5997.8527654463 )	53.8132795659 (ExtendedPoll#43)
+	3651	(	2 0 4002.1489902101 2 5997.8491916670 )	53.8132478315 (ExtendedPoll#43)
+	3656	(	2 0 4002.1460036830 2 5997.8536843822 )	53.8132363424 (ExtendedPoll#43)
+	3663	(	2 0 4002.1464898557 2 5997.8532170669 )	53.8132358938 (ExtendedPoll#43)
+	3664	(	2 0 4002.1479483737 2 5997.8518151211 )	53.8132345481 (ExtendedPoll#43)
+	3665	(	2 0 4002.1537824458 2 5997.8462073379 )	53.8132291653 (ExtendedPoll#43)
+	3681	(	2 0 4002.1537952967 2 5997.8461997948 )	53.8132291112 (ExtendedPoll#43)
+	3692	(	2 0 4002.1537979211 2 5997.8462000219 )	53.8132290846 (ExtendedPoll#43)
+	3694	(	2 0 4002.1537995406 2 5997.8461991017 )	53.8132290775 (ExtendedPoll#43)
+	3695	(	2 0 4002.1538022459 2 5997.8461965406 )	53.8132290747 (ExtendedPoll#43)
+	3696	(	2 0 4002.1538103616 2 5997.8461888572 )	53.8132290662 (ExtendedPoll#43)
+	3705	(	2 0 4002.1538099327 2 5997.8461896839 )	53.8132290629 (ExtendedPoll#43)
+	3713	(	2 0 4002.1538099976 2 5997.8461897805 )	53.8132290615 (ExtendedPoll#43)
+	3716	(	2 0 4002.1538101107 2 5997.8461898084 )	53.8132290602 (ExtendedPoll#43)
+	3721	(	2 0 4002.1538101371 2 5997.8461898603 )	53.8132290595 (ExtendedPoll#43)
+	3750	(	2 0 4999.8953615990 2 4999.9816204393 )	55.9027305088 (ExtendedPoll#44)
+	3751	(	2 0 4999.7707564260 2 5000.1157917870 )	55.9020567360 (ExtendedPoll#44)
+	3752	(	2 0 4999.2723357338 2 5000.6524771780 )	55.8993623523 (ExtendedPoll#44)
+	3755	(	2 0 4999.1349773271 2 5000.8543164668 )	55.8979629118 (ExtendedPoll#44)
+	3762	(	2 0 4999.0739417340 2 5000.9153520600 )	55.8976901754 (ExtendedPoll#44)
+	3763	(	2 0 4998.8908349545 2 5001.0984588395 )	55.8968720583 (ExtendedPoll#44)
+	3764	(	2 0 4998.1584078364 2 5001.8308859575 )	55.8936009704 (ExtendedPoll#44)
+	3765	(	2 0 4995.2286993643 2 5004.7605944297 )	55.8805387184 (ExtendedPoll#44)
+	3766	(	2 0 4983.5098654757 2 5016.4794283182 )	55.8286442151 (ExtendedPoll#44)
+	3767	(	2 0 4936.6345299214 2 5063.3547638726 )	55.6267962813 (ExtendedPoll#44)
+	3768	(	2 0 4749.1331877041 2 5250.8561060898 )	54.9147822323 (ExtendedPoll#44)
+	3769	(	2 0 3999.1278188349 2 6000.8614749590 )	53.8151109452 (ExtendedPoll#44)
+	3786	(	2 0 3999.1207593662 2 6000.8750024663 )	53.8150584528 (ExtendedPoll#44)
+	3793	(	2 0 3999.1195214058 2 6000.8764534763 )	53.8150573268 (ExtendedPoll#44)
+	3794	(	2 0 3999.1158075247 2 6000.8808065061 )	53.8150539489 (ExtendedPoll#44)
+	3795	(	2 0 3999.1009520003 2 6000.8982186254 )	53.8150404383 (ExtendedPoll#44)
+	3805	(	2 0 3999.1012090993 2 6000.8986202144 )	53.8150345073 (ExtendedPoll#44)
+	3812	(	2 0 3999.1012443818 2 6000.8986682546 )	53.8150337554 (ExtendedPoll#44)
+	3813	(	2 0 3999.1011692098 2 6000.8987607750 )	53.8150336483 (ExtendedPoll#44)
+	3814	(	2 0 3999.1009436941 2 6000.8990383364 )	53.8150333272 (ExtendedPoll#44)
+	3824	(	2 0 3999.1009378077 2 6000.8990520256 )	53.8150332623 (ExtendedPoll#44)
+	3828	(	2 0 3999.1009370763 2 6000.8990594402 )	53.8150332041 (ExtendedPoll#44)
+	3831	(	2 0 3999.1009434424 2 6000.8990555693 )	53.8150331784 (ExtendedPoll#44)
+	3837	(	2 0 3999.1009426080 2 6000.8990572346 )	53.8150331716 (ExtendedPoll#44)
+	3841	(	2 0 3999.1009445289 2 6000.8990554321 )	53.8150331694 (ExtendedPoll#44)
+	3877	(	2 0 4999.7695768976 2 5000.1146922267 )	55.9020792324 (ExtendedPoll#45)
+	3878	(	2 0 4999.2676176204 2 5000.6480789368 )	55.8994523349 (ExtendedPoll#45)
+	3882	(	2 0 4999.0614867145 2 5000.9250615107 )	55.8976679710 (ExtendedPoll#45)
+	3893	(	2 0 4999.0655499855 2 5000.9315188764 )	55.8975579561 (ExtendedPoll#45)
+	3895	(	2 0 4999.0601491243 2 5000.9369076070 )	55.8975339712 (ExtendedPoll#45)
+	3896	(	2 0 4999.0439465409 2 5000.9530737988 )	55.8974620175 (ExtendedPoll#45)
+	3897	(	2 0 4998.9791362072 2 5001.0177385657 )	55.8971742134 (ExtendedPoll#45)
+	3898	(	2 0 4998.7198948722 2 5001.2763976335 )	55.8960231692 (ExtendedPoll#45)
+	3899	(	2 0 4997.6829295325 2 5002.3110339045 )	55.8914217511 (ExtendedPoll#45)
+	3900	(	2 0 4993.5350681737 2 5006.4495789887 )	55.8730602592 (ExtendedPoll#45)
+	3901	(	2 0 4976.9436227384 2 5023.0037593255 )	55.8003237383 (ExtendedPoll#45)
+	3902	(	2 0 4910.5778409973 2 5089.2204806727 )	55.5208926377 (ExtendedPoll#45)
+	3903	(	2 0 4645.1147140329 2 5354.0873660614 )	54.5978092091 (ExtendedPoll#45)
+	3905	(	2 0 4641.9961744036 2 5356.4416246436 )	54.5973154410 (ExtendedPoll#45)
+	3906	(	2 0 4632.6405555159 2 5363.5044003904 )	54.5960322314 (ExtendedPoll#45)
+	3907	(	2 0 4595.2180799647 2 5391.7555033777 )	54.5938886963 (ExtendedPoll#45)
+	3910	(	2 0 4589.5405636156 2 5406.2768432706 )	54.4819217775 (ExtendedPoll#45)
+	3915	(	2 0 4586.8655799511 2 5409.1224253831 )	54.4730509300 (ExtendedPoll#45)
+	3916	(	2 0 4578.8406289576 2 5417.6591717205 )	54.4466693127 (ExtendedPoll#45)
+	3917	(	2 0 4546.7408249837 2 5451.8061570703 )	54.3446263871 (ExtendedPoll#45)
+	3923	(	2 0 4544.4002142773 2 5454.9315206375 )	54.3305581908 (ExtendedPoll#45)
+	3926	(	2 0 4543.3834475273 2 5456.5982674743 )	54.3211315639 (ExtendedPoll#45)
+	3940	(	2 0 4543.3817833230 2 5456.6057131428 )	54.3210653441 (ExtendedPoll#45)
+	3943	(	2 0 4543.3799196151 2 5456.6131114083 )	54.3210013080 (ExtendedPoll#45)
+	3944	(	2 0 4543.3724892530 2 5456.6264388915 )	54.3209201075 (ExtendedPoll#45)
+	3955	(	2 0 4543.3733273061 2 5456.6259837410 )	54.3209179808 (ExtendedPoll#45)
+	3957	(	2 0 4543.3714783336 2 5456.6279477327 )	54.3209123378 (ExtendedPoll#45)
+	3958	(	2 0 4543.3659314160 2 5456.6338397077 )	54.3208954091 (ExtendedPoll#45)
+	3968	(	2 0 4543.3658531448 2 5456.6339296214 )	54.3208950973 (ExtendedPoll#45)
+	3969	(	2 0 4543.3656183312 2 5456.6341993626 )	54.3208941618 (ExtendedPoll#45)
+	3970	(	2 0 4543.3646790771 2 5456.6352783273 )	54.3208904201 (ExtendedPoll#45)
+	3974	(	2 0 4543.3645278465 2 5456.6354626442 )	54.3208897035 (ExtendedPoll#45)
+	3983	(	2 0 4543.3645352524 2 5456.6354634587 )	54.3208896327 (ExtendedPoll#45)
+	3987	(	2 0 4543.3645324236 2 5456.6354658827 )	54.3208896303 (ExtendedPoll#45)
+	3988	(	2 0 4543.3645239373 2 5456.6354731547 )	54.3208896231 (ExtendedPoll#45)
+	3989	(	2 0 4543.3644899919 2 5456.6355022427 )	54.3208895946 (ExtendedPoll#45)
+	3990	(	2 0 4543.3643542104 2 5456.6356185947 )	54.3208894804 (ExtendedPoll#45)
+	3991	(	2 0 4543.3638110842 2 5456.6360840029 )	54.3208890235 (ExtendedPoll#45)
+	3992	(	2 0 4543.3616385797 2 5456.6379456356 )	54.3208871959 (ExtendedPoll#45)
+	3993	(	2 0 4543.3529485614 2 5456.6453921663 )	54.3208798860 (ExtendedPoll#45)
+	3994	(	2 0 4543.3181884885 2 5456.6751782893 )	54.3208506492 (ExtendedPoll#45)
+	3995	(	2 0 4543.1791481970 2 5456.7943227813 )	54.3207337517 (ExtendedPoll#45)
+	3996	(	2 0 4542.6229870307 2 5457.2709007492 )	54.3202669568 (ExtendedPoll#45)
+	3997	(	2 0 4540.3983423657 2 5459.1772126208 )	54.3184125004 (ExtendedPoll#45)
+	3998	(	2 0 4531.4997637056 2 5466.8024601073 )	54.3111985229 (ExtendedPoll#45)
+	3999	(	2 0 4495.9054490650 2 5497.3034500534 )	54.2856217202 (ExtendedPoll#45)
+	4000	(	2 0 4353.5281905028 2 5619.3074098378 )	54.2368825197 (ExtendedPoll#45)
+	4002	(	2 0 4353.5041867680 2 5619.3635257316 )	54.2365196285 (ExtendedPoll#45)
+	4003	(	2 0 4353.4321755638 2 5619.5318734129 )	54.2354310246 (ExtendedPoll#45)
+	4004	(	2 0 4353.1441307467 2 5620.2052641384 )	54.2310776574 (ExtendedPoll#45)
+	4005	(	2 0 4351.9919514786 2 5622.8988270401 )	54.2136809672 (ExtendedPoll#45)
+	4006	(	2 0 4347.3832344061 2 5633.6730786469 )	54.1443630877 (ExtendedPoll#45)
+	4007	(	2 0 4346.4159412060 2 5635.3688272200 )	54.1355996268 (ExtendedPoll#45)
+	4008	(	2 0 4343.5140616057 2 5640.4560729390 )	54.1093792188 (ExtendedPoll#45)
+	4009	(	2 0 4331.9065432045 2 5660.8050558153 )	54.0055500944 (ExtendedPoll#45)
+	4012	(	2 0 4329.8320660769 2 5668.3386832786 )	53.9480883416 (ExtendedPoll#45)
+	4018	(	2 0 4334.3358651038 2 5665.1314324564 )	53.9408691910 (ExtendedPoll#45)
+	4026	(	2 0 4334.7698249059 2 5664.9075219934 )	53.9393230537 (ExtendedPoll#45)
+	4030	(	2 0 4335.0132475664 2 5664.9262078546 )	53.9370077879 (ExtendedPoll#45)
+	4034	(	2 0 4335.0593141454 2 5664.8861671994 )	53.9370070214 (ExtendedPoll#45)
+	4035	(	2 0 4335.1975138822 2 5664.7660452336 )	53.9370047791 (ExtendedPoll#45)
+	4041	(	2 0 4335.2265889224 2 5664.7567731080 )	53.9368437214 (ExtendedPoll#45)
+	4047	(	2 0 4335.2341353579 2 5664.7556510827 )	53.9367890253 (ExtendedPoll#45)
+	4049	(	2 0 4335.2400852963 2 5664.7508755444 )	53.9367849554 (ExtendedPoll#45)
+	4050	(	2 0 4335.2579351117 2 5664.7365489296 )	53.9367727467 (ExtendedPoll#45)
+	4053	(	2 0 4335.2420401136 2 5664.7511438225 )	53.9367651768 (ExtendedPoll#45)
+	4054	(	2 0 4335.1943551193 2 5664.7949285015 )	53.9367424744 (ExtendedPoll#45)
+	4055	(	2 0 4335.0036151422 2 5664.9700672173 )	53.9366517744 (ExtendedPoll#45)
+	4056	(	2 0 4334.2406552335 2 5665.6706220803 )	53.9362907282 (ExtendedPoll#45)
+	4057	(	2 0 4331.1888155990 2 5668.4728415326 )	53.9348746183 (ExtendedPoll#45)
+	4058	(	2 0 4318.9814570610 2 5679.6817193417 )	53.9296600779 (ExtendedPoll#45)
+	4059	(	2 0 4270.1520229090 2 5724.5172305782 )	53.9160449943 (ExtendedPoll#45)
+	4062	(	2 0 4270.2287922106 2 5726.4688768232 )	53.8962132135 (ExtendedPoll#45)
+	4065	(	2 0 4269.9967783213 2 5728.4085811769 )	53.8792448146 (ExtendedPoll#45)
+	4066	(	2 0 4267.4719212911 2 5731.3906420478 )	53.8723914551 (ExtendedPoll#45)
+	4069	(	2 0 4266.5745734546 2 5733.1256282638 )	53.8633577202 (ExtendedPoll#45)
+	4078	(	2 0 4266.4308176062 2 5733.3229626873 )	53.8627005560 (ExtendedPoll#45)
+	4079	(	2 0 4265.9995500609 2 5733.9149659579 )	53.8607301402 (ExtendedPoll#45)
+	4083	(	2 0 4265.8268724443 2 5734.0875636064 )	53.8605721022 (ExtendedPoll#45)
+	4084	(	2 0 4265.3088395946 2 5734.6053565521 )	53.8600989724 (ExtendedPoll#45)
+	4085	(	2 0 4263.2367081957 2 5736.6765283347 )	53.8582212182 (ExtendedPoll#45)
+	4086	(	2 0 4254.9481826001 2 5744.9612154653 )	53.8509466860 (ExtendedPoll#45)
+	4087	(	2 0 4221.7940802176 2 5778.0999639874 )	53.8256476388 (ExtendedPoll#45)
+	4088	(	2 0 4089.1776706878 2 5910.6549580759 )	53.7861774796 (ExtendedPoll#45)
+	4103	(	2 0 4089.1136696138 2 5910.7589031772 )	53.7858180957 (ExtendedPoll#45)
+	4104	(	2 0 4088.9216663918 2 5911.0707384809 )	53.7847402348 (ExtendedPoll#45)
+	4108	(	2 0 4088.8359939837 2 5911.1576970414 )	53.7847351920 (ExtendedPoll#45)
+	4109	(	2 0 4088.5789767594 2 5911.4185727227 )	53.7847203220 (ExtendedPoll#45)
+	4122	(	2 0 4088.5833028094 2 5911.4153495129 )	53.7847099233 (ExtendedPoll#45)
+	4129	(	2 0 4088.5841710836 2 5911.4149550584 )	53.7847055346 (ExtendedPoll#45)
+	4132	(	2 0 4088.5850132823 2 5911.4145076255 )	53.7847018687 (ExtendedPoll#45)
+	4136	(	2 0 4088.5854359861 2 5911.4142869556 )	53.7846999932 (ExtendedPoll#45)
+	4139	(	2 0 4088.5850617172 2 5911.4148479102 )	53.7846983212 (ExtendedPoll#45)
+	4147	(	2 0 4088.5850276880 2 5911.4148968462 )	53.7846981880 (ExtendedPoll#45)
+	4148	(	2 0 4088.5849256003 2 5911.4150436540 )	53.7846977884 (ExtendedPoll#45)
+	4153	(	2 0 4088.5849005844 2 5911.4150977550 )	53.7846975253 (ExtendedPoll#45)
+	4164	(	2 0 4088.5849003997 2 5911.4150986678 )	53.7846975187 (ExtendedPoll#45)
+	4165	(	2 0 4088.5848992968 2 5911.4151001689 )	53.7846975151 (ExtendedPoll#45)
+	4169	(	2 0 4088.5848988407 2 5911.4151009808 )	53.7846975119 (ExtendedPoll#45)
+	4172	(	2 0 4088.5848979979 2 5911.4151019930 )	53.7846975104 (ExtendedPoll#45)
+	4187	(	2 0 4105.5097056568 2 5894.3640876566 )	53.7853303801 (ExtendedPoll#46)
+	4219	(	2 0 4105.5249912111 2 5894.4490403525 )	53.7844103322 (ExtendedPoll#46)
+	4224	(	2 0 4105.5402085635 2 5894.4501641740 )	53.7842605703 (ExtendedPoll#46)
+	4228	(	2 0 4105.5590123984 2 5894.4395775740 )	53.7841854603 (ExtendedPoll#46)
+	4236	(	2 0 4105.5607070024 2 5894.4387021916 )	53.7841779690 (ExtendedPoll#46)
+	4237	(	2 0 4105.5636102425 2 5894.4362276993 )	53.7841740843 (ExtendedPoll#46)
+	4247	(	2 0 4105.5638149153 2 5894.4361054192 )	53.7841733315 (ExtendedPoll#46)
+	4251	(	2 0 4105.5638612668 2 5894.4360679458 )	53.7841732508 (ExtendedPoll#46)
+	4252	(	2 0 4105.5640003213 2 5894.4359555257 )	53.7841730088 (ExtendedPoll#46)
+	4258	(	2 0 4105.5640265310 2 5894.4359413401 )	53.7841728988 (ExtendedPoll#46)
+	4265	(	2 0 4105.5640472452 2 5894.4359452146 )	53.7841726734 (ExtendedPoll#46)
+	4271	(	2 0 4105.5640494603 2 5894.4359482098 )	53.7841726256 (ExtendedPoll#46)
+	4277	(	2 0 4105.5640494863 2 5894.4359491407 )	53.7841726169 (ExtendedPoll#46)
+	4278	(	2 0 4105.5640486402 2 5894.4359508001 )	53.7841726094 (ExtendedPoll#46)
+	4284	(	2 0 4105.5640493116 2 5894.4359501547 )	53.7841726092 (ExtendedPoll#46)
+	4285	(	2 0 4105.5640513257 2 5894.4359482183 )	53.7841726085 (ExtendedPoll#46)
+	4286	(	2 0 4105.5640593820 2 5894.4359404726 )	53.7841726058 (ExtendedPoll#46)
+	4298	(	2 0 4105.5640593940 2 5894.4359405296 )	53.7841726051 (ExtendedPoll#46)
+	4299	(	2 0 4105.5640595037 2 5894.4359404905 )	53.7841726045 (ExtendedPoll#46)
+	4317	(	2 0 4986.7257528443 2 5008.3439881737 )	55.9026187973 (ExtendedPoll#47)
+	4321	(	2 0 4975.6982691662 2 5019.3714718518 )	55.8540052955 (ExtendedPoll#47)
+	4322	(	2 0 4942.6158181319 2 5052.4539228861 )	55.7112095080 (ExtendedPoll#47)
+	4323	(	2 0 4810.2860139947 2 5184.7837270233 )	55.1870194047 (ExtendedPoll#47)
+	4324	(	2 0 4280.9667974460 2 5714.1029435721 )	53.9228267897 (ExtendedPoll#47)
+	4340	(	2 0 4282.9099137686 2 5713.8982254345 )	53.9076802800 (ExtendedPoll#47)
+	4343	(	2 0 4283.1982251457 2 5715.8293998657 )	53.8861047342 (ExtendedPoll#47)
+	4346	(	2 0 4285.4740084419 2 5714.2633061132 )	53.8814393469 (ExtendedPoll#47)
+	4353	(	2 0 4285.1205497824 2 5714.8564555920 )	53.8787142179 (ExtendedPoll#47)
+	4364	(	2 0 4285.1005852658 2 5714.8795367790 )	53.8786630424 (ExtendedPoll#47)
+	4365	(	2 0 4285.0406917160 2 5714.9487803400 )	53.8785095322 (ExtendedPoll#47)
+	4367	(	2 0 4285.0005710927 2 5714.9947752809 )	53.8784105470 (ExtendedPoll#47)
+	4379	(	2 0 4285.0007834768 2 5714.9966707681 )	53.8783899929 (ExtendedPoll#47)
+	4380	(	2 0 4284.9983617564 2 5714.9996181702 )	53.8783823323 (ExtendedPoll#47)
+	4381	(	2 0 4284.9910965952 2 5715.0084603766 )	53.8783593509 (ExtendedPoll#47)
+	4385	(	2 0 4284.9884190656 2 5715.0111774997 )	53.8783562185 (ExtendedPoll#47)
+	4386	(	2 0 4284.9803864769 2 5715.0193288691 )	53.8783468217 (ExtendedPoll#47)
+	4402	(	2 0 4284.9804412318 2 5715.0194883169 )	53.8783447670 (ExtendedPoll#47)
+	4407	(	2 0 4284.9804170022 2 5715.0195427745 )	53.8783444443 (ExtendedPoll#47)
+	4414	(	2 0 4284.9804316104 2 5715.0195457146 )	53.8783442863 (ExtendedPoll#47)
+	4416	(	2 0 4284.9804399767 2 5715.0195580455 )	53.8783440910 (ExtendedPoll#47)
+	4423	(	2 0 4284.9804363154 2 5715.0195618337 )	53.8783440860 (ExtendedPoll#47)
+	4424	(	2 0 4284.9804253315 2 5715.0195731983 )	53.8783440710 (ExtendedPoll#47)
+	4432	(	2 0 4284.9804248959 2 5715.0195740214 )	53.8783440667 (ExtendedPoll#47)
+	4433	(	2 0 4284.9804240703 2 5715.0195756911 )	53.8783440575 (ExtendedPoll#47)
+	4443	(	2 0 4284.9804241092 2 5715.0195758008 )	53.8783440561 (ExtendedPoll#47)
+	4448	(	2 0 4284.9804241503 2 5715.0195758421 )	53.8783440553 (ExtendedPoll#47)
+	4453	(	3 0 3210.2718306224 2 3039.4036796793 1 3750.2294356176 )	46.5957725777
+	4454	(	3 0 3210.2204488871 2 3039.5770909239 1 3750.2008639259 )	46.5947035783
+	4475	(	2 0 4999.8234054990 2 5000.1686007961 )	55.9010071498 (ExtendedPoll#48)
+	4476	(	2 0 4999.2960163907 2 5000.6767975791 )	55.8988833670 (ExtendedPoll#48)
+	4477	(	2 0 4997.1864599572 2 5002.7095847109 )	55.8903991267 (ExtendedPoll#48)
+	4478	(	2 0 4988.7482342235 2 5010.8407332383 )	55.8566367335 (ExtendedPoll#48)
+	4479	(	2 0 4954.9953312886 2 5043.3653273476 )	55.7244004145 (ExtendedPoll#48)
+	4480	(	2 0 4819.9837195490 2 5173.4637037851 )	55.2417552587 (ExtendedPoll#48)
+	4481	(	2 0 4279.9372725906 2 5693.8572095350 )	54.1320597545 (ExtendedPoll#48)
+	4483	(	2 0 4260.7210634090 2 5718.3142030389 )	54.0605176484 (ExtendedPoll#48)
+	4484	(	2 0 4203.0724358640 2 5791.6851835507 )	53.8630778677 (ExtendedPoll#48)
+	4493	(	2 0 4211.2611613676 2 5784.2607390941 )	53.8607636217 (ExtendedPoll#48)
+	4494	(	2 0 4235.8273378782 2 5761.9874057245 )	53.8557950144 (ExtendedPoll#48)
+	4499	(	2 0 4239.2666025897 2 5760.1381185483 )	53.8430394257 (ExtendedPoll#48)
+	4506	(	2 0 4238.4020949545 2 5761.2154477473 )	53.8403110732 (ExtendedPoll#48)
+	4507	(	2 0 4236.9895398051 2 5762.5631754865 )	53.8398579750 (ExtendedPoll#48)
+	4508	(	2 0 4232.7518743570 2 5766.6063587038 )	53.8385611120 (ExtendedPoll#48)
+	4509	(	2 0 4215.8012125647 2 5782.7790915733 )	53.8343120215 (ExtendedPoll#48)
+	4510	(	2 0 4147.9985653954 2 5847.4700230513 )	53.8324459450 (ExtendedPoll#48)
+	4516	(	2 0 4142.8942598315 2 5853.3659054138 )	53.8237142063 (ExtendedPoll#48)
+	4517	(	2 0 4127.5813431399 2 5871.0535525015 )	53.7986042338 (ExtendedPoll#48)
+	4526	(	2 0 4129.7411194915 2 5869.3305081768 )	53.7948876409 (ExtendedPoll#48)
+	4531	(	2 0 4130.5591390496 2 5868.7973880268 )	53.7923765042 (ExtendedPoll#48)
+	4536	(	2 0 4131.0192217390 2 5868.6337201408 )	53.7897014772 (ExtendedPoll#48)
+	4537	(	2 0 4131.7293377788 2 5867.9632682402 )	53.7894517155 (ExtendedPoll#48)
+	4538	(	2 0 4133.8596858981 2 5865.9519125383 )	53.7887184190 (ExtendedPoll#48)
+	4543	(	2 0 4134.5843028059 2 5865.2972409942 )	53.7882006022 (ExtendedPoll#48)
+	4546	(	2 0 4134.9640976007 2 5864.9903770359 )	53.7875931645 (ExtendedPoll#48)
+	4554	(	2 0 4134.9859247059 2 5864.9690484814 )	53.7875925935 (ExtendedPoll#48)
+	4555	(	2 0 4135.0514060213 2 5864.9050628179 )	53.7875908962 (ExtendedPoll#48)
+	4556	(	2 0 4135.3133312830 2 5864.6491201639 )	53.7875843437 (ExtendedPoll#48)
+	4557	(	2 0 4136.3610323297 2 5863.6253495479 )	53.7875619231 (ExtendedPoll#48)
+	4570	(	2 0 4136.3648032632 2 5863.6247733590 )	53.7875329472 (ExtendedPoll#48)
+	4571	(	2 0 4136.3761160637 2 5863.6230447924 )	53.7874460195 (ExtendedPoll#48)
+	4577	(	2 0 4136.3737259452 2 5863.6260178809 )	53.7874401351 (ExtendedPoll#48)
+	4591	(	2 0 4136.3738000302 2 5863.6261693177 )	53.7874380524 (ExtendedPoll#48)
+	4596	(	2 0 4136.3737497999 2 5863.6262370108 )	53.7874378803 (ExtendedPoll#48)
+	4598	(	2 0 4136.3737091508 2 5863.6262806039 )	53.7874378451 (ExtendedPoll#48)
+	4599	(	2 0 4136.3735872034 2 5863.6264113833 )	53.7874377393 (ExtendedPoll#48)
+	4608	(	2 0 4136.3735928884 2 5863.6264065675 )	53.7874377323 (ExtendedPoll#48)
+	4615	(	2 0 4136.3735936795 2 5863.6264060760 )	53.7874377297 (ExtendedPoll#48)
+	4616	(	2 0 4136.3735950382 2 5863.6264048019 )	53.7874377291 (ExtendedPoll#48)
+	4625	(	2 0 4136.3735951385 2 5863.6264047429 )	53.7874377288 (ExtendedPoll#48)
+	4629	(	2 0 4136.3735950627 2 5863.6264048312 )	53.7874377287 (ExtendedPoll#48)
+	4630	(	2 0 4136.3735948352 2 5863.6264050962 )	53.7874377283 (ExtendedPoll#48)
+	4639	(	2 0 4136.3735948402 2 5863.6264051370 )	53.7874377278 (ExtendedPoll#48)
+	4647	(	2 0 4105.5720108686 2 5894.4263928684 )	53.7841874022 (ExtendedPoll#49)
+	4674	(	2 0 4105.5833069765 2 5894.4161347829 )	53.7841780742 (ExtendedPoll#49)
+	4687	(	2 0 4105.5835293721 2 5894.4160488549 )	53.7841768253 (ExtendedPoll#49)
+	4688	(	2 0 4105.5841965588 2 5894.4157910708 )	53.7841730784 (ExtendedPoll#49)
+	4693	(	2 0 4105.5842867579 2 5894.4157131287 )	53.7841729675 (ExtendedPoll#49)
+	4712	(	2 0 4105.5842868659 2 5894.4157130854 )	53.7841729669 (ExtendedPoll#49)
+	4719	(	2 0 4105.5842868950 2 5894.4157130859 )	53.7841729666 (ExtendedPoll#49)
+	4743	(	2 0 4999.8031735893 2 5000.1447170134 )	55.9014542318 (ExtendedPoll#50)
+	4744	(	2 0 4999.2150887519 2 5000.5812624482 )	55.9006716187 (ExtendedPoll#50)
+	4745	(	2 0 4996.8627494022 2 5002.3274441874 )	55.8975509135 (ExtendedPoll#50)
+	4746	(	2 0 4987.4533920033 2 5009.3121711443 )	55.8852243268 (ExtendedPoll#50)
+	4747	(	2 0 4949.8159624076 2 5037.2510789717 )	55.8384358459 (ExtendedPoll#50)
+	4748	(	2 0 4799.2662440251 2 5149.0067102812 )	55.6927299999 (ExtendedPoll#50)
+	4751	(	2 0 4798.1744139579 2 5164.6198802413 )	55.5187163710 (ExtendedPoll#50)
+	4752	(	2 0 4798.1744139579 2 5196.0645861749 )	55.1525452486 (ExtendedPoll#50)
+	4757	(	2 0 4792.1420528370 2 5201.0324129804 )	55.1431419649 (ExtendedPoll#50)
+	4758	(	2 0 4774.0449694742 2 5215.9358933968 )	55.1157026271 (ExtendedPoll#50)
+	4759	(	2 0 4701.6566360229 2 5275.5498150626 )	55.0176540485 (ExtendedPoll#50)
+	4760	(	2 0 4412.1033022177 2 5514.0055017256 )	54.8221696457 (ExtendedPoll#50)
+	4764	(	2 0 4371.9239557470 2 5561.1725606260 )	54.6749065998 (ExtendedPoll#50)
+	4765	(	2 0 4251.3859163349 2 5702.6737373272 )	54.2973393293 (ExtendedPoll#50)
+	4768	(	2 0 4391.1401649287 2 5590.8703384522 )	54.2022453171 (ExtendedPoll#50)
+	4774	(	2 0 4362.3158511562 2 5624.4987045201 )	54.1076851285 (ExtendedPoll#50)
+	4779	(	2 0 4358.6036289279 2 5639.6751424533 )	53.9858955384 (ExtendedPoll#50)
+	4784	(	2 0 4355.6625116846 2 5642.2409431111 )	53.9855132092 (ExtendedPoll#50)
+	4785	(	2 0 4346.8391599545 2 5649.9383450844 )	53.9845992440 (ExtendedPoll#50)
+	4786	(	2 0 4311.5457530343 2 5680.7279529777 )	53.9844549147 (ExtendedPoll#50)
+	4791	(	2 0 4308.5432203496 2 5687.9340314208 )	53.9390274262 (ExtendedPoll#50)
+	4795	(	2 0 4307.7243477993 2 5691.7554366558 )	53.9082186256 (ExtendedPoll#50)
+	4807	(	2 0 4308.0052488063 2 5691.9562363603 )	53.9037540967 (ExtendedPoll#50)
+	4811	(	2 0 4308.1049356103 2 5691.8857845325 )	53.9035781830 (ExtendedPoll#50)
+	4817	(	2 0 4308.1185770304 2 5691.8789477872 )	53.9035262437 (ExtendedPoll#50)
+	4820	(	2 0 4308.1246647783 2 5691.8743491833 )	53.9035184462 (ExtendedPoll#50)
+	4824	(	2 0 4308.1208413138 2 5691.8781550898 )	53.9035142224 (ExtendedPoll#50)
+	4825	(	2 0 4308.1093709201 2 5691.8895728093 )	53.9035015515 (ExtendedPoll#50)
+	4826	(	2 0 4308.0634893453 2 5691.9352436871 )	53.9034508749 (ExtendedPoll#50)
+	4827	(	2 0 4307.8799630460 2 5692.1179271984 )	53.9032482824 (ExtendedPoll#50)
+	4828	(	2 0 4307.1458578490 2 5692.8486612434 )	53.9024397326 (ExtendedPoll#50)
+	4829	(	2 0 4304.2094370610 2 5695.7715974237 )	53.8992346674 (ExtendedPoll#50)
+	4830	(	2 0 4292.4637539088 2 5707.4633421446 )	53.8868812553 (ExtendedPoll#50)
+	4831	(	2 0 4245.4810213003 2 5754.2303210285 )	53.8449818536 (ExtendedPoll#50)
+	4832	(	2 0 4057.5500908662 2 5941.2982365638 )	53.8003145611 (ExtendedPoll#50)
+	4836	(	2 0 4057.3125325273 2 5942.2454844463 )	53.7939890318 (ExtendedPoll#50)
+	4843	(	2 0 4057.4393884670 2 5942.4540943610 )	53.7909379794 (ExtendedPoll#50)
+	4844	(	2 0 4057.1333775009 2 5942.8346355240 )	53.7903471560 (ExtendedPoll#50)
+	4847	(	2 0 4057.6371760427 2 5942.3623976952 )	53.7899322822 (ExtendedPoll#50)
+	4867	(	2 0 4057.6378562203 2 5942.3617292243 )	53.7899320010 (ExtendedPoll#50)
+	4868	(	2 0 4057.6398967532 2 5942.3597238116 )	53.7899311575 (ExtendedPoll#50)
+	4869	(	2 0 4057.6480588849 2 5942.3517021609 )	53.7899277838 (ExtendedPoll#50)
+	4878	(	2 0 4057.6479540349 2 5942.3519162868 )	53.7899268277 (ExtendedPoll#50)
+	4882	(	2 0 4057.6478865326 2 5942.3520145431 )	53.7899265685 (ExtendedPoll#50)
+	4883	(	2 0 4057.6476840256 2 5942.3523093118 )	53.7899257907 (ExtendedPoll#50)
+	4895	(	2 0 4057.6476847788 2 5942.3523129602 )	53.7899257509 (ExtendedPoll#50)
+	4899	(	2 0 4057.6476860982 2 5942.3523116454 )	53.7899257506 (ExtendedPoll#50)
+	4900	(	2 0 4057.6476900565 2 5942.3523077012 )	53.7899257494 (ExtendedPoll#50)
+	4901	(	2 0 4057.6477058896 2 5942.3522919242 )	53.7899257448 (ExtendedPoll#50)
+	4902	(	2 0 4057.6477692222 2 5942.3522288165 )	53.7899257264 (ExtendedPoll#50)
+	4903	(	2 0 4057.6480225525 2 5942.3519763854 )	53.7899256529 (ExtendedPoll#50)
+	4914	(	2 0 4057.6480214853 2 5942.3519779120 )	53.7899256490 (ExtendedPoll#50)
+	4921	(	2 0 4057.6480212763 2 5942.3519783281 )	53.7899256472 (ExtendedPoll#50)
+	4924	(	2 0 4057.6480210350 2 5942.3519787264 )	53.7899256458 (ExtendedPoll#50)
+	4927	(	2 0 4057.6480213991 2 5942.3519784360 )	53.7899256451 (ExtendedPoll#50)
+	4931	(	2 0 4057.6480219221 2 5942.3519780358 )	53.7899256438 (ExtendedPoll#50)
+	4935	(	2 0 4057.6480221025 2 5942.3519778887 )	53.7899256435 (ExtendedPoll#50)
+	4940	(	2 0 4057.6480219897 2 5942.3519780086 )	53.7899256435 (ExtendedPoll#50)
+	4945	(	2 0 4057.6480219698 2 5942.3519780298 )	53.7899256435 (ExtendedPoll#50)
+	4949	(	3 0 3210.2137213322 2 3039.6012428177 1 3750.1834642275 )	46.5946997610
+	4950	(	3 0 3210.1935386677 2 3039.6736984988 1 3750.1312651323 )	46.5946883143
+	4951	(	3 0 3210.1128080096 2 3039.9635212235 1 3749.9224687515 )	46.5946426050
+	4952	(	3 0 3209.7898853771 2 3041.1228121224 1 3749.0872832281 )	46.5944610083
+	4977	(	2 0 4999.9515314082 2 5000.0370988583 )	55.9016212277 (ExtendedPoll#51)
+	4978	(	2 0 4999.8061545413 2 5000.1484243416 )	55.9013860644 (ExtendedPoll#51)
+	4979	(	2 0 4999.2246470737 2 5000.5937262748 )	55.9004460290 (ExtendedPoll#51)
+	4980	(	2 0 4996.8986172034 2 5002.3749340079 )	55.8966957757 (ExtendedPoll#51)
+	4981	(	2 0 4987.5944977221 2 5009.4997649402 )	55.8818532664 (ExtendedPoll#51)
+	4982	(	2 0 4950.3780197968 2 5037.9990886692 )	55.8250376177 (ExtendedPoll#51)
+	4983	(	2 0 4801.5121080959 2 5151.9963835853 )	55.6398202521 (ExtendedPoll#51)
+	4985	(	2 0 4799.9016587469 2 5159.6391940553 )	55.5631771412 (ExtendedPoll#51)
+	4986	(	2 0 4795.0703106998 2 5182.5676254652 )	55.3341978198 (ExtendedPoll#51)
+	4987	(	2 0 4780.2214217867 2 5210.0817431571 )	55.1338115001 (ExtendedPoll#51)
+	4992	(	2 0 4799.2192649549 2 5198.7267104589 )	55.1133076930 (ExtendedPoll#51)
+	5003	(	2 0 4800.1328196439 2 5199.0717458199 )	55.1020064789 (ExtendedPoll#51)
+	5007	(	2 0 4800.6067634573 2 5199.1893521250 )	55.0968559487 (ExtendedPoll#51)
+	5013	(	2 0 4800.7025918042 2 5199.2649685543 )	55.0952132428 (ExtendedPoll#51)
+	5019	(	2 0 4800.7285047755 2 5199.2488491668 )	55.0951932210 (ExtendedPoll#51)
+	5021	(	2 0 4800.7568088740 2 5199.2374387295 )	55.0950994742 (ExtendedPoll#51)
+	5025	(	2 0 4800.7456186612 2 5199.2478121856 )	55.0950685340 (ExtendedPoll#51)
+	5026	(	2 0 4800.7120480229 2 5199.2789325537 )	55.0949757164 (ExtendedPoll#51)
+	5027	(	2 0 4800.5777654696 2 5199.4034140262 )	55.0946044924 (ExtendedPoll#51)
+	5028	(	2 0 4800.0406352565 2 5199.9013399163 )	55.0931203333 (ExtendedPoll#51)
+	5029	(	2 0 4797.8921144041 2 5201.8930434766 )	55.0871954955 (ExtendedPoll#51)
+	5030	(	2 0 4789.2980309945 2 5209.8598577177 )	55.0636852238 (ExtendedPoll#51)
+	5031	(	2 0 4754.9216973563 2 5241.7271146822 )	54.9726888507 (ExtendedPoll#51)
+	5032	(	2 0 4617.4163628032 2 5369.1961425400 )	54.6586519092 (ExtendedPoll#51)
+	5033	(	2 0 4067.3950245908 2 5879.0722539713 )	54.2760732951 (ExtendedPoll#51)
+	5037	(	2 0 4078.4498040205 2 5879.1268454747 )	54.1738605186 (ExtendedPoll#51)
+	5038	(	2 0 4111.6141423099 2 5879.2906199847 )	53.8682373433 (ExtendedPoll#51)
+	5039	(	2 0 4135.6344037869 2 5859.2009467494 )	53.8353496249 (ExtendedPoll#51)
+	5047	(	2 0 4139.1419078776 2 5857.4881383315 )	53.8193865804 (ExtendedPoll#51)
+	5052	(	2 0 4141.0884361692 2 5857.6587367795 )	53.8000899204 (ExtendedPoll#51)
+	5057	(	2 0 4141.5688840483 2 5857.7459552361 )	53.7949073397 (ExtendedPoll#51)
+	5060	(	2 0 4141.9346044712 2 5857.4223513050 )	53.7945977867 (ExtendedPoll#51)
+	5061	(	2 0 4143.0317657398 2 5856.4515395119 )	53.7936730233 (ExtendedPoll#51)
+	5062	(	2 0 4147.4204108144 2 5852.5682923396 )	53.7900323766 (ExtendedPoll#51)
+	5073	(	2 0 4147.4162293615 2 5852.5829669923 )	53.7899332894 (ExtendedPoll#51)
+	5084	(	2 0 4147.4160645968 2 5852.5834144589 )	53.7899306065 (ExtendedPoll#51)
+	5085	(	2 0 4147.4153897141 2 5852.5840882751 )	53.7899304432 (ExtendedPoll#51)
+	5086	(	2 0 4147.4133650660 2 5852.5861097238 )	53.7899299534 (ExtendedPoll#51)
+	5087	(	2 0 4147.4052664734 2 5852.5941955188 )	53.7899279944 (ExtendedPoll#51)
+	5088	(	2 0 4147.3728721030 2 5852.6265386988 )	53.7899201620 (ExtendedPoll#51)
+	5089	(	2 0 4147.2432946213 2 5852.7559114185 )	53.7898888919 (ExtendedPoll#51)
+	5090	(	2 0 4146.7249846949 2 5853.2734022975 )	53.7897647629 (ExtendedPoll#51)
+	5091	(	2 0 4144.6517449892 2 5855.3433658132 )	53.7892834747 (ExtendedPoll#51)
+	5092	(	2 0 4136.3587861663 2 5863.6232198764 )	53.7876021773 (ExtendedPoll#51)
+	5093	(	2 0 4103.1869508749 2 5896.7426361291 )	53.7847922558 (ExtendedPoll#51)
+	5101	(	2 0 4103.1682983337 2 5896.8007512235 )	53.7844302124 (ExtendedPoll#51)
+	5106	(	2 0 4103.1669213843 2 5896.8312377825 )	53.7841632090 (ExtendedPoll#51)
+	5113	(	2 0 4103.1650483182 2 5896.8345609654 )	53.7841499007 (ExtendedPoll#51)
+	5116	(	2 0 4103.1624316887 2 5896.8373367825 )	53.7841484300 (ExtendedPoll#51)
+	5126	(	2 0 4103.1626410673 2 5896.8372227473 )	53.7841475564 (ExtendedPoll#51)
+	5130	(	2 0 4103.1625629696 2 5896.8373128117 )	53.7841474463 (ExtendedPoll#51)
+	5131	(	2 0 4103.1623286764 2 5896.8375830050 )	53.7841471160 (ExtendedPoll#51)
+	5140	(	2 0 4103.1623613751 2 5896.8376095974 )	53.7841465724 (ExtendedPoll#51)
+	5141	(	2 0 4103.1623318769 2 5896.8376613910 )	53.7841463677 (ExtendedPoll#51)
+	5145	(	2 0 4103.1623225735 2 5896.8376730311 )	53.7841463463 (ExtendedPoll#51)
+	5155	(	2 0 4103.1623243672 2 5896.8376725291 )	53.7841463344 (ExtendedPoll#51)
+	5158	(	2 0 4103.1623260046 2 5896.8376734171 )	53.7841463113 (ExtendedPoll#51)
+	5162	(	2 0 4103.1623267413 2 5896.8376728473 )	53.7841463097 (ExtendedPoll#51)
+	5170	(	2 0 4103.1623267301 2 5896.8376730798 )	53.7841463077 (ExtendedPoll#51)
+	5172	(	2 0 4103.1623264493 2 5896.8376734513 )	53.7841463069 (ExtendedPoll#51)
+	5177	(	2 0 4103.1623262249 2 5896.8376736923 )	53.7841463067 (ExtendedPoll#51)
+	5178	(	2 0 4103.1623255517 2 5896.8376744152 )	53.7841463063 (ExtendedPoll#51)
+	5184	(	2 0 4103.1623256446 2 5896.8376743450 )	53.7841463061 (ExtendedPoll#51)
+	5196	(	2 0 4552.7863948639 2 5335.4101869888 )	55.5680147602 (ExtendedPoll#52)
+	5206	(	2 0 4572.0026040455 2 5394.8057426411 )	54.7532818545 (ExtendedPoll#52)
+	5208	(	2 0 4528.3294013600 2 5438.4789453267 )	54.6428900648 (ExtendedPoll#52)
+	5209	(	2 0 4397.3097933033 2 5569.4985533833 )	54.3697111024 (ExtendedPoll#52)
+	5210	(	2 0 3873.2313610768 2 6093.5769856098 )	54.2139782157 (ExtendedPoll#52)
+	5219	(	2 0 3901.1822107956 2 6079.1648287236 )	54.0675524851 (ExtendedPoll#52)
+	5224	(	2 0 3904.6760670104 2 6094.4504496635 )	53.9053251878 (ExtendedPoll#52)
+	5232	(	2 0 3905.5158378706 2 6093.9518756993 )	53.9014892203 (ExtendedPoll#52)
+	5236	(	2 0 3905.9712291027 2 6093.7758394257 )	53.8986171016 (ExtendedPoll#52)
+	5241	(	2 0 3906.2152648514 2 6093.7828499557 )	53.8962262883 (ExtendedPoll#52)
+	5247	(	2 0 3906.2570598051 2 6093.7383694092 )	53.8962008251 (ExtendedPoll#52)
+	5248	(	2 0 3906.3824446664 2 6093.6049277697 )	53.8961245036 (ExtendedPoll#52)
+	5249	(	2 0 3906.8839841115 2 6093.0711612115 )	53.8958202370 (ExtendedPoll#52)
+	5250	(	2 0 3908.8901418918 2 6090.9360949789 )	53.8946194836 (ExtendedPoll#52)
+	5251	(	2 0 3916.9147730132 2 6082.3958300485 )	53.8900773214 (ExtendedPoll#52)
+	5252	(	2 0 3949.0132974987 2 6048.2347703268 )	53.8760722747 (ExtendedPoll#52)
+	5254	(	2 0 3952.3160834518 2 6046.1534692613 )	53.8626856098 (ExtendedPoll#52)
+	5262	(	2 0 3953.1776056142 2 6046.6132320786 )	53.8505840740 (ExtendedPoll#52)
+	5265	(	2 0 3953.5789384631 2 6046.3350499844 )	53.8491773294 (ExtendedPoll#52)
+	5274	(	2 0 3953.6091921986 2 6046.3390542165 )	53.8488567166 (ExtendedPoll#52)
+	5275	(	2 0 3953.6616312293 2 6046.3078233717 )	53.8486289876 (ExtendedPoll#52)
+	5276	(	2 0 3953.7497026781 2 6046.2232971719 )	53.8485221437 (ExtendedPoll#52)
+	5277	(	2 0 3954.0139170244 2 6045.9697185726 )	53.8482018728 (ExtendedPoll#52)
+	5288	(	2 0 3954.0185845590 2 6045.9794463233 )	53.8480741214 (ExtendedPoll#52)
+	5294	(	2 0 3954.0184347508 2 6045.9813477797 )	53.8480591976 (ExtendedPoll#52)
+	5306	(	2 0 3954.0185244766 2 6045.9812692933 )	53.8480590234 (ExtendedPoll#52)
+	5307	(	2 0 3954.0187936542 2 6045.9810338338 )	53.8480585006 (ExtendedPoll#52)
+	5308	(	2 0 3954.0198703645 2 6045.9800919962 )	53.8480564096 (ExtendedPoll#52)
+	5313	(	2 0 3954.0199556739 2 6045.9800087306 )	53.8480563182 (ExtendedPoll#52)
+	5314	(	2 0 3954.0202116021 2 6045.9797589338 )	53.8480560440 (ExtendedPoll#52)
+	5315	(	2 0 3954.0212353150 2 6045.9787597466 )	53.8480549472 (ExtendedPoll#52)
+	5325	(	2 0 3954.0212561678 2 6045.9787384550 )	53.8480549329 (ExtendedPoll#52)
+	5326	(	2 0 3954.0213187265 2 6045.9786745799 )	53.8480548901 (ExtendedPoll#52)
+	5327	(	2 0 3954.0215689610 2 6045.9784190796 )	53.8480547188 (ExtendedPoll#52)
+	5328	(	2 0 3954.0225698990 2 6045.9773970786 )	53.8480540335 (ExtendedPoll#52)
+	5329	(	2 0 3954.0265736512 2 6045.9733090745 )	53.8480512924 (ExtendedPoll#52)
+	5330	(	2 0 3954.0425886598 2 6045.9569570580 )	53.8480403289 (ExtendedPoll#52)
+	5331	(	2 0 3954.1066486941 2 6045.8915489921 )	53.8479964904 (ExtendedPoll#52)
+	5332	(	2 0 3954.3628888317 2 6045.6299167285 )	53.8478213863 (ExtendedPoll#52)
+	5333	(	2 0 3955.3878493820 2 6044.5833876740 )	53.8471249631 (ExtendedPoll#52)
+	5334	(	2 0 3959.4876915833 2 6040.3972714563 )	53.8444031448 (ExtendedPoll#52)
+	5335	(	2 0 3975.8870603884 2 6023.6528065852 )	53.8345365224 (ExtendedPoll#52)
+	5336	(	2 0 4041.4845356089 2 5956.6749471009 )	53.8113115046 (ExtendedPoll#52)
+	5339	(	2 0 4041.6035546824 2 5956.7020629246 )	53.8099638531 (ExtendedPoll#52)
+	5340	(	2 0 4041.9606119028 2 5956.7834103954 )	53.8059210158 (ExtendedPoll#52)
+	5341	(	2 0 4042.3009558066 2 5957.1335637099 )	53.7996303534 (ExtendedPoll#52)
+	5342	(	2 0 4043.0741932721 2 5956.5373221342 )	53.7977822528 (ExtendedPoll#52)
+	5345	(	2 0 4043.9165231091 2 5956.0430131312 )	53.7943836123 (ExtendedPoll#52)
+	5347	(	2 0 4044.5989169010 2 5955.3444124866 )	53.7942993075 (ExtendedPoll#52)
+	5348	(	2 0 4046.6460982769 2 5953.2486105531 )	53.7940631506 (ExtendedPoll#52)
+	5349	(	2 0 4054.8348237804 2 5944.8654028188 )	53.7933696899 (ExtendedPoll#52)
+	5360	(	2 0 4055.0724354313 2 5944.9214870586 )	53.7906651766 (ExtendedPoll#52)
+	5370	(	2 0 4055.0761548684 2 5944.9206398974 )	53.7906383460 (ExtendedPoll#52)
+	5374	(	2 0 4055.0778890903 2 5944.9198458871 )	53.7906294220 (ExtendedPoll#52)
+	5375	(	2 0 4055.0811305415 2 5944.9178346926 )	53.7906174793 (ExtendedPoll#52)
+	5378	(	2 0 4055.0777945058 2 5944.9220743514 )	53.7906102701 (ExtendedPoll#52)
+	5392	(	2 0 4055.0778330577 2 5944.9221198097 )	53.7906095046 (ExtendedPoll#52)
+	5393	(	2 0 4055.0777705351 2 5944.9222213074 )	53.7906091714 (ExtendedPoll#52)
+	5395	(	2 0 4055.0780084500 2 5944.9219823862 )	53.7906091154 (ExtendedPoll#52)
+	5396	(	2 0 4055.0787221949 2 5944.9212656228 )	53.7906089474 (ExtendedPoll#52)
+	5397	(	2 0 4055.0815771745 2 5944.9183985692 )	53.7906082755 (ExtendedPoll#52)
+	5398	(	2 0 4055.0929970928 2 5944.9069303548 )	53.7906055884 (ExtendedPoll#52)
+	5399	(	2 0 4055.1386767659 2 5944.8610574972 )	53.7905948477 (ExtendedPoll#52)
+	5400	(	2 0 4055.3213954584 2 5944.6775660669 )	53.7905520064 (ExtendedPoll#52)
+	5401	(	2 0 4056.0522702285 2 5943.9436003453 )	53.7903825885 (ExtendedPoll#52)
+	5402	(	2 0 4058.9757693086 2 5941.0077374592 )	53.7897360619 (ExtendedPoll#52)
+	5403	(	2 0 4070.6697656292 2 5929.2642859147 )	53.7876477253 (ExtendedPoll#52)
+	5404	(	2 0 4117.4457509116 2 5882.2904797367 )	53.7872228417 (ExtendedPoll#52)
+	5407	(	2 0 4117.6891202600 2 5882.3097520301 )	53.7848204977 (ExtendedPoll#52)
+	5422	(	2 0 4117.6899942270 2 5882.3093703541 )	53.7848160313 (ExtendedPoll#52)
+	5423	(	2 0 4117.6915671836 2 5882.3082915651 )	53.7848116087 (ExtendedPoll#52)
+	5429	(	2 0 4117.6919572521 2 5882.3080173020 )	53.7848105741 (ExtendedPoll#52)
+	5436	(	2 0 4117.6920091373 2 5882.3079879653 )	53.7848103706 (ExtendedPoll#52)
+	5439	(	2 0 4117.6920521121 2 5882.3079466630 )	53.7848103589 (ExtendedPoll#52)
+	5447	(	2 0 4117.6920497867 2 5882.3079495734 )	53.7848103533 (ExtendedPoll#52)
+	5457	(	2 0 4117.6920499996 2 5882.3079496675 )	53.7848103505 (ExtendedPoll#52)
+	5460	(	2 0 4117.6920502143 2 5882.3079495774 )	53.7848103493 (ExtendedPoll#52)
+	5463	(	2 0 4117.6920504410 2 5882.3079495242 )	53.7848103478 (ExtendedPoll#52)
+	5469	(	2 0 4117.6920503703 2 5882.3079496167 )	53.7848103475 (ExtendedPoll#52)
+	5480	(	2 0 4909.1597287779 2 5083.8525395201 )	55.5960691542 (ExtendedPoll#53)
+	5481	(	2 0 4636.6389440201 2 5335.4101869888 )	54.8753885588 (ExtendedPoll#53)
+	5490	(	2 0 4690.7937153502 2 5303.9654810552 )	54.7846942177 (ExtendedPoll#53)
+	5492	(	2 0 4565.0148916158 2 5429.7443047896 )	54.4304906658 (ExtendedPoll#53)
+	5493	(	2 0 4187.6784204127 2 5807.0807759926 )	53.8546415124 (ExtendedPoll#53)
+	5505	(	2 0 4195.7852586612 2 5799.5744442811 )	53.8531825911 (ExtendedPoll#53)
+	5506	(	2 0 4220.1057734067 2 5777.0554491463 )	53.8508015438 (ExtendedPoll#53)
+	5508	(	2 0 4231.5699891117 2 5766.4646974951 )	53.8504789320 (ExtendedPoll#53)
+	5511	(	2 0 4237.6296459843 2 5761.5514621930 )	53.8439440609 (ExtendedPoll#53)
+	5518	(	2 0 4239.1257943732 2 5760.2958576158 )	53.8427664280 (ExtendedPoll#53)
+	5523	(	2 0 4239.9101207378 2 5759.7136904120 )	53.8414160967 (ExtendedPoll#53)
+	5527	(	2 0 4239.7094543134 2 5760.1588457372 )	53.8388916705 (ExtendedPoll#53)
+	5531	(	2 0 4239.2194102715 2 5760.6452645620 )	53.8385475799 (ExtendedPoll#53)
+	5532	(	2 0 4237.7492781460 2 5762.1045210365 )	53.8375232191 (ExtendedPoll#53)
+	5533	(	2 0 4231.8687496437 2 5767.9415469345 )	53.8335445270 (ExtendedPoll#53)
+	5534	(	2 0 4208.3466356348 2 5791.2896505265 )	53.8195350703 (ExtendedPoll#53)
+	5535	(	2 0 4114.2581795991 2 5884.6820648944 )	53.7943112519 (ExtendedPoll#53)
+	5548	(	2 0 4114.9485701934 2 5884.6988048671 )	53.7878427663 (ExtendedPoll#53)
+	5551	(	2 0 4115.3912731659 2 5884.4929138652 )	53.7856923145 (ExtendedPoll#53)
+	5557	(	2 0 4115.5104388474 2 5884.4664511137 )	53.7848465681 (ExtendedPoll#53)
+	5563	(	2 0 4115.5040354705 2 5884.4803013045 )	53.7847774342 (ExtendedPoll#53)
+	5569	(	2 0 4115.5085943246 2 5884.4864188582 )	53.7846793465 (ExtendedPoll#53)
+	5571	(	2 0 4115.5038751700 2 5884.4924136225 )	53.7846672332 (ExtendedPoll#53)
+	5576	(	2 0 4115.5033916134 2 5884.4961975456 )	53.7846367702 (ExtendedPoll#53)
+	5585	(	2 0 4115.5032700638 2 5884.4964026531 )	53.7846359908 (ExtendedPoll#53)
+	5586	(	2 0 4115.5029054151 2 5884.4970179759 )	53.7846336525 (ExtendedPoll#53)
+	5594	(	2 0 4115.5029626983 2 5884.4970015034 )	53.7846332805 (ExtendedPoll#53)
+	5598	(	2 0 4115.5030374021 2 5884.4969624551 )	53.7846329574 (ExtendedPoll#53)
+	5619	(	2 0 4115.5030374174 2 5884.4969625705 )	53.7846329562 (ExtendedPoll#53)
+	5637	(	2 0 4975.5429968599 2 5019.6529315723 )	55.8517940762 (ExtendedPoll#54)
+	5638	(	2 0 4902.1720163482 2 5078.6117551978 )	55.7134020563 (ExtendedPoll#54)
+	5639	(	2 0 4608.6880943013 2 5314.4470496997 )	55.3395226272 (ExtendedPoll#54)
+	5643	(	2 0 4552.7863948639 2 5426.2504485747 )	54.5705629398 (ExtendedPoll#54)
+	5648	(	2 0 4591.6555452540 2 5405.2873112856 )	54.4751741266 (ExtendedPoll#54)
+	5661	(	2 0 4592.5840273072 2 5406.3096224852 )	54.4562806449 (ExtendedPoll#54)
+	5665	(	2 0 4592.3579843636 2 5406.7424094230 )	54.4534252540 (ExtendedPoll#54)
+	5666	(	2 0 4591.6798555328 2 5408.0407702362 )	54.4448631609 (ExtendedPoll#54)
+	5672	(	2 0 4591.6012203107 2 5408.2719044772 )	54.4429899385 (ExtendedPoll#54)
+	5676	(	2 0 4591.5696196138 2 5408.3898106624 )	54.4419637140 (ExtendedPoll#54)
+	5680	(	2 0 4591.5680918914 2 5408.4202901410 )	54.4416432602 (ExtendedPoll#54)
+	5686	(	2 0 4591.5700204171 2 5408.4276717726 )	54.4415465559 (ExtendedPoll#54)
+	5688	(	2 0 4591.5654575021 2 5408.4337863066 )	54.4415176321 (ExtendedPoll#54)
+	5695	(	2 0 4591.5646332830 2 5408.4348538518 )	54.4415128113 (ExtendedPoll#54)
+	5699	(	2 0 4591.5645519834 2 5408.4353237071 )	54.4415083512 (ExtendedPoll#54)
+	5707	(	2 0 4591.5646115597 2 5408.4353255431 )	54.4415078361 (ExtendedPoll#54)
+	5712	(	2 0 4591.5645990175 2 5408.4353525777 )	54.4415076449 (ExtendedPoll#54)
+	5713	(	2 0 4591.5645613907 2 5408.4354336816 )	54.4415070710 (ExtendedPoll#54)
+	5722	(	2 0 4591.5645699689 2 5408.4354275629 )	54.4415070666 (ExtendedPoll#54)
+	5729	(	2 0 4591.5645717027 2 5408.4354268822 )	54.4415070596 (ExtendedPoll#54)
+	5731	(	2 0 4591.5645704450 2 5408.4354282562 )	54.4415070551 (ExtendedPoll#54)
+	5732	(	2 0 4591.5645666721 2 5408.4354323781 )	54.4415070414 (ExtendedPoll#54)
+	5737	(	2 0 4591.5645657541 2 5408.4354339988 )	54.4415070313 (ExtendedPoll#54)
+	5747	(	2 0 4591.5645658577 2 5408.4354341268 )	54.4415070290 (ExtendedPoll#54)
+	5771	(	2 0 4999.4391479660 2 5000.4028159491 )	55.9011173930 (ExtendedPoll#55)
+	5772	(	2 0 4997.7566207727 2 5001.6112927051 )	55.8993758016 (ExtendedPoll#55)
+	5773	(	2 0 4991.0265119995 2 5006.4451997289 )	55.8924862980 (ExtendedPoll#55)
+	5774	(	2 0 4964.1060769066 2 5025.7808278241 )	55.8661643975 (ExtendedPoll#55)
+	5775	(	2 0 4856.4243365351 2 5103.1233402051 )	55.7810605478 (ExtendedPoll#55)
+	5778	(	2 0 4863.9579639983 2 5116.7712160443 )	55.5599122421 (ExtendedPoll#55)
+	5779	(	2 0 4848.2356110316 2 5143.8486017093 )	55.3646109717 (ExtendedPoll#55)
+	5785	(	2 0 4842.8037564475 2 5149.4715265551 )	55.3415309539 (ExtendedPoll#55)
+	5786	(	2 0 4826.5081926955 2 5166.3403010924 )	55.2731138922 (ExtendedPoll#55)
+	5787	(	2 0 4761.3259376873 2 5233.8153992415 )	55.0119577195 (ExtendedPoll#55)
+	5790	(	2 0 4739.4893363446 2 5256.0887326112 )	54.9328003343 (ExtendedPoll#55)
+	5791	(	2 0 4673.9795323162 2 5322.9087327200 )	54.7090508194 (ExtendedPoll#55)
+	5793	(	2 0 4628.5594015233 2 5364.8350072982 )	54.6149385255 (ExtendedPoll#55)
+	5794	(	2 0 4492.2990091444 2 5490.6138310325 )	54.3872651867 (ExtendedPoll#55)
+	5795	(	2 0 3947.2574396288 2 5993.7291259700 )	54.3655883138 (ExtendedPoll#55)
+	5803	(	2 0 3928.0412304472 2 6053.1246816223 )	54.0330892795 (ExtendedPoll#55)
+	5812	(	2 0 3929.8700458096 2 6060.7129005889 )	53.9508748031 (ExtendedPoll#55)
+	5814	(	2 0 3925.2024722726 2 6066.9909234750 )	53.9417691814 (ExtendedPoll#55)
+	5815	(	2 0 3911.1997516616 2 6085.8249921331 )	53.9156381344 (ExtendedPoll#55)
+	5820	(	2 0 3919.7706176886 2 6078.8372797034 )	53.8929555395 (ExtendedPoll#55)
+	5828	(	2 0 3920.5459876347 2 6078.2435971044 )	53.8905945920 (ExtendedPoll#55)
+	5829	(	2 0 3922.8720974731 2 6076.4625493074 )	53.8835272419 (ExtendedPoll#55)
+	5835	(	2 0 3922.0826531550 2 6077.5957494982 )	53.8814445368 (ExtendedPoll#55)
+	5841	(	2 0 3922.3040046412 2 6077.4927773412 )	53.8802087502 (ExtendedPoll#55)
+	5844	(	2 0 3922.2317402049 2 6077.7259640948 )	53.8789219399 (ExtendedPoll#55)
+	5854	(	2 0 3922.2265169811 2 6077.7403010701 )	53.8788502601 (ExtendedPoll#55)
+	5855	(	2 0 3922.2108473095 2 6077.7833119959 )	53.8786352255 (ExtendedPoll#55)
+	5861	(	2 0 3922.2085611664 2 6077.7905908301 )	53.8785953531 (ExtendedPoll#55)
+	5867	(	2 0 3922.2107347292 2 6077.7889934610 )	53.8785881820 (ExtendedPoll#55)
+	5876	(	2 0 3922.2108535295 2 6077.7889835942 )	53.8785871342 (ExtendedPoll#55)
+	5877	(	2 0 3922.2110146221 2 6077.7888078314 )	53.8785870886 (ExtendedPoll#55)
+	5878	(	2 0 3922.2114979001 2 6077.7882805429 )	53.8785869518 (ExtendedPoll#55)
+	5879	(	2 0 3922.2134310120 2 6077.7861713891 )	53.8785864048 (ExtendedPoll#55)
+	5880	(	2 0 3922.2211634595 2 6077.7777347737 )	53.8785842169 (ExtendedPoll#55)
+	5881	(	2 0 3922.2520932495 2 6077.7439883121 )	53.8785754693 (ExtendedPoll#55)
+	5882	(	2 0 3922.3758124097 2 6077.6090024659 )	53.8785405430 (ExtendedPoll#55)
+	5883	(	2 0 3922.8706890504 2 6077.0690590808 )	53.8784018624 (ExtendedPoll#55)
+	5884	(	2 0 3924.8501956130 2 6074.9092855406 )	53.8778635334 (ExtendedPoll#55)
+	5885	(	2 0 3932.7682218633 2 6066.2701913799 )	53.8759723517 (ExtendedPoll#55)
+	5886	(	2 0 3964.4403268649 2 6031.7138147370 )	53.8725913899 (ExtendedPoll#55)
+	5888	(	2 0 3964.6765257473 2 6031.6520794236 )	53.8708963698 (ExtendedPoll#55)
+	5889	(	2 0 3965.3851223947 2 6031.4668734835 )	53.8658119765 (ExtendedPoll#55)
+	5890	(	2 0 3968.2195089840 2 6030.7260497231 )	53.8454844045 (ExtendedPoll#55)
+	5892	(	2 0 3966.5220544265 2 6032.9062978884 )	53.8426385768 (ExtendedPoll#55)
+	5893	(	2 0 3964.0381410238 2 6035.9224784489 )	53.8400218659 (ExtendedPoll#55)
+	5908	(	2 0 3964.1134625710 2 6035.8803219730 )	53.8396748316 (ExtendedPoll#55)
+	5911	(	2 0 3964.1376216602 2 6035.8616765123 )	53.8396077632 (ExtendedPoll#55)
+	5920	(	2 0 3964.1391333458 2 6035.8605134178 )	53.8396035356 (ExtendedPoll#55)
+	5925	(	2 0 3964.1395137360 2 6035.8602258817 )	53.8396024275 (ExtendedPoll#55)
+	5929	(	2 0 3964.1397422881 2 6035.8601580043 )	53.8396008562 (ExtendedPoll#55)
+	5930	(	2 0 3964.1401032802 2 6035.8598464624 )	53.8396001384 (ExtendedPoll#55)
+	5938	(	2 0 3964.1401437730 2 6035.8598027239 )	53.8396001338 (ExtendedPoll#55)
+	5939	(	2 0 3964.1402652513 2 6035.8596715087 )	53.8396001200 (ExtendedPoll#55)
+	5940	(	2 0 3964.1407511646 2 6035.8591466477 )	53.8396000647 (ExtendedPoll#55)
+	5941	(	2 0 3964.1426948176 2 6035.8570472037 )	53.8395998438 (ExtendedPoll#55)
+	5942	(	2 0 3964.1504694296 2 6035.8486494278 )	53.8395989603 (ExtendedPoll#55)
+	5943	(	2 0 3964.1815678778 2 6035.8150583240 )	53.8395954303 (ExtendedPoll#55)
+	5944	(	2 0 3964.3059616705 2 6035.6806939089 )	53.8395813737 (ExtendedPoll#55)
+	5945	(	2 0 3964.8035368415 2 6035.1432362487 )	53.8395261614 (ExtendedPoll#55)
+	5946	(	2 0 3966.7938375252 2 6032.9934056075 )	53.8393215384 (ExtendedPoll#55)
+	5947	(	2 0 3974.7550402603 2 6024.3940830430 )	53.8387624914 (ExtendedPoll#55)
+	5949	(	2 0 3974.8020931115 2 6024.3552069220 )	53.8386567319 (ExtendedPoll#55)
+	5950	(	2 0 3974.9432516652 2 6024.2385785592 )	53.8383395150 (ExtendedPoll#55)
+	5951	(	2 0 3975.5078858801 2 6023.7720651080 )	53.8370715717 (ExtendedPoll#55)
+	5952	(	2 0 3977.7664227394 2 6021.9060113031 )	53.8320145804 (ExtendedPoll#55)
+	5955	(	2 0 3978.1694615728 2 6021.6302815615 )	53.8306170085 (ExtendedPoll#55)
+	5960	(	2 0 3978.2884006782 2 6021.6028192098 )	53.8297362750 (ExtendedPoll#55)
+	5965	(	2 0 3978.3433620337 2 6021.5762764903 )	53.8294496693 (ExtendedPoll#55)
+	5968	(	2 0 3978.4034030246 2 6021.5653058772 )	53.8289799544 (ExtendedPoll#55)
+	5972	(	2 0 3978.4320361581 2 6021.5547475992 )	53.8288022372 (ExtendedPoll#55)
+	5973	(	2 0 3978.4762518106 2 6021.5126727574 )	53.8287517449 (ExtendedPoll#55)
+	5974	(	2 0 3978.6088987679 2 6021.3864482319 )	53.8286003328 (ExtendedPoll#55)
+	5978	(	2 0 3978.6514101019 2 6021.3426524116 )	53.8285808779 (ExtendedPoll#55)
+	5979	(	2 0 3978.7789441037 2 6021.2112649506 )	53.8285225798 (ExtendedPoll#55)
+	5980	(	2 0 3979.2890801112 2 6020.6857151068 )	53.8282903842 (ExtendedPoll#55)
+	5981	(	2 0 3981.3296241412 2 6018.5835157314 )	53.8273775476 (ExtendedPoll#55)
+	5982	(	2 0 3989.4918002613 2 6010.1747182300 )	53.8239811631 (ExtendedPoll#55)
+	5983	(	2 0 4022.1405047416 2 5976.5395282242 )	53.8144637068 (ExtendedPoll#55)
+	5988	(	2 0 4020.7893650335 2 5978.9483783098 )	53.8057221545 (ExtendedPoll#55)
+	5993	(	2 0 4021.8359865119 2 5978.0476185044 )	53.8039392071 (ExtendedPoll#55)
+	6002	(	2 0 4021.8964440029 2 5978.0392385221 )	53.8034496620 (ExtendedPoll#55)
+	6005	(	2 0 4021.9498759700 2 5978.0097369858 )	53.8032127550 (ExtendedPoll#55)
+	6009	(	2 0 4021.9714769156 2 5977.9881793562 )	53.8032023063 (ExtendedPoll#55)
+	6010	(	2 0 4022.0362797523 2 5977.9235064675 )	53.8031709766 (ExtendedPoll#55)
+	6011	(	2 0 4022.2954910992 2 5977.6648149127 )	53.8030459025 (ExtendedPoll#55)
+	6012	(	2 0 4023.3323364869 2 5976.6300486937 )	53.8025495188 (ExtendedPoll#55)
+	6013	(	2 0 4027.4797180376 2 5972.4909838173 )	53.8006265679 (ExtendedPoll#55)
+	6026	(	2 0 4027.4926149637 2 5972.4991384731 )	53.8004340240 (ExtendedPoll#55)
+	6028	(	2 0 4027.4867594927 2 5972.5132290886 )	53.8003634319 (ExtendedPoll#55)
+	6045	(	2 0 4027.4868017206 2 5972.5131870229 )	53.8003634121 (ExtendedPoll#55)
+	6046	(	2 0 4027.4869284044 2 5972.5130608261 )	53.8003633529 (ExtendedPoll#55)
+	6047	(	2 0 4027.4874351394 2 5972.5125560387 )	53.8003631157 (ExtendedPoll#55)
+	6048	(	2 0 4027.4894620797 2 5972.5105368890 )	53.8003621672 (ExtendedPoll#55)
+	6063	(	2 0 4027.4894630105 2 5972.5105368589 )	53.8003621588 (ExtendedPoll#55)
+	6069	(	2 0 4027.4894632002 2 5972.5105367239 )	53.8003621582 (ExtendedPoll#55)
+	6074	(	2 0 4027.4894631259 2 5972.5105368136 )	53.8003621581 (ExtendedPoll#55)
+	6075	(	2 0 4027.4894629032 2 5972.5105370826 )	53.8003621578 (ExtendedPoll#55)
+	6083	(	2 0 4027.4894628766 2 5972.5105371140 )	53.8003621577 (ExtendedPoll#55)
+	6090	(	2 0 4748.4423428951 2 5251.5576378325 )	54.9123291399 (ExtendedPoll#56)
+	6091	(	2 0 3993.7694004889 2 6006.2305802387 )	53.8183151870 (ExtendedPoll#56)
+	6130	(	2 0 3993.7694619626 2 6006.2305225636 )	53.8183151149 (ExtendedPoll#56)
+	6131	(	2 0 3993.7696463836 2 6006.2303495384 )	53.8183148988 (ExtendedPoll#56)
+	6142	(	2 0 3993.7696499094 2 6006.2303483359 )	53.8183148762 (ExtendedPoll#56)
+	6150	(	2 0 3993.7696494122 2 6006.2303491234 )	53.8183148740 (ExtendedPoll#56)
+	6151	(	2 0 3993.7696479206 2 6006.2303514859 )	53.8183148673 (ExtendedPoll#56)
+	6156	(	2 0 3993.7696473156 2 6006.2303521939 )	53.8183148668 (ExtendedPoll#56)
+	6157	(	2 0 3993.7696455004 2 6006.2303543179 )	53.8183148653 (ExtendedPoll#56)
+	6166	(	2 0 3993.7696457355 2 6006.2303540873 )	53.8183148651 (ExtendedPoll#56)
+	6167	(	2 0 3993.7696464408 2 6006.2303533957 )	53.8183148645 (ExtendedPoll#56)
+	6168	(	2 0 3993.7696492618 2 6006.2303506290 )	53.8183148623 (ExtendedPoll#56)
+	6171	(	2 0 3993.7696499024 2 6006.2303499530 )	53.8183148622 (ExtendedPoll#56)
+	6172	(	2 0 3993.7696518242 2 6006.2303479249 )	53.8183148619 (ExtendedPoll#56)
+	6173	(	2 0 3993.7696595112 2 6006.2303398127 )	53.8183148607 (ExtendedPoll#56)
+	6174	(	2 0 3993.7696902595 2 6006.2303073636 )	53.8183148562 (ExtendedPoll#56)
+	6175	(	2 0 3993.7698132527 2 6006.2301775672 )	53.8183148381 (ExtendedPoll#56)
+	6176	(	2 0 3993.7703052255 2 6006.2296583817 )	53.8183147657 (ExtendedPoll#56)
+	6177	(	2 0 3993.7722731166 2 6006.2275816398 )	53.8183144759 (ExtendedPoll#56)
+	6178	(	2 0 3993.7801446810 2 6006.2192746722 )	53.8183133172 (ExtendedPoll#56)
+	6179	(	2 0 3993.8116309384 2 6006.1860468016 )	53.8183086862 (ExtendedPoll#56)
+	6180	(	2 0 3993.9375759683 2 6006.0531353193 )	53.8182902249 (ExtendedPoll#56)
+	6181	(	2 0 3994.4413560878 2 6005.5214893902 )	53.8182173813 (ExtendedPoll#56)
+	6182	(	2 0 3996.4564765659 2 6003.3949056739 )	53.8179420284 (ExtendedPoll#56)
+	6183	(	2 0 4004.5169584783 2 5994.8885708083 )	53.8170967872 (ExtendedPoll#56)
+	6185	(	2 0 4004.5245453924 2 5994.8877669371 )	53.8170328494 (ExtendedPoll#56)
+	6186	(	2 0 4004.5473061346 2 5994.8853553233 )	53.8168410364 (ExtendedPoll#56)
+	6187	(	2 0 4004.6383491034 2 5994.8757088682 )	53.8160737928 (ExtendedPoll#56)
+	6188	(	2 0 4005.0025209789 2 5994.8371230479 )	53.8130049524 (ExtendedPoll#56)
+	6191	(	2 0 4005.0443542507 2 5994.7926791534 )	53.8130042923 (ExtendedPoll#56)
+	6192	(	2 0 4005.1698540660 2 5994.6593474699 )	53.8130023789 (ExtendedPoll#56)
+	6193	(	2 0 4005.6718533272 2 5994.1260207358 )	53.8129957265 (ExtendedPoll#56)
+	6194	(	2 0 4007.6798503720 2 5991.9927137997 )	53.8129851374 (ExtendedPoll#56)
+	6199	(	2 0 4007.2403461204 2 5992.5254074536 )	53.8124063797 (ExtendedPoll#56)
+	6203	(	2 0 4007.7373207242 2 5992.0459191907 )	53.8119791690 (ExtendedPoll#56)
+	6204	(	2 0 4009.2282445356 2 5990.6074544020 )	53.8107058155 (ExtendedPoll#56)
+	6212	(	2 0 4009.3503023939 2 5990.6056218015 )	53.8095807273 (ExtendedPoll#56)
+	6214	(	2 0 4009.4380806266 2 5990.5207890577 )	53.8095074272 (ExtendedPoll#56)
+	6215	(	2 0 4009.7014153247 2 5990.2662908261 )	53.8092877859 (ExtendedPoll#56)
+	6222	(	2 0 4009.7506106525 2 5990.2301636059 )	53.8091461907 (ExtendedPoll#56)
+	6229	(	2 0 4009.7635053921 2 5990.2220054099 )	53.8090975243 (ExtendedPoll#56)
+	6230	(	2 0 4009.8021896106 2 5990.1975308217 )	53.8089515284 (ExtendedPoll#56)
+	6240	(	2 0 4009.8017843826 2 5990.1980698371 )	53.8089505672 (ExtendedPoll#56)
+	6247	(	2 0 4009.8017202471 2 5990.1981703234 )	53.8089502814 (ExtendedPoll#56)
+	6248	(	2 0 4009.8015278408 2 5990.1984717824 )	53.8089494238 (ExtendedPoll#56)
+	6263	(	2 0 4009.8015265652 2 5990.1984731397 )	53.8089494237 (ExtendedPoll#56)
+	6264	(	2 0 4009.8015227385 2 5990.1984772118 )	53.8089494236 (ExtendedPoll#56)
+	6268	(	2 0 4009.8015264517 2 5990.1984734744 )	53.8089494218 (ExtendedPoll#56)
+	6269	(	2 0 4009.8015375912 2 5990.1984622623 )	53.8089494165 (ExtendedPoll#56)
+	6270	(	2 0 4009.8015821493 2 5990.1984174139 )	53.8089493951 (ExtendedPoll#56)
+	6271	(	2 0 4009.8017603815 2 5990.1982380201 )	53.8089493096 (ExtendedPoll#56)
+	6272	(	2 0 4009.8024733106 2 5990.1975204453 )	53.8089489676 (ExtendedPoll#56)
+	6273	(	2 0 4009.8053250269 2 5990.1946501458 )	53.8089475994 (ExtendedPoll#56)
+	6274	(	2 0 4009.8167318920 2 5990.1831689481 )	53.8089421273 (ExtendedPoll#56)
+	6275	(	2 0 4009.8623593525 2 5990.1372441570 )	53.8089202465 (ExtendedPoll#56)
+	6276	(	2 0 4010.0448691945 2 5989.9535449926 )	53.8088328461 (ExtendedPoll#56)
+	6277	(	2 0 4010.7749085625 2 5989.2187483350 )	53.8084852115 (ExtendedPoll#56)
+	6278	(	2 0 4013.6950660346 2 5986.2795617047 )	53.8071261335 (ExtendedPoll#56)
+	6279	(	2 0 4025.3756959228 2 5974.5228151836 )	53.8021926744 (ExtendedPoll#56)
+	6280	(	2 0 4072.0982154756 2 5927.4958290993 )	53.7904707641 (ExtendedPoll#56)
+	6282	(	2 0 4072.1230863636 2 5927.4781440878 )	53.7904013936 (ExtendedPoll#56)
+	6283	(	2 0 4072.1976990276 2 5927.4250890534 )	53.7901932963 (ExtendedPoll#56)
+	6284	(	2 0 4072.4961496835 2 5927.2128689157 )	53.7893611206 (ExtendedPoll#56)
+	6287	(	2 0 4072.6142224687 2 5927.1818879709 )	53.7885522474 (ExtendedPoll#56)
+	6291	(	2 0 4072.7124431924 2 5927.2543656553 )	53.7869896937 (ExtendedPoll#56)
+	6292	(	2 0 4072.8894390822 2 5927.0862195600 )	53.7868793477 (ExtendedPoll#56)
+	6298	(	2 0 4072.8331432603 2 5927.1516517284 )	53.7868061997 (ExtendedPoll#56)
+	6308	(	2 0 4072.8364485532 2 5927.1585279631 )	53.7867134349 (ExtendedPoll#56)
+	6311	(	2 0 4072.8360952700 2 5927.1623262685 )	53.7866822980 (ExtendedPoll#56)
+	6317	(	2 0 4072.8355323017 2 5927.1630960486 )	53.7866805212 (ExtendedPoll#56)
+	6318	(	2 0 4072.8338433970 2 5927.1654053888 )	53.7866751908 (ExtendedPoll#56)
+	6322	(	2 0 4072.8348036881 2 5927.1644583778 )	53.7866749068 (ExtendedPoll#56)
+	6323	(	2 0 4072.8376845612 2 5927.1616173446 )	53.7866740546 (ExtendedPoll#56)
+	6324	(	2 0 4072.8492080538 2 5927.1502532121 )	53.7866706465 (ExtendedPoll#56)
+	6325	(	2 0 4072.8546839370 2 5927.1449407271 )	53.7866682334 (ExtendedPoll#56)
+	6337	(	2 0 4072.8548902901 2 5927.1448213042 )	53.7866674110 (ExtendedPoll#56)
+	6338	(	2 0 4072.8555093493 2 5927.1444630354 )	53.7866649438 (ExtendedPoll#56)
+	6343	(	2 0 4072.8556843793 2 5927.1443011469 )	53.7866647950 (ExtendedPoll#56)
+	6351	(	2 0 4072.8556567359 2 5927.1443329620 )	53.7866647619 (ExtendedPoll#56)
+	6357	(	2 0 4072.8556523714 2 5927.1443390004 )	53.7866647475 (ExtendedPoll#56)
+	6358	(	2 0 4072.8556392781 2 5927.1443571157 )	53.7866647042 (ExtendedPoll#56)
+	6363	(	2 0 4072.8556357434 2 5927.1443636744 )	53.7866646774 (ExtendedPoll#56)
+	6370	(	2 0 4072.8556351991 2 5927.1443644301 )	53.7866646756 (ExtendedPoll#56)
+	6375	(	2 0 4072.8556348885 2 5927.1443647771 )	53.7866646753 (ExtendedPoll#56)
+	6376	(	2 0 4072.8556339570 2 5927.1443658182 )	53.7866646745 (ExtendedPoll#56)
+	6377	(	2 0 4072.8556327029 2 5927.1443671954 )	53.7866646736 (ExtendedPoll#56)
+	6386	(	2 0 4072.8556329763 2 5927.1443670119 )	53.7866646727 (ExtendedPoll#56)
+	6405	(	2 0 4954.5798595708 2 5043.6731930494 )	55.7239163641 (ExtendedPoll#57)
+	6406	(	2 0 4818.3194671920 2 5174.6928011060 )	55.2406520186 (ExtendedPoll#57)
+	6407	(	2 0 4273.2778976764 2 5698.7712333325 )	54.1421761447 (ExtendedPoll#57)
+	6418	(	2 0 4267.0544662937 2 5713.0742072120 )	54.0559868372 (ExtendedPoll#57)
+	6420	(	2 0 4305.9236166838 2 5692.5478019498 )	53.9161736343 (ExtendedPoll#57)
+	6436	(	2 0 4306.4284814658 2 5693.0189735384 )	53.9070540230 (ExtendedPoll#57)
+	6437	(	2 0 4307.3369182014 2 5692.6607167976 )	53.9026276457 (ExtendedPoll#57)
+	6453	(	2 0 4307.3366998789 2 5692.6626116095 )	53.9026107377 (ExtendedPoll#57)
+	6459	(	2 0 4307.3371752453 2 5692.6626490319 )	53.9026061874 (ExtendedPoll#57)
+	6461	(	2 0 4307.3375784896 2 5692.6623945369 )	53.9026051716 (ExtendedPoll#57)
+	6474	(	2 0 4307.3375909856 2 5692.6624026545 )	53.9026049811 (ExtendedPoll#57)
+	6479	(	2 0 4307.3375975611 2 5692.6623991511 )	53.9026049581 (ExtendedPoll#57)
+	6487	(	2 0 4307.3375983269 2 5692.6623986211 )	53.9026049566 (ExtendedPoll#57)
+	6488	(	2 0 4307.3376006244 2 5692.6623970312 )	53.9026049522 (ExtendedPoll#57)
+	6490	(	2 0 4307.3375976707 2 5692.6624013936 )	53.9026049349 (ExtendedPoll#57)
+	6495	(	2 0 4307.3375969844 2 5692.6624020232 )	53.9026049346 (ExtendedPoll#57)
+	6496	(	2 0 4307.3375949256 2 5692.6624039121 )	53.9026049340 (ExtendedPoll#57)
+	6497	(	2 0 4307.3375866905 2 5692.6624114674 )	53.9026049313 (ExtendedPoll#57)
+	6498	(	2 0 4307.3375537500 2 5692.6624416886 )	53.9026049205 (ExtendedPoll#57)
+	6499	(	2 0 4307.3374219878 2 5692.6625625735 )	53.9026048776 (ExtendedPoll#57)
+	6500	(	2 0 4307.3368949392 2 5692.6630461130 )	53.9026047059 (ExtendedPoll#57)
+	6501	(	2 0 4307.3347867446 2 5692.6649802712 )	53.9026040190 (ExtendedPoll#57)
+	6502	(	2 0 4307.3263539663 2 5692.6727169040 )	53.9026012717 (ExtendedPoll#57)
+	6503	(	2 0 4307.2926228530 2 5692.7036634351 )	53.9025902858 (ExtendedPoll#57)
+	6504	(	2 0 4307.1576983999 2 5692.8274495597 )	53.9025463974 (ExtendedPoll#57)
+	6505	(	2 0 4306.6180005874 2 5693.3225940580 )	53.9023717283 (ExtendedPoll#57)
+	6506	(	2 0 4304.4592093375 2 5695.3031720513 )	53.9016872027 (ExtendedPoll#57)
+	6507	(	2 0 4295.8240443380 2 5703.2254840245 )	53.8991757562 (ExtendedPoll#57)
+	6508	(	2 0 4261.2833843400 2 5734.9147319171 )	53.8927720075 (ExtendedPoll#57)
+	6511	(	2 0 4261.2854283144 2 5734.9298531621 )	53.8926060076 (ExtendedPoll#57)
+	6512	(	2 0 4261.2915602373 2 5734.9752168971 )	53.8921080120 (ExtendedPoll#57)
+	6513	(	2 0 4261.3160879292 2 5735.1566718371 )	53.8901160910 (ExtendedPoll#57)
+	6514	(	2 0 4261.4141986968 2 5735.8824915973 )	53.8821493903 (ExtendedPoll#57)
+	6515	(	2 0 4261.5839708086 2 5736.0579414386 )	53.8789281638 (ExtendedPoll#57)
+	6516	(	2 0 4262.0932871439 2 5736.5842909627 )	53.8692650726 (ExtendedPoll#57)
+	6517	(	2 0 4262.1303923063 2 5737.5601140852 )	53.8593995884 (ExtendedPoll#57)
+	6525	(	2 0 4262.0592807423 2 5737.6593344091 )	53.8590609755 (ExtendedPoll#57)
+	6526	(	2 0 4261.8459460503 2 5737.9569953809 )	53.8580454076 (ExtendedPoll#57)
+	6531	(	2 0 4261.8066484312 2 5738.0725691654 )	53.8572649584 (ExtendedPoll#57)
+	6532	(	2 0 4261.6592140538 2 5738.2671580201 )	53.8566720935 (ExtendedPoll#57)
+	6537	(	2 0 4261.6094206317 2 5738.3786067875 )	53.8560252022 (ExtendedPoll#57)
+	6544	(	2 0 4261.6039575038 2 5738.3928541111 )	53.8559345028 (ExtendedPoll#57)
+	6545	(	2 0 4261.5822528497 2 5738.4143071991 )	53.8559175202 (ExtendedPoll#57)
+	6546	(	2 0 4261.5171388874 2 5738.4786664632 )	53.8558665878 (ExtendedPoll#57)
+	6547	(	2 0 4261.2566830381 2 5738.7361035197 )	53.8556630883 (ExtendedPoll#57)
+	6548	(	2 0 4260.2148596411 2 5739.7658517453 )	53.8548527711 (ExtendedPoll#57)
+	6549	(	2 0 4256.0475660528 2 5743.8848446480 )	53.8516704284 (ExtendedPoll#57)
+	6550	(	2 0 4239.3783916996 2 5760.3608162588 )	53.8398857910 (ExtendedPoll#57)
+	6551	(	2 0 4172.7016942871 2 5826.2647027020 )	53.8079830812 (ExtendedPoll#57)
+	6557	(	2 0 4172.3873666467 2 5827.1893462901 )	53.8020966299 (ExtendedPoll#57)
+	6559	(	2 0 4171.7493284512 2 5827.9288905621 )	53.8008851851 (ExtendedPoll#57)
+	6560	(	2 0 4169.8352138647 2 5830.1475233783 )	53.7972677698 (ExtendedPoll#57)
+	6571	(	2 0 4169.8728479823 2 5830.1263964098 )	53.7971266241 (ExtendedPoll#57)
+	6578	(	2 0 4169.8744650652 2 5830.1253849637 )	53.7971215364 (ExtendedPoll#57)
+	6586	(	2 0 4169.8742332961 2 5830.1256298513 )	53.7971213238 (ExtendedPoll#57)
+	6587	(	2 0 4169.8735379888 2 5830.1263645140 )	53.7971206859 (ExtendedPoll#57)
+	6595	(	2 0 4169.8735402993 2 5830.1264240738 )	53.7971201036 (ExtendedPoll#57)
+	6600	(	2 0 4169.8735394760 2 5830.1264538648 )	53.7971198303 (ExtendedPoll#57)
+	6605	(	2 0 4169.8735316923 2 5830.1264665714 )	53.7971197809 (ExtendedPoll#57)
+	6606	(	2 0 4169.8735105156 2 5830.1264875411 )	53.7971197747 (ExtendedPoll#57)
+	6607	(	2 0 4169.8734469856 2 5830.1265504500 )	53.7971197562 (ExtendedPoll#57)
+	6608	(	2 0 4169.8731928654 2 5830.1268020859 )	53.7971196820 (ExtendedPoll#57)
+	6609	(	2 0 4169.8721763846 2 5830.1278086295 )	53.7971193855 (ExtendedPoll#57)
+	6610	(	2 0 4169.8681104615 2 5830.1318348037 )	53.7971181995 (ExtendedPoll#57)
+	6611	(	2 0 4169.8518467691 2 5830.1479395006 )	53.7971134562 (ExtendedPoll#57)
+	6612	(	2 0 4169.7867919994 2 5830.2123582880 )	53.7970944980 (ExtendedPoll#57)
+	6613	(	2 0 4169.5265729207 2 5830.4700334377 )	53.7970189008 (ExtendedPoll#57)
+	6614	(	2 0 4168.4856966058 2 5831.5007340364 )	53.7967202870 (ExtendedPoll#57)
+	6615	(	2 0 4164.3221913464 2 5835.6235364314 )	53.7955862535 (ExtendedPoll#57)
+	6616	(	2 0 4147.6681703088 2 5852.1147460114 )	53.7920186238 (ExtendedPoll#57)
+	6618	(	2 0 4147.6602068265 2 5852.1752601464 )	53.7915256228 (ExtendedPoll#57)
+	6619	(	2 0 4147.6363163798 2 5852.3568025514 )	53.7900466951 (ExtendedPoll#57)
+	6627	(	2 0 4147.6523233123 2 5852.3423304219 )	53.7900364877 (ExtendedPoll#57)
+	6628	(	2 0 4147.7003441098 2 5852.2989140332 )	53.7900058731 (ExtendedPoll#57)
+	6642	(	2 0 4147.7008030485 2 5852.2990434509 )	53.7900004953 (ExtendedPoll#57)
+	6644	(	2 0 4147.7011719978 2 5852.2987413745 )	53.7899999659 (ExtendedPoll#57)
+	6650	(	2 0 4147.7010771141 2 5852.2988807259 )	53.7899995260 (ExtendedPoll#57)
+	6657	(	2 0 4147.7010935191 2 5852.2989056067 )	53.7899991446 (ExtendedPoll#57)
+	6666	(	2 0 4147.7010938504 2 5852.2989059339 )	53.7899991385 (ExtendedPoll#57)
+	6669	(	2 0 4147.7010940528 2 5852.2989058189 )	53.7899991377 (ExtendedPoll#57)
+	6673	(	2 0 4147.7010940473 2 5852.2989059352 )	53.7899991367 (ExtendedPoll#57)
+	6680	(	2 0 4147.7010940274 2 5852.2989059712 )	53.7899991366 (ExtendedPoll#57)
+	6686	(	2 0 4105.5727993639 2 5894.4271813637 )	53.7841729375 (ExtendedPoll#58)
+	6725	(	2 0 4105.5727574055 2 5894.4272236982 )	53.7841729333 (ExtendedPoll#58)
+	6726	(	2 0 4105.5726315303 2 5894.4273507015 )	53.7841729207 (ExtendedPoll#58)
+	6727	(	2 0 4105.5721280294 2 5894.4278587149 )	53.7841728703 (ExtendedPoll#58)
+	6737	(	2 0 4105.5721311970 2 5894.4278654586 )	53.7841727793 (ExtendedPoll#58)
+	6741	(	2 0 4105.5721285679 2 5894.4278680979 )	53.7841727792 (ExtendedPoll#58)
+	6742	(	2 0 4105.5721206809 2 5894.4278760159 )	53.7841727787 (ExtendedPoll#58)
+	6743	(	2 0 4105.5720891326 2 5894.4279076878 )	53.7841727770 (ExtendedPoll#58)
+	6744	(	2 0 4105.5719629396 2 5894.4280343754 )	53.7841727702 (ExtendedPoll#58)
+	6745	(	2 0 4105.5714581674 2 5894.4285411256 )	53.7841727431 (ExtendedPoll#58)
+	6758	(	2 0 4105.5714585929 2 5894.4285413146 )	53.7841727374 (ExtendedPoll#58)
+	6765	(	2 0 4105.5714586508 2 5894.4285413214 )	53.7841727368 (ExtendedPoll#58)
+	6790	(	2 0 4999.8038288046 2 5000.1453455727 )	55.9014415188 (ExtendedPoll#59)
+	6791	(	2 0 4999.2153441271 2 5000.5814111994 )	55.9006678364 (ExtendedPoll#59)
+	6792	(	2 0 4996.8614054169 2 5002.3256737060 )	55.8975828466 (ExtendedPoll#59)
+	6793	(	2 0 4987.4456505762 2 5009.3027237327 )	55.8853990072 (ExtendedPoll#59)
+	6794	(	2 0 4949.7826312134 2 5037.2109238395 )	55.8391796750 (ExtendedPoll#59)
+	6795	(	2 0 4799.1305537620 2 5148.8437242665 )	55.6957204380 (ExtendedPoll#59)
+	6797	(	2 0 4791.8152923122 2 5162.6007831124 )	55.5930004110 (ExtendedPoll#59)
+	6798	(	2 0 4769.8695079627 2 5203.8719596503 )	55.2886042603 (ExtendedPoll#59)
+	6800	(	2 0 4753.7104229690 2 5230.5126132884 )	55.1111870096 (ExtendedPoll#59)
+	6801	(	2 0 4703.0495078538 2 5267.1981035443 )	55.1012158213 (ExtendedPoll#59)
+	6807	(	2 0 4699.1189196121 2 5298.2060774510 )	54.7818521507 (ExtendedPoll#59)
+	6810	(	2 0 4689.4016320146 2 5310.4345742030 )	54.7232027437 (ExtendedPoll#59)
+	6811	(	2 0 4665.3813705375 2 5330.5242474383 )	54.6941438059 (ExtendedPoll#59)
+	6812	(	2 0 4593.3205861064 2 5390.7932671444 )	54.6201919010 (ExtendedPoll#59)
+	6813	(	2 0 4305.0774483818 2 5631.8693459686 )	54.5320542946 (ExtendedPoll#59)
+	6818	(	2 0 4291.1020235224 2 5693.0118297283 )	54.0420071399 (ExtendedPoll#59)
+	6823	(	2 0 4279.6378078175 2 5703.6025813796 )	54.0382097940 (ExtendedPoll#59)
+	6824	(	2 0 4245.2451607026 2 5735.3748363333 )	54.0307112653 (ExtendedPoll#59)
+	6831	(	2 0 4249.5032979644 2 5750.4420912598 )	53.8459996564 (ExtendedPoll#59)
+	6842	(	2 0 4249.5962541266 2 5750.3629695656 )	53.8459422263 (ExtendedPoll#59)
+	6849	(	2 0 4249.6238551729 2 5750.3759885262 )	53.8455701397 (ExtendedPoll#59)
+	6853	(	2 0 4249.6129514080 2 5750.3866626954 )	53.8455633271 (ExtendedPoll#59)
+	6854	(	2 0 4249.5802401136 2 5750.4186852027 )	53.8455428930 (ExtendedPoll#59)
+	6855	(	2 0 4249.4493949358 2 5750.5467752323 )	53.8454612142 (ExtendedPoll#59)
+	6856	(	2 0 4248.9260142245 2 5751.0591353504 )	53.8451354192 (ExtendedPoll#59)
+	6857	(	2 0 4246.8324913796 2 5753.1085758229 )	53.8438469662 (ExtendedPoll#59)
+	6858	(	2 0 4238.4583999999 2 5761.3063377130 )	53.8389290219 (ExtendedPoll#59)
+	6859	(	2 0 4204.9620344812 2 5794.0973852733 )	53.8230461425 (ExtendedPoll#59)
+	6860	(	2 0 4070.9765724063 2 5925.2615755146 )	53.8210579913 (ExtendedPoll#59)
+	6865	(	2 0 4071.7886210187 2 5927.0375053582 )	53.7974776434 (ExtendedPoll#59)
+	6871	(	2 0 4072.0432392023 2 5927.4540854434 )	53.7913560161 (ExtendedPoll#59)
+	6873	(	2 0 4071.7200617674 2 5927.8201257384 )	53.7910242574 (ExtendedPoll#59)
+	6874	(	2 0 4070.7505294627 2 5928.9182466233 )	53.7900332794 (ExtendedPoll#59)
+	6883	(	2 0 4070.7703482043 2 5929.0386984572 )	53.7887604316 (ExtendedPoll#59)
+	6885	(	2 0 4070.7520288631 2 5929.1593835311 )	53.7878375424 (ExtendedPoll#59)
+	6887	(	2 0 4070.6714077684 2 5929.2510402129 )	53.7877524096 (ExtendedPoll#59)
+	6888	(	2 0 4070.4295444844 2 5929.5260102582 )	53.7874972799 (ExtendedPoll#59)
+	6896	(	2 0 4070.4383638744 2 5929.5552256590 )	53.7871515709 (ExtendedPoll#59)
+	6902	(	2 0 4070.4346738395 2 5929.5619033272 )	53.7871252238 (ExtendedPoll#59)
+	6908	(	2 0 4070.4365087991 2 5929.5624238125 )	53.7871035769 (ExtendedPoll#59)
+	6912	(	2 0 4070.4373937138 2 5929.5620682560 )	53.7870986249 (ExtendedPoll#59)
+	6914	(	2 0 4070.4382753416 2 5929.5617046258 )	53.7870937763 (ExtendedPoll#59)
+	6922	(	2 0 4070.4383956527 2 5929.5615865285 )	53.7870937340 (ExtendedPoll#59)
+	6923	(	2 0 4070.4387565859 2 5929.5612322368 )	53.7870936074 (ExtendedPoll#59)
+	6931	(	2 0 4070.4387684909 2 5929.5612232749 )	53.7870935786 (ExtendedPoll#59)
+	6934	(	2 0 4070.4387865750 2 5929.5612124557 )	53.7870935095 (ExtendedPoll#59)
+	6942	(	2 0 4070.4387882509 2 5929.5612116428 )	53.7870935014 (ExtendedPoll#59)
+	6950	(	2 0 4070.4387881954 2 5929.5612117452 )	53.7870935010 (ExtendedPoll#59)
+	6952	(	2 0 4070.4387882946 2 5929.5612116843 )	53.7870935006 (ExtendedPoll#59)
+	6975	(	2 0 4999.8058280052 2 5000.1479845174 )	55.9013939424 (ExtendedPoll#60)
+	6976	(	2 0 4999.2233409293 2 5000.5919669783 )	55.9004775395 (ExtendedPoll#60)
+	6977	(	2 0 4996.8933926259 2 5002.3678968219 )	55.8968217946 (ExtendedPoll#60)
+	6978	(	2 0 4987.5735994122 2 5009.4716161962 )	55.8823569716 (ExtendedPoll#60)
+	6979	(	2 0 4950.2944265573 2 5037.8864936935 )	55.8270464781 (ExtendedPoll#60)
+	6980	(	2 0 4801.1777351379 2 5151.5460036826 )	55.6477582520 (ExtendedPoll#60)
+	6983	(	2 0 4799.7583560506 2 5167.1591736427 )	55.4764322556 (ExtendedPoll#60)
+	6986	(	2 0 4792.1155455806 2 5180.8070494820 )	55.3782799039 (ExtendedPoll#60)
+	6987	(	2 0 4769.1871141707 2 5221.7506769997 )	55.0876212670 (ExtendedPoll#60)
+	6991	(	2 0 4761.8718527209 2 5235.6169188523 )	54.9868701218 (ExtendedPoll#60)
+	6994	(	2 0 4749.6433559689 2 5245.3342064498 )	54.9738791762 (ExtendedPoll#60)
+	6995	(	2 0 4712.9578657131 2 5274.4860692424 )	54.9380022491 (ExtendedPoll#60)
+	6996	(	2 0 4566.2159046897 2 5391.0935204128 )	54.8421122279 (ExtendedPoll#60)
+	6998	(	2 0 4475.3756431037 2 5474.9460695691 )	54.6975024335 (ExtendedPoll#60)
+	6999	(	2 0 4202.8548583459 2 5726.5037170378 )	54.4953088368 (ExtendedPoll#60)
+	7010	(	2 0 4223.8179956350 2 5749.6505144612 )	54.0825598595 (ExtendedPoll#60)
+	7012	(	2 0 4202.8548583459 2 5772.7973118845 )	54.0462974249 (ExtendedPoll#60)
+	7013	(	2 0 4139.9654464788 2 5842.2377041545 )	53.9544164694 (ExtendedPoll#60)
+	7019	(	2 0 4139.3103484385 2 5857.8508741146 )	53.8144735666 (ExtendedPoll#60)
+	7026	(	2 0 4138.2372842006 2 5859.4835012619 )	53.8090274109 (ExtendedPoll#60)
+	7027	(	2 0 4135.0180914870 2 5864.3813827037 )	53.7927617458 (ExtendedPoll#60)
+	7035	(	2 0 4135.1400160653 2 5864.5928981232 )	53.7896852883 (ExtendedPoll#60)
+	7037	(	2 0 4135.3836253179 2 5864.5767445826 )	53.7876169219 (ExtendedPoll#60)
+	7046	(	2 0 4135.3975076833 2 5864.5830777793 )	53.7874316321 (ExtendedPoll#60)
+	7047	(	2 0 4135.4221274217 2 5864.5650445737 )	53.7873750497 (ExtendedPoll#60)
+	7051	(	2 0 4135.4358288178 2 5864.5583287176 )	53.7873127014 (ExtendedPoll#60)
+	7056	(	2 0 4135.4417746173 2 5864.5535479991 )	53.7873029931 (ExtendedPoll#60)
+	7057	(	2 0 4135.4596120157 2 5864.5392058436 )	53.7872738692 (ExtendedPoll#60)
+	7068	(	2 0 4135.4600654422 2 5864.5390582696 )	53.7872711118 (ExtendedPoll#60)
+	7069	(	2 0 4135.4609366779 2 5864.5386703998 )	53.7872667832 (ExtendedPoll#60)
+	7074	(	2 0 4135.4606620754 2 5864.5390602294 )	53.7872656603 (ExtendedPoll#60)
+	7079	(	2 0 4135.4605743562 2 5864.5392819246 )	53.7872643984 (ExtendedPoll#60)
+	7081	(	2 0 4135.4610972036 2 5864.5388560396 )	53.7872635958 (ExtendedPoll#60)
+	7086	(	2 0 4135.4612010194 2 5864.5387974466 )	53.7872631950 (ExtendedPoll#60)
+	7097	(	2 0 4135.4612024119 2 5864.5387962096 )	53.7872631938 (ExtendedPoll#60)
+	7098	(	2 0 4135.4612065894 2 5864.5387924983 )	53.7872631903 (ExtendedPoll#60)
+	7105	(	2 0 4135.4612070035 2 5864.5387922853 )	53.7872631885 (ExtendedPoll#60)
+	7106	(	2 0 4135.4612082457 2 5864.5387916463 )	53.7872631831 (ExtendedPoll#60)
+	7116	(	2 0 4135.4612082147 2 5864.5387916956 )	53.7872631829 (ExtendedPoll#60)
+	7117	(	2 0 4135.4612081217 2 5864.5387918434 )	53.7872631824 (ExtendedPoll#60)
+	7123	(	2 0 4135.4612081460 2 5864.5387918272 )	53.7872631824 (ExtendedPoll#60)
+	7124	(	2 0 4135.4612082186 2 5864.5387917788 )	53.7872631821 (ExtendedPoll#60)
+	7133	(	2 0 4874.2211666294 2 5125.7788140982 )	55.3724275680 (ExtendedPoll#61)
+	7134	(	2 0 4496.8846954264 2 5503.1152853013 )	54.2156316564 (ExtendedPoll#61)
+	7169	(	2 0 4496.8846529014 2 5503.1153270666 )	54.2156315732 (ExtendedPoll#61)
+	7170	(	2 0 4496.8845253266 2 5503.1154523626 )	54.2156313235 (ExtendedPoll#61)
+	7171	(	2 0 4496.8840150275 2 5503.1159535467 )	54.2156303249 (ExtendedPoll#61)
+	7172	(	2 0 4496.8819738307 2 5503.1179582832 )	54.2156263303 (ExtendedPoll#61)
+	7173	(	2 0 4496.8738090439 2 5503.1259772290 )	54.2156103523 (ExtendedPoll#61)
+	7174	(	2 0 4496.8411498966 2 5503.1580530122 )	54.2155464435 (ExtendedPoll#61)
+	7175	(	2 0 4496.7105133072 2 5503.2863561450 )	54.2152908615 (ExtendedPoll#61)
+	7176	(	2 0 4496.1879669499 2 5503.7995686762 )	54.2142693849 (ExtendedPoll#61)
+	7177	(	2 0 4494.0977815204 2 5505.8524188009 )	54.2101971068 (ExtendedPoll#61)
+	7178	(	2 0 4485.7370398025 2 5514.0638192997 )	54.1941263256 (ExtendedPoll#61)
+	7179	(	2 0 4452.2940729307 2 5546.9094212948 )	54.1333544119 (ExtendedPoll#61)
+	7180	(	2 0 4318.5222054439 2 5678.2918292755 )	53.9475643989 (ExtendedPoll#61)
+	7183	(	2 0 4318.5963891128 2 5678.5244295969 )	53.9445911411 (ExtendedPoll#61)
+	7184	(	2 0 4318.8189401194 2 5679.2222305612 )	53.9356722784 (ExtendedPoll#61)
+	7185	(	2 0 4318.7890853910 2 5680.1984801799 )	53.9261887566 (ExtendedPoll#61)
+	7186	(	2 0 4317.9105033838 2 5681.9437023028 )	53.9164801493 (ExtendedPoll#61)
+	7193	(	2 0 4317.7577644608 2 5682.1341594764 )	53.9159200953 (ExtendedPoll#61)
+	7199	(	2 0 4317.7221920188 2 5682.1837563103 )	53.9157374211 (ExtendedPoll#61)
+	7200	(	2 0 4317.6154746928 2 5682.3325468122 )	53.9151894649 (ExtendedPoll#61)
+	7204	(	2 0 4317.6823945996 2 5682.2780286129 )	53.9151462258 (ExtendedPoll#61)
+	7205	(	2 0 4317.8831543201 2 5682.1144740148 )	53.9150166207 (ExtendedPoll#61)
+	7217	(	2 0 4317.8850608152 2 5682.1144169722 )	53.9150004675 (ExtendedPoll#61)
+	7222	(	2 0 4317.8855375905 2 5682.1144246562 )	53.9149962090 (ExtendedPoll#61)
+	7230	(	2 0 4317.8855643890 2 5682.1144116170 )	53.9149961040 (ExtendedPoll#61)
+	7235	(	2 0 4317.8855791781 2 5682.1144097931 )	53.9149959925 (ExtendedPoll#61)
+	7237	(	2 0 4317.8855925920 2 5682.1144033038 )	53.9149959395 (ExtendedPoll#61)
+	7241	(	2 0 4317.8855821380 2 5682.1144139226 )	53.9149959253 (ExtendedPoll#61)
+	7242	(	2 0 4317.8855507760 2 5682.1144457789 )	53.9149958826 (ExtendedPoll#61)
+	7243	(	2 0 4317.8854253280 2 5682.1145732043 )	53.9149957120 (ExtendedPoll#61)
+	7250	(	2 0 4317.8854184488 2 5682.1145811854 )	53.9149956927 (ExtendedPoll#61)
+	7259	(	2 0 4317.8854186637 2 5682.1145810957 )	53.9149956917 (ExtendedPoll#61)
+	7266	(	2 0 4317.8854187880 2 5682.1145812036 )	53.9149956895 (ExtendedPoll#61)
+	7275	(	2 0 4664.5897937388 2 5335.4101869888 )	54.6460177074 (ExtendedPoll#62)
+	7276	(	2 0 3658.3592038639 2 6341.6407768637 )	54.3665218070 (ExtendedPoll#62)
+	7311	(	2 0 3658.3592901848 2 6341.6406946471 )	54.3665215475 (ExtendedPoll#62)
+	7312	(	2 0 3658.3595491473 2 6341.6404479973 )	54.3665207691 (ExtendedPoll#62)
+	7313	(	2 0 3658.3598690753 2 6341.6400944160 )	54.3665201699 (ExtendedPoll#62)
+	7314	(	2 0 3658.3608288593 2 6341.6390336723 )	54.3665183724 (ExtendedPoll#62)
+	7315	(	2 0 3658.3646679955 2 6341.6347906973 )	54.3665111823 (ExtendedPoll#62)
+	7316	(	2 0 3658.3800245403 2 6341.6178187975 )	54.3664824230 (ExtendedPoll#62)
+	7317	(	2 0 3658.4414507195 2 6341.5499311982 )	54.3663674021 (ExtendedPoll#62)
+	7318	(	2 0 3658.6871554362 2 6341.2783808011 )	54.3659075842 (ExtendedPoll#62)
+	7319	(	2 0 3659.6699743029 2 6340.1921792124 )	54.3640725584 (ExtendedPoll#62)
+	7320	(	2 0 3663.6012497698 2 6335.8473728577 )	54.3568003795 (ExtendedPoll#62)
+	7321	(	2 0 3679.3263516374 2 6318.4681474388 )	54.3287978530 (ExtendedPoll#62)
+	7322	(	2 0 3742.2267591076 2 6248.9512457632 )	54.2341245206 (ExtendedPoll#62)
+	7323	(	2 0 3993.8283889887 2 5970.8836390611 )	54.1291421044 (ExtendedPoll#62)
+	7325	(	2 0 3994.6101563766 2 5970.2984863845 )	54.1270135487 (ExtendedPoll#62)
+	7326	(	2 0 3996.9554585404 2 5968.5430283547 )	54.1206429804 (ExtendedPoll#62)
+	7327	(	2 0 4006.3366671954 2 5961.5211962354 )	54.0953869891 (ExtendedPoll#62)
+	7328	(	2 0 4043.8615018154 2 5933.4338677582 )	53.9979707862 (ExtendedPoll#62)
+	7329	(	2 0 4058.8195737352 2 5928.7389984696 )	53.9018789159 (ExtendedPoll#62)
+	7330	(	2 0 4085.0234953465 2 5911.2697173953 )	53.8187819628 (ExtendedPoll#62)
+	7336	(	2 0 4079.2095002390 2 5920.6867517244 )	53.7866402997 (ExtendedPoll#62)
+	7349	(	2 0 4079.1688898115 2 5920.8018656928 )	53.7859692077 (ExtendedPoll#62)
+	7353	(	2 0 4079.1419239280 2 5920.8566204642 )	53.7857204969 (ExtendedPoll#62)
+	7366	(	2 0 4079.1420265196 2 5920.8575686043 )	53.7857109426 (ExtendedPoll#62)
+	7368	(	2 0 4079.1415632502 2 5920.8584021968 )	53.7857076422 (ExtendedPoll#62)
+	7375	(	2 0 4079.1418084008 2 5920.8581707058 )	53.7857074853 (ExtendedPoll#62)
+	7383	(	2 0 4079.1417949665 2 5920.8581973084 )	53.7857073675 (ExtendedPoll#62)
+	7390	(	2 0 4079.1417913882 2 5920.8582038435 )	53.7857073412 (ExtendedPoll#62)
+	7394	(	2 0 4079.1417981276 2 5920.8582006667 )	53.7857073079 (ExtendedPoll#62)
+	7404	(	2 0 4079.1417985233 2 5920.8582009121 )	53.7857073020 (ExtendedPoll#62)
+	7405	(	2 0 4079.1417993958 2 5920.8582005863 )	53.7857072969 (ExtendedPoll#62)
+	7413	(	2 0 4079.1417992378 2 5920.8582007573 )	53.7857072968 (ExtendedPoll#62)
+	7436	(	2 0 4999.1900742320 2 5000.5459053974 )	55.9012953652 (ExtendedPoll#63)
+	7437	(	2 0 4996.7603258365 2 5002.1836504981 )	55.9000925053 (ExtendedPoll#63)
+	7438	(	2 0 4987.0413322545 2 5008.7346309009 )	55.8954303274 (ExtendedPoll#63)
+	7439	(	2 0 4948.1653579264 2 5034.9385525122 )	55.8791873269 (ExtendedPoll#63)
+	7440	(	2 0 4792.6614606142 2 5139.7542389575 )	55.8538338094 (ExtendedPoll#63)
+	7442	(	2 0 4775.1921795400 2 5165.9581605689 )	55.6864877206 (ExtendedPoll#63)
+	7443	(	2 0 4722.7843363173 2 5244.5699254029 )	55.1994445339 (ExtendedPoll#63)
+	7448	(	2 0 4722.3476042905 2 5276.0146313364 )	54.8445124513 (ExtendedPoll#63)
+	7451	(	2 0 4697.8906107866 2 5295.6675725449 )	54.8205115310 (ExtendedPoll#63)
+	7452	(	2 0 4624.5196302749 2 5354.6263961704 )	54.7613812550 (ExtendedPoll#63)
+	7453	(	2 0 4331.0357082280 2 5590.4616906724 )	54.7273149903 (ExtendedPoll#63)
+	7458	(	2 0 4308.3256428315 2 5648.1103182173 )	54.3396439948 (ExtendedPoll#63)
+	7460	(	2 0 4455.0676038550 2 5543.2946317720 )	54.1475041698 (ExtendedPoll#63)
+	7469	(	2 0 4447.5339763917 2 5551.3741742688 )	54.1273594464 (ExtendedPoll#63)
+	7480	(	2 0 4447.2091995963 2 5551.7388284514 )	54.1263276850 (ExtendedPoll#63)
+	7481	(	2 0 4446.2348692102 2 5552.8327909991 )	54.1232362635 (ExtendedPoll#63)
+	7482	(	2 0 4442.3375476659 2 5557.2086411901 )	54.1109285550 (ExtendedPoll#63)
+	7491	(	2 0 4442.5740664204 2 5557.2691503271 )	54.1082748289 (ExtendedPoll#63)
+	7495	(	2 0 4442.6925323818 2 5557.2986052154 )	54.1069545527 (ExtendedPoll#63)
+	7501	(	2 0 4442.7168164211 2 5557.2801226062 )	54.1069394344 (ExtendedPoll#63)
+	7504	(	2 0 4442.7071793373 2 5557.2919529796 )	54.1068985868 (ExtendedPoll#63)
+	7508	(	2 0 4442.7017183179 2 5557.2972807450 )	54.1068897802 (ExtendedPoll#63)
+	7509	(	2 0 4442.6853352597 2 5557.3132640411 )	54.1068633612 (ExtendedPoll#63)
+	7510	(	2 0 4442.6198030272 2 5557.3771972256 )	54.1067576985 (ExtendedPoll#63)
+	7511	(	2 0 4442.3576740969 2 5557.6329299635 )	54.1063352645 (ExtendedPoll#63)
+	7512	(	2 0 4441.3091583760 2 5558.6558609153 )	54.1046489915 (ExtendedPoll#63)
+	7513	(	2 0 4437.1150954922 2 5562.7475847223 )	54.0979593435 (ExtendedPoll#63)
+	7514	(	2 0 4420.3388439569 2 5579.1144799504 )	54.0720900340 (ExtendedPoll#63)
+	7515	(	2 0 4353.2338378159 2 5644.5820608629 )	53.9829787440 (ExtendedPoll#63)
+	7516	(	2 0 4084.8138132516 2 5906.4523845126 )	53.8646582524 (ExtendedPoll#63)
+	7518	(	2 0 4082.5755616140 2 5909.6528113969 )	53.8560492754 (ExtendedPoll#63)
+	7519	(	2 0 4075.8608067011 2 5919.2540920498 )	53.8305130308 (ExtendedPoll#63)
+	7520	(	2 0 4066.9078001506 2 5932.0285038353 )	53.7973908395 (ExtendedPoll#63)
+	7532	(	2 0 4066.8994834762 2 5932.5167352687 )	53.7930561968 (ExtendedPoll#63)
+	7535	(	2 0 4066.7294181484 2 5932.9744722294 )	53.7904920157 (ExtendedPoll#63)
+	7537	(	2 0 4066.4042148569 2 5933.3386999159 )	53.7902064369 (ExtendedPoll#63)
+	7538	(	2 0 4065.4286049825 2 5934.4313829753 )	53.7893539893 (ExtendedPoll#63)
+	7544	(	2 0 4065.9681225742 2 5934.0003020220 )	53.7882608591 (ExtendedPoll#63)
+	7556	(	2 0 4065.9833434669 2 5933.9992277641 )	53.7881299256 (ExtendedPoll#63)
+	7557	(	2 0 4066.0088195296 2 5933.9824261494 )	53.7880462489 (ExtendedPoll#63)
+	7560	(	2 0 4066.0322468281 2 5933.9628689699 )	53.7880063853 (ExtendedPoll#63)
+	7571	(	2 0 4066.0333397798 2 5933.9653350231 )	53.7879740199 (ExtendedPoll#63)
+	7576	(	2 0 4066.0330666936 2 5933.9662487622 )	53.7879682924 (ExtendedPoll#63)
+	7582	(	2 0 4066.0329389515 2 5933.9664500713 )	53.7879676549 (ExtendedPoll#63)
+	7583	(	2 0 4066.0325557253 2 5933.9670539988 )	53.7879657426 (ExtendedPoll#63)
+	7586	(	2 0 4066.0323799541 2 5933.9674972574 )	53.7879633642 (ExtendedPoll#63)
+	7593	(	2 0 4066.0324936658 2 5933.9674614732 )	53.7879626367 (ExtendedPoll#63)
+	7597	(	2 0 4066.0325420577 2 5933.9674266746 )	53.7879625038 (ExtendedPoll#63)
+	7602	(	2 0 4066.0325530871 2 5933.9674366944 )	53.7879623114 (ExtendedPoll#63)
+	7603	(	2 0 4066.0325776078 2 5933.9674197559 )	53.7879622378 (ExtendedPoll#63)
+	7614	(	2 0 4066.0325784803 2 5933.9674194301 )	53.7879622327 (ExtendedPoll#63)
+	7615	(	2 0 4066.0325810978 2 5933.9674184529 )	53.7879622173 (ExtendedPoll#63)
+	7619	(	2 0 4066.0325804614 2 5933.9674191328 )	53.7879622170 (ExtendedPoll#63)
+	7620	(	2 0 4066.0325785520 2 5933.9674211726 )	53.7879622163 (ExtendedPoll#63)
+	7625	(	2 0 4066.0325782752 2 5933.9674215470 )	53.7879622154 (ExtendedPoll#63)
+	7628	(	2 0 4066.0325779836 2 5933.9674219101 )	53.7879622149 (ExtendedPoll#63)
+	7630	(	2 0 4066.0325777001 2 5933.9674222795 )	53.7879622141 (ExtendedPoll#63)
+	7636	(	2 0 4066.0325779310 2 5933.9674220447 )	53.7879622141 (ExtendedPoll#63)
+	7637	(	2 0 4066.0325786236 2 5933.9674213404 )	53.7879622141 (ExtendedPoll#63)
+	7638	(	2 0 4066.0325813941 2 5933.9674185232 )	53.7879622139 (ExtendedPoll#63)
+	7639	(	2 0 4066.0325924760 2 5933.9674072542 )	53.7879622133 (ExtendedPoll#63)
+	7640	(	2 0 4066.0326368038 2 5933.9673621781 )	53.7879622107 (ExtendedPoll#63)
+	7641	(	2 0 4066.0328141148 2 5933.9671818738 )	53.7879622005 (ExtendedPoll#63)
+	7642	(	2 0 4066.0335233590 2 5933.9664606566 )	53.7879621598 (ExtendedPoll#63)
+	7643	(	2 0 4066.0363603358 2 5933.9635757879 )	53.7879619968 (ExtendedPoll#63)
+	7644	(	2 0 4066.0477082430 2 5933.9520363132 )	53.7879613453 (ExtendedPoll#63)
+	7645	(	2 0 4066.0930998717 2 5933.9058784143 )	53.7879587467 (ExtendedPoll#63)
+	7646	(	2 0 4066.2746663863 2 5933.7212468186 )	53.7879484746 (ExtendedPoll#63)
+	7647	(	2 0 4067.0009324450 2 5932.9827204360 )	53.7879093366 (ExtendedPoll#63)
+	7648	(	2 0 4069.9059966798 2 5930.0286149054 )	53.7877839844 (ExtendedPoll#63)
+	7649	(	2 0 4081.5262536188 2 5918.2121927832 )	53.7877812112 (ExtendedPoll#63)
+	7652	(	2 0 4081.5299687022 2 5918.2130588562 )	53.7877391250 (ExtendedPoll#63)
+	7653	(	2 0 4081.5411139525 2 5918.2156570750 )	53.7876128665 (ExtendedPoll#63)
+	7654	(	2 0 4081.5856949536 2 5918.2260499504 )	53.7871078341 (ExtendedPoll#63)
+	7655	(	2 0 4081.6155830020 2 5918.2198824166 )	53.7868886494 (ExtendedPoll#63)
+	7656	(	2 0 4081.7052471472 2 5918.2013798154 )	53.7862311047 (ExtendedPoll#63)
+	7658	(	2 0 4081.6080460159 2 5918.3440427676 )	53.7858294673 (ExtendedPoll#63)
+	7662	(	2 0 4081.5880590083 2 5918.4017130398 )	53.7854893417 (ExtendedPoll#63)
+	7669	(	2 0 4081.6043092810 2 5918.3875148632 )	53.7854687399 (ExtendedPoll#63)
+	7670	(	2 0 4081.6530600991 2 5918.3449203333 )	53.7854069422 (ExtendedPoll#63)
+	7679	(	2 0 4081.6496579113 2 5918.3491070966 )	53.7854002178 (ExtendedPoll#63)
+	7688	(	2 0 4081.6498661605 2 5918.3495360557 )	53.7853944010 (ExtendedPoll#63)
+	7689	(	2 0 4081.6493358875 2 5918.3503287128 )	53.7853920795 (ExtendedPoll#63)
+	7696	(	2 0 4081.6491972063 2 5918.3505226482 )	53.7853915938 (ExtendedPoll#63)
+	7697	(	2 0 4081.6487811625 2 5918.3511044543 )	53.7853901369 (ExtendedPoll#63)
+	7706	(	2 0 4081.6488121122 2 5918.3511553938 )	53.7853893889 (ExtendedPoll#63)
+	7709	(	2 0 4081.6488409573 2 5918.3511479011 )	53.7853891913 (ExtendedPoll#63)
+	7715	(	2 0 4081.6488473913 2 5918.3511516580 )	53.7853890979 (ExtendedPoll#63)
+	7720	(	2 0 4081.6488480521 2 5918.3511510017 )	53.7853890978 (ExtendedPoll#63)
+	7721	(	2 0 4081.6488500345 2 5918.3511490328 )	53.7853890974 (ExtendedPoll#63)
+	7722	(	2 0 4081.6488579640 2 5918.3511411574 )	53.7853890960 (ExtendedPoll#63)
+	7723	(	2 0 4081.6488896822 2 5918.3511096556 )	53.7853890902 (ExtendedPoll#63)
+	7732	(	2 0 4081.6488900669 2 5918.3511093933 )	53.7853890891 (ExtendedPoll#63)
+	7733	(	2 0 4081.6488912210 2 5918.3511086061 )	53.7853890856 (ExtendedPoll#63)
+	7741	(	2 0 4081.6488912536 2 5918.3511087179 )	53.7853890843 (ExtendedPoll#63)
+	7745	(	2 0 4081.6488912181 2 5918.3511087641 )	53.7853890842 (ExtendedPoll#63)
+	7751	(	3 0 3209.7898482266 2 3041.1228583258 1 3749.0872770800 )	46.5944609002
+	7752	(	3 0 3209.7897367750 2 3041.1229969359 1 3749.0872586356 )	46.5944605757
+	7789	(	2 0 4999.9999577432 2 5000.0000417347 )	55.9016992549 (ExtendedPoll#64)
+	7796	(	2 0 4999.9999505368 2 5000.0000494217 )	55.9016992168 (ExtendedPoll#64)
+	7797	(	2 0 4999.9999398266 2 5000.0000597821 )	55.9016991732 (ExtendedPoll#64)
+	7798	(	2 0 4999.9999076961 2 5000.0000908630 )	55.9016990423 (ExtendedPoll#64)
+	7799	(	2 0 4999.9997791737 2 5000.0002151869 )	55.9016985186 (ExtendedPoll#64)
+	7800	(	2 0 4999.9992650844 2 5000.0007124825 )	55.9016964242 (ExtendedPoll#64)
+	7801	(	2 0 4999.9972087269 2 5000.0027016649 )	55.9016880465 (ExtendedPoll#64)
+	7802	(	2 0 4999.9889832972 2 5000.0106583944 )	55.9016545357 (ExtendedPoll#64)
+	7803	(	2 0 4999.9560815784 2 5000.0424853122 )	55.9015204952 (ExtendedPoll#64)
+	7804	(	2 0 4999.8244747033 2 5000.1697929837 )	55.9009843757 (ExtendedPoll#64)
+	7805	(	2 0 4999.2980472026 2 5000.6790236696 )	55.8988405794 (ExtendedPoll#64)
+	7806	(	2 0 4997.1923371998 2 5002.7159464134 )	55.8902763014 (ExtendedPoll#64)
+	7807	(	2 0 4988.7694971886 2 5010.8636373882 )	55.8561940243 (ExtendedPoll#64)
+	7808	(	2 0 4955.0781371440 2 5043.4544012877 )	55.7226824798 (ExtendedPoll#64)
+	7809	(	2 0 4820.3126969657 2 5173.8174568856 )	55.2350077198 (ExtendedPoll#64)
+	7810	(	2 0 4281.2509362523 2 5695.2696792774 )	54.1064641659 (ExtendedPoll#64)
+	7812	(	2 0 4281.1646507560 2 5695.4980679496 )	54.1049615847 (ExtendedPoll#64)
+	7813	(	2 0 4280.9057942672 2 5696.1832339664 )	54.1004549928 (ExtendedPoll#64)
+	7814	(	2 0 4279.8703683119 2 5698.9238980333 )	54.0824459107 (ExtendedPoll#64)
+	7815	(	2 0 4275.7286644908 2 5709.8865543012 )	54.0106865894 (ExtendedPoll#64)
+	7816	(	2 0 4276.7931988063 2 5713.6465440949 )	53.9642063625 (ExtendedPoll#64)
+	7817	(	2 0 4274.1455108935 2 5720.9891012964 )	53.9153574311 (ExtendedPoll#64)
+	7818	(	2 0 4264.8649553228 2 5733.5451470685 )	53.8744070070 (ExtendedPoll#64)
+	7825	(	2 0 4267.0690872708 2 5731.8801062161 )	53.8711681165 (ExtendedPoll#64)
+	7828	(	2 0 4268.6471229147 2 5730.7285666922 )	53.8684637360 (ExtendedPoll#64)
+	7837	(	2 0 4268.8897458950 2 5730.7013509085 )	53.8665809105 (ExtendedPoll#64)
+	7840	(	2 0 4269.1151490944 2 5730.6075484182 )	53.8655030390 (ExtendedPoll#64)
+	7845	(	2 0 4269.2342348079 2 5730.5807124826 )	53.8647110142 (ExtendedPoll#64)
+	7848	(	2 0 4269.3362140286 2 5730.5136259757 )	53.8644648872 (ExtendedPoll#64)
+	7849	(	2 0 4269.6421516907 2 5730.3123664551 )	53.8637267148 (ExtendedPoll#64)
+	7856	(	2 0 4269.6705853207 2 5730.3012821375 )	53.8635834586 (ExtendedPoll#64)
+	7861	(	2 0 4269.6856215996 2 5730.3038783910 )	53.8634248321 (ExtendedPoll#64)
+	7864	(	2 0 4269.6932509707 2 5730.3038560301 )	53.8633574718 (ExtendedPoll#64)
+	7868	(	2 0 4269.6964158444 2 5730.3017263609 )	53.8633503046 (ExtendedPoll#64)
+	7876	(	2 0 4269.6971078879 2 5730.3023825398 )	53.8633377454 (ExtendedPoll#64)
+	7877	(	2 0 4269.6986534873 2 5730.3012649089 )	53.8633350054 (ExtendedPoll#64)
+	7886	(	2 0 4269.6987532838 2 5730.3011997053 )	53.8633347603 (ExtendedPoll#64)
+	7894	(	2 0 4269.6987734099 2 5730.3012216853 )	53.8633343667 (ExtendedPoll#64)
+	7896	(	2 0 4269.6987532218 2 5730.3012436083 )	53.8633343307 (ExtendedPoll#64)
+	7903	(	2 0 4269.6987565277 2 5730.3012418911 )	53.8633343182 (ExtendedPoll#64)
+	7905	(	2 0 4269.6987598023 2 5730.3012401148 )	53.8633343066 (ExtendedPoll#64)
+	7915	(	2 0 4269.6987598456 2 5730.3012400760 )	53.8633343066 (ExtendedPoll#64)
+	7916	(	2 0 4269.6987599757 2 5730.3012399595 )	53.8633343066 (ExtendedPoll#64)
+	7917	(	2 0 4269.6987604960 2 5730.3012394935 )	53.8633343066 (ExtendedPoll#64)
+	7927	(	3 0 3209.7896557217 2 3041.1230842797 1 3749.0872551315 )	46.5944603702
+	7937	(	2 0 4909.1597359805 2 5083.8525467227 )	55.5960690117 (ExtendedPoll#65)
+	7938	(	2 0 4636.6389512227 2 5335.4101941914 )	54.8753884193 (ExtendedPoll#65)
+	7942	(	2 0 4468.9338529103 2 5503.1152925039 )	54.4525845141 (ExtendedPoll#65)
+	7943	(	2 0 3965.8185579728 2 6006.2305874414 )	54.0810898671 (ExtendedPoll#65)
+	7951	(	2 0 4063.6465319884 2 5929.3657507148 )	53.8515922697 (ExtendedPoll#65)
+	7964	(	2 0 4065.8046023555 2 5931.0905010240 )	53.8160592307 (ExtendedPoll#65)
+	7965	(	2 0 4064.4534626474 2 5934.7549556868 )	53.7954447026 (ExtendedPoll#65)
+	7971	(	2 0 4065.1985513690 2 5934.1237414293 )	53.7942572358 (ExtendedPoll#65)
+	7972	(	2 0 4067.4338175338 2 5932.2300986566 )	53.7907104457 (ExtendedPoll#65)
+	7979	(	2 0 4067.6763605460 2 5932.2578742164 )	53.7882192511 (ExtendedPoll#65)
+	7988	(	2 0 4067.6961659596 2 5932.2810920154 )	53.7878265281 (ExtendedPoll#65)
+	7996	(	2 0 4067.7064620507 2 5932.2843178088 )	53.7877022834 (ExtendedPoll#65)
+	8000	(	2 0 4067.7096029627 2 5932.2864826593 )	53.7876537119 (ExtendedPoll#65)
+	8001	(	2 0 4067.7163863700 2 5932.2829908004 )	53.7876226117 (ExtendedPoll#65)
+	8013	(	2 0 4067.7165647188 2 5932.2828325755 )	53.7876223942 (ExtendedPoll#65)
+	8014	(	2 0 4067.7170997651 2 5932.2823579007 )	53.7876217416 (ExtendedPoll#65)
+	8015	(	2 0 4067.7192399506 2 5932.2804592016 )	53.7876191311 (ExtendedPoll#65)
+	8018	(	2 0 4067.7200409230 2 5932.2799415742 )	53.7876164105 (ExtendedPoll#65)
+	8033	(	2 0 4067.7200445311 2 5932.2799480928 )	53.7876163183 (ExtendedPoll#65)
+	8037	(	2 0 4067.7200436470 2 5932.2799517117 )	53.7876162938 (ExtendedPoll#65)
+	8042	(	2 0 4067.7200455038 2 5932.2799515643 )	53.7876162780 (ExtendedPoll#65)
+	8043	(	2 0 4067.7200489601 2 5932.2799501743 )	53.7876162586 (ExtendedPoll#65)
+	8051	(	2 0 4067.7200493934 2 5932.2799500040 )	53.7876162561 (ExtendedPoll#65)
+	8054	(	2 0 4067.7200493924 2 5932.2799504696 )	53.7876162519 (ExtendedPoll#65)
+	8061	(	2 0 4067.7200493199 2 5932.2799505607 )	53.7876162518 (ExtendedPoll#65)
+	8062	(	2 0 4067.7200491022 2 5932.2799508337 )	53.7876162513 (ExtendedPoll#65)
+	8073	(	2 0 4067.7200491111 2 5932.2799508739 )	53.7876162509 (ExtendedPoll#65)
+	8080	(	2 0 4664.5898009415 2 5335.4101941914 )	54.6460175679 (ExtendedPoll#66)
+	8081	(	2 0 3658.3592110666 2 6341.6407840663 )	54.3665216810 (ExtendedPoll#66)
+	8125	(	2 0 3658.3592086607 2 6341.6407911178 )	54.3665216529 (ExtendedPoll#66)
+	8127	(	2 0 3658.3592231902 2 6341.6407758540 )	54.3665216198 (ExtendedPoll#66)
+	8128	(	2 0 3658.3592667787 2 6341.6407300627 )	54.3665215205 (ExtendedPoll#66)
+	8129	(	2 0 3658.3594411326 2 6341.6405468973 )	54.3665211233 (ExtendedPoll#66)
+	8130	(	2 0 3658.3601385484 2 6341.6398142359 )	54.3665195344 (ExtendedPoll#66)
+	8131	(	2 0 3658.3629282116 2 6341.6368835902 )	54.3665131789 (ExtendedPoll#66)
+	8132	(	2 0 3658.3740868643 2 6341.6251610074 )	54.3664877574 (ExtendedPoll#66)
+	8133	(	2 0 3658.4187214749 2 6341.5782706765 )	54.3663860796 (ExtendedPoll#66)
+	8134	(	2 0 3658.5972599177 2 6341.3907093526 )	54.3659794991 (ExtendedPoll#66)
+	8135	(	2 0 3659.3114136885 2 6340.6404640569 )	54.3643552693 (ExtendedPoll#66)
+	8136	(	2 0 3662.1680287720 2 6337.6394828742 )	54.3578918193 (ExtendedPoll#66)
+	8137	(	2 0 3673.5944891057 2 6325.6355581437 )	54.3325733144 (ExtendedPoll#66)
+	8138	(	2 0 3719.3003304408 2 6277.6198592213 )	54.2398493355 (ExtendedPoll#66)
+	8139	(	2 0 3902.1236957812 2 6085.5570635318 )	54.0045822968 (ExtendedPoll#66)
+	8141	(	2 0 3902.2168451994 2 6085.4781750776 )	54.0043572353 (ExtendedPoll#66)
+	8142	(	2 0 3902.4962934540 2 6085.2415097151 )	54.0036823026 (ExtendedPoll#66)
+	8143	(	2 0 3903.6140864724 2 6084.2948482648 )	54.0009863502 (ExtendedPoll#66)
+	8144	(	2 0 3908.0852585462 2 6080.5082024636 )	53.9902629755 (ExtendedPoll#66)
+	8145	(	2 0 3925.9699468413 2 6065.3616192587 )	53.9483351232 (ExtendedPoll#66)
+	8146	(	2 0 3929.8118238900 2 6064.6724015289 )	53.9176744624 (ExtendedPoll#66)
+	8149	(	2 0 3933.6400530629 2 6065.4639783275 )	53.8745546326 (ExtendedPoll#66)
+	8152	(	2 0 3935.2163827223 2 6064.3107328191 )	53.8694071337 (ExtendedPoll#66)
+	8158	(	2 0 3934.4145700168 2 6065.4354030875 )	53.8674407841 (ExtendedPoll#66)
+	8164	(	2 0 3934.3391268516 2 6065.5313647145 )	53.8673400617 (ExtendedPoll#66)
+	8165	(	2 0 3934.1127973559 2 6065.8192495955 )	53.8670381792 (ExtendedPoll#66)
+	8175	(	2 0 3934.1264743868 2 6065.8465307696 )	53.8666759354 (ExtendedPoll#66)
+	8177	(	2 0 3934.1212739663 2 6065.8766020781 )	53.8664692539 (ExtendedPoll#66)
+	8187	(	2 0 3934.1202740309 2 6065.8782263033 )	53.8664649210 (ExtendedPoll#66)
+	8191	(	2 0 3934.1223533865 2 6065.8765080955 )	53.8664598006 (ExtendedPoll#66)
+	8192	(	2 0 3934.1285914536 2 6065.8713534722 )	53.8664444397 (ExtendedPoll#66)
+	8196	(	2 0 3934.1299504561 2 6065.8700151548 )	53.8664429271 (ExtendedPoll#66)
+	8210	(	2 0 3934.1299636052 2 6065.8700081445 )	53.8664428619 (ExtendedPoll#66)
+	8211	(	2 0 3934.1300030527 2 6065.8699871137 )	53.8664426663 (ExtendedPoll#66)
+	8216	(	2 0 3934.1300169838 2 6065.8699818250 )	53.8664425790 (ExtendedPoll#66)
+	8222	(	2 0 3934.1300195727 2 6065.8699791463 )	53.8664425772 (ExtendedPoll#66)
+	8223	(	2 0 3934.1300273392 2 6065.8699711101 )	53.8664425718 (ExtendedPoll#66)
+	8224	(	2 0 3934.1300584054 2 6065.8699389652 )	53.8664425505 (ExtendedPoll#66)
+	8225	(	2 0 3934.1301826702 2 6065.8698103857 )	53.8664424650 (ExtendedPoll#66)
+	8226	(	2 0 3934.1306797292 2 6065.8692960676 )	53.8664421232 (ExtendedPoll#66)
+	8227	(	2 0 3934.1326679655 2 6065.8672387954 )	53.8664407559 (ExtendedPoll#66)
+	8228	(	2 0 3934.1406209105 2 6065.8590097066 )	53.8664352870 (ExtendedPoll#66)
+	8229	(	2 0 3934.1724326905 2 6065.8260933514 )	53.8664134151 (ExtendedPoll#66)
+	8230	(	2 0 3934.2996798107 2 6065.6944279307 )	53.8663259908 (ExtendedPoll#66)
+	8231	(	2 0 3934.8086682912 2 6065.1677662475 )	53.8659772994 (ExtendedPoll#66)
+	8232	(	2 0 3936.8446222133 2 6063.0611195148 )	53.8645986296 (ExtendedPoll#66)
+	8233	(	2 0 3944.9884379019 2 6054.6345325840 )	53.8593413213 (ExtendedPoll#66)
+	8234	(	2 0 3977.5637006562 2 6020.9281848608 )	53.8424195173 (ExtendedPoll#66)
+	8235	(	2 0 4107.8647516735 2 5886.1027939679 )	53.8397272797 (ExtendedPoll#66)
+	8238	(	2 0 4107.9148966216 2 5886.1375900537 )	53.8389476963 (ExtendedPoll#66)
+	8239	(	2 0 4108.0653314659 2 5886.2419783111 )	53.8366089797 (ExtendedPoll#66)
+	8240	(	2 0 4108.6670708432 2 5886.6595313405 )	53.8272546148 (ExtendedPoll#66)
+	8241	(	2 0 4111.0740283523 2 5888.3297434584 )	53.7898451866 (ExtendedPoll#66)
+	8242	(	2 0 4110.6415612866 2 5889.2053399927 )	53.7857457298 (ExtendedPoll#66)
+	8247	(	2 0 4110.3275535183 2 5889.5792704659 )	53.7851798069 (ExtendedPoll#66)
+	8255	(	2 0 4110.3514722870 2 5889.6354230117 )	53.7844442616 (ExtendedPoll#66)
+	8257	(	2 0 4110.3094657512 2 5889.6797036381 )	53.7844214421 (ExtendedPoll#66)
+	8258	(	2 0 4110.1834461437 2 5889.8125455175 )	53.7843530488 (ExtendedPoll#66)
+	8267	(	2 0 4110.1987859472 2 5889.7973681491 )	53.7843522353 (ExtendedPoll#66)
+	8268	(	2 0 4110.2448053575 2 5889.7518360439 )	53.7843498028 (ExtendedPoll#66)
+	8269	(	2 0 4110.4288829988 2 5889.5697076232 )	53.7843401922 (ExtendedPoll#66)
+	8276	(	2 0 4110.4212701576 2 5889.5773535241 )	53.7843395401 (ExtendedPoll#66)
+	8277	(	2 0 4110.3984316340 2 5889.6002912268 )	53.7843375858 (ExtendedPoll#66)
+	8278	(	2 0 4110.3070775395 2 5889.6920420376 )	53.7843297986 (ExtendedPoll#66)
+	8291	(	2 0 4110.3073348959 2 5889.6924434618 )	53.7843237498 (ExtendedPoll#66)
+	8296	(	2 0 4110.3074006879 2 5889.6925428714 )	53.7843222330 (ExtendedPoll#66)
+	8298	(	2 0 4110.3073219352 2 5889.6926323636 )	53.7843221306 (ExtendedPoll#66)
+	8299	(	2 0 4110.3070856770 2 5889.6929008404 )	53.7843218236 (ExtendedPoll#66)
+	8307	(	2 0 4110.3070782245 2 5889.6929137441 )	53.7843217731 (ExtendedPoll#66)
+	8312	(	2 0 4110.3070784835 2 5889.6929211901 )	53.7843217023 (ExtendedPoll#66)
+	8322	(	2 0 4110.3070782010 2 5889.6929215603 )	53.7843217014 (ExtendedPoll#66)
+	8326	(	2 0 4110.3070784332 2 5889.6929215433 )	53.7843216995 (ExtendedPoll#66)
+	8333	(	2 0 4110.3070784211 2 5889.6929215697 )	53.7843216993 (ExtendedPoll#66)
+	8337	(	3 0 3209.7896175644 2 3041.1231297861 1 3749.0872500424 )	46.5944602659
+	8345	(	2 0 4720.4915015090 2 5223.6067964464 )	55.4583179990 (ExtendedPoll#67)
+	8347	(	2 0 4385.0813048840 2 5559.0169930714 )	54.5837536455 (ExtendedPoll#67)
+	8352	(	2 0 4580.7372529152 2 5419.2627444776 )	54.4134065463 (ExtendedPoll#67)
+	8360	(	2 0 4558.0271875187 2 5440.6626137936 )	54.3705316119 (ExtendedPoll#67)
+	8361	(	2 0 4489.8969913293 2 5504.8622217413 )	54.2562699395 (ExtendedPoll#67)
+	8362	(	2 0 4217.3762065715 2 5761.6606535323 )	54.0237236224 (ExtendedPoll#67)
+	8372	(	2 0 4224.1455529878 2 5775.7452613984 )	53.8272825836 (ExtendedPoll#67)
+	8381	(	2 0 4224.0014506112 2 5775.9423292618 )	53.8266734099 (ExtendedPoll#67)
+	8383	(	2 0 4224.5165513001 2 5775.4823531964 )	53.8264974549 (ExtendedPoll#67)
+	8396	(	2 0 4224.5193698410 2 5775.4797826488 )	53.8264970122 (ExtendedPoll#67)
+	8397	(	2 0 4224.5278254637 2 5775.4720710060 )	53.8264956843 (ExtendedPoll#67)
+	8413	(	2 0 4224.5278620041 2 5775.4721180965 )	53.8264949041 (ExtendedPoll#67)
+	8416	(	2 0 4224.5278401629 2 5775.4721383731 )	53.8264949041 (ExtendedPoll#67)
+	8417	(	2 0 4224.5277746392 2 5775.4721992028 )	53.8264949041 (ExtendedPoll#67)
+	8418	(	2 0 4224.5275125446 2 5775.4724425218 )	53.8264949040 (ExtendedPoll#67)
+	8419	(	2 0 4224.5264641662 2 5775.4734157976 )	53.8264949035 (ExtendedPoll#67)
+	8420	(	2 0 4224.5222706526 2 5775.4773089008 )	53.8264949018 (ExtendedPoll#67)
+	8421	(	2 0 4224.5054965982 2 5775.4928813139 )	53.8264948957 (ExtendedPoll#67)
+	8422	(	2 0 4224.4384003804 2 5775.5551709661 )	53.8264948856 (ExtendedPoll#67)
+	8424	(	2 0 4224.4377205871 2 5775.5589246019 )	53.8264648146 (ExtendedPoll#67)
+	8427	(	2 0 4224.4354746818 2 5775.5620080759 )	53.8264551993 (ExtendedPoll#67)
+	8428	(	2 0 4224.4287369659 2 5775.5712584979 )	53.8264263535 (ExtendedPoll#67)
+	8449	(	2 0 4224.4287371566 2 5775.5712603508 )	53.8264263340 (ExtendedPoll#67)
+	8451	(	2 0 4224.4287369462 2 5775.5712622015 )	53.8264263180 (ExtendedPoll#67)
+	8453	(	2 0 4224.4287384895 2 5775.5712611586 )	53.8264263143 (ExtendedPoll#67)
+	8461	(	2 0 4224.4287387223 2 5775.5712611587 )	53.8264263122 (ExtendedPoll#67)
+	8464	(	2 0 4224.4287389206 2 5775.5712610366 )	53.8264263116 (ExtendedPoll#67)
+	8469	(	2 0 4224.4287388106 2 5775.5712611591 )	53.8264263114 (ExtendedPoll#67)
+	8475	(	2 0 4224.4287388393 2 5775.5712611545 )	53.8264263112 (ExtendedPoll#67)
+	8483	(	2 0 4748.4423512277 2 5251.5576461652 )	54.9123289774 (ExtendedPoll#68)
+	8484	(	2 0 3993.7694088215 2 6006.2305885713 )	53.8183150359 (ExtendedPoll#68)
+	8529	(	2 0 3993.7694094976 2 6006.2305892118 )	53.8183150239 (ExtendedPoll#68)
+	8530	(	2 0 3993.7694111450 2 6006.2305883426 )	53.8183150161 (ExtendedPoll#68)
+	8541	(	2 0 3993.7694114742 2 6006.2305883502 )	53.8183150129 (ExtendedPoll#68)
+	8543	(	2 0 3993.7694113839 2 6006.2305885648 )	53.8183150119 (ExtendedPoll#68)
+	8548	(	2 0 3993.7694115223 2 6006.2305884756 )	53.8183150114 (ExtendedPoll#68)
+	8556	(	3 0 3209.7895991439 2 3041.1231230634 1 3749.0872724849 )	46.5944602388
+	8557	(	3 0 3209.7895438823 2 3041.1231028951 1 3749.0873398125 )	46.5944601576
+	8558	(	3 0 3209.7893228358 2 3041.1230222222 1 3749.0876091228 )	46.5944598326
+	8559	(	3 0 3209.7884386500 2 3041.1226995306 1 3749.0886863640 )	46.5944585328
+	8560	(	3 0 3209.7849019068 2 3041.1214087641 1 3749.0929953290 )	46.5944533336
+	8561	(	3 0 3209.7707549341 2 3041.1162456982 1 3749.1102311888 )	46.5944325369
+	8562	(	3 0 3209.7141670434 2 3041.0955934346 1 3749.1791746282 )	46.5943493545
+	8563	(	3 0 3209.4878154802 2 3041.0129843799 1 3749.4549483857 )	46.5940166899
+	8564	(	3 0 3208.5824092276 2 3040.6825481613 1 3750.5580434156 )	46.5926870780
+	8565	(	3 0 3204.9607842173 2 3039.3608032869 1 3754.9704235351 )	46.5873853782
+	8566	(	3 0 3190.4742841761 2 3034.0738237895 1 3772.6199440134 )	46.5664471002
+	8567	(	3 0 3132.5282840110 2 3012.9259057995 1 3843.2180259264 )	46.4870256328
+	8568	(	3 0 2900.7442833508 2 2928.3342338397 1 4125.6103535787 )	46.2408879908
+	8570	(	3 0 2900.7614274922 2 2928.3321612234 1 4125.8538859951 )	46.2381909255
+	8571	(	3 0 2900.8128599165 2 2928.3259433745 1 4126.5844832443 )	46.2301005176
+	8572	(	3 0 2901.0185896137 2 2928.3010719787 1 4129.5068722413 )	46.1977507173
+	8573	(	3 0 2901.8415084025 2 2928.2015863959 1 4141.1964282293 )	46.0685414984
+	8574	(	3 0 2900.9072090155 2 2929.0263074597 1 4144.8990220964 )	46.0294803754
+	8575	(	3 0 2898.1043108544 2 2931.5004706513 1 4156.0068036976 )	45.9126009127
+	8576	(	3 0 2893.3059337557 2 2930.6699823072 1 4170.8633174072 )	45.8058560157
+	8577	(	3 0 2906.2246413292 2 2906.6780968135 1 4186.3657664955 )	45.7664430594
+	8584	(	3 0 2885.1856032809 2 2904.8325671601 1 4209.2503341972 )	45.7234233185
+	8585	(	3 0 2822.0684891358 2 2899.2959782000 1 4277.9040373024 )	45.6027586237
+	8586	(	3 0 2569.6000325554 2 2877.1496223596 1 4552.5188497232 )	45.2497134209
+	8603	(	3 0 2569.6580658121 2 2876.7761909688 1 4553.4192663392 )	45.2437144482
+	8604	(	3 0 2570.2146083482 2 2875.2291180641 1 4554.4732367897 )	45.2420565509
+	8618	(	3 0 2570.1792950214 2 2875.1673676151 1 4554.5724351350 )	45.2419430091
+	8619	(	3 0 2570.0733550410 2 2874.9821162682 1 4554.8700301708 )	45.2416024126
+	8620	(	3 0 2569.6495951193 2 2874.2411108805 1 4556.0604103143 )	45.2402404599
+	8627	(	3 0 2569.2779660036 2 2874.5306463677 1 4556.1885520705 )	45.2397502250
+	8644	(	3 0 2569.2890178965 2 2874.5245089523 1 4556.1847035137 )	45.2397436100
+	8655	(	3 0 2569.2838215385 2 2874.5258438228 1 4556.1885598972 )	45.2397403650
+	8656	(	3 0 2569.2682324643 2 2874.5298484341 1 4556.2001290477 )	45.2397306308
+	8657	(	3 0 2569.2058761675 2 2874.5458668797 1 4556.2464056497 )	45.2396917036
+	8658	(	3 0 2568.9564509805 2 2874.6099406618 1 4556.4315120578 )	45.2395361495
+	8659	(	3 0 2567.9587502324 2 2874.8662357905 1 4557.1719376902 )	45.2389164047
+	8660	(	3 0 2563.9679472400 2 2875.8914163050 1 4560.1336402198 )	45.2364769895
+	8661	(	3 0 2548.0047352705 2 2879.9921383632 1 4571.9804503382 )	45.2273531705
+	8662	(	3 0 2484.1518873922 2 2896.3950265960 1 4619.3676908119 )	45.2010503608
+	8674	(	3 0 2484.0736686549 2 2896.3896310350 1 4619.4612514156 )	45.2009055791
+	8675	(	3 0 2483.8390124432 2 2896.3734443522 1 4619.7419332265 )	45.2004713862
+	8688	(	3 0 2483.8404577833 2 2896.3642671817 1 4619.7710023038 )	45.2002598293
+	8695	(	3 0 2483.8253676018 2 2896.3813588741 1 4619.7912874024 )	45.2000581939
+	8711	(	3 0 2483.8253703113 2 2896.3815984832 1 4619.7922104815 )	45.2000473949
+	8713	(	3 0 2483.8245414630 2 2896.3833077377 1 4619.7920389071 )	45.2000420407
+	8716	(	3 0 2483.8258603227 2 2896.3779360857 1 4619.7956529999 )	45.2000411600
+	8717	(	3 0 2483.8298169016 2 2896.3618211298 1 4619.8064952782 )	45.2000385180
+	8718	(	3 0 2483.8456432174 2 2896.2973613061 1 4619.8498643917 )	45.2000279546
+	8719	(	3 0 2483.9089484806 2 2896.0395220115 1 4620.0233408456 )	45.1999857711
+	8720	(	3 0 2484.1621695335 2 2895.0081648328 1 4620.7172466613 )	45.1998181601
+	8721	(	3 0 2485.1750537449 2 2890.8827361181 1 4623.4928699239 )	45.1991656831
+	8722	(	3 0 2489.2265905905 2 2874.3810212593 1 4634.5953629742 )	45.1968429324
+	8723	(	3 0 2505.4327379729 2 2808.3741618241 1 4679.0053351755 )	45.1921264676
+	8726	(	3 0 2505.3685769810 2 2808.4952747076 1 4679.9720755135 )	45.1823799799
+	8727	(	3 0 2505.1760940054 2 2808.8586133581 1 4682.8722965274 )	45.1531602599
+	8728	(	3 0 2503.1517786669 2 2810.5022882056 1 4685.7790057314 )	45.1291493448
+	8737	(	3 0 2502.1929683392 2 2809.7986800253 1 4687.3275204562 )	45.1288718569
+	8738	(	3 0 2499.3165373560 2 2807.6878554842 1 4691.9730646305 )	45.1280529948
+	8739	(	3 0 2487.8108134233 2 2799.2445573201 1 4710.5552413278 )	45.1249818571
+	8740	(	3 0 2441.7879176925 2 2765.4713646635 1 4784.8839481171 )	45.1159841138
+	8743	(	3 0 2462.0887438795 2 2743.6941147538 1 4794.1115963840 )	45.0330234211
+	8759	(	3 0 2462.3136002207 2 2743.6052851221 1 4794.0775784423 )	45.0321070688
+	8775	(	3 0 2462.3185474349 2 2743.6003098574 1 4794.0805750106 )	45.0320771528
+	8785	(	3 0 2462.3197386852 2 2743.5989064226 1 4794.0810742815 )	45.0320738114
+	8792	(	3 0 2462.3211643858 2 2743.5976465736 1 4794.0809396072 )	45.0320731778
+	8793	(	3 0 2462.3254414876 2 2743.5938670266 1 4794.0805355845 )	45.0320712769
+	8811	(	3 0 2462.3255079460 2 2743.5937832827 1 4794.0805883207 )	45.0320709008
+	8812	(	3 0 2462.3257073210 2 2743.5935320511 1 4794.0807465293 )	45.0320697728
+	8825	(	3 0 2462.3257104845 2 2743.5935091129 1 4794.0807652912 )	45.0320697624
+	8826	(	3 0 2462.3257199749 2 2743.5934402983 1 4794.0808215770 )	45.0320697313
+	8827	(	3 0 2462.3257579368 2 2743.5931650398 1 4794.0810467200 )	45.0320696068
+	8828	(	3 0 2462.3259097844 2 2743.5920640060 1 4794.0819472921 )	45.0320691088
+	8829	(	3 0 2462.3265171749 2 2743.5876598710 1 4794.0855495803 )	45.0320671166
+	8830	(	3 0 2462.3289467365 2 2743.5700433307 1 4794.0999587333 )	45.0320591485
+	8831	(	3 0 2462.3386649831 2 2743.4995771695 1 4794.1575953453 )	45.0320272796
+	8832	(	3 0 2462.3775379695 2 2743.2177125248 1 4794.3881417933 )	45.0318998663
+	8833	(	3 0 2462.5330299152 2 2742.0902539461 1 4795.3103275852 )	45.0313912035
+	8834	(	3 0 2463.1549976977 2 2737.5804196312 1 4798.9990707529 )	45.0293724005
+	8835	(	3 0 2465.6428688278 2 2719.5410823714 1 4813.7540434236 )	45.0215504519
+	8836	(	3 0 2475.5943533484 2 2647.3837333325 1 4872.7739341066 )	44.9942951687
+	8837	(	3 0 2515.4002914308 2 2358.7543371766 1 5108.8534968384 )	44.9485005040
+	8839	(	3 0 2515.2855315668 2 2358.6893426326 1 5109.0589561943 )	44.9480836817
+	8840	(	3 0 2514.9412519750 2 2358.4943590004 1 5109.6753342622 )	44.9468335445
+	8841	(	3 0 2513.5641336077 2 2357.7144244716 1 5112.1408465335 )	44.9418379464
+	8842	(	3 0 2508.0556601384 2 2354.5946863564 1 5122.0028956186 )	44.9219348254
+	8843	(	3 0 2486.0217662612 2 2342.1157338955 1 5161.4510919593 )	44.8435947921
+	8844	(	3 0 2483.0458496952 2 2338.7707113988 1 5167.8643075048 )	44.8377804120
+	8845	(	3 0 2474.1180999970 2 2328.7356439086 1 5187.1039541411 )	44.8205099552
+	8846	(	3 0 2438.4071012044 2 2288.5953739479 1 5264.0625406864 )	44.7540328039
+	8847	(	3 0 2295.5631060339 2 2128.0342941051 1 5571.8968868678 )	44.5306991822
+	8854	(	3 0 2246.8411231851 2 2159.0391922817 1 5594.0432427082 )	44.4908538729
+	8880	(	3 0 2246.8591149590 2 2159.0973578929 1 5594.0389538567 )	44.4902351182
+	8889	(	3 0 2246.8486392353 2 2159.1084209401 1 5594.0397904890 )	44.4902262093
+	8902	(	3 0 2246.8540260785 2 2159.1053127856 1 5594.0375595191 )	44.4902251751
+	8903	(	3 0 2246.8701866083 2 2159.0959883223 1 5594.0308666095 )	44.4902220731
+	8904	(	3 0 2246.9348287276 2 2159.0586904689 1 5594.0040949708 )	44.4902096777
+	8905	(	3 0 2247.1933972044 2 2158.9094990553 1 5593.8970084161 )	44.4901602933
+	8926	(	3 0 2247.1934312789 2 2158.9093352501 1 5593.8971782696 )	44.4901598382
+	8932	(	3 0 2247.1936064494 2 2158.9091736740 1 5593.8971710678 )	44.4901597251
+	8933	(	3 0 2247.1941319611 2 2158.9086889458 1 5593.8971494625 )	44.4901593859
+	8943	(	3 0 2247.1941525712 2 2158.9086089656 1 5593.8972354233 )	44.4901591006
+	8960	(	3 0 2247.1941592110 2 2158.9086060982 1 5593.8972336338 )	44.4901590823
+	8968	(	3 0 2247.1941622393 2 2158.9086061446 1 5593.8972314647 )	44.4901590747
+	8978	(	3 0 2247.1941629850 2 2158.9086060136 1 5593.8972309224 )	44.4901590742
+	8987	(	3 0 2247.1941631028 2 2158.9086062984 1 5593.8972305733 )	44.4901590739
+	8997	(	3 0 2247.1941631943 2 2158.9086062904 1 5593.8972305018 )	44.4901590738
+	9010	(	3 0 2247.1941631861 2 2158.9086062987 1 5593.8972305106 )	44.4901590737
+	9020	(	3 0 2247.1941631897 2 2158.9086062984 1 5593.8972305098 )	44.4901590737
+	9026	(	3 0 2247.1941631931 2 2158.9086062979 1 5593.8972305086 )	44.4901590737
+	9036	(	3 0 2247.1941631947 2 2158.9086062989 1 5593.8972305060 )	44.4901590737
+	9046	(	3 0 2247.1941631950 2 2158.9086062987 1 5593.8972305061 )	44.4901590737
+	9055	(	3 0 2247.1941631952 2 2158.9086062985 1 5593.8972305062 )	44.4901590737
+	9064	(	3 0 2247.1941631953 2 2158.9086062986 1 5593.8972305060 )	44.4901590737
+	9073	(	3 0 2247.1941631953 2 2158.9086062986 1 5593.8972305061 )	44.4901590737
+	9090	(	3 0 2247.1941631953 2 2158.9086062986 1 5593.8972305061 )	44.4901590737
 
 } end of run (mesh index limits)
 
-blackbox evaluations                     : 9091
+blackbox evaluations                     : 9090
 best feasible solution                   : ( 3 0 2247.194163 2 2158.908606 1 5593.897231 ) h=0 f=44.49015907
diff --git a/examples/advanced/multi_start/best_x.txt b/examples/advanced/multi_start/best_x.txt
index 821eea6..719c96c 100644
--- a/examples/advanced/multi_start/best_x.txt
+++ b/examples/advanced/multi_start/best_x.txt
@@ -1 +1 @@
-0.9999740474925636890546343238384 3.9134074383641649674033663464101e-05 0.99997595080463674843684884763206 0.99999589110497688615453171223635 0.99999324108060483329296630472527
\ No newline at end of file
+0.99997404758823804638012688883464 3.9134551244589541117279568593901e-05 0.99997595072021128181916083121905 0.99999589126391608129296173501643 0.99999324126388144939880930905929
\ No newline at end of file
diff --git a/examples/advanced/multi_start/makefile b/examples/advanced/multi_start/makefile
index 841008f..f60f005 100644
--- a/examples/advanced/multi_start/makefile
+++ b/examples/advanced/multi_start/makefile
@@ -15,7 +15,7 @@ endif
 
 LDLIBS                 = -lm -lnomad
 
-INCLUDE                = -I$(NOMAD_HOME)/src -I.
+INCLUDE                = -I$(NOMAD_HOME)/src -I$(NOMAD_HOME)/ext/sgtelib/src -I.
 COMPILE                = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
 OBJS                   = multi.o
 
diff --git a/examples/advanced/multi_start/param.txt b/examples/advanced/multi_start/param.txt
index 09df942..0e2931d 100644
--- a/examples/advanced/multi_start/param.txt
+++ b/examples/advanced/multi_start/param.txt
@@ -1,13 +1,13 @@
-
-MAX_CACHE_MEMORY 750
-
-initial_mesh_size r0.1
-
-opportunistic_eval no
-
-DIRECTION_TYPE           ortho 2n
-DIRECTION_TYPE           Lt
-DIRECTION_TYPE           Gps
-DIRECTION_TYPE           Gps n+1 rand
-
-MAX_BB_EVAL 1000
+
+MAX_CACHE_MEMORY 750
+
+initial_mesh_size r0.1
+
+opportunistic_eval no
+
+DIRECTION_TYPE           ortho 2n
+DIRECTION_TYPE           Lt
+DIRECTION_TYPE           Gps
+DIRECTION_TYPE           Gps n+1 rand
+
+MAX_BB_EVAL 1000
diff --git a/examples/advanced/multi_start/runExample.log b/examples/advanced/multi_start/runExample.log
index ffc68d1..64ab949 100644
--- a/examples/advanced/multi_start/runExample.log
+++ b/examples/advanced/multi_start/runExample.log
@@ -1,21 +1,26 @@
 
-starting point # 0: ( 0.5802249825 1.631108467 1.028915701 1.041199968 0.8987064366 1.883811294 1.475481573 )
-starting point # 1: ( 4.046907118 0.2179386209 0.3995457903 2.86002185 2.869872299 1.805805862 0.9241232544 )
-starting point # 2: ( 2.730496038 4.019688198 2.015450408 3.887235003 1.919237215 0.004176816764 2.788539635 )
-starting point # 3: ( 1.986593711 1.814325217 1.166098379 0.9517739273 0.4086947283 3.9836116 2.239536416 )
-starting point # 4: ( 1.072412482 2.713920967 3.075009451 0.3310437183 1.032300187 3.079123794 3.985637823 )
+ ./multi.exe param.txt 4 5 
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+
+
+
+starting point # 0: ( 0.9999740476 3.913455159e-05 0.9999759507 0.9999958913 0.9999932413 )
+starting point # 1: ( 4.046907118 0.2179386209 0.3995457903 2.86002185 2.869872299 )
+starting point # 2: ( 2.730496038 4.019688198 2.015450408 3.887235003 1.919237215 )
+starting point # 3: ( 1.986593711 1.814325217 1.166098379 0.9517739273 0.4086947283 )
+starting point # 4: ( 1.072412482 2.713920967 3.075009451 0.3310437183 1.032300187 )
 
 Warning: {
 	Anisotropic mesh is disabled for direction types other than OrthoMads.
 } 
-run # 0: f=1.933149587
-run # 1: f=1.998299291
-run # 2: f=2.185446803
-run # 3: f=1.978020317
-run # 4: f=2.037153616
+run # 0: f=1.414178206
+run # 1: f=2.002107118
+run # 2: f=1.544496378
+run # 3: f=2.000045217
+run # 4: f=1.45209327
 
 bb eval : 5000
-best    : 1.933149587
-worst   : 2.185446803
-solution: x = ( 0.6020877754 1.616716377 1.043857108 1.033179949 0.9025516515 1.899521743 1.402861944 ) f(x) = 1.933149587
+best    : 1.414178206
+worst   : 2.002107118
+solution: x = ( 0.9999740476 3.913455124e-05 0.9999759507 0.9999958913 0.9999932413 ) f(x) = 1.414178206
 
diff --git a/examples/advanced/plot/problems/02/param.txt b/examples/advanced/plot/problems/02/param.txt
index a6d3a84..67ae450 100644
--- a/examples/advanced/plot/problems/02/param.txt
+++ b/examples/advanced/plot/problems/02/param.txt
@@ -1,34 +1,34 @@
-######################################
-#  Deb, Discontinuous, alpha=2, q=4  #
-######################################
-
-DIMENSION 2
-
-display_degree 4
-
-TMP_DIR /tmp
-BB_EXE         bb.exe
-BB_OUTPUT_TYPE OBJ OBJ
-
-x0 ( 0.51 0.51 )
-
-#vns_search yes
-
-#initial_mesh_size r0.01
-
-lower_bound * 0.0
-upper_bound * 1.0
-
-DIRECTION_TYPE ORTHO
-
-#MAX_BB_EVAL           5
-MULTI_OVERALL_BB_EVAL 500
-#MULTI_NB_MADS_RUNS   0
-#MULTI_USE_DELTA_CRIT  yes
-
-#              f1_min f1_max f2_min f2_max
-MULTI_F_BOUNDS 0.0    2.0    -1.0   10.0
-
-ADD_SEED_TO_FILE_NAMES no
-STATS_FILE    front.txt OBJ,
-#HISTORY_FILE history.txt
+######################################
+#  Deb, Discontinuous, alpha=2, q=4  #
+######################################
+
+DIMENSION 2
+
+display_degree 4
+
+TMP_DIR /tmp
+BB_EXE         bb.exe
+BB_OUTPUT_TYPE OBJ OBJ
+
+x0 ( 0.51 0.51 )
+
+#vns_search yes
+
+#initial_mesh_size r0.01
+
+lower_bound * 0.0
+upper_bound * 1.0
+
+DIRECTION_TYPE ORTHO
+
+#MAX_BB_EVAL           5
+MULTI_OVERALL_BB_EVAL 500
+#MULTI_NB_MADS_RUNS   0
+#MULTI_USE_DELTA_CRIT  yes
+
+#              f1_min f1_max f2_min f2_max
+MULTI_F_BOUNDS 0.0    2.0    -1.0   10.0
+
+ADD_SEED_TO_FILE_NAMES no
+STATS_FILE    front.txt OBJ,
+#HISTORY_FILE history.txt
diff --git a/examples/advanced/plot/readme.txt b/examples/advanced/plot/readme.txt
index 78c1ab8..fe7ef85 100644
--- a/examples/advanced/plot/readme.txt
+++ b/examples/advanced/plot/readme.txt
@@ -1,12 +1,12 @@
-This example illustrates an application of the NOMAD library in order to graphically represent the outputs of an execution. It must not be considered as a graphical user interface of the code, as it is very simple and incomplete for such a purpose. The objective of this example is simply to illustrate a library usage of NOMAD and some links that can be made with another language such as JAVA.
-
-The example has been developed by Quentin Reynaud from ISIMA. It has been tested on a MAC with the C++ and JAVA compilers included in the XCODE package.
-
-The example is composed of two programs: The first is a JAVA application that runs in background and periodically checks NOMAD outputs in order to draw them. The other program uses the NOMAD library in order to optimize single or bi-objective problems and to communicate outputs to the JAVA application.
-
-Open a console, and from the plot directory, go to GUI/src. Compile the JAVA code with the command 'javac *.java'. This generates .class files that you have to move in plot/GUI/bin. Go to this last directory, and execute the JAVA application in the background with the command 'java Prog'.
-
-To execute the NOMAD code associated with the JAVA graphical interface, go to the plot directory and compile with 'make' (NOMAD must be installed and the $NOMAD_HOME environment variable must be defined).
-This generates the executable file 'nomad_plot.exe', and you can run it on the two test problems located in the plot/problems directory.
-
+This example illustrates an application of the NOMAD library in order to graphically represent the outputs of an execution. It must not be considered as a graphical user interface of the code, as it is very simple and incomplete for such a purpose. The objective of this example is simply to illustrate a library usage of NOMAD and some links that can be made with another language such as JAVA.
+
+The example has been developed by Quentin Reynaud from ISIMA. It has been tested on a MAC with the C++ and JAVA compilers included in the XCODE package.
+
+The example is composed of two programs: The first is a JAVA application that runs in background and periodically checks NOMAD outputs in order to draw them. The other program uses the NOMAD library in order to optimize single or bi-objective problems and to communicate outputs to the JAVA application.
+
+Open a console, and from the plot directory, go to GUI/src. Compile the JAVA code with the command 'javac *.java'. This generates .class files that you have to move in plot/GUI/bin. Go to this last directory, and execute the JAVA application in the background with the command 'java Prog'.
+
+To execute the NOMAD code associated with the JAVA graphical interface, go to the plot directory and compile with 'make' (NOMAD must be installed and the $NOMAD_HOME environment variable must be defined).
+This generates the executable file 'nomad_plot.exe', and you can run it on the two test problems located in the plot/problems directory.
+
 For examples, type './nomad_plot.exe ./problems/01/param_single_obj.txt' to execute on a single-objective problem. Try also the bi-objective version of the same problem with the parameters file param_bi_obj, or 02 instead of 01 for another bi-objective execution. Black-box executables must have been compiled beforehand with command 'g++ -o bb.exe bb.cpp'.
\ No newline at end of file
diff --git a/examples/advanced/restart/makefile b/examples/advanced/restart/makefile
index a4770d4..6c04997 100644
--- a/examples/advanced/restart/makefile
+++ b/examples/advanced/restart/makefile
@@ -24,7 +24,7 @@ CXXFLAGS_MPI 	                = $(CXXFLAGS) -DUSE_MPI
 LDLIBS                          = -lm -lnomad
 LDLIBS_MPI                      = -lm -lmpi -lnomad.MPI
 
-INCLUDE                         = -I$(NOMAD_HOME)/src -I.
+INCLUDE                         = -I$(NOMAD_HOME)/src -I$(NOMAD_HOME)/ext/sgtelib/src -I.
 COMPILE                         = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
 COMPILE_MPI			= $(COMPILATOR_MPI) $(COMPILATOR_OPTIONS_MPI) $(INCLUDE) -c
 OBJS                            = restart.o
diff --git a/examples/advanced/restart/restart.cpp b/examples/advanced/restart/restart.cpp
index 9c5c7b5..522eb66 100644
--- a/examples/advanced/restart/restart.cpp
+++ b/examples/advanced/restart/restart.cpp
@@ -70,7 +70,7 @@ void My_Evaluator::update_iteration ( success_type              success      ,
                                      bool                    & stop           )
 {
     
-    if ( success == UNSUCCESSFUL )
+    if ( success == UNSUCCESSFUL  && stats.get_bb_eval() > 10 )
         stop = true;
 }
 
@@ -169,7 +169,7 @@ int main ( int argc , char ** argv )
                 p.check();
                 
                 // reset the Mads object:
-                mads.reset ( false , false );
+                mads.reset ( );
                 
             }
             
diff --git a/examples/advanced/restart/runExample.log b/examples/advanced/restart/runExample.log
index e0e3dcf..827c768 100644
--- a/examples/advanced/restart/runExample.log
+++ b/examples/advanced/restart/runExample.log
@@ -5,15 +5,18 @@ MADS run {
 
 	BBE	(	SOL	)	OBJ
 
-	  2	(	0.0000000000 0.5366563146 0.5813776741 -0.2683281573 0.2683281573 )	288.7937255854 (PhaseOne)
-	  3	(	0.0000000000 2.1466252584 2.3255106966 -1.0733126292 1.0733126292 )	0.0000000000 (PhaseOne)
-	  3	(	0.0000000000 2.1466252584 2.3255106966 -1.0733126292 1.0733126292 )	1.0733126292
-	  9	(	0.0000000000 2.1466252584 2.3255106966 -1.0733126292 1.0733126292 )	1.0733126292
+	  2	(	0.0000000000 1.0000000000 1.0000000000 -1.0000000000 1.0000000000 )	144.0000000000 (PhaseOne)
+	  4	(	0.0000000000 3.0000000000 2.0000000000 -2.0000000000 1.0000000000 )	0.0000000000 (PhaseOne)
+	  4	(	0.0000000000 3.0000000000 2.0000000000 -2.0000000000 1.0000000000 )	1.0000000000
+	 12	(	0.5000000000 3.0300000000 2.0600000000 -2.0100000000 0.9400000000 )	0.9400000000
+	 13	(	2.0000000000 3.1200000000 2.2400000000 -2.0400000000 0.7600000000 )	0.7600000000
+	 16	(	2.0000000000 3.1200000000 0.2400000000 -1.0400000000 -1.2400000000 )	-1.2400000000
+	 23	(	2.0000000000 3.1200000000 0.2400000000 -1.0400000000 -1.2400000000 )	-1.2400000000
 
 } end of run (terminated by the user inside Evaluator::update_iteration())
 
-blackbox evaluations                     : 9
-best feasible solution                   : ( 0 2.146625258 2.325510697 -1.073312629 1.073312629 ) h=0 f=1.073312629
+blackbox evaluations                     : 23
+best feasible solution                   : ( 2 3.12 0.24 -1.04 -1.24 ) h=0 f=-1.24
 } 
 
 MADS run #1 {
@@ -22,18 +25,13 @@ MADS run {
 
 	BBE	(	SOL	)	OBJ
 
-	  9	(	-0.4919349550 2.6832815730 2.9068883707 -0.5366563146 1.0733126292 )	1.0733126292
-	 11	(	-0.4919349550 3.0857738089 2.9068883707 -0.5366563146 0.8720665112 )	0.8720665112
-	 12	(	-0.4919349550 4.2932505168 2.9068883707 -0.5366563146 0.2683281573 )	0.2683281573
-	 20	(	0.0000000000 3.6224301235 2.6161995337 -0.0670820393 -1.0733126292 )	-1.0733126292
-	 27	(	-0.2459674775 4.1590864381 2.9068883707 -0.6037383539 -1.4087228258 )	-1.4087228258
-	 29	(	2.4596747752 1.4758048651 0.7267220927 -0.6708203932 -3.4211840056 )	-3.4211840056
-	 36	(	2.4596747752 1.4758048651 0.7267220927 -0.6708203932 -3.4211840056 )	-3.4211840056
+	  4	(	1.0000000000 3.1200000000 1.2400000000 -1.0400000000 -2.2400000000 )	-2.2400000000
+	 11	(	1.0000000000 3.1200000000 1.2400000000 -1.0400000000 -2.2400000000 )	-2.2400000000
 
 } end of run (terminated by the user inside Evaluator::update_iteration())
 
-blackbox evaluations                     : 36
-best feasible solution                   : ( 2.459674775 1.475804865 0.7267220927 -0.6708203932 -3.421184006 ) h=0 f=-3.421184006
+blackbox evaluations                     : 11
+best feasible solution                   : ( 1 3.12 1.24 -1.04 -2.24 ) h=0 f=-2.24
 } 
 
 MADS run #2 {
@@ -42,13 +40,13 @@ MADS run {
 
 	BBE	(	SOL	)	OBJ
 
-	 36	(	2.4596747752 1.4758048651 0.7267220927 -0.6708203932 -3.4211840056 )	-3.4211840056
-	 42	(	2.4596747752 1.4758048651 0.7267220927 -0.6708203932 -3.4211840056 )	-3.4211840056
+	 11	(	1.3100000000 2.6200000000 0.2400000000 -0.8000000000 -3.2400000000 )	-3.2400000000
+	 18	(	1.3100000000 2.6200000000 0.2400000000 -0.8000000000 -3.2400000000 )	-3.2400000000
 
 } end of run (terminated by the user inside Evaluator::update_iteration())
 
-blackbox evaluations                     : 42
-best feasible solution                   : ( 2.459674775 1.475804865 0.7267220927 -0.6708203932 -3.421184006 ) h=0 f=-3.421184006
+blackbox evaluations                     : 18
+best feasible solution                   : ( 1.31 2.62 0.24 -0.8 -3.24 ) h=0 f=-3.24
 } 
 
 MADS run #3 {
@@ -57,13 +55,13 @@ MADS run {
 
 	BBE	(	SOL	)	OBJ
 
-	 42	(	2.4596747752 1.4758048651 0.7267220927 -0.6708203932 -3.4211840056 )	-3.4211840056
-	 48	(	2.4596747752 1.4758048651 0.7267220927 -0.6708203932 -3.4211840056 )	-3.4211840056
+	  7	(	1.8100000000 2.3200000000 0.3500000000 -0.6900000000 -3.3200000000 )	-3.3200000000
+	 15	(	1.8100000000 2.3200000000 0.3500000000 -0.6900000000 -3.3200000000 )	-3.3200000000
 
 } end of run (terminated by the user inside Evaluator::update_iteration())
 
-blackbox evaluations                     : 48
-best feasible solution                   : ( 2.459674775 1.475804865 0.7267220927 -0.6708203932 -3.421184006 ) h=0 f=-3.421184006
+blackbox evaluations                     : 15
+best feasible solution                   : ( 1.81 2.32 0.35 -0.69 -3.32 ) h=0 f=-3.32
 } 
 
 MADS run #4 {
@@ -72,13 +70,25 @@ MADS run {
 
 	BBE	(	SOL	)	OBJ
 
-	 48	(	2.4596747752 1.4758048651 0.7267220927 -0.6708203932 -3.4211840056 )	-3.4211840056
-	 52	(	2.4750477426 1.4674196102 0.8902345635 0.5282710597 -3.4505323978 )	-3.4505323978
-	 54	(	0.9915563938 0.9978453350 1.0174109298 1.0230010997 -3.9997665948 )	-3.9997665948
-	 61	(	0.9915563938 0.9978453350 1.0174109298 1.0230010997 -3.9997665948 )	-3.9997665948
+	  7	(	1.3100000000 2.4200000000 0.8500000000 -0.1900000000 -3.6100000000 )	-3.6100000000
+	 15	(	1.3100000000 2.4200000000 0.8500000000 -0.1900000000 -3.6100000000 )	-3.6100000000
 
 } end of run (terminated by the user inside Evaluator::update_iteration())
 
-blackbox evaluations                     : 61
-best feasible solution                   : ( 0.9915563938 0.997845335 1.01741093 1.0230011 -3.999766595 ) h=0 f=-3.999766595
+blackbox evaluations                     : 15
+best feasible solution                   : ( 1.31 2.42 0.85 -0.19 -3.61 ) h=0 f=-3.61
+} 
+
+MADS run #5 {
+
+MADS run {
+
+	BBE	(	SOL	)	OBJ
+
+	 12	(	1.3100000000 2.4200000000 0.8500000000 -0.1900000000 -3.6100000000 )	-3.6100000000
+
+} end of run (terminated by the user inside Evaluator::update_iteration())
+
+blackbox evaluations                     : 12
+best feasible solution                   : ( 1.31 2.42 0.85 -0.19 -3.61 ) h=0 f=-3.61
 } 
diff --git a/examples/advanced/user_search/makefile b/examples/advanced/user_search/makefile
index 4632e59..2597539 100644
--- a/examples/advanced/user_search/makefile
+++ b/examples/advanced/user_search/makefile
@@ -24,7 +24,7 @@ CXXFLAGS_MPI 	                = $(CXXFLAGS) -DUSE_MPI
 LDLIBS                          = -lm -lnomad
 LDLIBS_MPI                      = -lm -lmpi -lnomad.MPI
 
-INCLUDE                         = -I$(NOMAD_HOME)/src -I.
+INCLUDE                         = -I$(NOMAD_HOME)/src -I$(NOMAD_HOME)/ext/sgtelib/src -I.
 COMPILE                         = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
 COMPILE_MPI			= $(COMPILATOR_MPI) $(COMPILATOR_OPTIONS_MPI) $(INCLUDE) -c
 
diff --git a/examples/advanced/user_search/runExample.log b/examples/advanced/user_search/runExample.log
index 60c785b..5e5bfa0 100644
--- a/examples/advanced/user_search/runExample.log
+++ b/examples/advanced/user_search/runExample.log
@@ -9,8 +9,9 @@ MADS search {
 			submitted evaluation 1/1 {
 
 				point #1   ( 0.132741232 )
-				mesh indices: (  0 )
+				mesh indices   : (  0 )
 
+				not in cache
 			} 
 
 			evaluation 1/1 {
@@ -42,8 +43,9 @@ MADS search {
 			submitted evaluation 1/1 {
 
 				point #2   ( 0.061929856 )
-				mesh indices: (  0 )
+				mesh indices   : (  1 )
 
+				not in cache
 			} 
 
 			evaluation 1/1 {
@@ -75,8 +77,9 @@ MADS search {
 			submitted evaluation 1/1 {
 
 				point #3   ( 0.052807552 )
-				mesh indices: (  0 )
+				mesh indices   : (  2 )
 
+				not in cache
 			} 
 
 			evaluation 1/1 {
@@ -108,8 +111,9 @@ MADS search {
 			submitted evaluation 1/1 {
 
 				point #4   ( 0.003343488002 )
-				mesh indices: (  0 )
+				mesh indices   : (  3 )
 
+				not in cache
 			} 
 
 			evaluation 1/1 {
@@ -141,8 +145,9 @@ MADS search {
 			submitted evaluation 1/1 {
 
 				point #5   ( 0.003046400592 )
-				mesh indices: (  0 )
+				mesh indices   : (  4 )
 
+				not in cache
 			} 
 
 			evaluation 1/1 {
@@ -174,8 +179,9 @@ MADS search {
 			submitted evaluation 1/1 {
 
 				point #6   ( 0.002265794838 )
-				mesh indices: (  0 )
+				mesh indices   : (  5 )
 
+				not in cache
 			} 
 
 			evaluation 1/1 {
@@ -207,8 +213,9 @@ MADS search {
 			submitted evaluation 1/1 {
 
 				point #7   ( 0.001481318181 )
-				mesh indices: (  0 )
+				mesh indices   : (  6 )
 
+				not in cache
 			} 
 
 			evaluation 1/1 {
@@ -240,8 +247,9 @@ MADS search {
 			submitted evaluation 1/1 {
 
 				point #8   ( 0.001371090082 )
-				mesh indices: (  0 )
+				mesh indices   : (  7 )
 
+				not in cache
 			} 
 
 			evaluation 1/1 {
@@ -273,8 +281,9 @@ MADS search {
 			submitted evaluation 1/1 {
 
 				point #9   ( 0.0008957599348 )
-				mesh indices: (  0 )
+				mesh indices   : (  8 )
 
+				not in cache
 			} 
 
 			evaluation 1/1 {
diff --git a/examples/advanced/user_search/user_search.cpp b/examples/advanced/user_search/user_search.cpp
index 8c4870c..931e56e 100755
--- a/examples/advanced/user_search/user_search.cpp
+++ b/examples/advanced/user_search/user_search.cpp
@@ -180,8 +180,6 @@ int main ( int argc , char ** argv ) {
   p.set_SPECULATIVE_SEARCH ( false );
 
   p.set_INITIAL_MESH_SIZE        ( 1.0 );
-  p.set_MESH_UPDATE_BASIS        ( 2.0 );
-  p.set_MESH_COARSENING_EXPONENT ( 0   );
 
   p.set_DISPLAY_DEGREE ( "0300" ); // display only the search step
 
diff --git a/examples/basic/batch/bi_obj/param.txt b/examples/basic/batch/bi_obj/param.txt
index cc0d854..3bd5a80 100644
--- a/examples/basic/batch/bi_obj/param.txt
+++ b/examples/basic/batch/bi_obj/param.txt
@@ -1,29 +1,29 @@
-######################################
-#  Deb, Discontinuous, alpha=2, q=4  #
-######################################
-
-DIMENSION 2
-
-DISPLAY_DEGREE 2
-
-BB_EXE         bb.exe
-BB_OUTPUT_TYPE OBJ OBJ
-
-x0 ( 0.51 0.51 )
-
-lower_bound * 0.0
-upper_bound * 1.0
-
-MULTI_OVERALL_BB_EVAL 500
-
-# ADD_SEED_TO_FILE_NAMES no
-STATS_FILE front.txt OBJ
-# HISTORY_FILE history.txt
-DISPLAY_STATS BBE ( SOL ) OBJ
-
-# TMP_DIR        /tmp          # indicates a repertory where
-                              # temporary files are put
-                              # (increases performance by ~100%
-                              # if you're working on a network
-                              # account and if TMP_DIR is on a
-                              # local disk)
+######################################
+#  Deb, Discontinuous, alpha=2, q=4  #
+######################################
+
+DIMENSION 2
+
+DISPLAY_DEGREE 2
+
+BB_EXE         bb.exe
+BB_OUTPUT_TYPE OBJ OBJ
+
+x0 ( 0.51 0.51 )
+
+lower_bound * 0.0
+upper_bound * 1.0
+
+MULTI_OVERALL_BB_EVAL 500
+
+# ADD_SEED_TO_FILE_NAMES no
+STATS_FILE front.txt OBJ
+# HISTORY_FILE history.txt
+DISPLAY_STATS BBE ( SOL ) OBJ
+
+# TMP_DIR        /tmp          # indicates a repertory where
+                              # temporary files are put
+                              # (increases performance by ~100%
+                              # if you're working on a network
+                              # account and if TMP_DIR is on a
+                              # local disk)
diff --git a/examples/basic/batch/bi_obj/runExample.log b/examples/basic/batch/bi_obj/runExample.log
index f85624f..a7e9a15 100644
--- a/examples/basic/batch/bi_obj/runExample.log
+++ b/examples/basic/batch/bi_obj/runExample.log
@@ -1,19 +1,20 @@
 
-NOMAD - version 3.7.3 has been created by {
+NOMAD - version 3.8.1 has been created by {
 	Charles Audet        - Ecole Polytechnique de Montreal
 	Sebastien Le Digabel - Ecole Polytechnique de Montreal
 	Christophe Tribes    - Ecole Polytechnique de Montreal
 } 
 
-The copyright of NOMAD - version 3.7.3 is owned by {
+The copyright of NOMAD - version 3.8.1 is owned by {
 	Sebastien Le Digabel - Ecole Polytechnique de Montreal
 	Christophe Tribes    - Ecole Polytechnique de Montreal
 } 
 
-NOMAD version 3 is a new version of Nomad v1 and v2, it has been funded by AFOSR and Exxon Mobil.
-Nomad v1 and v2 were created and developed by Mark A. Abramson from The Boeing Company, Charles Audet and Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from Rice University, and were funded by AFOSR and Exxon Mobil.
+NOMAD v3 has been funded by AFOSR and Exxon Mobil.
+NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created
+and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.
+Dennis Jr., and were funded by AFOSR and Exxon Mobil.
 
-Download  : www.gerad.ca/nomad
 License   : '$NOMAD_HOME/src/lgpl.txt'
 User guide: '$NOMAD_HOME/doc/user_guide.pdf'
 Examples  : '$NOMAD_HOME/examples'
@@ -21,23 +22,25 @@ Tools     : '$NOMAD_HOME/tools'
 
 Please report bugs to nomad@gerad.ca
 
+Seed: 0
+
 multi-MADS run {
 
-	MADS run  1 ...... OK [bb eval= 64] [overall bb eval=   64] [# dominant pts=   6] [# new pts=   6] [f1=0 f2=6.231313115]
-	MADS run  2 ...... OK [bb eval= 32] [overall bb eval=   96] [# dominant pts=  10] [# new pts=   4] [f1=0.8147632732 f2=-0.4772846994]
-	MADS run  3 ...... OK [bb eval= 32] [overall bb eval=  128] [# dominant pts=  14] [# new pts=   4] [f1=0 f2=1]
-	MADS run  4 ...... OK [bb eval= 32] [overall bb eval=  160] [# dominant pts=  23] [# new pts=   9] [f1=0.3158760328 f2=0.5854826675]
-	MADS run  5 ...... OK [bb eval= 32] [overall bb eval=  192] [# dominant pts=  31] [# new pts=   8] [f1=0.563132696 f2=0.1198200644]
-	MADS run  6 ...... OK [bb eval= 32] [overall bb eval=  224] [# dominant pts=  48] [# new pts=  17] [f1=0.5283988375 f2=0.3748699372]
-	MADS run  7 ...... OK [bb eval= 32] [overall bb eval=  256] [# dominant pts=  66] [# new pts=  18] [f1=0.7870555978 f2=-0.2509912401]
-	MADS run  8 ...... OK [bb eval= 32] [overall bb eval=  288] [# dominant pts=  80] [# new pts=  14] [f1=0.268022029 f2=0.8108740924]
-	MADS run  9 ...... OK [bb eval= 32] [overall bb eval=  320] [# dominant pts=  91] [# new pts=  11] [f1=0.5153477455 f2=0.5405240953]
-	MADS run 10 ...... OK [bb eval= 32] [overall bb eval=  352] [# dominant pts=  95] [# new pts=   4] [f1=0.7680831771 f2=0.07286356753]
-	MADS run 11 ...... OK [bb eval= 32] [overall bb eval=  384] [# dominant pts= 102] [# new pts=   7] [f1=0.5137077274 f2=0.5626056928]
-	MADS run 12 ...... OK [bb eval= 32] [overall bb eval=  416] [# dominant pts= 108] [# new pts=   6] [f1=0.567828327 f2=0.1148265921]
-	MADS run 13 ...... OK [bb eval= 32] [overall bb eval=  448] [# dominant pts= 115] [# new pts=   7] [f1=0.5682426473 f2=0.1147658278]
-	MADS run 14 ...... OK [bb eval= 32] [overall bb eval=  480] [# dominant pts= 121] [# new pts=   6] [f1=0.5685361243 f2=0.1147602185]
-	MADS run 15 ...... OK [bb eval= 20] [overall bb eval=  500] [# dominant pts= 125] [# new pts=   4] [f1=0.5685361243 f2=0.1147602185]
+	MADS run  1 ...... OK [bb eval= 64] [overall bb eval=   64] [# dominant pts=   3] [# new pts=   3] [f1=0 f2=6.231313115]
+	MADS run  2 ...... OK [bb eval= 32] [overall bb eval=   96] [# dominant pts=  17] [# new pts=  14] [f1=0.8172467689 f2=-0.479330283]
+	MADS run  3 ...... OK [bb eval= 32] [overall bb eval=  128] [# dominant pts=  21] [# new pts=   4] [f1=0.3102467689 f2=0.5939975123]
+	MADS run  4 ...... OK [bb eval= 32] [overall bb eval=  160] [# dominant pts=  31] [# new pts=  10] [f1=0.7552467689 f2=0.3302995589]
+	MADS run  5 ...... OK [bb eval= 32] [overall bb eval=  192] [# dominant pts=  36] [# new pts=   5] [f1=0.3204267689 f2=0.5832376512]
+	MADS run  6 ...... OK [bb eval= 32] [overall bb eval=  224] [# dominant pts=  43] [# new pts=   7] [f1=0.3205292689 f2=0.5832359376]
+	MADS run  7 ...... OK [bb eval= 32] [overall bb eval=  256] [# dominant pts=  49] [# new pts=   6] [f1=0.3205292689 f2=0.5832359376]
+	MADS run  8 ...... OK [bb eval= 32] [overall bb eval=  288] [# dominant pts=  57] [# new pts=   8] [f1=0.07542676891 f2=0.9228298043]
+	MADS run  9 ...... OK [bb eval= 32] [overall bb eval=  320] [# dominant pts=  70] [# new pts=  13] [f1=0.7465567689 f2=0.5071777921]
+	MADS run 10 ...... OK [bb eval= 32] [overall bb eval=  352] [# dominant pts=  79] [# new pts=   9] [f1=0.7438996689 f2=0.5626312951]
+	MADS run 11 ...... OK [bb eval= 32] [overall bb eval=  384] [# dominant pts=  86] [# new pts=   7] [f1=0.7428996689 f2=0.579968616]
+	MADS run 12 ...... OK [bb eval= 32] [overall bb eval=  416] [# dominant pts=  95] [# new pts=   9] [f1=0.7428544689 f2=0.5809403909]
+	MADS run 13 ...... OK [bb eval= 32] [overall bb eval=  448] [# dominant pts= 101] [# new pts=   6] [f1=0.7427444689 f2=0.583021772]
+	MADS run 14 ...... OK [bb eval= 32] [overall bb eval=  480] [# dominant pts= 110] [# new pts=   9] [f1=0.7428111689 f2=0.5817100236]
+	MADS run 15 ...... OK [bb eval= 20] [overall bb eval=  500] [# dominant pts= 114] [# new pts=   4] [f1=0.7427444689 f2=0.583021772]
 
 } end of run (max number of bb evaluations)
 
@@ -48,130 +51,119 @@ number of MADS runs                      : 15
 Pareto front {
 
 	BBE	(	0.0000000000 0.0000000000 )	0.0000000000 1.0000000000 
-	BBE	(	0.0088388348 0.0000000000 )	0.0088388348 0.9979744889 
-	BBE	(	0.0154679608 0.0000000000 )	0.0154679608 0.9938978580 
-	BBE	(	0.0176776695 0.0000000000 )	0.0176776695 0.9920893658 
-	BBE	(	0.0211561362 0.0000000000 )	0.0211561362 0.9888260567 
-	BBE	(	0.0530330086 0.0000000000 )	0.0530330086 0.9456485587 
-	BBE	(	0.0707106781 0.0000000000 )	0.0707106781 0.9257895286 
-	BBE	(	0.2562138982 0.0000000000 )	0.2562138982 0.8945033812 
-	BBE	(	0.2608404757 0.0000000000 )	0.2608404758 0.8617719752 
-	BBE	(	0.2619453301 0.0000000000 )	0.2619453301 0.8539197314 
-	BBE	(	0.2622905971 0.0000000000 )	0.2622905971 0.8514653467 
-	BBE	(	0.2651217863 0.0003064244 )	0.2651217863 0.8346375232 
-	BBE	(	0.2655361067 0.0000000000 )	0.2655361067 0.8284226452 
-	BBE	(	0.2680220290 0.0000000000 )	0.2680220290 0.8108740924 
-	BBE	(	0.2686435096 0.0000000000 )	0.2686435096 0.8065101303 
-	BBE	(	0.2691268833 0.0000000000 )	0.2691268833 0.8031238337 
-	BBE	(	0.2696793105 0.0000000000 )	0.2696793105 0.7992629776 
-	BBE	(	0.2710603784 0.0003193720 )	0.2710603784 0.7930864044 
-	BBE	(	0.2727867134 0.0000000000 )	0.2727867134 0.7777651163 
-	BBE	(	0.2741677813 0.0000000000 )	0.2741677813 0.7683544484 
-	BBE	(	0.2749964221 0.0002762136 )	0.2749964221 0.7657285747 
-	BBE	(	0.2754797958 0.0000000000 )	0.2754797958 0.7595122877 
-	BBE	(	0.2819017617 0.0000000000 )	0.2819017617 0.7179584250 
-	BBE	(	0.2995794312 0.0000000000 )	0.2995794312 0.6263296155 
-	BBE	(	0.3039988486 0.0000000000 )	0.3039988486 0.6104981808 
-	BBE	(	0.3059323437 0.0000000000 )	0.3059323437 0.6046312984 
-	BBE	(	0.3062085573 0.0000000000 )	0.3062085573 0.6038477544 
-	BBE	(	0.3117328290 0.0000000000 )	0.3117328290 0.5911477575 
-	BBE	(	0.3158760328 0.0000000000 )	0.3158760328 0.5854826675 
-	BBE	(	0.3172571008 0.0000000000 )	0.3172571008 0.5843556236 
-	BBE	(	0.3202954502 0.0000000000 )	0.3202954502 0.5832430145 
-	BBE	(	0.5134487771 0.0000000000 )	0.5134487771 0.5661080224 
-	BBE	(	0.5137077274 0.0000000000 )	0.5137077274 0.5626056928 
-	BBE	(	0.5137940441 0.0000000000 )	0.5137940441 0.5614391407 
-	BBE	(	0.5150715320 0.0000000000 )	0.5150715320 0.5442301804 
-	BBE	(	0.5152786921 0.0000000000 )	0.5152786921 0.5414500948 
-	BBE	(	0.5153477455 0.0000000000 )	0.5153477455 0.5405240953 
-	BBE	(	0.5158224876 0.0003107403 )	0.5158224876 0.5380991695 
-	BBE	(	0.5160987012 0.0005481113 )	0.5160987012 0.5374102768 
-	BBE	(	0.5162799664 0.0000000000 )	0.5162799664 0.5280587044 
-	BBE	(	0.5168841836 0.0000000000 )	0.5168841836 0.5200167511 
-	BBE	(	0.5181098814 0.0000000000 )	0.5181098814 0.5038021282 
-	BBE	(	0.5186623086 0.0000000000 )	0.5186623086 0.4965407236 
-	BBE	(	0.5192147358 0.0000000000 )	0.5192147358 0.4893102188 
-	BBE	(	0.5193183158 0.0000000000 )	0.5193183158 0.4879580513 
-	BBE	(	0.5217006580 0.0000000000 )	0.5217006580 0.4571922658 
-	BBE	(	0.5220804517 0.0000000000 )	0.5220804517 0.4523508179 
-	BBE	(	0.5228055124 0.0000000000 )	0.5228055124 0.4431601076 
-	BBE	(	0.5250152211 0.0000000000 )	0.5250152211 0.4156003506 
-	BBE	(	0.5252914347 0.0000000000 )	0.5252914347 0.4122059478 
-	BBE	(	0.5263962890 0.0000000000 )	0.5263962890 0.3987478889 
-	BBE	(	0.5283988375 0.0000000000 )	0.5283988375 0.3748699372 
-	BBE	(	0.5302632792 0.0000000000 )	0.5302632792 0.3532808843 
-	BBE	(	0.5303323326 0.0000000000 )	0.5303323326 0.3524938416 
-	BBE	(	0.5313681336 0.0007595874 )	0.5313681336 0.3505244083 
-	BBE	(	0.5317134005 0.0002373711 )	0.5317134005 0.3399926818 
-	BBE	(	0.5319205607 0.0000000000 )	0.5319205607 0.3346507552 
-	BBE	(	0.5328873083 0.0000000000 )	0.5328873083 0.3240405720 
-	BBE	(	0.5335087888 0.0002287394 )	0.5335087888 0.3202607108 
-	BBE	(	0.5338540558 0.0000000000 )	0.5338540558 0.3136280970 
-	BBE	(	0.5357875509 0.0000000000 )	0.5357875509 0.2934217157 
-	BBE	(	0.5363399781 0.0000000000 )	0.5363399781 0.2878054090 
-	BBE	(	0.5403105484 0.0000000000 )	0.5403105484 0.2496195163 
-	BBE	(	0.5407593955 0.0000000000 )	0.5407593955 0.2455543650 
-	BBE	(	0.5413118227 0.0000000000 )	0.5413118227 0.2406240954 
-	BBE	(	0.5418642498 0.0000000000 )	0.5418642498 0.2357753238 
-	BBE	(	0.5420196200 0.0000000000 )	0.5420196200 0.2344264287 
-	BBE	(	0.5440739585 0.0005524272 )	0.5440739585 0.2243656329 
-	BBE	(	0.5457312400 0.0000000000 )	0.5457312400 0.2041983052 
-	BBE	(	0.5461455604 0.0000000000 )	0.5461455604 0.2010684705 
-	BBE	(	0.5473885216 0.0000000000 )	0.5473885216 0.1919834017 
-	BBE	(	0.5479409487 0.0000000000 )	0.5479409487 0.1880940310 
-	BBE	(	0.5490458031 0.0000000000 )	0.5490458031 0.1805936986 
-	BBE	(	0.5491493832 0.0000000000 )	0.5491493832 0.1799097506 
-	BBE	(	0.5495982303 0.0000000000 )	0.5495982303 0.1769843488 
-	BBE	(	0.5501506574 0.0000000000 )	0.5501506574 0.1734699226 
-	BBE	(	0.5508584547 0.0000000000 )	0.5508584547 0.1691070049 
-	BBE	(	0.5540176476 0.0000000000 )	0.5540176476 0.1515886169 
-	BBE	(	0.5545700748 0.0000000000 )	0.5545700748 0.1488595298 
-	BBE	(	0.5549843952 0.0000000000 )	0.5549843952 0.1468790527 
-	BBE	(	0.5551225020 0.0000000000 )	0.5551225020 0.1462315798 
-	BBE	(	0.5573322107 0.0000000000 )	0.5573322107 0.1367428101 
-	BBE	(	0.5584370650 0.0000000000 )	0.5584370650 0.1326198627 
-	BBE	(	0.5600943465 0.0000000000 )	0.5600943465 0.1272233749 
-	BBE	(	0.5611992009 0.0000000000 )	0.5611992009 0.1241561368 
-	BBE	(	0.5627183756 0.0000000000 )	0.5627183756 0.1206381293 
-	BBE	(	0.5631326960 0.0000000000 )	0.5631326960 0.1198200644 
-	BBE	(	0.5641167069 0.0000000000 )	0.5641167069 0.1181212433 
-	BBE	(	0.5645137639 0.0000000000 )	0.5645137639 0.1175332972 
-	BBE	(	0.5649453477 0.0000000000 )	0.5649453477 0.1169580043 
-	BBE	(	0.5650661911 0.0000000000 )	0.5650661911 0.1168088425 
-	BBE	(	0.5658948319 0.0000000000 )	0.5658948319 0.1159267436 
-	BBE	(	0.5667234726 0.0000000000 )	0.5667234726 0.1152907523 
-	BBE	(	0.5668615794 0.0000000000 )	0.5668615794 0.1152087235 
-	BBE	(	0.5674140066 0.0000000000 )	0.5674140066 0.1149491832 
-	BBE	(	0.5678283270 0.0000000000 )	0.5678283270 0.1148265921 
-	BBE	(	0.5682426473 0.0000000000 )	0.5682426473 0.1147658278 
-	BBE	(	0.5685361243 0.0000000000 )	0.5685361243 0.1147602185 
-	BBE	(	0.7661496820 0.0000000000 )	0.7661496820 0.1105136967 
-	BBE	(	0.7680831771 0.0000000000 )	0.7680831771 0.0728635675 
-	BBE	(	0.7689118179 0.0000000000 )	0.7689118179 0.0569125770 
-	BBE	(	0.7691880314 0.0000000000 )	0.7691880314 0.0516220389 
-	BBE	(	0.7699476188 0.0003841095 )	0.7699476188 0.0432535935 
-	BBE	(	0.7705690994 0.0000000000 )	0.7705690994 0.0253788803 
-	BBE	(	0.7716739537 0.0000000000 )	0.7716739537 0.0046504791 
-	BBE	(	0.7741598760 0.0002589502 )	0.7741598760 -0.0369011145 
-	BBE	(	0.7783030798 0.0000000000 )	0.7783030798 -0.1138668264 
-	BBE	(	0.7834820845 0.0000000000 )	0.7834820845 -0.1980406893 
-	BBE	(	0.7841553552 0.0000000000 )	0.7841553552 -0.2083556587 
-	BBE	(	0.7854673697 0.0005437955 )	0.7854673697 -0.2192363858 
-	BBE	(	0.7858126367 0.0007250607 )	0.7858126367 -0.2213881058 
-	BBE	(	0.7863650638 0.0007034815 )	0.7863650638 -0.2297569563 
-	BBE	(	0.7864772756 0.0004822948 )	0.7864772756 -0.2349368931 
-	BBE	(	0.7867103308 0.0000000000 )	0.7867103308 -0.2460730547 
-	BBE	(	0.7870555978 0.0000000000 )	0.7870555978 -0.2509912401 
-	BBE	(	0.7875864458 0.0002859242 )	0.7875864458 -0.2538397470 
+	BBE	(	0.0204267689 0.0000000000 )	0.0204267689 0.9895506515 
+	BBE	(	0.0604267689 0.0000000000 )	0.0604267689 0.9360038485 
+	BBE	(	0.0704267689 0.0000000000 )	0.0704267689 0.9260062753 
+	BBE	(	0.0706467689 0.0000000000 )	0.0706467689 0.9258379549 
+	BBE	(	0.0744267689 0.0000000000 )	0.0744267689 0.9233526042 
+	BBE	(	0.0754267689 0.0000000000 )	0.0754267689 0.9228298043 
+	BBE	(	0.0804267689 0.0000900000 )	0.0804267689 0.9220365113 
+	BBE	(	0.0844267689 0.0000000000 )	0.0844267689 0.9209439225 
+	BBE	(	0.2704267689 0.0000000000 )	0.2704267689 0.7940560330 
+	BBE	(	0.2742467689 0.0000000000 )	0.2742467689 0.7678193102 
+	BBE	(	0.2772467689 0.0000000000 )	0.2772467689 0.7477736335 
+	BBE	(	0.2845292689 0.0000000000 )	0.2845292689 0.7019705135 
+	BBE	(	0.3002467689 0.0000000000 )	0.3002467689 0.6237302992 
+	BBE	(	0.3004267689 0.0000000000 )	0.3004267689 0.6230416170 
+	BBE	(	0.3005292689 0.0000000000 )	0.3005292689 0.6226518252 
+	BBE	(	0.3102467689 0.0000000000 )	0.3102467689 0.5939975123 
+	BBE	(	0.3104267689 0.0000000000 )	0.3104267689 0.5936297664 
+	BBE	(	0.3155292689 0.0000000000 )	0.3155292689 0.5858260306 
+	BBE	(	0.3165667689 0.0000000000 )	0.3165667689 0.5848708104 
+	BBE	(	0.3172467689 0.0000000000 )	0.3172467689 0.5843626222 
+	BBE	(	0.3186792689 0.0000000000 )	0.3186792689 0.5835996017 
+	BBE	(	0.3188267689 0.0000000000 )	0.3188267689 0.5835448256 
+	BBE	(	0.3189967689 0.0000000000 )	0.3189967689 0.5834872213 
+	BBE	(	0.3195967689 0.0000000000 )	0.3195967689 0.5833312978 
+	BBE	(	0.3197667689 0.0000000000 )	0.3197667689 0.5833005661 
+	BBE	(	0.3200292689 0.0000000000 )	0.3200292689 0.5832647940 
+	BBE	(	0.3202392689 0.0000000000 )	0.3202392689 0.5832463953 
+	BBE	(	0.3203067689 0.0000000000 )	0.3203067689 0.5832424121 
+	BBE	(	0.3204267689 0.0000000000 )	0.3204267689 0.5832376512 
+	BBE	(	0.3205092689 0.0000000000 )	0.3205092689 0.5832361017 
+	BBE	(	0.3205292689 0.0000000000 )	0.3205292689 0.5832359376 
+	BBE	(	0.7427444689 0.0000000000 )	0.7427444689 0.5830217720 
+	BBE	(	0.7428111689 0.0000000000 )	0.7428111689 0.5817100236 
+	BBE	(	0.7428352689 0.0000164000 )	0.7428352689 0.5814903959 
+	BBE	(	0.7428445689 0.0000250000 )	0.7428445689 0.5814408590 
+	BBE	(	0.7428544689 0.0000053000 )	0.7428544689 0.5809403909 
+	BBE	(	0.7428608689 0.0000016000 )	0.7428608689 0.5807570403 
+	BBE	(	0.7428899689 0.0000004000 )	0.7428899689 0.5801657414 
+	BBE	(	0.7428996689 0.0000000000 )	0.7428996689 0.5799686160 
+	BBE	(	0.7429252689 0.0000000000 )	0.7429252689 0.5794646897 
+	BBE	(	0.7429388689 0.0000000000 )	0.7429388689 0.5791969430 
+	BBE	(	0.7429567689 0.0000000000 )	0.7429567689 0.5788445031 
+	BBE	(	0.7429929689 0.0000000000 )	0.7429929689 0.5781316165 
+	BBE	(	0.7430112689 0.0000000000 )	0.7430112689 0.5777711679 
+	BBE	(	0.7431479689 0.0000000000 )	0.7431479689 0.5750772266 
+	BBE	(	0.7431584689 0.0000054000 )	0.7431584689 0.5749540229 
+	BBE	(	0.7432367689 0.0000200000 )	0.7432367689 0.5736363837 
+	BBE	(	0.7432467689 0.0000000000 )	0.7432467689 0.5731286422 
+	BBE	(	0.7433120689 0.0000000000 )	0.7433120689 0.5718400603 
+	BBE	(	0.7433633689 0.0000000000 )	0.7433633689 0.5708273548 
+	BBE	(	0.7434744689 0.0000000000 )	0.7434744689 0.5686329801 
+	BBE	(	0.7436544689 0.0000000000 )	0.7436544689 0.5650743840 
+	BBE	(	0.7438896689 0.0000000000 )	0.7438896689 0.5604183320 
+	BBE	(	0.7439096689 0.0000000000 )	0.7439096689 0.5600220919 
+	BBE	(	0.7439544689 0.0000000000 )	0.7439544689 0.5591343350 
+	BBE	(	0.7442467689 0.0000000000 )	0.7442467689 0.5533361137 
+	BBE	(	0.7444344689 0.0000000000 )	0.7444344689 0.5496073945 
+	BBE	(	0.7445044689 0.0000000000 )	0.7445044689 0.5482157603 
+	BBE	(	0.7445567689 0.0000000000 )	0.7445567689 0.5471756378 
+	BBE	(	0.7445967689 0.0000000000 )	0.7445967689 0.5463799189 
+	BBE	(	0.7447444689 0.0000000000 )	0.7447444689 0.5434401320 
+	BBE	(	0.7447544689 0.0000000000 )	0.7447544689 0.5432410042 
+	BBE	(	0.7447696689 0.0000000000 )	0.7447696689 0.5429383081 
+	BBE	(	0.7448996689 0.0000000000 )	0.7448996689 0.5403483930 
+	BBE	(	0.7450867689 0.0000000000 )	0.7450867689 0.5366175915 
+	BBE	(	0.7455596689 0.0000000000 )	0.7455596689 0.5271709244 
+	BBE	(	0.7462367689 0.0000400000 )	0.7462367689 0.5142274707 
+	BBE	(	0.7462467689 0.0000000000 )	0.7462467689 0.5134041153 
+	BBE	(	0.7465567689 0.0000000000 )	0.7465567689 0.5071777921 
+	BBE	(	0.7467444689 0.0000000000 )	0.7467444689 0.5034034955 
+	BBE	(	0.7471896689 0.0000000000 )	0.7471896689 0.4944387248 
+	BBE	(	0.7473244689 0.0000000000 )	0.7473244689 0.4917209367 
+	BBE	(	0.7474867689 0.0000000000 )	0.7474867689 0.4884466843 
+	BBE	(	0.7477644689 0.0000000000 )	0.7477644689 0.4828393633 
+	BBE	(	0.7482267689 0.0000000000 )	0.7482267689 0.4734912578 
+	BBE	(	0.7482467689 0.0000000000 )	0.7482467689 0.4730864787 
+	BBE	(	0.7492467689 0.0000000000 )	0.7492467689 0.4528122445 
+	BBE	(	0.7498267689 0.0000000000 )	0.7498267689 0.4410243813 
+	BBE	(	0.7502467689 0.0000000000 )	0.7502467689 0.4324768008 
+	BBE	(	0.7522467689 0.0000000000 )	0.7522467689 0.3916699033 
+	BBE	(	0.7527444689 0.0000000000 )	0.7527444689 0.3814956030 
+	BBE	(	0.7537444689 0.0000000000 )	0.7537444689 0.3610399698 
+	BBE	(	0.7538996689 0.0000000000 )	0.7538996689 0.3578642958 
+	BBE	(	0.7542467689 0.0000000000 )	0.7542467689 0.3507615937 
+	BBE	(	0.7547444689 0.0000000000 )	0.7547444689 0.3405770361 
+	BBE	(	0.7552467689 0.0000000000 )	0.7552467689 0.3302995589 
+	BBE	(	0.7562467689 0.0000000000 )	0.7562467689 0.3098484220 
+	BBE	(	0.7567444689 0.0000000000 )	0.7567444689 0.2996777206 
+	BBE	(	0.7568996689 0.0000000000 )	0.7568996689 0.2965075493 
+	BBE	(	0.7592467689 0.0000000000 )	0.7592467689 0.2486819136 
+	BBE	(	0.7622467689 0.0000000000 )	0.7622467689 0.1880511976 
+	BBE	(	0.7628996689 0.0000000000 )	0.7628996689 0.1749590540 
+	BBE	(	0.7632467689 0.0000000000 )	0.7632467689 0.1680167135 
+	BBE	(	0.7637444689 0.0000000000 )	0.7637444689 0.1580850684 
+	BBE	(	0.7692467689 0.0000000000 )	0.7692467689 0.0504987441 
+	BBE	(	0.7742467689 0.0050000000 )	0.7742467689 0.0359353939 
+	BBE	(	0.7752467689 0.0050000000 )	0.7752467689 0.0180522199 
+	BBE	(	0.7762467689 0.0000000000 )	0.7762467689 -0.0782763564 
+	BBE	(	0.7782467689 0.0000000000 )	0.7782467689 -0.1129075949 
+	BBE	(	0.7802467689 0.0000000000 )	0.7802467689 -0.1464179263 
 	BBE	(	0.7882467689 0.0000000000 )	0.7882467689 -0.2676209257 
-	BBE	(	0.7882985590 0.0000000000 )	0.7882985590 -0.2683319140 
-	BBE	(	0.7895587834 0.0000000000 )	0.7895587834 -0.2853173321 
-	BBE	(	0.7904564776 0.0000000000 )	0.7904564776 -0.2970410590 
-	BBE	(	0.7926661863 0.0000000000 )	0.7926661863 -0.3245272558 
-	BBE	(	0.7981904580 0.0000000000 )	0.7981904580 -0.3842336561 
-	BBE	(	0.8059244384 0.0000000000 )	0.8059244384 -0.4444581650 
-	BBE	(	0.8147632732 0.0000000000 )	0.8147632732 -0.4772846994 
-	BBE	(	0.8191826906 0.0000000000 )	0.8191826906 -0.4787160837 
+	BBE	(	0.7912467689 0.0000000000 )	0.7912467689 -0.3070980868 
+	BBE	(	0.7922467689 0.0000000000 )	0.7922467689 -0.3194629514 
+	BBE	(	0.7927444689 0.0000000000 )	0.7927444689 -0.3254644458 
+	BBE	(	0.7928996689 0.0000000000 )	0.7928996689 -0.3273149708 
+	BBE	(	0.7932467689 0.0000000000 )	0.7932467689 -0.3314173481 
+	BBE	(	0.7962467689 0.0000000000 )	0.7962467689 -0.3647423903 
+	BBE	(	0.7982467689 0.0000000000 )	0.7982467689 -0.3847731001 
+	BBE	(	0.8062467689 0.0000000000 )	0.8062467689 -0.4463441409 
+	BBE	(	0.8082467689 0.0000000000 )	0.8082467689 -0.4568962406 
+	BBE	(	0.8092467689 0.0000000000 )	0.8092467689 -0.4614236505 
+	BBE	(	0.8122467689 0.0000000000 )	0.8122467689 -0.4719751323 
+	BBE	(	0.8172467689 0.0000000000 )	0.8172467689 -0.4793302830 
 } 
 
-number of Pareto points: 125
+number of Pareto points: 114
diff --git a/examples/basic/batch/single_obj/param.txt b/examples/basic/batch/single_obj/param.txt
index 0f559cb..afafeb6 100644
--- a/examples/basic/batch/single_obj/param.txt
+++ b/examples/basic/batch/single_obj/param.txt
@@ -1,44 +1,44 @@
-DIMENSION      5              # number of variables
-
-BB_EXE         bb.exe         # 'bb.exe' is a program that
-BB_OUTPUT_TYPE OBJ PB EB     # takes in argument the name of
-                              # a text file containing 5
-                              # values, and that displays 3
-                              # values that correspond to the
-                              # objective function value (OBJ),
-                              # and two constraints values g1
-                              # and g2 with g1 <= 0 and
-                              # g2 <= 0; 'PB' and 'EB'
-                              # correspond to constraints that
-                              # are treated by the Progressive
-                              # and Extreme Barrier approaches
-                              # (all constraint-handling
-                              #  options are described in the
-                              #  detailed parameters list)
-
-X0             ( 0 0 0 0 0 )  # starting point
-
-LOWER_BOUND    * -6           # all variables are >= -6
-UPPER_BOUND    ( 5 6 7 - - )  # x_1 <= 5, x_2 <= 6, x_3 <= 7
-                              # x_4 and x_5 have no bounds
-
-MAX_BB_EVAL    100            # the algorithm terminates when
-                              # 100 black-box evaluations have
-                              # been made
-							  
-# TMP_DIR        /tmp         # indicates a directory where
-                              # temporary files are put
-                              # (increases performance by ~100%
-                              # if you're working on a network
-                              # account and if TMP_DIR is on a
-                              # local disk)
-
-
-DISPLAY_DEGREE 2 
-# DISPLAY_ALL_EVAL yes
-
-
-DISPLAY_STATS BBE ( SOL ) OBJ # Display the number of evaluation (BBE),
-							  # the current solution ( SOL ) and the objective
-
-# STATS_FILE test.txt BBE ( SOL ) OBJ
+DIMENSION      5              # number of variables
+
+BB_EXE         bb.exe         # 'bb.exe' is a program that
+BB_OUTPUT_TYPE OBJ PB EB     # takes in argument the name of
+                              # a text file containing 5
+                              # values, and that displays 3
+                              # values that correspond to the
+                              # objective function value (OBJ),
+                              # and two constraints values g1
+                              # and g2 with g1 <= 0 and
+                              # g2 <= 0; 'PB' and 'EB'
+                              # correspond to constraints that
+                              # are treated by the Progressive
+                              # and Extreme Barrier approaches
+                              # (all constraint-handling
+                              #  options are described in the
+                              #  detailed parameters list)
+
+X0             ( 0 0 0 0 0 )  # starting point
+
+LOWER_BOUND    * -6           # all variables are >= -6
+UPPER_BOUND    ( 5 6 7 - - )  # x_1 <= 5, x_2 <= 6, x_3 <= 7
+                              # x_4 and x_5 have no bounds
+
+MAX_BB_EVAL    100            # the algorithm terminates when
+                              # 100 black-box evaluations have
+                              # been made
+							  
+# TMP_DIR        /tmp         # indicates a directory where
+                              # temporary files are put
+                              # (increases performance by ~100%
+                              # if you're working on a network
+                              # account and if TMP_DIR is on a
+                              # local disk)
+
+
+DISPLAY_DEGREE 2 
+# DISPLAY_ALL_EVAL yes
+
+
+DISPLAY_STATS BBE ( SOL ) OBJ # Display the number of evaluation (BBE),
+							  # the current solution ( SOL ) and the objective
+
+# STATS_FILE test.txt BBE ( SOL ) OBJ
diff --git a/examples/basic/batch/single_obj/runExample.log b/examples/basic/batch/single_obj/runExample.log
index 9311a4b..0e0e486 100644
--- a/examples/basic/batch/single_obj/runExample.log
+++ b/examples/basic/batch/single_obj/runExample.log
@@ -1,19 +1,20 @@
 
-NOMAD - version 3.7.3 has been created by {
+NOMAD - version 3.8.1 has been created by {
 	Charles Audet        - Ecole Polytechnique de Montreal
 	Sebastien Le Digabel - Ecole Polytechnique de Montreal
 	Christophe Tribes    - Ecole Polytechnique de Montreal
 } 
 
-The copyright of NOMAD - version 3.7.3 is owned by {
+The copyright of NOMAD - version 3.8.1 is owned by {
 	Sebastien Le Digabel - Ecole Polytechnique de Montreal
 	Christophe Tribes    - Ecole Polytechnique de Montreal
 } 
 
-NOMAD version 3 is a new version of Nomad v1 and v2, it has been funded by AFOSR and Exxon Mobil.
-Nomad v1 and v2 were created and developed by Mark A. Abramson from The Boeing Company, Charles Audet and Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from Rice University, and were funded by AFOSR and Exxon Mobil.
+NOMAD v3 has been funded by AFOSR and Exxon Mobil.
+NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created
+and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.
+Dennis Jr., and were funded by AFOSR and Exxon Mobil.
 
-Download  : www.gerad.ca/nomad
 License   : '$NOMAD_HOME/src/lgpl.txt'
 User guide: '$NOMAD_HOME/doc/user_guide.pdf'
 Examples  : '$NOMAD_HOME/examples'
@@ -21,21 +22,21 @@ Tools     : '$NOMAD_HOME/tools'
 
 Please report bugs to nomad@gerad.ca
 
+Seed: 0
+
 MADS run {
 
 	BBE	(	SOL	)	OBJ
 
-	  2	(	0.0000000000 0.5366563146 0.5813776741 -0.2683281573 0.2683281573 )	288.7926372100 (PhaseOne)
-	  3	(	0.0000000000 2.1466252584 2.3255106966 -1.0733126292 1.0733126292 )	0.0000000000 (PhaseOne)
-	  3	(	0.0000000000 2.1466252584 2.3255106966 -1.0733126292 1.0733126292 )	1.0733100000
-	 10	(	0.4919349550 2.8174456516 2.1801662781 -0.8720665112 1.0062305899 )	1.0062300000
-	 11	(	1.9677398202 4.8299068314 1.7441330224 -0.2683281573 0.8049844719 )	0.8049840000
-	 19	(	0.9838699101 1.0733126292 1.7441330224 1.0733126292 -3.4882660449 )	-3.4882700000
-	 31	(	1.9677398202 0.5366563146 1.7441330224 0.2683281573 -3.7565942022 )	-3.7565900000
-	100	(	1.9677398202 0.5366563146 1.7441330224 0.2683281573 -3.7565942022 )	-3.7565900000
+	  2	(	0.0000000000 1.0000000000 1.0000000000 -1.0000000000 1.0000000000 )	144.0000000000 (PhaseOne)
+	  4	(	0.0000000000 3.0000000000 2.0000000000 -2.0000000000 1.0000000000 )	0.0000000000 (PhaseOne)
+	  4	(	0.0000000000 3.0000000000 2.0000000000 -2.0000000000 1.0000000000 )	1.0000000000
+	 20	(	2.0000000000 1.0000000000 3.0000000000 -1.0000000000 -3.0000000000 )	-3.0000000000
+	 57	(	1.0000000000 1.0000000000 1.0000000000 1.0000000000 -4.0000000000 )	-4.0000000000
+	100	(	1.0000000000 1.0000000000 1.0000000000 1.0000000000 -4.0000000000 )	-4.0000000000
 
 } end of run (max number of blackbox evaluations)
 
 blackbox evaluations                     : 100
-best infeasible solution (min. violation): ( 0.9838699101 1.073312629 1.162755348 1.073312629 -4.024922359 ) h=0.287344 f=-4.02492
-best feasible solution                   : ( 1.96773982 0.5366563146 1.744133022 0.2683281573 -3.756594202 ) h=0 f=-3.75659
+best infeasible solution (min. violation): ( 0.98 1 1 1.2 -4 ) h=0.0404 f=-4
+best feasible solution                   : ( 1 1 1 1 -4 ) h=0 f=-4
diff --git a/examples/basic/batch/single_obj/x.txt b/examples/basic/batch/single_obj/x.txt
index aacb595..88b14b2 100644
--- a/examples/basic/batch/single_obj/x.txt
+++ b/examples/basic/batch/single_obj/x.txt
@@ -1 +1 @@
-1 2 3 4 5
+0 0 0 0 0
diff --git a/examples/basic/batch/single_obj_parallel/parallel_BBWrapper.pl b/examples/basic/batch/single_obj_parallel/parallel_BBWrapper.pl
index 1de8132..817212b 100755
--- a/examples/basic/batch/single_obj_parallel/parallel_BBWrapper.pl
+++ b/examples/basic/batch/single_obj_parallel/parallel_BBWrapper.pl
@@ -7,14 +7,22 @@ use Data::Dumper;
 use threads;
 use threads::shared;
 use Thread::Semaphore;
+use Config;
  
 
-# quelques variables partagées
-my $BBdotEXE:shared="./bb.exe";  ## The blackbox executable
-
 my $numberParallelJobs:shared=4;
 my $semaphoreBBEval = Thread::Semaphore->new($numberParallelJobs);
 
+## The blackbox executable
+my $OSname:shared = "$Config{osname}";
+my $BBdotEXE:shared="./bb.exe";
+if ( $OSname eq "MSWin32" ) {
+    $BBdotEXE="bb.exe"; 
+}
+
+
+
+
 
 if ( ! exists $ARGV[0]) {
 	$nameInputFile = "";     
diff --git a/examples/basic/batch/single_obj_parallel/param.txt b/examples/basic/batch/single_obj_parallel/param.txt
index 237325e..20d565d 100644
--- a/examples/basic/batch/single_obj_parallel/param.txt
+++ b/examples/basic/batch/single_obj_parallel/param.txt
@@ -1,21 +1,21 @@
-DIMENSION      5              # number of variables
-
-BB_EXE         "$perl parallel_BBWrapper.pl"
-# BB_EXE bb_parallel.exe
-
-BB_MAX_BLOCK_SIZE 2 
-
-BB_OUTPUT_TYPE OBJ PB EB  
-
-X0             ( 0 0 0 0 0 )  # starting point
-
-LOWER_BOUND    * -6.0           # all variables are >= -6
-UPPER_BOUND    ( 5 6 7 - - )  # x_1 <= 5, x_2 <= 6, x_3 <= 7
-                              # x_4 and x_5 have no bounds
-
-MAX_BB_EVAL    100            # the algorithm terminates when
-                              # 100 black-box evaluations have
-                              # been made
-
-TMP_DIR /tmp							  
-DISPLAY_DEGREE 2 
+DIMENSION      5              # number of variables
+
+BB_EXE         "$perl parallel_BBWrapper.pl"
+# BB_EXE bb_parallel.exe
+
+BB_MAX_BLOCK_SIZE 2 
+
+BB_OUTPUT_TYPE OBJ PB EB  
+
+X0             ( 0 0 0 0 0 )  # starting point
+
+LOWER_BOUND    * -6.0           # all variables are >= -6
+UPPER_BOUND    ( 5 6 7 - - )  # x_1 <= 5, x_2 <= 6, x_3 <= 7
+                              # x_4 and x_5 have no bounds
+
+MAX_BB_EVAL    100            # the algorithm terminates when
+                              # 100 black-box evaluations have
+                              # been made
+
+# TMP_DIR /tmp							  
+DISPLAY_DEGREE 2 
diff --git a/examples/basic/batch/single_obj_parallel/runExample.log b/examples/basic/batch/single_obj_parallel/runExample.log
index fb033a1..cb4f2ae 100644
--- a/examples/basic/batch/single_obj_parallel/runExample.log
+++ b/examples/basic/batch/single_obj_parallel/runExample.log
@@ -2,21 +2,22 @@ Warning: {
 	The maximum number of evaluations may be exceeded when BB_MAX_BLOCK_SIZE>1.
 } 
 
-NOMAD - version 3.7.3 has been created by {
+NOMAD - version 3.8.1 has been created by {
 	Charles Audet        - Ecole Polytechnique de Montreal
 	Sebastien Le Digabel - Ecole Polytechnique de Montreal
 	Christophe Tribes    - Ecole Polytechnique de Montreal
 } 
 
-The copyright of NOMAD - version 3.7.3 is owned by {
+The copyright of NOMAD - version 3.8.1 is owned by {
 	Sebastien Le Digabel - Ecole Polytechnique de Montreal
 	Christophe Tribes    - Ecole Polytechnique de Montreal
 } 
 
-NOMAD version 3 is a new version of Nomad v1 and v2, it has been funded by AFOSR and Exxon Mobil.
-Nomad v1 and v2 were created and developed by Mark A. Abramson from The Boeing Company, Charles Audet and Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from Rice University, and were funded by AFOSR and Exxon Mobil.
+NOMAD v3 has been funded by AFOSR and Exxon Mobil.
+NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created
+and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.
+Dennis Jr., and were funded by AFOSR and Exxon Mobil.
 
-Download  : www.gerad.ca/nomad
 License   : '$NOMAD_HOME/src/lgpl.txt'
 User guide: '$NOMAD_HOME/doc/user_guide.pdf'
 Examples  : '$NOMAD_HOME/examples'
@@ -24,22 +25,21 @@ Tools     : '$NOMAD_HOME/tools'
 
 Please report bugs to nomad@gerad.ca
 
+Seed: 0
+
 MADS run {
 
 	BBE	OBJ
 
-	  2	288.7926372100 (PhaseOne)
-	  3	254.0899760400 (PhaseOne)
-	  4	0.0000000000 (PhaseOne)
-	  4	-1.0733100000
-	 10	-1.6099700000
-	 15	-3.4882700000
-	 45	-3.7565900000
-	 79	-3.9578400000
-	100	-3.9578400000
+	  2	144.0000000000 (PhaseOne)
+	  5	0.0000000000 (PhaseOne)
+	  6	1.0000000000
+	 22	-3.0000000000
+	 65	-4.0000000000
+	100	-4.0000000000
 
 } end of run (max number of blackbox evaluations)
 
 blackbox evaluations                     : 100
-best infeasible solution (min. violation): ( 0.9838699101 1.609968944 1.01741093 0.5366563146 -3.95784032 ) h=0.167493 f=-3.95784
-best feasible solution                   : ( 0.9531239754 1.475804865 0.9447387205 0.6037383539 -3.95784032 ) h=0 f=-3.95784
+best infeasible solution (min. violation): ( 1.01 1 1 1 -4 ) h=0.0001 f=-4
+best feasible solution                   : ( 1 1 1 1 -4 ) h=0 f=-4
diff --git a/examples/basic/library/bi_obj/makefile b/examples/basic/library/bi_obj/makefile
index 8a2cbcb..76ff3c9 100644
--- a/examples/basic/library/bi_obj/makefile
+++ b/examples/basic/library/bi_obj/makefile
@@ -25,7 +25,7 @@ CXXFLAGS_MPI 	       = $(CXXFLAGS) -DUSE_MPI
 LDLIBS                 = -lm -lnomad
 LDLIBS_MPI             = -lm -lmpi -lnomad.MPI
 
-INCLUDE                = -I$(NOMAD_HOME)/src -I.
+INCLUDE                = -I$(NOMAD_HOME)/src -I$(NOMAD_HOME)/ext/sgtelib/src -I.
 
 COMPILE                = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
 COMPILE_MPI            = $(COMPILATOR_MPI) $(COMPILATOR_OPTIONS_MPI) $(INCLUDE) -c
diff --git a/examples/basic/library/bi_obj/runExample.log b/examples/basic/library/bi_obj/runExample.log
index a35b120..9040533 100644
--- a/examples/basic/library/bi_obj/runExample.log
+++ b/examples/basic/library/bi_obj/runExample.log
@@ -1,10 +1,10 @@
 
 multi-MADS run {
 
-	MADS run  1 ...... OK [bb eval= 46] [overall bb eval=   46] [# dominant pts=   3] [# new pts=   3] [f1=-6 f2=152.5555363]
-	MADS run  2 ...... OK [bb eval= 23] [overall bb eval=   69] [# dominant pts=   5] [# new pts=   2] [f1=-0.5603796086 f2=-9.723737785]
-	MADS run  3 ...... OK [bb eval= 23] [overall bb eval=   92] [# dominant pts=   8] [# new pts=   3] [f1=-5.121958283 f2=23.04985828]
-	MADS run  4 ...... OK [bb eval=  8] [overall bb eval=  100] [# dominant pts=  10] [# new pts=   2] [f1=-3.780317496 f2=7.348181107]
+	MADS run  1 ...... OK [bb eval= 46] [overall bb eval=   46] [# dominant pts=   3] [# new pts=   3] [f1=-6 f2=213.2002993]
+	MADS run  2 ...... OK [bb eval= 23] [overall bb eval=   69] [# dominant pts=   4] [# new pts=   1] [f1=0 f2=-11.47996457]
+	MADS run  3 ...... OK [bb eval= 23] [overall bb eval=   92] [# dominant pts=   6] [# new pts=   2] [f1=-4 f2=6.56986661]
+	MADS run  4 ...... OK [bb eval=  8] [overall bb eval=  100] [# dominant pts=   6] [# new pts=   0] [f1=-5 f2=20.26298095]
 
 } end of run (max number of bb evaluations)
 
@@ -14,16 +14,12 @@ number of MADS runs                      : 4
 
 Pareto front {
 
-	-6.0000000000 43.0227873016 
-	-5.9269427546 35.4890842852 
-	-5.3902864400 34.8873088235 
-	-5.1219582827 23.0498582755 
-	-4.5853019681 22.3745620084 
-	-3.7803174962 7.3481811074 
-	-2.7070048670 -2.5579608209 
-	-2.4386767097 -3.2681325630 
-	-0.8287077659 -4.2758679628 
-	-0.5603796086 -9.7237377852 
+	-6.0000000000 30.7676839388 
+	-5.0000000000 20.2629809527 
+	-4.0000000000 5.0153324458 
+	-3.0000000000 3.4022181034 
+	-2.0000000000 -9.2323160612 
+	0.0000000000 -19.1788338820 
 } 
 
-number of Pareto points: 10
+number of Pareto points: 6
diff --git a/examples/basic/library/single_obj/basic_lib.cpp b/examples/basic/library/single_obj/basic_lib.cpp
index 94b28b3..7cbcc6a 100644
--- a/examples/basic/library/single_obj/basic_lib.cpp
+++ b/examples/basic/library/single_obj/basic_lib.cpp
@@ -32,9 +32,6 @@ public:
 
     count_eval = true; // count a black-box evaluation
 
-    //if ( c1-25 < 0 && 25-c2 < 0 && x[4] < -3.2 ) 
-        // NOMAD::Evaluator::force_quit();
-
     return true;       // the evaluation succeeded
 }
 	
@@ -78,8 +75,7 @@ int main ( int argc , char ** argv ) {
     ub[2] = 7.0;                              // x_3 <= 7
     p.set_UPPER_BOUND ( ub );
 
-    p.set_LIMIT_MESH_INDEX( -1 );
-    //p.set_MAX_BB_EVAL (10000);     // the algorithm terminates after
+    p.set_MAX_BB_EVAL (100);     // the algorithm terminates after
                                  // 100 black-box evaluations
     p.set_DISPLAY_DEGREE(2);
     p.set_SOLUTION_FILE("sol.txt");
diff --git a/examples/basic/library/single_obj/makefile b/examples/basic/library/single_obj/makefile
index 8a2cbcb..76ff3c9 100644
--- a/examples/basic/library/single_obj/makefile
+++ b/examples/basic/library/single_obj/makefile
@@ -25,7 +25,7 @@ CXXFLAGS_MPI 	       = $(CXXFLAGS) -DUSE_MPI
 LDLIBS                 = -lm -lnomad
 LDLIBS_MPI             = -lm -lmpi -lnomad.MPI
 
-INCLUDE                = -I$(NOMAD_HOME)/src -I.
+INCLUDE                = -I$(NOMAD_HOME)/src -I$(NOMAD_HOME)/ext/sgtelib/src -I.
 
 COMPILE                = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
 COMPILE_MPI            = $(COMPILATOR_MPI) $(COMPILATOR_OPTIONS_MPI) $(INCLUDE) -c
diff --git a/examples/basic/library/single_obj/runExample.log b/examples/basic/library/single_obj/runExample.log
index e10eb49..b99f4c9 100644
--- a/examples/basic/library/single_obj/runExample.log
+++ b/examples/basic/library/single_obj/runExample.log
@@ -3,18 +3,15 @@ MADS run {
 
 	BBE	(	SOL	)	OBJ
 
-	  2	(	0.0000000000 0.5366563146 0.5813776741 -0.2683281573 0.2683281573 )	288.7937255854 (PhaseOne)
-	  3	(	0.0000000000 2.1466252584 2.3255106966 -1.0733126292 1.0733126292 )	0.0000000000 (PhaseOne)
-	  3	(	0.0000000000 2.1466252584 2.3255106966 -1.0733126292 1.0733126292 )	1.0733126292
-	 10	(	-0.1229837388 2.0124611797 2.9068883707 -1.1403946685 1.0062305899 )	1.0062305899
-	 11	(	-0.4919349550 1.6099689438 4.6510213932 -1.3416407865 0.8049844719 )	0.8049844719
-	 13	(	0.0000000000 0.5366563146 5.2323990673 -0.5366563146 0.5366563146 )	0.5366563146
-	 28	(	2.9516097303 2.6832815730 4.6510213932 0.5366563146 -1.0733126292 )	-1.0733126292
-	 32	(	0.4919349550 2.1466252584 1.1627553483 0.2683281573 -3.7565942022 )	-3.7565942022
-	100	(	0.4919349550 2.1466252584 1.1627553483 0.2683281573 -3.7565942022 )	-3.7565942022
+	  2	(	0.0000000000 1.0000000000 1.0000000000 -1.0000000000 1.0000000000 )	144.0000000000 (PhaseOne)
+	  4	(	0.0000000000 3.0000000000 2.0000000000 -2.0000000000 1.0000000000 )	0.0000000000 (PhaseOne)
+	  4	(	0.0000000000 3.0000000000 2.0000000000 -2.0000000000 1.0000000000 )	1.0000000000
+	 20	(	2.0000000000 1.0000000000 3.0000000000 -1.0000000000 -3.0000000000 )	-3.0000000000
+	 57	(	1.0000000000 1.0000000000 1.0000000000 1.0000000000 -4.0000000000 )	-4.0000000000
+	100	(	1.0000000000 1.0000000000 1.0000000000 1.0000000000 -4.0000000000 )	-4.0000000000
 
 } end of run (max number of blackbox evaluations)
 
 blackbox evaluations                     : 100
-best infeasible solution (min. violation): ( 2.459674775 0.5366563146 1.162755348 1.073312629 -3.756594202 ) h=0.0023902697 f=-3.756594202
-best feasible solution                   : ( 0.491934955 2.146625258 1.162755348 0.2683281573 -3.756594202 ) h=0 f=-3.756594202
+best infeasible solution (min. violation): ( 1.24 1.12 1.03 0.92 -4 ) h=0.0793 f=-4
+best feasible solution                   : ( 1 1 1 1 -4 ) h=0 f=-4
diff --git a/examples/basic/library/single_obj_parallel/basic_lib.cpp b/examples/basic/library/single_obj_parallel/basic_lib.cpp
index e67457e..f4f1054 100644
--- a/examples/basic/library/single_obj_parallel/basic_lib.cpp
+++ b/examples/basic/library/single_obj_parallel/basic_lib.cpp
@@ -9,7 +9,7 @@ using namespace std;
 // using namespace NOMAD; avoids putting NOMAD:: everywhere
 
 // Number of threads to be used in parallel
-#define NUM_THREADS    4
+#define NUM_THREADS    8
 
 // A semaphore to manage the number of threads to be run concurrently
 sem_t mySemaphore;
@@ -23,16 +23,22 @@ typedef struct Arg_Eval_tag {
 } Arg_Eval_t;
 
 
-/*----------------------------------------*/
-/*     The problem evaluatiom             */
-/*----------------------------------------*/
-// Provide the objective and constraints here
-bool eval_x ( NOMAD::Eval_Point   & x          ,
-             const NOMAD::Double & h_max      ,
-             bool                & count_eval   )
+// Wrapper of eval_x used for parallel evaluation (pthreads).
+static void * wrapper_eval_x ( void * dummy_eval_arg   )
 {
     
+    Arg_Eval_t * eval_arg = static_cast<Arg_Eval_t *>(dummy_eval_arg);
+    
+    NOMAD::Eval_Point & x=*(eval_arg->x);
+    bool & count_eval = *(eval_arg->count_eval);
+    const NOMAD::Double & h_max = (eval_arg->h_max);
+    
+    
+    
+    
+    
     NOMAD::Double c1 = 0.0 , c2 = 0.0;
+ 
     for ( int i = 0 ; i < 5 ; i++ )
     {
         c1 += (x[i]-1).pow2();
@@ -44,21 +50,6 @@ bool eval_x ( NOMAD::Eval_Point   & x          ,
     
     count_eval = true; // count a black-box evaluation
     
-    return true;       // the evaluation succeeded
-}
-
-// Wrapper of eval_x used for parallel evaluation (pthreads).
-static void * wrapper_eval_x ( void * dummy_eval_arg   )
-{
-    
-    Arg_Eval_t * eval_arg = static_cast<Arg_Eval_t *>(dummy_eval_arg);
-    
-    NOMAD::Eval_Point & x=*(eval_arg->x);
-    bool & count_eval = *(eval_arg->count_eval);
-    const NOMAD::Double & h_max = (eval_arg->h_max);
-    
-    eval_x(x,h_max,count_eval);
-    
     pthread_exit(NULL);
     
     // The semaphore is incremented. Another thread can be started
@@ -67,14 +58,67 @@ static void * wrapper_eval_x ( void * dummy_eval_arg   )
 }
 
 
+
 class My_Evaluator : public NOMAD::Evaluator
 {
+    
 public:
     My_Evaluator  ( const NOMAD::Parameters & p ) :
     NOMAD::Evaluator ( p ) {}
     
     ~My_Evaluator ( void ) {}
+    
+    
+    
 
+    bool eval_x ( NOMAD::Eval_Point   & x          ,
+                 const NOMAD::Double & h_max      ,
+                 bool                & count_eval   )
+    {
+        
+        pthread_t threads[1];
+
+        // Arguments passed to the evaluation wrapper
+        Arg_Eval_t * eval_arg=new Arg_Eval_t[1];
+
+        eval_arg[0].x=&x;
+        eval_arg[0].h_max=h_max.value();
+        eval_arg[0].count_eval=&count_eval;
+    
+
+        // The semaphore will allow to run one thread
+        sem_init(&mySemaphore,0,1);
+        
+        try
+        {
+            
+            int rc=pthread_create(&threads[0], NULL, wrapper_eval_x,&eval_arg[0]);
+            if (rc)
+            {
+                cout << "Error:unable to create thread," << rc << endl;
+                return false;
+            }
+            
+            int ret=pthread_join(threads[0],0);
+            if (ret!=0)
+            {
+                perror("pthread join has failed");
+                return false;
+            }
+
+            
+            // wait until value of semaphore is 1 --> thread is finished
+            sem_wait(&mySemaphore);
+        }
+        catch( exception & e )
+        {
+            
+            cerr << "\nEval_x wrapper returned exeption (" << e.what() << ")\n\n";
+            return false;
+        }
+        
+        return true;       // the evaluation succeeded
+    }
     
     // Implementation
     bool eval_x ( std::list<NOMAD::Eval_Point *>	&list_x  ,
diff --git a/examples/basic/library/single_obj_parallel/makefile b/examples/basic/library/single_obj_parallel/makefile
index 1675b5e..d3953fe 100644
--- a/examples/basic/library/single_obj_parallel/makefile
+++ b/examples/basic/library/single_obj_parallel/makefile
@@ -19,7 +19,7 @@ endif
 
 LDLIBS                 = -lm -lnomad -lpthread
 
-INCLUDE                = -I$(NOMAD_HOME)/src -I.
+INCLUDE                = -I$(NOMAD_HOME)/src -I$(NOMAD_HOME)/ext/sgtelib/src -I.
 
 COMPILE                = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
 
diff --git a/examples/basic/library/single_obj_parallel/runExample.log b/examples/basic/library/single_obj_parallel/runExample.log
index 69e53de..8bd3323 100644
--- a/examples/basic/library/single_obj_parallel/runExample.log
+++ b/examples/basic/library/single_obj_parallel/runExample.log
@@ -6,21 +6,17 @@ MADS run {
 
 	BBE	(	SOL	)	OBJ
 
-	  2	(	0.0000000000 0.5366563146 0.5813776741 -0.2683281573 0.2683281573 )	288.7937255854 (PhaseOne)
-	  3	(	0.4919349550 1.0733126292 0.0000000000 0.0000000000 -0.2683281573 )	254.0887373636 (PhaseOne)
-	  4	(	0.4919349550 0.0000000000 1.1627553483 0.2683281573 -0.2683281573 )	223.5808267209 (PhaseOne)
-	  6	(	1.9677398202 0.0000000000 4.6510213932 1.0733126292 -1.0733126292 )	0.0000000000 (PhaseOne)
-	  6	(	1.9677398202 0.0000000000 4.6510213932 1.0733126292 -1.0733126292 )	-1.0733126292
-	 12	(	1.4758048651 -0.5366563146 4.0696437190 0.8049844719 -1.6099689438 )	-1.6099689438
-	 14	(	0.4919349550 0.5366563146 4.0696437190 0.2683281573 -2.4149534157 )	-2.4149534157
-	 30	(	1.9677398202 0.0000000000 2.9068883707 0.2683281573 -2.9516097303 )	-2.9516097303
-	 44	(	2.4596747752 2.1466252584 1.1627553483 0.2683281573 -3.4882660449 )	-3.4882660449
-	 76	(	1.9677398202 1.6099689438 1.7441330224 0.4024922359 -3.7565942022 )	-3.7565942022
-	 88	(	1.4758048651 0.9391485505 1.8894774410 0.6708203932 -3.8236762415 )	-3.8236762415
-	100	(	1.4758048651 0.9391485505 1.8894774410 0.6708203932 -3.8236762415 )	-3.8236762415
+	  2	(	0.0000000000 1.0000000000 1.0000000000 -1.0000000000 1.0000000000 )	144.0000000000 (PhaseOne)
+	  8	(	1.0000000000 3.0000000000 3.0000000000 0.0000000000 3.0000000000 )	0.0000000000 (PhaseOne)
+	 10	(	1.0000000000 3.0000000000 3.0000000000 -2.0000000000 3.0000000000 )	3.0000000000
+	 19	(	0.0000000000 1.0000000000 5.0000000000 1.0000000000 2.0000000000 )	2.0000000000
+	 38	(	-1.0000000000 1.0000000000 4.0000000000 4.0000000000 0.0000000000 )	0.0000000000
+	 46	(	0.0000000000 3.0000000000 2.0000000000 1.0000000000 -3.0000000000 )	-3.0000000000
+	 70	(	1.0000000000 1.0000000000 1.0000000000 1.0000000000 -4.0000000000 )	-4.0000000000
+	100	(	1.0000000000 1.0000000000 1.0000000000 1.0000000000 -4.0000000000 )	-4.0000000000
 
 } end of run (max number of blackbox evaluations)
 
 blackbox evaluations                     : 100
-best infeasible solution (min. violation): ( 1.96773982 1.744133022 1.598788604 0.2683281573 -3.756594202 ) h=0.009334196675 f=-3.756594202
-best feasible solution                   : ( 1.475804865 0.9391485505 1.889477441 0.6708203932 -3.823676242 ) h=0 f=-3.823676242
+best infeasible solution (min. violation): ( 0.95 1.5 1.29 1.15 -3.98 ) h=0.1595 f=-3.98
+best feasible solution                   : ( 1 1 1 1 -4 ) h=0 f=-4
diff --git a/examples/interfaces/AMPL/param.txt b/examples/interfaces/AMPL/param.txt
index 8a9b875..aef7b14 100755
--- a/examples/interfaces/AMPL/param.txt
+++ b/examples/interfaces/AMPL/param.txt
@@ -1,10 +1,10 @@
-DIMENSION      8
-BB_EXE         bb.exe
-BB_OUTPUT_TYPE OBJ PB PB PB
-x0             points/x0.txt
-lower_bound    points/lb.txt
-upper_bound    points/ub.txt
-#tmp_dir        /tmp
-max_bb_eval    1000
-h_min          0.05
-#display_degree 2
+DIMENSION      8
+BB_EXE         bb.exe
+BB_OUTPUT_TYPE OBJ PB PB PB
+x0             points/x0.txt
+lower_bound    points/lb.txt
+upper_bound    points/ub.txt
+#tmp_dir        /tmp
+max_bb_eval    1000
+h_min          0.05
+#display_degree 2
diff --git a/examples/interfaces/AMPL/readme.txt b/examples/interfaces/AMPL/readme.txt
index d42d5e8..626e1ed 100644
--- a/examples/interfaces/AMPL/readme.txt
+++ b/examples/interfaces/AMPL/readme.txt
@@ -1,45 +1,44 @@
-Instructions to use AMPL models with NOMAD:
-
-1. Install the AMPL interface library.
-
-   This interface can be downloaded at
-   ftp://www.netlib.org/ampl/solvers.tar.gz
-   or at http://www.gerad.ca/~orban/LibAmpl/
-   (for a simple installation and the generation of dynamic libraries).
-
-   The example given in the NOMAD package uses the dynamic library version.
-
-   Complete instructions on the AMPL interface are available at:
-   http://ampl.com/REFS/HOOKING/index.html
-
-2. Put the AMPL files in directory MODELDIR;
-   Suppose that the name of your model is MODELDIR/modelname.
-
-3. Create a .nl file from your model:
-
-   Open AMPL, load your model with the command 'model modelname;'
-   (and possibly your data file), and create the nl file with the
-   command 'write gmodelname;'
-   (use the 'g' character to generate an ascii nl file).
-
-4. Create x0 and bound files from the AMPL model.
-
-   Warning: check the variable indexing that is not necessarily
-   the same than in the model file.
-
-5. Edit the file 'bb.c' and define the appropriate string for MODEL_NAME.
-
-6. Compile bb.c with the command 'make'; this creates 'bb.exe'
-   (be sure that your makefile uses the right path for your AMPL interface
-    library).
-
-   You can test the bb.exe program by defining DISPLAY in bb.c
-
-7. Write your NOMAD parameters file; pay attention to
-   the number of variables, the constraints, starting point
-   and the bounds.
-
-8. Run NOMAD.
-
-
-Many thanks to Dominique Orban, Quentin Reynaud, and Anthony Guillou.
\ No newline at end of file
+Instructions to use AMPL models with NOMAD:
+
+1. Install the AMPL interface library.
+
+   This interface can be downloaded at
+   http://www.netlib.org/ampl/solvers
+   (for a simple installation and the generation of dynamic libraries).
+
+   The example given in the NOMAD package uses the dynamic library version.
+
+   Complete instructions on the AMPL interface are available at:
+   http://ampl.com/REFS/HOOKING/index.html
+
+2. Put the AMPL files in directory MODELDIR;
+   Suppose that the name of your model is MODELDIR/modelname.
+
+3. Create a .nl file from your model:
+
+   Open AMPL, load your model with the command 'model modelname;'
+   (and possibly your data file), and create the nl file with the
+   command 'write gmodelname;'
+   (use the 'g' character to generate an ascii nl file).
+
+4. Create x0 and bound files from the AMPL model.
+
+   Warning: check the variable indexing that is not necessarily
+   the same than in the model file.
+
+5. Edit the file 'bb.c' and define the appropriate string for MODEL_NAME.
+
+6. Compile bb.c with the command 'make'; this creates 'bb.exe'
+   (be sure that your makefile uses the right path for your AMPL interface
+    library).
+
+   You can test the bb.exe program by defining DISPLAY in bb.c
+
+7. Write your NOMAD parameters file; pay attention to
+   the number of variables, the constraints, starting point
+   and the bounds.
+
+8. Run NOMAD.
+
+
+Many thanks to Dominique Orban, Quentin Reynaud, and Anthony Guillou.
diff --git a/examples/interfaces/AMPL/runExample.log b/examples/interfaces/AMPL/runExample.log
deleted file mode 100644
index 4e5a25f..0000000
--- a/examples/interfaces/AMPL/runExample.log
+++ /dev/null
@@ -1,80 +0,0 @@
-
-NOMAD - version 3.7.1 - www.gerad.ca/nomad
-
-Copyright (C) 2001-2015 {
-	Mark A. Abramson     - The Boeing Company
-	Charles Audet        - Ecole Polytechnique de Montreal
-	Gilles Couture       - Ecole Polytechnique de Montreal
-	John E. Dennis, Jr.  - Rice University
-	Sebastien Le Digabel - Ecole Polytechnique de Montreal
-	Christophe Tribes    - Ecole Polytechnique de Montreal
-} 
-
-Funded in part by AFOSR and Exxon Mobil.
-
-License   : '$NOMAD_HOME/src/lgpl.txt'
-User guide: '$NOMAD_HOME/doc/user_guide.pdf'
-Examples  : '$NOMAD_HOME/examples'
-Tools     : '$NOMAD_HOME/tools'
-
-Please report bugs to nomad@gerad.ca
-
-MADS run {
-
-	BBE	OBJ
-
-	   1	0.0008855723
-	  13	0.0008629415
-	  73	0.0007682919
-	 158	0.0007674024
-	 160	0.0007590596
-	 176	0.0007580561
-	 223	0.0007473508
-	 238	0.0007418250
-	 253	0.0007372242
-	 313	0.0007347847
-	 315	0.0007332118
-	 317	0.0007326378
-	 319	0.0007305500
-	 349	0.0007267455
-	 364	0.0007266172
-	 387	0.0007257315
-	 394	0.0007248895
-	 435	0.0007231991
-	 437	0.0007231585
-	 439	0.0007228901
-	 445	0.0007225342
-	 475	0.0007215812
-	 490	0.0007212792
-	 505	0.0007211745
-	 511	0.0007211392
-	 532	0.0007207825
-	 547	0.0007206714
-	 606	0.0007200196
-	 635	0.0007200045
-	 653	0.0007198430
-	 657	0.0007198134
-	 684	0.0007197965
-	 711	0.0007197807
-	 712	0.0007197631
-	 767	0.0007197518
-	 783	0.0007197518
-	 811	0.0007197377
-	 825	0.0007197358
-	 840	0.0007197336
-	 841	0.0007197273
-	 902	0.0007197266
-	 904	0.0007197250
-	 919	0.0007197244
-	 920	0.0007197231
-	 935	0.0007197211
-	 963	0.0007197196
-	 965	0.0007197191
-	 993	0.0007197174
-	1000	0.0007197174
-
-} end of run (max number of blackbox evaluations)
-
-blackbox evaluations                     : 1000
-best infeasible solution (min. violation): ( 0.8485876659 1.323962574e-06 2.55409902e-06 1.18495206e-06 4.478102654e-06 0.07926348224 0.03138097659 0.01128972406 ) h=0.05000000006 f=0.0007197247301
-best feasible solution                   : ( 0.8485431024 1.006379485e-06 7.250492715e-07 1.072192777e-06 2.36219915e-06 0.07937295341 0.03130849192 0.01130402409 ) h=0 f=0.0007197173872
diff --git a/examples/interfaces/CUTEr/.SIF b/examples/interfaces/CUTEr/.SIF
deleted file mode 100644
index e69de29..0000000
diff --git a/examples/interfaces/CUTEr/param.txt b/examples/interfaces/CUTEr/param.txt
index 05b0dfb..a203759 100644
--- a/examples/interfaces/CUTEr/param.txt
+++ b/examples/interfaces/CUTEr/param.txt
@@ -1,17 +1,17 @@
-DIMENSION 6
-DISPLAY_DEGREE 1
-DISPLAY_STATS BBE OBJ
-#TMP_DIR /tmp
-x0 x0.txt
-
-initial_mesh_size 1.0
-
-BB_EXE     bb.exe
-BB_OUTPUT_TYPE  OBJ
-MAX_BB_EVAL  100
-
-DIRECTION_TYPE  ortho 2n
-
-#stats_file    ortho.stats TIME BBE OBJ
-#solution_file ortho.sol
-#history_file  ortho.history
+DIMENSION 6
+DISPLAY_DEGREE 1
+DISPLAY_STATS BBE OBJ
+#TMP_DIR /tmp
+x0 x0.txt
+
+initial_mesh_size 1.0
+
+BB_EXE     bb.exe
+BB_OUTPUT_TYPE  OBJ
+MAX_BB_EVAL  100
+
+DIRECTION_TYPE  ortho 2n
+
+#stats_file    ortho.stats TIME BBE OBJ
+#solution_file ortho.sol
+#history_file  ortho.history
diff --git a/examples/interfaces/CUTEr/readme.txt b/examples/interfaces/CUTEr/readme.txt
index 4e88980..30df58c 100644
--- a/examples/interfaces/CUTEr/readme.txt
+++ b/examples/interfaces/CUTEr/readme.txt
@@ -1,26 +1,26 @@
-
-This example illustrates how to use NOMAD with a CUTEr test problem,
-given in a SIF files.
-
-You need to have CUTEr installed, including a SIF decoder.
-Everything is available at http://hsl.rl.ac.uk/cuter-www/.
-
-Once the CUTEr installation is complete, define these environment variables:
-
-(bash)
-export CUTER=/home/user_name/CUTEr
-export MYCUTER=$CUTER/CUTEr.***** (depends on specified options during install)
-export SIFDEC=/home/user_name/sifdec
-export MYSIFDEC=$SIFDEC/SifDec.****  (depends on specified options during install)
-
-Then use the sifdecode program on the problem file:
-$MYSIFDEC/bin/sifdecode PROBLEM.SIF
-
-
-Compile with the C wrapper 'bb.c' by running the script 'compile'
-(it uses gfortran and gcc, but you can use other C and Fortran compilers).
-
-The black-box executable 'bb.exe' should be created.
-
-You can test it with the command 'bb.exe x0.txt', and run nomad with the command
-'nomad.exe param.txt'.
+
+This example illustrates how to use NOMAD with a CUTEr test problem,
+given in a SIF files.
+
+You need to have CUTEr installed, including a SIF decoder.
+Everything is available at http://hsl.rl.ac.uk/cuter-www/.
+
+Once the CUTEr installation is complete, define these environment variables:
+
+(bash)
+export CUTER=/home/user_name/CUTEr
+export MYCUTER=$CUTER/CUTEr.***** (depends on specified options during install)
+export SIFDEC=/home/user_name/sifdec
+export MYSIFDEC=$SIFDEC/SifDec.****  (depends on specified options during install)
+
+Then use the sifdecode program on the problem file:
+$MYSIFDEC/bin/sifdecode PROBLEM.SIF
+
+
+Compile with the C wrapper 'bb.c' by running the script 'compile'
+(it uses gfortran and gcc, but you can use other C and Fortran compilers).
+
+The black-box executable 'bb.exe' should be created.
+
+You can test it with the command 'bb.exe x0.txt', and run nomad with the command
+'nomad.exe param.txt'.
diff --git a/examples/interfaces/CUTEr/runExample.log b/examples/interfaces/CUTEr/runExample.log
deleted file mode 100644
index 30c346d..0000000
--- a/examples/interfaces/CUTEr/runExample.log
+++ /dev/null
@@ -1,8 +0,0 @@
-  1	0.7790700745
-  3	0.7162723833
- 13	0.5256708208
- 27	0.3791633061
- 32	0.1064077292
- 60	0.0907346567
- 64	0.0598216531
- 75	0.0520664153
diff --git a/examples/interfaces/DLL/bi_obj/nomad_for_DLL.cpp b/examples/interfaces/DLL/bi_obj/nomad_for_DLL.cpp
index 316e94b..f563568 100755
--- a/examples/interfaces/DLL/bi_obj/nomad_for_DLL.cpp
+++ b/examples/interfaces/DLL/bi_obj/nomad_for_DLL.cpp
@@ -1,212 +1,212 @@
-/*---------------------------------------------------------------*/
-/*                    NOMAD for a DLL-black-box                  */
-/*---------------------------------------------------------------*/
-#include "nomad.hpp"
-#include <windows.h>
-using namespace std;
-using namespace NOMAD;
-
-// black-box outputs (m):
-// ----------------------
-//    . the first one is the objective function
-//    . all the others (1 to m-1) are PB constraints with format g(x) <= 0
-
-
-/*------------------------------------------*/
-/*               DLL functions              */
-/*------------------------------------------*/
-typedef int  (_stdcall *GET_NM)( void );
-typedef void (_stdcall *EVAL_X)( double * , double * , bool * );
-typedef void (_stdcall *INIT  )( void );
-
-GET_NM get_n_dll;
-GET_NM get_m_dll;
-EVAL_X eval_x_dll;
-//INIT init_dll;
-//INIT clear_dll;
-
-// simulate the DLL functions (for tests):
-/*
-void init  ( void ) {}
-void clear ( void ) {}
-int  get_n_dll  ( void ) { return 5; }
-int  get_m_dll  ( void ) { return 3; }
-void eval_x_dll ( double * x , double * fx , bool & cnt_eval ) {
-  double c1 = 0.0 , c2 = 0.0;
-  for ( int i = 0 ; i < 5 ; ++i ) {
-    c1 += pow ( x[i]-1 , 2 );
-    c2 += pow ( x[i]+1 , 2 );
-  }
-  fx[0] = x[4];
-  fx[1] = c1 - 25;
-  fx[2] = 25 - c2;
-  cnt_eval = true;
-}
-*/
-
-/*--------------------------------------*/
-/*            custom evaluator          */
-/*--------------------------------------*/
-class My_Evaluator : public Multi_Obj_Evaluator {
-
-private:
-
-  int      _n;
-  int      _m;
-  double * _px;
-  double * _fx;
-
-public:
-
-  // ctor:
-  My_Evaluator ( const Parameters & p , int n , int m )
-    : Multi_Obj_Evaluator ( p ) ,
-      _n        ( n               ) ,
-      _m        ( m               ) ,
-      _px       ( new double [_n] ) ,
-      _fx       ( new double [_m] )   {}
-
-  // dtor:
-  ~My_Evaluator ( void ) { delete [] _px; delete [] _fx; }
-
-  // eval_x:
-  bool eval_x ( Eval_Point          & x        ,
-		const NOMAD::Double & h_max    ,
-		bool                & cnt_eval   ) const;
-};
-
-// eval_x:
-bool My_Evaluator::eval_x ( Eval_Point          & x        ,
-			    const NOMAD::Double & h_max    ,
-			    bool                & cnt_eval   ) const {
-  int i;
-  for ( i = 0 ; i < _n ; ++i )
-    _px[i] = x[i].value();   
-  eval_x_dll ( _px , _fx , &cnt_eval );
-  for ( i = 0 ; i < _m ; ++i )
-    x.set_bb_output ( i , _fx[i] );
-  return true;
-}
-
-/*------------------------------------------*/
-/*            NOMAD main function           */
-/*------------------------------------------*/
-int main ( int argc , char ** argv ) {
-
-  // use:
-  if ( argc != 2 ) {
-    cerr << "\nuse: nomad_for_DLL.exe param.txt\n\n";
-    return 1;
-  } 
-
-  // NOMAD initializations:
-  begin ( argc , argv );
-
-  // display:
-  NOMAD::Display out ( std::cout );
-  out.precision ( NOMAD::DISPLAY_PRECISION_STD );
-
-  // random seed:
-  unsigned seed = 0;
-  srand(seed);
-
-  // define DLL functions:
-  // get handle to dll:
-  HINSTANCE hdll = LoadLibrary ( TEXT("bb.dll") );
-  if ( !hdll ) {
-    cerr << "ERROR: unable to open bb.dll" << endl;
-	FreeLibrary ( hdll );
-	return 1;
-  }
-
-  // get function pointers:
-  get_n_dll = (GET_NM)GetProcAddress(hdll, "GET_N");
-  if ( !get_n_dll ) {
-    cerr << "ERROR: unable to find GET_N function in dll" << endl;
-	FreeLibrary ( hdll );
-	return 1;
-  }
-
-  get_m_dll = (GET_NM)GetProcAddress(hdll, "GET_M");
-  if ( !get_m_dll ) {
-    cerr << "ERROR: unable to find GET_M function in dll" << endl;
-	FreeLibrary ( hdll );
-	return 1;
-  }
-
-  eval_x_dll = (EVAL_X)GetProcAddress(hdll, "EVAL_X");
-  if ( !eval_x_dll ) {
-    cerr << "ERROR: unable to find EVAL_X function in dll" << endl;
-	FreeLibrary ( hdll );
-	return 1;
-  }
-
- /* init_dll = (INIT)GetProcAddress(hdll, "INIT");
-  if ( !init_dll ) {
-    cerr << "ERROR: unable to find INIT function in dll" << endl;
-	FreeLibrary ( hdll );
-	return 1;
-  }
-
-  clear_dll = (INIT)GetProcAddress(hdll, "CLEAR");
-  if ( !clear_dll ) {
-    cerr << "ERROR: unable to find CLEAR function in dll" << endl;
-	FreeLibrary ( hdll );
-	return 1;
-  }*/
-
-  // MADS:
-  try {
-
-    /* init_dll(); */
-
-    int n = get_n_dll();
-    int m = get_m_dll();
-
-    // parameters creation:
-    // --------------------
-    Parameters p ( out );
-
-    // dimension:
-    p.set_DIMENSION ( n );
-
-    // definition of output types:
-    vector<bb_output_type> bbot (m);
-    bbot[0] = bbot[1] = OBJ;
-    for ( int i = 2 ; i < m ; ++i )
-      bbot[i] = PB;
-    p.set_BB_OUTPUT_TYPE ( bbot );
-
-    // read parameters file:
-    p.read ( argv[1] );
-
-    // parameters check:
-    p.check();
-
-    // display parameters:
-    // out << p << endl;
-
-    // custom evaluator creation:
-    My_Evaluator ev ( p , n , m );
-
-    // algorithm creation and execution:
-    Mads mads ( p , &ev );
-    mads.multi_run();
-
-    // algorithm display:
-    // out << mads << endl;
-
-    /* clear_dll(); */
-  }
-  catch ( exception & e ) {
-    cerr << "\nNOMAD has been interrupted (" << e.what() << ")\n\n";
-  }
-
-  // Release the Dll:
-  FreeLibrary ( hdll );
-
-  NOMAD::Slave::stop_slaves ( out );
-  NOMAD::end();
-
-  return EXIT_SUCCESS;
-}
+/*---------------------------------------------------------------*/
+/*                    NOMAD for a DLL-black-box                  */
+/*---------------------------------------------------------------*/
+#include "nomad.hpp"
+#include <windows.h>
+using namespace std;
+using namespace NOMAD;
+
+// black-box outputs (m):
+// ----------------------
+//    . the first one is the objective function
+//    . all the others (1 to m-1) are PB constraints with format g(x) <= 0
+
+
+/*------------------------------------------*/
+/*               DLL functions              */
+/*------------------------------------------*/
+typedef int  (_stdcall *GET_NM)( void );
+typedef void (_stdcall *EVAL_X)( double * , double * , bool * );
+typedef void (_stdcall *INIT  )( void );
+
+GET_NM get_n_dll;
+GET_NM get_m_dll;
+EVAL_X eval_x_dll;
+//INIT init_dll;
+//INIT clear_dll;
+
+// simulate the DLL functions (for tests):
+/*
+void init  ( void ) {}
+void clear ( void ) {}
+int  get_n_dll  ( void ) { return 5; }
+int  get_m_dll  ( void ) { return 3; }
+void eval_x_dll ( double * x , double * fx , bool & cnt_eval ) {
+  double c1 = 0.0 , c2 = 0.0;
+  for ( int i = 0 ; i < 5 ; ++i ) {
+    c1 += pow ( x[i]-1 , 2 );
+    c2 += pow ( x[i]+1 , 2 );
+  }
+  fx[0] = x[4];
+  fx[1] = c1 - 25;
+  fx[2] = 25 - c2;
+  cnt_eval = true;
+}
+*/
+
+/*--------------------------------------*/
+/*            custom evaluator          */
+/*--------------------------------------*/
+class My_Evaluator : public Multi_Obj_Evaluator {
+
+private:
+
+  int      _n;
+  int      _m;
+  double * _px;
+  double * _fx;
+
+public:
+
+  // ctor:
+  My_Evaluator ( const Parameters & p , int n , int m )
+    : Multi_Obj_Evaluator ( p ) ,
+      _n        ( n               ) ,
+      _m        ( m               ) ,
+      _px       ( new double [_n] ) ,
+      _fx       ( new double [_m] )   {}
+
+  // dtor:
+  ~My_Evaluator ( void ) { delete [] _px; delete [] _fx; }
+
+  // eval_x:
+  bool eval_x ( Eval_Point          & x        ,
+		const NOMAD::Double & h_max    ,
+		bool                & cnt_eval   ) const;
+};
+
+// eval_x:
+bool My_Evaluator::eval_x ( Eval_Point          & x        ,
+			    const NOMAD::Double & h_max    ,
+			    bool                & cnt_eval   ) const {
+  int i;
+  for ( i = 0 ; i < _n ; ++i )
+    _px[i] = x[i].value();   
+  eval_x_dll ( _px , _fx , &cnt_eval );
+  for ( i = 0 ; i < _m ; ++i )
+    x.set_bb_output ( i , _fx[i] );
+  return true;
+}
+
+/*------------------------------------------*/
+/*            NOMAD main function           */
+/*------------------------------------------*/
+int main ( int argc , char ** argv ) {
+
+  // use:
+  if ( argc != 2 ) {
+    cerr << "\nuse: nomad_for_DLL.exe param.txt\n\n";
+    return 1;
+  } 
+
+  // NOMAD initializations:
+  begin ( argc , argv );
+
+  // display:
+  NOMAD::Display out ( std::cout );
+  out.precision ( NOMAD::DISPLAY_PRECISION_STD );
+
+  // random seed:
+  unsigned seed = 0;
+  srand(seed);
+
+  // define DLL functions:
+  // get handle to dll:
+  HINSTANCE hdll = LoadLibrary ( TEXT("bb.dll") );
+  if ( !hdll ) {
+    cerr << "ERROR: unable to open bb.dll" << endl;
+	FreeLibrary ( hdll );
+	return 1;
+  }
+
+  // get function pointers:
+  get_n_dll = (GET_NM)GetProcAddress(hdll, "GET_N");
+  if ( !get_n_dll ) {
+    cerr << "ERROR: unable to find GET_N function in dll" << endl;
+	FreeLibrary ( hdll );
+	return 1;
+  }
+
+  get_m_dll = (GET_NM)GetProcAddress(hdll, "GET_M");
+  if ( !get_m_dll ) {
+    cerr << "ERROR: unable to find GET_M function in dll" << endl;
+	FreeLibrary ( hdll );
+	return 1;
+  }
+
+  eval_x_dll = (EVAL_X)GetProcAddress(hdll, "EVAL_X");
+  if ( !eval_x_dll ) {
+    cerr << "ERROR: unable to find EVAL_X function in dll" << endl;
+	FreeLibrary ( hdll );
+	return 1;
+  }
+
+ /* init_dll = (INIT)GetProcAddress(hdll, "INIT");
+  if ( !init_dll ) {
+    cerr << "ERROR: unable to find INIT function in dll" << endl;
+	FreeLibrary ( hdll );
+	return 1;
+  }
+
+  clear_dll = (INIT)GetProcAddress(hdll, "CLEAR");
+  if ( !clear_dll ) {
+    cerr << "ERROR: unable to find CLEAR function in dll" << endl;
+	FreeLibrary ( hdll );
+	return 1;
+  }*/
+
+  // MADS:
+  try {
+
+    /* init_dll(); */
+
+    int n = get_n_dll();
+    int m = get_m_dll();
+
+    // parameters creation:
+    // --------------------
+    Parameters p ( out );
+
+    // dimension:
+    p.set_DIMENSION ( n );
+
+    // definition of output types:
+    vector<bb_output_type> bbot (m);
+    bbot[0] = bbot[1] = OBJ;
+    for ( int i = 2 ; i < m ; ++i )
+      bbot[i] = PB;
+    p.set_BB_OUTPUT_TYPE ( bbot );
+
+    // read parameters file:
+    p.read ( argv[1] );
+
+    // parameters check:
+    p.check();
+
+    // display parameters:
+    // out << p << endl;
+
+    // custom evaluator creation:
+    My_Evaluator ev ( p , n , m );
+
+    // algorithm creation and execution:
+    Mads mads ( p , &ev );
+    mads.multi_run();
+
+    // algorithm display:
+    // out << mads << endl;
+
+    /* clear_dll(); */
+  }
+  catch ( exception & e ) {
+    cerr << "\nNOMAD has been interrupted (" << e.what() << ")\n\n";
+  }
+
+  // Release the Dll:
+  FreeLibrary ( hdll );
+
+  NOMAD::Slave::stop_slaves ( out );
+  NOMAD::end();
+
+  return EXIT_SUCCESS;
+}
diff --git a/examples/interfaces/DLL/bi_obj/param.txt b/examples/interfaces/DLL/bi_obj/param.txt
index fea33ef..7b6d6bb 100755
--- a/examples/interfaces/DLL/bi_obj/param.txt
+++ b/examples/interfaces/DLL/bi_obj/param.txt
@@ -1,28 +1,28 @@
-#seed              100
-
-initial_mesh_size r0.1
-
-direction_type    ortho 2n
-
-
-multi_overall_bb_eval 1000
-
-lower_bound * -10.0
-
-upper_bound *  10.0
-
-
-x0 ( 2 3 4 5 6 )
-
-display_degree    3
-
-
-add_seed_to_file_names no
-
-#stats_file toto.txt bbe obj
-#solution_file     "sol.txt"
-
-#LH_SEARCH 100 0
-
-#OPPORTUNISTIC_LH no
-
+#seed              100
+
+initial_mesh_size r0.1
+
+direction_type    ortho 2n
+
+
+multi_overall_bb_eval 1000
+
+lower_bound * -10.0
+
+upper_bound *  10.0
+
+
+x0 ( 2 3 4 5 6 )
+
+display_degree    3
+
+
+add_seed_to_file_names no
+
+#stats_file toto.txt bbe obj
+#solution_file     "sol.txt"
+
+#LH_SEARCH 100 0
+
+#OPPORTUNISTIC_LH no
+
diff --git a/examples/interfaces/DLL/bi_obj/readme.txt b/examples/interfaces/DLL/bi_obj/readme.txt
index 8889d3d..a37fa9c 100755
--- a/examples/interfaces/DLL/bi_obj/readme.txt
+++ b/examples/interfaces/DLL/bi_obj/readme.txt
@@ -1,54 +1,54 @@
-
-This example illustrates how to use NOMAD with a black-box
-problem that is coded inside a DLL file.
-
-The problem has two objective values to minimize.
-
-The example runs on windows with visual C++ and minGW.
-
-
-DLL characteristics:
-
-/*----------*/
-
-/*  bb.dll  */
-
-/*----------*/
-
-
-
-// init/clear:
-
-// -----------
-
-void init_dll  ( void );
-
-void clear_dll ( void );
-
-// problem characteristics:
-
-// ------------------------
-
-
-int get_n_dll ( void ); // number of variables
-
-int get_m _dll( void ); // number of outputs: output #0 and #1: objective values to minimize
-
-                        //                    output #2..m-1: PB constraints with format g(x) <= 0
-
-
-
-// evaluation: f(x):
-
-// -----------------
-
-
-void eval_x_dll ( double * x , double * fx , bool & count_eval );
-
-
-
-//          x: input , double array of size n
-
-//         fx: output, double array of size m
-
-// count_eval: output, set to true if the evaluation has to be counted, false else
+
+This example illustrates how to use NOMAD with a black-box
+problem that is coded inside a DLL file.
+
+The problem has two objective values to minimize.
+
+The example runs on windows with visual C++ and minGW.
+
+
+DLL characteristics:
+
+/*----------*/
+
+/*  bb.dll  */
+
+/*----------*/
+
+
+
+// init/clear:
+
+// -----------
+
+void init_dll  ( void );
+
+void clear_dll ( void );
+
+// problem characteristics:
+
+// ------------------------
+
+
+int get_n_dll ( void ); // number of variables
+
+int get_m _dll( void ); // number of outputs: output #0 and #1: objective values to minimize
+
+                        //                    output #2..m-1: PB constraints with format g(x) <= 0
+
+
+
+// evaluation: f(x):
+
+// -----------------
+
+
+void eval_x_dll ( double * x , double * fx , bool & count_eval );
+
+
+
+//          x: input , double array of size n
+
+//         fx: output, double array of size m
+
+// count_eval: output, set to true if the evaluation has to be counted, false else
diff --git a/examples/interfaces/DLL/single_obj/nomad_for_DLL.cpp b/examples/interfaces/DLL/single_obj/nomad_for_DLL.cpp
index 43f4dcf..968a4d7 100755
--- a/examples/interfaces/DLL/single_obj/nomad_for_DLL.cpp
+++ b/examples/interfaces/DLL/single_obj/nomad_for_DLL.cpp
@@ -1,212 +1,212 @@
-/*---------------------------------------------------------------*/
-/*                    NOMAD for a DLL-black-box                  */
-/*---------------------------------------------------------------*/
-#include "nomad.hpp"
-#include <windows.h>
-using namespace std;
-using namespace NOMAD;
-
-// black-box outputs (m):
-// ----------------------
-//    . the first one is the objective function
-//    . all the others (1 to m-1) are PB constraints with format g(x) <= 0
-
-
-/*------------------------------------------*/
-/*               DLL functions              */
-/*------------------------------------------*/
-typedef int  (_stdcall *GET_NM)( void );
-typedef void (_stdcall *EVAL_X)( double * , double * , bool * );
-typedef void (_stdcall *INIT  )( void );
-
-GET_NM get_n_dll;
-GET_NM get_m_dll;
-EVAL_X eval_x_dll;
-//INIT init_dll;
-//INIT clear_dll;
-
-// simulate the DLL functions (for tests):
-/*
-void init  ( void ) {}
-void clear ( void ) {}
-int  get_n_dll  ( void ) { return 5; }
-int  get_m_dll  ( void ) { return 3; }
-void eval_x_dll ( double * x , double * fx , bool & cnt_eval ) {
-  double c1 = 0.0 , c2 = 0.0;
-  for ( int i = 0 ; i < 5 ; ++i ) {
-    c1 += pow ( x[i]-1 , 2 );
-    c2 += pow ( x[i]+1 , 2 );
-  }
-  fx[0] = x[4];
-  fx[1] = c1 - 25;
-  fx[2] = 25 - c2;
-  cnt_eval = true;
-}
-*/
-
-/*--------------------------------------*/
-/*            custom evaluator          */
-/*--------------------------------------*/
-class My_Evaluator : public Evaluator {
-
-private:
-
-  int      _n;
-  int      _m;
-  double * _px;
-  double * _fx;
-
-public:
-
-  // ctor:
-  My_Evaluator ( const Parameters & p , int n , int m )
-    : Evaluator ( p               ) ,
-      _n        ( n               ) ,
-      _m        ( m               ) ,
-      _px       ( new double [_n] ) ,
-      _fx       ( new double [_m] )   {}
-
-  // dtor:
-  ~My_Evaluator ( void ) { delete [] _px; delete [] _fx; }
-
-  // eval_x:
-  bool eval_x ( Eval_Point   & x        ,
-		const Double & h_max    ,
-		bool         & cnt_eval   ) const;
-};
-
-// eval_x:
-bool My_Evaluator::eval_x ( Eval_Point   & x        ,
-			    const Double & h_max    ,
-			    bool         & cnt_eval   ) const {
-  int i;
-  for ( i = 0 ; i < _n ; ++i )
-    _px[i] = x[i].value();
-  eval_x_dll ( _px , _fx , &cnt_eval );
-  for ( i = 0 ; i < _m ; ++i )
-    x.set_bb_output ( i , _fx[i] );
-  return true;
-}
-
-/*------------------------------------------*/
-/*            NOMAD main function           */
-/*------------------------------------------*/
-int main ( int argc , char ** argv ) {
-
-  // use:
-  if ( argc != 2 ) {
-    cerr << "\nuse: nomad_for_DLL.exe param.txt\n\n";
-    return 1;
-  }
-
-  // NOMAD initializations:
-  begin ( argc , argv );
-
-  // display:
-  NOMAD::Display out ( std::cout );
-  out.precision ( NOMAD::DISPLAY_PRECISION_STD );
-
-  // random seed:
-  unsigned seed = 0;
-  srand(seed);
-
-  // define DLL functions:
-  // get handle to dll:
-  HINSTANCE hdll = LoadLibrary ( TEXT("bb.dll") );
-  if ( !hdll ) {
-    cerr << "ERROR: unable to open bb.dll" << endl;
-	FreeLibrary ( hdll );
-	return 1;
-  }
-
-  // get function pointers:
-  get_n_dll = (GET_NM)GetProcAddress(hdll, "GET_N");
-  if ( !get_n_dll ) {
-    cerr << "ERROR: unable to find GET_N function in dll" << endl;
-	FreeLibrary ( hdll );
-	return 1;
-  }
-
-  get_m_dll = (GET_NM)GetProcAddress(hdll, "GET_M");
-  if ( !get_m_dll ) {
-    cerr << "ERROR: unable to find GET_M function in dll" << endl;
-	FreeLibrary ( hdll );
-	return 1;
-  }
-
-  eval_x_dll = (EVAL_X)GetProcAddress(hdll, "EVAL_X");
-  if ( !eval_x_dll ) {
-    cerr << "ERROR: unable to find EVAL_X function in dll" << endl;
-	FreeLibrary ( hdll );
-	return 1;
-  }
-
- /* init_dll = (INIT)GetProcAddress(hdll, "INIT");
-  if ( !init_dll ) {
-    cerr << "ERROR: unable to find INIT function in dll" << endl;
-	FreeLibrary ( hdll );
-	return 1;
-  }
-
-  clear_dll = (INIT)GetProcAddress(hdll, "CLEAR");
-  if ( !clear_dll ) {
-    cerr << "ERROR: unable to find CLEAR function in dll" << endl;
-	FreeLibrary ( hdll );
-	return 1;
-  }*/
-
-  // MADS:
-  try {
-
-    /* init_dll(); */
-
-    int n = get_n_dll();
-    int m = get_m_dll();
-
-    // parameters creation:
-    // --------------------
-    Parameters p ( out );
-
-    // dimension:
-    p.set_DIMENSION ( n );
-
-    // definition of output types:
-    vector<bb_output_type> bbot (m);
-    bbot[0] = OBJ;
-    for ( int i = 1 ; i < m ; ++i )
-      bbot[i] = PB;
-    p.set_BB_OUTPUT_TYPE ( bbot );
-
-    // read parameters file:
-    p.read ( argv[1] );
-
-    // parameters check:
-    p.check();
-
-    // display parameters:
-    // out << p << endl;
-
-    // custom evaluator creation:
-    My_Evaluator ev ( p , n , m );
-
-    // algorithm creation and execution:
-    Mads mads ( p , &ev  );
-    mads.run();
-
-    // algorithm display:
-    // out << mads << endl;
-
-    /* clear_dll(); */
-  }
-  catch ( exception & e ) {
-    cerr << "\nNOMAD has been interrupted (" << e.what() << ")\n\n";
-  }
-
-  // Release the Dll:
-  FreeLibrary ( hdll );
-
-  NOMAD::Slave::stop_slaves ( out );
-  NOMAD::end();
-
-  return EXIT_SUCCESS;
-}
+/*---------------------------------------------------------------*/
+/*                    NOMAD for a DLL-black-box                  */
+/*---------------------------------------------------------------*/
+#include "nomad.hpp"
+#include <windows.h>
+using namespace std;
+using namespace NOMAD;
+
+// black-box outputs (m):
+// ----------------------
+//    . the first one is the objective function
+//    . all the others (1 to m-1) are PB constraints with format g(x) <= 0
+
+
+/*------------------------------------------*/
+/*               DLL functions              */
+/*------------------------------------------*/
+typedef int  (_stdcall *GET_NM)( void );
+typedef void (_stdcall *EVAL_X)( double * , double * , bool * );
+typedef void (_stdcall *INIT  )( void );
+
+GET_NM get_n_dll;
+GET_NM get_m_dll;
+EVAL_X eval_x_dll;
+//INIT init_dll;
+//INIT clear_dll;
+
+// simulate the DLL functions (for tests):
+/*
+void init  ( void ) {}
+void clear ( void ) {}
+int  get_n_dll  ( void ) { return 5; }
+int  get_m_dll  ( void ) { return 3; }
+void eval_x_dll ( double * x , double * fx , bool & cnt_eval ) {
+  double c1 = 0.0 , c2 = 0.0;
+  for ( int i = 0 ; i < 5 ; ++i ) {
+    c1 += pow ( x[i]-1 , 2 );
+    c2 += pow ( x[i]+1 , 2 );
+  }
+  fx[0] = x[4];
+  fx[1] = c1 - 25;
+  fx[2] = 25 - c2;
+  cnt_eval = true;
+}
+*/
+
+/*--------------------------------------*/
+/*            custom evaluator          */
+/*--------------------------------------*/
+class My_Evaluator : public Evaluator {
+
+private:
+
+  int      _n;
+  int      _m;
+  double * _px;
+  double * _fx;
+
+public:
+
+  // ctor:
+  My_Evaluator ( const Parameters & p , int n , int m )
+    : Evaluator ( p               ) ,
+      _n        ( n               ) ,
+      _m        ( m               ) ,
+      _px       ( new double [_n] ) ,
+      _fx       ( new double [_m] )   {}
+
+  // dtor:
+  ~My_Evaluator ( void ) { delete [] _px; delete [] _fx; }
+
+  // eval_x:
+  bool eval_x ( Eval_Point   & x        ,
+		const Double & h_max    ,
+		bool         & cnt_eval   ) const;
+};
+
+// eval_x:
+bool My_Evaluator::eval_x ( Eval_Point   & x        ,
+			    const Double & h_max    ,
+			    bool         & cnt_eval   ) const {
+  int i;
+  for ( i = 0 ; i < _n ; ++i )
+    _px[i] = x[i].value();
+  eval_x_dll ( _px , _fx , &cnt_eval );
+  for ( i = 0 ; i < _m ; ++i )
+    x.set_bb_output ( i , _fx[i] );
+  return true;
+}
+
+/*------------------------------------------*/
+/*            NOMAD main function           */
+/*------------------------------------------*/
+int main ( int argc , char ** argv ) {
+
+  // use:
+  if ( argc != 2 ) {
+    cerr << "\nuse: nomad_for_DLL.exe param.txt\n\n";
+    return 1;
+  }
+
+  // NOMAD initializations:
+  begin ( argc , argv );
+
+  // display:
+  NOMAD::Display out ( std::cout );
+  out.precision ( NOMAD::DISPLAY_PRECISION_STD );
+
+  // random seed:
+  unsigned seed = 0;
+  srand(seed);
+
+  // define DLL functions:
+  // get handle to dll:
+  HINSTANCE hdll = LoadLibrary ( TEXT("bb.dll") );
+  if ( !hdll ) {
+    cerr << "ERROR: unable to open bb.dll" << endl;
+	FreeLibrary ( hdll );
+	return 1;
+  }
+
+  // get function pointers:
+  get_n_dll = (GET_NM)GetProcAddress(hdll, "GET_N");
+  if ( !get_n_dll ) {
+    cerr << "ERROR: unable to find GET_N function in dll" << endl;
+	FreeLibrary ( hdll );
+	return 1;
+  }
+
+  get_m_dll = (GET_NM)GetProcAddress(hdll, "GET_M");
+  if ( !get_m_dll ) {
+    cerr << "ERROR: unable to find GET_M function in dll" << endl;
+	FreeLibrary ( hdll );
+	return 1;
+  }
+
+  eval_x_dll = (EVAL_X)GetProcAddress(hdll, "EVAL_X");
+  if ( !eval_x_dll ) {
+    cerr << "ERROR: unable to find EVAL_X function in dll" << endl;
+	FreeLibrary ( hdll );
+	return 1;
+  }
+
+ /* init_dll = (INIT)GetProcAddress(hdll, "INIT");
+  if ( !init_dll ) {
+    cerr << "ERROR: unable to find INIT function in dll" << endl;
+	FreeLibrary ( hdll );
+	return 1;
+  }
+
+  clear_dll = (INIT)GetProcAddress(hdll, "CLEAR");
+  if ( !clear_dll ) {
+    cerr << "ERROR: unable to find CLEAR function in dll" << endl;
+	FreeLibrary ( hdll );
+	return 1;
+  }*/
+
+  // MADS:
+  try {
+
+    /* init_dll(); */
+
+    int n = get_n_dll();
+    int m = get_m_dll();
+
+    // parameters creation:
+    // --------------------
+    Parameters p ( out );
+
+    // dimension:
+    p.set_DIMENSION ( n );
+
+    // definition of output types:
+    vector<bb_output_type> bbot (m);
+    bbot[0] = OBJ;
+    for ( int i = 1 ; i < m ; ++i )
+      bbot[i] = PB;
+    p.set_BB_OUTPUT_TYPE ( bbot );
+
+    // read parameters file:
+    p.read ( argv[1] );
+
+    // parameters check:
+    p.check();
+
+    // display parameters:
+    // out << p << endl;
+
+    // custom evaluator creation:
+    My_Evaluator ev ( p , n , m );
+
+    // algorithm creation and execution:
+    Mads mads ( p , &ev  );
+    mads.run();
+
+    // algorithm display:
+    // out << mads << endl;
+
+    /* clear_dll(); */
+  }
+  catch ( exception & e ) {
+    cerr << "\nNOMAD has been interrupted (" << e.what() << ")\n\n";
+  }
+
+  // Release the Dll:
+  FreeLibrary ( hdll );
+
+  NOMAD::Slave::stop_slaves ( out );
+  NOMAD::end();
+
+  return EXIT_SUCCESS;
+}
diff --git a/examples/interfaces/DLL/single_obj/param.txt b/examples/interfaces/DLL/single_obj/param.txt
index ddbb511..42f7a6f 100755
--- a/examples/interfaces/DLL/single_obj/param.txt
+++ b/examples/interfaces/DLL/single_obj/param.txt
@@ -1,27 +1,27 @@
-#seed              100
-
-initial_mesh_size r0.1
-
-direction_type    ortho 2n
-
-max_bb_eval       1000
-
-lower_bound * -10.0
-
-upper_bound *  10.0
-
-
-x0 ( 2 3 4 5 6 )
-
-display_degree    1
-
-display_stats     bbe ( sol )  obj
-
-add_seed_to_file_names no
-
-#stats_file toto.txt bbe obj
-#solution_file     "sol.txt"
-
-#LH_SEARCH 100 0
-
-#OPPORTUNISTIC_LH no
+#seed              100
+
+initial_mesh_size r0.1
+
+direction_type    ortho 2n
+
+max_bb_eval       1000
+
+lower_bound * -10.0
+
+upper_bound *  10.0
+
+
+x0 ( 2 3 4 5 6 )
+
+display_degree    1
+
+display_stats     bbe ( sol )  obj
+
+add_seed_to_file_names no
+
+#stats_file toto.txt bbe obj
+#solution_file     "sol.txt"
+
+#LH_SEARCH 100 0
+
+#OPPORTUNISTIC_LH no
diff --git a/examples/interfaces/DLL/single_obj/readme.txt b/examples/interfaces/DLL/single_obj/readme.txt
index 970c9be..7c139cb 100755
--- a/examples/interfaces/DLL/single_obj/readme.txt
+++ b/examples/interfaces/DLL/single_obj/readme.txt
@@ -1,52 +1,52 @@
-
-This example illustrates how to use NOMAD with a black-box
-problem that is coded inside a DLL file.
-
-The example runs on windows with visual C++ and minGW.
-
-
-DLL characteristics:
-
-/*----------*/
-
-/*  bb.dll  */
-
-/*----------*/
-
-
-
-// init/clear:
-
-// -----------
-
-void init_dll  ( void );
-
-void clear_dll ( void );
-
-// problem characteristics:
-
-// ------------------------
-
-
-int get_n_dll ( void ); // number of variables
-
-int get_m _dll( void ); // number of outputs: output #0     : objective value to minimize
-
-                        //                    output #1..m-1: PB constraints with format g(x) <= 0
-
-
-
-// evaluation: f(x):
-
-// -----------------
-
-
-void eval_x_dll ( double * x , double * fx , bool & count_eval );
-
-
-
-//          x: input , double array of size n
-
-//         fx: output, double array of size m
-
-// count_eval: output, set to true if the evaluation has to be counted, false else
+
+This example illustrates how to use NOMAD with a black-box
+problem that is coded inside a DLL file.
+
+The example runs on windows with visual C++ and minGW.
+
+
+DLL characteristics:
+
+/*----------*/
+
+/*  bb.dll  */
+
+/*----------*/
+
+
+
+// init/clear:
+
+// -----------
+
+void init_dll  ( void );
+
+void clear_dll ( void );
+
+// problem characteristics:
+
+// ------------------------
+
+
+int get_n_dll ( void ); // number of variables
+
+int get_m _dll( void ); // number of outputs: output #0     : objective value to minimize
+
+                        //                    output #1..m-1: PB constraints with format g(x) <= 0
+
+
+
+// evaluation: f(x):
+
+// -----------------
+
+
+void eval_x_dll ( double * x , double * fx , bool & count_eval );
+
+
+
+//          x: input , double array of size n
+
+//         fx: output, double array of size m
+
+// count_eval: output, set to true if the evaluation has to be counted, false else
diff --git a/examples/interfaces/FORTRAN/example1/makefile b/examples/interfaces/FORTRAN/example1/makefile
index 0b315b4..fe4e382 100644
--- a/examples/interfaces/FORTRAN/example1/makefile
+++ b/examples/interfaces/FORTRAN/example1/makefile
@@ -17,7 +17,7 @@ endif
 
 LDLIBS                 = -lm -lnomad
 
-INCLUDE                = -I$(NOMAD_HOME)/src -I.
+INCLUDE                = -I$(NOMAD_HOME)/src -I$(NOMAD_HOME)/ext/sgtelib/src -I.
 COMPILE                = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
 FCOMPILE               = $(FCOMPILATOR) -O3 -c
 OBJS                   = test.o bb.o
diff --git a/examples/interfaces/FORTRAN/example1/readme.txt b/examples/interfaces/FORTRAN/example1/readme.txt
index a2a2cf8..818e738 100644
--- a/examples/interfaces/FORTRAN/example1/readme.txt
+++ b/examples/interfaces/FORTRAN/example1/readme.txt
@@ -1,5 +1,5 @@
-Run the NOMAD library with a FORTRAN black-box routine.
-
-This examples works on a X system with g++ and gfortran.
-
+Run the NOMAD library with a FORTRAN black-box routine.
+
+This examples works on a X system with g++ and gfortran.
+
 Type 'make' and then './test.exe'.
\ No newline at end of file
diff --git a/examples/interfaces/FORTRAN/example1/runExample.log b/examples/interfaces/FORTRAN/example1/runExample.log
index e14c513..ccf265c 100644
--- a/examples/interfaces/FORTRAN/example1/runExample.log
+++ b/examples/interfaces/FORTRAN/example1/runExample.log
@@ -3,18 +3,15 @@ MADS run {
 
 	BBE	OBJ
 
-	  2	288.7937255854 (PhaseOne)
-	  3	0.0000000000 (PhaseOne)
-	  3	1.0733126292
-	 10	1.0062305899
-	 11	0.8049844719
-	 13	0.5366563146
-	 28	-1.0733126292
-	 32	-3.7565942022
-	100	-3.7565942022
+	  2	144.0000000000 (PhaseOne)
+	  4	0.0000000000 (PhaseOne)
+	  4	1.0000000000
+	 20	-3.0000000000
+	 57	-4.0000000000
+	100	-4.0000000000
 
 } end of run (max number of blackbox evaluations)
 
 blackbox evaluations                     : 100
-best infeasible solution (min. violation): ( 2.459674775 0.5366563146 1.162755348 1.073312629 -3.756594202 ) h=0.0023902697 f=-3.756594202
-best feasible solution                   : ( 0.491934955 2.146625258 1.162755348 0.2683281573 -3.756594202 ) h=0 f=-3.756594202
+best infeasible solution (min. violation): ( 1.24 1.12 1.03 0.92 -4 ) h=0.0793 f=-4
+best feasible solution                   : ( 1 1 1 1 -4 ) h=0 f=-4
diff --git a/examples/interfaces/FORTRAN/example2/makefile b/examples/interfaces/FORTRAN/example2/makefile
index 8875700..96de423 100644
--- a/examples/interfaces/FORTRAN/example2/makefile
+++ b/examples/interfaces/FORTRAN/example2/makefile
@@ -17,7 +17,7 @@ endif
 
 LDLIBS                 = -lm -lnomad -lstdc++
 
-INCLUDE                = -I$(NOMAD_HOME)/src -I.
+INCLUDE                = -I$(NOMAD_HOME)/src -I$(NOMAD_HOME)/ext/sgtelib/src -I.
 COMPILE                = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
 FCOMPILE               = $(FCOMPILATOR) -O3 -c
 
diff --git a/examples/interfaces/FORTRAN/example2/readme.txt b/examples/interfaces/FORTRAN/example2/readme.txt
index 72e583c..d0c4a48 100644
--- a/examples/interfaces/FORTRAN/example2/readme.txt
+++ b/examples/interfaces/FORTRAN/example2/readme.txt
@@ -1,6 +1,6 @@
-This example shows how to write a FORTRAN program calling NOMAD,
-with a black-box routine written in FORTRAN.
-
-It has been tested on a X system with g++ and gfortran.
-
-Type 'make' to compile and './test.exe' to execute.
+This example shows how to write a FORTRAN program calling NOMAD,
+with a black-box routine written in FORTRAN.
+
+It has been tested on a X system with g++ and gfortran.
+
+Type 'make' to compile and './test.exe' to execute.
diff --git a/examples/interfaces/FORTRAN/example2/runExample.log b/examples/interfaces/FORTRAN/example2/runExample.log
deleted file mode 100644
index 5d79a3f..0000000
--- a/examples/interfaces/FORTRAN/example2/runExample.log
+++ /dev/null
@@ -1,6 +0,0 @@
- solution:
-       1.0873279049623568     
-       1.0106964832583694     
-       1.0142392972319982     
-       1.0195849194381255     
-      -3.9991672402116962     
diff --git a/examples/interfaces/GAMS/bb.gms b/examples/interfaces/GAMS/bb.gms
index 7659730..a68edb8 100644
--- a/examples/interfaces/GAMS/bb.gms
+++ b/examples/interfaces/GAMS/bb.gms
@@ -1,321 +1,321 @@
-
-Set t time periods
-/
-2005, 2015, 2025, 2035, 2045, 2055, 2065, 2075, 2085, 2095,
-2105, 2115, 2125, 2135, 2145, 2155, 2165, 2175, 2185, 2195,
-2205, 2215, 2225, 2235, 2245, 2255, 2265, 2275, 2285, 2295,
-2305, 2315, 2325, 2335, 2345, 2355, 2365, 2375, 2385, 2395,
-2405
-/
-
-subtGDP(t) indice sommation GDP
-/
-2005, 2015, 2025, 2035, 2045, 2055, 2065, 2075, 2085, 2095
-/
-
-subtem(t) indice sommation emissions
-/
-2005, 2015, 2025, 2035, 2045, 2055, 2065, 2075, 2085
-/
-;
-
-Set ts(t) time periods
-/
-2005, 2015, 2025, 2035, 2045, 2055, 2065, 2075, 2085, 2095,
-2105, 2115, 2125, 2135, 2145, 2155, 2165, 2175, 2185, 2195,
-2205, 2215, 2225, 2235, 2245, 2255, 2265, 2275, 2285, 2295,
-2305, 2315, 2325, 2335, 2345, 2355, 2365, 2375, 2385, 2395,
-2405
-/;
-
-Set tfirst(t) first time period;
-tfirst(t) = YES$(ord(t) eq 1);
-
-Set tlast(t) last time period;
-tlast(t) = YES$(ord(t) eq card(t));
-
-Parameter nbp(t) number of periods since 2005
-/
-  2005 0, 2015 1, 2025 2, 2035 3, 2045 4, 2055 5, 2065 6, 2075 7, 2085 8,
-  2095 9, 2105 10, 2115 11, 2125 12, 2135 13, 2145 14, 2155 15, 2165 16,
-  2175 17, 2185 18, 2195 19, 2205 20, 2215 21, 2225 22, 2235 23, 2245 24,
-  2255 25, 2265 26, 2275 27, 2285 28, 2295 29, 2305 30, 2315 31, 2325 32,
-  2335 33, 2345 34, 2355 35, 2365 36, 2375 37, 2385 38, 2395 39, 2405 40
-/;
-
-Parameter nby(t) number of years since 2005
-/
- 2005 0, 2015 10, 2025 20, 2035 30, 2045 40, 2055 50, 2065 60, 2075 70, 2085 80,
- 2095 90, 2105 100, 2115 110, 2125 120, 2135 130, 2145 140, 2155 150, 2165 160,
- 2175 170, 2185 180, 2195 190, 2205 200, 2215 210, 2225 220, 2235 230, 2245 240,
- 2255 250, 2265 260, 2275 270, 2285 280, 2295 290, 2305 300, 2315 310, 2325 320,
- 2335 330, 2345 340, 2355 350, 2365 360, 2375 370, 2385 380, 2395 390, 2405 400
-/;
-
-Parameter xi(t) indicator for the clean economy
-/
-  2005 1, 2015 1, 2025 1, 2035 1, 2045 1, 2055 1, 2065 1, 2075 1, 2085 1,
-  2095 1, 2105 1, 2115 1, 2125 1, 2135 1, 2145 1, 2155 1, 2165 1, 2175 1,
-  2185 1, 2195 1, 2205 1, 2215 1, 2225 1, 2235 1, 2245 1, 2255 1, 2265 1,
-  2275 1, 2285 1, 2295 1, 2305 1, 2315 1, 2325 1, 2335 1, 2345 1, 2355 1,
-  2365 1, 2375 1, 2385 1, 2395 1, 2405 1
-/;
-$ontext
-/
-  2005 0, 2015 0, 2025 0, 2035 0, 2045 0, 2055 0, 2065 0, 2075 0, 2085 0,
-  2095 0, 2105 0, 2115 0, 2125 0, 2135 0, 2145 0, 2155 0, 2165 0, 2175 0,
-  2185 0, 2195 0, 2205 0, 2215 0, 2225 0, 2235 0, 2245 0, 2255 0, 2265 0,
-  2275 0, 2285 0, 2295 0, 2305 0, 2315 0, 2325 0, 2335 0, 2345 0, 2355 0,
-  2365 0, 2375 0, 2385 0, 2395 0, 2405 0
-/;
-$offtext
-
-Parameter GDP(t) GDP donne par le scenario B2MESSAGE par moyenne simple
-/
-  2005 49.84, 2015 66.53, 2025 86.94, 2035 112.9, 2045 145.3, 2055 182.0, 2065 220.7, 2075 259.1, 2085 295.5,
-  2095 331.7, 2105 0, 2115 0, 2125 0, 2135 0, 2145 0, 2155 0, 2165 0, 2175 0,
-  2185 0, 2195 0, 2205 0, 2215 0, 2225 0, 2235 0, 2245 0, 2255 0, 2265 0,
-  2275 0, 2285 0, 2295 0, 2305 0, 2315 0, 2325 0, 2335 0, 2345 0, 2355 0,
-  2365 0, 2375 0, 2385 0, 2395 0, 2405 0
-/;
-
-Parameter emissionB2(t) emission CO2 par decennie donne par le scenario B2MESSAGE par moyenne simple
-/
-  2005 8.65, 2015 9.19, 2025 9.88, 2035 10.57, 2045 11.05, 2055 11.40, 2065 11.72, 2075 12.18, 2085 12.76,
-  2095 0, 2105 0, 2115 0, 2125 0, 2135 0, 2145 0, 2155 0, 2165 0, 2175 0,
-  2185 0, 2195 0, 2205 0, 2215 0, 2225 0, 2235 0, 2245 0, 2255 0, 2265 0,
-  2275 0, 2285 0, 2295 0, 2305 0, 2315 0, 2325 0, 2335 0, 2345 0, 2355 0,
-  2365 0, 2375 0, 2385 0, 2395 0, 2405 0
-/;
-
-Scalars
-    borneinf borne inferieure de DICE                      /0.9/
-    bornesup borne superieure de DICE                      /1.1/
-    deltaalpha ecart entre modeles DICE et GERAD  /0/
-    deltaGDP ecart DICE GERAD pour le GDP /0/
-    deltaem idem                         /0/
-    moyenneGDP moyenne GDP B2-message                /175.05/
-    moyenneem idem                             /10.82/
-
-    vb       slope w.r.t K2(t) of the probability rate of discovery /0.0019/
-    wb       initial probability rate of discovery                  /0.05/
-    beta     marginal atmospheric retention rate                    /0.64/
-    catM     catastrophic carbon concentration                      /2059.0/
-    delta_M  carbon removal rate per decade                         /0.036/
-*    mtargM   target for carbon concentration                        /1025.00/
-    mtargM   target for carbon concentration                        /5000.00/
-    piE1     initial energy price in dirty economy                          /0.35/
-    piE2     initial energy price in clean economy                          /0.60/
-    rhop  discount rate /0.025/
-
-    prstp    initial rate of social time preference per year        /0.015/
-    dr       decline rate of social time preference per year        /0.000001/
-    rho      discount rate                                          /0.03/
-
-    L0       2005 world population (millions)                       /6409/
-    gL0      initial value for growth rate of population            /0.08/
-    dgL      rate of decrease for growth rate of population         /0.3/
-
-    scale1 scaling coefficient in objective function                /300/
-    scale2 scaling coefficient in objective function                /1.00E+07/
-
-*Scalaires calibres
-$include "input.txt";
-
-;
-
-*Initialisation des parametres
-Parameter L(t) labor - world population (millions);
-L(t) =  L0 * exp( (gl0/dgL)*(1-exp( -dgL*nbp(t) )) );
-
-Parameter r(t) instantaeous rate of social time preference;
-r(t)=prstp*EXP(-dr*10*(ord(t)-1));
-
-Parameter rr(t) average utility social discount rate;
-rr(tfirst)=1;
-loop(t, rr(t+1) = rr(t) / ((1+r(t))**10) );
-
-Parameter A(t) total factor productivity;
-A(tfirst) = 1.38734*A0;
-*loop(t, A(t+1) = A(t) / (1-gA0*exp(-dgA*10*nbp(t))) );
-A(t) = 1.38734*A0 * exp( (gA0/dgA)*(1-exp( -dgA*nbp(t) )) );
-
-Parameter phid(t) energy efficiency in the dirty economy;
-phid(t) = (phid0 * exp( (-gphid0/dgphid)*exp(-dgphid*(nbp(t)+1)) ) ) /
-          exp(-gphid0/dgphid);
-
-Parameter phic(t) energy efficiency in the clean economy;
-phic(t) = (phic0 * exp( (-gphic0/dgphic)*exp(-dgphic*(nbp(t)+1)) ) ) /
-          exp(-gphic0/dgphic);
-
-Parameter thetad(t) dirty energy elasticity in production function;
-thetad(t) = (thetad0 * exp( (gthetad0/dgthetad)*exp(-dgthetad*(nbp(t)+1)) ) ) /
-            exp(gthetad0/dgthetad);
-
-Parameter thetac(t) clean energy elasticity in production function;
-thetac(t) = (thetac0 * exp( (gthetac0/dgthetac)*exp(-dgthetac*(nbp(t)+1)) ) ) /
-            exp(gthetac0/dgthetac);
-
-Parameter EM(t) total emissions (over 10 years);
-EM(t) = 0;
-
-Parameter TK(t) total capital;
-TK(t) = 0;
-
-Parameter deltaalphaGDP(t) ecart courant entre GDP de DICE et GERAD;
-deltaalphaGDP(t) = 0;
-
-*Definition du modele
-Positive variables
-    C(t)  total consumption (trillion dollars)
-    ELF(t) economic loss factor (%)
-    E1(t) carbon emissions from the dirty economy (GtC)
-    E2(t) carbon emissions from the clean economy (GtC)
-    I1(t) investment in dirty capital K1 (trillion dollars)
-    I2(t) investment in clean capital K2 (trillion dollars)
-    K1(t) physical stock of dirty capital (trillion dollars)
-    K2(t) physical stock of clean capital (trillion dollars)
-    L1(t) labor for the dirty economy (millions)
-    L2(t) labor for the clean economy (millions)
-    M(t)  atmospheric carbon concentration
-    Y(t)  economic output (trillion dollars);
-
-Variables
-    PW(t)   welfare of current period
-    W2      total discounted welfare after the last jump (V_2-1-l);
-
-Equations
-    ALOCLABOR(t) compute allocation of total labor
-    CARBDYNAM(t) compute evolution of carbon concentrations
-    E1FIRST(t)    initial value for carbon emissions from dirty capital
-    E2FIRST(t)    initial value for carbon emissions from clean capital
-    ELFCOMP(t)   compute economic loss factor
-    I2MAX(t)      bound for investment on clean capital
-    K1ACCUMUL(t) compute dirty capital accumulation
-    K1FIRST(t)   initial value for dirty capital
-    K1LAST(t)    final value for dirty capital
-    K2ACCUMUL(t) compute clean capital accumulation
-    K2FIRST(t)   initial value for clean capital
-    K2LAST(t)    final value for clean capital
-    MFIRST(t)    initial value for carbon concentration
-    TARGETM(t)   impose cap on atmospheric carbon concentrations
-    TOTALCONS(t) compute total consumption
-    TOTALPROD(t) compute total production
-    PWEQ(t)      compute welfare of current period
-    WELFARE2     compute total welfare after the last jump;
-
-ALOCLABOR(t)..
-  L1(t) + L2(t) =l= L(t);
-
-CARBDYNAM(t+1)..
-  M(t+1) =e= beta*10*(E1(t)+E2(t)) + M(t)*(1-delta_M) + delta_M*590;
-
-MFIRST(tfirst)..
-* 2005 value around 385 ppmv = 808.8 GtC
-  M(tfirst) =e= 808.8;
-
-ELFCOMP(t)..
-  ELF(t) =e= 1;
-
-E1FIRST(tfirst)..
-* DICE-2007 value
-  E1(tfirst) =e= 6.7;
-
-E2FIRST(tfirst)..
-* 0.0001 of DICE-2007 value
-  E2(tfirst) =e= 0.00067;
-
-I2MAX(t)..
-  I2(t) =l= 0.97*Y(t);
-
-K1FIRST(tfirst)..
-  K1(tfirst) =e= 137.0;
-
-K1ACCUMUL(t)..
-  K1(t+1) =l= K1(t)*(1-dk)**10 + 10*I1(t);
-
-K1LAST(tlast)..
-  0.02*K1(tlast) =l= I1(tlast);
-
-K2FIRST(tfirst)..
-  K2(tfirst) =e= 0.0137;
-
-K2ACCUMUL(t)..
-  K2(t+1) =l= K2(t)*(1-dk)**10 + 10*I2(t);
-
-K2LAST(tlast)..
-  0.02*K2(tlast) =l= I2(tlast);
-
-TARGETM(t)..
-* Constraint is always active
-  M(t) =l= mtargM;
-
-TOTALPROD(t)..
-  Y(t) =e= A(t) * (
-  K1(t)**alphad * (phid(t)*E1(t))**thetad(t) * L1(t)**(1-alphad-thetad(t)) +
-  xi(t)*K2(t)**alphac * (phic(t)*E2(t))**thetac(t) * L2(t)**(1-alphac-thetac(t))
-                  );
-
-TOTALCONS(t)..
-  C(t) =e= Y(t) - I1(t) - I2(t) - piE1*phid(t)*E1(t) - piE2*phic(t)*E2(t);
-
-PWEQ(t)..
-  PW(t) =e= ( (ELF(t)*C(t)/L(t))**(1-elasmu) -1) / (1-elasmu);
-
-WELFARE2..
-  W2 =e= sum(t, 10*exp(-rho*nby(t))*L(t)*(PW(t))/scale1) + scale2 ;
-
-Model ECM /all/ ;
-ECM.OPTFILE =1;
-
-C.lo(t)    = 1;
-C.up(t)    = 1000;
-E1.lo(t)   = 0.0000001;
-E1.up(t)   = 500;
-E2.lo(t)   = 0.0000001;
-E2.up(t)   = 100;
-ELF.lo(t)  = 0.5;
-ELF.up(t)  = 1.0;
-I1.lo(t)   = 0.000000001;
-I1.up(t)   = 1000;
-I2.lo(t)   = 0.000000001;
-I2.up(t)   = 1000;
-K1.lo(t)   = 0.01;
-K1.up(t)   = 3000;
-K2.lo(t)   = 0.000000001;
-K2.up(t)   = 3000;
-L1.lo(t)   = 0.1;
-L1.up(t)   = 10000;
-L2.lo(t)   = 0.000000001;
-L2.up(t)   = 10000;
-M.lo(t)    = 300;
-M.up(t)    = 4000;
-Y.lo(t)    = 50;
-Y.up(t)    = 1000;
-
-option iterlim = 99900;
-option reslim = 99999;
-option solprint = off;
-option limrow = 0;
-option limcol = 0;
-
-Solve ECM using nlp maximising W2;
-
-EM(t) = E1.L(t)+E2.L(t);
-TK(t) = K1.L(t)+K2.L(t);
-
-deltaalphaGDP(t) = Y.L(t)-GDP(t);
-deltaGDP = sum ( subtGDP(t) , sqr(deltaalphaGDP(t)) );
-deltaem = sum ( subtem(t) , sqr(EM(t)-emissionB2(t)) );
-deltaalpha = deltaGDP / moyenneGDP  + deltaem / moyenneem ;
-
-file FOUT / output.txt /;
-put FOUT;
-put deltaalpha:13:6;
-putclose;
-
-
-
-
-
-
+
+Set t time periods
+/
+2005, 2015, 2025, 2035, 2045, 2055, 2065, 2075, 2085, 2095,
+2105, 2115, 2125, 2135, 2145, 2155, 2165, 2175, 2185, 2195,
+2205, 2215, 2225, 2235, 2245, 2255, 2265, 2275, 2285, 2295,
+2305, 2315, 2325, 2335, 2345, 2355, 2365, 2375, 2385, 2395,
+2405
+/
+
+subtGDP(t) indice sommation GDP
+/
+2005, 2015, 2025, 2035, 2045, 2055, 2065, 2075, 2085, 2095
+/
+
+subtem(t) indice sommation emissions
+/
+2005, 2015, 2025, 2035, 2045, 2055, 2065, 2075, 2085
+/
+;
+
+Set ts(t) time periods
+/
+2005, 2015, 2025, 2035, 2045, 2055, 2065, 2075, 2085, 2095,
+2105, 2115, 2125, 2135, 2145, 2155, 2165, 2175, 2185, 2195,
+2205, 2215, 2225, 2235, 2245, 2255, 2265, 2275, 2285, 2295,
+2305, 2315, 2325, 2335, 2345, 2355, 2365, 2375, 2385, 2395,
+2405
+/;
+
+Set tfirst(t) first time period;
+tfirst(t) = YES$(ord(t) eq 1);
+
+Set tlast(t) last time period;
+tlast(t) = YES$(ord(t) eq card(t));
+
+Parameter nbp(t) number of periods since 2005
+/
+  2005 0, 2015 1, 2025 2, 2035 3, 2045 4, 2055 5, 2065 6, 2075 7, 2085 8,
+  2095 9, 2105 10, 2115 11, 2125 12, 2135 13, 2145 14, 2155 15, 2165 16,
+  2175 17, 2185 18, 2195 19, 2205 20, 2215 21, 2225 22, 2235 23, 2245 24,
+  2255 25, 2265 26, 2275 27, 2285 28, 2295 29, 2305 30, 2315 31, 2325 32,
+  2335 33, 2345 34, 2355 35, 2365 36, 2375 37, 2385 38, 2395 39, 2405 40
+/;
+
+Parameter nby(t) number of years since 2005
+/
+ 2005 0, 2015 10, 2025 20, 2035 30, 2045 40, 2055 50, 2065 60, 2075 70, 2085 80,
+ 2095 90, 2105 100, 2115 110, 2125 120, 2135 130, 2145 140, 2155 150, 2165 160,
+ 2175 170, 2185 180, 2195 190, 2205 200, 2215 210, 2225 220, 2235 230, 2245 240,
+ 2255 250, 2265 260, 2275 270, 2285 280, 2295 290, 2305 300, 2315 310, 2325 320,
+ 2335 330, 2345 340, 2355 350, 2365 360, 2375 370, 2385 380, 2395 390, 2405 400
+/;
+
+Parameter xi(t) indicator for the clean economy
+/
+  2005 1, 2015 1, 2025 1, 2035 1, 2045 1, 2055 1, 2065 1, 2075 1, 2085 1,
+  2095 1, 2105 1, 2115 1, 2125 1, 2135 1, 2145 1, 2155 1, 2165 1, 2175 1,
+  2185 1, 2195 1, 2205 1, 2215 1, 2225 1, 2235 1, 2245 1, 2255 1, 2265 1,
+  2275 1, 2285 1, 2295 1, 2305 1, 2315 1, 2325 1, 2335 1, 2345 1, 2355 1,
+  2365 1, 2375 1, 2385 1, 2395 1, 2405 1
+/;
+$ontext
+/
+  2005 0, 2015 0, 2025 0, 2035 0, 2045 0, 2055 0, 2065 0, 2075 0, 2085 0,
+  2095 0, 2105 0, 2115 0, 2125 0, 2135 0, 2145 0, 2155 0, 2165 0, 2175 0,
+  2185 0, 2195 0, 2205 0, 2215 0, 2225 0, 2235 0, 2245 0, 2255 0, 2265 0,
+  2275 0, 2285 0, 2295 0, 2305 0, 2315 0, 2325 0, 2335 0, 2345 0, 2355 0,
+  2365 0, 2375 0, 2385 0, 2395 0, 2405 0
+/;
+$offtext
+
+Parameter GDP(t) GDP donne par le scenario B2MESSAGE par moyenne simple
+/
+  2005 49.84, 2015 66.53, 2025 86.94, 2035 112.9, 2045 145.3, 2055 182.0, 2065 220.7, 2075 259.1, 2085 295.5,
+  2095 331.7, 2105 0, 2115 0, 2125 0, 2135 0, 2145 0, 2155 0, 2165 0, 2175 0,
+  2185 0, 2195 0, 2205 0, 2215 0, 2225 0, 2235 0, 2245 0, 2255 0, 2265 0,
+  2275 0, 2285 0, 2295 0, 2305 0, 2315 0, 2325 0, 2335 0, 2345 0, 2355 0,
+  2365 0, 2375 0, 2385 0, 2395 0, 2405 0
+/;
+
+Parameter emissionB2(t) emission CO2 par decennie donne par le scenario B2MESSAGE par moyenne simple
+/
+  2005 8.65, 2015 9.19, 2025 9.88, 2035 10.57, 2045 11.05, 2055 11.40, 2065 11.72, 2075 12.18, 2085 12.76,
+  2095 0, 2105 0, 2115 0, 2125 0, 2135 0, 2145 0, 2155 0, 2165 0, 2175 0,
+  2185 0, 2195 0, 2205 0, 2215 0, 2225 0, 2235 0, 2245 0, 2255 0, 2265 0,
+  2275 0, 2285 0, 2295 0, 2305 0, 2315 0, 2325 0, 2335 0, 2345 0, 2355 0,
+  2365 0, 2375 0, 2385 0, 2395 0, 2405 0
+/;
+
+Scalars
+    borneinf borne inferieure de DICE                      /0.9/
+    bornesup borne superieure de DICE                      /1.1/
+    deltaalpha ecart entre modeles DICE et GERAD  /0/
+    deltaGDP ecart DICE GERAD pour le GDP /0/
+    deltaem idem                         /0/
+    moyenneGDP moyenne GDP B2-message                /175.05/
+    moyenneem idem                             /10.82/
+
+    vb       slope w.r.t K2(t) of the probability rate of discovery /0.0019/
+    wb       initial probability rate of discovery                  /0.05/
+    beta     marginal atmospheric retention rate                    /0.64/
+    catM     catastrophic carbon concentration                      /2059.0/
+    delta_M  carbon removal rate per decade                         /0.036/
+*    mtargM   target for carbon concentration                        /1025.00/
+    mtargM   target for carbon concentration                        /5000.00/
+    piE1     initial energy price in dirty economy                          /0.35/
+    piE2     initial energy price in clean economy                          /0.60/
+    rhop  discount rate /0.025/
+
+    prstp    initial rate of social time preference per year        /0.015/
+    dr       decline rate of social time preference per year        /0.000001/
+    rho      discount rate                                          /0.03/
+
+    L0       2005 world population (millions)                       /6409/
+    gL0      initial value for growth rate of population            /0.08/
+    dgL      rate of decrease for growth rate of population         /0.3/
+
+    scale1 scaling coefficient in objective function                /300/
+    scale2 scaling coefficient in objective function                /1.00E+07/
+
+*Scalaires calibres
+$include "input.txt";
+
+;
+
+*Initialisation des parametres
+Parameter L(t) labor - world population (millions);
+L(t) =  L0 * exp( (gl0/dgL)*(1-exp( -dgL*nbp(t) )) );
+
+Parameter r(t) instantaeous rate of social time preference;
+r(t)=prstp*EXP(-dr*10*(ord(t)-1));
+
+Parameter rr(t) average utility social discount rate;
+rr(tfirst)=1;
+loop(t, rr(t+1) = rr(t) / ((1+r(t))**10) );
+
+Parameter A(t) total factor productivity;
+A(tfirst) = 1.38734*A0;
+*loop(t, A(t+1) = A(t) / (1-gA0*exp(-dgA*10*nbp(t))) );
+A(t) = 1.38734*A0 * exp( (gA0/dgA)*(1-exp( -dgA*nbp(t) )) );
+
+Parameter phid(t) energy efficiency in the dirty economy;
+phid(t) = (phid0 * exp( (-gphid0/dgphid)*exp(-dgphid*(nbp(t)+1)) ) ) /
+          exp(-gphid0/dgphid);
+
+Parameter phic(t) energy efficiency in the clean economy;
+phic(t) = (phic0 * exp( (-gphic0/dgphic)*exp(-dgphic*(nbp(t)+1)) ) ) /
+          exp(-gphic0/dgphic);
+
+Parameter thetad(t) dirty energy elasticity in production function;
+thetad(t) = (thetad0 * exp( (gthetad0/dgthetad)*exp(-dgthetad*(nbp(t)+1)) ) ) /
+            exp(gthetad0/dgthetad);
+
+Parameter thetac(t) clean energy elasticity in production function;
+thetac(t) = (thetac0 * exp( (gthetac0/dgthetac)*exp(-dgthetac*(nbp(t)+1)) ) ) /
+            exp(gthetac0/dgthetac);
+
+Parameter EM(t) total emissions (over 10 years);
+EM(t) = 0;
+
+Parameter TK(t) total capital;
+TK(t) = 0;
+
+Parameter deltaalphaGDP(t) ecart courant entre GDP de DICE et GERAD;
+deltaalphaGDP(t) = 0;
+
+*Definition du modele
+Positive variables
+    C(t)  total consumption (trillion dollars)
+    ELF(t) economic loss factor (%)
+    E1(t) carbon emissions from the dirty economy (GtC)
+    E2(t) carbon emissions from the clean economy (GtC)
+    I1(t) investment in dirty capital K1 (trillion dollars)
+    I2(t) investment in clean capital K2 (trillion dollars)
+    K1(t) physical stock of dirty capital (trillion dollars)
+    K2(t) physical stock of clean capital (trillion dollars)
+    L1(t) labor for the dirty economy (millions)
+    L2(t) labor for the clean economy (millions)
+    M(t)  atmospheric carbon concentration
+    Y(t)  economic output (trillion dollars);
+
+Variables
+    PW(t)   welfare of current period
+    W2      total discounted welfare after the last jump (V_2-1-l);
+
+Equations
+    ALOCLABOR(t) compute allocation of total labor
+    CARBDYNAM(t) compute evolution of carbon concentrations
+    E1FIRST(t)    initial value for carbon emissions from dirty capital
+    E2FIRST(t)    initial value for carbon emissions from clean capital
+    ELFCOMP(t)   compute economic loss factor
+    I2MAX(t)      bound for investment on clean capital
+    K1ACCUMUL(t) compute dirty capital accumulation
+    K1FIRST(t)   initial value for dirty capital
+    K1LAST(t)    final value for dirty capital
+    K2ACCUMUL(t) compute clean capital accumulation
+    K2FIRST(t)   initial value for clean capital
+    K2LAST(t)    final value for clean capital
+    MFIRST(t)    initial value for carbon concentration
+    TARGETM(t)   impose cap on atmospheric carbon concentrations
+    TOTALCONS(t) compute total consumption
+    TOTALPROD(t) compute total production
+    PWEQ(t)      compute welfare of current period
+    WELFARE2     compute total welfare after the last jump;
+
+ALOCLABOR(t)..
+  L1(t) + L2(t) =l= L(t);
+
+CARBDYNAM(t+1)..
+  M(t+1) =e= beta*10*(E1(t)+E2(t)) + M(t)*(1-delta_M) + delta_M*590;
+
+MFIRST(tfirst)..
+* 2005 value around 385 ppmv = 808.8 GtC
+  M(tfirst) =e= 808.8;
+
+ELFCOMP(t)..
+  ELF(t) =e= 1;
+
+E1FIRST(tfirst)..
+* DICE-2007 value
+  E1(tfirst) =e= 6.7;
+
+E2FIRST(tfirst)..
+* 0.0001 of DICE-2007 value
+  E2(tfirst) =e= 0.00067;
+
+I2MAX(t)..
+  I2(t) =l= 0.97*Y(t);
+
+K1FIRST(tfirst)..
+  K1(tfirst) =e= 137.0;
+
+K1ACCUMUL(t)..
+  K1(t+1) =l= K1(t)*(1-dk)**10 + 10*I1(t);
+
+K1LAST(tlast)..
+  0.02*K1(tlast) =l= I1(tlast);
+
+K2FIRST(tfirst)..
+  K2(tfirst) =e= 0.0137;
+
+K2ACCUMUL(t)..
+  K2(t+1) =l= K2(t)*(1-dk)**10 + 10*I2(t);
+
+K2LAST(tlast)..
+  0.02*K2(tlast) =l= I2(tlast);
+
+TARGETM(t)..
+* Constraint is always active
+  M(t) =l= mtargM;
+
+TOTALPROD(t)..
+  Y(t) =e= A(t) * (
+  K1(t)**alphad * (phid(t)*E1(t))**thetad(t) * L1(t)**(1-alphad-thetad(t)) +
+  xi(t)*K2(t)**alphac * (phic(t)*E2(t))**thetac(t) * L2(t)**(1-alphac-thetac(t))
+                  );
+
+TOTALCONS(t)..
+  C(t) =e= Y(t) - I1(t) - I2(t) - piE1*phid(t)*E1(t) - piE2*phic(t)*E2(t);
+
+PWEQ(t)..
+  PW(t) =e= ( (ELF(t)*C(t)/L(t))**(1-elasmu) -1) / (1-elasmu);
+
+WELFARE2..
+  W2 =e= sum(t, 10*exp(-rho*nby(t))*L(t)*(PW(t))/scale1) + scale2 ;
+
+Model ECM /all/ ;
+ECM.OPTFILE =1;
+
+C.lo(t)    = 1;
+C.up(t)    = 1000;
+E1.lo(t)   = 0.0000001;
+E1.up(t)   = 500;
+E2.lo(t)   = 0.0000001;
+E2.up(t)   = 100;
+ELF.lo(t)  = 0.5;
+ELF.up(t)  = 1.0;
+I1.lo(t)   = 0.000000001;
+I1.up(t)   = 1000;
+I2.lo(t)   = 0.000000001;
+I2.up(t)   = 1000;
+K1.lo(t)   = 0.01;
+K1.up(t)   = 3000;
+K2.lo(t)   = 0.000000001;
+K2.up(t)   = 3000;
+L1.lo(t)   = 0.1;
+L1.up(t)   = 10000;
+L2.lo(t)   = 0.000000001;
+L2.up(t)   = 10000;
+M.lo(t)    = 300;
+M.up(t)    = 4000;
+Y.lo(t)    = 50;
+Y.up(t)    = 1000;
+
+option iterlim = 99900;
+option reslim = 99999;
+option solprint = off;
+option limrow = 0;
+option limcol = 0;
+
+Solve ECM using nlp maximising W2;
+
+EM(t) = E1.L(t)+E2.L(t);
+TK(t) = K1.L(t)+K2.L(t);
+
+deltaalphaGDP(t) = Y.L(t)-GDP(t);
+deltaGDP = sum ( subtGDP(t) , sqr(deltaalphaGDP(t)) );
+deltaem = sum ( subtem(t) , sqr(EM(t)-emissionB2(t)) );
+deltaalpha = deltaGDP / moyenneGDP  + deltaem / moyenneem ;
+
+file FOUT / output.txt /;
+put FOUT;
+put deltaalpha:13:6;
+putclose;
+
+
+
+
+
+
diff --git a/examples/interfaces/GAMS/ed.hup b/examples/interfaces/GAMS/ed.hup
index 4cce1c4..85bca40 100644
--- a/examples/interfaces/GAMS/ed.hup
+++ b/examples/interfaces/GAMS/ed.hup
@@ -1,13 +1,13 @@
-
-This example illustrates how to use NOMAD with a GAMS black-box problem.
-
-The example runs on windows.
-
-The GAMS program is located in file bb.gms.
-
-The source code is in bb.cpp: it is a C++ wrapper that calls GAMS.
-It can be compiled with visual C++ or minGW.
-
-The wrapper can be tested with the command 'bb.exe .\points\x0.txt'.
-
+
+This example illustrates how to use NOMAD with a GAMS black-box problem.
+
+The example runs on windows.
+
+The GAMS program is located in file bb.gms.
+
+The source code is in bb.cpp: it is a C++ wrapper that calls GAMS.
+It can be compiled with visual C++ or minGW.
+
+The wrapper can be tested with the command 'bb.exe .\points\x0.txt'.
+
 Once the wrapper is compiled, use nomad with the parameters file parameters.txt.
diff --git a/examples/interfaces/GAMS/lb.txt b/examples/interfaces/GAMS/lb.txt
index 542b27d..a45ca61 100644
--- a/examples/interfaces/GAMS/lb.txt
+++ b/examples/interfaces/GAMS/lb.txt
@@ -1,19 +1,19 @@
-2.25
-0.027
-0.09
-0.18
-0.27
-0.27
-0.09
-0.9
-0.13
-0.27
-4.5
-0.13
-0.27
-0.045
-0
-0.007
-0.045
-0
+2.25
+0.027
+0.09
+0.18
+0.27
+0.27
+0.09
+0.9
+0.13
+0.27
+4.5
+0.13
+0.27
+0.045
+0
+0.007
+0.045
+0
 0.007
\ No newline at end of file
diff --git a/examples/interfaces/GAMS/param.txt b/examples/interfaces/GAMS/param.txt
index 0c41dfa..aca6428 100644
--- a/examples/interfaces/GAMS/param.txt
+++ b/examples/interfaces/GAMS/param.txt
@@ -1,32 +1,32 @@
-#####
-#  NOMAD PARAMETERS  #
-####
-
-
-
-SEED NONE
-
-DIMENSION 19
-DISPLAY_DEGREE 1
-DISPLAY_STATS BBE OBJ
-
-BB_EXE bb.exe
-
-BB_OUTPUT_TYPE OBJ
-
-BB_INPUT_INCLUDE_SEED yes
-
-BB_INPUT_INCLUDE_TAG  yes
-
-
-
-
-x0          x0.txt
-lower_bound lb.txt
-
-upper_bound ub.txt
-
-
-
-
+#####
+#  NOMAD PARAMETERS  #
+####
+
+
+
+SEED NONE
+
+DIMENSION 19
+DISPLAY_DEGREE 1
+DISPLAY_STATS BBE OBJ
+
+BB_EXE bb.exe
+
+BB_OUTPUT_TYPE OBJ
+
+BB_INPUT_INCLUDE_SEED yes
+
+BB_INPUT_INCLUDE_TAG  yes
+
+
+
+
+x0          x0.txt
+lower_bound lb.txt
+
+upper_bound ub.txt
+
+
+
+
 MAX_BB_EVAL 10
\ No newline at end of file
diff --git a/examples/interfaces/GAMS/points/x0.txt b/examples/interfaces/GAMS/points/x0.txt
index d99f74e..d7b79a8 100644
--- a/examples/interfaces/GAMS/points/x0.txt
+++ b/examples/interfaces/GAMS/points/x0.txt
@@ -1,22 +1,22 @@
-0 0
+0 0
 2.5
-
+
 0.0302
-
-0.1
-0.2
-0.3
-0.3
-0.1
-1.0
-0.15
-0.3
-5.0
-0.15
-0.3
-0.05
-0
-0.008
-0.05
-0
+
+0.1
+0.2
+0.3
+0.3
+0.1
+1.0
+0.15
+0.3
+5.0
+0.15
+0.3
+0.05
+0
+0.008
+0.05
+0
 0.008
\ No newline at end of file
diff --git a/examples/interfaces/GAMS/points/x1.txt b/examples/interfaces/GAMS/points/x1.txt
index 1e6f158..d1a6bea 100644
--- a/examples/interfaces/GAMS/points/x1.txt
+++ b/examples/interfaces/GAMS/points/x1.txt
@@ -1,20 +1,20 @@
-0 0
-2.25
-0.027
-0.09
-0.18
-0.27
-0.27
-0.09
-0.9
-0.13
-0.27
-4.5
-0.13
-0.27
-0.045
-0
-0.007
-0.045
-0
+0 0
+2.25
+0.027
+0.09
+0.18
+0.27
+0.27
+0.09
+0.9
+0.13
+0.27
+4.5
+0.13
+0.27
+0.045
+0
+0.007
+0.045
+0
 0.007
\ No newline at end of file
diff --git a/examples/interfaces/GAMS/points/x2.txt b/examples/interfaces/GAMS/points/x2.txt
index 3242adc..bdf4951 100644
--- a/examples/interfaces/GAMS/points/x2.txt
+++ b/examples/interfaces/GAMS/points/x2.txt
@@ -1,25 +1,25 @@
-0 0
+0 0
 2.75
- 
-0.033
+ 
+0.033
 0.11
-
+
 0.22
- 
+ 
 0.33
-
+
 0.33
-  
-0.11
-1.1
-0.17
-0.33
-5.5
-0.17
-0.33
-0.055
-0.5
-0.009
-0.055
-0.5
+  
+0.11
+1.1
+0.17
+0.33
+5.5
+0.17
+0.33
+0.055
+0.5
+0.009
+0.055
+0.5
 0.009
\ No newline at end of file
diff --git a/examples/interfaces/GAMS/readme.txt b/examples/interfaces/GAMS/readme.txt
index 4cce1c4..390c172 100644
--- a/examples/interfaces/GAMS/readme.txt
+++ b/examples/interfaces/GAMS/readme.txt
@@ -1,13 +1,13 @@
-
-This example illustrates how to use NOMAD with a GAMS black-box problem.
-
-The example runs on windows.
-
-The GAMS program is located in file bb.gms.
-
-The source code is in bb.cpp: it is a C++ wrapper that calls GAMS.
-It can be compiled with visual C++ or minGW.
-
-The wrapper can be tested with the command 'bb.exe .\points\x0.txt'.
-
-Once the wrapper is compiled, use nomad with the parameters file parameters.txt.
+
+This example illustrates how to use NOMAD with a GAMS black-box problem.
+
+The example runs on windows.
+
+The GAMS program is located in file bb.gms.
+
+The source code is in bb.cpp: it is a C++ wrapper that calls GAMS.
+It can be compiled with visual C++ or minGW.
+
+The wrapper can be tested with the command 'bb.exe .\points\x0.txt'.
+
+Once the wrapper is compiled, use nomad with the parameters file parameters.txt.
diff --git a/examples/interfaces/GAMS/ub.txt b/examples/interfaces/GAMS/ub.txt
index 025836a..b543382 100644
--- a/examples/interfaces/GAMS/ub.txt
+++ b/examples/interfaces/GAMS/ub.txt
@@ -1,24 +1,24 @@
 2.75
- 
-0.033
+ 
+0.033
 0.11
-
+
 0.22
- 
+ 
 0.33
-
+
 0.33
-  
-0.11
-1.1
-0.17
-0.33
-5.5
-0.17
-0.33
-0.055
-0.5
-0.009
-0.055
-0.5
+  
+0.11
+1.1
+0.17
+0.33
+5.5
+0.17
+0.33
+0.055
+0.5
+0.009
+0.055
+0.5
 0.009
\ No newline at end of file
diff --git a/examples/interfaces/GAMS/x0.txt b/examples/interfaces/GAMS/x0.txt
index e82d42d..b6b3974 100644
--- a/examples/interfaces/GAMS/x0.txt
+++ b/examples/interfaces/GAMS/x0.txt
@@ -1,21 +1,21 @@
 2.5
-
+
 0.0302
-
-0.1
-0.2
-0.3
-0.3
-0.1
-1.0
-0.15
-0.3
-5.0
-0.15
-0.3
-0.05
-0
-0.008
-0.05
-0
+
+0.1
+0.2
+0.3
+0.3
+0.1
+1.0
+0.15
+0.3
+5.0
+0.15
+0.3
+0.05
+0
+0.008
+0.05
+0
 0.008
\ No newline at end of file
diff --git a/examples/interfaces/Matlab_MEX/Functions/nomad.m b/examples/interfaces/Matlab_MEX/Functions/nomad.m
index e2365b3..47e84f9 100644
--- a/examples/interfaces/Matlab_MEX/Functions/nomad.m
+++ b/examples/interfaces/Matlab_MEX/Functions/nomad.m
@@ -1,38 +1,38 @@
-% NOMAD  Solve a Global MINLP/NLP using NOMAD, a Blackbox Optimization Library
-%
-%   min f(x)      subject to:     nlcon(x) <= 0
-%    x                            lb <= x <= ub
-%                                 x in R
-%            
-%%%%%%%%%%%%% GERAD VERSION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%   [x,fval,exitflag,iter,nfval] = nomad(fun,x0,lb,ub,opts,param)
-%
-%   Input arguments:
-%       fun - nonlinear function handle (f and nlcon)
-%       x0 - initial solution guess
-%       lb - decision variable lower bounds
-%       ub - decision variable upper bounds
-%       opts - solver options (see nomadset)
-%       param - extra parameter passed to the blackbox function
-%
-%   Return arguments:
-%       x - solution vector
-%       fval - objective value at the solution (paretor front if bi-obj)
-%       exitflag - exit status (see below)
-%       iter - number of iterations taken by the solver
-%       nfval - number of function evaluations taken by the solver
-%
-%   Return Status:
-%       1 - converged / target reached
-%       0 - maximum iterations / function evaluations exceeded
-%      -1 - infeasible / mesh limit reached
-%      -2 - initialization error
-%      -3 - nomad error
-%      -5 - user exit
-%
-%
-%   NOMAD is released under the Lesser GNU Public License (LGPL).
-%   Type nomad('-info') to see license and author details.
-%
-%   MEX Interface Copyright (C) 2012 Jonathan Currie (I2C2)
+% NOMAD  Solve a Global MINLP/NLP using NOMAD, a Blackbox Optimization Library
+%
+%   min f(x)      subject to:     nlcon(x) <= 0
+%    x                            lb <= x <= ub
+%                                 x in R
+%            
+%%%%%%%%%%%%% GERAD VERSION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%   [x,fval,exitflag,iter,nfval] = nomad(fun,x0,lb,ub,opts,param)
+%
+%   Input arguments:
+%       fun - nonlinear function handle (f and nlcon)
+%       x0 - initial solution guess
+%       lb - decision variable lower bounds
+%       ub - decision variable upper bounds
+%       opts - solver options (see nomadset)
+%       param - extra parameter passed to the blackbox function
+%
+%   Return arguments:
+%       x - solution vector
+%       fval - objective value at the solution (paretor front if bi-obj)
+%       exitflag - exit status (see below)
+%       iter - number of iterations taken by the solver
+%       nfval - number of function evaluations taken by the solver
+%
+%   Return Status:
+%       1 - converged / target reached
+%       0 - maximum iterations / function evaluations exceeded
+%      -1 - infeasible / mesh limit reached
+%      -2 - initialization error
+%      -3 - nomad error
+%      -5 - user exit
+%
+%
+%   NOMAD is released under the Lesser GNU Public License (LGPL).
+%   Type nomad('-info') to see license and author details.
+%
+%   MEX Interface Copyright (C) 2012 Jonathan Currie (I2C2)
 %   Modified for GERAD version by C.Tribes
\ No newline at end of file
diff --git a/examples/interfaces/Matlab_MEX/Functions/nomadset.m b/examples/interfaces/Matlab_MEX/Functions/nomadset.m
index 19b7aa0..a7a91c1 100755
--- a/examples/interfaces/Matlab_MEX/Functions/nomadset.m
+++ b/examples/interfaces/Matlab_MEX/Functions/nomadset.m
@@ -1,343 +1,343 @@
-function options = nomadset(varargin)
-%NOMADSET  Create or alter the options for Optimization with NOMAD
-%
-% options = nomadset('param1',value1,'param2',value2,...) creates an
-% NOMAD options structure with the parameters 'param' set to their 
-% corresponding values in 'value'. Parameters not specified will be set to 
-% the NOMAD default.
-%
-% options = nomadset(oldopts,'param1',value1,...) creates a copy of the old
-% options 'oldopts' and then fills in (or writes over) the parameters
-% specified by 'param' and 'value'.
-%
-% options = nomadset() creates an options structure with all fields set to
-% NOMADSET defaults.
-%
-% nomadset() prints a list of all possible fields and their function.
-
-%   Copyright (C) 2012 Jonathan Currie (I2C2)
-% modif CT june 12, 2014 --->�version 1.22_ct
-%Valid direction types
-global dirtypes
-dirtypes = {'ortho 1','ortho 2','ortho n+1','ortho n+1 quad','ortho n+1 neg','ortho','ortho 2n','lt 1','lt 2','lt 2n','lt n+1','gps binary','gps 2n static',...
-            'gps 2n rand','gps n+1 static uniform','gps n+1 static','gps n+1 rand uniform','gps n+1 rand'};
-
-% Print out possible values of properties.
-if (nargin == 0) && (nargout == 0)
-    printfields();
-    return
-end
-
-%Names and Defaults
-Names = {'bb_input_type','bb_output_type','direction_type','f_target','initial_mesh_size','lh_search','max_bb_eval','bb_max_block_size',...
-         'max_time','model_eval_sort','model_search','multi_nb_mads_runs','multi_overall_bb_eval','opportunistic_eval','opportunistic_lh','seed','vns_search',...
-         'cache_search','h_max_0','h_min','h_norm','initial_mesh_index','l_curve_target','max_cache_memory','max_consecutive_failed_iterations',...
-         'max_eval','max_iterations','max_mesh_index','max_sim_bb_eval','mesh_coarsening_exponent','mesh_refining_exponent','mesh_update_basis',...
-         'min_mesh_size','min_poll_size','model_eval_sort_cautious','model_search_max_trial_pts','model_search_optimistic','model_search_proj_to_mesh',...
-         'model_quad_max_y_size','model_quad_min_y_size','model_quad_radius_factor','model_quad_use_wp','multi_f_bounds','multi_formulation','multi_use_delta_crit',...
-         'neighbors_mat','opportunistic_cache_search','opportunistic_lucky_eval','opportunistic_min_eval','opportunistic_min_f_imprvmt','opportunistic_min_nb_success','rho','scaling','sec_poll_dir_type',...
-         'snap_to_bounds','speculative_search','stat_sum_target','stop_if_feasible','add_seed_to_file_names','cache_file','cache_save_period','display_degree','display_all_eval',...
-         'history_file','solution_file','stats_file','param_file','iterfun','disable','epsilon','opt_only_sgte','sgte_cost','sgte_eval_sort','has_sgte',...
-         'sgte_cache_file','max_sgte_eval','anisotropic_mesh','fixed_variable'}';
-Defaults = {[],[],[],[],[],[],[],1,...%bb_max_block_size
-            [],1,1,[],[],1,1,[],0,... %vns_search
-            0,1e20,[],'L2',[],[],2000,[],...%max_consecutive_failed_iterations
-            [],[],[],[],1,-1,4,... %mesh_update_basis
-            [],[],1,4,1,1,... %model_search_proj_to_mesh
-            [],500,2,0,[],'product',0,...%multi_use_delta_crit
-            [],0,0,[],[],[],0.1,[],[],...%sec_poll_dir_type
-            1,1,[],0,1,[],25,0,0,... %display_all_eval
-            [],[],[],[],[],[],1e-13,0,[],1,0,...%has_sgte
-            [],[],1,''}';        
-
-%Collect Sizes and lowercase matches         
-m = size(Names,1); numberargs = nargin;
-%Create structure with all names and default values
-st = [Names,Defaults]'; options = struct(st{:});
-
-% Check we have char or structure input. If structure, insert arguments
-i = 1;
-while i <= numberargs
-    arg = varargin{i};
-    if ischar(arg)
-        break;
-    end
-    if ~isempty(arg)
-        if ~isa(arg,'struct')
-            error('An argument was supplied that wasn''t a string or struct!');
-        end
-        for j = 1:m
-            if any(strcmp(fieldnames(arg),Names{j,:}))
-                val = arg.(Names{j,:});
-            else
-                val = [];
-            end
-            if(~isempty(val))
-                checkfield(Names{j,:},val);
-                options.(Names{j,:}) = val;
-            end
-        end
-    end
-    i = i + 1;
-end
-
-%Check we have even number of args left
-if rem(numberargs-i+1,2) ~= 0
-    error('You do not have a value specified for each field!');
-end
-
-%Go through each argument pair and assign to correct field
-expectval = 0; %first arg is a name
-while i <= numberargs
-    arg = varargin{i};
-
-    switch(expectval)
-        case 0 %field
-            if ~ischar(arg)
-                error('Expected field name to be a string! - Argument %d',i);
-            end
-            j = find(strcmp(arg,Names) == 1);
-            if isempty(j)  % if no matches
-                error('Unrecognised parameter %s',arg);
-            elseif(length(j) > 1)
-                error('Ambiguous parameter %s',arg);
-            end
-            expectval = 1; %next arg is a value
-        case 1
-            if(~isempty(arg))
-                if(iscell(arg))
-                    checkfield(Names{j,:},arg);
-                    options.(Names{j,:}) = arg;
-                else
-                    if(ischar(arg)), arg = lower(arg); end
-                    checkfield(Names{j,:},arg);
-                    options.(Names{j,:}) = arg;
-                end
-            end
-            expectval = 0;
-    end
-    i = i + 1;
-end
-
-if expectval %fallen off end somehow
-    error('Missing value for %s',arg);
-end
-%Ensure we have absolute path
-if(~isempty(options.param_file))
-    options = checkParamFile(options);
-end
-
-
-function checkfield(field,value)
-%Check a field contains correct data type
-global dirtypes
-err = [];
-
-switch lower(field)   
-    %Scalar double
-    case {'f_target','max_bb_eval','bb_max_block_size','max_time','model_eval_sort',...
-         'model_search','multi_nb_mads_runs','multi_overall_bb_eval','opportunistic_eval','opportunistic_lh','seed','vns_search',...
-         'cache_search','h_max_0','h_min','initial_mesh_index','l_curve_target','max_cache_memory','max_consecutive_failed_iterations',...
-         'max_eval','max_iterations','max_mesh_index','max_sim_bb_eval','mesh_coarsening_exponent','mesh_refining_exponent','mesh_update_basis',...
-         'model_eval_sort_cautious','model_search_max_trial_pts','model_search_optimistic','model_search_proj_to_mesh',...
-         'model_quad_max_y_size','model_quad_min_y_size','model_quad_radius_factor','model_quad_use_wp','multi_use_delta_crit',...
-         'opportunistic_cache_search','opportunistic_lucky_eval','opportunistic_min_f_imprvmnt','opportunistic_min_nb_success','rho',...
-         'snap_to_bounds','speculative_search','stat_sum_target','stop_if_feasible','add_seed_to_file_names','cache_save_period','display_degree',...
-         'display_all_eval','has_sgte','sgte_cost','sgte_eval_sort','opt_only_sgte','epsilon','max_sgte_eval','anisotropic_mesh'}
-        if(~isscalar(value) || ~isnumeric(value) || ~isreal(value) || ~isa(value,'double'))
-            err = MException('NOMAD:SetFieldError','Parameter ''%s'' should be a real scalar double',field);
-        end
-    
-    %Direction Type
-    case {'direction_type','sec_poll_dir_type'}
-        if(~ischar(value) || ~any(strcmp(value,dirtypes)))
-            err = MException('NOMAD:SetFieldError','Parameter ''%s'' should match one of those displayed by nomadset()',field);
-        end   
-        
-    %Disable
-    case 'disable'
-        if(~ischar(value) || ~any(strcmp(value,{'models'})))
-            err = MException('NOMAD:SetFieldError','Parameter ''%s'' should be one of {''models''}',field);
-        end 
-    
-    %String
-    case {'cache_file','history_file','solution_file','stats_file','param_file','multi_formulation','h_norm',...
-          'lh_search','multi_f_bounds','sgte_cache_file'}
-        if(~ischar(value))
-            err = MException('NOMAD:SetFieldError','Parameter ''%s'' should be a char array (string)',field);
-        end 
-     
-    %string or cell of strings
-    case {'bb_output_type','bb_input_type','initial_mesh_size','min_mesh_size','min_poll_size','scaling','fixed_variable'}
-        if(~ischar(value) && ~iscell(value))
-            err = MException('NOMAD:SetFieldError','Parameter ''%s'' should be a string or cell array of strings',field);
-        elseif(iscell(value))
-            for i = 1:numel(value)
-                if(~ischar(value{i}))
-                    err = MException('NOMAD:SetFieldError','Parameter ''%s'' cell(%d) should be a string',field,i);
-                    break;
-                end
-            end
-        end
-    
-    %function_handle
-    case {'iterfun','neighbors_mat'}
-        if(~isa(value,'function_handle'))  % C.Tribes june 12, 2014 ~isa instead of isa
-            err = MException('NOMAD:SetFieldError','Parameter ''%s'' should be a function handle',field);
-        end
-        
-    otherwise  
-        err = MException('OPTI:SetFieldError','Unrecognized parameter name ''%s''.', field);
-end
-if(~isempty(err)), throw(err); end
-
-
-function opts = checkParamFile(opts)
-%Check parameter file exists and collect absolute path
-filename = opts.param_file;
-%See if we got an absolute path
-switch(computer)
-    case {'PCWIN','PCWIN64'}
-        if(~isempty(strfind(filename,':')))
-            p = filename;
-            %Check it exists
-            if(exist(filename,'file') ~= 2)
-                error('Cannot locate absolute file %s!',filename);
-            end
-        else
-            p = which(filename);
-            %Check it exists
-            if(isempty(p))
-                error('Cannot locate file %s!',filename);
-            end
-        end
-    otherwise %Linux / Mac
-        if(filename(1) == '/') %absolute path (I think)
-            p = filename;
-            %Check it exists
-            if(exist(filename,'file') ~= 2)
-                error('Cannot locate absolute file %s!',filename);
-            end
-        else
-            p = which(filename);
-            %Check it exists
-            if(isempty(p))
-                error('Cannot locate file %s!',filename);
-            end
-        end
-end
-%Save full path
-opts.param_file = p;
-
-
-function printfields()
-%Print out fields with defaults
-
-global dirtypes
-
-fprintf('\nBASIC PROBLEM PARAMETERS:\n');
-fprintf('              bb_input_type: [ Blackbox input types, specified as a cell array of strings, overwrites xtype {[]} ] \n');
-fprintf('             bb_output_type: [ Blackbox output types, specified as a cell array of strings (see below) ] \n');
-
-fprintf('\nBASIC ALGORITHMIC PARAMETERS:\n');
-fprintf('             direction_type: [ Type of directions for the poll (see below) {''ortho n+1 quad''} ] \n');
-fprintf('                   f_target: [ Stop if f(x) < ftarget {[]} ] \n');
-fprintf('          initial_mesh_size: [ Initial Mesh Size (del_0^m) {[]} ]\n');
-fprintf('                  lh_search: [ Latin-Hypercube Search (po and pi) {[]} ]\n');
-fprintf('                max_bb_eval: [ Maximum number of blackbox evaluations {[]} ] \n');
-fprintf('                   max_time: [ Maximum execution time {[]} ] \n');
-
-fprintf('\nADVANCED ALGORITHMIC PARAMETERS:\n');
-fprintf('           anisotropic_mesh: [ Use anisotropic mesh: No (0), Yes (1) = Default ] \n');
-fprintf('          bb_max_block_size: [ Maximum size of a block of evaluations given to the blackbox function {1} \n');
-fprintf('               cache_search: [ Use Cache search: Off {0}, On (1) ] \n');
-fprintf('                    disable: [ Forcefully disable NOMAD features {[]} ] \n');
-fprintf('             fixed_variable: [ Fixed variable provided as ( 0.0 - 0.0 ) -> variables 0 and 2 are fixed; or as  1-10 0.0 -> variable 1 to 10 are fixed to 0.0 {[]} \n');
-fprintf('                    h_max_0: [ Initial value of hmax {1e20} ] \n');
-fprintf('                      h_min: [ x is feasible if h(x) >= v {0.0} ] \n');
-fprintf('                     h_norm: [ Norm used to compute h: ''L1'', {''L2''}, ''Linf'' ] \n');
-fprintf('                   has_sgte: [ Indicates if the problem has a surrogate function: No {0}, Yes {1} ] \n');
-fprintf('         initial_mesh_index: [ Initial Mesh Index {0} ] \n');
-fprintf('             l_curve_target: [ NOMAD terminates if objective may not reach this value {[]} ] \n');
-fprintf('           max_cache_memory: [ Maximum cache memory {2000} MB ] \n');
-fprintf(' max_consecutive_failed_iterations: [ Maximum number of failed MADS iterations {[]} ] \n');
-fprintf('                   max_eval: [ Maximum number of evaluations (includes cache and bb) {[]} ] \n');
-fprintf('             max_iterations: [ Maximum number of iterations {[]} ] \n');
-fprintf('             max_mesh_index: [ Maximum Mesh Index {[]} ] \n');
-fprintf('              max_sgte_eval: [ Maximum Number of Surrogate Evaluations {[]} ] \n');
-fprintf('            max_sim_bb_eval: [ Maximum Simulated BB evaluations {[]} ] \n');
-fprintf('   mesh_coarsening_exponent: [ Mesh Coarsening Exponent {1} ] \n');
-fprintf('     mesh_refining_exponent: [ Mesh Refining Exponent {-1} ] \n');
-fprintf('          mesh_update_basis: [ Mesh Update Basis {4} ] \n');
-fprintf('              min_mesh_size: [ Minimum Mesh Size (del_min^m) {[]} ] \n');
-fprintf('              min_poll_size: [ Minimum Poll Size (del_min^p) {[]} ] \n');
-fprintf('            model_eval_sort: [ Use Quadratic Model to order points: Off (0), On {1} ] \n');
-fprintf('               model_search: [ Use Quadratic Model searches: Off (0), On {1} ] \n');
-fprintf('    model_search_optimistic: [ If the model search is optimistic : No (0), Yes {1} ] \n');
-fprintf('             multi_f_bounds: [ Vector of [f1min, f1max, f2min, f2max] for biobjective surf calculation {[]} ] \n');
-fprintf('         multi_nb_mads_runs: [ Number of MADS runs in Biobjective Optimization {[]} ] \n');
-fprintf('      multi_overall_bb_eval: [ Maximum number of BB evals for all MADS runs {[]} ] \n');
-fprintf('              neighbors_mat: [ Matlab function handle to obtain the neighboring points (use with categorical variables) {[]} ] \n');
-fprintf(' opportunistic_cache_search: [ Opportunistic cache search: Off {0}, On (1) ] \n');
-fprintf('         opportunistic_eval: [ Opportunistic strategy: Off (0), On {1} ] \n');
-fprintf('           opportunistic_lh: [ Opportunistic strategy for LH search: Off {0}, On (1)] \n');
-fprintf('     opportunistic_min_eval: [ Do not terminate below i evaluations {[]} ] \n');
-fprintf('                        rho: [ Parameter of the progressive barrier {0.1} ] \n');
-fprintf('                    scaling: [ Scaling on the variables (vector of scaling values for each variable) {[]} ] \n');
-fprintf('                       seed: [ Random Seed: {[]} ] \n');
-fprintf('                  sgte_cost: [ The cost of c surrogate evaluations is equivalent to one blackbox evaluation: {[]} ] \n');
-fprintf('             sgte_eval_sort: [ If surrogates are used to sort list of trial points: Off (0), On {1} ] \n');
-fprintf('             snap_to_bounds: [ Snap to boundary trial points that are generated outside of bounds: No (0), Yes {1} ] \n');
-fprintf('         speculative_search: [ MADS speculative search: No (0), Yes {1} ] \n');
-fprintf('            stat_sum_target: [ Terminates if stat_sum reaches this value {[]} ] \n');
-fprintf('           stop_if_feasible: [ Stop on first feasible solution: Off {0}, On (1) ] \n');
-fprintf('                 vns_search: [ Variable Neighbourhood Search (Multiple Minima Problems): Off {0.0}, Max Searches (1.0) ] \n');
-
-
-fprintf('\nDEVELOPER PARAMETERS:\n');
-fprintf('                    epsilon: [ Precision on real numbers {1e-13} ]\n');
-fprintf('   model_eval_sort_cautious: [ If the model ordering strategy is cautious: No (0), Yes {1} ] \n');
-fprintf(' model_search_max_trial_pts: [ Maximum trial points for one model search {4} ] \n');
-fprintf('  model_search_proj_to_mesh: [ If model search trial points are projected to mesh: No (0), Yes {1} ] \n');
-fprintf('      model_quad_max_y_size: [ Upper limit on the size of interpolation sets for quadratic models {500} ] \n');
-fprintf('      model_quad_min_y_size: [ Inf limit on the size of interpolation sets for quadratic models {[]} ] \n');
-fprintf('   model_quad_radius_factor: [ Quadratic Model search radius factor {2.0} ] \n');
-fprintf('          model_quad_use_wp: [ Enable strategy to maintain well-poised quadratic models: Off {0}, On (1) ] \n');
-fprintf('          multi_formulation: [ Single objective reformulation: ''normalized'', {''product''}, ''dist_l1'', ''dist_l2'', ''dist_linf'' ] \n');
-fprintf('       multi_use_delta_crit: [ Use stopping criterion based on the delta criterion: Off {0}, On (1) ] \n');
-fprintf('   opportunistic_lucky_eval: [ Perform an additional BB eval after an improvement: Off {0}, On (1) ] \n');
-fprintf(' opportunistic_min_f_imprvmt: [ Terminate only if f is reduced by r%% {[]} ] \n');
-fprintf('opportunistic_min_nb_success: [ Do not terminate before i successes {[]} ] \n');
-fprintf('              opt_only_sgte: [ Minimize only with surrogates: No {0}, Yes (1) ]\n');
-fprintf('          sec_poll_dir_type: [ Type of directions for the secondary poll (see below) {[]} ] \n');
-
-fprintf('\nOUTPUT PARAMETERS:\n');
-fprintf('     add_seed_to_file_names: [ If the seed is added to the output file names: Off (0), On {1} ]\n');
-fprintf('                 cache_file: [ Cache file: Off {[]}, On ''filename'' ]\n');
-fprintf('          cache_save_period: [ Cache files are saved every i iterations: {25} ]\n');
-fprintf('             display_degree: [ Display level: None {0}, Increasing (>0) ] \n');
-fprintf('           display_all_eval: [ Display all Points: Off {0}, On (1) ] \n');
-fprintf('               history_file: [ File containing all trial points: Off {[]}, On ''filename'' ]\n');
-fprintf('              solution_file: [ File to save the current best feasible point: Off {[]}, On ''filename'' ]\n');
-fprintf('                 stats_file: [ File for screen dump: Off {[]}, On ''filename'' ]\n');
-fprintf('            sgte_cache_file: [ Surrogate cache file: Off {[]}, On ''filename'' ]\n');
-
-fprintf('\nMEX INTERFACE PARAMETERS:\n');
-fprintf('                 param_file: [ Read NOMAD options from a parameters file (overwrites these options): Off {[]}, On ''filename'' ]\n');
-fprintf('                    iterfun: [ Callback function run every function evaluation: Off {[]}, On function_handle ]\n');
-
-
-fprintf('\n\nValid Direction Types (string):\n');
-for i = 1:length(dirtypes)
-    fprintf('''%s''\n',dirtypes{i});
-end
-fprintf('\nValid BB_OUTPUT_TYPE types (cell array of strings):\n');
-fprintf('OBJ: Objective\n');
-fprintf(' PB: Progressive Barrier (default constraint type)\n');
-fprintf(' EB: Extreme Barrier\n');
-fprintf('PEB: Hybrid Constraint (PB/EB)\n');
-fprintf('  F: Filter\n');
-
-
-
-
+function options = nomadset(varargin)
+%NOMADSET  Create or alter the options for Optimization with NOMAD
+%
+% options = nomadset('param1',value1,'param2',value2,...) creates an
+% NOMAD options structure with the parameters 'param' set to their 
+% corresponding values in 'value'. Parameters not specified will be set to 
+% the NOMAD default.
+%
+% options = nomadset(oldopts,'param1',value1,...) creates a copy of the old
+% options 'oldopts' and then fills in (or writes over) the parameters
+% specified by 'param' and 'value'.
+%
+% options = nomadset() creates an options structure with all fields set to
+% NOMADSET defaults.
+%
+% nomadset() prints a list of all possible fields and their function.
+
+%   Copyright (C) 2012 Jonathan Currie (I2C2)
+% modif CT june 12, 2014 --->�version 1.22_ct
+%Valid direction types
+global dirtypes
+dirtypes = {'ortho 1','ortho 2','ortho n+1','ortho n+1 quad','ortho n+1 neg','ortho','ortho 2n','lt 1','lt 2','lt 2n','lt n+1','gps binary','gps 2n static',...
+            'gps 2n rand','gps n+1 static uniform','gps n+1 static','gps n+1 rand uniform','gps n+1 rand'};
+
+% Print out possible values of properties.
+if (nargin == 0) && (nargout == 0)
+    printfields();
+    return
+end
+
+%Names and Defaults
+Names = {'bb_input_type','bb_output_type','direction_type','f_target','initial_mesh_size','lh_search','max_bb_eval','bb_max_block_size',...
+         'max_time','model_eval_sort','model_search','multi_nb_mads_runs','multi_overall_bb_eval','opportunistic_eval','opportunistic_lh','seed','vns_search',...
+         'cache_search','h_max_0','h_min','h_norm','initial_mesh_index','l_curve_target','max_cache_memory','max_consecutive_failed_iterations',...
+         'max_eval','max_iterations','max_mesh_index','max_sim_bb_eval','mesh_coarsening_exponent','mesh_refining_exponent','mesh_update_basis',...
+         'min_mesh_size','min_poll_size','model_eval_sort_cautious','model_search_max_trial_pts','model_search_optimistic','model_search_proj_to_mesh',...
+         'model_quad_max_y_size','model_quad_min_y_size','model_quad_radius_factor','model_quad_use_wp','multi_f_bounds','multi_formulation','multi_use_delta_crit',...
+         'neighbors_mat','opportunistic_cache_search','opportunistic_lucky_eval','opportunistic_min_eval','opportunistic_min_f_imprvmt','opportunistic_min_nb_success','rho','scaling','sec_poll_dir_type',...
+         'snap_to_bounds','speculative_search','stat_sum_target','stop_if_feasible','add_seed_to_file_names','cache_file','cache_save_period','display_degree','display_all_eval',...
+         'history_file','solution_file','stats_file','param_file','iterfun','disable','epsilon','opt_only_sgte','sgte_cost','sgte_eval_sort','has_sgte',...
+         'sgte_cache_file','max_sgte_eval','anisotropic_mesh','fixed_variable'}';
+Defaults = {[],[],[],[],[],[],[],1,...%bb_max_block_size
+            [],1,1,[],[],1,1,0,0,... %vns_search
+            0,1e20,[],'L2',[],[],2000,[],...%max_consecutive_failed_iterations
+            [],[],[],[],1,-1,4,... %mesh_update_basis
+            [],[],0,10,1,1,... %model_search_proj_to_mesh
+            [],[],2,0,[],'product',0,...%multi_use_delta_crit
+            [],0,0,[],[],-1,0.1,[],[],...%sec_poll_dir_type
+            1,1,[],0,1,[],25,2,0,... %display_all_eval
+            [],[],[],[],[],[],1e-13,0,[],1,0,...%has_sgte
+            [],[],1,''}';        
+
+%Collect Sizes and lowercase matches         
+m = size(Names,1); numberargs = nargin;
+%Create structure with all names and default values
+st = [Names,Defaults]'; options = struct(st{:});
+
+% Check we have char or structure input. If structure, insert arguments
+i = 1;
+while i <= numberargs
+    arg = varargin{i};
+    if ischar(arg)
+        break;
+    end
+    if ~isempty(arg)
+        if ~isa(arg,'struct')
+            error('An argument was supplied that wasn''t a string or struct!');
+        end
+        for j = 1:m
+            if any(strcmp(fieldnames(arg),Names{j,:}))
+                val = arg.(Names{j,:});
+            else
+                val = [];
+            end
+            if(~isempty(val))
+                checkfield(Names{j,:},val);
+                options.(Names{j,:}) = val;
+            end
+        end
+    end
+    i = i + 1;
+end
+
+%Check we have even number of args left
+if rem(numberargs-i+1,2) ~= 0
+    error('You do not have a value specified for each field!');
+end
+
+%Go through each argument pair and assign to correct field
+expectval = 0; %first arg is a name
+while i <= numberargs
+    arg = varargin{i};
+
+    switch(expectval)
+        case 0 %field
+            if ~ischar(arg)
+                error('Expected field name to be a string! - Argument %d',i);
+            end
+            j = find(strcmp(arg,Names) == 1);
+            if isempty(j)  % if no matches
+                error('Unrecognised parameter %s',arg);
+            elseif(length(j) > 1)
+                error('Ambiguous parameter %s',arg);
+            end
+            expectval = 1; %next arg is a value
+        case 1
+            if(~isempty(arg))
+                if(iscell(arg))
+                    checkfield(Names{j,:},arg);
+                    options.(Names{j,:}) = arg;
+                else
+                    if(ischar(arg)), arg = lower(arg); end
+                    checkfield(Names{j,:},arg);
+                    options.(Names{j,:}) = arg;
+                end
+            end
+            expectval = 0;
+    end
+    i = i + 1;
+end
+
+if expectval %fallen off end somehow
+    error('Missing value for %s',arg);
+end
+%Ensure we have absolute path
+if(~isempty(options.param_file))
+    options = checkParamFile(options);
+end
+
+
+function checkfield(field,value)
+%Check a field contains correct data type
+global dirtypes
+err = [];
+
+switch lower(field)   
+    %Scalar double
+    case {'f_target','max_bb_eval','bb_max_block_size','max_time','model_eval_sort',...
+         'model_search','multi_nb_mads_runs','multi_overall_bb_eval','opportunistic_eval','opportunistic_lh','seed','vns_search',...
+         'cache_search','h_max_0','h_min','initial_mesh_index','l_curve_target','max_cache_memory','max_consecutive_failed_iterations',...
+         'max_eval','max_iterations','max_mesh_index','max_sim_bb_eval','mesh_coarsening_exponent','mesh_refining_exponent','mesh_update_basis',...
+         'model_eval_sort_cautious','model_search_max_trial_pts','model_search_optimistic','model_search_proj_to_mesh',...
+         'model_quad_max_y_size','model_quad_min_y_size','model_quad_radius_factor','model_quad_use_wp','multi_use_delta_crit',...
+         'opportunistic_cache_search','opportunistic_lucky_eval','opportunistic_min_f_imprvmnt','opportunistic_min_nb_success','rho',...
+         'snap_to_bounds','speculative_search','stat_sum_target','stop_if_feasible','add_seed_to_file_names','cache_save_period','display_degree',...
+         'display_all_eval','has_sgte','sgte_cost','sgte_eval_sort','opt_only_sgte','epsilon','max_sgte_eval','anisotropic_mesh'}
+        if(~isscalar(value) || ~isnumeric(value) || ~isreal(value) || ~isa(value,'double'))
+            err = MException('NOMAD:SetFieldError','Parameter ''%s'' should be a real scalar double',field);
+        end
+    
+    %Direction Type
+    case {'direction_type','sec_poll_dir_type'}
+        if(~ischar(value) || ~any(strcmp(value,dirtypes)))
+            err = MException('NOMAD:SetFieldError','Parameter ''%s'' should match one of those displayed by nomadset()',field);
+        end   
+        
+    %Disable
+    case 'disable'
+        if(~ischar(value) || ~any(strcmp(value,{'models'})))
+            err = MException('NOMAD:SetFieldError','Parameter ''%s'' should be one of {''models''}',field);
+        end 
+    
+    %String
+    case {'cache_file','history_file','solution_file','stats_file','param_file','multi_formulation','h_norm',...
+          'lh_search','multi_f_bounds','sgte_cache_file'}
+        if(~ischar(value))
+            err = MException('NOMAD:SetFieldError','Parameter ''%s'' should be a char array (string)',field);
+        end 
+     
+    %string or cell of strings
+    case {'bb_output_type','bb_input_type','initial_mesh_size','min_mesh_size','min_poll_size','scaling','fixed_variable'}
+        if(~ischar(value) && ~iscell(value))
+            err = MException('NOMAD:SetFieldError','Parameter ''%s'' should be a string or cell array of strings',field);
+        elseif(iscell(value))
+            for i = 1:numel(value)
+                if(~ischar(value{i}))
+                    err = MException('NOMAD:SetFieldError','Parameter ''%s'' cell(%d) should be a string',field,i);
+                    break;
+                end
+            end
+        end
+    
+    %function_handle
+    case {'iterfun','neighbors_mat'}
+        if(~isa(value,'function_handle'))  % C.Tribes june 12, 2014 ~isa instead of isa
+            err = MException('NOMAD:SetFieldError','Parameter ''%s'' should be a function handle',field);
+        end
+        
+    otherwise  
+        err = MException('OPTI:SetFieldError','Unrecognized parameter name ''%s''.', field);
+end
+if(~isempty(err)), throw(err); end
+
+
+function opts = checkParamFile(opts)
+%Check parameter file exists and collect absolute path
+filename = opts.param_file;
+%See if we got an absolute path
+switch(computer)
+    case {'PCWIN','PCWIN64'}
+        if(~isempty(strfind(filename,':')))
+            p = filename;
+            %Check it exists
+            if(exist(filename,'file') ~= 2)
+                error('Cannot locate absolute file %s!',filename);
+            end
+        else
+            p = which(filename);
+            %Check it exists
+            if(isempty(p))
+                error('Cannot locate file %s!',filename);
+            end
+        end
+    otherwise %Linux / Mac
+        if(filename(1) == '/') %absolute path (I think)
+            p = filename;
+            %Check it exists
+            if(exist(filename,'file') ~= 2)
+                error('Cannot locate absolute file %s!',filename);
+            end
+        else
+            p = which(filename);
+            %Check it exists
+            if(isempty(p))
+                error('Cannot locate file %s!',filename);
+            end
+        end
+end
+%Save full path
+opts.param_file = p;
+
+
+function printfields()
+%Print out fields with defaults
+
+global dirtypes
+
+fprintf('\nBASIC PROBLEM PARAMETERS:\n');
+fprintf('              bb_input_type: [ Blackbox input types, specified as a cell array of strings, overwrites xtype {[]} ] \n');
+fprintf('             bb_output_type: [ Blackbox output types, specified as a cell array of strings (see below) ] \n');
+
+fprintf('\nBASIC ALGORITHMIC PARAMETERS:\n');
+fprintf('             direction_type: [ Type of directions for the poll (see below) {''ortho n+1 quad''} ] \n');
+fprintf('                   f_target: [ Stop if f(x) < ftarget {[]} ] \n');
+fprintf('          initial_mesh_size: [ Initial Mesh Size (del_0^m) {[]} ]\n');
+fprintf('                  lh_search: [ Latin-Hypercube Search (po and pi) {[]} ]\n');
+fprintf('                max_bb_eval: [ Maximum number of blackbox evaluations {[]} ] \n');
+fprintf('                   max_time: [ Maximum execution time {[]} ] \n');
+
+fprintf('\nADVANCED ALGORITHMIC PARAMETERS:\n');
+fprintf('           anisotropic_mesh: [ Use anisotropic mesh: No (0), Yes (1) = Default ] \n');
+fprintf('          bb_max_block_size: [ Maximum size of a block of evaluations given to the blackbox function {1} \n');
+fprintf('               cache_search: [ Use Cache search: Off {0}, On (1) ] \n');
+fprintf('                    disable: [ Forcefully disable NOMAD features {[]} ] \n');
+fprintf('             fixed_variable: [ Fixed variable provided as ( 0.0 - 0.0 ) -> variables 0 and 2 are fixed; or as  1-10 0.0 -> variable 1 to 10 are fixed to 0.0 {[]} \n');
+fprintf('                    h_max_0: [ Initial value of hmax {1e20} ] \n');
+fprintf('                      h_min: [ x is feasible if h(x) >= v {0.0} ] \n');
+fprintf('                     h_norm: [ Norm used to compute h: ''L1'', {''L2''}, ''Linf'' ] \n');
+fprintf('                   has_sgte: [ Indicates if the problem has a surrogate function: No {0}, Yes {1} ] \n');
+fprintf('         initial_mesh_index: [ Initial Mesh Index {0} ] \n');
+fprintf('             l_curve_target: [ NOMAD terminates if objective may not reach this value {[]} ] \n');
+fprintf('           max_cache_memory: [ Maximum cache memory {2000} MB ] \n');
+fprintf(' max_consecutive_failed_iterations: [ Maximum number of failed MADS iterations {[]} ] \n');
+fprintf('                   max_eval: [ Maximum number of evaluations (includes cache and bb) {[]} ] \n');
+fprintf('             max_iterations: [ Maximum number of iterations {[]} ] \n');
+fprintf('             max_mesh_index: [ Maximum Mesh Index {[]} ] \n');
+fprintf('              max_sgte_eval: [ Maximum Number of Surrogate Evaluations {[]} ] \n');
+fprintf('            max_sim_bb_eval: [ Maximum Simulated BB evaluations {[]} ] \n');
+fprintf('   mesh_coarsening_exponent: [ Mesh Coarsening Exponent {1} ] \n');
+fprintf('     mesh_refining_exponent: [ Mesh Refining Exponent {-1} ] \n');
+fprintf('          mesh_update_basis: [ Mesh Update Basis {4} ] \n');
+fprintf('              min_mesh_size: [ Minimum Mesh Size (del_min^m) {[]} ] \n');
+fprintf('              min_poll_size: [ Minimum Poll Size (del_min^p) {[]} ] \n');
+fprintf('            model_eval_sort: [ Use Quadratic Model to order points: Off (0), On {1} ] \n');
+fprintf('               model_search: [ Use Quadratic Model searches: Off (0), On {1} ] \n');
+fprintf('    model_search_optimistic: [ If the model search is optimistic : No (0), Yes {1} ] \n');
+fprintf('             multi_f_bounds: [ Vector of [f1min, f1max, f2min, f2max] for biobjective surf calculation {[]} ] \n');
+fprintf('         multi_nb_mads_runs: [ Number of MADS runs in Biobjective Optimization {[]} ] \n');
+fprintf('      multi_overall_bb_eval: [ Maximum number of BB evals for all MADS runs {[]} ] \n');
+fprintf('              neighbors_mat: [ Matlab function handle to obtain the neighboring points (use with categorical variables) {[]} ] \n');
+fprintf(' opportunistic_cache_search: [ Opportunistic cache search: Off {0}, On (1) ] \n');
+fprintf('         opportunistic_eval: [ Opportunistic strategy: Off (0), On {1} ] \n');
+fprintf('           opportunistic_lh: [ Opportunistic strategy for LH search: Off {0}, On (1)] \n');
+fprintf('     opportunistic_min_eval: [ Do not terminate below i evaluations {[]} ] \n');
+fprintf('                        rho: [ Parameter of the progressive barrier {0.1} ] \n');
+fprintf('                    scaling: [ Scaling on the variables (vector of scaling values for each variable) {[]} ] \n');
+fprintf('                       seed: [ Random Seed: {[]} ] \n');
+fprintf('                  sgte_cost: [ The cost of c surrogate evaluations is equivalent to one blackbox evaluation: {[]} ] \n');
+fprintf('             sgte_eval_sort: [ If surrogates are used to sort list of trial points: Off (0), On {1} ] \n');
+fprintf('             snap_to_bounds: [ Snap to boundary trial points that are generated outside of bounds: No (0), Yes {1} ] \n');
+fprintf('         speculative_search: [ MADS speculative search: No (0), Yes {1} ] \n');
+fprintf('            stat_sum_target: [ Terminates if stat_sum reaches this value {[]} ] \n');
+fprintf('           stop_if_feasible: [ Stop on first feasible solution: Off {0}, On (1) ] \n');
+fprintf('                 vns_search: [ Variable Neighbourhood Search (Multiple Minima Problems): Off {0.0}, Max Searches (1.0) ] \n');
+
+
+fprintf('\nDEVELOPER PARAMETERS:\n');
+fprintf('                    epsilon: [ Precision on real numbers {1e-13} ]\n');
+fprintf('   model_eval_sort_cautious: [ If the model ordering strategy is cautious: No {0}, Yes (1) ] \n');
+fprintf(' model_search_max_trial_pts: [ Maximum trial points for one model search {4} ] \n');
+fprintf('  model_search_proj_to_mesh: [ If model search trial points are projected to mesh: No (0), Yes {1} ] \n');
+fprintf('      model_quad_max_y_size: [ Upper limit on the size of interpolation sets for quadratic models {500} ] \n');
+fprintf('      model_quad_min_y_size: [ Inf limit on the size of interpolation sets for quadratic models {[]} ] \n');
+fprintf('   model_quad_radius_factor: [ Quadratic Model search radius factor {2.0} ] \n');
+fprintf('          model_quad_use_wp: [ Enable strategy to maintain well-poised quadratic models: Off {0}, On (1) ] \n');
+fprintf('          multi_formulation: [ Single objective reformulation: ''normalized'', {''product''}, ''dist_l1'', ''dist_l2'', ''dist_linf'' ] \n');
+fprintf('       multi_use_delta_crit: [ Use stopping criterion based on the delta criterion: Off {0}, On (1) ] \n');
+fprintf('   opportunistic_lucky_eval: [ Perform an additional BB eval after an improvement: Off {0}, On (1) ] \n');
+fprintf(' opportunistic_min_f_imprvmt: [ Terminate only if f is reduced by r%% {[]} ] \n');
+fprintf('opportunistic_min_nb_success: [ Do not terminate before i successes {[]} ] \n');
+fprintf('              opt_only_sgte: [ Minimize only with surrogates: No {0}, Yes (1) ]\n');
+fprintf('          sec_poll_dir_type: [ Type of directions for the secondary poll (see below) {[]} ] \n');
+
+fprintf('\nOUTPUT PARAMETERS:\n');
+fprintf('     add_seed_to_file_names: [ If the seed is added to the output file names: Off (0), On {1} ]\n');
+fprintf('                 cache_file: [ Cache file: Off {[]}, On ''filename'' ]\n');
+fprintf('          cache_save_period: [ Cache files are saved every i iterations: {25} ]\n');
+fprintf('             display_degree: [ Display level: None {0}, Increasing (>0) ] \n');
+fprintf('           display_all_eval: [ Display all Points: Off {0}, On (1) ] \n');
+fprintf('               history_file: [ File containing all trial points: Off {[]}, On ''filename'' ]\n');
+fprintf('              solution_file: [ File to save the current best feasible point: Off {[]}, On ''filename'' ]\n');
+fprintf('                 stats_file: [ File for screen dump: Off {[]}, On ''filename'' ]\n');
+fprintf('            sgte_cache_file: [ Surrogate cache file: Off {[]}, On ''filename'' ]\n');
+
+fprintf('\nMEX INTERFACE PARAMETERS:\n');
+fprintf('                 param_file: [ Read NOMAD options from a parameters file (overwrites these options): Off {[]}, On ''filename'' ]\n');
+fprintf('                    iterfun: [ Callback function run every function evaluation: Off {[]}, On function_handle ]\n');
+
+
+fprintf('\n\nValid Direction Types (string):\n');
+for i = 1:length(dirtypes)
+    fprintf('''%s''\n',dirtypes{i});
+end
+fprintf('\nValid BB_OUTPUT_TYPE types (cell array of strings):\n');
+fprintf('OBJ: Objective\n');
+fprintf(' PB: Progressive Barrier (default constraint type)\n');
+fprintf(' EB: Extreme Barrier\n');
+fprintf('PEB: Hybrid Constraint (PB/EB)\n');
+fprintf('  F: Filter\n');
+
+
+
+
diff --git a/examples/interfaces/Matlab_MEX/GERAD_NOMAD_build.m b/examples/interfaces/Matlab_MEX/GERAD_NOMAD_build.m
index f827e8e..2f30425 100644
--- a/examples/interfaces/Matlab_MEX/GERAD_NOMAD_build.m
+++ b/examples/interfaces/Matlab_MEX/GERAD_NOMAD_build.m
@@ -1,167 +1,175 @@
-%% GERAD NOMAD Build for Matlab
-
-% This file will help you compile NOMAD for use with MATLAB. 
-
-% To recompile you will need to get / do the following:
-
-% 1) Get NOMAD
-% NOMAD is available from https://www.gerad.ca/nomad
-% Complete the download form then download the latest version. Define the
-% $NOMAD_HOME environment variable.
-
-% 2) Start Matlab and go into $NOMAD_HOME/examples/interfaces/Matlab_Mex
-% The NOMAD MEX Interface is a simple MEX interface written to use NOMAD.
-
-% 3) Compile the MEX File by executing this file in Matlab
-%
-%
-% The code below will build the NOMAD MEX file and set the Matlab path. 
-
-clear nomad
-
-% Current directory
-cdir = cd;
-
-% Check and set nomad_home and create variables for path
-clear nomad_home nomad_src;
-
-% Default values
-nameLibNomad = '';
-updateLDFLAGS= '';
-install_name_tool='';
-
-if ( strcmp(computer,'PCWIN64') == 1 || strcmp(computer,'PCWIN32') == 1 )
-
-    nomad_home = getenv('NOMAD_EXAMPLES');
-
-    if ( length(nomad_home) > 1)
-        nomad_home = [ nomad_home '\VisualStudio' ];
-        warning('The nomad_home variable for Matlab is set to %s (that is NOMAD_EXAMPLES\\VisualStudio).The default can be replaced by using the command setenv(''NOMAD_EXAMPLES'',ARG1)! before running the GERAD_NOMAD_build command.',nomad_home);
-        if ( ~isempty( find(isspace(nomad_home),1) ) )
-            error('The compilation of Nomad for Matlab must be performed in the NOMAD_EXAMPLES directory. The NOMAD_EXAMPLES directory should not contain empty space. Please consider moving the NOMAD_EXAMPLES directory and reset the NOMAD_EXAMPLES environment variable accordingly.');
-        end
-        
-    else
-        cd ..
-        cd .. 
-        cd ..
-        cd 'VisualStudio';    
-        nomad_home = cd; 
-    
-        if ( ~ exist(nomad_home,'dir') )
-            error('The default NOMAD_EXAMPLES\VisualStudio directory does not exist. Please make sure that a VisualStudio directory exists.');
-        end
-        
-        cd(cdir);
-    end
-      
-    nomad_src=[nomad_home filesep 'src' filesep];
-    nomad_bin=[nomad_home filesep 'bin' filesep];
-    nomad_lib='';
-
-    %Compile & Move (Windows) ---> recompile Nomad
-    post = [' -I.  -I' nomad_src ' -lut -output ' nomad_bin filesep 'nomad.' mexext];
-    pre = ['mex -v -largeArrayDims nomadmex.cpp ' nomad_src 'Parameters.cpp ' nomad_src 'Barrier.cpp ' nomad_src 'Cache.cpp '...
-    nomad_src 'Cache_File_Point.cpp ' nomad_src 'Cache_Point.cpp ' nomad_src 'Cache_Search.cpp ' nomad_src 'Clock.cpp '...
-    nomad_src 'Direction.cpp ' nomad_src 'Directions.cpp ' nomad_src 'Display.cpp '...
-    nomad_src 'Double.cpp ' nomad_src 'Eval_Point.cpp ' nomad_src 'Evaluator.cpp ' nomad_src 'Evaluator_Control.cpp ' nomad_src 'Exception.cpp '...
-    nomad_src 'Extended_Poll.cpp ' nomad_src 'L_Curve.cpp ' nomad_src 'LH_Search.cpp ' nomad_src 'OrthogonalMesh.cpp ' nomad_src 'Mads.cpp ' nomad_src 'Model_Sorted_Point.cpp '...
-    nomad_src 'Model_Stats.cpp ' nomad_src 'Multi_Obj_Evaluator.cpp ' nomad_src 'Parameter_Entries.cpp '...
-    nomad_src 'Parameter_Entry.cpp ' nomad_src 'Pareto_Front.cpp ' nomad_src 'Pareto_Point.cpp ' nomad_src 'Phase_One_Evaluator.cpp '...
-    nomad_src 'Phase_One_Search.cpp ' nomad_src 'Point.cpp ' nomad_src 'Priority_Eval_Point.cpp ' nomad_src 'Quad_Model.cpp '...
-    nomad_src 'Quad_Model_Evaluator.cpp ' nomad_src 'Quad_Model_Search.cpp ' nomad_src 'Random_Pickup.cpp ' nomad_src 'RNG.cpp '...
-    nomad_src 'Signature.cpp ' nomad_src 'Slave.cpp ' nomad_src 'SMesh.cpp ' nomad_src 'Speculative_Search.cpp ' nomad_src 'Stats.cpp ' nomad_src 'utils.cpp '...
-    nomad_src 'Variable_Group.cpp ' nomad_src 'VNS_Search.cpp ' nomad_src 'XMesh.cpp'];
-
-
-else
-    %%%%%%%%%%%%%%%%%%%%%%%
-    % LINUX AND OSX
-    %%%%%%%%%%%%%%%%%%%%%%%
-    
-    % Default library names
-    nameLibNomad = 'libnomad.so';
-
-    % Default update LDFLAGS (linux only)
-    updateLDFLAGS= '';
-    % Post compilation tool for path to library (osx only)
-    install_name_tool='';
-
-    nomad_home = getenv('NOMAD_HOME');
-
-    if ( length(nomad_home) < 1 )
-        % Get a default directory for NOMAD_HOME
-        cd ..
-        cd .. 
-        cd ..
-        nomad_home = cd; 
-        if ( ~ exist(nomad_home,'dir') )
-            error('The default NOMAD_HOME directory does not exist. Please provide a correct value for the NOMAD_HOME variables with the command setenv(''NOMAD_HOME'',ARG1)');
-        end
-        warning('The NOMAD_HOME variable for Matlab is set with its default value %s. The default can be replaced by using the command setenv(''NOMAD_HOME'',ARG1)! before running the GERAD_NOMAD_build command.',nomad_home);
-        cd(cdir);
-    else
-        if ( ~isempty( find(isspace(nomad_home),1) ) )
-            error('The compilation of Nomad for Matlab uses the sources located in the NOMAD_HOME directory. The NOMAD_HOME directory should not contain empty space. Please consider moving the NOMAD_HOME directory and reset the NOMAD_HOME environment variable accordingly.');
-        end
-    end
-      
-    nomad_src=[nomad_home filesep 'src' filesep];
-    nomad_lib=[nomad_home filesep 'lib' filesep];
-    nomad_bin=[nomad_home filesep 'bin' filesep]; 
-    
-    switch(computer)
-        case 'GLNX86'
-            updateLDFLAGS = 'LDFLAGS=''$LDFLAGS -Wl,-rpath,''''$ORIGIN/../lib/'''' '' ';
-        case 'GLNXA64'
-            updateLDFLAGS = 'LDFLAGS=''$LDFLAGS -Wl,-rpath,''''$ORIGIN/../lib/'''' '' ';
-        case 'MACI64'
-            install_name_tool=['install_name_tool -change ' nameLibNomad ' @loader_path/../lib/' nameLibNomad ' ' nomad_bin filesep 'nomad.' mexext];
-    end
-   
-    %Compile & Move (Default) --> use shared object library
-    post = [' -I.  -I' nomad_src ' -lut -lnomad -L' nomad_lib ' -output ' nomad_bin filesep 'nomad.' mexext ];
-    pre =[ 'mex -v -largeArrayDims nomadmex.cpp ' updateLDFLAGS ];
-    
-    if ( ~ exist([nomad_lib filesep nameLibNomad],'file') )
-        error('The Nomad library file %s is not available. Please perform Nomad project compilation before proceeding.',nameLibNomad);      
-    end
-    
-end
-    
-
-fprintf('\n------------------------------------------------\n');
-fprintf('NOMAD MEX FILE BUILD --- GERAD VERSION \n\n');
-
-%CD to Source Directory
-cd 'Source';
-
-try
-
-    if ( ~ exist([nomad_lib filesep nameLibNomad],'file') )
-        error('The Nomad library file %s is not available. Please perform Nomad project compilation before proceeding.',nameLibNomad);      
-    end
-
-    eval([pre post])
-    
-    if ( strcmp(computer,'MACI64') == 1 )
-        system(install_name_tool);
-    end
-    
-    cd(cdir);
-    fprintf('Compilation done!\n');
-    fprintf('\n----------------------------------------------------------------------------------------------\n');
-    fprintf(' To be able to use the nomad functions, you may need to modify the Matlab path \n');
-    qstring = 'To be able to use the nomad functions, you may need to modify the Matlab path. Do you want to update the Matlab path?';
-    choice = questdlg(qstring,'Set path','Yes','No','Yes');
-    if ( strcmp(choice,'Yes') )
-        addpath([ cdir filesep 'Functions']);
-        addpath(nomad_bin);
-        fprintf('  ---> The Matlab path has been modified but not saved.\n');
-    end
-    clear nomad_home nomad_lib nomad_bin nomad_src cdir post pre updateLDFLAGS qstring choice install_name_tool nameLibNomad;
-catch ME
-    cd(cdir);
-	clear nomad_home nomad_lib noamd_bin nomad_src cdir post pre updateLDFLAGS qstring choice install_name_tool nameLibNomad;
-    error('Error Compiling NOMAD!\n%s',ME.message);
-end
+%% GERAD NOMAD Build for Matlab
+
+% This file will help you compile NOMAD for use with MATLAB. 
+
+% To recompile you will need to get / do the following:
+
+% 1) Get NOMAD
+% NOMAD is available from https://www.gerad.ca/nomad
+% Complete the download form then download the latest version. Define the
+% $NOMAD_HOME environment variable.
+
+% 2) Start Matlab and go into $NOMAD_HOME/examples/interfaces/Matlab_Mex
+% The NOMAD MEX Interface is a simple MEX interface written to use NOMAD.
+
+% 3) Compile the MEX File by executing this file in Matlab
+%
+%
+% The code below will build the NOMAD MEX file and set the Matlab path. 
+
+clear nomad
+
+% Current directory
+cdir = cd;
+
+% Check and set nomad_home and create variables for path
+clear nomad_home nomad_src nomad_src_sgtelib;
+
+% Default values
+nameLibNomad = '';
+updateLDFLAGS= '';
+install_name_tool='';
+
+if ( strcmp(computer,'PCWIN64') == 1 || strcmp(computer,'PCWIN32') == 1 )
+
+    nomad_home = getenv('NOMAD_EXAMPLES');
+
+    if ( length(nomad_home) > 1)
+        nomad_home = [ nomad_home '\VisualStudio' ];
+        warning('The nomad_home variable for Matlab is set to %s (that is NOMAD_EXAMPLES\\VisualStudio).The default can be replaced by using the command setenv(''NOMAD_EXAMPLES'',ARG1)! before running the GERAD_NOMAD_build command.',nomad_home);
+        if ( ~isempty( find(isspace(nomad_home),1) ) )
+            error('The compilation of Nomad for Matlab must be performed in the NOMAD_EXAMPLES directory. The NOMAD_EXAMPLES directory should not contain empty space. Please consider moving the NOMAD_EXAMPLES directory and reset the NOMAD_EXAMPLES environment variable accordingly.');
+        end
+        
+    else
+        cd ..
+        cd .. 
+        cd ..
+        cd 'VisualStudio';    
+        nomad_home = cd; 
+    
+        if ( ~ exist(nomad_home,'dir') )
+            error('The default NOMAD_EXAMPLES\VisualStudio directory does not exist. Please make sure that a VisualStudio directory exists.');
+        end
+        
+        cd(cdir);
+    end
+      
+    nomad_src=[nomad_home filesep 'src' filesep];
+    nomad_src_sgtelib=[nomad_home filesep 'src_sgtelib' filesep];
+    nomad_bin=[nomad_home filesep 'bin' filesep];
+    nomad_lib='';
+
+    %Compile & Move (Windows) ---> recompile Nomad and sgtelib
+    post = [' -I.  -I' nomad_src ' -I' nomad_src_sgtelib ' -lut -output ' nomad_bin filesep 'nomad.' mexext];
+    pre = ['mex -v -largeArrayDims nomadmex.cpp ' nomad_src 'Parameters.cpp ' nomad_src 'Barrier.cpp ' nomad_src 'Cache.cpp '...
+    nomad_src 'Cache_File_Point.cpp ' nomad_src 'Cache_Point.cpp ' nomad_src 'Cache_Search.cpp ' nomad_src 'Clock.cpp '...
+    nomad_src 'Direction.cpp ' nomad_src 'Directions.cpp ' nomad_src 'Display.cpp '...
+    nomad_src 'Double.cpp ' nomad_src 'Eval_Point.cpp ' nomad_src 'Evaluator.cpp ' nomad_src 'Evaluator_Control.cpp ' nomad_src 'Exception.cpp '...
+    nomad_src 'Extended_Poll.cpp ' nomad_src 'GMesh.cpp ' nomad_src 'L_Curve.cpp ' nomad_src 'LH_Search.cpp ' nomad_src 'OrthogonalMesh.cpp ' nomad_src 'Mads.cpp ' nomad_src 'Model_Sorted_Point.cpp '...
+    nomad_src 'Model_Stats.cpp ' nomad_src 'Multi_Obj_Evaluator.cpp ' nomad_src 'Parameter_Entries.cpp '...
+    nomad_src 'Parameter_Entry.cpp ' nomad_src 'Pareto_Front.cpp ' nomad_src 'Pareto_Point.cpp ' nomad_src 'Phase_One_Evaluator.cpp '...
+    nomad_src 'Phase_One_Search.cpp ' nomad_src 'Point.cpp ' nomad_src 'Priority_Eval_Point.cpp ' nomad_src 'Quad_Model.cpp '...
+    nomad_src 'Sgtelib_Model_Evaluator.cpp ' nomad_src 'Sgtelib_Model_Search.cpp ' nomad_src 'Sgtelib_Model_Manager.cpp ' ...
+    nomad_src 'Quad_Model_Evaluator.cpp ' nomad_src 'Quad_Model_Search.cpp ' nomad_src 'Random_Pickup.cpp ' nomad_src 'RNG.cpp '...
+    nomad_src 'Signature.cpp ' nomad_src 'Slave.cpp ' nomad_src 'SMesh.cpp ' nomad_src 'Speculative_Search.cpp ' nomad_src 'Stats.cpp ' nomad_src 'utils.cpp '...
+    nomad_src 'Variable_Group.cpp ' nomad_src 'VNS_Search.cpp ' nomad_src 'XMesh.cpp ' ...
+    nomad_src_sgtelib 'Kernel.cpp ' nomad_src_sgtelib 'Surrogate_Ensemble.cpp ' nomad_src_sgtelib 'Surrogate_LOWESS.cpp	'...
+    nomad_src_sgtelib 'Surrogate_Parameters.cpp	' nomad_src_sgtelib 'TrainingSet.cpp ' nomad_src_sgtelib 'Matrix.cpp '...
+    nomad_src_sgtelib 'Surrogate_Factory.cpp ' nomad_src_sgtelib 'Surrogate_PRS.cpp ' nomad_src_sgtelib 'Surrogate_RBF.cpp '...
+    nomad_src_sgtelib 'sgtelib.cpp ' nomad_src_sgtelib 'Surrogate.cpp ' nomad_src_sgtelib 'Surrogate_KS.cpp ' nomad_src_sgtelib 'Surrogate_PRS_CAT.cpp '...
+    nomad_src_sgtelib 'Surrogate_Utils.cpp ' nomad_src_sgtelib 'sgtelib_help.cpp '  nomad_src_sgtelib 'Surrogate_CN.cpp ' ...
+    nomad_src_sgtelib 'Surrogate_Kriging.cpp '  nomad_src_sgtelib 'Surrogate_PRS_EDGE.cpp ' nomad_src_sgtelib 'Tests.cpp ' ];
+
+else
+    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+    % LINUX AND OSX  ---> use dynamic libraries
+    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+    
+    % Default library names
+    nameLibNomad = 'libnomad.so';
+
+    % Default update LDFLAGS (linux only)
+    updateLDFLAGS= '';
+    % Post compilation tool for path to library (osx only)
+    install_name_tool='';
+
+    nomad_home = getenv('NOMAD_HOME');
+
+    if ( length(nomad_home) < 1 )
+        % Get a default directory for NOMAD_HOME
+        cd ..
+        cd .. 
+        cd ..
+        nomad_home = cd; 
+        if ( ~ exist(nomad_home,'dir') )
+            error('The default NOMAD_HOME directory does not exist. Please provide a correct value for the NOMAD_HOME variables with the command setenv(''NOMAD_HOME'',ARG1)');
+        end
+        warning('The NOMAD_HOME variable for Matlab is set with its default value %s. The default can be replaced by using the command setenv(''NOMAD_HOME'',ARG1)! before running the GERAD_NOMAD_build command.',nomad_home);
+        cd(cdir);
+    else
+        if ( ~isempty( find(isspace(nomad_home),1) ) )
+            error('The compilation of Nomad for Matlab uses the sources located in the NOMAD_HOME directory. The NOMAD_HOME directory should not contain empty space. Please consider moving the NOMAD_HOME directory and reset the NOMAD_HOME environment variable accordingly.');
+        end
+    end
+      
+    nomad_src=[nomad_home filesep 'src' filesep];
+    sgtelib_src=[nomad_home filesep 'ext' filesep 'sgtelib' filesep 'src'];
+    nomad_lib=[nomad_home filesep 'lib' filesep];
+    nomad_bin=[nomad_home filesep 'bin' filesep]; 
+    
+    switch(computer)
+        case 'GLNX86'
+            updateLDFLAGS = 'LDFLAGS=''$LDFLAGS -Wl,-rpath,''''$ORIGIN/../lib/'''' -Wl,-rpath-link,''''../lib/'''' '' ';
+        case 'GLNXA64'
+            updateLDFLAGS = 'LDFLAGS=''$LDFLAGS -Wl,-rpath,''''$ORIGIN/../lib/'''' -Wl,-rpath-link,''''../lib/'''' '' ';
+        case 'MACI64'
+            install_name_tool=['install_name_tool -change ' nameLibNomad ' @loader_path/../lib/' nameLibNomad ' ' nomad_bin filesep 'nomad.' mexext];
+    end
+   
+    %Compile & Move (Default) --> use shared object library
+    post = [' -I.  -I' nomad_src ' -I' sgtelib_src ' -lut -lnomad -L' nomad_lib ' -output ' nomad_bin filesep 'nomad.' mexext ];
+    pre =[ 'mex -v -largeArrayDims nomadmex.cpp ' updateLDFLAGS ];
+    
+    if ( ~ exist([nomad_lib filesep nameLibNomad],'file') )
+        error('The Nomad library file %s is not available. Please perform Nomad project compilation before proceeding.',nameLibNomad);      
+    end
+    
+end
+    
+
+fprintf('\n------------------------------------------------\n');
+fprintf('NOMAD MEX FILE BUILD --- GERAD VERSION \n\n');
+
+%CD to Source Directory
+cd 'Source';
+
+try
+
+    if ( ~ exist([nomad_lib filesep nameLibNomad],'file') )
+        error('The Nomad library file %s is not available. Please perform Nomad project compilation before proceeding.',nameLibNomad);      
+    end
+
+    eval([pre post])
+    
+    if ( strcmp(computer,'MACI64') == 1 )
+        system(install_name_tool);
+    end
+    
+    cd(cdir);
+    fprintf('Compilation done!\n');
+    fprintf('\n----------------------------------------------------------------------------------------------\n');
+    fprintf(' To be able to use the nomad functions, you may need to modify the Matlab path \n');
+    qstring = 'To be able to use the nomad functions, you may need to modify the Matlab path. Do you want to update the Matlab path?';
+    choice = questdlg(qstring,'Set path','Yes','No','Yes');
+    if ( strcmp(choice,'Yes') )
+        addpath([ cdir filesep 'Functions']);
+        addpath(nomad_bin);
+        fprintf('  ---> The Matlab path has been modified but not saved.\n');
+    end
+    clear nomad_home nomad_lib nomad_bin nomad_src cdir post pre updateLDFLAGS qstring choice install_name_tool nameLibNomad;
+catch ME
+    cd(cdir);
+	clear nomad_home nomad_lib nomad_bin nomad_src cdir post pre updateLDFLAGS qstring choice install_name_tool nameLibNomad;
+    error('Error Compiling NOMAD!\n%s',ME.message);
+end
diff --git a/examples/interfaces/Matlab_MEX/Source/nomadmex.cpp b/examples/interfaces/Matlab_MEX/Source/nomadmex.cpp
index e96f29e..cfeeafa 100755
--- a/examples/interfaces/Matlab_MEX/Source/nomadmex.cpp
+++ b/examples/interfaces/Matlab_MEX/Source/nomadmex.cpp
@@ -1,1754 +1,1762 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*	               Charles Audet        - Ecole Polytechnique de Montreal              */
-/*	               Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*	               Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  MEX Interface Author: Jonathan Currie 2012 (I2C2) + modifs C. Tribes               */
-/*                                                                                     */
-/*  MEX Interface Contact information:                                                 */
-/*    jocurrie@aut.ac.nz                                                               */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
-
-#define NOMADMEX_VERSION "1.25_ct  [Sept 3rd, 2015]"
-//NOTE from Version 1.15 on this MEX file contains a dual interface:
-
-// 1) The default (GERAD) interface is:
-//      [x,fval,exitflag,iter] = nomad(fun,x0,lb,ub,opts)
-
-// 2) Otherwise if OPTI_VERSION is defined it will compile the OPTI Toolbox interface:
-//      [x,fval,exitflag,iter] = nomad(fun,x0,lb,ub,nlcon,nlrhs,xtype,opts)
-
-// Both contain near identical functionality, except the GERAD version includes nonlinear
-// constraints with the objective (blackbox) function. The OPTI version separates them,
-// and allows a user specified rhs. The OPTI version also rounds x0 for integer constraints.
-
-#include "mex.h"
-#include "nomad.hpp"
-#include "defines.hpp"
-#include <stdio.h>
-#include <string.h>
-
-using namespace std;
-
-
-//Function handle structure
-#define FLEN 128 /* max length of user function name */
-#define MAXRHS 4 /* max nrhs for user function */
-typedef struct {
-    char f[FLEN];
-    mxArray *plhs[1];
-    mxArray *prhs[MAXRHS];
-    int xrhs, nrhs;
-    double *nlrhs;
-} usrFcn;
-
-typedef struct {
-    char f[FLEN];
-    mxArray *plhs[1];
-    mxArray *prhs[2];
-    bool enabled;
-} neighborsFcn;
-
-
-//Iteration callback structure
-typedef struct {
-    char f[FLEN];
-    mxArray *plhs[1];
-    mxArray *prhs[4];
-    bool enabled;
-} iter_fun_data;
-
-//Ctrl-C Detection
-#ifdef __cplusplus
-extern "C" bool utIsInterruptPending();
-extern "C" void utSetInterruptPending(bool);
-#else
-extern bool utIsInterruptPending();
-extern void utSetInterruptPending(bool);
-#endif
-
-//Argument Enums (in expected order of arguments)
-#ifdef OPTI_VERSION
-enum {eFUN, eX0, eLB, eUB, eNLCON, eNLRHS, eXTYPE, eOPTS, ePARAM};
-#else //GERAD VERSION
-enum {eFUN, eX0, eLB, eUB, eOPTS, ePARAM};
-enum {eNLCON, eNLRHS, eXTYPE}; //placeholders
-#endif
-//PRHS Defines
-#define pFUN    prhs[eFUN]
-#define pX0     prhs[eX0]
-#define pLB     prhs[eLB]
-#define pUB     prhs[eUB]
-#define pNLCON  prhs[eNLCON]
-#define pNLRHS  prhs[eNLRHS]
-#define pXTYPE  prhs[eXTYPE]
-#define pOPTS   prhs[eOPTS]
-#define pParam  prhs[ePARAM]
-
-//Function Prototypes
-void printSolverInfo();
-int checkInputs(const mxArray *prhs[], int nrhs, mxArray *plhs[], int nlhs);
-vector<NOMAD::bb_input_type> detInTypes(char *xtype, size_t n);
-vector<NOMAD::bb_output_type> detRetTypes(usrFcn *fun, mxArray *out_types, int *nobj, usrFcn *con, int *ncon, double *x0, size_t n);
-void setNOMADopts(NOMAD::Parameters &p, const mxArray *opts);
-bool isNMDOption(const char *field);
-NOMAD::bb_output_type getOutEnum(char *str);
-void lower(char *str);
-double getStatus(int stat);
-
-
-// Matlab Extended_Poll Class
-/*--------------------------------------------------*/
-/*  Class to define categorical neighborhoods  */
-/*--------------------------------------------------*/
-class Matlab_Extended_Poll : public NOMAD::Extended_Poll
-{
-    
-private:
-    
-    // signatures for 1 asset:
-    NOMAD::Signature * _s1;
-    
-    neighborsFcn * _neighbors;
-    
-    
-public:
-    
-    Matlab_Extended_Poll ( NOMAD::Parameters & p , neighborsFcn * neighbors );
-    
-    virtual ~Matlab_Extended_Poll ( void ){}
-    
-    // construct the extended poll points:
-    virtual void construct_extended_points ( const NOMAD::Eval_Point & );
-    
-};
-
-/*-----------------------------------------*/
-/*  constructor: creates the 3 signatures  */
-/*-----------------------------------------*/
-Matlab_Extended_Poll::Matlab_Extended_Poll ( NOMAD::Parameters & p , neighborsFcn * neighbors)
-: Extended_Poll ( p    ) ,
-_s1           ( NULL ),
-_neighbors    ( neighbors )
-{
-    _s1 = p.get_signature();
-    
-}
-
-/*--------------------------------------*/
-/*  construct the extended poll points  */
-/*      (categorical neighborhoods)     */
-/*--------------------------------------*/
-void Matlab_Extended_Poll::construct_extended_points ( const NOMAD::Eval_Point & x )
-{
-    double *xm;
-    char errstr[1024];
-    
-    if ( !x.is_complete() )
-    {
-        mexWarnMsgTxt("construct_extended_points:  bad extended poll center\n%sExiting NOMAD...\n\n");
-        //Force exit
-        raise(SIGINT);
-    }
-    
-    
-    xm = mxGetPr( _neighbors->prhs[1] );
-    int n=_s1->get_n();
-    
-    for(int i=0;i<n;i++)
-        xm[i] = x[i].value();
-    
-    //Call MATLAB neighbors
-    try
-    {
-        mexCallMATLAB(1, _neighbors->plhs, 2, _neighbors->prhs, _neighbors->f);
-    }
-    //Note if these errors occur it is due to errors in MATLAB code, no way to recover?
-    catch(exception &e)
-    {
-        sprintf(errstr,"Unrecoverable Error from neighbors callback:\n%sExiting NOMAD...\n\n",e.what());
-        mexWarnMsgTxt(errstr);
-        //Force exit
-        raise(SIGINT);
-    }
-    catch(...)
-    {
-        mexWarnMsgTxt("Unrecoverable Error from neighbors callback, Exiting NOMAD...\n\n");
-        //Force exit
-        raise(SIGINT);
-    }
-    
-    
-    int nbNPoints=static_cast<int>(mxGetNumberOfElements(_neighbors->plhs[0])/n);
-    double *xr=mxGetPr(_neighbors->plhs[0]);
-    
-    for(int i=0;i<nbNPoints;i++)
-    {
-        NOMAD::Point nPoint(n);
-        
-        for(int j=0;j<n;j++)
-            nPoint[j]=xr[i+j*nbNPoints];
-        
-        add_extended_poll_point(nPoint , *_s1 );
-    }
-    
-}
-
-
-//MATLAB Evaluator Class
-class matlabEval : public NOMAD::Evaluator
-{
-private:
-    usrFcn *fun;
-    bool hasSur;
-    // bool hasAdditionalParam;
-    int nobj;
-    usrFcn *con;
-    int ncon;
-    iter_fun_data *iterF;
-    int citer;
-    
-public:
-    //Constructor
-    matlabEval(const NOMAD::Parameters &p, usrFcn *_obj, int _nobj, usrFcn *_con, int _ncon, iter_fun_data *_iterF) : NOMAD::Evaluator(p)
-    {
-        fun     = _obj;
-        hasSur  = p.has_sgte();
-        nobj    = _nobj;
-        con     = _con;
-        ncon    = _ncon;
-        iterF   = _iterF;
-        citer   = 0;
-        
-#ifdef OPTI_VERSION
-        if(hasSur)
-            mexWarnMsgTxt("Optimization using surrogates is not available in OPTI version of NOMAD\n");
-#endif
-    }
-    //Destructor
-    ~matlabEval(void) {}
-    
-    
-    bool eval_x(std::list<NOMAD::Eval_Point *> &x, const NOMAD::Double &h_max, std::list<bool> & list_count_eval )
-    {
-        
-#ifdef OPTI_VERSION
-        mexPrintf("Optimization using block of points evaluation is not available in OPTI version of NOMAD\n");
-        //Force exit
-        raise(SIGINT);
-        return false;
-#endif
-        
-        
-        char errstr[1024];
-        bool stop = false;
-        int i, j, m, n;
-        double  *fvals;
-        mxLogical *sur;
-        
-        m=static_cast<int>(x.size());
-        n=(*(x.begin()))->size();
-        
-        if ( m !=list_count_eval.size())
-        {
-            mexPrintf("NomadMex Evaluator: inconsistent size of list" );
-            //Force exit
-            raise(SIGINT);
-            return false;
-        }
-        
-        
-        //Check for Ctrl-C
-        if ( utIsInterruptPending() )
-        {
-            utSetInterruptPending(false); /* clear Ctrl-C status */
-            mexPrintf("\nCtrl-C Detected. Exiting NOMAD...\n\n");
-            list_count_eval.assign(m,false);
-            raise(SIGINT);
-            return false;
-        }
-        
-        
-        fun->prhs[fun->xrhs] = mxCreateDoubleMatrix(m, n, mxREAL); //x
-        double *List_x = mxGetPr(fun->prhs[fun->xrhs]);
-        std::list<NOMAD::Eval_Point *>::iterator it_x=x.begin();
-        j=0;
-        for (it_x=x.begin();it_x!=x.end();++it_x,++j)
-            for(i=0;i<n;i++)
-                List_x[i*m+j] = (*(*it_x))[i].value();
-        
-        
-        //Add Surrogate if present and requested
-        if( hasSur )
-        {
-            sur=mxGetLogicals(fun->prhs[fun->xrhs+1]);
-            ( x.front()->get_eval_type()==NOMAD::SGTE )? *sur=true:*sur=false;  // all evaluations in a list have the same eval_type
-        }
-        
-        
-        // Count eval for bbox
-        // The case where the evaluation is rejected by user (and should not be counted) is not managed in the matlab version
-        list_count_eval.assign(m,true);
-        
-        
-        //Call MATLAB Objective
-        try
-        {
-            mexCallMATLAB(1, fun->plhs, fun->nrhs, fun->prhs, fun->f);
-        }
-        
-        //Note if these errors occur it is due to errors in MATLAB code, no way to recover?
-        catch(exception &e)
-        {
-            sprintf(errstr,"Unrecoverable Error from Objective / Blackbox Callback:\n%sExiting NOMAD...\n\n",e.what());
-            mexPrintf(errstr);
-            //Force exit
-            raise(SIGINT);
-            return false;
-        }
-        catch(...)
-        {
-            mexPrintf("Unrecoverable Error from Objective / Blackbox Callback, Exiting NOMAD...\n\n");
-            //Force exit
-            raise(SIGINT);
-            return false;
-        }
-        
-        //Check we got the correct number of elements back
-        if(mxGetNumberOfElements(fun->plhs[0]) > (nobj+ncon)*m)
-            mexPrintf("Black box returns more elements than required. Please provide a BB_OUTPUT_TYPE consistent with your black box function or correct the black box function.");
-        else if(mxGetNumberOfElements(fun->plhs[0]) < (nobj+ncon)*m)
-        {
-            mexPrintf("Insufficient outputs provided by the black box function. Exiting NOMAD...\n\n");
-            raise(SIGINT);
-            return false;
-        }
-        else if(mxGetM(fun->plhs[0]) != m )
-        {
-            mexPrintf("Insufficient number of rows in the output of the black box function. The number of rows should be equal to the size of the block of evaluations. Exiting NOMAD...\n\n");
-            raise(SIGINT);
-            return false;
-        }
-        else if(mxGetN(fun->plhs[0]) != (nobj+ncon) )
-        {
-            mexPrintf("Insufficient number of columns in the output of the black box function. The number of columns should be the number of objectives plus the number of constraints. Exiting NOMAD...\n\n");
-            raise(SIGINT);
-            return false;
-        }
-        
-        
-        
-        //Assign bb output
-        fvals = mxGetPr(fun->plhs[0]);
-        j=0;
-        for (it_x=x.begin();it_x!=x.end();++it_x,++j)
-            for(i=0;i<(nobj+ncon);i++)
-                (*it_x)->set_bb_output(i,fvals[m*i+j]);
-        
-        //Iteration Callback
-        if(iterF->enabled)
-        {
-            iterF->plhs[0] = NULL;
-            memcpy(mxGetData(iterF->prhs[1]), &citer, sizeof(int));
-            memcpy(mxGetPr(iterF->prhs[2]), fvals, m*(nobj+ncon)*sizeof(double));
-            memcpy(mxGetPr(iterF->prhs[3]), List_x, n * m * sizeof(double));
-            try {
-                mexCallMATLAB(1, iterF->plhs, 4, iterF->prhs, iterF->f);
-            }
-            catch (...)
-            {
-                mexPrintf("Unrecoverable Error from Iteration Callback, Exiting NOMAD...\n\n");
-                //Force exit
-                raise(SIGINT);
-                return false;
-            }
-            
-            //Collect return argument
-            stop = *(bool*)mxGetData(iterF->plhs[0]);
-            //Clean up Ptr
-            mxDestroyArray(iterF->plhs[0]);
-            
-        }
-        
-        //Add Function Eval Counter
-        citer++;
-        
-        // Clean up LHS Fun Ptr
-        mxDestroyArray(fun->plhs[0]);
-        
-        //Check for iterfun stop
-        if(stop)
-        {
-            mexPrintf("\nIterFun Called Stop. Exiting NOMAD...\n\n");
-            raise(SIGINT);
-            return false;
-        }
-        else
-            return true;
-    }
-    
-    
-    
-    //Function + Constraint Evaluation
-    bool eval_x(NOMAD::Eval_Point &x, const NOMAD::Double &h_max, bool &count_eval)
-    {
-        char errstr[1024];
-        bool stop = false;
-        int i, n = static_cast<int>(x.size());
-        double *xm, *fvals;
-        mxLogical *sur;
-        count_eval = true; //mexErrMsgTxt will kill MEX
-        
-        //Check for Ctrl-C
-        if ( utIsInterruptPending() )
-        {
-            utSetInterruptPending(false); /* clear Ctrl-C status */
-            mexPrintf("\nCtrl-C Detected. Exiting NOMAD...\n\n");
-            count_eval = false;
-            raise(SIGINT);
-            return false;
-        }
-        
-        //Blackbox / Objective Evaluation
-        xm = mxGetPr(fun->prhs[fun->xrhs]);
-        for(i=0;i<n;i++)
-            xm[i] = x[i].value();
-
-        //Add Surrogate if present and requested
-        if( hasSur )
-        {
-            sur=mxGetLogicals(fun->prhs[fun->xrhs+1]);
-            (x.get_eval_type()==NOMAD::SGTE)? *sur=true:*sur=false;
-        }
-        
-        //Call MATLAB Objective
-        try
-        {
-            mexCallMATLAB(1, fun->plhs, fun->nrhs, fun->prhs, fun->f);
-        }
-        //Note if these errors occur it is due to errors in MATLAB code, no way to recover?
-        catch(exception &e)
-        {
-            sprintf(errstr,"Unrecoverable Error from Objective / Blackbox Callback:\n%sExiting NOMAD...\n\n",e.what());
-            mexWarnMsgTxt(errstr);
-            //Force exit
-            raise(SIGINT);
-            return false;
-        }
-        catch(...)
-        {
-            mexPrintf("Unrecoverable Error from Objective / Blackbox Callback, Exiting NOMAD...\n\n");
-            //Force exit
-            raise(SIGINT);
-            return false;
-        }
-        
-#ifdef OPTI_VERSION
-        //Check we got the correct number back
-        if( mxGetM(fun->plhs[0]) != nobj )
-            mexErrMsgTxt("Incorrect number of elements returned from the objective function");
-        
-        //Set Objective (Or multi-objective)
-        fvals = mxGetPr(fun->plhs[0]);
-        for( i=0 ; i<nobj ; i++ )
-            x.set_bb_output( i,fvals[i] );
-        
-        //Constraint Evaluation
-        if( ncon )
-        {
-            con->plhs[0] = NULL;
-            xm = mxGetPr(con->prhs[con->xrhs]);
-            for(i=0;i<n;i++)
-                xm[i] = x[i].value();
-            //Call MATLAB Constraint
-            try
-            {
-                mexCallMATLAB(1, con->plhs, con->nrhs, con->prhs, con->f);
-            }
-            catch(...)
-            {
-                mexWarnMsgTxt("Unrecoverable Error from Constraint Callback, Exiting NOMAD...\n\n");
-                //Force exit
-                raise(SIGINT);
-                return false;
-            }
-            //Check we got the correct number back
-            if(mxGetM(con->plhs[0]) != ncon)
-                mexErrMsgTxt("Incorrect number of elements returned from nonlinear constraint function");
-            
-            //Set Constraints
-            double *cons = mxGetPr(con->plhs[0]);
-            for(i=0,j=nobj;i<ncon;i++,j++)
-                x.set_bb_output(j,cons[i] - con->nlrhs[i]); //subtract nlrhs
-            
-            // Clean up LHS Ptr
-            mxDestroyArray(con->plhs[0]);
-        }
-#else //GERAD VERSION
-        //Check we got the correct number of elements back
-        if( mxGetNumberOfElements(fun->plhs[0]) > nobj+ncon )
-            mexWarnMsgTxt("Black box returns more elements than required. Please provide a BB_OUTPUT_TYPE consistent with your black box function");
-        else if( mxGetNumberOfElements(fun->plhs[0]) < nobj+ncon )
-        {
-            mexPrintf("Insufficient outputs provided by the black box function. Exiting NOMAD...\n\n");
-            raise(SIGINT);
-            return false;
-        }
-        //Assign bb output
-        fvals = mxGetPr(fun->plhs[0]);
-        for(i=0;i<(nobj+ncon);i++)
-            x.set_bb_output(i,fvals[i]);
-        
-#endif
-        
-        //Iteration Callback
-        if(iterF->enabled)
-        {
-            iterF->plhs[0] = NULL;
-            memcpy(mxGetData(iterF->prhs[1]), &citer, sizeof(int));
-            memcpy(mxGetPr(iterF->prhs[2]), fvals, sizeof(double));
-            memcpy(mxGetPr(iterF->prhs[3]), xm, n * sizeof(double));
-            try {
-                mexCallMATLAB(1, iterF->plhs, 4, iterF->prhs, iterF->f);
-            }
-            catch (...)
-            {
-                mexPrintf("Unrecoverable Error from Iteration Callback, Exiting NOMAD...\n\n");
-                //Force exit
-                raise(SIGINT);
-                return false;
-            }
-            
-            //Collect return argument
-            stop = *(bool*)mxGetData(iterF->plhs[0]);
-            //Clean up Ptr
-            mxDestroyArray(iterF->plhs[0]);
-        }
-        
-        //Add Function Eval Counter
-        citer++;
-        
-        // Clean up LHS Fun Ptr
-        mxDestroyArray(fun->plhs[0]);
-        
-        //Check for iterfun stop
-        if(stop)
-        {
-            mexPrintf("\nIterFun Called Stop. Exiting NOMAD...\n\n");
-            count_eval = false;
-            raise(SIGINT);
-            return false;
-        }
-        else
-            return true;
-    }
-};
-
-//MATLAB MultiObj Evaluator Class
-class matlabMEval : public NOMAD::Multi_Obj_Evaluator {
-private:
-    matlabEval *mEval;
-public:
-    //Constructor
-    matlabMEval(const NOMAD::Parameters &p, usrFcn *_obj, int _nobj, usrFcn *_con, int _ncon, iter_fun_data *_iterF) : NOMAD::Multi_Obj_Evaluator(p)
-    {
-        mEval = new matlabEval(p,_obj,_nobj,_con,_ncon,_iterF);
-    }
-    //Destructor
-    ~matlabMEval(void)
-    {
-        delete mEval;
-    }
-    //Function + Constraint Information
-    bool eval_x(NOMAD::Eval_Point &x, const NOMAD::Double &h_max, bool &count_eval)
-    {
-        return mEval->eval_x(x,h_max,count_eval);
-    }
-    //Function + Constraint Information
-    bool eval_x(std::list<NOMAD::Eval_Point *> &x, const NOMAD::Double &h_max, std::list<bool> & list_count_eval )
-    {
-        return mEval->eval_x(x,h_max,list_count_eval);
-    }
-};
-
-//cout Redirection
-struct printfbuf : std::streambuf {
-public:
-    //Constructor
-    printfbuf()
-    {
-        setp(m_buffer, m_buffer + s_size - 2);
-    }
-private:
-    enum { s_size = 1024 }; //not sure on this size
-    char m_buffer[s_size];
-    int_type overflow(int_type c)
-    {
-        if (!traits_type::eq_int_type(c, traits_type::eof()))
-        {
-            *pptr() = traits_type::to_char_type(c);
-            pbump(1);
-        }
-        return sync() != -1 ? traits_type::not_eof(c) : traits_type::eof();
-    }
-    
-    int sync()
-    {
-        *pptr() = 0;
-        mexPrintf(pbase());
-        mexEvalString("drawnow;");
-        setp(m_buffer, m_buffer + s_size - 2);
-        return 0;
-    }
-};
-
-
-static printfbuf buf;
-
-// Main Entry Function
-// -----------------------------------------------------------------
-void mexFunction (int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
-{
-    //Input Args
-    usrFcn fun, con;
-    double *x0, *lb = NULL, *ub = NULL;
-    char *xtype = NULL;
-    
-    //Outputs Args
-    double *exitflag, *iter, *nfval;
-    
-    //Internal Vars
-    size_t ndec;
-    int i, nobj = 1, ncon = 0;
-    char errstr[1024]; //used for returning error info
-    iter_fun_data iterF;
-    neighborsFcn neighborsF;
-    
-    //Check user inputs
-    if( !checkInputs(prhs,nrhs,plhs,nlhs) )
-        return;
-    
-    //Redirect cout
-    std::cout.rdbuf(&buf); //redirect buffer
-    
-    //NOMAD Vars
-    NOMAD::Mads *mads;
-    NOMAD::Display out(std::cout);
-    NOMAD::Parameters p(out);
-    NOMAD::Point px0;
-    NOMAD::Double *nx0;
-    NOMAD::stop_type stopflag;
-
-    //Evaluator Vars
-    matlabEval *mSEval = NULL;
-    matlabMEval *mBEval = NULL;
-
-    
-    // Extended Poll Vars
-    Matlab_Extended_Poll *mEP = NULL;
-    
-    //Set Option Defaults
-    int printLevel = 0;
-    char *paramfile = NULL;
-    mxArray *bb_out_type = NULL;
-    iterF.enabled = false;
-    neighborsF.enabled=false;
-    
-    //Get Size
-    ndec = mxGetNumberOfElements(pX0);
-    
-    //Get Blackbox / Objective Function Handle
-    if ( mxIsChar(pFUN) )
-    {
-        if( mxGetString(pFUN, fun.f, FLEN) != 0 )
-            mexErrMsgTxt("error reading objective name string");
-        fun.nrhs = 1;
-        fun.xrhs = 0;
-    }
-    else
-    {
-        fun.prhs[0] = (mxArray*)pFUN;
-        strcpy(fun.f, "feval");
-        fun.nrhs = 2;
-        fun.xrhs = 1;
-    }
-    fun.prhs[fun.xrhs] = mxCreateDoubleMatrix( ndec, 1, mxREAL ); //x
-    
-    //Get x0
-    x0 = mxGetPr(pX0);
-    
-    //Get xtype
-    if( nrhs > eXTYPE && !mxIsEmpty(pXTYPE) )
-        xtype = mxArrayToString(pXTYPE);
-    
-    //Get MEX Options if specified
-    if( nrhs > eOPTS && !mxIsEmpty(pOPTS) )
-    {
-        if( mxGetField(pOPTS,0,"display_degree") && !mxIsEmpty(mxGetField(pOPTS,0,"display_degree")) )
-            printLevel = (int)*mxGetPr(mxGetField(pOPTS,0,"display_degree"));
-        if( mxGetField(pOPTS,0,"param_file") && !mxIsEmpty(mxGetField(pOPTS,0,"param_file")) )
-            paramfile = mxArrayToString(mxGetField(pOPTS,0,"param_file"));
-        if( mxGetField(pOPTS,0,"bb_output_type") && !mxIsEmpty(mxGetField(pOPTS,0,"bb_output_type")) )
-            bb_out_type = mxGetField(pOPTS,0,"bb_output_type");
-        if( mxGetField(pOPTS,0,"iterfun") && !mxIsEmpty(mxGetField(pOPTS,0,"iterfun")) )
-        {
-            iterF.prhs[0] = (mxArray*)mxGetField(pOPTS,0,"iterfun");
-            strcpy(iterF.f, "feval");
-            iterF.enabled = true;
-            iterF.prhs[1] = mxCreateNumericMatrix(1,1,mxINT32_CLASS,mxREAL);
-            iterF.prhs[2] = mxCreateDoubleMatrix(1,1,mxREAL);
-            iterF.prhs[3] = mxCreateDoubleMatrix(ndec,1,mxREAL);
-        }
-        
-        if(mxGetField(pOPTS,0,"neighbors_mat") && !mxIsEmpty(mxGetField(pOPTS,0,"neighbors_mat")))
-        {
-            strcpy(neighborsF.f, "feval");
-            neighborsF.enabled = true;
-            neighborsF.prhs[0] = (mxArray*)mxGetField(pOPTS,0,"neighbors_mat");
-            neighborsF.prhs[1] = mxCreateDoubleMatrix(ndec,1,mxREAL);
-        }
-        
-    }
-
-    
-    //Setup ndec
-    p.set_DIMENSION((int)ndec);
-    
-    //Warn if >1000
-    if(ndec > 1000 && printLevel)
-    {
-        sprintf(errstr,"Warning: NOMAD is designed for problems with less than 1000 variables. Your model has %d.\nWhile unlikely, it is possible that NOMAD may not perform as intended on this problem.",static_cast<int>(ndec));
-        mexWarnMsgTxt(errstr);
-    }
-    
-    //Setup Lower Bounds
-    if( nrhs > eLB && !mxIsEmpty(pLB) )
-    {
-        NOMAD::Point ptLB;
-        NOMAD::Double *dLB = new NOMAD::Double[ndec];
-        lb = mxGetPr(pLB);
-        
-        for(i=0;i<ndec;i++)
-        {
-            if(!mxIsInf(lb[i])) //if not initialized will not be used
-                dLB[i] = lb[i];
-        }
-        ptLB.set((int)ndec,dLB);
-        p.set_LOWER_BOUND(ptLB);
-        delete [] dLB;
-    }
-    
-    //Setup Upper Bounds
-    if( nrhs > eUB && !mxIsEmpty(pUB) )
-    {
-        NOMAD::Point ptUB;
-        NOMAD::Double *dUB = new NOMAD::Double[ndec];
-        ub = mxGetPr(pUB);
-        for(i=0;i<ndec;i++)
-        {
-            if(!mxIsInf(ub[i])) //if not initialized will not be used
-                dUB[i] = ub[i];
-        }
-        ptUB.set((int)ndec,dUB);
-        p.set_UPPER_BOUND(ptUB);
-        delete [] dUB;
-    }
-    
-    //Setup x0
-    nx0 = new NOMAD::Double[ndec];
-    
-#ifdef OPTI_VERSION
-    double xl, xu;
-    //If integer variables declared, need to ensure x0[i] is an integer
-    if( xtype )
-    {
-        for(i=0;i<ndec;i++)
-        {
-            switch(tolower(xtype[i]))
-            {
-                case 'c':
-                    //Ensure within bounds
-                    if(lb && x0[i] < lb[i])
-                        nx0[i] = lb[i];
-                    else if(ub && x0[i] > ub[i])
-                        nx0[i] = ub[i];
-                    else
-                        nx0[i] = x0[i];  //no rounding
-                    break;
-                case 'i':
-                case 'b':
-                    xl = floor(x0[i]); //First round is a floor
-                    
-                    //If lower bounds exist
-                    if( lb )
-                    {
-                        //if lower bound broken
-                        if( xl < lb[i] )
-                        {
-                            xu = ceil(x0[i]);
-                            //If upper bounds exist, check bound directions
-                            if( ub && xu > ub[i] )
-                            { //if broken, no integer x0 exists
-                                sprintf(errstr,"x0[%d] cannot be rounded to an integer value between lb: %g, ub %g",i,lb[i],ub[i]);
-                                mexErrMsgTxt(errstr);
-                            }
-                            if( xu != x0[i] )
-                            { //If we changed something, warn user
-                                sprintf(errstr,"x0[%d] was rounded up to %g to suit NOMAD interface",i,xu);
-                                mexWarnMsgTxt(errstr);
-                            }
-                            //Save ceil value
-                            nx0[i] = xu;
-                        }
-                        //Floor value did not break lower bounds, value OK
-                        else
-                        {
-                            if( xl != x0[i] )
-                            { //If we changed something, warn user
-                                sprintf(errstr,"x0[%d] was rounded down to %g to suit NOMAD interface",i,xl);
-                                mexWarnMsgTxt(errstr);
-                            }
-                            //Save floor value
-                            nx0[i] = xl;
-                        }
-                    }
-                    //No lower bounds, floor value assumed OK
-                    else {
-                        if( xl != x0[i] )
-                        { //If we changed something, warn user
-                            sprintf(errstr,"x0[%d] was rounded down to %g to suit NOMAD interface",i,xl);
-                            mexWarnMsgTxt(errstr);
-                        }
-                        //Save floor value
-                        nx0[i] = xl;
-                    }
-                    break;
-                case 'r':
-                    mexErrMsgTxt("Please specify continuous (real) variables using 'c' (as opposed to 'r') when using the OPTI version");
-                    break;
-                default:
-                    sprintf(errstr,"Unknown xtype[%d] character: %c\n\nValid options are 'C', 'I', or 'B'\n",i,xtype[i]);
-                    mexErrMsgTxt(errstr);
-            }
-        }
-    }
-    //Else user start position within bounds
-    else
-    {
-        for(i=0;i<ndec;i++)
-        {
-            if( lb && x0[i] < lb[i] )
-                nx0[i] = lb[i];
-            else if(ub && x0[i] > ub[i])
-                nx0[i] = ub[i];
-            else
-                nx0[i] = x0[i];
-        }
-    }
-    
-#else //GERAD VERSION - no x0 checking
-    for(i=0;i<ndec;i++)
-        nx0[i] = x0[i];
-#endif
-    px0.set((int)ndec,nx0);
-    p.set_X0(px0);
-    delete [] nx0;
-    
-#ifdef OPTI_VERSION
-    //Setup Nonlinear Constraints
-    if( nrhs > eNLCON && !mxIsEmpty(pNLCON) )
-    {
-        if ( mxIsChar(pNLCON) )
-        {
-            if(mxGetString(pNLCON, con.f, FLEN) != 0)
-                mexErrMsgTxt("error reading constraint name string");
-            con.nrhs = 1;
-            con.xrhs = 0;
-        }
-        else
-        {
-            con.prhs[0] = (mxArray*)pNLCON;
-            strcpy(con.f, "feval");
-            con.nrhs = 2;
-            con.xrhs = 1;
-        }
-        con.prhs[con.xrhs] = mxCreateDoubleMatrix(ndec, 1, mxREAL); //x
-        if(nrhs < eNLRHS+1 || mxIsEmpty(pNLRHS))
-        {//we will default to <= 0
-            ncon = -1;
-            con.nlrhs = NULL;
-        }
-        else
-        {
-            ncon = (int)mxGetNumberOfElements(pNLRHS);
-            con.nlrhs = mxGetPr(pNLRHS);
-        }
-    }
-    //Setup Input Variable Types
-    if(xtype)
-        p.set_BB_INPUT_TYPE(detInTypes(xtype,ndec));
-    
-    //Setup Evaluation Return Types + #'s of Obj + Con
-    p.set_BB_OUTPUT_TYPE(detRetTypes(&fun,bb_out_type,&nobj,&con,&ncon,x0,ndec));
-    
-    //Set All Normal NOMAD Options
-    p.set_DISPLAY_DEGREE(0); //default
-    
-#endif //GERAD Version does not have a separate constraint handler and handles input and output types using options
-    
-    // Make sure that evaluation numbers are reset
-    NOMAD::Eval_Point::reset_tags_and_bbes();
-    
-    // The seed will always be to its default value
-    NOMAD::RNG::reset_seed_to_default();
-    
-    //Set User Options
-    if( nrhs > eOPTS && !mxIsEmpty(pOPTS) )
-        setNOMADopts(p,pOPTS);
-    else
-        setNOMADopts(p,NULL);
-    
-    //If the user has specified a parameter file to read, see if it exists, and if so, read and parse it.
-    if( paramfile )
-    {
-        FILE *pFile = fopen(paramfile,"r");
-        if(pFile==NULL)
-        {
-            sprintf(errstr,"Cannot open parameter file: %s\n\nEnsure it exists!",paramfile);
-            mexErrMsgTxt(errstr);
-        }
-        else
-        {
-            fclose(pFile); //close file pointer (we don't need it)
-            try
-            {
-                p.read(paramfile);
-            }
-            catch(exception &e)
-            {
-                sprintf(errstr,"NOMAD Parameter File Read Error:\n\n%s",e.what());
-                mexErrMsgTxt(errstr);
-            }
-        }
-    }
-    
-    //Check NOMAD parameters
-    try
-    {
-        p.check();
-    }
-    catch(exception &e)
-    {
-        sprintf(errstr,"NOMAD Parameter Error:\n\n%s",e.what());
-        mexErrMsgTxt(errstr);
-    }
-    
-    //If GERAD version, obtain number of objectives and constraints from parameters
-#ifndef OPTI_VERSION
-    nobj=p.get_nb_obj();
-    ncon=(int)p.get_bb_output_type().size()-nobj;
-    if ( p.has_sgte() )
-    {
-        fun.prhs[fun.xrhs+1] = mxCreateLogicalMatrix(1,1); //extra logical indicating surrogate or not
-        fun.nrhs++;
-    }
-#endif
-
-    
-    // Get additional bb param if specified
-    if ( nrhs > ePARAM && ! mxIsEmpty(pParam) )
-    {
-        fun.nrhs++;
-        
-        if ( p.has_sgte() )
-            fun.prhs[fun.xrhs+2]=mxDuplicateArray(pParam);
-        else
-            fun.prhs[fun.xrhs+1]=mxDuplicateArray(pParam);
-    }
-
-    
-    //Print Header
-    if(printLevel)
-    {
-        mexPrintf("\n------------------------------------------------------------------\n");
-        mexPrintf(" This is NOMAD v%s\n",NOMAD::VERSION.c_str());
-        mexPrintf(" Authors: C. Audet, S. Le Digabel and C. Tribes\n");
-#ifdef OPTI_VERSION
-        mexPrintf(" MEX Interface (OPTI) J. Currie 2012\n\n");
-#else
-        mexPrintf(" MEX Interface (GERAD) J. Currie 2012 and C. Tribes 2016 \n\n");
-#endif
-        mexPrintf(" Problem Properties:\n");
-        mexPrintf(" # Decision Variables:               %4d\n",ndec);
-        mexPrintf(" # Number of Objectives:             %4d\n",nobj);
-        mexPrintf(" # Number of Nonlinear Constraints:  %4d\n",ncon);
-        
-        mexPrintf("------------------------------------------------------------------\n");
-        mexEvalString("drawnow;"); //flush draw buffer
-    }
-    
-    //Create evaluator and run mads based on number of objectives
-    try
-    {
-        if( nobj > 1 )
-        {
-            mBEval = new matlabMEval(p,&fun,nobj,&con,ncon,&iterF); //Bi-Objective Evaluator
-            
-            if ( p.get_signature()->has_categorical() )
-            {
-                mEP = new Matlab_Extended_Poll ( p , &neighborsF);
-                mads = new NOMAD::Mads(p, mBEval , mEP , NULL , NULL); //Run NOMAD
-                
-            }
-            else
-                mads = new NOMAD::Mads(p, mBEval); //Run NOM
-            
-            stopflag = mads->multi_run();
-        }
-        else
-        {
-            mSEval = new matlabEval(p,&fun,nobj,&con,ncon,&iterF); //Single Objective Evaluator
-            
-            if ( p.get_signature()->has_categorical() )
-            {
-                mEP = new Matlab_Extended_Poll ( p, &neighborsF);
-                mads = new NOMAD::Mads(p, mSEval , mEP , NULL , NULL); //Run NOMAD
-                
-            }
-            else
-                mads = new NOMAD::Mads(p, mSEval); //Run NOMAD
-            
-            stopflag = mads->run();
-            
-        }
-    }
-    catch(exception &e)
-    {
-        
-        //Free Memory
-        if(mSEval)
-            delete mSEval;
-        mSEval = NULL;
-        if(mBEval)
-            delete mBEval;
-        mBEval = NULL;
-        delete mads;
-        if(xtype)
-            mxFree(xtype);
-        xtype = NULL;
-        
-        sprintf(errstr,"NOMAD Run Error:\n\n%s",e.what());
-        mexErrMsgTxt(errstr);
-    }
-    
-    if(printLevel)
-        mexPrintf("------------------------------------------------------------------\n");
-    
-    
-    //Create Outputs
-    plhs[2] = mxCreateDoubleMatrix(1,1, mxREAL);
-    plhs[3] = mxCreateDoubleMatrix(1,1, mxREAL);
-    plhs[4] = mxCreateDoubleMatrix(1,1, mxREAL);
-    plhs[5] = mxCreateDoubleMatrix(ndec,1, mxREAL);
-    plhs[6] = mxCreateDoubleMatrix(ndec,1, mxREAL);
-    
-    exitflag = mxGetPr(plhs[2]);
-    iter = mxGetPr(plhs[3]);
-    nfval = mxGetPr(plhs[4]);
-    
-    double *mesh_size=mxGetPr(plhs[5]);
-    
-    //Save mesh size
-    NOMAD::Point ms( static_cast<int>(ndec) );
-    p.get_signature()->get_mesh()->get_delta(ms);
-    for(i=0;i<ndec;i++)
-        mesh_size[i] = ms[i].value();
-
-    double *poll_size=mxGetPr(plhs[6]);
-    //Save poll size
-    NOMAD::Point ps( static_cast<int>(ndec) );
-    p.get_signature()->get_mesh()->get_Delta(ps);
-    for(i=0;i<ndec;i++)
-        poll_size[i] = ps[i].value();
-    
-    if (nobj>1)
-    {
-        
-        NOMAD::Pareto_Front * pareto_front=mads->get_pareto_front();
-        
-        if ( pareto_front )
-        {
-            
-            int nb_pareto_pts = pareto_front->size();
-            plhs[0] = mxCreateDoubleMatrix(ndec,nb_pareto_pts, mxREAL);
-            plhs[1] = mxCreateDoubleMatrix(nobj,nb_pareto_pts, mxREAL);
-            double *x = mxGetPr(plhs[0]);
-            double *fval = mxGetPr(plhs[1]);
-            
-            const NOMAD::Eval_Point * cur = pareto_front->begin();
-            int i=0;
-            while ( cur )
-            {
-                
-                if ( cur->is_eval_ok() && cur->is_feasible ( p.get_h_min() ) )
-                {
-                    const std::list<int>           & index_obj = p.get_index_obj();
-                    std::list<int>::const_iterator   it , end  = index_obj.end();
-                    const NOMAD::Point             & bbo       = cur->get_bb_outputs();
-                    int                              j         = 0;
-                    NOMAD::Point multi_obj ( static_cast<int>(index_obj.size()) );
-                    
-                    for ( it = index_obj.begin() ; it != end ; ++it,j++ )
-                        fval[nobj*i+j] = bbo[*it].value();
-                    
-                    for(j=0;j<ndec;j++)
-                        x[ndec*i+j] = (*cur)[j].value();
-                }
-                cur = pareto_front->next();
-                i++;
-            }
-            *exitflag = getStatus(stopflag);
-            
-        }
-        else
-        {
-            stopflag = (NOMAD::stop_type)10;
-            *exitflag = -1; //No solution
-        }
-        //Save Status & Iterations
-        
-        *iter = mads->get_stats().get_iterations();
-        *nfval = mads->get_stats().get_bb_eval();
-        
-    }
-    else
-    {
-        
-        plhs[0] = mxCreateDoubleMatrix(ndec,1, mxREAL);
-        plhs[1] = mxCreateDoubleMatrix(1,1, mxREAL);
-        double *x = mxGetPr(plhs[0]);
-        double *fval = mxGetPr(plhs[1]);
-        
-        
-        const NOMAD::Eval_Point *bestSol = mads->get_best_feasible();
-        if(bestSol == NULL)
-        {
-            bestSol = mads->get_best_infeasible();
-            //manually set as infeasible (no infeasible stop flag)
-            stopflag = (NOMAD::stop_type)10;
-        }
-        if(bestSol == NULL)
-            *exitflag = -1; //No solution
-        
-        //If we have a solution, save it
-        if(*exitflag != -1)
-        {
-            //Save x
-            NOMAD::Point pt(*bestSol);
-            for(i=0;i<ndec;i++)
-                x[i] = pt[i].value();
-            //Save fval
-            *fval = bestSol->get_f().value();
-            
-            //Save Status & Iterations
-            *exitflag = getStatus(stopflag);
-            *iter = mads->get_stats().get_iterations();
-            *nfval = mads->get_stats().get_bb_eval();
-            
-        }
-    }
-    
-    
-    //Return error control to default
-    mexSetTrapFlag(0);
-    
-    
-    //Free Memory
-    if(mSEval)
-        delete mSEval;
-    mSEval = NULL;
-    if(mBEval)
-        delete mBEval;
-    mBEval = NULL;
-    
-    // Clean up of fun
-    mxDestroyArray(fun.prhs[fun.xrhs]);
-    
-    delete mads;
-    
-    if(xtype)
-        mxFree(xtype);
-    xtype = NULL;
-}
-
-//Determine Variable Return Types + # Objectives + #NL Constraints (only OPTI Version)
-vector<NOMAD::bb_output_type> detRetTypes(usrFcn *fun, mxArray *out_types, int *nobj, usrFcn *con, int *ncon, double *x0, size_t n)
-{
-    int i, j, stat;
-    
-    //Test Blackbox / Objective Evaluation
-    fun->plhs[0] = NULL;
-    memcpy(mxGetPr(fun->prhs[fun->xrhs]), x0, n * sizeof(double));
-    
-    //Call MATLAB Objective
-    stat = mexCallMATLAB(1, fun->plhs, fun->nrhs, fun->prhs, fun->f);
-    if(stat)
-        mexErrMsgTxt("Error calling Objective Function!");
-    //Ensure we have a real column
-    if( mxGetN(fun->plhs[0]) > mxGetM(fun->plhs[0]) )
-        mexErrMsgTxt("The objective function must return a scalar or column vector");
-    if( mxIsSparse(fun->plhs[0]) || mxIsComplex(fun->plhs[0]) )
-        mexErrMsgTxt("The objective function must return a real, dense, vector");
-    
-    //Ensure 1 or 2 rows (max of bi-objective)
-    *nobj = (int)mxGetNumberOfElements(fun->plhs[0]);
-    if( *nobj < 1 || *nobj > 2 )
-        mexErrMsgTxt("The objective function must return a scalar or 2x1 vector (bi-objective)");
-    
-    // Clean up LHS Ptr
-    mxDestroyArray(fun->plhs[0]);
-    
-    //Test Constraint Evaluation
-    if( *ncon )
-    {
-        con->plhs[0] = NULL;
-        memcpy(mxGetPr(con->prhs[con->xrhs]), x0, n * sizeof(double));
-        //Call MATLAB Objective
-        stat = mexCallMATLAB(1, con->plhs, con->nrhs, con->prhs, con->f);
-        if( stat )
-            mexErrMsgTxt("Error calling Constraint Function!");
-        //Ensure we have a real column
-        if( mxGetN(con->plhs[0]) > mxGetM(con->plhs[0]) )
-            mexErrMsgTxt("The constraint function must return a scalar or column vector");
-        if( mxIsSparse(con->plhs[0]) || mxIsComplex(con->plhs[0]) )
-            mexErrMsgTxt("The constraint function must return a real, dense, vector");
-        
-        //If we have nlrhs, check against returned vector
-        if(*ncon > 0)
-        {
-            if(mxGetM(con->plhs[0]) != *ncon)
-                mexErrMsgTxt("The vector returned from nlcon is not the same length as nlrhs!");
-        }
-        else
-        {
-            *ncon = (int)mxGetM(con->plhs[0]);
-            con->nlrhs = mxGetPr(mxCreateDoubleMatrix(*ncon,1, mxREAL)); //create dummy rhs
-        }
-        // Clean up LHS Ptr
-        mxDestroyArray(con->plhs[0]);
-    }
-    
-    //Create Return Vector
-    vector<NOMAD::bb_output_type> varType(*nobj+*ncon);
-    //Fill Objective Information
-    for(i=0;i<*nobj;i++)
-        varType[i] = NOMAD::OBJ;
-    //If the user has set bb_output_type use it to set constraint types
-    if( out_types )
-    {
-        if( !mxIsCell(out_types) )
-            mexErrMsgTxt("Parameter bb_output_type must be a cell array of strings.");
-        if( mxGetNumberOfElements(out_types) != *ncon )
-            mexErrMsgTxt("You must specify a bb_output_type for each element returned by the constraint function (not objective).");
-        //Process each element in the array
-        for(i=0,j=*nobj;i<*ncon;i++,j++)
-        {
-            mxArray *ctype = mxGetCell(out_types,i);
-            if(!mxIsChar(ctype))
-                mexErrMsgTxt("An element in the bb_output_type paramter is not a string");
-            //Get the string
-            char *str = mxArrayToString(ctype);
-            //Set varType based on string
-            varType[j] = getOutEnum(str);
-            //Free local memory at each iteration
-            mxFree(str);
-        }
-    }
-    //Or Fill Constraint Information as Default all PB
-    else {
-        for(i=0,j=*nobj;i<*ncon;i++,j++)
-            varType[j] = NOMAD::PB;
-    }
-    
-    return varType;
-}
-
-//Convert user string to NOMAD bb_output_type enum
-NOMAD::bb_output_type getOutEnum(char *str)
-{
-    char errstr[1024];
-    lower(str); //convert to lowercase
-    
-    if(!strcmp(str,"obj"))
-#ifdef OPTI_VERSION
-        mexErrMsgTxt("The OPTI Version of NOMAD uses bb_output_type to describe CONSTRAINTS ONLY. Please remove any OBJ terms from the cell array.");
-#else
-    return NOMAD::OBJ;
-#endif
-    else if(!strcmp(str,"pb"))
-        return NOMAD::PB;
-    else if(!strcmp(str,"eb"))
-        return NOMAD::EB;
-    else if(!strcmp(str,"peb"))
-        return NOMAD::PEB_P;
-    else if(!strcmp(str,"f"))
-        return NOMAD::FILTER;
-    else if(!strcmp(str,"nothing") || !strcmp(str,"-"))
-        return NOMAD::UNDEFINED_BBO;
-    else {
-        sprintf(errstr,"Unknown BB_OUTPUT_TYPE %s",str);
-        mexErrMsgTxt(errstr);
-    }
-    //Default
-    return NOMAD::UNDEFINED_BBO;
-}
-
-//Convert input string to lowercase
-void lower(char *str)
-{
-    int i = 0;
-    while(str[i])
-    {
-        str[i] = tolower(str[i]);
-        i++;
-    }
-}
-
-//Determine input variable types (only OPTI version)
-vector<NOMAD::bb_input_type> detInTypes(char *xtype, size_t n)
-{
-    int i;
-    char msgbuf[1024];
-    vector<NOMAD::bb_input_type> varType(n);
-    for(i=0;i<n;i++)
-    {
-        switch(tolower(xtype[i]))
-        {
-            case 'c':
-                varType[i] = NOMAD::CATEGORICAL; break;
-            case 'r':
-                varType[i] = NOMAD::CONTINUOUS; break;
-                mexErrMsgTxt("Please specify continuous (real) variables using 'c' when using the OPTI version");  // C-> categorical (not implemented in Matlab version) R-> continuous/real !
-            case 'i':
-                varType[i] = NOMAD::INTEGER; break;
-            case 'b':
-                varType[i] = NOMAD::BINARY; break;
-            default:
-                sprintf(msgbuf,"Unknown xtype[%d] character: %c\n\nValid options are 'C', 'I', or 'B'\n",i,xtype[i]);
-                mexErrMsgTxt(msgbuf);
-        }
-    }
-    return varType;
-}
-
-//User Input Checking + Version / Info / Help
-int checkInputs(const mxArray *prhs[], int nrhs, mxArray *plhs[], int nlhs)
-{
-    size_t ndec;
-    char *str = NULL;
-    
-    //MEX Display Version (OPTI compatibility)
-    if (nrhs < 1)
-    {
-        if(nlhs < 1)
-            printSolverInfo();
-        else
-            plhs[0] = mxCreateString(NOMAD::VERSION.c_str());
-        return 0;
-    }
-    
-    //Redirect cout
-    std::streambuf *cout_sbuf = std::cout.rdbuf(); //keep existing buffer
-    std::cout.rdbuf(&buf); //redirect buffer
-    
-    //NOMAD Display
-    NOMAD::Display out (std::cout);
-    
-    //Check for display on options passed as structure
-    if(nrhs == 1 && mxIsStruct(prhs[0]))
-    {
-        int i, no = mxGetNumberOfFields(prhs[0]);
-        const char *field;
-        std::list<std::string> ls;
-        //For all fields, display nomad help
-        for(i=0;i<no;i++)
-        {
-            field = mxGetFieldNameByNumber(prhs[0],i);
-            string st(field);
-            ls.push_back ( st );
-        }
-        if(no>0)
-        {
-            //NOMAD Display
-            NOMAD::Parameters p ( out );
-            p.help(ls);
-        }
-        std::cout.rdbuf(cout_sbuf); //Return cout to initial buffer
-        return 0;
-    }
-    
-    //Check for Version / Information / Help Request
-    if(nrhs == 1 && mxIsChar(prhs[0]))
-    {
-        str = mxArrayToString(prhs[0]);
-        //Check for Info Request
-        if(!strcmp(str,"-I") || !strcmp(str,"-INFO") || !strcmp(str,"-i") || !strcmp(str,"-info"))
-        {
-            //Information to Print
-            mexPrintf("\nNOMAD Blackbox Optimization Software, v%s\n\n",NOMAD::VERSION.c_str());
-            mexPrintf("NOMAD - version %s has been created by {\n",NOMAD::VERSION.c_str());
-            mexPrintf("      Charles Audet        - Ecole Polytechnique de Montreal\n");
-            mexPrintf("      Sebastien Le Digabel - Ecole Polytechnique de Montreal\n");
-            mexPrintf("      Christophe Tribes    - Ecole Polytechnique de Montreal\n}\n\n");
-            mexPrintf("The copyright of NOMAD - version %s is owned by {\n",NOMAD::VERSION.c_str());
-            mexPrintf("      Sebastien Le Digabel - Ecole Polytechnique de Montreal\n");
-            mexPrintf("      Christophe Tribes    - Ecole Polytechnique de Montreal\n}\n\n");
-            mexPrintf("NOMAD version 3 is a new version of Nomad v1 and v2, it has been funded by AFOSR and Exxon Mobil.\n");
-            mexPrintf("Nomad v1 and v2 were created and developed by Mark A. Abramson from The Boeing Company, Charles Audet and Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from Rice University, and were funded by AFOSR and Exxon Mobil.\n\n");
-            mexPrintf("Web       : www.gerad.ca/nomad\n");
-            mexPrintf("License   : \'%s\'\n",NOMAD::LGPL_FILE.c_str());
-            mexPrintf("User guide: \'%s\'\n",NOMAD::USER_GUIDE_FILE.c_str());
-            mexPrintf("Examples  : \'%s\'\n",NOMAD::EXAMPLES_DIR.c_str());
-            mexPrintf("Tools     : \'%s\'\n\n",NOMAD::TOOLS_DIR.c_str());
-            mexPrintf("Please report bugs to nomad@gerad.ca\n\n");
-            
-            std::cout.rdbuf(cout_sbuf); //Return cout to initial buffer
-            return 0;
-        }
-        //Check for Ver Request
-        if(!strcmp(str,"-V") || !strcmp(str,"-v") || !strcmp(str,"-version"))
-        {
-            mexPrintf("NOMAD - version %s - www.gerad.ca/nomad\n\n",NOMAD::VERSION.c_str());
-#ifdef OPTI_VERSION
-            mexPrintf("MEX Interface (OPTI) v%s\n",NOMADMEX_VERSION);
-#else
-            mexPrintf("MEX Interface (GERAD) v%s\n",NOMADMEX_VERSION);
-#endif
-            
-            std::cout.rdbuf(cout_sbuf); //Return cout to initial buffer
-            return 0;
-        }
-        //Check for Help Request
-        if (strcmp(str,"-H")<0 || strcmp(str,"-HELP")<0 || strcmp(str,"-h")<0 || strcmp(str,"-help")<0 )
-        {
-            NOMAD::Parameters p ( out );
-            std::list<std::string> helpS;
-            const char * toks=" ";
-            char *w = strtok(str,toks) ;
-            for ( w = strtok(NULL,toks) ; w != NULL ; w = strtok(NULL,toks) )
-            {
-                helpS.push_back(w);
-            }
-            p.help (helpS );
-            
-            std::cout.rdbuf(cout_sbuf); //Return cout to initial buffer
-            return 0;
-        }
-    }
-    
-    //Otherwise assume we have a normal problem
-    if(nrhs < 2)
-        mexErrMsgTxt("You must supply at least 2 arguments to nomad!\n\nnomad(fun,x0)\n");
-    
-    //Check Types
-    if(!mxIsFunctionHandle(pFUN) && !mxIsChar(pFUN))
-        mexErrMsgTxt("fun must be a function handle or function name!");
-    
-    if(!mxIsDouble(pX0) || mxIsComplex(pX0) || mxIsEmpty(pX0))
-        mexErrMsgTxt("x0 must be a real double column vector!");
-    
-    //Get ndec
-    ndec = mxGetNumberOfElements(prhs[1]);
-    
-    //Check Bounds
-    if(nrhs > 2)
-    {
-        if(!mxIsDouble(pLB) || mxIsComplex(pLB))
-            mexErrMsgTxt("lb must be a real double column vector!");
-        if(nrhs > 3 && (!mxIsDouble(pUB) || mxIsComplex(pUB)))
-            mexErrMsgTxt("ub must be a real double column vector!");
-        //Check Sizes
-        if(!mxIsEmpty(pLB) && (ndec != mxGetNumberOfElements(pLB)))
-            mexErrMsgTxt("lb is not the same length as x0! Ensure they are both Column Vectors");
-        if(nrhs > 3 && !mxIsEmpty(pUB) && (ndec != mxGetNumberOfElements(pUB)))
-            mexErrMsgTxt("ub is not the same length as x0! Ensure they are both Column Vectors");
-    }
-    
-#ifdef OPTI_VERSION
-    //Version check
-    if(nrhs > eNLRHS && mxIsStruct(pNLRHS))
-        mexErrMsgTxt("It appears you may be calling NOMAD using the GERAD NOMAD Syntax - nomad(bb,x0,lb,ub,opts). This is the OPTI NOMAD version and requires nomad(fun,x0,lb,ub,nlcon,nlrhs,xtype,opts).");
-    
-    //Check Nonlinear Constraint Handle
-    if(nrhs > eNLCON && !mxIsEmpty(pNLCON))
-    {
-        if(!mxIsFunctionHandle(pNLCON) && !mxIsChar(pNLCON))
-            mexErrMsgTxt("nlcon must be a function handle or function name!");
-        if(nrhs > eNLRHS && (!mxIsDouble(pNLRHS) || mxIsComplex(pNLRHS)))
-            mexErrMsgTxt("nlrhs must be a real double column vector!");
-    }
-    //Check for xtype
-    if(nrhs > eXTYPE && !mxIsEmpty(pXTYPE))
-    {
-        if(!mxIsChar(pXTYPE))
-            mexErrMsgTxt("The xtype vector must be a char array!");
-        if(ndec != mxGetNumberOfElements(pXTYPE))
-            mexErrMsgTxt("xtype is not same length as x0! Ensure they are both Column Vectors");
-    }
-#else
-    //Version check
-    if(nrhs > 6)
-        mexErrMsgTxt("It appears you may be calling NOMAD using the OPTI NOMAD Syntax - nomad(fun,x0,lb,ub,nlcon,nlrhs,xtype,opts). This is the GERAD NOMAD version and requires nomad(bb,x0,lb,ub,opts).");
-#endif
-    
-    //Check Options
-    if(nrhs > eOPTS && !mxIsEmpty(pOPTS))
-    {
-        //Version check
-        if(mxIsDouble(pOPTS))
-            mexErrMsgTxt("It appears you may be calling NOMAD using the OPTI NOMAD Syntax - nomad(fun,x0,lb,ub,nlcon,nlrhs,xtype,opts). This is the GERAD NOMAD version and requires nomad(bb,x0,lb,ub,opts).");
-        
-        if(!mxIsStruct(pOPTS))
-            mexErrMsgTxt("The specified options must be a structure!");
-    }
-    
-    //Return Continue
-    return  1;
-    
-}
-
-void setNOMADopts(NOMAD::Parameters &p, const mxArray *opts)
-{
-    char strbuf[1024];
-    int i, no = 0;
-    NOMAD::Parameter_Entries entries;
-    const char *field;
-    mxArray *value;
-    bool doAdd = false;
-    size_t m;
-    double val;
-    bool has_BB_OUTPUT_TYPE = false;
-    bool has_categorical =false;
-    
-    if(opts)
-        no = mxGetNumberOfFields(opts);
-    
-    //For each field, check if it's empty, if not, set it within NOMAD
-    for(i=0;i<no;i++)
-    {
-        field = mxGetFieldNameByNumber(opts,i);
-        value = mxGetFieldByNumber(opts,0,i);
-        
-        //Check we don't have an empty or MEX option
-        if( !mxIsEmpty(value) && isNMDOption(field) )
-        {
-            //Switch on data type
-            switch( mxGetClassID(value) )
-            {
-                    
-                case mxDOUBLE_CLASS:
-                    m = mxGetNumberOfElements(value);
-                    //This interface doesn't write vectors as options
-                    if(m > 1)
-                    {
-                        sprintf(strbuf,"This interface does not support vector options for parameter %s. Please provide it as a string",field);
-                        mexErrMsgTxt(strbuf);
-                    }
-                    val = *mxGetPr(value);
-                    //Check if we have an integer parameter (I assume this check is ok!)
-                    if(floor(val) == val)
-                    {
-                        sprintf(strbuf,"%s %.0f",field,val); doAdd = true; //write with no decimal points and no exponent
-                    }
-                    else
-                    {//write as double (exponent ok)
-                        sprintf(strbuf,"%s %g",field,val); doAdd = true;
-                    }
-                    break;
-                case mxFUNCTION_CLASS:
-                    if ( strcmp(field,"NEIGHBORS_MAT") == 0 || strcmp(field,"neighbors_mat") == 0 )
-                    {
-                        // sprintf(strbuf,"%s %s",field,mxArrayToString(value));
-                        has_categorical = true;
-                    }
-                    break;
-                case mxCHAR_CLASS:
-                    sprintf(strbuf,"%s %s",field,mxArrayToString(value));
-                    doAdd = true;
-                    //GERAD check for BB_OUTPUT_TYPE
-                    if ( strcmp(field,"BB_OUTPUT_TYPE") == 0 || strcmp(field,"bb_output_type") == 0 )
-                        has_BB_OUTPUT_TYPE = true;
-                    break;
-                    
-                case mxCELL_CLASS:
-#ifdef OPTI_VERSION
-                    //Add each string for the specified field
-                    m = mxGetNumberOfElements(value);
-                    for(j=0;j<m;j++)
-                    {
-                        mxArray *cellopt = mxGetCell(value,j);
-                        if( !mxIsChar(cellopt) )
-                        {
-                            sprintf(strbuf,"Element %d in the cell array of paramter %s is not a string",j+1,field);
-                            mexErrMsgTxt(strbuf);
-                        }
-                        //Get the string and create the required option string
-                        char *str = mxArrayToString(cellopt);
-                        sprintf(strbuf,"%s %s",field,str);
-                        
-                        //Add to our set of parameter entries
-                        NOMAD::Parameter_Entry *pe = new NOMAD::Parameter_Entry(strbuf);  // pe will be deleted by ~Parameter_Entries()
-                        if( pe->is_ok() )
-                            entries.insert(pe);
-                        else
-                        {
-                            sprintf(strbuf,"Parameter %s has an error",field);
-                            mexErrMsgTxt(strbuf);
-                        }
-                        
-                        //Free local memory at each iteration
-                        mxFree(str);
-                    }
-#else
-                    sprintf(strbuf,"Parameter %s NOT SET!\nThe GERAD version of the NOMAD interface does not support cell arrays. Please specify them as strings, with spaces between arguments.",field);
-                    mexWarnMsgTxt(strbuf);
-#endif
-                    break;
-                    
-                default:
-                    sprintf(strbuf,"Parameter %s NOT SET, CLASSID = %d which is not supported",field,mxGetClassID(value));
-                    mexWarnMsgTxt(strbuf);
-            }
-            
-            //If we have a valid parameter, add it to our set of entries
-            if( doAdd )  {
-                //mexPrintf("NOMAD Option set as: %s\n",strbuf); //enable for debug
-                NOMAD::Parameter_Entry *pe = new NOMAD::Parameter_Entry(strbuf);
-                if( pe->is_ok() )
-                    entries.insert(pe);  // pe will be deleted by ~Parameter_Entries()
-                else
-                {
-                    sprintf(strbuf,"Parameter %s has an error",field);
-                    mexErrMsgTxt(strbuf);
-                }
-                
-                doAdd = false;
-            }
-        }
-    }
-    //GERAD default bb_output_type if not specified
-#ifndef OPTI_VERSION
-    if( ! has_BB_OUTPUT_TYPE )
-    {
-        NOMAD::Parameter_Entry *pe = new NOMAD::Parameter_Entry("BB_OUTPUT_TYPE OBJ");
-        entries.insert(pe); // pe will be deleted by ~Parameter_Entries()
-    }
-#endif
-    
-    try
-    {
-        p.read(entries);
-    }
-    catch(exception &e)
-    {
-        sprintf(strbuf,"NOMAD Parameter Read Error:\n\n%s",e.what());
-        mexErrMsgTxt(strbuf);
-    }
-}
-
-//Separates MEX interface options from NOMAD ones
-bool isNMDOption(const char *field)
-{
-    if(!strcmp(field,"param_file"))
-        return false;
-    else if(!strcmp(field,"iterfun"))
-        return false;
-#ifdef OPTI_VERSION
-    else if(!strcmp(field,"bb_output_type"))
-        return false;
-#endif
-    else
-        return true;
-}
-
-double getStatus(int stat)
-{
-    switch((int)stat)
-    {
-        case 5:         //mesh minimum
-        case 8:         //min mesh size
-        case 9:         //min poll size
-        case 20:        //ftarget reached
-        case 19:        //feas reached
-            return 1;
-            break;
-        case 12:        //max time
-        case 13:        //max bb eval
-        case 14:        //max sur eval
-        case 15:        //max evals
-        case 16:        //max sim bb evals
-        case 17:        //max iter
-        case 23:        //max multi bb evals
-        case 24:        //max mads runs
-            return 0;
-            break;
-        case 10:        //max mesh index
-        case 11:        //mesh index limits
-        case 18:        //max consec fails
-        case 25:        //stagnation
-        case 26:        //no pareto
-        case 27:        //max cache memory
-            return -1;
-        case 6:         //x0 fail
-        case 7:         //p1_fail
-            return -2;
-        case 2:         //Unknown stop reason
-            return -3;
-        case 3:         //Ctrl-C
-        case 4:         //User-stopped
-            return -5;
-        default:        //Not assigned flag
-            return -3;
-    }
-}
-
-//Print Solver Information
-void printSolverInfo()
-{
-    mexPrintf("\n-----------------------------------------------------------\n");
-    mexPrintf(" NOMAD: Nonlinear Optimization using the MADS Algorithm [v%s]\n",NOMAD::VERSION.c_str());
-    mexPrintf("  - Released under the GNU Lesser General Public License: http://www.gnu.org/copyleft/lesser.html\n");
-    mexPrintf("  - Source available from: https://www.gerad.ca/nomad/\n");
-    
-    mexPrintf("\n MEX Interface J.Currie 2013 (www.i2c2.aut.ac.nz) and C. Tribes 2015  \n");
-    mexPrintf("-----------------------------------------------------------\n");
-}
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
+#define NOMADMEX_VERSION "1.26_ct  [Feb. 10th, 2017]"
+//NOTE from Version 1.15 on this MEX file contains a dual interface:
+
+// 1) The default (GERAD) interface is:
+//      [x,fval,exitflag,iter] = nomad(fun,x0,lb,ub,opts)
+
+// 2) Otherwise if OPTI_VERSION is defined it will compile the OPTI Toolbox interface:
+//      [x,fval,exitflag,iter] = nomad(fun,x0,lb,ub,nlcon,nlrhs,xtype,opts)
+
+// Both contain near identical functionality, except the GERAD version includes nonlinear
+// constraints with the objective (blackbox) function. The OPTI version separates them,
+// and allows a user specified rhs. The OPTI version also rounds x0 for integer constraints.
+
+#include "mex.h"
+#include "nomad.hpp"
+#include "defines.hpp"
+#include <stdio.h>
+#include <string.h>
+
+using namespace std;
+
+
+//Function handle structure
+#define FLEN 128 /* max length of user function name */
+#define MAXRHS 4 /* max nrhs for user function */
+typedef struct {
+    char f[FLEN];
+    mxArray *plhs[1];
+    mxArray *prhs[MAXRHS];
+    int xrhs, nrhs;
+    double *nlrhs;
+} usrFcn;
+
+typedef struct {
+    char f[FLEN];
+    mxArray *plhs[1];
+    mxArray *prhs[2];
+    bool enabled;
+} neighborsFcn;
+
+
+//Iteration callback structure
+typedef struct {
+    char f[FLEN];
+    mxArray *plhs[1];
+    mxArray *prhs[4];
+    bool enabled;
+} iter_fun_data;
+
+//Ctrl-C Detection
+#ifdef __cplusplus
+extern "C" bool utIsInterruptPending();
+extern "C" void utSetInterruptPending(bool);
+#else
+extern bool utIsInterruptPending();
+extern void utSetInterruptPending(bool);
+#endif
+
+//Argument Enums (in expected order of arguments)
+#ifdef OPTI_VERSION
+enum {eFUN, eX0, eLB, eUB, eNLCON, eNLRHS, eXTYPE, eOPTS, ePARAM};
+#else //GERAD VERSION
+enum {eFUN, eX0, eLB, eUB, eOPTS, ePARAM};
+enum {eNLCON, eNLRHS, eXTYPE}; //placeholders
+#endif
+//PRHS Defines
+#define pFUN    prhs[eFUN]
+#define pX0     prhs[eX0]
+#define pLB     prhs[eLB]
+#define pUB     prhs[eUB]
+#define pNLCON  prhs[eNLCON]
+#define pNLRHS  prhs[eNLRHS]
+#define pXTYPE  prhs[eXTYPE]
+#define pOPTS   prhs[eOPTS]
+#define pParam  prhs[ePARAM]
+
+//Function Prototypes
+void printSolverInfo();
+int checkInputs(const mxArray *prhs[], int nrhs, mxArray *plhs[], int nlhs);
+vector<NOMAD::bb_input_type> detInTypes(char *xtype, size_t n);
+vector<NOMAD::bb_output_type> detRetTypes(usrFcn *fun, mxArray *out_types, int *nobj, usrFcn *con, int *ncon, double *x0, size_t n);
+void setNOMADopts(NOMAD::Parameters &p, const mxArray *opts);
+bool isNMDOption(const char *field);
+NOMAD::bb_output_type getOutEnum(char *str);
+void lower(char *str);
+double getStatus(int stat);
+
+
+// Matlab Extended_Poll Class
+/*--------------------------------------------------*/
+/*  Class to define categorical neighborhoods  */
+/*--------------------------------------------------*/
+class Matlab_Extended_Poll : public NOMAD::Extended_Poll
+{
+    
+private:
+    
+    // signatures for 1 asset:
+    NOMAD::Signature * _s1;
+    
+    neighborsFcn * _neighbors;
+    
+    
+public:
+    
+    Matlab_Extended_Poll ( NOMAD::Parameters & p , neighborsFcn * neighbors );
+    
+    virtual ~Matlab_Extended_Poll ( void ){}
+    
+    // construct the extended poll points:
+    virtual void construct_extended_points ( const NOMAD::Eval_Point & );
+    
+};
+
+/*-----------------------------------------*/
+/*  constructor: creates the 3 signatures  */
+/*-----------------------------------------*/
+Matlab_Extended_Poll::Matlab_Extended_Poll ( NOMAD::Parameters & p , neighborsFcn * neighbors)
+: Extended_Poll ( p    ) ,
+_s1           ( NULL ),
+_neighbors    ( neighbors )
+{
+    _s1 = p.get_signature();
+    
+}
+
+/*--------------------------------------*/
+/*  construct the extended poll points  */
+/*      (categorical neighborhoods)     */
+/*--------------------------------------*/
+void Matlab_Extended_Poll::construct_extended_points ( const NOMAD::Eval_Point & x )
+{
+    double *xm;
+    char errstr[1024];
+    
+    if ( !x.is_complete() )
+    {
+        mexWarnMsgTxt("construct_extended_points:  bad extended poll center\n%sExiting NOMAD...\n\n");
+        //Force exit
+        raise(SIGINT);
+    }
+    
+    
+    xm = mxGetPr( _neighbors->prhs[1] );
+    int n=_s1->get_n();
+    
+    for(int i=0;i<n;i++)
+        xm[i] = x[i].value();
+    
+    //Call MATLAB neighbors
+    try
+    {
+        mexCallMATLAB(1, _neighbors->plhs, 2, _neighbors->prhs, _neighbors->f);
+    }
+    //Note if these errors occur it is due to errors in MATLAB code, no way to recover?
+    catch(exception &e)
+    {
+        sprintf(errstr,"Unrecoverable Error from neighbors callback:\n%sExiting NOMAD...\n\n",e.what());
+        mexWarnMsgTxt(errstr);
+        //Force exit
+        raise(SIGINT);
+    }
+    catch(...)
+    {
+        mexWarnMsgTxt("Unrecoverable Error from neighbors callback, Exiting NOMAD...\n\n");
+        //Force exit
+        raise(SIGINT);
+    }
+    
+    
+    int nbNPoints=static_cast<int>(mxGetNumberOfElements(_neighbors->plhs[0])/n);
+    double *xr=mxGetPr(_neighbors->plhs[0]);
+    
+    for(int i=0;i<nbNPoints;i++)
+    {
+        NOMAD::Point nPoint(n);
+        
+        for(int j=0;j<n;j++)
+            nPoint[j]=xr[i+j*nbNPoints];
+        
+        add_extended_poll_point(nPoint , *_s1 );
+    }
+    
+}
+
+
+//MATLAB Evaluator Class
+class matlabEval : public NOMAD::Evaluator
+{
+private:
+    usrFcn *fun;
+    bool hasSur;
+    // bool hasAdditionalParam;
+    int nobj;
+    usrFcn *con;
+    int ncon;
+    iter_fun_data *iterF;
+    int citer;
+    
+public:
+    //Constructor
+    matlabEval(const NOMAD::Parameters &p, usrFcn *_obj, int _nobj, usrFcn *_con, int _ncon, iter_fun_data *_iterF) : NOMAD::Evaluator(p)
+    {
+        fun     = _obj;
+        hasSur  = p.has_sgte();
+        nobj    = _nobj;
+        con     = _con;
+        ncon    = _ncon;
+        iterF   = _iterF;
+        citer   = 0;
+        
+#ifdef OPTI_VERSION
+        if(hasSur)
+            mexWarnMsgTxt("Optimization using surrogates is not available in OPTI version of NOMAD\n");
+#endif
+    }
+    //Destructor
+    ~matlabEval(void) {}
+    
+    
+    bool eval_x(std::list<NOMAD::Eval_Point *> &x, const NOMAD::Double &h_max, std::list<bool> & list_count_eval )
+    {
+        
+#ifdef OPTI_VERSION
+        mexPrintf("Optimization using block of points evaluation is not available in OPTI version of NOMAD\n");
+        //Force exit
+        raise(SIGINT);
+        return false;
+#endif
+        
+        
+        char errstr[1024];
+        bool stop = false;
+        int i, j, m, n;
+        double  *fvals;
+        mxLogical *sur;
+        
+        m=static_cast<int>(x.size());
+        n=(*(x.begin()))->size();
+        
+        if ( m !=list_count_eval.size())
+        {
+            mexPrintf("NomadMex Evaluator: inconsistent size of list" );
+            //Force exit
+            raise(SIGINT);
+            return false;
+        }
+        
+        
+        //Check for Ctrl-C
+        if ( utIsInterruptPending() )
+        {
+            utSetInterruptPending(false); /* clear Ctrl-C status */
+            mexPrintf("\nCtrl-C Detected. Exiting NOMAD...\n\n");
+            list_count_eval.assign(m,false);
+            raise(SIGINT);
+            return false;
+        }
+        
+        
+        fun->prhs[fun->xrhs] = mxCreateDoubleMatrix(m, n, mxREAL); //x
+        double *List_x = mxGetPr(fun->prhs[fun->xrhs]);
+        std::list<NOMAD::Eval_Point *>::iterator it_x=x.begin();
+        j=0;
+        for (it_x=x.begin();it_x!=x.end();++it_x,++j)
+            for(i=0;i<n;i++)
+                List_x[i*m+j] = (*(*it_x))[i].value();
+        
+        
+        //Add Surrogate if present and requested
+        if( hasSur )
+        {
+            sur=mxGetLogicals(fun->prhs[fun->xrhs+1]);
+            ( x.front()->get_eval_type()==NOMAD::SGTE )? *sur=true:*sur=false;  // all evaluations in a list have the same eval_type
+        }
+        
+        
+        // Count eval for bbox
+        // The case where the evaluation is rejected by user (and should not be counted) is not managed in the matlab version
+        list_count_eval.assign(m,true);
+        
+        
+        //Call MATLAB Objective
+        try
+        {
+            mexCallMATLAB(1, fun->plhs, fun->nrhs, fun->prhs, fun->f);
+        }
+        
+        //Note if these errors occur it is due to errors in MATLAB code, no way to recover?
+        catch(exception &e)
+        {
+            sprintf(errstr,"Unrecoverable Error from Objective / Blackbox Callback:\n%sExiting NOMAD...\n\n",e.what());
+            mexPrintf(errstr);
+            //Force exit
+            raise(SIGINT);
+            return false;
+        }
+        catch(...)
+        {
+            mexPrintf("Unrecoverable Error from Objective / Blackbox Callback, Exiting NOMAD...\n\n");
+            //Force exit
+            raise(SIGINT);
+            return false;
+        }
+        
+        //Check we got the correct number of elements back
+        if(mxGetNumberOfElements(fun->plhs[0]) > (nobj+ncon)*m)
+            mexPrintf("Black box returns more elements than required. Please provide a BB_OUTPUT_TYPE consistent with your black box function or correct the black box function.");
+        else if(mxGetNumberOfElements(fun->plhs[0]) < (nobj+ncon)*m)
+        {
+            mexPrintf("Insufficient outputs provided by the black box function. Exiting NOMAD...\n\n");
+            raise(SIGINT);
+            return false;
+        }
+        else if(mxGetM(fun->plhs[0]) != m )
+        {
+            mexPrintf("Insufficient number of rows in the output of the black box function. The number of rows should be equal to the size of the block of evaluations. Exiting NOMAD...\n\n");
+            raise(SIGINT);
+            return false;
+        }
+        else if(mxGetN(fun->plhs[0]) != (nobj+ncon) )
+        {
+            mexPrintf("Insufficient number of columns in the output of the black box function. The number of columns should be the number of objectives plus the number of constraints. Exiting NOMAD...\n\n");
+            raise(SIGINT);
+            return false;
+        }
+        
+        
+        
+        //Assign bb output
+        fvals = mxGetPr(fun->plhs[0]);
+        j=0;
+        for (it_x=x.begin();it_x!=x.end();++it_x,++j)
+            for(i=0;i<(nobj+ncon);i++)
+                (*it_x)->set_bb_output(i,fvals[m*i+j]);
+        
+        //Iteration Callback
+        if(iterF->enabled)
+        {
+            iterF->plhs[0] = NULL;
+            memcpy(mxGetData(iterF->prhs[1]), &citer, sizeof(int));
+            memcpy(mxGetPr(iterF->prhs[2]), fvals, m*(nobj+ncon)*sizeof(double));
+            memcpy(mxGetPr(iterF->prhs[3]), List_x, n * m * sizeof(double));
+            try {
+                mexCallMATLAB(1, iterF->plhs, 4, iterF->prhs, iterF->f);
+            }
+            catch (...)
+            {
+                mexPrintf("Unrecoverable Error from Iteration Callback, Exiting NOMAD...\n\n");
+                //Force exit
+                raise(SIGINT);
+                return false;
+            }
+            
+            //Collect return argument
+            stop = *(bool*)mxGetData(iterF->plhs[0]);
+            //Clean up Ptr
+            mxDestroyArray(iterF->plhs[0]);
+            
+        }
+        
+        //Add Function Eval Counter
+        citer++;
+        
+        // Clean up LHS Fun Ptr
+        mxDestroyArray(fun->plhs[0]);
+        
+        //Check for iterfun stop
+        if(stop)
+        {
+            mexPrintf("\nIterFun Called Stop. Exiting NOMAD...\n\n");
+            raise(SIGINT);
+            return false;
+        }
+        else
+            return true;
+    }
+    
+    
+    
+    //Function + Constraint Evaluation
+    bool eval_x(NOMAD::Eval_Point &x, const NOMAD::Double &h_max, bool &count_eval)
+    {
+        char errstr[1024];
+        bool stop = false;
+        int i, n = static_cast<int>(x.size());
+        double *xm, *fvals;
+        mxLogical *sur;
+        count_eval = true; //mexErrMsgTxt will kill MEX
+        
+        //Check for Ctrl-C
+        if ( utIsInterruptPending() )
+        {
+            utSetInterruptPending(false); /* clear Ctrl-C status */
+            mexPrintf("\nCtrl-C Detected. Exiting NOMAD...\n\n");
+            count_eval = false;
+            raise(SIGINT);
+            return false;
+        }
+        
+        //Blackbox / Objective Evaluation
+        xm = mxGetPr(fun->prhs[fun->xrhs]);
+        for(i=0;i<n;i++)
+            xm[i] = x[i].value();
+
+        //Add Surrogate if present and requested
+        if( hasSur )
+        {
+            sur=mxGetLogicals(fun->prhs[fun->xrhs+1]);
+            (x.get_eval_type()==NOMAD::SGTE)? *sur=true:*sur=false;
+        }
+        
+        //Call MATLAB Objective
+        try
+        {
+            mexCallMATLAB(1, fun->plhs, fun->nrhs, fun->prhs, fun->f);
+        }
+        //Note if these errors occur it is due to errors in MATLAB code, no way to recover?
+        catch(exception &e)
+        {
+            sprintf(errstr,"Unrecoverable Error from Objective / Blackbox Callback:\n%sExiting NOMAD...\n\n",e.what());
+            mexWarnMsgTxt(errstr);
+            //Force exit
+            raise(SIGINT);
+            return false;
+        }
+        catch(...)
+        {
+            mexPrintf("Unrecoverable Error from Objective / Blackbox Callback, Exiting NOMAD...\n\n");
+            //Force exit
+            raise(SIGINT);
+            return false;
+        }
+        
+#ifdef OPTI_VERSION
+        //Check we got the correct number back
+        if( mxGetM(fun->plhs[0]) != nobj )
+            mexErrMsgTxt("Incorrect number of elements returned from the objective function");
+        
+        //Set Objective (Or multi-objective)
+        fvals = mxGetPr(fun->plhs[0]);
+        for( i=0 ; i<nobj ; i++ )
+            x.set_bb_output( i,fvals[i] );
+        
+        //Constraint Evaluation
+        if( ncon )
+        {
+            con->plhs[0] = NULL;
+            xm = mxGetPr(con->prhs[con->xrhs]);
+            for(i=0;i<n;i++)
+                xm[i] = x[i].value();
+            //Call MATLAB Constraint
+            try
+            {
+                mexCallMATLAB(1, con->plhs, con->nrhs, con->prhs, con->f);
+            }
+            catch(...)
+            {
+                mexWarnMsgTxt("Unrecoverable Error from Constraint Callback, Exiting NOMAD...\n\n");
+                //Force exit
+                raise(SIGINT);
+                return false;
+            }
+            //Check we got the correct number back
+            if(mxGetM(con->plhs[0]) != ncon)
+                mexErrMsgTxt("Incorrect number of elements returned from nonlinear constraint function");
+            
+            //Set Constraints
+            double *cons = mxGetPr(con->plhs[0]);
+            for(i=0,j=nobj;i<ncon;i++,j++)
+                x.set_bb_output(j,cons[i] - con->nlrhs[i]); //subtract nlrhs
+            
+            // Clean up LHS Ptr
+            mxDestroyArray(con->plhs[0]);
+        }
+#else //GERAD VERSION
+        //Check we got the correct number of elements back
+        if( mxGetNumberOfElements(fun->plhs[0]) > nobj+ncon )
+            mexWarnMsgTxt("Black box returns more elements than required. Please provide a BB_OUTPUT_TYPE consistent with your black box function");
+        else if( mxGetNumberOfElements(fun->plhs[0]) < nobj+ncon )
+        {
+            mexPrintf("Insufficient outputs provided by the black box function. Exiting NOMAD...\n\n");
+            raise(SIGINT);
+            return false;
+        }
+        //Assign bb output
+        fvals = mxGetPr(fun->plhs[0]);
+        for(i=0;i<(nobj+ncon);i++)
+            x.set_bb_output(i,fvals[i]);
+        
+#endif
+        
+        //Iteration Callback
+        if(iterF->enabled)
+        {
+            iterF->plhs[0] = NULL;
+            memcpy(mxGetData(iterF->prhs[1]), &citer, sizeof(int));
+            memcpy(mxGetPr(iterF->prhs[2]), fvals, sizeof(double));
+            memcpy(mxGetPr(iterF->prhs[3]), xm, n * sizeof(double));
+            try {
+                mexCallMATLAB(1, iterF->plhs, 4, iterF->prhs, iterF->f);
+            }
+            catch (...)
+            {
+                mexPrintf("Unrecoverable Error from Iteration Callback, Exiting NOMAD...\n\n");
+                //Force exit
+                raise(SIGINT);
+                return false;
+            }
+            
+            //Collect return argument
+            stop = *(bool*)mxGetData(iterF->plhs[0]);
+            //Clean up Ptr
+            mxDestroyArray(iterF->plhs[0]);
+        }
+        
+        //Add Function Eval Counter
+        citer++;
+        
+        // Clean up LHS Fun Ptr
+        mxDestroyArray(fun->plhs[0]);
+        
+        //Check for iterfun stop
+        if(stop)
+        {
+            mexPrintf("\nIterFun Called Stop. Exiting NOMAD...\n\n");
+            count_eval = false;
+            raise(SIGINT);
+            return false;
+        }
+        else
+            return true;
+    }
+};
+
+//MATLAB MultiObj Evaluator Class
+class matlabMEval : public NOMAD::Multi_Obj_Evaluator {
+private:
+    matlabEval *mEval;
+public:
+    //Constructor
+    matlabMEval(const NOMAD::Parameters &p, usrFcn *_obj, int _nobj, usrFcn *_con, int _ncon, iter_fun_data *_iterF) : NOMAD::Multi_Obj_Evaluator(p)
+    {
+        mEval = new matlabEval(p,_obj,_nobj,_con,_ncon,_iterF);
+    }
+    //Destructor
+    ~matlabMEval(void)
+    {
+        delete mEval;
+    }
+    //Function + Constraint Information
+    bool eval_x(NOMAD::Eval_Point &x, const NOMAD::Double &h_max, bool &count_eval)
+    {
+        return mEval->eval_x(x,h_max,count_eval);
+    }
+    //Function + Constraint Information
+    bool eval_x(std::list<NOMAD::Eval_Point *> &x, const NOMAD::Double &h_max, std::list<bool> & list_count_eval )
+    {
+        return mEval->eval_x(x,h_max,list_count_eval);
+    }
+};
+
+//cout Redirection
+struct printfbuf : std::streambuf {
+public:
+    //Constructor
+    printfbuf()
+    {
+        setp(m_buffer, m_buffer + s_size - 2);
+    }
+private:
+    enum { s_size = 1024 }; //not sure on this size
+    char m_buffer[s_size];
+    int_type overflow(int_type c)
+    {
+        if (!traits_type::eq_int_type(c, traits_type::eof()))
+        {
+            *pptr() = traits_type::to_char_type(c);
+            pbump(1);
+        }
+        return sync() != -1 ? traits_type::not_eof(c) : traits_type::eof();
+    }
+    
+    int sync()
+    {
+        *pptr() = 0;
+        mexPrintf(pbase());
+        mexEvalString("drawnow;");
+        setp(m_buffer, m_buffer + s_size - 2);
+        return 0;
+    }
+};
+
+
+static printfbuf buf;
+
+// Main Entry Function
+// -----------------------------------------------------------------
+void mexFunction (int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
+{
+    //Input Args
+    usrFcn fun, con;
+    double *x0, *lb = NULL, *ub = NULL;
+    char *xtype = NULL;
+    
+    //Outputs Args
+    double *exitflag, *iter, *nfval;
+    
+    //Internal Vars
+    size_t ndec;
+    int i, nobj = 1, ncon = 0;
+    char errstr[1024]; //used for returning error info
+    iter_fun_data iterF;
+    neighborsFcn neighborsF;
+    
+    //Check user inputs
+    if( !checkInputs(prhs,nrhs,plhs,nlhs) )
+        return;
+    
+    //Redirect cout
+    std::cout.rdbuf(&buf); //redirect buffer
+    
+    //NOMAD Vars
+    NOMAD::Mads *mads;
+    NOMAD::Display out(std::cout);
+    NOMAD::Parameters p(out);
+    NOMAD::Point px0;
+    NOMAD::Double *nx0;
+    NOMAD::stop_type stopflag;
+
+    //Evaluator Vars
+    matlabEval *mSEval = NULL;
+    matlabMEval *mBEval = NULL;
+
+    
+    // Extended Poll Vars
+    Matlab_Extended_Poll *mEP = NULL;
+    
+    //Set Option Defaults
+    int printLevel = 0;
+    char *paramfile = NULL;
+    mxArray *bb_out_type = NULL;
+    iterF.enabled = false;
+    neighborsF.enabled=false;
+    
+    //Get Size
+    ndec = mxGetNumberOfElements(pX0);
+    
+    //Get Blackbox / Objective Function Handle
+    if ( mxIsChar(pFUN) )
+    {
+        if( mxGetString(pFUN, fun.f, FLEN) != 0 )
+            mexErrMsgTxt("error reading objective name string");
+        fun.nrhs = 1;
+        fun.xrhs = 0;
+    }
+    else
+    {
+        fun.prhs[0] = (mxArray*)pFUN;
+        strcpy(fun.f, "feval");
+        fun.nrhs = 2;
+        fun.xrhs = 1;
+    }
+    fun.prhs[fun.xrhs] = mxCreateDoubleMatrix( ndec, 1, mxREAL ); //x
+    
+    //Get x0
+    x0 = mxGetPr(pX0);
+    
+    //Get xtype
+    if( nrhs > eXTYPE && !mxIsEmpty(pXTYPE) )
+        xtype = mxArrayToString(pXTYPE);
+    
+    //Get MEX Options if specified
+    if( nrhs > eOPTS && !mxIsEmpty(pOPTS) )
+    {
+        if( mxGetField(pOPTS,0,"display_degree") && !mxIsEmpty(mxGetField(pOPTS,0,"display_degree")) )
+            printLevel = (int)*mxGetPr(mxGetField(pOPTS,0,"display_degree"));
+        if( mxGetField(pOPTS,0,"param_file") && !mxIsEmpty(mxGetField(pOPTS,0,"param_file")) )
+            paramfile = mxArrayToString(mxGetField(pOPTS,0,"param_file"));
+        if( mxGetField(pOPTS,0,"bb_output_type") && !mxIsEmpty(mxGetField(pOPTS,0,"bb_output_type")) )
+            bb_out_type = mxGetField(pOPTS,0,"bb_output_type");
+        if( mxGetField(pOPTS,0,"iterfun") && !mxIsEmpty(mxGetField(pOPTS,0,"iterfun")) )
+        {
+            iterF.prhs[0] = (mxArray*)mxGetField(pOPTS,0,"iterfun");
+            strcpy(iterF.f, "feval");
+            iterF.enabled = true;
+            iterF.prhs[1] = mxCreateNumericMatrix(1,1,mxINT32_CLASS,mxREAL);
+            iterF.prhs[2] = mxCreateDoubleMatrix(1,1,mxREAL);
+            iterF.prhs[3] = mxCreateDoubleMatrix(ndec,1,mxREAL);
+        }
+        
+        if(mxGetField(pOPTS,0,"neighbors_mat") && !mxIsEmpty(mxGetField(pOPTS,0,"neighbors_mat")))
+        {
+            strcpy(neighborsF.f, "feval");
+            neighborsF.enabled = true;
+            neighborsF.prhs[0] = (mxArray*)mxGetField(pOPTS,0,"neighbors_mat");
+            neighborsF.prhs[1] = mxCreateDoubleMatrix(ndec,1,mxREAL);
+        }
+        
+    }
+
+    
+    //Setup ndec
+    p.set_DIMENSION((int)ndec);
+    
+    //Warn if >1000
+    if(ndec > 1000 && printLevel)
+    {
+        sprintf(errstr,"Warning: NOMAD is designed for problems with less than 1000 variables. Your model has %d.\nWhile unlikely, it is possible that NOMAD may not perform as intended on this problem.",static_cast<int>(ndec));
+        mexWarnMsgTxt(errstr);
+    }
+    
+    //Setup Lower Bounds
+    if( nrhs > eLB && !mxIsEmpty(pLB) )
+    {
+        NOMAD::Point ptLB;
+        NOMAD::Double *dLB = new NOMAD::Double[ndec];
+        lb = mxGetPr(pLB);
+        
+        for(i=0;i<ndec;i++)
+        {
+            if(!mxIsInf(lb[i])) //if not initialized will not be used
+                dLB[i] = lb[i];
+        }
+        ptLB.set((int)ndec,dLB);
+        p.set_LOWER_BOUND(ptLB);
+        delete [] dLB;
+    }
+    
+    //Setup Upper Bounds
+    if( nrhs > eUB && !mxIsEmpty(pUB) )
+    {
+        NOMAD::Point ptUB;
+        NOMAD::Double *dUB = new NOMAD::Double[ndec];
+        ub = mxGetPr(pUB);
+        for(i=0;i<ndec;i++)
+        {
+            if(!mxIsInf(ub[i])) //if not initialized will not be used
+                dUB[i] = ub[i];
+        }
+        ptUB.set((int)ndec,dUB);
+        p.set_UPPER_BOUND(ptUB);
+        delete [] dUB;
+    }
+    
+    //Setup x0
+    nx0 = new NOMAD::Double[ndec];
+    
+#ifdef OPTI_VERSION
+    double xl, xu;
+    //If integer variables declared, need to ensure x0[i] is an integer
+    if( xtype )
+    {
+        for(i=0;i<ndec;i++)
+        {
+            switch(tolower(xtype[i]))
+            {
+                case 'c':
+                    //Ensure within bounds
+                    if(lb && x0[i] < lb[i])
+                        nx0[i] = lb[i];
+                    else if(ub && x0[i] > ub[i])
+                        nx0[i] = ub[i];
+                    else
+                        nx0[i] = x0[i];  //no rounding
+                    break;
+                case 'i':
+                case 'b':
+                    xl = floor(x0[i]); //First round is a floor
+                    
+                    //If lower bounds exist
+                    if( lb )
+                    {
+                        //if lower bound broken
+                        if( xl < lb[i] )
+                        {
+                            xu = ceil(x0[i]);
+                            //If upper bounds exist, check bound directions
+                            if( ub && xu > ub[i] )
+                            { //if broken, no integer x0 exists
+                                sprintf(errstr,"x0[%d] cannot be rounded to an integer value between lb: %g, ub %g",i,lb[i],ub[i]);
+                                mexErrMsgTxt(errstr);
+                            }
+                            if( xu != x0[i] )
+                            { //If we changed something, warn user
+                                sprintf(errstr,"x0[%d] was rounded up to %g to suit NOMAD interface",i,xu);
+                                mexWarnMsgTxt(errstr);
+                            }
+                            //Save ceil value
+                            nx0[i] = xu;
+                        }
+                        //Floor value did not break lower bounds, value OK
+                        else
+                        {
+                            if( xl != x0[i] )
+                            { //If we changed something, warn user
+                                sprintf(errstr,"x0[%d] was rounded down to %g to suit NOMAD interface",i,xl);
+                                mexWarnMsgTxt(errstr);
+                            }
+                            //Save floor value
+                            nx0[i] = xl;
+                        }
+                    }
+                    //No lower bounds, floor value assumed OK
+                    else {
+                        if( xl != x0[i] )
+                        { //If we changed something, warn user
+                            sprintf(errstr,"x0[%d] was rounded down to %g to suit NOMAD interface",i,xl);
+                            mexWarnMsgTxt(errstr);
+                        }
+                        //Save floor value
+                        nx0[i] = xl;
+                    }
+                    break;
+                case 'r':
+                    mexErrMsgTxt("Please specify continuous (real) variables using 'c' (as opposed to 'r') when using the OPTI version");
+                    break;
+                default:
+                    sprintf(errstr,"Unknown xtype[%d] character: %c\n\nValid options are 'C', 'I', or 'B'\n",i,xtype[i]);
+                    mexErrMsgTxt(errstr);
+            }
+        }
+    }
+    //Else user start position within bounds
+    else
+    {
+        for(i=0;i<ndec;i++)
+        {
+            if( lb && x0[i] < lb[i] )
+                nx0[i] = lb[i];
+            else if(ub && x0[i] > ub[i])
+                nx0[i] = ub[i];
+            else
+                nx0[i] = x0[i];
+        }
+    }
+    
+#else //GERAD VERSION - no x0 checking
+    for(i=0;i<ndec;i++)
+        nx0[i] = x0[i];
+#endif
+    px0.set((int)ndec,nx0);
+    p.set_X0(px0);
+    delete [] nx0;
+    
+#ifdef OPTI_VERSION
+    //Setup Nonlinear Constraints
+    if( nrhs > eNLCON && !mxIsEmpty(pNLCON) )
+    {
+        if ( mxIsChar(pNLCON) )
+        {
+            if(mxGetString(pNLCON, con.f, FLEN) != 0)
+                mexErrMsgTxt("error reading constraint name string");
+            con.nrhs = 1;
+            con.xrhs = 0;
+        }
+        else
+        {
+            con.prhs[0] = (mxArray*)pNLCON;
+            strcpy(con.f, "feval");
+            con.nrhs = 2;
+            con.xrhs = 1;
+        }
+        con.prhs[con.xrhs] = mxCreateDoubleMatrix(ndec, 1, mxREAL); //x
+        if(nrhs < eNLRHS+1 || mxIsEmpty(pNLRHS))
+        {//we will default to <= 0
+            ncon = -1;
+            con.nlrhs = NULL;
+        }
+        else
+        {
+            ncon = (int)mxGetNumberOfElements(pNLRHS);
+            con.nlrhs = mxGetPr(pNLRHS);
+        }
+    }
+    //Setup Input Variable Types
+    if(xtype)
+        p.set_BB_INPUT_TYPE(detInTypes(xtype,ndec));
+    
+    //Setup Evaluation Return Types + #'s of Obj + Con
+    p.set_BB_OUTPUT_TYPE(detRetTypes(&fun,bb_out_type,&nobj,&con,&ncon,x0,ndec));
+    
+    //Set All Normal NOMAD Options
+    p.set_DISPLAY_DEGREE(0); //default
+    
+#endif //GERAD Version does not have a separate constraint handler and handles input and output types using options
+    
+    // Make sure that evaluation numbers are reset
+    NOMAD::Eval_Point::reset_tags_and_bbes();
+    
+    // The seed will always be to its default value
+    NOMAD::RNG::reset_private_seed_to_default(); 
+    
+    // The warning display parameter should be reset every run
+    NOMAD::Parameters::reset_display_warning ( );
+    
+    //Set User Options
+    if( nrhs > eOPTS && !mxIsEmpty(pOPTS) )
+        setNOMADopts(p,pOPTS);
+    else
+        setNOMADopts(p,NULL);
+    
+    //If the user has specified a parameter file to read, see if it exists, and if so, read and parse it.
+    if( paramfile )
+    {
+        FILE *pFile = fopen(paramfile,"r");
+        if(pFile==NULL)
+        {
+            sprintf(errstr,"Cannot open parameter file: %s\n\nEnsure it exists!",paramfile);
+            mexErrMsgTxt(errstr);
+        }
+        else
+        {
+            fclose(pFile); //close file pointer (we don't need it)
+            try
+            {
+                p.read(paramfile);
+            }
+            catch(exception &e)
+            {
+                sprintf(errstr,"NOMAD Parameter File Read Error:\n\n%s",e.what());
+                mexErrMsgTxt(errstr);
+            }
+        }
+    }
+    
+    //Check NOMAD parameters
+    try
+    {
+        p.check();
+    }
+    catch(exception &e)
+    {
+        sprintf(errstr,"NOMAD Parameter Error:\n\n%s",e.what());
+        mexErrMsgTxt(errstr);
+    }
+    
+    //If GERAD version, obtain number of objectives and constraints from parameters
+#ifndef OPTI_VERSION
+    nobj=p.get_nb_obj();
+    ncon=(int)p.get_bb_output_type().size()-nobj;
+    if ( p.has_sgte() )
+    {
+        fun.prhs[fun.xrhs+1] = mxCreateLogicalMatrix(1,1); //extra logical indicating surrogate or not
+        fun.nrhs++;
+    }
+#endif
+
+    
+    // Get additional bb param if specified
+    if ( nrhs > ePARAM && ! mxIsEmpty(pParam) )
+    {
+        fun.nrhs++;
+        
+        if ( p.has_sgte() )
+            fun.prhs[fun.xrhs+2]=mxDuplicateArray(pParam);
+        else
+            fun.prhs[fun.xrhs+1]=mxDuplicateArray(pParam);
+    }
+
+    
+    //Print Header
+    if(printLevel)
+    {
+        mexPrintf("\n------------------------------------------------------------------\n");
+        mexPrintf(" This is NOMAD v%s\n",NOMAD::VERSION.c_str());
+        mexPrintf(" Authors: C. Audet, S. Le Digabel and C. Tribes\n");
+#ifdef OPTI_VERSION
+        mexPrintf(" MEX Interface (OPTI) J. Currie 2012\n\n");
+#else
+        mexPrintf(" MEX Interface (GERAD) J. Currie 2012 and C. Tribes 2017 \n\n");
+#endif
+        mexPrintf(" Problem Properties:\n");
+        mexPrintf(" # Decision Variables:               %4d\n",ndec);
+        mexPrintf(" # Number of Objectives:             %4d\n",nobj);
+        mexPrintf(" # Number of Nonlinear Constraints:  %4d\n",ncon);
+        
+        mexPrintf("------------------------------------------------------------------\n");
+        mexEvalString("drawnow;"); //flush draw buffer
+    }
+    
+    //Create evaluator and run mads based on number of objectives
+    try
+    {
+        if( nobj > 1 )
+        {
+            mBEval = new matlabMEval(p,&fun,nobj,&con,ncon,&iterF); //Bi-Objective Evaluator
+            
+            if ( p.get_signature()->has_categorical() )
+            {
+                mEP = new Matlab_Extended_Poll ( p , &neighborsF);
+                mads = new NOMAD::Mads(p, mBEval , mEP , NULL , NULL); //Run NOMAD
+                
+            }
+            else
+                mads = new NOMAD::Mads(p, mBEval); //Run NOM
+            
+            stopflag = mads->multi_run();
+        }
+        else
+        {
+            mSEval = new matlabEval(p,&fun,nobj,&con,ncon,&iterF); //Single Objective Evaluator
+            
+            if ( p.get_signature()->has_categorical() )
+            {
+                mEP = new Matlab_Extended_Poll ( p, &neighborsF);
+                mads = new NOMAD::Mads(p, mSEval , mEP , NULL , NULL); //Run NOMAD
+                
+            }
+            else
+                mads = new NOMAD::Mads(p, mSEval); //Run NOMAD
+            
+            stopflag = mads->run();
+            
+        }
+    }
+    catch(exception &e)
+    {
+        
+        //Free Memory
+        if(mSEval)
+            delete mSEval;
+        mSEval = NULL;
+        if(mBEval)
+            delete mBEval;
+        mBEval = NULL;
+        delete mads;
+        if(xtype)
+            mxFree(xtype);
+        xtype = NULL;
+        
+        sprintf(errstr,"NOMAD Run Error:\n\n%s",e.what());
+        mexErrMsgTxt(errstr);
+    }
+    
+    if(printLevel)
+        mexPrintf("------------------------------------------------------------------\n");
+    
+    
+    //Create Outputs
+    plhs[2] = mxCreateDoubleMatrix(1,1, mxREAL);
+    plhs[3] = mxCreateDoubleMatrix(1,1, mxREAL);
+    plhs[4] = mxCreateDoubleMatrix(1,1, mxREAL);
+    plhs[5] = mxCreateDoubleMatrix(ndec,1, mxREAL);
+    plhs[6] = mxCreateDoubleMatrix(ndec,1, mxREAL);
+    
+    exitflag = mxGetPr(plhs[2]);
+    iter = mxGetPr(plhs[3]);
+    nfval = mxGetPr(plhs[4]);
+    
+    double *mesh_size=mxGetPr(plhs[5]);
+    
+    //Save mesh size
+    NOMAD::Point ms( static_cast<int>(ndec) );
+    p.get_signature()->get_mesh()->get_delta(ms);
+    for(i=0;i<ndec;i++)
+        mesh_size[i] = ms[i].value();
+
+    double *poll_size=mxGetPr(plhs[6]);
+    //Save poll size
+    NOMAD::Point ps( static_cast<int>(ndec) );
+    p.get_signature()->get_mesh()->get_Delta(ps);
+    for(i=0;i<ndec;i++)
+        poll_size[i] = ps[i].value();
+    
+    if (nobj>1)
+    {
+        
+        NOMAD::Pareto_Front * pareto_front=mads->get_pareto_front();
+        
+        if ( pareto_front )
+        {
+            
+            int nb_pareto_pts = pareto_front->size();
+            plhs[0] = mxCreateDoubleMatrix(ndec,nb_pareto_pts, mxREAL);
+            plhs[1] = mxCreateDoubleMatrix(nobj,nb_pareto_pts, mxREAL);
+            double *x = mxGetPr(plhs[0]);
+            double *fval = mxGetPr(plhs[1]);
+            
+            const NOMAD::Eval_Point * cur = pareto_front->begin();
+            int i=0;
+            while ( cur )
+            {
+                
+                if ( cur->is_eval_ok() && cur->is_feasible ( p.get_h_min() ) )
+                {
+                    const std::list<int>           & index_obj = p.get_index_obj();
+                    std::list<int>::const_iterator   it , end  = index_obj.end();
+                    const NOMAD::Point             & bbo       = cur->get_bb_outputs();
+                    int                              j         = 0;
+                    NOMAD::Point multi_obj ( static_cast<int>(index_obj.size()) );
+                    
+                    for ( it = index_obj.begin() ; it != end ; ++it,j++ )
+                        fval[nobj*i+j] = bbo[*it].value();
+                    
+                    for(j=0;j<ndec;j++)
+                        x[ndec*i+j] = (*cur)[j].value();
+                }
+                cur = pareto_front->next();
+                i++;
+            }
+            *exitflag = getStatus(stopflag);
+            
+        }
+        else
+        {
+            stopflag = (NOMAD::stop_type)10;
+            *exitflag = -1; //No solution
+        }
+        //Save Status & Iterations
+        
+        *iter = mads->get_stats().get_iterations();
+        *nfval = mads->get_stats().get_bb_eval();
+        
+    }
+    else
+    {
+        
+        plhs[0] = mxCreateDoubleMatrix(ndec,1, mxREAL);
+        plhs[1] = mxCreateDoubleMatrix(1,1, mxREAL);
+        double *x = mxGetPr(plhs[0]);
+        double *fval = mxGetPr(plhs[1]);
+        
+        
+        const NOMAD::Eval_Point *bestSol = mads->get_best_feasible();
+        if(bestSol == NULL)
+        {
+            bestSol = mads->get_best_infeasible();
+            //manually set as infeasible (no infeasible stop flag)
+            stopflag = (NOMAD::stop_type)10;
+        }
+        if(bestSol == NULL)
+            *exitflag = -1; //No solution
+        
+        //If we have a solution, save it
+        if(*exitflag != -1)
+        {
+            //Save x
+            NOMAD::Point pt(*bestSol);
+            for(i=0;i<ndec;i++)
+                x[i] = pt[i].value();
+            //Save fval
+            *fval = bestSol->get_f().value();
+            
+            //Save Status & Iterations
+            *exitflag = getStatus(stopflag);
+            *iter = mads->get_stats().get_iterations();
+            *nfval = mads->get_stats().get_bb_eval();
+            
+        }
+    }
+    
+    
+    //Return error control to default
+    mexSetTrapFlag(0);
+    
+    
+    //Free Memory
+    if(mSEval)
+        delete mSEval;
+    mSEval = NULL;
+    if(mBEval)
+        delete mBEval;
+    mBEval = NULL;
+    
+    // Clean up of fun
+    mxDestroyArray(fun.prhs[fun.xrhs]);
+    
+    delete mads;
+    
+    if(xtype)
+        mxFree(xtype);
+    xtype = NULL;
+}
+
+//Determine Variable Return Types + # Objectives + #NL Constraints (only OPTI Version)
+vector<NOMAD::bb_output_type> detRetTypes(usrFcn *fun, mxArray *out_types, int *nobj, usrFcn *con, int *ncon, double *x0, size_t n)
+{
+    int i, j, stat;
+    
+    //Test Blackbox / Objective Evaluation
+    fun->plhs[0] = NULL;
+    memcpy(mxGetPr(fun->prhs[fun->xrhs]), x0, n * sizeof(double));
+    
+    //Call MATLAB Objective
+    stat = mexCallMATLAB(1, fun->plhs, fun->nrhs, fun->prhs, fun->f);
+    if(stat)
+        mexErrMsgTxt("Error calling Objective Function!");
+    //Ensure we have a real column
+    if( mxGetN(fun->plhs[0]) > mxGetM(fun->plhs[0]) )
+        mexErrMsgTxt("The objective function must return a scalar or column vector");
+    if( mxIsSparse(fun->plhs[0]) || mxIsComplex(fun->plhs[0]) )
+        mexErrMsgTxt("The objective function must return a real, dense, vector");
+    
+    //Ensure 1 or 2 rows (max of bi-objective)
+    *nobj = (int)mxGetNumberOfElements(fun->plhs[0]);
+    if( *nobj < 1 || *nobj > 2 )
+        mexErrMsgTxt("The objective function must return a scalar or 2x1 vector (bi-objective)");
+    
+    // Clean up LHS Ptr
+    mxDestroyArray(fun->plhs[0]);
+    
+    //Test Constraint Evaluation
+    if( *ncon )
+    {
+        con->plhs[0] = NULL;
+        memcpy(mxGetPr(con->prhs[con->xrhs]), x0, n * sizeof(double));
+        //Call MATLAB Objective
+        stat = mexCallMATLAB(1, con->plhs, con->nrhs, con->prhs, con->f);
+        if( stat )
+            mexErrMsgTxt("Error calling Constraint Function!");
+        //Ensure we have a real column
+        if( mxGetN(con->plhs[0]) > mxGetM(con->plhs[0]) )
+            mexErrMsgTxt("The constraint function must return a scalar or column vector");
+        if( mxIsSparse(con->plhs[0]) || mxIsComplex(con->plhs[0]) )
+            mexErrMsgTxt("The constraint function must return a real, dense, vector");
+        
+        //If we have nlrhs, check against returned vector
+        if(*ncon > 0)
+        {
+            if(mxGetM(con->plhs[0]) != *ncon)
+                mexErrMsgTxt("The vector returned from nlcon is not the same length as nlrhs!");
+        }
+        else
+        {
+            *ncon = (int)mxGetM(con->plhs[0]);
+            con->nlrhs = mxGetPr(mxCreateDoubleMatrix(*ncon,1, mxREAL)); //create dummy rhs
+        }
+        // Clean up LHS Ptr
+        mxDestroyArray(con->plhs[0]);
+    }
+    
+    //Create Return Vector
+    vector<NOMAD::bb_output_type> varType(*nobj+*ncon);
+    //Fill Objective Information
+    for(i=0;i<*nobj;i++)
+        varType[i] = NOMAD::OBJ;
+    //If the user has set bb_output_type use it to set constraint types
+    if( out_types )
+    {
+        if( !mxIsCell(out_types) )
+            mexErrMsgTxt("Parameter bb_output_type must be a cell array of strings.");
+        if( mxGetNumberOfElements(out_types) != *ncon )
+            mexErrMsgTxt("You must specify a bb_output_type for each element returned by the constraint function (not objective).");
+        //Process each element in the array
+        for(i=0,j=*nobj;i<*ncon;i++,j++)
+        {
+            mxArray *ctype = mxGetCell(out_types,i);
+            if(!mxIsChar(ctype))
+                mexErrMsgTxt("An element in the bb_output_type paramter is not a string");
+            //Get the string
+            char *str = mxArrayToString(ctype);
+            //Set varType based on string
+            varType[j] = getOutEnum(str);
+            //Free local memory at each iteration
+            mxFree(str);
+        }
+    }
+    //Or Fill Constraint Information as Default all PB
+    else {
+        for(i=0,j=*nobj;i<*ncon;i++,j++)
+            varType[j] = NOMAD::PB;
+    }
+    
+    return varType;
+}
+
+//Convert user string to NOMAD bb_output_type enum
+NOMAD::bb_output_type getOutEnum(char *str)
+{
+    char errstr[1024];
+    lower(str); //convert to lowercase
+    
+    if(!strcmp(str,"obj"))
+#ifdef OPTI_VERSION
+        mexErrMsgTxt("The OPTI Version of NOMAD uses bb_output_type to describe CONSTRAINTS ONLY. Please remove any OBJ terms from the cell array.");
+#else
+    return NOMAD::OBJ;
+#endif
+    else if(!strcmp(str,"pb"))
+        return NOMAD::PB;
+    else if(!strcmp(str,"eb"))
+        return NOMAD::EB;
+    else if(!strcmp(str,"peb"))
+        return NOMAD::PEB_P;
+    else if(!strcmp(str,"f"))
+        return NOMAD::FILTER;
+    else if(!strcmp(str,"nothing") || !strcmp(str,"-"))
+        return NOMAD::UNDEFINED_BBO;
+    else {
+        sprintf(errstr,"Unknown BB_OUTPUT_TYPE %s",str);
+        mexErrMsgTxt(errstr);
+    }
+    //Default
+    return NOMAD::UNDEFINED_BBO;
+}
+
+//Convert input string to lowercase
+void lower(char *str)
+{
+    int i = 0;
+    while(str[i])
+    {
+        str[i] = tolower(str[i]);
+        i++;
+    }
+}
+
+//Determine input variable types (only OPTI version)
+vector<NOMAD::bb_input_type> detInTypes(char *xtype, size_t n)
+{
+    int i;
+    char msgbuf[1024];
+    vector<NOMAD::bb_input_type> varType(n);
+    for(i=0;i<n;i++)
+    {
+        switch(tolower(xtype[i]))
+        {
+            case 'c':
+                varType[i] = NOMAD::CATEGORICAL; break;
+            case 'r':
+                varType[i] = NOMAD::CONTINUOUS; break;
+                mexErrMsgTxt("Please specify continuous (real) variables using 'c' when using the OPTI version");  // C-> categorical (not implemented in Matlab version) R-> continuous/real !
+            case 'i':
+                varType[i] = NOMAD::INTEGER; break;
+            case 'b':
+                varType[i] = NOMAD::BINARY; break;
+            default:
+                sprintf(msgbuf,"Unknown xtype[%d] character: %c\n\nValid options are 'C', 'I', or 'B'\n",i,xtype[i]);
+                mexErrMsgTxt(msgbuf);
+        }
+    }
+    return varType;
+}
+
+//User Input Checking + Version / Info / Help
+int checkInputs(const mxArray *prhs[], int nrhs, mxArray *plhs[], int nlhs)
+{
+    size_t ndec;
+    char *str = NULL;
+    
+    //MEX Display Version (OPTI compatibility)
+    if (nrhs < 1)
+    {
+        if(nlhs < 1)
+            printSolverInfo();
+        else
+            plhs[0] = mxCreateString(NOMAD::VERSION.c_str());
+        return 0;
+    }
+    
+    //Redirect cout
+    std::streambuf *cout_sbuf = std::cout.rdbuf(); //keep existing buffer
+    std::cout.rdbuf(&buf); //redirect buffer
+    
+    //NOMAD Display
+    NOMAD::Display out (std::cout);
+    
+    //Check for display on options passed as structure
+    if(nrhs == 1 && mxIsStruct(prhs[0]))
+    {
+        int i, no = mxGetNumberOfFields(prhs[0]);
+        const char *field;
+        std::list<std::string> ls;
+        //For all fields, display nomad help
+        for(i=0;i<no;i++)
+        {
+            field = mxGetFieldNameByNumber(prhs[0],i);
+            string st(field);
+            ls.push_back ( st );
+        }
+        if(no>0)
+        {
+            //NOMAD Display
+            NOMAD::Parameters p ( out );
+            p.help(ls);
+        }
+        std::cout.rdbuf(cout_sbuf); //Return cout to initial buffer
+        return 0;
+    }
+    
+    //Check for Version / Information / Help Request
+    if(nrhs == 1 && mxIsChar(prhs[0]))
+    {
+        str = mxArrayToString(prhs[0]);
+        //Check for Info Request
+        if(!strcmp(str,"-I") || !strcmp(str,"-INFO") || !strcmp(str,"-i") || !strcmp(str,"-info"))
+        {
+            //Information to Print
+            mexPrintf("\nNOMAD Blackbox Optimization Software, v%s\n\n",NOMAD::VERSION.c_str());
+            mexPrintf("NOMAD - version %s has been created by {\n",NOMAD::VERSION.c_str());
+            mexPrintf("      Charles Audet        - Ecole Polytechnique de Montreal\n");
+            mexPrintf("      Sebastien Le Digabel - Ecole Polytechnique de Montreal\n");
+            mexPrintf("      Christophe Tribes    - Ecole Polytechnique de Montreal\n}\n\n");
+            mexPrintf("The copyright of NOMAD - version %s is owned by {\n",NOMAD::VERSION.c_str());
+            mexPrintf("      Sebastien Le Digabel - Ecole Polytechnique de Montreal\n");
+            mexPrintf("      Christophe Tribes    - Ecole Polytechnique de Montreal\n}\n\n");
+            mexPrintf("NOMAD version 3 is a new version of Nomad v1 and v2, it has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto and \n IVADO.");
+            mexPrintf("Nomad v1 and v2 were created and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E. Dennis Jr.,\n");
+            mexPrintf(" and were funded by AFOSR and Exxon Mobil.\n\n");
+            mexPrintf("Web       : www.gerad.ca/nomad\n");
+            mexPrintf("License   : \'%s\'\n",NOMAD::LGPL_FILE.c_str());
+            mexPrintf("User guide: \'%s\'\n",NOMAD::USER_GUIDE_FILE.c_str());
+            mexPrintf("Examples  : \'%s\'\n",NOMAD::EXAMPLES_DIR.c_str());
+            mexPrintf("Tools     : \'%s\'\n\n",NOMAD::TOOLS_DIR.c_str());
+            mexPrintf("Please report bugs to nomad@gerad.ca\n\n");
+            
+            std::cout.rdbuf(cout_sbuf); //Return cout to initial buffer
+            return 0;
+        }
+        //Check for Ver Request
+        if(!strcmp(str,"-V") || !strcmp(str,"-v") || !strcmp(str,"-version"))
+        {
+            mexPrintf("NOMAD - version %s - www.gerad.ca/nomad\n\n",NOMAD::VERSION.c_str());
+#ifdef OPTI_VERSION
+            mexPrintf("MEX Interface (OPTI) v%s\n",NOMADMEX_VERSION);
+#else
+            mexPrintf("MEX Interface (GERAD) v%s\n",NOMADMEX_VERSION);
+#endif
+            
+            std::cout.rdbuf(cout_sbuf); //Return cout to initial buffer
+            return 0;
+        }
+        //Check for Help Request
+        if (strcmp(str,"-H")<0 || strcmp(str,"-HELP")<0 || strcmp(str,"-h")<0 || strcmp(str,"-help")<0 )
+        {
+            NOMAD::Parameters p ( out );
+            std::list<std::string> helpS;
+            const char * toks=" ";
+            char *w = strtok(str,toks) ;
+            for ( w = strtok(NULL,toks) ; w != NULL ; w = strtok(NULL,toks) )
+            {
+                helpS.push_back(w);
+            }
+            p.help (helpS );
+            
+            std::cout.rdbuf(cout_sbuf); //Return cout to initial buffer
+            return 0;
+        }
+    }
+    
+    //Otherwise assume we have a normal problem
+    if(nrhs < 2)
+        mexErrMsgTxt("You must supply at least 2 arguments to nomad!\n\nnomad(fun,x0)\n");
+    
+    //Check Types
+    if(!mxIsFunctionHandle(pFUN) && !mxIsChar(pFUN))
+        mexErrMsgTxt("fun must be a function handle or function name!");
+    
+    if(!mxIsDouble(pX0) || mxIsComplex(pX0) || mxIsEmpty(pX0))
+        mexErrMsgTxt("x0 must be a real double column vector!");
+    
+    //Get ndec
+    ndec = mxGetNumberOfElements(prhs[1]);
+    
+    //Check Bounds
+    if(nrhs > 2)
+    {
+        if(!mxIsDouble(pLB) || mxIsComplex(pLB))
+            mexErrMsgTxt("lb must be a real double column vector!");
+        if(nrhs > 3 && (!mxIsDouble(pUB) || mxIsComplex(pUB)))
+            mexErrMsgTxt("ub must be a real double column vector!");
+        //Check Sizes
+        if(!mxIsEmpty(pLB) && (ndec != mxGetNumberOfElements(pLB)))
+            mexErrMsgTxt("lb is not the same length as x0! Ensure they are both Column Vectors");
+        if(nrhs > 3 && !mxIsEmpty(pUB) && (ndec != mxGetNumberOfElements(pUB)))
+            mexErrMsgTxt("ub is not the same length as x0! Ensure they are both Column Vectors");
+    }
+    
+#ifdef OPTI_VERSION
+    //Version check
+    if(nrhs > eNLRHS && mxIsStruct(pNLRHS))
+        mexErrMsgTxt("It appears you may be calling NOMAD using the GERAD NOMAD Syntax - nomad(bb,x0,lb,ub,opts). This is the OPTI NOMAD version and requires nomad(fun,x0,lb,ub,nlcon,nlrhs,xtype,opts).");
+    
+    //Check Nonlinear Constraint Handle
+    if(nrhs > eNLCON && !mxIsEmpty(pNLCON))
+    {
+        if(!mxIsFunctionHandle(pNLCON) && !mxIsChar(pNLCON))
+            mexErrMsgTxt("nlcon must be a function handle or function name!");
+        if(nrhs > eNLRHS && (!mxIsDouble(pNLRHS) || mxIsComplex(pNLRHS)))
+            mexErrMsgTxt("nlrhs must be a real double column vector!");
+    }
+    //Check for xtype
+    if(nrhs > eXTYPE && !mxIsEmpty(pXTYPE))
+    {
+        if(!mxIsChar(pXTYPE))
+            mexErrMsgTxt("The xtype vector must be a char array!");
+        if(ndec != mxGetNumberOfElements(pXTYPE))
+            mexErrMsgTxt("xtype is not same length as x0! Ensure they are both Column Vectors");
+    }
+#else
+    //Version check
+    if(nrhs > 6)
+        mexErrMsgTxt("It appears you may be calling NOMAD using the OPTI NOMAD Syntax - nomad(fun,x0,lb,ub,nlcon,nlrhs,xtype,opts). This is the GERAD NOMAD version and requires nomad(bb,x0,lb,ub,opts).");
+#endif
+    
+    //Check Options
+    if(nrhs > eOPTS && !mxIsEmpty(pOPTS))
+    {
+        //Version check
+        if(mxIsDouble(pOPTS))
+            mexErrMsgTxt("It appears you may be calling NOMAD using the OPTI NOMAD Syntax - nomad(fun,x0,lb,ub,nlcon,nlrhs,xtype,opts). This is the GERAD NOMAD version and requires nomad(bb,x0,lb,ub,opts).");
+        
+        if(!mxIsStruct(pOPTS))
+            mexErrMsgTxt("The specified options must be a structure!");
+    }
+    
+    //Return Continue
+    return  1;
+    
+}
+
+void setNOMADopts(NOMAD::Parameters &p, const mxArray *opts)
+{
+    char strbuf[1024];
+    int i, no = 0;
+    NOMAD::Parameter_Entries entries;
+    const char *field;
+    mxArray *value;
+    bool doAdd = false;
+    size_t m;
+    double val;
+    bool has_BB_OUTPUT_TYPE = false;
+    bool has_categorical =false;
+    
+    if(opts)
+        no = mxGetNumberOfFields(opts);
+    
+    //For each field, check if it's empty, if not, set it within NOMAD
+    for(i=0;i<no;i++)
+    {
+        field = mxGetFieldNameByNumber(opts,i);
+        value = mxGetFieldByNumber(opts,0,i);
+        
+        //Check we don't have an empty or MEX option
+        if( !mxIsEmpty(value) && isNMDOption(field) )
+        {
+            //Switch on data type
+            switch( mxGetClassID(value) )
+            {
+                    
+                case mxDOUBLE_CLASS:
+                    m = mxGetNumberOfElements(value);
+                    //This interface doesn't write vectors as options
+                    if(m > 1)
+                    {
+                        sprintf(strbuf,"This interface does not support vector options for parameter %s. Please provide it as a string",field);
+                        mexErrMsgTxt(strbuf);
+                    }
+                    val = *mxGetPr(value);
+                    //Check if we have an integer parameter (I assume this check is ok!)
+                    if(floor(val) == val)
+                    {
+                        sprintf(strbuf,"%s %.0f",field,val); doAdd = true; //write with no decimal points and no exponent
+                    }
+                    else
+                    {//write as double (exponent ok)
+                        sprintf(strbuf,"%s %g",field,val); doAdd = true;
+                    }
+                    break;
+                case mxFUNCTION_CLASS:
+                    if ( strcmp(field,"NEIGHBORS_MAT") == 0 || strcmp(field,"neighbors_mat") == 0 )
+                    {
+                        // sprintf(strbuf,"%s %s",field,mxArrayToString(value));
+                        has_categorical = true;
+                    }
+                    break;
+                case mxCHAR_CLASS:
+                    sprintf(strbuf,"%s %s",field,mxArrayToString(value));
+                    doAdd = true;
+                    //GERAD check for BB_OUTPUT_TYPE
+                    if ( strcmp(field,"BB_OUTPUT_TYPE") == 0 || strcmp(field,"bb_output_type") == 0 )
+                        has_BB_OUTPUT_TYPE = true;
+                    break;
+                    
+                case mxCELL_CLASS:
+#ifdef OPTI_VERSION
+                    //Add each string for the specified field
+                    m = mxGetNumberOfElements(value);
+                    for(j=0;j<m;j++)
+                    {
+                        mxArray *cellopt = mxGetCell(value,j);
+                        if( !mxIsChar(cellopt) )
+                        {
+                            sprintf(strbuf,"Element %d in the cell array of paramter %s is not a string",j+1,field);
+                            mexErrMsgTxt(strbuf);
+                        }
+                        //Get the string and create the required option string
+                        char *str = mxArrayToString(cellopt);
+                        sprintf(strbuf,"%s %s",field,str);
+                        
+                        //Add to our set of parameter entries
+                        NOMAD::Parameter_Entry *pe = new NOMAD::Parameter_Entry(strbuf);  // pe will be deleted by ~Parameter_Entries()
+                        if( pe->is_ok() )
+                            entries.insert(pe);
+                        else
+                        {
+                            sprintf(strbuf,"Parameter %s has an error",field);
+                            mexErrMsgTxt(strbuf);
+                        }
+                        
+                        //Free local memory at each iteration
+                        mxFree(str);
+                    }
+#else
+                    sprintf(strbuf,"Parameter %s NOT SET!\nThe GERAD version of the NOMAD interface does not support cell arrays. Please specify them as strings, with spaces between arguments.",field);
+                    mexWarnMsgTxt(strbuf);
+#endif
+                    break;
+                    
+                default:
+                    sprintf(strbuf,"Parameter %s NOT SET, CLASSID = %d which is not supported",field,mxGetClassID(value));
+                    mexWarnMsgTxt(strbuf);
+            }
+            
+            //If we have a valid parameter, add it to our set of entries
+            if( doAdd )  {
+                //mexPrintf("NOMAD Option set as: %s\n",strbuf); //enable for debug
+                NOMAD::Parameter_Entry *pe = new NOMAD::Parameter_Entry(strbuf);
+                if( pe->is_ok() )
+                    entries.insert(pe);  // pe will be deleted by ~Parameter_Entries()
+                else
+                {
+                    sprintf(strbuf,"Parameter %s has an error",field);
+                    mexErrMsgTxt(strbuf);
+                }
+                
+                doAdd = false;
+            }
+        }
+    }
+    //GERAD default bb_output_type if not specified
+#ifndef OPTI_VERSION
+    if( ! has_BB_OUTPUT_TYPE )
+    {
+        NOMAD::Parameter_Entry *pe = new NOMAD::Parameter_Entry("BB_OUTPUT_TYPE OBJ");
+        entries.insert(pe); // pe will be deleted by ~Parameter_Entries()
+    }
+#endif
+    
+    try
+    {
+        p.read(entries);
+    }
+    catch(exception &e)
+    {
+        sprintf(strbuf,"NOMAD Parameter Read Error:\n\n%s",e.what());
+        mexErrMsgTxt(strbuf);
+    }
+}
+
+//Separates MEX interface options from NOMAD ones
+bool isNMDOption(const char *field)
+{
+    if(!strcmp(field,"param_file"))
+        return false;
+    else if(!strcmp(field,"iterfun"))
+        return false;
+#ifdef OPTI_VERSION
+    else if(!strcmp(field,"bb_output_type"))
+        return false;
+#endif
+    else
+        return true;
+}
+
+double getStatus(int stat)
+{
+    switch((int)stat)
+    {
+        case 5:         //mesh minimum
+        case 8:         //min mesh size
+        case 9:         //min poll size
+        case 20:        //ftarget reached
+        case 19:        //feas reached
+            return 1;
+            break;
+        case 12:        //max time
+        case 13:        //max bb eval
+        case 14:        //max sur eval
+        case 15:        //max evals
+        case 16:        //max sim bb evals
+        case 17:        //max iter
+        case 23:        //max multi bb evals
+        case 24:        //max mads runs
+            return 0;
+            break;
+        case 10:        //max mesh index
+        case 11:        //mesh index limits
+        case 18:        //max consec fails
+        case 25:        //stagnation
+        case 26:        //no pareto
+        case 27:        //max cache memory
+            return -1;
+        case 6:         //x0 fail
+        case 7:         //p1_fail
+            return -2;
+        case 2:         //Unknown stop reason
+            return -3;
+        case 3:         //Ctrl-C
+        case 4:         //User-stopped
+            return -5;
+        default:        //Not assigned flag
+            return -3;
+    }
+}
+
+//Print Solver Information
+void printSolverInfo()
+{
+    mexPrintf("\n-----------------------------------------------------------\n");
+    mexPrintf(" NOMAD: Nonlinear Optimization using the MADS Algorithm [v%s]\n",NOMAD::VERSION.c_str());
+    mexPrintf("  - Released under the GNU Lesser General Public License: http://www.gnu.org/copyleft/lesser.html\n");
+    mexPrintf("  - Source available from: https://www.gerad.ca/nomad/\n");
+    
+    mexPrintf("\n MEX Interface J. Currie 2013 (www.i2c2.aut.ac.nz) and C. Tribes 2017  \n");
+    mexPrintf("-----------------------------------------------------------\n");
+}
diff --git a/examples/interfaces/Matlab_MEX/example_group_variables/param.txt b/examples/interfaces/Matlab_MEX/example_group_variables/param.txt
index 91163e0..393c36d 100644
--- a/examples/interfaces/Matlab_MEX/example_group_variables/param.txt
+++ b/examples/interfaces/Matlab_MEX/example_group_variables/param.txt
@@ -1,2 +1,2 @@
-VARIABLE_GROUP 0 1
+VARIABLE_GROUP 0 1
 VARIABLE_GROUP 2 3
\ No newline at end of file
diff --git a/examples/interfaces/Matlab_MEX/example_group_variables/test.m b/examples/interfaces/Matlab_MEX/example_group_variables/test.m
index 585abc0..ed2cc6e 100644
--- a/examples/interfaces/Matlab_MEX/example_group_variables/test.m
+++ b/examples/interfaces/Matlab_MEX/example_group_variables/test.m
@@ -10,10 +10,10 @@ lb = [0;0;0;0];
 x0 = [0;0;0;0];
 
 opts = []; %not no nomadset just to keep user options
-opts.display_degree = 3;
+opts.display_degree = 2;
 opts.bb_output_type = 'OBJ PB PB PB';
 opts.model_search = 'false';
 opts.param_file='param.txt';
-opts.max_bb_eval = 20;
+opts.max_bb_eval = 50;
 
 [xr,fval,ef,iter] = nomad(fun,x0,lb,ub,opts)
\ No newline at end of file
diff --git a/examples/interfaces/Matlab_MEX/example_int_variables/param.txt b/examples/interfaces/Matlab_MEX/example_int_variables/param.txt
index 2e03401..be379bd 100644
--- a/examples/interfaces/Matlab_MEX/example_int_variables/param.txt
+++ b/examples/interfaces/Matlab_MEX/example_int_variables/param.txt
@@ -1,3 +1,3 @@
-GRANULARITY 0-0 1
-GRANULARITY 3-3 1
+GRANULARITY 0-0 1
+GRANULARITY 3-3 1
 INITIAL_MESH_SIZE 5
\ No newline at end of file
diff --git a/examples/interfaces/Matlab_MEX/example_int_variables/run2.m b/examples/interfaces/Matlab_MEX/example_int_variables/run2.m
deleted file mode 100644
index 934c0ca..0000000
--- a/examples/interfaces/Matlab_MEX/example_int_variables/run2.m
+++ /dev/null
@@ -1,23 +0,0 @@
-%% PROBLEM 4 [fval = -2.5]
-clc
-fun = @(x)   [-x(1) - x(2) - x(3);
-              (x(2) - 1./2.)*(x(2) - 1./2.) + (x(3) - 1./2.)*(x(3) - 1./2.) - 1/4;
-                x(1) - x(2);
-                x(1) + x(3) + x(4) - 2];          
-ub = [1;10;10;5];
-lb = [0;0;0;0];
-x0 = [0;0;0;0];
-
-opts = []; %just to keep user options
-opts.display_degree = 2;
-opts.bb_output_type = 'OBJ PB PB PB';
-opts.model_search = 'false';
-opts.model_eval_sort = 'false';
-opts.max_eval =  500;
-opts.direction_type = 'ortho 2n';
-opts.param_file = 'param.txt';
-opts.anisotropic_mesh = 0;
-
-[xr,fval,ef,iter] = nomad(fun,x0,lb,ub,opts)
-
-
diff --git a/examples/interfaces/Matlab_MEX/test_nomad_gerad.m b/examples/interfaces/Matlab_MEX/test_nomad_gerad.m
index 47d8c88..d56a52b 100755
--- a/examples/interfaces/Matlab_MEX/test_nomad_gerad.m
+++ b/examples/interfaces/Matlab_MEX/test_nomad_gerad.m
@@ -1,151 +1,152 @@
-% GERAD VERSION TESTING
-
-
-%% PROBLEM 1
-fun = @(x) (1-x(1))^2 + 100 *(x(2)-x(1)^2)^2;
-x0 = [-2 1]';
-lb = [-Inf;-1.5];
-ub = [100;100];
-opts = nomadset('display_degree',2,'min_mesh_size','1e-004','initial_mesh_size','10'); 
-
-% Start optimization
-[x,fval] = nomad(fun,x0,lb,ub,opts);
-
-
-%Uncomment the following problems for further testing
-
-
-% %% PROBLEM 2
-% % Blackbox Function
-% %clc
-% bb = @(x) [29.4*x(1) + 18*x(2);
-%            -(x(1) - 0.2458*x(1)^2/x(2)) + 6];
-% % Bounds      
-% lb = [0;1e-5];
-% ub = [115.8;30];
-% % Starting Guess
-% x0 = [0;1e-5];
-% % Options
-% opts = nomadset('display_degree',2,'bb_output_type','OBJ EB','max_bb_eval',50);
-% 
-% [x,fval,ef,iter] = nomad(bb,x0,lb,ub,opts);
-% 
-% 
-% 
-% 
-% %% PROBLEM 3
-% %clc
-% % Blackbox Function
-% bb = @(x) (1-x(1))^2 + 100 *(x(2)-x(1)^2)^2;
-% % Starting Guess
-% x0 = [0 0]';
-% opts = []; %not no nomadset just to keep user options
-% opts.display_degree = 2;
-% opts.direction_type = 'ortho n+1';
-% opts.max_bb_eval = 2;
-% % Solve
-% [x,fval,ef,iter] = nomad(bb,x0,[],[],opts)
-% 
-% %% PROBLEM 4 [fval = -2.5]
-% %clc
-% fun = @(x)   [-x(1) - x(2) - x(3);
-%               (x(2) - 1./2.)*(x(2) - 1./2.) + (x(3) - 1./2.)*(x(3) - 1./2.) - 1/4;
-%                 x(1) - x(2);
-%                 x(1) + x(3) + x(4) - 2];          
-% ub = [1;10;10;5];
-% lb = [0;0;0;0];
-% x0 = [0;0;0;0];
-% 
-% opts = []; %not no nomadset just to keep user options
-% opts.display_degree = 2;
-% opts.bb_output_type = 'OBJ PB PB PB';
-% opts.bb_input_type = '[B R R I]';
-% opts.model_search = 'false';
-% opts.model_eval_sort = 'false';
-% 
-% [xr,fval,ef,iter] = nomad(fun,x0,lb,ub,opts)
-% 
-% 
-% %% Rosenbrock [x = 1,1, fval = 0]
-% % Blackbox Function
-% %clc
-% bb = @(x) (1-x(1))^2 + 100 *(x(2)-x(1)^2)^2;
-% % Starting Guess
-% x0 = [0 0]';
-% % Solve
-% [x,fval,ef,iter] = nomad(bb,x0)
-% 
-% %% St_e01 [x = 6,0.6667, fval = -6.6667]
-% % Blackbox Function
-% %clc
-% bb = @(x) [-x(1) - x(2);
-%            x(1)*x(2) - 4];
-% % Bounds
-% lb = [0;0];
-% ub = [6;4];
-% % Starting Guess
-% x0 = [1,1]';
-% % Options
-% opts = nomadset('display_degree',2,'bb_output_type','OBJ PB');
-% % Solve
-% [x,fval,ef,iter] = nomad(bb,x0,lb,ub,opts)
-% 
-% %% St_e08 [x = 0.1294, 0.4830, fval = 0.7418]
-% %clc
-% % Blackbox Function
-% bb = @(x) [2*x(1)+x(2);
-%            -16*x(1)*x(2) + 1; 
-%            (-4*x(1)^2) - 4*x(2)^2 + 1];
-% % Bounds       
-% lb = [0;0];
-% ub = [1;1];
-% % Starting Guess
-% x0 = [0;0];
-% % Options
-% opts = nomadset('display_degree',2,'bb_output_type','OBJ PB PB');
-% 
-% [x,fval,ef,iter] = nomad(bb,x0,lb,ub,opts)
-% 
-% %% Wolfram problem (multiple global minima fval = 0)
-% %clc
-% % Fitting Function
-% obj = @(x) [x(1) - sin(2*x(1) + 3*x(2)) - cos(3*x(1) - 5*x(2));
-%           x(2) - sin(x(1) - 2*x(2)) + cos(x(1) + 3*x(2))];      
-% % Blackbox Function      
-% bb = @(x) norm(obj(x));
-% 
-% % Bounds
-% lb = [-4;-4];
-% ub = [4;4];
-% % Starting Guess
-% x0 = [0;-3];
-% % Options
-% opts = nomadset('display_degree',2,'vns_search',0.9,'f_target',1e-6);
-% 
-% [x,fval,ef,iter] = nomad(bb,x0,lb,ub,opts)
-% 
-% %% MINLP 1 [fval = -5]
-% %clc
-% fun = @(x) [ (x(1) - 5)^2 + x(2)^2 - 25;
-%               x(1)^2 - x(2) + 0.5 ];
-% x0 = [0;0];
-% opts = nomadset('display_degree',2,'bb_input_type','[I I]','bb_output_type','OBJ PB');
-% [xr,fval,ef,iter] = nomad(fun,x0,[],[],opts)
-% 
-% %% Bi-Objective (NOMAD Example)
-% %clc
-% % Blackbox Function
-% bb = @(x) [x(5); 
-%            sum((x-1).^2)-25;
-%            25-sum((x+1).^2)];   
-% % Bounds       
-% lb = [-6;-6;-6;-6;-6];
-% ub = [5;6;7;Inf;Inf];
-% % Starting Guess
-% x0 = [0;0;0;0;0];
-% % Options
-% % note the setting of bb_output_type in order to specify two objectives
-% opts = nomadset('display_degree',2,'multi_overall_bb_eval',100,'bb_output_type','obj obj eb');
-% 
-% [xr,fval,ef,iter] = nomad(bb,x0,lb,ub,opts)
-% 
+% GERAD VERSION TESTING
+
+
+%% PROBLEM 1
+fun = @(x) (1-x(1))^2 + 100 *(x(2)-x(1)^2)^2;
+x0 = [-2 1]';
+lb = [-Inf;-1.5];
+ub = [100;100];
+opts = nomadset('min_mesh_size','1e-004','initial_mesh_size','10'); 
+
+% Start optimization
+[x,fval] = nomad(fun,x0,lb,ub,opts);
+
+
+%Uncomment the following problems for further testing
+
+
+% %% PROBLEM 2
+% % Blackbox Function
+% %clc
+% bb = @(x) [29.4*x(1) + 18*x(2);
+%            -(x(1) - 0.2458*x(1)^2/x(2)) + 6];
+% % Bounds      
+% lb = [0;1e-5];
+% ub = [115.8;30];
+% % Starting Guess
+% x0 = [0;1e-5];
+% % Options
+% opts = nomadset('display_degree',2,'bb_output_type','OBJ EB','max_bb_eval',50);
+% 
+% [x,fval,ef,iter] = nomad(bb,x0,lb,ub,opts);
+% 
+% 
+% 
+% 
+%% PROBLEM 3
+% %clc
+% % Blackbox Function
+% bb = @(x) (1-x(1))^2 + 100 *(x(2)-x(1)^2)^2;
+% % Starting Guess
+% x0 = [0 0]';
+% opts = []; %not no nomadset just to keep user options
+% opts.display_degree = 2;
+% opts.direction_type = 'ortho n+1';
+% opts.max_bb_eval = 200;
+% % Solve
+% [x,fval,ef,iter] = nomad(bb,x0,[],[],opts)
+% 
+%% PROBLEM 4 [fval = -2.5]
+% %clc
+% fun = @(x)   [-x(1) - x(2) - x(3);
+%               (x(2) - 1./2.)*(x(2) - 1./2.) + (x(3) - 1./2.)*(x(3) - 1./2.) - 1/4;
+%                 x(1) - x(2);
+%                 x(1) + x(3) + x(4) - 2];          
+% ub = [1;10;10;5];
+% lb = [0;0;0;0];
+% x0 = [0;0;0;0];
+% 
+% opts = []; %not no nomadset just to keep user options
+% opts.display_degree = 2;
+% opts.bb_output_type = 'OBJ PB PB PB';
+% opts.bb_input_type = '[B R R I]';
+% opts.model_search = 'false';
+% opts.max_bb_eval=50;
+% opts.model_eval_sort = 'false';
+% 
+% [xr,fval,ef,iter] = nomad(fun,x0,lb,ub,opts)
+% 
+% 
+% %% Rosenbrock [x = 1,1, fval = 0]
+% % Blackbox Function
+% %clc
+% bb = @(x) (1-x(1))^2 + 100 *(x(2)-x(1)^2)^2;
+% % Starting Guess
+% x0 = [0 0]';
+% % Solve
+% [x,fval,ef,iter] = nomad(bb,x0)
+% 
+% %% St_e01 [x = 6,0.6667, fval = -6.6667]
+% % Blackbox Function
+% %clc
+% bb = @(x) [-x(1) - x(2);
+%            x(1)*x(2) - 4];
+% % Bounds
+% lb = [0;0];
+% ub = [6;4];
+% % Starting Guess
+% x0 = [1,1]';
+% % Options
+% opts = nomadset('display_degree',2,'bb_output_type','OBJ PB');
+% % Solve
+% [x,fval,ef,iter] = nomad(bb,x0,lb,ub,opts)
+% 
+% %% St_e08 [x = 0.1294, 0.4830, fval = 0.7418]
+% %clc
+% % Blackbox Function
+% bb = @(x) [2*x(1)+x(2);
+%            -16*x(1)*x(2) + 1; 
+%            (-4*x(1)^2) - 4*x(2)^2 + 1];
+% % Bounds       
+% lb = [0;0];
+% ub = [1;1];
+% % Starting Guess
+% x0 = [0;0];
+% % Options
+% opts = nomadset('display_degree',2,'bb_output_type','OBJ PB PB');
+% 
+% [x,fval,ef,iter] = nomad(bb,x0,lb,ub,opts)
+% 
+% %% Wolfram problem (multiple global minima fval = 0)
+% %clc
+% % Fitting Function
+% obj = @(x) [x(1) - sin(2*x(1) + 3*x(2)) - cos(3*x(1) - 5*x(2));
+%           x(2) - sin(x(1) - 2*x(2)) + cos(x(1) + 3*x(2))];      
+% % Blackbox Function      
+% bb = @(x) norm(obj(x));
+% 
+% % Bounds
+% lb = [-4;-4];
+% ub = [4;4];
+% % Starting Guess
+% x0 = [0;-3];
+% % Options
+% opts = nomadset('display_degree',2,'vns_search',0.9,'f_target',1e-6);
+% 
+% [x,fval,ef,iter] = nomad(bb,x0,lb,ub,opts)
+% 
+% %% MINLP 1 [fval = -5]
+%clc
+% fun = @(x) [ (x(1) - 5)^2 + x(2)^2 - 25;
+%               x(1)^2 - x(2) + 0.5 ];
+% x0 = [0;0];
+% opts = nomadset('display_degree',2,'bb_input_type','[I I]','bb_output_type','OBJ PB','max_bb_eval',20);
+% [xr,fval,ef,iter] = nomad(fun,x0,[],[],opts)
+% 
+% %% Bi-Objective (NOMAD Example)
+% %clc
+% % Blackbox Function
+% bb = @(x) [x(5); 
+%            sum((x-1).^2)-25;
+%            25-sum((x+1).^2)];   
+% % Bounds       
+% lb = [-6;-6;-6;-6;-6];
+% ub = [5;6;7;Inf;Inf];
+% % Starting Guess
+% x0 = [0;0;0;0;0];
+% % Options
+% % note the setting of bb_output_type in order to specify two objectives
+% opts = nomadset('display_degree',2,'multi_overall_bb_eval',100,'bb_output_type','obj obj eb');
+% 
+% [xr,fval,ef,iter] = nomad(bb,x0,lb,ub,opts)
+% 
diff --git a/examples/interfaces/NOMAD2/param.txt b/examples/interfaces/NOMAD2/param.txt
index 5d43a20..68b663c 100644
--- a/examples/interfaces/NOMAD2/param.txt
+++ b/examples/interfaces/NOMAD2/param.txt
@@ -1,41 +1,41 @@
-DIMENSION		2
-
-BB_OUTPUT_TYPE		OBJ CSTR CSTR CSTR 
-# Output type, see the documentation for details
-
-BB_EXE		bb.exe	#'bb.exe' is a C++ executable used for run NOMAD with NOMAD v3.
-
-X0 ( 3 1.2 )	# Starting point
-
-LOWER_BOUND ( -50 -50 )
-
-UPPER_BOUND ( 50 50 )
-
-SOLUTION_FILE		HS23/results.txt
-
-MESH_UPDATE_BASIS		2
-
-MESH_COARSENING_EXPONENT		1
-
-MESH_REFINING_EXPONENT		-1
-
-SEED		1
-
-OPPORTUNISTIC_EVAL		yes
-
-DIRECTION_TYPE		GPS 2N
-
-OPPORTUNISTIC_LH		yes
-
-SPECULATIVE_SEARCH		yes
-
-MAX_BB_EVAL		50
-
-H_MAX_0		5
-
-H_MIN		0.0001
-
-H_NORM		L2
-
-RHO		0.1
-
+DIMENSION		2
+
+BB_OUTPUT_TYPE		OBJ CSTR CSTR CSTR 
+# Output type, see the documentation for details
+
+BB_EXE		bb.exe	#'bb.exe' is a C++ executable used for run NOMAD with NOMAD v3.
+
+X0 ( 3 1.2 )	# Starting point
+
+LOWER_BOUND ( -50 -50 )
+
+UPPER_BOUND ( 50 50 )
+
+SOLUTION_FILE		HS23/results.txt
+
+MESH_UPDATE_BASIS		2
+
+MESH_COARSENING_EXPONENT		1
+
+MESH_REFINING_EXPONENT		-1
+
+SEED		1
+
+OPPORTUNISTIC_EVAL		yes
+
+DIRECTION_TYPE		GPS 2N
+
+OPPORTUNISTIC_LH		yes
+
+SPECULATIVE_SEARCH		yes
+
+MAX_BB_EVAL		50
+
+H_MAX_0		5
+
+H_MIN		0.0001
+
+H_NORM		L2
+
+RHO		0.1
+
diff --git a/examples/interfaces/NOMAD2/reader.cpp b/examples/interfaces/NOMAD2/reader.cpp
index 9f140b6..d70a613 100644
--- a/examples/interfaces/NOMAD2/reader.cpp
+++ b/examples/interfaces/NOMAD2/reader.cpp
@@ -1,37 +1,4 @@
 /*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonsmooth Optimization by Mesh Adaptive Direct search - version 3.2        */
-/*                                                                                     */
-/*  Copyright (C) 2001-2008  Mark Abramson        - the Boeing Company, Seattle        */
-/*                           Charles Audet        - Ecole Polytechnique, Montreal      */
-/*                           Gilles Couture       - Ecole Polytechnique, Montreal      */
-/*                           John Dennis          - Rice University, Houston           */
-/*                           Sebastien Le Digabel - Ecole Polytechnique, Montreal      */
-/*                                                                                     */
-/*  funded in part by AFOSR and Exxon Mobil                                            */
-/*                                                                                     */
-/*  Author: Quentin Reynaud                                                            */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU General Public License as published by the Free Software          */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU General Public License for more details.          */
-/*                                                                                     */
-/*  You should have received a copy of the GNU General Public License along with this  */
-/*  program. If not, see <http://www.gnu.org/licenses/>.                               */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
 /*  This program read informations files from NOMAD version 2 and create the           */
 /*  parameters files used by NOMAD version 3                                           */
 /*-------------------------------------------------------------------------------------*/
@@ -553,6 +520,7 @@ int main(int argc, char** argv)
 					}
 
 					if (isSurrogate)
+					{
 						if (surrogate != "")
 						{
 							fic << "SGTE_EXE\t\t" ;
@@ -562,7 +530,7 @@ int main(int argc, char** argv)
 						{
 							cout<< "Warning : you are using surrogate, but no surrogate function is given."<<endl;
 						}
-						
+					}	
 					// Parameters from parameters file
 					if (isParam[0])
 					{
diff --git a/examples/interfaces/NOMAD2/readme.txt b/examples/interfaces/NOMAD2/readme.txt
index 6651edf..23e8cfc 100644
--- a/examples/interfaces/NOMAD2/readme.txt
+++ b/examples/interfaces/NOMAD2/readme.txt
@@ -1,50 +1,50 @@
-The reader.cpp file is a program which can help you to use NOMAD version 3
-with problems for the version 2.
-
-In this part, we assume that the directory in which this readme.txt file is located is:
-
-   $nomad2_interface
-
-"./HS23" is an example of input directory.
-
-We also assume that the NOMAD v2 black-box executables are compiled.
-In the example directory, a 'compile' script in given.
-
-     HOW TO USE READER.CPP:
-
-First, you have to compile it. For example, use the following command:
-
-   cd $nomad2_interface
-   g++ -o reader.exe reader.cpp
-
-Then, you can run the executable with one or two argument(s),
-like this:
-
-   ./reader.exe $dir/description_file ($dir/parameter_file)
-
-description_file and parameter_file are two files used by NOMAD (version 2) to solve a problem.
-You have to put all the required files in the same directory ("dir" in our example) :
-the description_file and the parameter file,
-the executables files (for constraints and objective function), the input...
-
-Somes files are created when the reader is executed:
-
-* bb.cpp: This is the Black Box used by NOMAD.
-You have to compile it with:
-
-   g++ -o bb.exe bb.cpp
-
-Warning: The name of this executable must be "bb.exe",
-or you have to change this name in the param.txt file (after "BB_EXE").
-
-* param.txt: This file contains all the parameters used by NOMAD.
-
-
-     HOW TO USE NOMAD:
-
-You just have to call:
-
-   $NOMAD_HOME/bin/nomad.exe $nomad2_interface/param.txt
-
-
-WARNING: this program works under LINUX; with WINDOWS, you may have to manually change the executable paths directly into the created source file bb.cpp.
+The reader.cpp file is a program which can help you to use NOMAD version 3
+with problems for the version 2.
+
+In this part, we assume that the directory in which this readme.txt file is located is:
+
+   $nomad2_interface
+
+"./HS23" is an example of input directory.
+
+We also assume that the NOMAD v2 black-box executables are compiled.
+In the example directory, a 'compile' script in given.
+
+     HOW TO USE READER.CPP:
+
+First, you have to compile it. For example, use the following command:
+
+   cd $nomad2_interface
+   g++ -o reader.exe reader.cpp
+
+Then, you can run the executable with one or two argument(s),
+like this:
+
+   ./reader.exe $dir/description_file ($dir/parameter_file)
+
+description_file and parameter_file are two files used by NOMAD (version 2) to solve a problem.
+You have to put all the required files in the same directory ("dir" in our example) :
+the description_file and the parameter file,
+the executables files (for constraints and objective function), the input...
+
+Somes files are created when the reader is executed:
+
+* bb.cpp: This is the Black Box used by NOMAD.
+You have to compile it with:
+
+   g++ -o bb.exe bb.cpp
+
+Warning: The name of this executable must be "bb.exe",
+or you have to change this name in the param.txt file (after "BB_EXE").
+
+* param.txt: This file contains all the parameters used by NOMAD.
+
+
+     HOW TO USE NOMAD:
+
+You just have to call:
+
+   $NOMAD_HOME/bin/nomad.exe $nomad2_interface/param.txt
+
+
+WARNING: this program works under LINUX; with WINDOWS, you may have to manually change the executable paths directly into the created source file bb.cpp.
diff --git a/examples/interfaces/NOMAD2/runExample.log b/examples/interfaces/NOMAD2/runExample.log
deleted file mode 100644
index b0f95b8..0000000
--- a/examples/interfaces/NOMAD2/runExample.log
+++ /dev/null
@@ -1,36 +0,0 @@
-
-NOMAD - version 3.6.1 - www.gerad.ca/nomad
-
-Copyright (C) 2001-2013 {
-	Mark A. Abramson     - The Boeing Company
-	Charles Audet        - Ecole Polytechnique de Montreal
-	Gilles Couture       - Ecole Polytechnique de Montreal
-	John E. Dennis, Jr.  - Rice University
-	Sebastien Le Digabel - Ecole Polytechnique de Montreal
-	Christophe Tribes    - Ecole Polytechnique de Montreal
-} 
-
-Funded in part by AFOSR and Exxon Mobil.
-
-License   : '$NOMAD_HOME/src/lgpl.txt'
-User guide: '$NOMAD_HOME/doc/user_guide.pdf'
-Examples  : '$NOMAD_HOME/examples'
-Tools     : '$NOMAD_HOME/tools'
-
-Please report bugs to nomad@gerad.ca
-
-MADS run {
-
-	BBE	OBJ
-
-	 8	77.4106000000
-	13	14.6999000000
-	32	12.2638000000
-	41	2.6618100000
-	50	2.6618100000
-
-} end of run (max number of blackbox evaluations)
-
-blackbox evaluations    : 50
-best infeasible solution: ( 3 -1.728932188 ) h=0.0107935 f=11.9892
-best feasible solution  : ( 1.125 1.181601718 ) h=0 f=2.66181
diff --git a/examples/interfaces/pyNomad_Beta/PyNomad.cpp b/examples/interfaces/pyNomad_Beta/PyNomad.cpp
new file mode 100644
index 0000000..d0d023f
--- /dev/null
+++ b/examples/interfaces/pyNomad_Beta/PyNomad.cpp
@@ -0,0 +1,6057 @@
+/* Generated by Cython 0.24.1 */
+
+/* BEGIN: Cython Metadata
+{
+    "distutils": {
+        "depends": [
+            "/Users/christophe/Development/NOMAD/NOMAD_Release/src/Double.hpp", 
+            "/Users/christophe/Development/NOMAD/NOMAD_Release/src/Eval_Point.hpp", 
+            "nomadCySimpleInterface.cpp"
+        ], 
+        "extra_compile_args": [
+            "-w"
+        ], 
+        "extra_link_args": [
+            "-headerpad_max_install_names"
+        ], 
+        "include_dirs": [
+            "/Users/christophe/Development/NOMAD/NOMAD_Release/src", 
+            "/Users/christophe/Development/NOMAD/NOMAD_Release/ext/sgtelib/src", 
+            "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/core/include"
+        ], 
+        "language": "c++", 
+        "libraries": [
+            "nomad"
+        ], 
+        "library_dirs": [
+            "/Users/christophe/Development/NOMAD/NOMAD_Release/lib"
+        ]
+    }, 
+    "module_name": "PyNomad"
+}
+END: Cython Metadata */
+
+#define PY_SSIZE_T_CLEAN
+#include "Python.h"
+#ifndef Py_PYTHON_H
+    #error Python headers needed to compile C extensions, please install development version of Python.
+#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03020000)
+    #error Cython requires Python 2.6+ or Python 3.2+.
+#else
+#define CYTHON_ABI "0_24_1"
+#include <stddef.h>
+#ifndef offsetof
+  #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
+#endif
+#if !defined(WIN32) && !defined(MS_WINDOWS)
+  #ifndef __stdcall
+    #define __stdcall
+  #endif
+  #ifndef __cdecl
+    #define __cdecl
+  #endif
+  #ifndef __fastcall
+    #define __fastcall
+  #endif
+#endif
+#ifndef DL_IMPORT
+  #define DL_IMPORT(t) t
+#endif
+#ifndef DL_EXPORT
+  #define DL_EXPORT(t) t
+#endif
+#ifndef PY_LONG_LONG
+  #define PY_LONG_LONG LONG_LONG
+#endif
+#ifndef Py_HUGE_VAL
+  #define Py_HUGE_VAL HUGE_VAL
+#endif
+#ifdef PYPY_VERSION
+  #define CYTHON_COMPILING_IN_PYPY 1
+  #define CYTHON_COMPILING_IN_CPYTHON 0
+#else
+  #define CYTHON_COMPILING_IN_PYPY 0
+  #define CYTHON_COMPILING_IN_CPYTHON 1
+#endif
+#if !defined(CYTHON_USE_PYLONG_INTERNALS) && CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x02070000
+  #define CYTHON_USE_PYLONG_INTERNALS 1
+#endif
+#if CYTHON_USE_PYLONG_INTERNALS
+  #include "longintrepr.h"
+  #undef SHIFT
+  #undef BASE
+  #undef MASK
+#endif
+#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag)
+  #define Py_OptimizeFlag 0
+#endif
+#define __PYX_BUILD_PY_SSIZE_T "n"
+#define CYTHON_FORMAT_SSIZE_T "z"
+#if PY_MAJOR_VERSION < 3
+  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
+  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
+          PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
+  #define __Pyx_DefaultClassType PyClass_Type
+#else
+  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
+  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
+          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
+  #define __Pyx_DefaultClassType PyType_Type
+#endif
+#ifndef Py_TPFLAGS_CHECKTYPES
+  #define Py_TPFLAGS_CHECKTYPES 0
+#endif
+#ifndef Py_TPFLAGS_HAVE_INDEX
+  #define Py_TPFLAGS_HAVE_INDEX 0
+#endif
+#ifndef Py_TPFLAGS_HAVE_NEWBUFFER
+  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
+#endif
+#ifndef Py_TPFLAGS_HAVE_FINALIZE
+  #define Py_TPFLAGS_HAVE_FINALIZE 0
+#endif
+#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
+  #define CYTHON_PEP393_ENABLED 1
+  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ?\
+                                              0 : _PyUnicode_Ready((PyObject *)(op)))
+  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
+  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
+  #define __Pyx_PyUnicode_KIND(u)         PyUnicode_KIND(u)
+  #define __Pyx_PyUnicode_DATA(u)         PyUnicode_DATA(u)
+  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
+  #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
+#else
+  #define CYTHON_PEP393_ENABLED 0
+  #define __Pyx_PyUnicode_READY(op)       (0)
+  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
+  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
+  #define __Pyx_PyUnicode_KIND(u)         (sizeof(Py_UNICODE))
+  #define __Pyx_PyUnicode_DATA(u)         ((void*)PyUnicode_AS_UNICODE(u))
+  #define __Pyx_PyUnicode_READ(k, d, i)   ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
+  #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_SIZE(u))
+#endif
+#if CYTHON_COMPILING_IN_PYPY
+  #define __Pyx_PyUnicode_Concat(a, b)      PyNumber_Add(a, b)
+  #define __Pyx_PyUnicode_ConcatSafe(a, b)  PyNumber_Add(a, b)
+#else
+  #define __Pyx_PyUnicode_Concat(a, b)      PyUnicode_Concat(a, b)
+  #define __Pyx_PyUnicode_ConcatSafe(a, b)  ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\
+      PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b))
+#endif
+#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains)
+  #define PyUnicode_Contains(u, s)  PySequence_Contains(u, s)
+#endif
+#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check)
+  #define PyByteArray_Check(obj)  PyObject_TypeCheck(obj, &PyByteArray_Type)
+#endif
+#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format)
+  #define PyObject_Format(obj, fmt)  PyObject_CallMethod(obj, "__format__", "O", fmt)
+#endif
+#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc)
+  #define PyObject_Malloc(s)   PyMem_Malloc(s)
+  #define PyObject_Free(p)     PyMem_Free(p)
+  #define PyObject_Realloc(p)  PyMem_Realloc(p)
+#endif
+#define __Pyx_PyString_FormatSafe(a, b)   ((unlikely((a) == Py_None)) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b))
+#define __Pyx_PyUnicode_FormatSafe(a, b)  ((unlikely((a) == Py_None)) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))
+#if PY_MAJOR_VERSION >= 3
+  #define __Pyx_PyString_Format(a, b)  PyUnicode_Format(a, b)
+#else
+  #define __Pyx_PyString_Format(a, b)  PyString_Format(a, b)
+#endif
+#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII)
+  #define PyObject_ASCII(o)            PyObject_Repr(o)
+#endif
+#if PY_MAJOR_VERSION >= 3
+  #define PyBaseString_Type            PyUnicode_Type
+  #define PyStringObject               PyUnicodeObject
+  #define PyString_Type                PyUnicode_Type
+  #define PyString_Check               PyUnicode_Check
+  #define PyString_CheckExact          PyUnicode_CheckExact
+#endif
+#if PY_MAJOR_VERSION >= 3
+  #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj)
+  #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj)
+#else
+  #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj))
+  #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj))
+#endif
+#ifndef PySet_CheckExact
+  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
+#endif
+#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
+#if PY_MAJOR_VERSION >= 3
+  #define PyIntObject                  PyLongObject
+  #define PyInt_Type                   PyLong_Type
+  #define PyInt_Check(op)              PyLong_Check(op)
+  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
+  #define PyInt_FromString             PyLong_FromString
+  #define PyInt_FromUnicode            PyLong_FromUnicode
+  #define PyInt_FromLong               PyLong_FromLong
+  #define PyInt_FromSize_t             PyLong_FromSize_t
+  #define PyInt_FromSsize_t            PyLong_FromSsize_t
+  #define PyInt_AsLong                 PyLong_AsLong
+  #define PyInt_AS_LONG                PyLong_AS_LONG
+  #define PyInt_AsSsize_t              PyLong_AsSsize_t
+  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
+  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
+  #define PyNumber_Int                 PyNumber_Long
+#endif
+#if PY_MAJOR_VERSION >= 3
+  #define PyBoolObject                 PyLongObject
+#endif
+#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY
+  #ifndef PyUnicode_InternFromString
+    #define PyUnicode_InternFromString(s) PyUnicode_FromString(s)
+  #endif
+#endif
+#if PY_VERSION_HEX < 0x030200A4
+  typedef long Py_hash_t;
+  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
+  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
+#else
+  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
+  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
+#endif
+#if PY_MAJOR_VERSION >= 3
+  #define __Pyx_PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
+#else
+  #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass)
+#endif
+#if PY_VERSION_HEX >= 0x030500B1
+#define __Pyx_PyAsyncMethodsStruct PyAsyncMethods
+#define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async)
+#elif CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
+typedef struct {
+    unaryfunc am_await;
+    unaryfunc am_aiter;
+    unaryfunc am_anext;
+} __Pyx_PyAsyncMethodsStruct;
+#define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved))
+#else
+#define __Pyx_PyType_AsAsync(obj) NULL
+#endif
+#ifndef CYTHON_RESTRICT
+  #if defined(__GNUC__)
+    #define CYTHON_RESTRICT __restrict__
+  #elif defined(_MSC_VER) && _MSC_VER >= 1400
+    #define CYTHON_RESTRICT __restrict
+  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+    #define CYTHON_RESTRICT restrict
+  #else
+    #define CYTHON_RESTRICT
+  #endif
+#endif
+#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)
+
+#ifndef __cplusplus
+  #error "Cython files generated with the C++ option must be compiled with a C++ compiler."
+#endif
+#ifndef CYTHON_INLINE
+  #define CYTHON_INLINE inline
+#endif
+template<typename T>
+void __Pyx_call_destructor(T& x) {
+    x.~T();
+}
+template<typename T>
+class __Pyx_FakeReference {
+  public:
+    __Pyx_FakeReference() : ptr(NULL) { }
+    __Pyx_FakeReference(const T& ref) : ptr(const_cast<T*>(&ref)) { }
+    T *operator->() { return ptr; }
+    operator T&() { return *ptr; }
+  private:
+    T *ptr;
+};
+
+#if defined(WIN32) || defined(MS_WINDOWS)
+  #define _USE_MATH_DEFINES
+#endif
+#include <math.h>
+#ifdef NAN
+#define __PYX_NAN() ((float) NAN)
+#else
+static CYTHON_INLINE float __PYX_NAN() {
+  float value;
+  memset(&value, 0xFF, sizeof(value));
+  return value;
+}
+#endif
+#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL)
+#define __Pyx_truncl trunc
+#else
+#define __Pyx_truncl truncl
+#endif
+
+
+#define __PYX_ERR(f_index, lineno, Ln_error) \
+{ \
+  __pyx_filename = __pyx_f[f_index]; __pyx_lineno = lineno; __pyx_clineno = __LINE__; goto Ln_error; \
+}
+
+#if PY_MAJOR_VERSION >= 3
+  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
+  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
+#else
+  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
+  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
+#endif
+
+#ifndef __PYX_EXTERN_C
+  #ifdef __cplusplus
+    #define __PYX_EXTERN_C extern "C"
+  #else
+    #define __PYX_EXTERN_C extern
+  #endif
+#endif
+
+#define __PYX_HAVE__PyNomad
+#define __PYX_HAVE_API__PyNomad
+#include <vector>
+#include "ios"
+#include "new"
+#include "stdexcept"
+#include "typeinfo"
+#include "string.h"
+#include <string>
+#include <list>
+#include "Double.hpp"
+#include "Eval_Point.hpp"
+#include "nomadCySimpleInterface.cpp"
+#ifdef _OPENMP
+#include <omp.h>
+#endif /* _OPENMP */
+
+#ifdef PYREX_WITHOUT_ASSERTIONS
+#define CYTHON_WITHOUT_ASSERTIONS
+#endif
+
+#ifndef CYTHON_UNUSED
+# if defined(__GNUC__)
+#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
+#     define CYTHON_UNUSED __attribute__ ((__unused__))
+#   else
+#     define CYTHON_UNUSED
+#   endif
+# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
+#   define CYTHON_UNUSED __attribute__ ((__unused__))
+# else
+#   define CYTHON_UNUSED
+# endif
+#endif
+#ifndef CYTHON_NCP_UNUSED
+# if CYTHON_COMPILING_IN_CPYTHON
+#  define CYTHON_NCP_UNUSED
+# else
+#  define CYTHON_NCP_UNUSED CYTHON_UNUSED
+# endif
+#endif
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;
+                const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;
+
+#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0
+#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT 0
+#define __PYX_DEFAULT_STRING_ENCODING ""
+#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString
+#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
+#define __Pyx_uchar_cast(c) ((unsigned char)c)
+#define __Pyx_long_cast(x) ((long)x)
+#define __Pyx_fits_Py_ssize_t(v, type, is_signed)  (\
+    (sizeof(type) < sizeof(Py_ssize_t))  ||\
+    (sizeof(type) > sizeof(Py_ssize_t) &&\
+          likely(v < (type)PY_SSIZE_T_MAX ||\
+                 v == (type)PY_SSIZE_T_MAX)  &&\
+          (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\
+                                v == (type)PY_SSIZE_T_MIN)))  ||\
+    (sizeof(type) == sizeof(Py_ssize_t) &&\
+          (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\
+                               v == (type)PY_SSIZE_T_MAX)))  )
+#if defined (__cplusplus) && __cplusplus >= 201103L
+    #include <cstdlib>
+    #define __Pyx_sst_abs(value) std::abs(value)
+#elif SIZEOF_INT >= SIZEOF_SIZE_T
+    #define __Pyx_sst_abs(value) abs(value)
+#elif SIZEOF_LONG >= SIZEOF_SIZE_T
+    #define __Pyx_sst_abs(value) labs(value)
+#elif defined (_MSC_VER) && defined (_M_X64)
+    #define __Pyx_sst_abs(value) _abs64(value)
+#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+    #define __Pyx_sst_abs(value) llabs(value)
+#elif defined (__GNUC__)
+    #define __Pyx_sst_abs(value) __builtin_llabs(value)
+#else
+    #define __Pyx_sst_abs(value) ((value<0) ? -value : value)
+#endif
+static CYTHON_INLINE char* __Pyx_PyObject_AsString(PyObject*);
+static CYTHON_INLINE char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
+#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))
+#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
+#define __Pyx_PyBytes_FromString        PyBytes_FromString
+#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
+static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*);
+#if PY_MAJOR_VERSION < 3
+    #define __Pyx_PyStr_FromString        __Pyx_PyBytes_FromString
+    #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
+#else
+    #define __Pyx_PyStr_FromString        __Pyx_PyUnicode_FromString
+    #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize
+#endif
+#define __Pyx_PyObject_AsSString(s)    ((signed char*) __Pyx_PyObject_AsString(s))
+#define __Pyx_PyObject_AsUString(s)    ((unsigned char*) __Pyx_PyObject_AsString(s))
+#define __Pyx_PyObject_FromCString(s)  __Pyx_PyObject_FromString((const char*)s)
+#define __Pyx_PyBytes_FromCString(s)   __Pyx_PyBytes_FromString((const char*)s)
+#define __Pyx_PyByteArray_FromCString(s)   __Pyx_PyByteArray_FromString((const char*)s)
+#define __Pyx_PyStr_FromCString(s)     __Pyx_PyStr_FromString((const char*)s)
+#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
+#if PY_MAJOR_VERSION < 3
+static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u)
+{
+    const Py_UNICODE *u_end = u;
+    while (*u_end++) ;
+    return (size_t)(u_end - u - 1);
+}
+#else
+#define __Pyx_Py_UNICODE_strlen Py_UNICODE_strlen
+#endif
+#define __Pyx_PyUnicode_FromUnicode(u)       PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u))
+#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode
+#define __Pyx_PyUnicode_AsUnicode            PyUnicode_AsUnicode
+#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj)
+#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None)
+#define __Pyx_PyBool_FromLong(b) ((b) ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False))
+static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
+static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x);
+static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
+static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
+#if CYTHON_COMPILING_IN_CPYTHON
+#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
+#else
+#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
+#endif
+#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
+#if PY_MAJOR_VERSION >= 3
+#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x))
+#else
+#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x))
+#endif
+#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x))
+#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
+static int __Pyx_sys_getdefaultencoding_not_ascii;
+static int __Pyx_init_sys_getdefaultencoding_params(void) {
+    PyObject* sys;
+    PyObject* default_encoding = NULL;
+    PyObject* ascii_chars_u = NULL;
+    PyObject* ascii_chars_b = NULL;
+    const char* default_encoding_c;
+    sys = PyImport_ImportModule("sys");
+    if (!sys) goto bad;
+    default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL);
+    Py_DECREF(sys);
+    if (!default_encoding) goto bad;
+    default_encoding_c = PyBytes_AsString(default_encoding);
+    if (!default_encoding_c) goto bad;
+    if (strcmp(default_encoding_c, "ascii") == 0) {
+        __Pyx_sys_getdefaultencoding_not_ascii = 0;
+    } else {
+        char ascii_chars[128];
+        int c;
+        for (c = 0; c < 128; c++) {
+            ascii_chars[c] = c;
+        }
+        __Pyx_sys_getdefaultencoding_not_ascii = 1;
+        ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL);
+        if (!ascii_chars_u) goto bad;
+        ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL);
+        if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) {
+            PyErr_Format(
+                PyExc_ValueError,
+                "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.",
+                default_encoding_c);
+            goto bad;
+        }
+        Py_DECREF(ascii_chars_u);
+        Py_DECREF(ascii_chars_b);
+    }
+    Py_DECREF(default_encoding);
+    return 0;
+bad:
+    Py_XDECREF(default_encoding);
+    Py_XDECREF(ascii_chars_u);
+    Py_XDECREF(ascii_chars_b);
+    return -1;
+}
+#endif
+#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3
+#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)
+#else
+#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
+#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
+static char* __PYX_DEFAULT_STRING_ENCODING;
+static int __Pyx_init_sys_getdefaultencoding_params(void) {
+    PyObject* sys;
+    PyObject* default_encoding = NULL;
+    char* default_encoding_c;
+    sys = PyImport_ImportModule("sys");
+    if (!sys) goto bad;
+    default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL);
+    Py_DECREF(sys);
+    if (!default_encoding) goto bad;
+    default_encoding_c = PyBytes_AsString(default_encoding);
+    if (!default_encoding_c) goto bad;
+    __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c));
+    if (!__PYX_DEFAULT_STRING_ENCODING) goto bad;
+    strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c);
+    Py_DECREF(default_encoding);
+    return 0;
+bad:
+    Py_XDECREF(default_encoding);
+    return -1;
+}
+#endif
+#endif
+
+
+/* Test for GCC > 2.95 */
+#if defined(__GNUC__)     && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)))
+  #define likely(x)   __builtin_expect(!!(x), 1)
+  #define unlikely(x) __builtin_expect(!!(x), 0)
+#else /* !__GNUC__ or GCC < 2.95 */
+  #define likely(x)   (x)
+  #define unlikely(x) (x)
+#endif /* __GNUC__ */
+
+static PyObject *__pyx_m;
+static PyObject *__pyx_d;
+static PyObject *__pyx_b;
+static PyObject *__pyx_empty_tuple;
+static PyObject *__pyx_empty_bytes;
+static PyObject *__pyx_empty_unicode;
+static int __pyx_lineno;
+static int __pyx_clineno = 0;
+static const char * __pyx_cfilenm= __FILE__;
+static const char *__pyx_filename;
+
+
+static const char *__pyx_f[] = {
+  "PyNomad.pyx",
+  "stringsource",
+};
+
+/*--- Type declarations ---*/
+struct __pyx_obj_7PyNomad_PyNomadDouble;
+struct __pyx_obj_7PyNomad_PyNomadEval_Point;
+
+/* "PyNomad.pyx":63
+ *         bool is_defined()
+ * 
+ * cdef class PyNomadDouble:             # <<<<<<<<<<<<<<
+ *     cdef Double c_d
+ *     def value(self):
+ */
+struct __pyx_obj_7PyNomad_PyNomadDouble {
+  PyObject_HEAD
+  NOMAD::Double c_d;
+};
+
+
+/* "PyNomad.pyx":79
+ *         int get_m()
+ * 
+ * cdef class PyNomadEval_Point:             # <<<<<<<<<<<<<<
+ *     cdef Eval_Point *c_ep
+ *     def get_coord(self, int i):
+ */
+struct __pyx_obj_7PyNomad_PyNomadEval_Point {
+  PyObject_HEAD
+  NOMAD::Eval_Point *c_ep;
+};
+
+
+/* --- Runtime support code (head) --- */
+/* Refnanny.proto */
+#ifndef CYTHON_REFNANNY
+  #define CYTHON_REFNANNY 0
+#endif
+#if CYTHON_REFNANNY
+  typedef struct {
+    void (*INCREF)(void*, PyObject*, int);
+    void (*DECREF)(void*, PyObject*, int);
+    void (*GOTREF)(void*, PyObject*, int);
+    void (*GIVEREF)(void*, PyObject*, int);
+    void* (*SetupContext)(const char*, int, const char*);
+    void (*FinishContext)(void**);
+  } __Pyx_RefNannyAPIStruct;
+  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
+  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname);
+  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
+#ifdef WITH_THREAD
+  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
+          if (acquire_gil) {\
+              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
+              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\
+              PyGILState_Release(__pyx_gilstate_save);\
+          } else {\
+              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\
+          }
+#else
+  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
+          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
+#endif
+  #define __Pyx_RefNannyFinishContext()\
+          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
+  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
+  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
+  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
+  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
+  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
+  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
+  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
+  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
+#else
+  #define __Pyx_RefNannyDeclarations
+  #define __Pyx_RefNannySetupContext(name, acquire_gil)
+  #define __Pyx_RefNannyFinishContext()
+  #define __Pyx_INCREF(r) Py_INCREF(r)
+  #define __Pyx_DECREF(r) Py_DECREF(r)
+  #define __Pyx_GOTREF(r)
+  #define __Pyx_GIVEREF(r)
+  #define __Pyx_XINCREF(r) Py_XINCREF(r)
+  #define __Pyx_XDECREF(r) Py_XDECREF(r)
+  #define __Pyx_XGOTREF(r)
+  #define __Pyx_XGIVEREF(r)
+#endif
+#define __Pyx_XDECREF_SET(r, v) do {\
+        PyObject *tmp = (PyObject *) r;\
+        r = v; __Pyx_XDECREF(tmp);\
+    } while (0)
+#define __Pyx_DECREF_SET(r, v) do {\
+        PyObject *tmp = (PyObject *) r;\
+        r = v; __Pyx_DECREF(tmp);\
+    } while (0)
+#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
+#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
+
+/* PyObjectGetAttrStr.proto */
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) {
+    PyTypeObject* tp = Py_TYPE(obj);
+    if (likely(tp->tp_getattro))
+        return tp->tp_getattro(obj, attr_name);
+#if PY_MAJOR_VERSION < 3
+    if (likely(tp->tp_getattr))
+        return tp->tp_getattr(obj, PyString_AS_STRING(attr_name));
+#endif
+    return PyObject_GetAttr(obj, attr_name);
+}
+#else
+#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n)
+#endif
+
+/* GetBuiltinName.proto */
+static PyObject *__Pyx_GetBuiltinName(PyObject *name);
+
+/* RaiseDoubleKeywords.proto */
+static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name);
+
+/* ParseKeywords.proto */
+static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\
+    PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\
+    const char* function_name);
+
+/* RaiseArgTupleInvalid.proto */
+static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
+    Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);
+
+/* GetModuleGlobalName.proto */
+static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name);
+
+/* PyObjectCall.proto */
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw);
+#else
+#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw)
+#endif
+
+/* PyObjectCallMethO.proto */
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);
+#endif
+
+/* PyObjectCallOneArg.proto */
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg);
+
+/* PyObjectCallNoArg.proto */
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func);
+#else
+#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL)
+#endif
+
+/* ListAppend.proto */
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
+    PyListObject* L = (PyListObject*) list;
+    Py_ssize_t len = Py_SIZE(list);
+    if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) {
+        Py_INCREF(x);
+        PyList_SET_ITEM(list, len, x);
+        Py_SIZE(list) = len+1;
+        return 0;
+    }
+    return PyList_Append(list, x);
+}
+#else
+#define __Pyx_PyList_Append(L,x) PyList_Append(L,x)
+#endif
+
+/* pyobject_as_double.proto */
+static double __Pyx__PyObject_AsDouble(PyObject* obj);
+#if CYTHON_COMPILING_IN_PYPY
+#define __Pyx_PyObject_AsDouble(obj)\
+(likely(PyFloat_CheckExact(obj)) ? PyFloat_AS_DOUBLE(obj) :\
+ likely(PyInt_CheckExact(obj)) ?\
+ PyFloat_AsDouble(obj) : __Pyx__PyObject_AsDouble(obj))
+#else
+#define __Pyx_PyObject_AsDouble(obj)\
+((likely(PyFloat_CheckExact(obj))) ?\
+ PyFloat_AS_DOUBLE(obj) : __Pyx__PyObject_AsDouble(obj))
+#endif
+
+/* PyThreadStateGet.proto */
+#if CYTHON_COMPILING_IN_CPYTHON
+#define __Pyx_PyThreadState_declare  PyThreadState *__pyx_tstate;
+#define __Pyx_PyThreadState_assign  __pyx_tstate = PyThreadState_GET();
+#else
+#define __Pyx_PyThreadState_declare
+#define __Pyx_PyThreadState_assign
+#endif
+
+/* PyErrFetchRestore.proto */
+#if CYTHON_COMPILING_IN_CPYTHON
+#define __Pyx_ErrRestoreWithState(type, value, tb)  __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb)
+#define __Pyx_ErrFetchWithState(type, value, tb)    __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb)
+#define __Pyx_ErrRestore(type, value, tb)  __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb)
+#define __Pyx_ErrFetch(type, value, tb)    __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb)
+static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
+static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
+#else
+#define __Pyx_ErrRestoreWithState(type, value, tb)  PyErr_Restore(type, value, tb)
+#define __Pyx_ErrFetchWithState(type, value, tb)  PyErr_Fetch(type, value, tb)
+#define __Pyx_ErrRestore(type, value, tb)  PyErr_Restore(type, value, tb)
+#define __Pyx_ErrFetch(type, value, tb)  PyErr_Fetch(type, value, tb)
+#endif
+
+/* WriteUnraisableException.proto */
+static void __Pyx_WriteUnraisable(const char *name, int clineno,
+                                  int lineno, const char *filename,
+                                  int full_traceback, int nogil);
+
+/* None.proto */
+static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname);
+
+/* GetItemInt.proto */
+#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
+    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
+    __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\
+    (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\
+               __Pyx_GetItemInt_Generic(o, to_py_func(i))))
+#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
+    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
+    __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
+    (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
+                                                              int wraparound, int boundscheck);
+#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
+    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
+    __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
+    (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
+                                                              int wraparound, int boundscheck);
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
+                                                     int is_list, int wraparound, int boundscheck);
+
+/* Import.proto */
+static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level);
+
+/* ImportFrom.proto */
+static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name);
+
+/* CodeObjectCache.proto */
+typedef struct {
+    PyCodeObject* code_object;
+    int code_line;
+} __Pyx_CodeObjectCacheEntry;
+struct __Pyx_CodeObjectCache {
+    int count;
+    int max_count;
+    __Pyx_CodeObjectCacheEntry* entries;
+};
+static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
+static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
+static PyCodeObject *__pyx_find_code_object(int code_line);
+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
+
+/* AddTraceback.proto */
+static void __Pyx_AddTraceback(const char *funcname, int c_line,
+                               int py_line, const char *filename);
+
+/* None.proto */
+#include <new>
+
+/* CppExceptionConversion.proto */
+#ifndef __Pyx_CppExn2PyErr
+#include <new>
+#include <typeinfo>
+#include <stdexcept>
+#include <ios>
+static void __Pyx_CppExn2PyErr() {
+  try {
+    if (PyErr_Occurred())
+      ; // let the latest Python exn pass through and ignore the current one
+    else
+      throw;
+  } catch (const std::bad_alloc& exn) {
+    PyErr_SetString(PyExc_MemoryError, exn.what());
+  } catch (const std::bad_cast& exn) {
+    PyErr_SetString(PyExc_TypeError, exn.what());
+  } catch (const std::domain_error& exn) {
+    PyErr_SetString(PyExc_ValueError, exn.what());
+  } catch (const std::invalid_argument& exn) {
+    PyErr_SetString(PyExc_ValueError, exn.what());
+  } catch (const std::ios_base::failure& exn) {
+    PyErr_SetString(PyExc_IOError, exn.what());
+  } catch (const std::out_of_range& exn) {
+    PyErr_SetString(PyExc_IndexError, exn.what());
+  } catch (const std::overflow_error& exn) {
+    PyErr_SetString(PyExc_OverflowError, exn.what());
+  } catch (const std::range_error& exn) {
+    PyErr_SetString(PyExc_ArithmeticError, exn.what());
+  } catch (const std::underflow_error& exn) {
+    PyErr_SetString(PyExc_ArithmeticError, exn.what());
+  } catch (const std::exception& exn) {
+    PyErr_SetString(PyExc_RuntimeError, exn.what());
+  }
+  catch (...)
+  {
+    PyErr_SetString(PyExc_RuntimeError, "Unknown exception");
+  }
+}
+#endif
+
+/* CIntToPy.proto */
+static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value);
+
+/* CIntFromPy.proto */
+static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);
+
+/* CIntFromPy.proto */
+static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *);
+
+/* CIntToPy.proto */
+static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value);
+
+/* CIntFromPy.proto */
+static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);
+
+/* CheckBinaryVersion.proto */
+static int __Pyx_check_binary_version(void);
+
+/* InitStrings.proto */
+static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);
+
+
+/* Module declarations from 'libcpp.vector' */
+
+/* Module declarations from 'libc.string' */
+
+/* Module declarations from 'libcpp.string' */
+
+/* Module declarations from 'libcpp.list' */
+
+/* Module declarations from 'libcpp' */
+
+/* Module declarations from 'PyNomad' */
+static PyTypeObject *__pyx_ptype_7PyNomad_PyNomadDouble = 0;
+static PyTypeObject *__pyx_ptype_7PyNomad_PyNomadEval_Point = 0;
+static int __pyx_f_7PyNomad_cb(void *, NOMAD::Eval_Point &); /*proto*/
+static int __pyx_f_7PyNomad_cbL(void *, std::list<NOMAD::Eval_Point *>  &); /*proto*/
+static std::string __pyx_convert_string_from_py_std__in_string(PyObject *); /*proto*/
+static CYTHON_INLINE PyObject *__pyx_convert_PyObject_string_to_py_std__in_string(std::string const &); /*proto*/
+static CYTHON_INLINE PyObject *__pyx_convert_PyUnicode_string_to_py_std__in_string(std::string const &); /*proto*/
+static CYTHON_INLINE PyObject *__pyx_convert_PyStr_string_to_py_std__in_string(std::string const &); /*proto*/
+static CYTHON_INLINE PyObject *__pyx_convert_PyBytes_string_to_py_std__in_string(std::string const &); /*proto*/
+static CYTHON_INLINE PyObject *__pyx_convert_PyByteArray_string_to_py_std__in_string(std::string const &); /*proto*/
+static std::vector<double>  __pyx_convert_vector_from_py_double(PyObject *); /*proto*/
+static std::vector<std::string>  __pyx_convert_vector_from_py_std_3a__3a_string(PyObject *); /*proto*/
+#define __Pyx_MODULE_NAME "PyNomad"
+int __pyx_module_is_main_PyNomad = 0;
+
+/* Implementation of 'PyNomad' */
+static PyObject *__pyx_builtin_xrange;
+static const char __pyx_k_[] = "";
+static const char __pyx_k_f[] = "f";
+static const char __pyx_k_i[] = "i";
+static const char __pyx_k_v[] = "v";
+static const char __pyx_k_doc[] = "__doc__";
+static const char __pyx_k_get[] = "get";
+static const char __pyx_k_inf[] = "inf";
+static const char __pyx_k_pLB[] = "pLB";
+static const char __pyx_k_pUB[] = "pUB";
+static const char __pyx_k_pX0[] = "pX0";
+static const char __pyx_k_args[] = "args";
+static const char __pyx_k_help[] = "help";
+static const char __pyx_k_info[] = "info";
+static const char __pyx_k_join[] = "join";
+static const char __pyx_k_main[] = "__main__";
+static const char __pyx_k_test[] = "__test__";
+static const char __pyx_k_Queue[] = "Queue";
+static const char __pyx_k_about[] = "about";
+static const char __pyx_k_get_f[] = "get_f";
+static const char __pyx_k_get_h[] = "get_h";
+static const char __pyx_k_get_n[] = "get_n";
+static const char __pyx_k_range[] = "range";
+static const char __pyx_k_start[] = "start";
+static const char __pyx_k_usage[] = "usage";
+static const char __pyx_k_value[] = "value";
+static const char __pyx_k_import[] = "__import__";
+static const char __pyx_k_params[] = "params";
+static const char __pyx_k_target[] = "target";
+static const char __pyx_k_u_feas[] = "u_feas";
+static const char __pyx_k_xrange[] = "xrange";
+static const char __pyx_k_Process[] = "Process";
+static const char __pyx_k_PyNomad[] = "PyNomad";
+static const char __pyx_k_version[] = "version";
+static const char __pyx_k_f_return[] = "f_return";
+static const char __pyx_k_h_return[] = "h_return";
+static const char __pyx_k_nb_evals[] = "nb_evals";
+static const char __pyx_k_nb_iters[] = "nb_iters";
+static const char __pyx_k_optimize[] = "optimize";
+static const char __pyx_k_u_infeas[] = "u_infeas";
+static const char __pyx_k_x_return[] = "x_return";
+static const char __pyx_k_get_coord[] = "get_coord";
+static const char __pyx_k_is_defined[] = "is_defined";
+static const char __pyx_k_run_status[] = "run_status";
+static const char __pyx_k_multiprocessing[] = "multiprocessing";
+static const char __pyx_k_Users_christophe_Development_NO[] = "/Users/christophe/Development/NOMAD/NOMAD_Release/examples/interfaces/pyNomad_Beta/PyNomad.pyx";
+static PyObject *__pyx_kp_s_;
+static PyObject *__pyx_n_s_Process;
+static PyObject *__pyx_n_s_PyNomad;
+static PyObject *__pyx_n_s_Queue;
+static PyObject *__pyx_kp_s_Users_christophe_Development_NO;
+static PyObject *__pyx_n_s_about;
+static PyObject *__pyx_n_s_args;
+static PyObject *__pyx_n_s_doc;
+static PyObject *__pyx_n_s_f;
+static PyObject *__pyx_n_s_f_return;
+static PyObject *__pyx_n_s_get;
+static PyObject *__pyx_n_s_get_coord;
+static PyObject *__pyx_n_s_get_f;
+static PyObject *__pyx_n_s_get_h;
+static PyObject *__pyx_n_s_get_n;
+static PyObject *__pyx_n_s_h_return;
+static PyObject *__pyx_n_s_help;
+static PyObject *__pyx_n_s_i;
+static PyObject *__pyx_n_s_import;
+static PyObject *__pyx_n_s_inf;
+static PyObject *__pyx_n_s_info;
+static PyObject *__pyx_n_s_is_defined;
+static PyObject *__pyx_n_s_join;
+static PyObject *__pyx_n_s_main;
+static PyObject *__pyx_n_s_multiprocessing;
+static PyObject *__pyx_n_s_nb_evals;
+static PyObject *__pyx_n_s_nb_iters;
+static PyObject *__pyx_n_s_optimize;
+static PyObject *__pyx_n_s_pLB;
+static PyObject *__pyx_n_s_pUB;
+static PyObject *__pyx_n_s_pX0;
+static PyObject *__pyx_n_s_params;
+static PyObject *__pyx_n_s_range;
+static PyObject *__pyx_n_s_run_status;
+static PyObject *__pyx_n_s_start;
+static PyObject *__pyx_n_s_target;
+static PyObject *__pyx_n_s_test;
+static PyObject *__pyx_n_s_u_feas;
+static PyObject *__pyx_n_s_u_infeas;
+static PyObject *__pyx_n_s_usage;
+static PyObject *__pyx_n_s_v;
+static PyObject *__pyx_n_s_value;
+static PyObject *__pyx_n_s_version;
+static PyObject *__pyx_n_s_x_return;
+static PyObject *__pyx_n_s_xrange;
+static PyObject *__pyx_pf_7PyNomad_version(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
+static PyObject *__pyx_pf_7PyNomad_2usage(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
+static PyObject *__pyx_pf_7PyNomad_4info(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
+static PyObject *__pyx_pf_7PyNomad_6help(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_about); /* proto */
+static PyObject *__pyx_pf_7PyNomad_8__doc__(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
+static PyObject *__pyx_pf_7PyNomad_10optimize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_f, PyObject *__pyx_v_pX0, PyObject *__pyx_v_pLB, PyObject *__pyx_v_pUB, PyObject *__pyx_v_params); /* proto */
+static PyObject *__pyx_pf_7PyNomad_13PyNomadDouble_value(struct __pyx_obj_7PyNomad_PyNomadDouble *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_7PyNomad_13PyNomadDouble_2is_defined(struct __pyx_obj_7PyNomad_PyNomadDouble *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_7PyNomad_17PyNomadEval_Point_get_coord(struct __pyx_obj_7PyNomad_PyNomadEval_Point *__pyx_v_self, int __pyx_v_i); /* proto */
+static PyObject *__pyx_pf_7PyNomad_17PyNomadEval_Point_2set_bb_output(struct __pyx_obj_7PyNomad_PyNomadEval_Point *__pyx_v_self, int __pyx_v_i, double __pyx_v_v); /* proto */
+static PyObject *__pyx_pf_7PyNomad_17PyNomadEval_Point_4get_f(struct __pyx_obj_7PyNomad_PyNomadEval_Point *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_7PyNomad_17PyNomadEval_Point_6get_h(struct __pyx_obj_7PyNomad_PyNomadEval_Point *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_7PyNomad_17PyNomadEval_Point_8get_n(struct __pyx_obj_7PyNomad_PyNomadEval_Point *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_7PyNomad_17PyNomadEval_Point_10get_m(struct __pyx_obj_7PyNomad_PyNomadEval_Point *__pyx_v_self); /* proto */
+static PyObject *__pyx_tp_new_7PyNomad_PyNomadDouble(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_7PyNomad_PyNomadEval_Point(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tuple__5;
+static PyObject *__pyx_tuple__7;
+static PyObject *__pyx_tuple__9;
+static PyObject *__pyx_codeobj__2;
+static PyObject *__pyx_codeobj__3;
+static PyObject *__pyx_codeobj__4;
+static PyObject *__pyx_codeobj__6;
+static PyObject *__pyx_codeobj__8;
+static PyObject *__pyx_codeobj__10;
+
+/* "PyNomad.pyx":12
+ * from multiprocessing import Process, Queue
+ * 
+ * def version():             # <<<<<<<<<<<<<<
+ *     printPyNomadVersion()
+ * 
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_7PyNomad_1version(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyMethodDef __pyx_mdef_7PyNomad_1version = {"version", (PyCFunction)__pyx_pw_7PyNomad_1version, METH_NOARGS, 0};
+static PyObject *__pyx_pw_7PyNomad_1version(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("version (wrapper)", 0);
+  __pyx_r = __pyx_pf_7PyNomad_version(__pyx_self);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_7PyNomad_version(CYTHON_UNUSED PyObject *__pyx_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("version", 0);
+
+  /* "PyNomad.pyx":13
+ * 
+ * def version():
+ *     printPyNomadVersion()             # <<<<<<<<<<<<<<
+ * 
+ * # Define the interface function to display nomad general information
+ */
+  printPyNomadVersion();
+
+  /* "PyNomad.pyx":12
+ * from multiprocessing import Process, Queue
+ * 
+ * def version():             # <<<<<<<<<<<<<<
+ *     printPyNomadVersion()
+ * 
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "PyNomad.pyx":16
+ * 
+ * # Define the interface function to display nomad general information
+ * def usage():             # <<<<<<<<<<<<<<
+ *     printPyNomadUsage()
+ * 
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_7PyNomad_3usage(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyMethodDef __pyx_mdef_7PyNomad_3usage = {"usage", (PyCFunction)__pyx_pw_7PyNomad_3usage, METH_NOARGS, 0};
+static PyObject *__pyx_pw_7PyNomad_3usage(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("usage (wrapper)", 0);
+  __pyx_r = __pyx_pf_7PyNomad_2usage(__pyx_self);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_7PyNomad_2usage(CYTHON_UNUSED PyObject *__pyx_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("usage", 0);
+
+  /* "PyNomad.pyx":17
+ * # Define the interface function to display nomad general information
+ * def usage():
+ *     printPyNomadUsage()             # <<<<<<<<<<<<<<
+ * 
+ * # Define the interface function to display nomad general information
+ */
+  printPyNomadUsage();
+
+  /* "PyNomad.pyx":16
+ * 
+ * # Define the interface function to display nomad general information
+ * def usage():             # <<<<<<<<<<<<<<
+ *     printPyNomadUsage()
+ * 
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "PyNomad.pyx":20
+ * 
+ * # Define the interface function to display nomad general information
+ * def info():             # <<<<<<<<<<<<<<
+ *     printPyNomadUsage()
+ *     printPyNomadInfo()
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_7PyNomad_5info(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyMethodDef __pyx_mdef_7PyNomad_5info = {"info", (PyCFunction)__pyx_pw_7PyNomad_5info, METH_NOARGS, 0};
+static PyObject *__pyx_pw_7PyNomad_5info(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("info (wrapper)", 0);
+  __pyx_r = __pyx_pf_7PyNomad_4info(__pyx_self);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_7PyNomad_4info(CYTHON_UNUSED PyObject *__pyx_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("info", 0);
+
+  /* "PyNomad.pyx":21
+ * # Define the interface function to display nomad general information
+ * def info():
+ *     printPyNomadUsage()             # <<<<<<<<<<<<<<
+ *     printPyNomadInfo()
+ * 
+ */
+  printPyNomadUsage();
+
+  /* "PyNomad.pyx":22
+ * def info():
+ *     printPyNomadUsage()
+ *     printPyNomadInfo()             # <<<<<<<<<<<<<<
+ * 
+ * # Define the interface function to get nomad help
+ */
+  printPyNomadInfo();
+
+  /* "PyNomad.pyx":20
+ * 
+ * # Define the interface function to display nomad general information
+ * def info():             # <<<<<<<<<<<<<<
+ *     printPyNomadUsage()
+ *     printPyNomadInfo()
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "PyNomad.pyx":25
+ * 
+ * # Define the interface function to get nomad help
+ * def help(about=''):             # <<<<<<<<<<<<<<
+ *     printNomadHelp(about)
+ * 
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_7PyNomad_7help(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyMethodDef __pyx_mdef_7PyNomad_7help = {"help", (PyCFunction)__pyx_pw_7PyNomad_7help, METH_VARARGS|METH_KEYWORDS, 0};
+static PyObject *__pyx_pw_7PyNomad_7help(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_about = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("help (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_about,0};
+    PyObject* values[1] = {0};
+    values[0] = ((PyObject *)__pyx_kp_s_);
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (kw_args > 0) {
+          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_about);
+          if (value) { values[0] = value; kw_args--; }
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "help") < 0)) __PYX_ERR(0, 25, __pyx_L3_error)
+      }
+    } else {
+      switch (PyTuple_GET_SIZE(__pyx_args)) {
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+    }
+    __pyx_v_about = values[0];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("help", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 25, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("PyNomad.help", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_7PyNomad_6help(__pyx_self, __pyx_v_about);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_7PyNomad_6help(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_about) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  std::string __pyx_t_1;
+  __Pyx_RefNannySetupContext("help", 0);
+
+  /* "PyNomad.pyx":26
+ * # Define the interface function to get nomad help
+ * def help(about=''):
+ *     printNomadHelp(about)             # <<<<<<<<<<<<<<
+ * 
+ * def __doc__():
+ */
+  __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_v_about); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 26, __pyx_L1_error)
+  printNomadHelp(__pyx_t_1);
+
+  /* "PyNomad.pyx":25
+ * 
+ * # Define the interface function to get nomad help
+ * def help(about=''):             # <<<<<<<<<<<<<<
+ *     printNomadHelp(about)
+ * 
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_AddTraceback("PyNomad.help", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "PyNomad.pyx":28
+ *     printNomadHelp(about)
+ * 
+ * def __doc__():             # <<<<<<<<<<<<<<
+ *     cdef string about;
+ *     printPyNomadUsage()
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_7PyNomad_9__doc__(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyMethodDef __pyx_mdef_7PyNomad_9__doc__ = {"__doc__", (PyCFunction)__pyx_pw_7PyNomad_9__doc__, METH_NOARGS, 0};
+static PyObject *__pyx_pw_7PyNomad_9__doc__(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__doc__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_7PyNomad_8__doc__(__pyx_self);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_7PyNomad_8__doc__(CYTHON_UNUSED PyObject *__pyx_self) {
+  std::string __pyx_v_about;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  __Pyx_RefNannySetupContext("__doc__", 0);
+
+  /* "PyNomad.pyx":30
+ * def __doc__():
+ *     cdef string about;
+ *     printPyNomadUsage()             # <<<<<<<<<<<<<<
+ *     help(about)
+ * 
+ */
+  printPyNomadUsage();
+
+  /* "PyNomad.pyx":31
+ *     cdef string about;
+ *     printPyNomadUsage()
+ *     help(about)             # <<<<<<<<<<<<<<
+ * 
+ * # Define the interface function to perform optimization
+ */
+  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_help); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_about); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_4 = NULL;
+  if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_2))) {
+    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
+    if (likely(__pyx_t_4)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+      __Pyx_INCREF(__pyx_t_4);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_2, function);
+    }
+  }
+  if (!__pyx_t_4) {
+    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    __Pyx_GOTREF(__pyx_t_1);
+  } else {
+    __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 31, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
+    __Pyx_GIVEREF(__pyx_t_3);
+    PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3);
+    __pyx_t_3 = 0;
+    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "PyNomad.pyx":28
+ *     printNomadHelp(about)
+ * 
+ * def __doc__():             # <<<<<<<<<<<<<<
+ *     cdef string about;
+ *     printPyNomadUsage()
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_AddTraceback("PyNomad.__doc__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "PyNomad.pyx":34
+ * 
+ * # Define the interface function to perform optimization
+ * def optimize(f , pX0, pLB,pUB ,params):             # <<<<<<<<<<<<<<
+ *     cdef PyNomadEval_Point u_feas = PyNomadEval_Point()
+ *     cdef PyNomadEval_Point u_infeas = PyNomadEval_Point()
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_7PyNomad_11optimize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyMethodDef __pyx_mdef_7PyNomad_11optimize = {"optimize", (PyCFunction)__pyx_pw_7PyNomad_11optimize, METH_VARARGS|METH_KEYWORDS, 0};
+static PyObject *__pyx_pw_7PyNomad_11optimize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_f = 0;
+  PyObject *__pyx_v_pX0 = 0;
+  PyObject *__pyx_v_pLB = 0;
+  PyObject *__pyx_v_pUB = 0;
+  PyObject *__pyx_v_params = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("optimize (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_f,&__pyx_n_s_pX0,&__pyx_n_s_pLB,&__pyx_n_s_pUB,&__pyx_n_s_params,0};
+    PyObject* values[5] = {0,0,0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_f)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        case  1:
+        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_pX0)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("optimize", 1, 5, 5, 1); __PYX_ERR(0, 34, __pyx_L3_error)
+        }
+        case  2:
+        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_pLB)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("optimize", 1, 5, 5, 2); __PYX_ERR(0, 34, __pyx_L3_error)
+        }
+        case  3:
+        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_pUB)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("optimize", 1, 5, 5, 3); __PYX_ERR(0, 34, __pyx_L3_error)
+        }
+        case  4:
+        if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_params)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("optimize", 1, 5, 5, 4); __PYX_ERR(0, 34, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "optimize") < 0)) __PYX_ERR(0, 34, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 5) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+    }
+    __pyx_v_f = values[0];
+    __pyx_v_pX0 = values[1];
+    __pyx_v_pLB = values[2];
+    __pyx_v_pUB = values[3];
+    __pyx_v_params = values[4];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("optimize", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 34, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("PyNomad.optimize", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_7PyNomad_10optimize(__pyx_self, __pyx_v_f, __pyx_v_pX0, __pyx_v_pLB, __pyx_v_pUB, __pyx_v_params);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_7PyNomad_10optimize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_f, PyObject *__pyx_v_pX0, PyObject *__pyx_v_pLB, PyObject *__pyx_v_pUB, PyObject *__pyx_v_params) {
+  struct __pyx_obj_7PyNomad_PyNomadEval_Point *__pyx_v_u_feas = 0;
+  struct __pyx_obj_7PyNomad_PyNomadEval_Point *__pyx_v_u_infeas = 0;
+  int __pyx_v_run_status;
+  int __pyx_v_nb_evals;
+  int __pyx_v_nb_iters;
+  double __pyx_v_f_return;
+  double __pyx_v_h_return;
+  PyObject *__pyx_v_x_return = NULL;
+  PyObject *__pyx_v_i = NULL;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  std::vector<double>  __pyx_t_2;
+  std::vector<double>  __pyx_t_3;
+  std::vector<double>  __pyx_t_4;
+  std::vector<std::string>  __pyx_t_5;
+  int __pyx_t_6;
+  int __pyx_t_7;
+  PyObject *__pyx_t_8 = NULL;
+  PyObject *__pyx_t_9 = NULL;
+  double __pyx_t_10;
+  Py_ssize_t __pyx_t_11;
+  PyObject *(*__pyx_t_12)(PyObject *);
+  PyObject *__pyx_t_13 = NULL;
+  PyObject *__pyx_t_14 = NULL;
+  int __pyx_t_15;
+  PyObject *__pyx_t_16 = NULL;
+  __Pyx_RefNannySetupContext("optimize", 0);
+
+  /* "PyNomad.pyx":35
+ * # Define the interface function to perform optimization
+ * def optimize(f , pX0, pLB,pUB ,params):
+ *     cdef PyNomadEval_Point u_feas = PyNomadEval_Point()             # <<<<<<<<<<<<<<
+ *     cdef PyNomadEval_Point u_infeas = PyNomadEval_Point()
+ *     cdef int run_status
+ */
+  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_7PyNomad_PyNomadEval_Point), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v_u_feas = ((struct __pyx_obj_7PyNomad_PyNomadEval_Point *)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "PyNomad.pyx":36
+ * def optimize(f , pX0, pLB,pUB ,params):
+ *     cdef PyNomadEval_Point u_feas = PyNomadEval_Point()
+ *     cdef PyNomadEval_Point u_infeas = PyNomadEval_Point()             # <<<<<<<<<<<<<<
+ *     cdef int run_status
+ *     cdef int nb_evals = 0
+ */
+  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_7PyNomad_PyNomadEval_Point), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v_u_infeas = ((struct __pyx_obj_7PyNomad_PyNomadEval_Point *)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "PyNomad.pyx":38
+ *     cdef PyNomadEval_Point u_infeas = PyNomadEval_Point()
+ *     cdef int run_status
+ *     cdef int nb_evals = 0             # <<<<<<<<<<<<<<
+ *     cdef int nb_iters = 0
+ *     cdef double f_return
+ */
+  __pyx_v_nb_evals = 0;
+
+  /* "PyNomad.pyx":39
+ *     cdef int run_status
+ *     cdef int nb_evals = 0
+ *     cdef int nb_iters = 0             # <<<<<<<<<<<<<<
+ *     cdef double f_return
+ *     cdef double h_return
+ */
+  __pyx_v_nb_iters = 0;
+
+  /* "PyNomad.pyx":42
+ *     cdef double f_return
+ *     cdef double h_return
+ *     x_return=[]             # <<<<<<<<<<<<<<
+ *     run_status = runNomad(cb, cbL, <void*> f, <vector[double]&> pX0, <vector[double]&> pLB, <vector[double]&> pUB , <vector[string]&> params , u_feas.c_ep ,u_infeas.c_ep , nb_evals, nb_iters)
+ *     if u_feas.c_ep != NULL:
+ */
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 42, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v_x_return = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "PyNomad.pyx":43
+ *     cdef double h_return
+ *     x_return=[]
+ *     run_status = runNomad(cb, cbL, <void*> f, <vector[double]&> pX0, <vector[double]&> pLB, <vector[double]&> pUB , <vector[string]&> params , u_feas.c_ep ,u_infeas.c_ep , nb_evals, nb_iters)             # <<<<<<<<<<<<<<
+ *     if u_feas.c_ep != NULL:
+ *          f_return = u_feas.get_f()
+ */
+  __pyx_t_2 = __pyx_convert_vector_from_py_double(__pyx_v_pX0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43, __pyx_L1_error)
+  __pyx_t_3 = __pyx_convert_vector_from_py_double(__pyx_v_pLB); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43, __pyx_L1_error)
+  __pyx_t_4 = __pyx_convert_vector_from_py_double(__pyx_v_pUB); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43, __pyx_L1_error)
+  __pyx_t_5 = __pyx_convert_vector_from_py_std_3a__3a_string(__pyx_v_params); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43, __pyx_L1_error)
+  try {
+    __pyx_t_6 = runNomad(__pyx_f_7PyNomad_cb, __pyx_f_7PyNomad_cbL, ((void *)__pyx_v_f), ((std::vector<double>  &)__pyx_t_2), ((std::vector<double>  &)__pyx_t_3), ((std::vector<double>  &)__pyx_t_4), ((std::vector<std::string>  &)__pyx_t_5), __pyx_v_u_feas->c_ep, __pyx_v_u_infeas->c_ep, __pyx_v_nb_evals, __pyx_v_nb_iters);
+  } catch(...) {
+    __Pyx_CppExn2PyErr();
+    __PYX_ERR(0, 43, __pyx_L1_error)
+  }
+  __pyx_v_run_status = __pyx_t_6;
+
+  /* "PyNomad.pyx":44
+ *     x_return=[]
+ *     run_status = runNomad(cb, cbL, <void*> f, <vector[double]&> pX0, <vector[double]&> pLB, <vector[double]&> pUB , <vector[string]&> params , u_feas.c_ep ,u_infeas.c_ep , nb_evals, nb_iters)
+ *     if u_feas.c_ep != NULL:             # <<<<<<<<<<<<<<
+ *          f_return = u_feas.get_f()
+ *          h_return = 0
+ */
+  __pyx_t_7 = ((__pyx_v_u_feas->c_ep != NULL) != 0);
+  if (__pyx_t_7) {
+
+    /* "PyNomad.pyx":45
+ *     run_status = runNomad(cb, cbL, <void*> f, <vector[double]&> pX0, <vector[double]&> pLB, <vector[double]&> pUB , <vector[string]&> params , u_feas.c_ep ,u_infeas.c_ep , nb_evals, nb_iters)
+ *     if u_feas.c_ep != NULL:
+ *          f_return = u_feas.get_f()             # <<<<<<<<<<<<<<
+ *          h_return = 0
+ *          for i in xrange(u_feas.get_n()):
+ */
+    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_u_feas), __pyx_n_s_get_f); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 45, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __pyx_t_9 = NULL;
+    if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_8))) {
+      __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8);
+      if (likely(__pyx_t_9)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+        __Pyx_INCREF(__pyx_t_9);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_8, function);
+      }
+    }
+    if (__pyx_t_9) {
+      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    } else {
+      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45, __pyx_L1_error)
+    }
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_10 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 45, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __pyx_v_f_return = __pyx_t_10;
+
+    /* "PyNomad.pyx":46
+ *     if u_feas.c_ep != NULL:
+ *          f_return = u_feas.get_f()
+ *          h_return = 0             # <<<<<<<<<<<<<<
+ *          for i in xrange(u_feas.get_n()):
+ *              x_return.append(u_feas.get_coord(i))
+ */
+    __pyx_v_h_return = 0.0;
+
+    /* "PyNomad.pyx":47
+ *          f_return = u_feas.get_f()
+ *          h_return = 0
+ *          for i in xrange(u_feas.get_n()):             # <<<<<<<<<<<<<<
+ *              x_return.append(u_feas.get_coord(i))
+ *          del u_feas.c_ep
+ */
+    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_u_feas), __pyx_n_s_get_n); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 47, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __pyx_t_9 = NULL;
+    if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_8))) {
+      __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8);
+      if (likely(__pyx_t_9)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+        __Pyx_INCREF(__pyx_t_9);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_8, function);
+      }
+    }
+    if (__pyx_t_9) {
+      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    } else {
+      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47, __pyx_L1_error)
+    }
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 47, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __Pyx_GIVEREF(__pyx_t_1);
+    PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_1);
+    __pyx_t_1 = 0;
+    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_xrange, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
+      __pyx_t_8 = __pyx_t_1; __Pyx_INCREF(__pyx_t_8); __pyx_t_11 = 0;
+      __pyx_t_12 = NULL;
+    } else {
+      __pyx_t_11 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 47, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_8);
+      __pyx_t_12 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 47, __pyx_L1_error)
+    }
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    for (;;) {
+      if (likely(!__pyx_t_12)) {
+        if (likely(PyList_CheckExact(__pyx_t_8))) {
+          if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_8)) break;
+          #if CYTHON_COMPILING_IN_CPYTHON
+          __pyx_t_1 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_11); __Pyx_INCREF(__pyx_t_1); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 47, __pyx_L1_error)
+          #else
+          __pyx_t_1 = PySequence_ITEM(__pyx_t_8, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_1);
+          #endif
+        } else {
+          if (__pyx_t_11 >= PyTuple_GET_SIZE(__pyx_t_8)) break;
+          #if CYTHON_COMPILING_IN_CPYTHON
+          __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_11); __Pyx_INCREF(__pyx_t_1); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 47, __pyx_L1_error)
+          #else
+          __pyx_t_1 = PySequence_ITEM(__pyx_t_8, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_1);
+          #endif
+        }
+      } else {
+        __pyx_t_1 = __pyx_t_12(__pyx_t_8);
+        if (unlikely(!__pyx_t_1)) {
+          PyObject* exc_type = PyErr_Occurred();
+          if (exc_type) {
+            if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+            else __PYX_ERR(0, 47, __pyx_L1_error)
+          }
+          break;
+        }
+        __Pyx_GOTREF(__pyx_t_1);
+      }
+      __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_1);
+      __pyx_t_1 = 0;
+
+      /* "PyNomad.pyx":48
+ *          h_return = 0
+ *          for i in xrange(u_feas.get_n()):
+ *              x_return.append(u_feas.get_coord(i))             # <<<<<<<<<<<<<<
+ *          del u_feas.c_ep
+ *     if u_infeas.c_ep != NULL:
+ */
+      __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_u_feas), __pyx_n_s_get_coord); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 48, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_9);
+      __pyx_t_13 = NULL;
+      if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_9))) {
+        __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_9);
+        if (likely(__pyx_t_13)) {
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+          __Pyx_INCREF(__pyx_t_13);
+          __Pyx_INCREF(function);
+          __Pyx_DECREF_SET(__pyx_t_9, function);
+        }
+      }
+      if (!__pyx_t_13) {
+        __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_1);
+      } else {
+        __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 48, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_14);
+        __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __pyx_t_13 = NULL;
+        __Pyx_INCREF(__pyx_v_i);
+        __Pyx_GIVEREF(__pyx_v_i);
+        PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_v_i);
+        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_14, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_1);
+        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+      }
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+      __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_x_return, __pyx_t_1); if (unlikely(__pyx_t_15 == -1)) __PYX_ERR(0, 48, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+      /* "PyNomad.pyx":47
+ *          f_return = u_feas.get_f()
+ *          h_return = 0
+ *          for i in xrange(u_feas.get_n()):             # <<<<<<<<<<<<<<
+ *              x_return.append(u_feas.get_coord(i))
+ *          del u_feas.c_ep
+ */
+    }
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+
+    /* "PyNomad.pyx":49
+ *          for i in xrange(u_feas.get_n()):
+ *              x_return.append(u_feas.get_coord(i))
+ *          del u_feas.c_ep             # <<<<<<<<<<<<<<
+ *     if u_infeas.c_ep != NULL:
+ *          f_return = u_infeas.get_f()
+ */
+    delete __pyx_v_u_feas->c_ep;
+
+    /* "PyNomad.pyx":44
+ *     x_return=[]
+ *     run_status = runNomad(cb, cbL, <void*> f, <vector[double]&> pX0, <vector[double]&> pLB, <vector[double]&> pUB , <vector[string]&> params , u_feas.c_ep ,u_infeas.c_ep , nb_evals, nb_iters)
+ *     if u_feas.c_ep != NULL:             # <<<<<<<<<<<<<<
+ *          f_return = u_feas.get_f()
+ *          h_return = 0
+ */
+  }
+
+  /* "PyNomad.pyx":50
+ *              x_return.append(u_feas.get_coord(i))
+ *          del u_feas.c_ep
+ *     if u_infeas.c_ep != NULL:             # <<<<<<<<<<<<<<
+ *          f_return = u_infeas.get_f()
+ *          h_return = u_infeas.get_h()
+ */
+  __pyx_t_7 = ((__pyx_v_u_infeas->c_ep != NULL) != 0);
+  if (__pyx_t_7) {
+
+    /* "PyNomad.pyx":51
+ *          del u_feas.c_ep
+ *     if u_infeas.c_ep != NULL:
+ *          f_return = u_infeas.get_f()             # <<<<<<<<<<<<<<
+ *          h_return = u_infeas.get_h()
+ *          for i in xrange(u_infeas.get_n()):
+ */
+    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_u_infeas), __pyx_n_s_get_f); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 51, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_9 = NULL;
+    if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_1))) {
+      __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_1);
+      if (likely(__pyx_t_9)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+        __Pyx_INCREF(__pyx_t_9);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_1, function);
+      }
+    }
+    if (__pyx_t_9) {
+      __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 51, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    } else {
+      __pyx_t_8 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 51, __pyx_L1_error)
+    }
+    __Pyx_GOTREF(__pyx_t_8);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_t_8); if (unlikely((__pyx_t_10 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 51, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __pyx_v_f_return = __pyx_t_10;
+
+    /* "PyNomad.pyx":52
+ *     if u_infeas.c_ep != NULL:
+ *          f_return = u_infeas.get_f()
+ *          h_return = u_infeas.get_h()             # <<<<<<<<<<<<<<
+ *          for i in xrange(u_infeas.get_n()):
+ *              x_return.append(u_infeas.get_coord(i))
+ */
+    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_u_infeas), __pyx_n_s_get_h); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 52, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_9 = NULL;
+    if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_1))) {
+      __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_1);
+      if (likely(__pyx_t_9)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+        __Pyx_INCREF(__pyx_t_9);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_1, function);
+      }
+    }
+    if (__pyx_t_9) {
+      __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 52, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    } else {
+      __pyx_t_8 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 52, __pyx_L1_error)
+    }
+    __Pyx_GOTREF(__pyx_t_8);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_t_8); if (unlikely((__pyx_t_10 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 52, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __pyx_v_h_return = __pyx_t_10;
+
+    /* "PyNomad.pyx":53
+ *          f_return = u_infeas.get_f()
+ *          h_return = u_infeas.get_h()
+ *          for i in xrange(u_infeas.get_n()):             # <<<<<<<<<<<<<<
+ *              x_return.append(u_infeas.get_coord(i))
+ *          del u_infeas.c_ep
+ */
+    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_u_infeas), __pyx_n_s_get_n); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 53, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_9 = NULL;
+    if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_1))) {
+      __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_1);
+      if (likely(__pyx_t_9)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+        __Pyx_INCREF(__pyx_t_9);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_1, function);
+      }
+    }
+    if (__pyx_t_9) {
+      __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 53, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    } else {
+      __pyx_t_8 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 53, __pyx_L1_error)
+    }
+    __Pyx_GOTREF(__pyx_t_8);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 53, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_GIVEREF(__pyx_t_8);
+    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_8);
+    __pyx_t_8 = 0;
+    __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_xrange, __pyx_t_1, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 53, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) {
+      __pyx_t_1 = __pyx_t_8; __Pyx_INCREF(__pyx_t_1); __pyx_t_11 = 0;
+      __pyx_t_12 = NULL;
+    } else {
+      __pyx_t_11 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 53, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      __pyx_t_12 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 53, __pyx_L1_error)
+    }
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    for (;;) {
+      if (likely(!__pyx_t_12)) {
+        if (likely(PyList_CheckExact(__pyx_t_1))) {
+          if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_1)) break;
+          #if CYTHON_COMPILING_IN_CPYTHON
+          __pyx_t_8 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_11); __Pyx_INCREF(__pyx_t_8); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 53, __pyx_L1_error)
+          #else
+          __pyx_t_8 = PySequence_ITEM(__pyx_t_1, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 53, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_8);
+          #endif
+        } else {
+          if (__pyx_t_11 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+          #if CYTHON_COMPILING_IN_CPYTHON
+          __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_11); __Pyx_INCREF(__pyx_t_8); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 53, __pyx_L1_error)
+          #else
+          __pyx_t_8 = PySequence_ITEM(__pyx_t_1, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 53, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_8);
+          #endif
+        }
+      } else {
+        __pyx_t_8 = __pyx_t_12(__pyx_t_1);
+        if (unlikely(!__pyx_t_8)) {
+          PyObject* exc_type = PyErr_Occurred();
+          if (exc_type) {
+            if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+            else __PYX_ERR(0, 53, __pyx_L1_error)
+          }
+          break;
+        }
+        __Pyx_GOTREF(__pyx_t_8);
+      }
+      __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_8);
+      __pyx_t_8 = 0;
+
+      /* "PyNomad.pyx":54
+ *          h_return = u_infeas.get_h()
+ *          for i in xrange(u_infeas.get_n()):
+ *              x_return.append(u_infeas.get_coord(i))             # <<<<<<<<<<<<<<
+ *          del u_infeas.c_ep
+ *     return [ x_return , f_return, h_return, nb_evals , nb_iters  , run_status ]
+ */
+      __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_u_infeas), __pyx_n_s_get_coord); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 54, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_9);
+      __pyx_t_14 = NULL;
+      if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_9))) {
+        __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_9);
+        if (likely(__pyx_t_14)) {
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+          __Pyx_INCREF(__pyx_t_14);
+          __Pyx_INCREF(function);
+          __Pyx_DECREF_SET(__pyx_t_9, function);
+        }
+      }
+      if (!__pyx_t_14) {
+        __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_i); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 54, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_8);
+      } else {
+        __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 54, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_13);
+        __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_14); __pyx_t_14 = NULL;
+        __Pyx_INCREF(__pyx_v_i);
+        __Pyx_GIVEREF(__pyx_v_i);
+        PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_v_i);
+        __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_13, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 54, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_8);
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      }
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+      __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_x_return, __pyx_t_8); if (unlikely(__pyx_t_15 == -1)) __PYX_ERR(0, 54, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+
+      /* "PyNomad.pyx":53
+ *          f_return = u_infeas.get_f()
+ *          h_return = u_infeas.get_h()
+ *          for i in xrange(u_infeas.get_n()):             # <<<<<<<<<<<<<<
+ *              x_return.append(u_infeas.get_coord(i))
+ *          del u_infeas.c_ep
+ */
+    }
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+    /* "PyNomad.pyx":55
+ *          for i in xrange(u_infeas.get_n()):
+ *              x_return.append(u_infeas.get_coord(i))
+ *          del u_infeas.c_ep             # <<<<<<<<<<<<<<
+ *     return [ x_return , f_return, h_return, nb_evals , nb_iters  , run_status ]
+ * 
+ */
+    delete __pyx_v_u_infeas->c_ep;
+
+    /* "PyNomad.pyx":50
+ *              x_return.append(u_feas.get_coord(i))
+ *          del u_feas.c_ep
+ *     if u_infeas.c_ep != NULL:             # <<<<<<<<<<<<<<
+ *          f_return = u_infeas.get_f()
+ *          h_return = u_infeas.get_h()
+ */
+  }
+
+  /* "PyNomad.pyx":56
+ *              x_return.append(u_infeas.get_coord(i))
+ *          del u_infeas.c_ep
+ *     return [ x_return , f_return, h_return, nb_evals , nb_iters  , run_status ]             # <<<<<<<<<<<<<<
+ * 
+ * cdef extern from "Double.hpp" namespace "NOMAD":
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_f_return); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 56, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_8 = PyFloat_FromDouble(__pyx_v_h_return); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 56, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_nb_evals); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 56, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_nb_iters); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 56, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_13);
+  __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_run_status); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 56, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_14);
+  __pyx_t_16 = PyList_New(6); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 56, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_16);
+  __Pyx_INCREF(__pyx_v_x_return);
+  __Pyx_GIVEREF(__pyx_v_x_return);
+  PyList_SET_ITEM(__pyx_t_16, 0, __pyx_v_x_return);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyList_SET_ITEM(__pyx_t_16, 1, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_8);
+  PyList_SET_ITEM(__pyx_t_16, 2, __pyx_t_8);
+  __Pyx_GIVEREF(__pyx_t_9);
+  PyList_SET_ITEM(__pyx_t_16, 3, __pyx_t_9);
+  __Pyx_GIVEREF(__pyx_t_13);
+  PyList_SET_ITEM(__pyx_t_16, 4, __pyx_t_13);
+  __Pyx_GIVEREF(__pyx_t_14);
+  PyList_SET_ITEM(__pyx_t_16, 5, __pyx_t_14);
+  __pyx_t_1 = 0;
+  __pyx_t_8 = 0;
+  __pyx_t_9 = 0;
+  __pyx_t_13 = 0;
+  __pyx_t_14 = 0;
+  __pyx_r = __pyx_t_16;
+  __pyx_t_16 = 0;
+  goto __pyx_L0;
+
+  /* "PyNomad.pyx":34
+ * 
+ * # Define the interface function to perform optimization
+ * def optimize(f , pX0, pLB,pUB ,params):             # <<<<<<<<<<<<<<
+ *     cdef PyNomadEval_Point u_feas = PyNomadEval_Point()
+ *     cdef PyNomadEval_Point u_infeas = PyNomadEval_Point()
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_XDECREF(__pyx_t_13);
+  __Pyx_XDECREF(__pyx_t_14);
+  __Pyx_XDECREF(__pyx_t_16);
+  __Pyx_AddTraceback("PyNomad.optimize", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF((PyObject *)__pyx_v_u_feas);
+  __Pyx_XDECREF((PyObject *)__pyx_v_u_infeas);
+  __Pyx_XDECREF(__pyx_v_x_return);
+  __Pyx_XDECREF(__pyx_v_i);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "PyNomad.pyx":65
+ * cdef class PyNomadDouble:
+ *     cdef Double c_d
+ *     def value(self):             # <<<<<<<<<<<<<<
+ *         return self.c_d.value()
+ *     def is_defined(self):
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_7PyNomad_13PyNomadDouble_1value(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_pw_7PyNomad_13PyNomadDouble_1value(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("value (wrapper)", 0);
+  __pyx_r = __pyx_pf_7PyNomad_13PyNomadDouble_value(((struct __pyx_obj_7PyNomad_PyNomadDouble *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_7PyNomad_13PyNomadDouble_value(struct __pyx_obj_7PyNomad_PyNomadDouble *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  __Pyx_RefNannySetupContext("value", 0);
+
+  /* "PyNomad.pyx":66
+ *     cdef Double c_d
+ *     def value(self):
+ *         return self.c_d.value()             # <<<<<<<<<<<<<<
+ *     def is_defined(self):
+ *         return self.c_d.is_defined()
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->c_d.value()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 66, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "PyNomad.pyx":65
+ * cdef class PyNomadDouble:
+ *     cdef Double c_d
+ *     def value(self):             # <<<<<<<<<<<<<<
+ *         return self.c_d.value()
+ *     def is_defined(self):
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("PyNomad.PyNomadDouble.value", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "PyNomad.pyx":67
+ *     def value(self):
+ *         return self.c_d.value()
+ *     def is_defined(self):             # <<<<<<<<<<<<<<
+ *         return self.c_d.is_defined()
+ * 
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_7PyNomad_13PyNomadDouble_3is_defined(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_pw_7PyNomad_13PyNomadDouble_3is_defined(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("is_defined (wrapper)", 0);
+  __pyx_r = __pyx_pf_7PyNomad_13PyNomadDouble_2is_defined(((struct __pyx_obj_7PyNomad_PyNomadDouble *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_7PyNomad_13PyNomadDouble_2is_defined(struct __pyx_obj_7PyNomad_PyNomadDouble *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  __Pyx_RefNannySetupContext("is_defined", 0);
+
+  /* "PyNomad.pyx":68
+ *         return self.c_d.value()
+ *     def is_defined(self):
+ *         return self.c_d.is_defined()             # <<<<<<<<<<<<<<
+ * 
+ * cdef extern from "Eval_Point.hpp" namespace "NOMAD":
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->c_d.is_defined()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 68, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "PyNomad.pyx":67
+ *     def value(self):
+ *         return self.c_d.value()
+ *     def is_defined(self):             # <<<<<<<<<<<<<<
+ *         return self.c_d.is_defined()
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("PyNomad.PyNomadDouble.is_defined", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "PyNomad.pyx":81
+ * cdef class PyNomadEval_Point:
+ *     cdef Eval_Point *c_ep
+ *     def get_coord(self, int i):             # <<<<<<<<<<<<<<
+ *         return self.c_ep.value(i)
+ *     def set_bb_output(self,int i, double v):
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_7PyNomad_17PyNomadEval_Point_1get_coord(PyObject *__pyx_v_self, PyObject *__pyx_arg_i); /*proto*/
+static PyObject *__pyx_pw_7PyNomad_17PyNomadEval_Point_1get_coord(PyObject *__pyx_v_self, PyObject *__pyx_arg_i) {
+  int __pyx_v_i;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("get_coord (wrapper)", 0);
+  assert(__pyx_arg_i); {
+    __pyx_v_i = __Pyx_PyInt_As_int(__pyx_arg_i); if (unlikely((__pyx_v_i == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 81, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("PyNomad.PyNomadEval_Point.get_coord", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_7PyNomad_17PyNomadEval_Point_get_coord(((struct __pyx_obj_7PyNomad_PyNomadEval_Point *)__pyx_v_self), ((int)__pyx_v_i));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_7PyNomad_17PyNomadEval_Point_get_coord(struct __pyx_obj_7PyNomad_PyNomadEval_Point *__pyx_v_self, int __pyx_v_i) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  __Pyx_RefNannySetupContext("get_coord", 0);
+
+  /* "PyNomad.pyx":82
+ *     cdef Eval_Point *c_ep
+ *     def get_coord(self, int i):
+ *         return self.c_ep.value(i)             # <<<<<<<<<<<<<<
+ *     def set_bb_output(self,int i, double v):
+ *         self.c_ep.set_bb_output(i,v)
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->c_ep->value(__pyx_v_i)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 82, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "PyNomad.pyx":81
+ * cdef class PyNomadEval_Point:
+ *     cdef Eval_Point *c_ep
+ *     def get_coord(self, int i):             # <<<<<<<<<<<<<<
+ *         return self.c_ep.value(i)
+ *     def set_bb_output(self,int i, double v):
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("PyNomad.PyNomadEval_Point.get_coord", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "PyNomad.pyx":83
+ *     def get_coord(self, int i):
+ *         return self.c_ep.value(i)
+ *     def set_bb_output(self,int i, double v):             # <<<<<<<<<<<<<<
+ *         self.c_ep.set_bb_output(i,v)
+ *     def get_f(self):
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_7PyNomad_17PyNomadEval_Point_3set_bb_output(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_7PyNomad_17PyNomadEval_Point_3set_bb_output(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  int __pyx_v_i;
+  double __pyx_v_v;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("set_bb_output (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_i,&__pyx_n_s_v,0};
+    PyObject* values[2] = {0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_i)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        case  1:
+        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("set_bb_output", 1, 2, 2, 1); __PYX_ERR(0, 83, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_bb_output") < 0)) __PYX_ERR(0, 83, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+    }
+    __pyx_v_i = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_i == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 83, __pyx_L3_error)
+    __pyx_v_v = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_v == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 83, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("set_bb_output", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 83, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("PyNomad.PyNomadEval_Point.set_bb_output", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_7PyNomad_17PyNomadEval_Point_2set_bb_output(((struct __pyx_obj_7PyNomad_PyNomadEval_Point *)__pyx_v_self), __pyx_v_i, __pyx_v_v);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_7PyNomad_17PyNomadEval_Point_2set_bb_output(struct __pyx_obj_7PyNomad_PyNomadEval_Point *__pyx_v_self, int __pyx_v_i, double __pyx_v_v) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("set_bb_output", 0);
+
+  /* "PyNomad.pyx":84
+ *         return self.c_ep.value(i)
+ *     def set_bb_output(self,int i, double v):
+ *         self.c_ep.set_bb_output(i,v)             # <<<<<<<<<<<<<<
+ *     def get_f(self):
+ *         cdef PyNomadDouble f = PyNomadDouble()
+ */
+  __pyx_v_self->c_ep->set_bb_output(__pyx_v_i, __pyx_v_v);
+
+  /* "PyNomad.pyx":83
+ *     def get_coord(self, int i):
+ *         return self.c_ep.value(i)
+ *     def set_bb_output(self,int i, double v):             # <<<<<<<<<<<<<<
+ *         self.c_ep.set_bb_output(i,v)
+ *     def get_f(self):
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "PyNomad.pyx":85
+ *     def set_bb_output(self,int i, double v):
+ *         self.c_ep.set_bb_output(i,v)
+ *     def get_f(self):             # <<<<<<<<<<<<<<
+ *         cdef PyNomadDouble f = PyNomadDouble()
+ *         f.c_d=self.c_ep.get_f()
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_7PyNomad_17PyNomadEval_Point_5get_f(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_pw_7PyNomad_17PyNomadEval_Point_5get_f(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("get_f (wrapper)", 0);
+  __pyx_r = __pyx_pf_7PyNomad_17PyNomadEval_Point_4get_f(((struct __pyx_obj_7PyNomad_PyNomadEval_Point *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_7PyNomad_17PyNomadEval_Point_4get_f(struct __pyx_obj_7PyNomad_PyNomadEval_Point *__pyx_v_self) {
+  struct __pyx_obj_7PyNomad_PyNomadDouble *__pyx_v_f = 0;
+  double __pyx_v_f_d;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  int __pyx_t_4;
+  double __pyx_t_5;
+  __Pyx_RefNannySetupContext("get_f", 0);
+
+  /* "PyNomad.pyx":86
+ *         self.c_ep.set_bb_output(i,v)
+ *     def get_f(self):
+ *         cdef PyNomadDouble f = PyNomadDouble()             # <<<<<<<<<<<<<<
+ *         f.c_d=self.c_ep.get_f()
+ *         cdef double f_d
+ */
+  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_7PyNomad_PyNomadDouble), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 86, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v_f = ((struct __pyx_obj_7PyNomad_PyNomadDouble *)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "PyNomad.pyx":87
+ *     def get_f(self):
+ *         cdef PyNomadDouble f = PyNomadDouble()
+ *         f.c_d=self.c_ep.get_f()             # <<<<<<<<<<<<<<
+ *         cdef double f_d
+ *         if ( f.is_defined() ):
+ */
+  __pyx_v_f->c_d = __pyx_v_self->c_ep->get_f();
+
+  /* "PyNomad.pyx":89
+ *         f.c_d=self.c_ep.get_f()
+ *         cdef double f_d
+ *         if ( f.is_defined() ):             # <<<<<<<<<<<<<<
+ *             f_d = f.value()
+ *         else:
+ */
+  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_f), __pyx_n_s_is_defined); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 89, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = NULL;
+  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_2))) {
+    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
+    if (likely(__pyx_t_3)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+      __Pyx_INCREF(__pyx_t_3);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_2, function);
+    }
+  }
+  if (__pyx_t_3) {
+    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 89, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  } else {
+    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 89, __pyx_L1_error)
+  }
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 89, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  if (__pyx_t_4) {
+
+    /* "PyNomad.pyx":90
+ *         cdef double f_d
+ *         if ( f.is_defined() ):
+ *             f_d = f.value()             # <<<<<<<<<<<<<<
+ *         else:
+ *             f_d = float('inf')
+ */
+    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_f), __pyx_n_s_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 90, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_3 = NULL;
+    if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_2))) {
+      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
+      if (likely(__pyx_t_3)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+        __Pyx_INCREF(__pyx_t_3);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_2, function);
+      }
+    }
+    if (__pyx_t_3) {
+      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 90, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    } else {
+      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 90, __pyx_L1_error)
+    }
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 90, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __pyx_v_f_d = __pyx_t_5;
+
+    /* "PyNomad.pyx":89
+ *         f.c_d=self.c_ep.get_f()
+ *         cdef double f_d
+ *         if ( f.is_defined() ):             # <<<<<<<<<<<<<<
+ *             f_d = f.value()
+ *         else:
+ */
+    goto __pyx_L3;
+  }
+
+  /* "PyNomad.pyx":92
+ *             f_d = f.value()
+ *         else:
+ *             f_d = float('inf')             # <<<<<<<<<<<<<<
+ *         return f_d
+ *     def get_h(self):
+ */
+  /*else*/ {
+    __pyx_t_5 = __Pyx_PyObject_AsDouble(__pyx_n_s_inf); if (unlikely(__pyx_t_5 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 92, __pyx_L1_error)
+    __pyx_v_f_d = __pyx_t_5;
+  }
+  __pyx_L3:;
+
+  /* "PyNomad.pyx":93
+ *         else:
+ *             f_d = float('inf')
+ *         return f_d             # <<<<<<<<<<<<<<
+ *     def get_h(self):
+ *         cdef PyNomadDouble h = PyNomadDouble()
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_f_d); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 93, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "PyNomad.pyx":85
+ *     def set_bb_output(self,int i, double v):
+ *         self.c_ep.set_bb_output(i,v)
+ *     def get_f(self):             # <<<<<<<<<<<<<<
+ *         cdef PyNomadDouble f = PyNomadDouble()
+ *         f.c_d=self.c_ep.get_f()
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_AddTraceback("PyNomad.PyNomadEval_Point.get_f", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF((PyObject *)__pyx_v_f);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "PyNomad.pyx":94
+ *             f_d = float('inf')
+ *         return f_d
+ *     def get_h(self):             # <<<<<<<<<<<<<<
+ *         cdef PyNomadDouble h = PyNomadDouble()
+ *         h.c_d=self.c_ep.get_h()
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_7PyNomad_17PyNomadEval_Point_7get_h(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_pw_7PyNomad_17PyNomadEval_Point_7get_h(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("get_h (wrapper)", 0);
+  __pyx_r = __pyx_pf_7PyNomad_17PyNomadEval_Point_6get_h(((struct __pyx_obj_7PyNomad_PyNomadEval_Point *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_7PyNomad_17PyNomadEval_Point_6get_h(struct __pyx_obj_7PyNomad_PyNomadEval_Point *__pyx_v_self) {
+  struct __pyx_obj_7PyNomad_PyNomadDouble *__pyx_v_h = 0;
+  double __pyx_v_h_d;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  int __pyx_t_4;
+  double __pyx_t_5;
+  __Pyx_RefNannySetupContext("get_h", 0);
+
+  /* "PyNomad.pyx":95
+ *         return f_d
+ *     def get_h(self):
+ *         cdef PyNomadDouble h = PyNomadDouble()             # <<<<<<<<<<<<<<
+ *         h.c_d=self.c_ep.get_h()
+ *         cdef double h_d
+ */
+  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_7PyNomad_PyNomadDouble), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 95, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v_h = ((struct __pyx_obj_7PyNomad_PyNomadDouble *)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "PyNomad.pyx":96
+ *     def get_h(self):
+ *         cdef PyNomadDouble h = PyNomadDouble()
+ *         h.c_d=self.c_ep.get_h()             # <<<<<<<<<<<<<<
+ *         cdef double h_d
+ *         if ( h.is_defined() ):
+ */
+  __pyx_v_h->c_d = __pyx_v_self->c_ep->get_h();
+
+  /* "PyNomad.pyx":98
+ *         h.c_d=self.c_ep.get_h()
+ *         cdef double h_d
+ *         if ( h.is_defined() ):             # <<<<<<<<<<<<<<
+ *             h_d = h.value()
+ *         else:
+ */
+  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_h), __pyx_n_s_is_defined); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 98, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = NULL;
+  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_2))) {
+    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
+    if (likely(__pyx_t_3)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+      __Pyx_INCREF(__pyx_t_3);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_2, function);
+    }
+  }
+  if (__pyx_t_3) {
+    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 98, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  } else {
+    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 98, __pyx_L1_error)
+  }
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 98, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  if (__pyx_t_4) {
+
+    /* "PyNomad.pyx":99
+ *         cdef double h_d
+ *         if ( h.is_defined() ):
+ *             h_d = h.value()             # <<<<<<<<<<<<<<
+ *         else:
+ *             h_d = 0
+ */
+    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_h), __pyx_n_s_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 99, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_3 = NULL;
+    if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_2))) {
+      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
+      if (likely(__pyx_t_3)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+        __Pyx_INCREF(__pyx_t_3);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_2, function);
+      }
+    }
+    if (__pyx_t_3) {
+      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 99, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    } else {
+      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 99, __pyx_L1_error)
+    }
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 99, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __pyx_v_h_d = __pyx_t_5;
+
+    /* "PyNomad.pyx":98
+ *         h.c_d=self.c_ep.get_h()
+ *         cdef double h_d
+ *         if ( h.is_defined() ):             # <<<<<<<<<<<<<<
+ *             h_d = h.value()
+ *         else:
+ */
+    goto __pyx_L3;
+  }
+
+  /* "PyNomad.pyx":101
+ *             h_d = h.value()
+ *         else:
+ *             h_d = 0             # <<<<<<<<<<<<<<
+ *         return h_d
+ * 
+ */
+  /*else*/ {
+    __pyx_v_h_d = 0.0;
+  }
+  __pyx_L3:;
+
+  /* "PyNomad.pyx":102
+ *         else:
+ *             h_d = 0
+ *         return h_d             # <<<<<<<<<<<<<<
+ * 
+ *     def get_n(self):
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_h_d); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 102, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "PyNomad.pyx":94
+ *             f_d = float('inf')
+ *         return f_d
+ *     def get_h(self):             # <<<<<<<<<<<<<<
+ *         cdef PyNomadDouble h = PyNomadDouble()
+ *         h.c_d=self.c_ep.get_h()
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_AddTraceback("PyNomad.PyNomadEval_Point.get_h", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF((PyObject *)__pyx_v_h);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "PyNomad.pyx":104
+ *         return h_d
+ * 
+ *     def get_n(self):             # <<<<<<<<<<<<<<
+ *         cdef int n
+ *         n = self.c_ep.get_n()
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_7PyNomad_17PyNomadEval_Point_9get_n(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_pw_7PyNomad_17PyNomadEval_Point_9get_n(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("get_n (wrapper)", 0);
+  __pyx_r = __pyx_pf_7PyNomad_17PyNomadEval_Point_8get_n(((struct __pyx_obj_7PyNomad_PyNomadEval_Point *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_7PyNomad_17PyNomadEval_Point_8get_n(struct __pyx_obj_7PyNomad_PyNomadEval_Point *__pyx_v_self) {
+  int __pyx_v_n;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  __Pyx_RefNannySetupContext("get_n", 0);
+
+  /* "PyNomad.pyx":106
+ *     def get_n(self):
+ *         cdef int n
+ *         n = self.c_ep.get_n()             # <<<<<<<<<<<<<<
+ *         return n
+ *     def get_m(self):
+ */
+  __pyx_v_n = __pyx_v_self->c_ep->get_n();
+
+  /* "PyNomad.pyx":107
+ *         cdef int n
+ *         n = self.c_ep.get_n()
+ *         return n             # <<<<<<<<<<<<<<
+ *     def get_m(self):
+ *         cdef int m
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 107, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "PyNomad.pyx":104
+ *         return h_d
+ * 
+ *     def get_n(self):             # <<<<<<<<<<<<<<
+ *         cdef int n
+ *         n = self.c_ep.get_n()
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("PyNomad.PyNomadEval_Point.get_n", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "PyNomad.pyx":108
+ *         n = self.c_ep.get_n()
+ *         return n
+ *     def get_m(self):             # <<<<<<<<<<<<<<
+ *         cdef int m
+ *         m = self.c_ep.get_m()
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_7PyNomad_17PyNomadEval_Point_11get_m(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_pw_7PyNomad_17PyNomadEval_Point_11get_m(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("get_m (wrapper)", 0);
+  __pyx_r = __pyx_pf_7PyNomad_17PyNomadEval_Point_10get_m(((struct __pyx_obj_7PyNomad_PyNomadEval_Point *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_7PyNomad_17PyNomadEval_Point_10get_m(struct __pyx_obj_7PyNomad_PyNomadEval_Point *__pyx_v_self) {
+  int __pyx_v_m;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  __Pyx_RefNannySetupContext("get_m", 0);
+
+  /* "PyNomad.pyx":110
+ *     def get_m(self):
+ *         cdef int m
+ *         m = self.c_ep.get_m()             # <<<<<<<<<<<<<<
+ *         return m
+ * 
+ */
+  __pyx_v_m = __pyx_v_self->c_ep->get_m();
+
+  /* "PyNomad.pyx":111
+ *         cdef int m
+ *         m = self.c_ep.get_m()
+ *         return m             # <<<<<<<<<<<<<<
+ * 
+ * cdef extern from "nomadCySimpleInterface.cpp":
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_m); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 111, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "PyNomad.pyx":108
+ *         n = self.c_ep.get_n()
+ *         return n
+ *     def get_m(self):             # <<<<<<<<<<<<<<
+ *         cdef int m
+ *         m = self.c_ep.get_m()
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("PyNomad.PyNomadEval_Point.get_m", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "PyNomad.pyx":123
+ * 
+ * # Define callback function for a single Eval_Point ---> link with Python
+ * cdef int cb(void *f, Eval_Point & x):             # <<<<<<<<<<<<<<
+ *      cdef PyNomadEval_Point u = PyNomadEval_Point()
+ *      u.c_ep = &x
+ */
+
+static int __pyx_f_7PyNomad_cb(void *__pyx_v_f, NOMAD::Eval_Point &__pyx_v_x) {
+  struct __pyx_obj_7PyNomad_PyNomadEval_Point *__pyx_v_u = 0;
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  int __pyx_t_5;
+  __Pyx_RefNannySetupContext("cb", 0);
+
+  /* "PyNomad.pyx":124
+ * # Define callback function for a single Eval_Point ---> link with Python
+ * cdef int cb(void *f, Eval_Point & x):
+ *      cdef PyNomadEval_Point u = PyNomadEval_Point()             # <<<<<<<<<<<<<<
+ *      u.c_ep = &x
+ *      return (<object>f)(u)
+ */
+  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_7PyNomad_PyNomadEval_Point), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 124, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v_u = ((struct __pyx_obj_7PyNomad_PyNomadEval_Point *)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "PyNomad.pyx":125
+ * cdef int cb(void *f, Eval_Point & x):
+ *      cdef PyNomadEval_Point u = PyNomadEval_Point()
+ *      u.c_ep = &x             # <<<<<<<<<<<<<<
+ *      return (<object>f)(u)
+ * 
+ */
+  __pyx_v_u->c_ep = (&__pyx_v_x);
+
+  /* "PyNomad.pyx":126
+ *      cdef PyNomadEval_Point u = PyNomadEval_Point()
+ *      u.c_ep = &x
+ *      return (<object>f)(u)             # <<<<<<<<<<<<<<
+ * 
+ * # Define callback function for block evaluation of a list of Eval_Points ---> link with Python
+ */
+  __Pyx_INCREF(((PyObject *)__pyx_v_f));
+  __pyx_t_2 = ((PyObject *)__pyx_v_f); __pyx_t_3 = NULL;
+  if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_2))) {
+    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
+    if (likely(__pyx_t_3)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+      __Pyx_INCREF(__pyx_t_3);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_2, function);
+    }
+  }
+  if (!__pyx_t_3) {
+    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_u)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 126, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+  } else {
+    __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 126, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL;
+    __Pyx_INCREF(((PyObject *)__pyx_v_u));
+    __Pyx_GIVEREF(((PyObject *)__pyx_v_u));
+    PyTuple_SET_ITEM(__pyx_t_4, 0+1, ((PyObject *)__pyx_v_u));
+    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 126, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 126, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_r = __pyx_t_5;
+  goto __pyx_L0;
+
+  /* "PyNomad.pyx":123
+ * 
+ * # Define callback function for a single Eval_Point ---> link with Python
+ * cdef int cb(void *f, Eval_Point & x):             # <<<<<<<<<<<<<<
+ *      cdef PyNomadEval_Point u = PyNomadEval_Point()
+ *      u.c_ep = &x
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_WriteUnraisable("PyNomad.cb", __pyx_clineno, __pyx_lineno, __pyx_filename, 0, 0);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XDECREF((PyObject *)__pyx_v_u);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "PyNomad.pyx":129
+ * 
+ * # Define callback function for block evaluation of a list of Eval_Points ---> link with Python
+ * cdef int cbL(void *f, list[Eval_Point *] & x):             # <<<<<<<<<<<<<<
+ *       cdef size_t size = x.size()
+ *       cdef PyNomadEval_Point u
+ */
+
+static int __pyx_f_7PyNomad_cbL(void *__pyx_v_f, std::list<NOMAD::Eval_Point *>  &__pyx_v_x) {
+  size_t __pyx_v_size;
+  struct __pyx_obj_7PyNomad_PyNomadEval_Point *__pyx_v_u = 0;
+  std::list<NOMAD::Eval_Point *> ::iterator __pyx_v_it;
+  NOMAD::Eval_Point *__pyx_v_c_ep;
+  PyObject *__pyx_v_out = NULL;
+  CYTHON_UNUSED size_t __pyx_v_i;
+  PyObject *__pyx_v_proc = NULL;
+  PyObject *__pyx_v_p = NULL;
+  PyObject *__pyx_v_bb_out = NULL;
+  Py_ssize_t __pyx_v_j;
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  size_t __pyx_t_4;
+  size_t __pyx_t_5;
+  int __pyx_t_6;
+  Py_ssize_t __pyx_t_7;
+  PyObject *__pyx_t_8 = NULL;
+  int __pyx_t_9;
+  int __pyx_t_10;
+  Py_ssize_t __pyx_t_11;
+  double __pyx_t_12;
+  __Pyx_RefNannySetupContext("cbL", 0);
+
+  /* "PyNomad.pyx":130
+ * # Define callback function for block evaluation of a list of Eval_Points ---> link with Python
+ * cdef int cbL(void *f, list[Eval_Point *] & x):
+ *       cdef size_t size = x.size()             # <<<<<<<<<<<<<<
+ *       cdef PyNomadEval_Point u
+ *       cdef list[Eval_Point *].iterator it = x.begin()
+ */
+  __pyx_v_size = __pyx_v_x.size();
+
+  /* "PyNomad.pyx":132
+ *       cdef size_t size = x.size()
+ *       cdef PyNomadEval_Point u
+ *       cdef list[Eval_Point *].iterator it = x.begin()             # <<<<<<<<<<<<<<
+ *       cdef Eval_Point *c_ep
+ * 
+ */
+  __pyx_v_it = __pyx_v_x.begin();
+
+  /* "PyNomad.pyx":136
+ * 
+ *       # Start the process for each Eval_Point of the list
+ *       out = Queue()             # <<<<<<<<<<<<<<
+ *       for i in xrange(size):
+ *          u = PyNomadEval_Point()
+ */
+  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_Queue); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 136, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = NULL;
+  if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_2))) {
+    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
+    if (likely(__pyx_t_3)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+      __Pyx_INCREF(__pyx_t_3);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_2, function);
+    }
+  }
+  if (__pyx_t_3) {
+    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 136, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  } else {
+    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 136, __pyx_L1_error)
+  }
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_v_out = __pyx_t_1;
+  __pyx_t_1 = 0;
+
+  /* "PyNomad.pyx":137
+ *       # Start the process for each Eval_Point of the list
+ *       out = Queue()
+ *       for i in xrange(size):             # <<<<<<<<<<<<<<
+ *          u = PyNomadEval_Point()
+ *          c_ep = deref(it)
+ */
+  __pyx_t_4 = __pyx_v_size;
+  for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
+    __pyx_v_i = __pyx_t_5;
+
+    /* "PyNomad.pyx":138
+ *       out = Queue()
+ *       for i in xrange(size):
+ *          u = PyNomadEval_Point()             # <<<<<<<<<<<<<<
+ *          c_ep = deref(it)
+ *          u.c_ep = c_ep
+ */
+    __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_7PyNomad_PyNomadEval_Point), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 138, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_XDECREF_SET(__pyx_v_u, ((struct __pyx_obj_7PyNomad_PyNomadEval_Point *)__pyx_t_1));
+    __pyx_t_1 = 0;
+
+    /* "PyNomad.pyx":139
+ *       for i in xrange(size):
+ *          u = PyNomadEval_Point()
+ *          c_ep = deref(it)             # <<<<<<<<<<<<<<
+ *          u.c_ep = c_ep
+ *          proc = []
+ */
+    __pyx_v_c_ep = (*__pyx_v_it);
+
+    /* "PyNomad.pyx":140
+ *          u = PyNomadEval_Point()
+ *          c_ep = deref(it)
+ *          u.c_ep = c_ep             # <<<<<<<<<<<<<<
+ *          proc = []
+ *          p = Process(target=<object>f, args=(u,out,)) # u is copied
+ */
+    __pyx_v_u->c_ep = __pyx_v_c_ep;
+
+    /* "PyNomad.pyx":141
+ *          c_ep = deref(it)
+ *          u.c_ep = c_ep
+ *          proc = []             # <<<<<<<<<<<<<<
+ *          p = Process(target=<object>f, args=(u,out,)) # u is copied
+ *          p.start()
+ */
+    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 141, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_XDECREF_SET(__pyx_v_proc, ((PyObject*)__pyx_t_1));
+    __pyx_t_1 = 0;
+
+    /* "PyNomad.pyx":142
+ *          u.c_ep = c_ep
+ *          proc = []
+ *          p = Process(target=<object>f, args=(u,out,)) # u is copied             # <<<<<<<<<<<<<<
+ *          p.start()
+ *          proc.append(p)
+ */
+    __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_Process); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 142, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 142, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_target, ((PyObject *)__pyx_v_f)) < 0) __PYX_ERR(0, 142, __pyx_L1_error)
+    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 142, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_INCREF(((PyObject *)__pyx_v_u));
+    __Pyx_GIVEREF(((PyObject *)__pyx_v_u));
+    PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_u));
+    __Pyx_INCREF(__pyx_v_out);
+    __Pyx_GIVEREF(__pyx_v_out);
+    PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_out);
+    if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_args, __pyx_t_3) < 0) __PYX_ERR(0, 142, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 142, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __Pyx_XDECREF_SET(__pyx_v_p, __pyx_t_3);
+    __pyx_t_3 = 0;
+
+    /* "PyNomad.pyx":143
+ *          proc = []
+ *          p = Process(target=<object>f, args=(u,out,)) # u is copied
+ *          p.start()             # <<<<<<<<<<<<<<
+ *          proc.append(p)
+ *          inc(it)
+ */
+    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_p, __pyx_n_s_start); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 143, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_1 = NULL;
+    if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_2))) {
+      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
+      if (likely(__pyx_t_1)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+        __Pyx_INCREF(__pyx_t_1);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_2, function);
+      }
+    }
+    if (__pyx_t_1) {
+      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 143, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    } else {
+      __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 143, __pyx_L1_error)
+    }
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+
+    /* "PyNomad.pyx":144
+ *          p = Process(target=<object>f, args=(u,out,)) # u is copied
+ *          p.start()
+ *          proc.append(p)             # <<<<<<<<<<<<<<
+ *          inc(it)
+ * 
+ */
+    __pyx_t_6 = __Pyx_PyList_Append(__pyx_v_proc, __pyx_v_p); if (unlikely(__pyx_t_6 == -1)) __PYX_ERR(0, 144, __pyx_L1_error)
+
+    /* "PyNomad.pyx":145
+ *          p.start()
+ *          proc.append(p)
+ *          inc(it)             # <<<<<<<<<<<<<<
+ * 
+ *       # Wait for all the processes to end
+ */
+    (++__pyx_v_it);
+  }
+
+  /* "PyNomad.pyx":148
+ * 
+ *       # Wait for all the processes to end
+ *       for p in proc:             # <<<<<<<<<<<<<<
+ *          p.join()
+ * 
+ */
+  if (unlikely(!__pyx_v_proc)) { __Pyx_RaiseUnboundLocalError("proc"); __PYX_ERR(0, 148, __pyx_L1_error) }
+  __pyx_t_3 = __pyx_v_proc; __Pyx_INCREF(__pyx_t_3); __pyx_t_7 = 0;
+  for (;;) {
+    if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_3)) break;
+    #if CYTHON_COMPILING_IN_CPYTHON
+    __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_7); __Pyx_INCREF(__pyx_t_2); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 148, __pyx_L1_error)
+    #else
+    __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 148, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    #endif
+    __Pyx_XDECREF_SET(__pyx_v_p, __pyx_t_2);
+    __pyx_t_2 = 0;
+
+    /* "PyNomad.pyx":149
+ *       # Wait for all the processes to end
+ *       for p in proc:
+ *          p.join()             # <<<<<<<<<<<<<<
+ * 
+ *       # Update the Eval_Points bb_output from the out Queue
+ */
+    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_p, __pyx_n_s_join); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 149, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_8 = NULL;
+    if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_1))) {
+      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1);
+      if (likely(__pyx_t_8)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+        __Pyx_INCREF(__pyx_t_8);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_1, function);
+      }
+    }
+    if (__pyx_t_8) {
+      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 149, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    } else {
+      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 149, __pyx_L1_error)
+    }
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+    /* "PyNomad.pyx":148
+ * 
+ *       # Wait for all the processes to end
+ *       for p in proc:             # <<<<<<<<<<<<<<
+ *          p.join()
+ * 
+ */
+  }
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+
+  /* "PyNomad.pyx":152
+ * 
+ *       # Update the Eval_Points bb_output from the out Queue
+ *       it = x.begin()             # <<<<<<<<<<<<<<
+ *       for i in xrange(size):
+ *           c_ep = deref(it)
+ */
+  __pyx_v_it = __pyx_v_x.begin();
+
+  /* "PyNomad.pyx":153
+ *       # Update the Eval_Points bb_output from the out Queue
+ *       it = x.begin()
+ *       for i in xrange(size):             # <<<<<<<<<<<<<<
+ *           c_ep = deref(it)
+ *           bb_out = out.get()
+ */
+  __pyx_t_4 = __pyx_v_size;
+  for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
+    __pyx_v_i = __pyx_t_5;
+
+    /* "PyNomad.pyx":154
+ *       it = x.begin()
+ *       for i in xrange(size):
+ *           c_ep = deref(it)             # <<<<<<<<<<<<<<
+ *           bb_out = out.get()
+ *           if type(bb_out) != type(float) or type(bb_out) != type(int):
+ */
+    __pyx_v_c_ep = (*__pyx_v_it);
+
+    /* "PyNomad.pyx":155
+ *       for i in xrange(size):
+ *           c_ep = deref(it)
+ *           bb_out = out.get()             # <<<<<<<<<<<<<<
+ *           if type(bb_out) != type(float) or type(bb_out) != type(int):
+ *               for j in xrange(len(bb_out)):
+ */
+    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_out, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 155, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_1 = NULL;
+    if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_2))) {
+      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
+      if (likely(__pyx_t_1)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+        __Pyx_INCREF(__pyx_t_1);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_2, function);
+      }
+    }
+    if (__pyx_t_1) {
+      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 155, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    } else {
+      __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 155, __pyx_L1_error)
+    }
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __Pyx_XDECREF_SET(__pyx_v_bb_out, __pyx_t_3);
+    __pyx_t_3 = 0;
+
+    /* "PyNomad.pyx":156
+ *           c_ep = deref(it)
+ *           bb_out = out.get()
+ *           if type(bb_out) != type(float) or type(bb_out) != type(int):             # <<<<<<<<<<<<<<
+ *               for j in xrange(len(bb_out)):
+ *                   c_ep.set_bb_output(j,bb_out[j])
+ */
+    __pyx_t_3 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_bb_out)), ((PyObject *)Py_TYPE(((PyObject *)(&PyFloat_Type)))), Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 156, __pyx_L1_error)
+    __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 156, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    if (!__pyx_t_10) {
+    } else {
+      __pyx_t_9 = __pyx_t_10;
+      goto __pyx_L10_bool_binop_done;
+    }
+    __pyx_t_3 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_bb_out)), ((PyObject *)Py_TYPE(((PyObject *)(&PyInt_Type)))), Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 156, __pyx_L1_error)
+    __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 156, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    __pyx_t_9 = __pyx_t_10;
+    __pyx_L10_bool_binop_done:;
+    if (__pyx_t_9) {
+
+      /* "PyNomad.pyx":157
+ *           bb_out = out.get()
+ *           if type(bb_out) != type(float) or type(bb_out) != type(int):
+ *               for j in xrange(len(bb_out)):             # <<<<<<<<<<<<<<
+ *                   c_ep.set_bb_output(j,bb_out[j])
+ *           else:
+ */
+      __pyx_t_7 = PyObject_Length(__pyx_v_bb_out); if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 157, __pyx_L1_error)
+      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_7; __pyx_t_11+=1) {
+        __pyx_v_j = __pyx_t_11;
+
+        /* "PyNomad.pyx":158
+ *           if type(bb_out) != type(float) or type(bb_out) != type(int):
+ *               for j in xrange(len(bb_out)):
+ *                   c_ep.set_bb_output(j,bb_out[j])             # <<<<<<<<<<<<<<
+ *           else:
+ *               c_ep.set_bb_output(0,bb_out)
+ */
+        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_bb_out, __pyx_v_j, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 158, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        __pyx_t_12 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_12 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 158, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+        __pyx_v_c_ep->set_bb_output(__pyx_v_j, __pyx_t_12);
+      }
+
+      /* "PyNomad.pyx":156
+ *           c_ep = deref(it)
+ *           bb_out = out.get()
+ *           if type(bb_out) != type(float) or type(bb_out) != type(int):             # <<<<<<<<<<<<<<
+ *               for j in xrange(len(bb_out)):
+ *                   c_ep.set_bb_output(j,bb_out[j])
+ */
+      goto __pyx_L9;
+    }
+
+    /* "PyNomad.pyx":160
+ *                   c_ep.set_bb_output(j,bb_out[j])
+ *           else:
+ *               c_ep.set_bb_output(0,bb_out)             # <<<<<<<<<<<<<<
+ * 
+ *           inc(it)
+ */
+    /*else*/ {
+      __pyx_t_12 = __pyx_PyFloat_AsDouble(__pyx_v_bb_out); if (unlikely((__pyx_t_12 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 160, __pyx_L1_error)
+      __pyx_v_c_ep->set_bb_output(0, __pyx_t_12);
+    }
+    __pyx_L9:;
+
+    /* "PyNomad.pyx":162
+ *               c_ep.set_bb_output(0,bb_out)
+ * 
+ *           inc(it)             # <<<<<<<<<<<<<<
+ * 
+ *       return 1   # 1 is success
+ */
+    (++__pyx_v_it);
+  }
+
+  /* "PyNomad.pyx":164
+ *           inc(it)
+ * 
+ *       return 1   # 1 is success             # <<<<<<<<<<<<<<
+ * 
+ */
+  __pyx_r = 1;
+  goto __pyx_L0;
+
+  /* "PyNomad.pyx":129
+ * 
+ * # Define callback function for block evaluation of a list of Eval_Points ---> link with Python
+ * cdef int cbL(void *f, list[Eval_Point *] & x):             # <<<<<<<<<<<<<<
+ *       cdef size_t size = x.size()
+ *       cdef PyNomadEval_Point u
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_WriteUnraisable("PyNomad.cbL", __pyx_clineno, __pyx_lineno, __pyx_filename, 0, 0);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XDECREF((PyObject *)__pyx_v_u);
+  __Pyx_XDECREF(__pyx_v_out);
+  __Pyx_XDECREF(__pyx_v_proc);
+  __Pyx_XDECREF(__pyx_v_p);
+  __Pyx_XDECREF(__pyx_v_bb_out);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "string.from_py":13
+ * 
+ * @cname("__pyx_convert_string_from_py_std__in_string")
+ * cdef string __pyx_convert_string_from_py_std__in_string(object o) except *:             # <<<<<<<<<<<<<<
+ *     cdef Py_ssize_t length
+ *     cdef char* data = __Pyx_PyObject_AsStringAndSize(o, &length)
+ */
+
+static std::string __pyx_convert_string_from_py_std__in_string(PyObject *__pyx_v_o) {
+  Py_ssize_t __pyx_v_length;
+  char *__pyx_v_data;
+  std::string __pyx_r;
+  __Pyx_RefNannyDeclarations
+  char *__pyx_t_1;
+  __Pyx_RefNannySetupContext("__pyx_convert_string_from_py_std__in_string", 0);
+
+  /* "string.from_py":15
+ * cdef string __pyx_convert_string_from_py_std__in_string(object o) except *:
+ *     cdef Py_ssize_t length
+ *     cdef char* data = __Pyx_PyObject_AsStringAndSize(o, &length)             # <<<<<<<<<<<<<<
+ *     return string(data, length)
+ * 
+ */
+  __pyx_t_1 = __Pyx_PyObject_AsStringAndSize(__pyx_v_o, (&__pyx_v_length)); if (unlikely(__pyx_t_1 == NULL)) __PYX_ERR(1, 15, __pyx_L1_error)
+  __pyx_v_data = __pyx_t_1;
+
+  /* "string.from_py":16
+ *     cdef Py_ssize_t length
+ *     cdef char* data = __Pyx_PyObject_AsStringAndSize(o, &length)
+ *     return string(data, length)             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __pyx_r = std::string(__pyx_v_data, __pyx_v_length);
+  goto __pyx_L0;
+
+  /* "string.from_py":13
+ * 
+ * @cname("__pyx_convert_string_from_py_std__in_string")
+ * cdef string __pyx_convert_string_from_py_std__in_string(object o) except *:             # <<<<<<<<<<<<<<
+ *     cdef Py_ssize_t length
+ *     cdef char* data = __Pyx_PyObject_AsStringAndSize(o, &length)
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_AddTraceback("string.from_py.__pyx_convert_string_from_py_std__in_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "string.to_py":31
+ * 
+ * @cname("__pyx_convert_PyObject_string_to_py_std__in_string")
+ * cdef inline object __pyx_convert_PyObject_string_to_py_std__in_string(const string& s):             # <<<<<<<<<<<<<<
+ *     return __Pyx_PyObject_FromStringAndSize(s.data(), s.size())
+ * cdef extern from *:
+ */
+
+static CYTHON_INLINE PyObject *__pyx_convert_PyObject_string_to_py_std__in_string(std::string const &__pyx_v_s) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  __Pyx_RefNannySetupContext("__pyx_convert_PyObject_string_to_py_std__in_string", 0);
+
+  /* "string.to_py":32
+ * @cname("__pyx_convert_PyObject_string_to_py_std__in_string")
+ * cdef inline object __pyx_convert_PyObject_string_to_py_std__in_string(const string& s):
+ *     return __Pyx_PyObject_FromStringAndSize(s.data(), s.size())             # <<<<<<<<<<<<<<
+ * cdef extern from *:
+ *     cdef object __Pyx_PyUnicode_FromStringAndSize(char*, size_t)
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __Pyx_PyObject_FromStringAndSize(__pyx_v_s.data(), __pyx_v_s.size()); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "string.to_py":31
+ * 
+ * @cname("__pyx_convert_PyObject_string_to_py_std__in_string")
+ * cdef inline object __pyx_convert_PyObject_string_to_py_std__in_string(const string& s):             # <<<<<<<<<<<<<<
+ *     return __Pyx_PyObject_FromStringAndSize(s.data(), s.size())
+ * cdef extern from *:
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("string.to_py.__pyx_convert_PyObject_string_to_py_std__in_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "string.to_py":37
+ * 
+ * @cname("__pyx_convert_PyUnicode_string_to_py_std__in_string")
+ * cdef inline object __pyx_convert_PyUnicode_string_to_py_std__in_string(const string& s):             # <<<<<<<<<<<<<<
+ *     return __Pyx_PyUnicode_FromStringAndSize(s.data(), s.size())
+ * cdef extern from *:
+ */
+
+static CYTHON_INLINE PyObject *__pyx_convert_PyUnicode_string_to_py_std__in_string(std::string const &__pyx_v_s) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  __Pyx_RefNannySetupContext("__pyx_convert_PyUnicode_string_to_py_std__in_string", 0);
+
+  /* "string.to_py":38
+ * @cname("__pyx_convert_PyUnicode_string_to_py_std__in_string")
+ * cdef inline object __pyx_convert_PyUnicode_string_to_py_std__in_string(const string& s):
+ *     return __Pyx_PyUnicode_FromStringAndSize(s.data(), s.size())             # <<<<<<<<<<<<<<
+ * cdef extern from *:
+ *     cdef object __Pyx_PyStr_FromStringAndSize(char*, size_t)
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __Pyx_PyUnicode_FromStringAndSize(__pyx_v_s.data(), __pyx_v_s.size()); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 38, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "string.to_py":37
+ * 
+ * @cname("__pyx_convert_PyUnicode_string_to_py_std__in_string")
+ * cdef inline object __pyx_convert_PyUnicode_string_to_py_std__in_string(const string& s):             # <<<<<<<<<<<<<<
+ *     return __Pyx_PyUnicode_FromStringAndSize(s.data(), s.size())
+ * cdef extern from *:
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("string.to_py.__pyx_convert_PyUnicode_string_to_py_std__in_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "string.to_py":43
+ * 
+ * @cname("__pyx_convert_PyStr_string_to_py_std__in_string")
+ * cdef inline object __pyx_convert_PyStr_string_to_py_std__in_string(const string& s):             # <<<<<<<<<<<<<<
+ *     return __Pyx_PyStr_FromStringAndSize(s.data(), s.size())
+ * cdef extern from *:
+ */
+
+static CYTHON_INLINE PyObject *__pyx_convert_PyStr_string_to_py_std__in_string(std::string const &__pyx_v_s) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  __Pyx_RefNannySetupContext("__pyx_convert_PyStr_string_to_py_std__in_string", 0);
+
+  /* "string.to_py":44
+ * @cname("__pyx_convert_PyStr_string_to_py_std__in_string")
+ * cdef inline object __pyx_convert_PyStr_string_to_py_std__in_string(const string& s):
+ *     return __Pyx_PyStr_FromStringAndSize(s.data(), s.size())             # <<<<<<<<<<<<<<
+ * cdef extern from *:
+ *     cdef object __Pyx_PyBytes_FromStringAndSize(char*, size_t)
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __Pyx_PyStr_FromStringAndSize(__pyx_v_s.data(), __pyx_v_s.size()); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 44, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "string.to_py":43
+ * 
+ * @cname("__pyx_convert_PyStr_string_to_py_std__in_string")
+ * cdef inline object __pyx_convert_PyStr_string_to_py_std__in_string(const string& s):             # <<<<<<<<<<<<<<
+ *     return __Pyx_PyStr_FromStringAndSize(s.data(), s.size())
+ * cdef extern from *:
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("string.to_py.__pyx_convert_PyStr_string_to_py_std__in_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "string.to_py":49
+ * 
+ * @cname("__pyx_convert_PyBytes_string_to_py_std__in_string")
+ * cdef inline object __pyx_convert_PyBytes_string_to_py_std__in_string(const string& s):             # <<<<<<<<<<<<<<
+ *     return __Pyx_PyBytes_FromStringAndSize(s.data(), s.size())
+ * cdef extern from *:
+ */
+
+static CYTHON_INLINE PyObject *__pyx_convert_PyBytes_string_to_py_std__in_string(std::string const &__pyx_v_s) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  __Pyx_RefNannySetupContext("__pyx_convert_PyBytes_string_to_py_std__in_string", 0);
+
+  /* "string.to_py":50
+ * @cname("__pyx_convert_PyBytes_string_to_py_std__in_string")
+ * cdef inline object __pyx_convert_PyBytes_string_to_py_std__in_string(const string& s):
+ *     return __Pyx_PyBytes_FromStringAndSize(s.data(), s.size())             # <<<<<<<<<<<<<<
+ * cdef extern from *:
+ *     cdef object __Pyx_PyByteArray_FromStringAndSize(char*, size_t)
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(__pyx_v_s.data(), __pyx_v_s.size()); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 50, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "string.to_py":49
+ * 
+ * @cname("__pyx_convert_PyBytes_string_to_py_std__in_string")
+ * cdef inline object __pyx_convert_PyBytes_string_to_py_std__in_string(const string& s):             # <<<<<<<<<<<<<<
+ *     return __Pyx_PyBytes_FromStringAndSize(s.data(), s.size())
+ * cdef extern from *:
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("string.to_py.__pyx_convert_PyBytes_string_to_py_std__in_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "string.to_py":55
+ * 
+ * @cname("__pyx_convert_PyByteArray_string_to_py_std__in_string")
+ * cdef inline object __pyx_convert_PyByteArray_string_to_py_std__in_string(const string& s):             # <<<<<<<<<<<<<<
+ *     return __Pyx_PyByteArray_FromStringAndSize(s.data(), s.size())
+ * 
+ */
+
+static CYTHON_INLINE PyObject *__pyx_convert_PyByteArray_string_to_py_std__in_string(std::string const &__pyx_v_s) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  __Pyx_RefNannySetupContext("__pyx_convert_PyByteArray_string_to_py_std__in_string", 0);
+
+  /* "string.to_py":56
+ * @cname("__pyx_convert_PyByteArray_string_to_py_std__in_string")
+ * cdef inline object __pyx_convert_PyByteArray_string_to_py_std__in_string(const string& s):
+ *     return __Pyx_PyByteArray_FromStringAndSize(s.data(), s.size())             # <<<<<<<<<<<<<<
+ * 
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __Pyx_PyByteArray_FromStringAndSize(__pyx_v_s.data(), __pyx_v_s.size()); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 56, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "string.to_py":55
+ * 
+ * @cname("__pyx_convert_PyByteArray_string_to_py_std__in_string")
+ * cdef inline object __pyx_convert_PyByteArray_string_to_py_std__in_string(const string& s):             # <<<<<<<<<<<<<<
+ *     return __Pyx_PyByteArray_FromStringAndSize(s.data(), s.size())
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("string.to_py.__pyx_convert_PyByteArray_string_to_py_std__in_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "vector.from_py":49
+ * 
+ * @cname("__pyx_convert_vector_from_py_double")
+ * cdef vector[X] __pyx_convert_vector_from_py_double(object o) except *:             # <<<<<<<<<<<<<<
+ *     cdef vector[X] v
+ *     for item in o:
+ */
+
+static std::vector<double>  __pyx_convert_vector_from_py_double(PyObject *__pyx_v_o) {
+  std::vector<double>  __pyx_v_v;
+  PyObject *__pyx_v_item = NULL;
+  std::vector<double>  __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  Py_ssize_t __pyx_t_2;
+  PyObject *(*__pyx_t_3)(PyObject *);
+  PyObject *__pyx_t_4 = NULL;
+  double __pyx_t_5;
+  __Pyx_RefNannySetupContext("__pyx_convert_vector_from_py_double", 0);
+
+  /* "vector.from_py":51
+ * cdef vector[X] __pyx_convert_vector_from_py_double(object o) except *:
+ *     cdef vector[X] v
+ *     for item in o:             # <<<<<<<<<<<<<<
+ *         v.push_back(X_from_py(item))
+ *     return v
+ */
+  if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
+    __pyx_t_1 = __pyx_v_o; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
+    __pyx_t_3 = NULL;
+  } else {
+    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 51, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 51, __pyx_L1_error)
+  }
+  for (;;) {
+    if (likely(!__pyx_t_3)) {
+      if (likely(PyList_CheckExact(__pyx_t_1))) {
+        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
+        #if CYTHON_COMPILING_IN_CPYTHON
+        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 51, __pyx_L1_error)
+        #else
+        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 51, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        #endif
+      } else {
+        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+        #if CYTHON_COMPILING_IN_CPYTHON
+        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 51, __pyx_L1_error)
+        #else
+        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 51, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        #endif
+      }
+    } else {
+      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
+      if (unlikely(!__pyx_t_4)) {
+        PyObject* exc_type = PyErr_Occurred();
+        if (exc_type) {
+          if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+          else __PYX_ERR(1, 51, __pyx_L1_error)
+        }
+        break;
+      }
+      __Pyx_GOTREF(__pyx_t_4);
+    }
+    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_4);
+    __pyx_t_4 = 0;
+
+    /* "vector.from_py":52
+ *     cdef vector[X] v
+ *     for item in o:
+ *         v.push_back(X_from_py(item))             # <<<<<<<<<<<<<<
+ *     return v
+ * 
+ */
+    __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_v_item); if (unlikely(__pyx_t_5 == -1.0 && PyErr_Occurred())) __PYX_ERR(1, 52, __pyx_L1_error)
+    __pyx_v_v.push_back(__pyx_t_5);
+
+    /* "vector.from_py":51
+ * cdef vector[X] __pyx_convert_vector_from_py_double(object o) except *:
+ *     cdef vector[X] v
+ *     for item in o:             # <<<<<<<<<<<<<<
+ *         v.push_back(X_from_py(item))
+ *     return v
+ */
+  }
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "vector.from_py":53
+ *     for item in o:
+ *         v.push_back(X_from_py(item))
+ *     return v             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __pyx_r = __pyx_v_v;
+  goto __pyx_L0;
+
+  /* "vector.from_py":49
+ * 
+ * @cname("__pyx_convert_vector_from_py_double")
+ * cdef vector[X] __pyx_convert_vector_from_py_double(object o) except *:             # <<<<<<<<<<<<<<
+ *     cdef vector[X] v
+ *     for item in o:
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_AddTraceback("vector.from_py.__pyx_convert_vector_from_py_double", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_item);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "vector.from_py":50
+ * 
+ * @cname("__pyx_convert_vector_from_py_std_3a__3a_string")
+ * cdef vector[X] __pyx_convert_vector_from_py_std_3a__3a_string(object o) except *:             # <<<<<<<<<<<<<<
+ *     cdef vector[X] v
+ *     for item in o:
+ */
+
+static std::vector<std::string>  __pyx_convert_vector_from_py_std_3a__3a_string(PyObject *__pyx_v_o) {
+  std::vector<std::string>  __pyx_v_v;
+  PyObject *__pyx_v_item = NULL;
+  std::vector<std::string>  __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  Py_ssize_t __pyx_t_2;
+  PyObject *(*__pyx_t_3)(PyObject *);
+  PyObject *__pyx_t_4 = NULL;
+  std::string __pyx_t_5;
+  __Pyx_RefNannySetupContext("__pyx_convert_vector_from_py_std_3a__3a_string", 0);
+
+  /* "vector.from_py":52
+ * cdef vector[X] __pyx_convert_vector_from_py_std_3a__3a_string(object o) except *:
+ *     cdef vector[X] v
+ *     for item in o:             # <<<<<<<<<<<<<<
+ *         v.push_back(X_from_py(item))
+ *     return v
+ */
+  if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
+    __pyx_t_1 = __pyx_v_o; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
+    __pyx_t_3 = NULL;
+  } else {
+    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 52, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 52, __pyx_L1_error)
+  }
+  for (;;) {
+    if (likely(!__pyx_t_3)) {
+      if (likely(PyList_CheckExact(__pyx_t_1))) {
+        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
+        #if CYTHON_COMPILING_IN_CPYTHON
+        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 52, __pyx_L1_error)
+        #else
+        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 52, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        #endif
+      } else {
+        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+        #if CYTHON_COMPILING_IN_CPYTHON
+        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 52, __pyx_L1_error)
+        #else
+        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 52, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        #endif
+      }
+    } else {
+      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
+      if (unlikely(!__pyx_t_4)) {
+        PyObject* exc_type = PyErr_Occurred();
+        if (exc_type) {
+          if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+          else __PYX_ERR(1, 52, __pyx_L1_error)
+        }
+        break;
+      }
+      __Pyx_GOTREF(__pyx_t_4);
+    }
+    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_4);
+    __pyx_t_4 = 0;
+
+    /* "vector.from_py":53
+ *     cdef vector[X] v
+ *     for item in o:
+ *         v.push_back(X_from_py(item))             # <<<<<<<<<<<<<<
+ *     return v
+ * 
+ */
+    __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_v_item); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 53, __pyx_L1_error)
+    __pyx_v_v.push_back(__pyx_t_5);
+
+    /* "vector.from_py":52
+ * cdef vector[X] __pyx_convert_vector_from_py_std_3a__3a_string(object o) except *:
+ *     cdef vector[X] v
+ *     for item in o:             # <<<<<<<<<<<<<<
+ *         v.push_back(X_from_py(item))
+ *     return v
+ */
+  }
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "vector.from_py":54
+ *     for item in o:
+ *         v.push_back(X_from_py(item))
+ *     return v             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __pyx_r = __pyx_v_v;
+  goto __pyx_L0;
+
+  /* "vector.from_py":50
+ * 
+ * @cname("__pyx_convert_vector_from_py_std_3a__3a_string")
+ * cdef vector[X] __pyx_convert_vector_from_py_std_3a__3a_string(object o) except *:             # <<<<<<<<<<<<<<
+ *     cdef vector[X] v
+ *     for item in o:
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_AddTraceback("vector.from_py.__pyx_convert_vector_from_py_std_3a__3a_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_item);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_tp_new_7PyNomad_PyNomadDouble(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+  struct __pyx_obj_7PyNomad_PyNomadDouble *p;
+  PyObject *o;
+  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
+    o = (*t->tp_alloc)(t, 0);
+  } else {
+    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
+  }
+  if (unlikely(!o)) return 0;
+  p = ((struct __pyx_obj_7PyNomad_PyNomadDouble *)o);
+  new((void*)&(p->c_d)) NOMAD::Double();
+  return o;
+}
+
+static void __pyx_tp_dealloc_7PyNomad_PyNomadDouble(PyObject *o) {
+  struct __pyx_obj_7PyNomad_PyNomadDouble *p = (struct __pyx_obj_7PyNomad_PyNomadDouble *)o;
+  #if PY_VERSION_HEX >= 0x030400a1
+  if (unlikely(Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
+    if (PyObject_CallFinalizerFromDealloc(o)) return;
+  }
+  #endif
+  __Pyx_call_destructor(p->c_d);
+  (*Py_TYPE(o)->tp_free)(o);
+}
+
+static PyMethodDef __pyx_methods_7PyNomad_PyNomadDouble[] = {
+  {"value", (PyCFunction)__pyx_pw_7PyNomad_13PyNomadDouble_1value, METH_NOARGS, 0},
+  {"is_defined", (PyCFunction)__pyx_pw_7PyNomad_13PyNomadDouble_3is_defined, METH_NOARGS, 0},
+  {0, 0, 0, 0}
+};
+
+static PyTypeObject __pyx_type_7PyNomad_PyNomadDouble = {
+  PyVarObject_HEAD_INIT(0, 0)
+  "PyNomad.PyNomadDouble", /*tp_name*/
+  sizeof(struct __pyx_obj_7PyNomad_PyNomadDouble), /*tp_basicsize*/
+  0, /*tp_itemsize*/
+  __pyx_tp_dealloc_7PyNomad_PyNomadDouble, /*tp_dealloc*/
+  0, /*tp_print*/
+  0, /*tp_getattr*/
+  0, /*tp_setattr*/
+  #if PY_MAJOR_VERSION < 3
+  0, /*tp_compare*/
+  #endif
+  #if PY_MAJOR_VERSION >= 3
+  0, /*tp_as_async*/
+  #endif
+  0, /*tp_repr*/
+  0, /*tp_as_number*/
+  0, /*tp_as_sequence*/
+  0, /*tp_as_mapping*/
+  0, /*tp_hash*/
+  0, /*tp_call*/
+  0, /*tp_str*/
+  0, /*tp_getattro*/
+  0, /*tp_setattro*/
+  0, /*tp_as_buffer*/
+  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
+  0, /*tp_doc*/
+  0, /*tp_traverse*/
+  0, /*tp_clear*/
+  0, /*tp_richcompare*/
+  0, /*tp_weaklistoffset*/
+  0, /*tp_iter*/
+  0, /*tp_iternext*/
+  __pyx_methods_7PyNomad_PyNomadDouble, /*tp_methods*/
+  0, /*tp_members*/
+  0, /*tp_getset*/
+  0, /*tp_base*/
+  0, /*tp_dict*/
+  0, /*tp_descr_get*/
+  0, /*tp_descr_set*/
+  0, /*tp_dictoffset*/
+  0, /*tp_init*/
+  0, /*tp_alloc*/
+  __pyx_tp_new_7PyNomad_PyNomadDouble, /*tp_new*/
+  0, /*tp_free*/
+  0, /*tp_is_gc*/
+  0, /*tp_bases*/
+  0, /*tp_mro*/
+  0, /*tp_cache*/
+  0, /*tp_subclasses*/
+  0, /*tp_weaklist*/
+  0, /*tp_del*/
+  0, /*tp_version_tag*/
+  #if PY_VERSION_HEX >= 0x030400a1
+  0, /*tp_finalize*/
+  #endif
+};
+
+static PyObject *__pyx_tp_new_7PyNomad_PyNomadEval_Point(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+  PyObject *o;
+  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
+    o = (*t->tp_alloc)(t, 0);
+  } else {
+    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
+  }
+  if (unlikely(!o)) return 0;
+  return o;
+}
+
+static void __pyx_tp_dealloc_7PyNomad_PyNomadEval_Point(PyObject *o) {
+  #if PY_VERSION_HEX >= 0x030400a1
+  if (unlikely(Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
+    if (PyObject_CallFinalizerFromDealloc(o)) return;
+  }
+  #endif
+  (*Py_TYPE(o)->tp_free)(o);
+}
+
+static PyMethodDef __pyx_methods_7PyNomad_PyNomadEval_Point[] = {
+  {"get_coord", (PyCFunction)__pyx_pw_7PyNomad_17PyNomadEval_Point_1get_coord, METH_O, 0},
+  {"set_bb_output", (PyCFunction)__pyx_pw_7PyNomad_17PyNomadEval_Point_3set_bb_output, METH_VARARGS|METH_KEYWORDS, 0},
+  {"get_f", (PyCFunction)__pyx_pw_7PyNomad_17PyNomadEval_Point_5get_f, METH_NOARGS, 0},
+  {"get_h", (PyCFunction)__pyx_pw_7PyNomad_17PyNomadEval_Point_7get_h, METH_NOARGS, 0},
+  {"get_n", (PyCFunction)__pyx_pw_7PyNomad_17PyNomadEval_Point_9get_n, METH_NOARGS, 0},
+  {"get_m", (PyCFunction)__pyx_pw_7PyNomad_17PyNomadEval_Point_11get_m, METH_NOARGS, 0},
+  {0, 0, 0, 0}
+};
+
+static PyTypeObject __pyx_type_7PyNomad_PyNomadEval_Point = {
+  PyVarObject_HEAD_INIT(0, 0)
+  "PyNomad.PyNomadEval_Point", /*tp_name*/
+  sizeof(struct __pyx_obj_7PyNomad_PyNomadEval_Point), /*tp_basicsize*/
+  0, /*tp_itemsize*/
+  __pyx_tp_dealloc_7PyNomad_PyNomadEval_Point, /*tp_dealloc*/
+  0, /*tp_print*/
+  0, /*tp_getattr*/
+  0, /*tp_setattr*/
+  #if PY_MAJOR_VERSION < 3
+  0, /*tp_compare*/
+  #endif
+  #if PY_MAJOR_VERSION >= 3
+  0, /*tp_as_async*/
+  #endif
+  0, /*tp_repr*/
+  0, /*tp_as_number*/
+  0, /*tp_as_sequence*/
+  0, /*tp_as_mapping*/
+  0, /*tp_hash*/
+  0, /*tp_call*/
+  0, /*tp_str*/
+  0, /*tp_getattro*/
+  0, /*tp_setattro*/
+  0, /*tp_as_buffer*/
+  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
+  0, /*tp_doc*/
+  0, /*tp_traverse*/
+  0, /*tp_clear*/
+  0, /*tp_richcompare*/
+  0, /*tp_weaklistoffset*/
+  0, /*tp_iter*/
+  0, /*tp_iternext*/
+  __pyx_methods_7PyNomad_PyNomadEval_Point, /*tp_methods*/
+  0, /*tp_members*/
+  0, /*tp_getset*/
+  0, /*tp_base*/
+  0, /*tp_dict*/
+  0, /*tp_descr_get*/
+  0, /*tp_descr_set*/
+  0, /*tp_dictoffset*/
+  0, /*tp_init*/
+  0, /*tp_alloc*/
+  __pyx_tp_new_7PyNomad_PyNomadEval_Point, /*tp_new*/
+  0, /*tp_free*/
+  0, /*tp_is_gc*/
+  0, /*tp_bases*/
+  0, /*tp_mro*/
+  0, /*tp_cache*/
+  0, /*tp_subclasses*/
+  0, /*tp_weaklist*/
+  0, /*tp_del*/
+  0, /*tp_version_tag*/
+  #if PY_VERSION_HEX >= 0x030400a1
+  0, /*tp_finalize*/
+  #endif
+};
+
+static PyMethodDef __pyx_methods[] = {
+  {0, 0, 0, 0}
+};
+
+#if PY_MAJOR_VERSION >= 3
+static struct PyModuleDef __pyx_moduledef = {
+  #if PY_VERSION_HEX < 0x03020000
+    { PyObject_HEAD_INIT(NULL) NULL, 0, NULL },
+  #else
+    PyModuleDef_HEAD_INIT,
+  #endif
+    "PyNomad",
+    0, /* m_doc */
+    -1, /* m_size */
+    __pyx_methods /* m_methods */,
+    NULL, /* m_reload */
+    NULL, /* m_traverse */
+    NULL, /* m_clear */
+    NULL /* m_free */
+};
+#endif
+
+static __Pyx_StringTabEntry __pyx_string_tab[] = {
+  {&__pyx_kp_s_, __pyx_k_, sizeof(__pyx_k_), 0, 0, 1, 0},
+  {&__pyx_n_s_Process, __pyx_k_Process, sizeof(__pyx_k_Process), 0, 0, 1, 1},
+  {&__pyx_n_s_PyNomad, __pyx_k_PyNomad, sizeof(__pyx_k_PyNomad), 0, 0, 1, 1},
+  {&__pyx_n_s_Queue, __pyx_k_Queue, sizeof(__pyx_k_Queue), 0, 0, 1, 1},
+  {&__pyx_kp_s_Users_christophe_Development_NO, __pyx_k_Users_christophe_Development_NO, sizeof(__pyx_k_Users_christophe_Development_NO), 0, 0, 1, 0},
+  {&__pyx_n_s_about, __pyx_k_about, sizeof(__pyx_k_about), 0, 0, 1, 1},
+  {&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1},
+  {&__pyx_n_s_doc, __pyx_k_doc, sizeof(__pyx_k_doc), 0, 0, 1, 1},
+  {&__pyx_n_s_f, __pyx_k_f, sizeof(__pyx_k_f), 0, 0, 1, 1},
+  {&__pyx_n_s_f_return, __pyx_k_f_return, sizeof(__pyx_k_f_return), 0, 0, 1, 1},
+  {&__pyx_n_s_get, __pyx_k_get, sizeof(__pyx_k_get), 0, 0, 1, 1},
+  {&__pyx_n_s_get_coord, __pyx_k_get_coord, sizeof(__pyx_k_get_coord), 0, 0, 1, 1},
+  {&__pyx_n_s_get_f, __pyx_k_get_f, sizeof(__pyx_k_get_f), 0, 0, 1, 1},
+  {&__pyx_n_s_get_h, __pyx_k_get_h, sizeof(__pyx_k_get_h), 0, 0, 1, 1},
+  {&__pyx_n_s_get_n, __pyx_k_get_n, sizeof(__pyx_k_get_n), 0, 0, 1, 1},
+  {&__pyx_n_s_h_return, __pyx_k_h_return, sizeof(__pyx_k_h_return), 0, 0, 1, 1},
+  {&__pyx_n_s_help, __pyx_k_help, sizeof(__pyx_k_help), 0, 0, 1, 1},
+  {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1},
+  {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1},
+  {&__pyx_n_s_inf, __pyx_k_inf, sizeof(__pyx_k_inf), 0, 0, 1, 1},
+  {&__pyx_n_s_info, __pyx_k_info, sizeof(__pyx_k_info), 0, 0, 1, 1},
+  {&__pyx_n_s_is_defined, __pyx_k_is_defined, sizeof(__pyx_k_is_defined), 0, 0, 1, 1},
+  {&__pyx_n_s_join, __pyx_k_join, sizeof(__pyx_k_join), 0, 0, 1, 1},
+  {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1},
+  {&__pyx_n_s_multiprocessing, __pyx_k_multiprocessing, sizeof(__pyx_k_multiprocessing), 0, 0, 1, 1},
+  {&__pyx_n_s_nb_evals, __pyx_k_nb_evals, sizeof(__pyx_k_nb_evals), 0, 0, 1, 1},
+  {&__pyx_n_s_nb_iters, __pyx_k_nb_iters, sizeof(__pyx_k_nb_iters), 0, 0, 1, 1},
+  {&__pyx_n_s_optimize, __pyx_k_optimize, sizeof(__pyx_k_optimize), 0, 0, 1, 1},
+  {&__pyx_n_s_pLB, __pyx_k_pLB, sizeof(__pyx_k_pLB), 0, 0, 1, 1},
+  {&__pyx_n_s_pUB, __pyx_k_pUB, sizeof(__pyx_k_pUB), 0, 0, 1, 1},
+  {&__pyx_n_s_pX0, __pyx_k_pX0, sizeof(__pyx_k_pX0), 0, 0, 1, 1},
+  {&__pyx_n_s_params, __pyx_k_params, sizeof(__pyx_k_params), 0, 0, 1, 1},
+  {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1},
+  {&__pyx_n_s_run_status, __pyx_k_run_status, sizeof(__pyx_k_run_status), 0, 0, 1, 1},
+  {&__pyx_n_s_start, __pyx_k_start, sizeof(__pyx_k_start), 0, 0, 1, 1},
+  {&__pyx_n_s_target, __pyx_k_target, sizeof(__pyx_k_target), 0, 0, 1, 1},
+  {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},
+  {&__pyx_n_s_u_feas, __pyx_k_u_feas, sizeof(__pyx_k_u_feas), 0, 0, 1, 1},
+  {&__pyx_n_s_u_infeas, __pyx_k_u_infeas, sizeof(__pyx_k_u_infeas), 0, 0, 1, 1},
+  {&__pyx_n_s_usage, __pyx_k_usage, sizeof(__pyx_k_usage), 0, 0, 1, 1},
+  {&__pyx_n_s_v, __pyx_k_v, sizeof(__pyx_k_v), 0, 0, 1, 1},
+  {&__pyx_n_s_value, __pyx_k_value, sizeof(__pyx_k_value), 0, 0, 1, 1},
+  {&__pyx_n_s_version, __pyx_k_version, sizeof(__pyx_k_version), 0, 0, 1, 1},
+  {&__pyx_n_s_x_return, __pyx_k_x_return, sizeof(__pyx_k_x_return), 0, 0, 1, 1},
+  {&__pyx_n_s_xrange, __pyx_k_xrange, sizeof(__pyx_k_xrange), 0, 0, 1, 1},
+  {0, 0, 0, 0, 0, 0, 0}
+};
+static int __Pyx_InitCachedBuiltins(void) {
+  #if PY_MAJOR_VERSION >= 3
+  __pyx_builtin_xrange = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_xrange) __PYX_ERR(0, 47, __pyx_L1_error)
+  #else
+  __pyx_builtin_xrange = __Pyx_GetBuiltinName(__pyx_n_s_xrange); if (!__pyx_builtin_xrange) __PYX_ERR(0, 47, __pyx_L1_error)
+  #endif
+  return 0;
+  __pyx_L1_error:;
+  return -1;
+}
+
+static int __Pyx_InitCachedConstants(void) {
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
+
+  /* "PyNomad.pyx":12
+ * from multiprocessing import Process, Queue
+ * 
+ * def version():             # <<<<<<<<<<<<<<
+ *     printPyNomadVersion()
+ * 
+ */
+  __pyx_codeobj__2 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_christophe_Development_NO, __pyx_n_s_version, 12, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__2)) __PYX_ERR(0, 12, __pyx_L1_error)
+
+  /* "PyNomad.pyx":16
+ * 
+ * # Define the interface function to display nomad general information
+ * def usage():             # <<<<<<<<<<<<<<
+ *     printPyNomadUsage()
+ * 
+ */
+  __pyx_codeobj__3 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_christophe_Development_NO, __pyx_n_s_usage, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__3)) __PYX_ERR(0, 16, __pyx_L1_error)
+
+  /* "PyNomad.pyx":20
+ * 
+ * # Define the interface function to display nomad general information
+ * def info():             # <<<<<<<<<<<<<<
+ *     printPyNomadUsage()
+ *     printPyNomadInfo()
+ */
+  __pyx_codeobj__4 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_christophe_Development_NO, __pyx_n_s_info, 20, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__4)) __PYX_ERR(0, 20, __pyx_L1_error)
+
+  /* "PyNomad.pyx":25
+ * 
+ * # Define the interface function to get nomad help
+ * def help(about=''):             # <<<<<<<<<<<<<<
+ *     printNomadHelp(about)
+ * 
+ */
+  __pyx_tuple__5 = PyTuple_Pack(1, __pyx_n_s_about); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(0, 25, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__5);
+  __Pyx_GIVEREF(__pyx_tuple__5);
+  __pyx_codeobj__6 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__5, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_christophe_Development_NO, __pyx_n_s_help, 25, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__6)) __PYX_ERR(0, 25, __pyx_L1_error)
+
+  /* "PyNomad.pyx":28
+ *     printNomadHelp(about)
+ * 
+ * def __doc__():             # <<<<<<<<<<<<<<
+ *     cdef string about;
+ *     printPyNomadUsage()
+ */
+  __pyx_tuple__7 = PyTuple_Pack(1, __pyx_n_s_about); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(0, 28, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__7);
+  __Pyx_GIVEREF(__pyx_tuple__7);
+  __pyx_codeobj__8 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__7, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_christophe_Development_NO, __pyx_n_s_doc, 28, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__8)) __PYX_ERR(0, 28, __pyx_L1_error)
+
+  /* "PyNomad.pyx":34
+ * 
+ * # Define the interface function to perform optimization
+ * def optimize(f , pX0, pLB,pUB ,params):             # <<<<<<<<<<<<<<
+ *     cdef PyNomadEval_Point u_feas = PyNomadEval_Point()
+ *     cdef PyNomadEval_Point u_infeas = PyNomadEval_Point()
+ */
+  __pyx_tuple__9 = PyTuple_Pack(14, __pyx_n_s_f, __pyx_n_s_pX0, __pyx_n_s_pLB, __pyx_n_s_pUB, __pyx_n_s_params, __pyx_n_s_u_feas, __pyx_n_s_u_infeas, __pyx_n_s_run_status, __pyx_n_s_nb_evals, __pyx_n_s_nb_iters, __pyx_n_s_f_return, __pyx_n_s_h_return, __pyx_n_s_x_return, __pyx_n_s_i); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(0, 34, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__9);
+  __Pyx_GIVEREF(__pyx_tuple__9);
+  __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(5, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_christophe_Development_NO, __pyx_n_s_optimize, 34, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) __PYX_ERR(0, 34, __pyx_L1_error)
+  __Pyx_RefNannyFinishContext();
+  return 0;
+  __pyx_L1_error:;
+  __Pyx_RefNannyFinishContext();
+  return -1;
+}
+
+static int __Pyx_InitGlobals(void) {
+  if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
+  return 0;
+  __pyx_L1_error:;
+  return -1;
+}
+
+#if PY_MAJOR_VERSION < 3
+PyMODINIT_FUNC initPyNomad(void); /*proto*/
+PyMODINIT_FUNC initPyNomad(void)
+#else
+PyMODINIT_FUNC PyInit_PyNomad(void); /*proto*/
+PyMODINIT_FUNC PyInit_PyNomad(void)
+#endif
+{
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  __Pyx_RefNannyDeclarations
+  #if CYTHON_REFNANNY
+  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
+  if (!__Pyx_RefNanny) {
+      PyErr_Clear();
+      __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
+      if (!__Pyx_RefNanny)
+          Py_FatalError("failed to import 'refnanny' module");
+  }
+  #endif
+  __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_PyNomad(void)", 0);
+  if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error)
+  #ifdef __Pyx_CyFunction_USED
+  if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+  #ifdef __Pyx_FusedFunction_USED
+  if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+  #ifdef __Pyx_Coroutine_USED
+  if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+  #ifdef __Pyx_Generator_USED
+  if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+  #ifdef __Pyx_StopAsyncIteration_USED
+  if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+  /*--- Library function declarations ---*/
+  /*--- Threads initialization code ---*/
+  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
+  #ifdef WITH_THREAD /* Python build with threading support? */
+  PyEval_InitThreads();
+  #endif
+  #endif
+  /*--- Module creation code ---*/
+  #if PY_MAJOR_VERSION < 3
+  __pyx_m = Py_InitModule4("PyNomad", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
+  #else
+  __pyx_m = PyModule_Create(&__pyx_moduledef);
+  #endif
+  if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error)
+  Py_INCREF(__pyx_d);
+  __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error)
+  #if CYTHON_COMPILING_IN_PYPY
+  Py_INCREF(__pyx_b);
+  #endif
+  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
+  /*--- Initialize various global constants etc. ---*/
+  if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT)
+  if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+  if (__pyx_module_is_main_PyNomad) {
+    if (PyObject_SetAttrString(__pyx_m, "__name__", __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  }
+  #if PY_MAJOR_VERSION >= 3
+  {
+    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error)
+    if (!PyDict_GetItemString(modules, "PyNomad")) {
+      if (unlikely(PyDict_SetItemString(modules, "PyNomad", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error)
+    }
+  }
+  #endif
+  /*--- Builtin init code ---*/
+  if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  /*--- Constants init code ---*/
+  if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  /*--- Global init code ---*/
+  /*--- Variable export code ---*/
+  /*--- Function export code ---*/
+  /*--- Type init code ---*/
+  if (PyType_Ready(&__pyx_type_7PyNomad_PyNomadDouble) < 0) __PYX_ERR(0, 63, __pyx_L1_error)
+  __pyx_type_7PyNomad_PyNomadDouble.tp_print = 0;
+  if (PyObject_SetAttrString(__pyx_m, "PyNomadDouble", (PyObject *)&__pyx_type_7PyNomad_PyNomadDouble) < 0) __PYX_ERR(0, 63, __pyx_L1_error)
+  __pyx_ptype_7PyNomad_PyNomadDouble = &__pyx_type_7PyNomad_PyNomadDouble;
+  if (PyType_Ready(&__pyx_type_7PyNomad_PyNomadEval_Point) < 0) __PYX_ERR(0, 79, __pyx_L1_error)
+  __pyx_type_7PyNomad_PyNomadEval_Point.tp_print = 0;
+  if (PyObject_SetAttrString(__pyx_m, "PyNomadEval_Point", (PyObject *)&__pyx_type_7PyNomad_PyNomadEval_Point) < 0) __PYX_ERR(0, 79, __pyx_L1_error)
+  __pyx_ptype_7PyNomad_PyNomadEval_Point = &__pyx_type_7PyNomad_PyNomadEval_Point;
+  /*--- Type import code ---*/
+  /*--- Variable import code ---*/
+  /*--- Function import code ---*/
+  /*--- Execution code ---*/
+  #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
+  if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+
+  /* "PyNomad.pyx":10
+ * 
+ * from cython.operator cimport dereference as deref, preincrement as inc
+ * from multiprocessing import Process, Queue             # <<<<<<<<<<<<<<
+ * 
+ * def version():
+ */
+  __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_INCREF(__pyx_n_s_Process);
+  __Pyx_GIVEREF(__pyx_n_s_Process);
+  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_Process);
+  __Pyx_INCREF(__pyx_n_s_Queue);
+  __Pyx_GIVEREF(__pyx_n_s_Queue);
+  PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_Queue);
+  __pyx_t_2 = __Pyx_Import(__pyx_n_s_multiprocessing, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Process); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Process, __pyx_t_1) < 0) __PYX_ERR(0, 10, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Queue); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Queue, __pyx_t_1) < 0) __PYX_ERR(0, 10, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+  /* "PyNomad.pyx":12
+ * from multiprocessing import Process, Queue
+ * 
+ * def version():             # <<<<<<<<<<<<<<
+ *     printPyNomadVersion()
+ * 
+ */
+  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7PyNomad_1version, NULL, __pyx_n_s_PyNomad); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_version, __pyx_t_2) < 0) __PYX_ERR(0, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+  /* "PyNomad.pyx":16
+ * 
+ * # Define the interface function to display nomad general information
+ * def usage():             # <<<<<<<<<<<<<<
+ *     printPyNomadUsage()
+ * 
+ */
+  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7PyNomad_3usage, NULL, __pyx_n_s_PyNomad); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_usage, __pyx_t_2) < 0) __PYX_ERR(0, 16, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+  /* "PyNomad.pyx":20
+ * 
+ * # Define the interface function to display nomad general information
+ * def info():             # <<<<<<<<<<<<<<
+ *     printPyNomadUsage()
+ *     printPyNomadInfo()
+ */
+  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7PyNomad_5info, NULL, __pyx_n_s_PyNomad); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_info, __pyx_t_2) < 0) __PYX_ERR(0, 20, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+  /* "PyNomad.pyx":25
+ * 
+ * # Define the interface function to get nomad help
+ * def help(about=''):             # <<<<<<<<<<<<<<
+ *     printNomadHelp(about)
+ * 
+ */
+  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7PyNomad_7help, NULL, __pyx_n_s_PyNomad); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_help, __pyx_t_2) < 0) __PYX_ERR(0, 25, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+  /* "PyNomad.pyx":28
+ *     printNomadHelp(about)
+ * 
+ * def __doc__():             # <<<<<<<<<<<<<<
+ *     cdef string about;
+ *     printPyNomadUsage()
+ */
+  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7PyNomad_9__doc__, NULL, __pyx_n_s_PyNomad); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_doc, __pyx_t_2) < 0) __PYX_ERR(0, 28, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+  /* "PyNomad.pyx":34
+ * 
+ * # Define the interface function to perform optimization
+ * def optimize(f , pX0, pLB,pUB ,params):             # <<<<<<<<<<<<<<
+ *     cdef PyNomadEval_Point u_feas = PyNomadEval_Point()
+ *     cdef PyNomadEval_Point u_infeas = PyNomadEval_Point()
+ */
+  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7PyNomad_11optimize, NULL, __pyx_n_s_PyNomad); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_optimize, __pyx_t_2) < 0) __PYX_ERR(0, 34, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+  /* "PyNomad.pyx":1
+ * # C.Tribes sept. 6th, 2016 --- PyNomad: Beta integration of Nomad in Python             # <<<<<<<<<<<<<<
+ * # PyNomad 1.0
+ * 
+ */
+  __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+  /* "vector.from_py":50
+ * 
+ * @cname("__pyx_convert_vector_from_py_std_3a__3a_string")
+ * cdef vector[X] __pyx_convert_vector_from_py_std_3a__3a_string(object o) except *:             # <<<<<<<<<<<<<<
+ *     cdef vector[X] v
+ *     for item in o:
+ */
+
+  /*--- Wrapped vars code ---*/
+
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  if (__pyx_m) {
+    if (__pyx_d) {
+      __Pyx_AddTraceback("init PyNomad", __pyx_clineno, __pyx_lineno, __pyx_filename);
+    }
+    Py_DECREF(__pyx_m); __pyx_m = 0;
+  } else if (!PyErr_Occurred()) {
+    PyErr_SetString(PyExc_ImportError, "init PyNomad");
+  }
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  #if PY_MAJOR_VERSION < 3
+  return;
+  #else
+  return __pyx_m;
+  #endif
+}
+
+/* --- Runtime support code --- */
+/* Refnanny */
+#if CYTHON_REFNANNY
+static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
+    PyObject *m = NULL, *p = NULL;
+    void *r = NULL;
+    m = PyImport_ImportModule((char *)modname);
+    if (!m) goto end;
+    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
+    if (!p) goto end;
+    r = PyLong_AsVoidPtr(p);
+end:
+    Py_XDECREF(p);
+    Py_XDECREF(m);
+    return (__Pyx_RefNannyAPIStruct *)r;
+}
+#endif
+
+/* GetBuiltinName */
+static PyObject *__Pyx_GetBuiltinName(PyObject *name) {
+    PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name);
+    if (unlikely(!result)) {
+        PyErr_Format(PyExc_NameError,
+#if PY_MAJOR_VERSION >= 3
+            "name '%U' is not defined", name);
+#else
+            "name '%.200s' is not defined", PyString_AS_STRING(name));
+#endif
+    }
+    return result;
+}
+
+/* RaiseDoubleKeywords */
+static void __Pyx_RaiseDoubleKeywordsError(
+    const char* func_name,
+    PyObject* kw_name)
+{
+    PyErr_Format(PyExc_TypeError,
+        #if PY_MAJOR_VERSION >= 3
+        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
+        #else
+        "%s() got multiple values for keyword argument '%s'", func_name,
+        PyString_AsString(kw_name));
+        #endif
+}
+
+/* ParseKeywords */
+static int __Pyx_ParseOptionalKeywords(
+    PyObject *kwds,
+    PyObject **argnames[],
+    PyObject *kwds2,
+    PyObject *values[],
+    Py_ssize_t num_pos_args,
+    const char* function_name)
+{
+    PyObject *key = 0, *value = 0;
+    Py_ssize_t pos = 0;
+    PyObject*** name;
+    PyObject*** first_kw_arg = argnames + num_pos_args;
+    while (PyDict_Next(kwds, &pos, &key, &value)) {
+        name = first_kw_arg;
+        while (*name && (**name != key)) name++;
+        if (*name) {
+            values[name-argnames] = value;
+            continue;
+        }
+        name = first_kw_arg;
+        #if PY_MAJOR_VERSION < 3
+        if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) {
+            while (*name) {
+                if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
+                        && _PyString_Eq(**name, key)) {
+                    values[name-argnames] = value;
+                    break;
+                }
+                name++;
+            }
+            if (*name) continue;
+            else {
+                PyObject*** argname = argnames;
+                while (argname != first_kw_arg) {
+                    if ((**argname == key) || (
+                            (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
+                             && _PyString_Eq(**argname, key))) {
+                        goto arg_passed_twice;
+                    }
+                    argname++;
+                }
+            }
+        } else
+        #endif
+        if (likely(PyUnicode_Check(key))) {
+            while (*name) {
+                int cmp = (**name == key) ? 0 :
+                #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
+                    (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
+                #endif
+                    PyUnicode_Compare(**name, key);
+                if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
+                if (cmp == 0) {
+                    values[name-argnames] = value;
+                    break;
+                }
+                name++;
+            }
+            if (*name) continue;
+            else {
+                PyObject*** argname = argnames;
+                while (argname != first_kw_arg) {
+                    int cmp = (**argname == key) ? 0 :
+                    #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
+                        (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
+                    #endif
+                        PyUnicode_Compare(**argname, key);
+                    if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
+                    if (cmp == 0) goto arg_passed_twice;
+                    argname++;
+                }
+            }
+        } else
+            goto invalid_keyword_type;
+        if (kwds2) {
+            if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
+        } else {
+            goto invalid_keyword;
+        }
+    }
+    return 0;
+arg_passed_twice:
+    __Pyx_RaiseDoubleKeywordsError(function_name, key);
+    goto bad;
+invalid_keyword_type:
+    PyErr_Format(PyExc_TypeError,
+        "%.200s() keywords must be strings", function_name);
+    goto bad;
+invalid_keyword:
+    PyErr_Format(PyExc_TypeError,
+    #if PY_MAJOR_VERSION < 3
+        "%.200s() got an unexpected keyword argument '%.200s'",
+        function_name, PyString_AsString(key));
+    #else
+        "%s() got an unexpected keyword argument '%U'",
+        function_name, key);
+    #endif
+bad:
+    return -1;
+}
+
+/* RaiseArgTupleInvalid */
+static void __Pyx_RaiseArgtupleInvalid(
+    const char* func_name,
+    int exact,
+    Py_ssize_t num_min,
+    Py_ssize_t num_max,
+    Py_ssize_t num_found)
+{
+    Py_ssize_t num_expected;
+    const char *more_or_less;
+    if (num_found < num_min) {
+        num_expected = num_min;
+        more_or_less = "at least";
+    } else {
+        num_expected = num_max;
+        more_or_less = "at most";
+    }
+    if (exact) {
+        more_or_less = "exactly";
+    }
+    PyErr_Format(PyExc_TypeError,
+                 "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)",
+                 func_name, more_or_less, num_expected,
+                 (num_expected == 1) ? "" : "s", num_found);
+}
+
+/* GetModuleGlobalName */
+static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name) {
+    PyObject *result;
+#if CYTHON_COMPILING_IN_CPYTHON
+    result = PyDict_GetItem(__pyx_d, name);
+    if (likely(result)) {
+        Py_INCREF(result);
+    } else {
+#else
+    result = PyObject_GetItem(__pyx_d, name);
+    if (!result) {
+        PyErr_Clear();
+#endif
+        result = __Pyx_GetBuiltinName(name);
+    }
+    return result;
+}
+
+/* PyObjectCall */
+  #if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
+    PyObject *result;
+    ternaryfunc call = func->ob_type->tp_call;
+    if (unlikely(!call))
+        return PyObject_Call(func, arg, kw);
+    if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
+        return NULL;
+    result = (*call)(func, arg, kw);
+    Py_LeaveRecursiveCall();
+    if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
+        PyErr_SetString(
+            PyExc_SystemError,
+            "NULL result without error in PyObject_Call");
+    }
+    return result;
+}
+#endif
+
+/* PyObjectCallMethO */
+  #if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
+    PyObject *self, *result;
+    PyCFunction cfunc;
+    cfunc = PyCFunction_GET_FUNCTION(func);
+    self = PyCFunction_GET_SELF(func);
+    if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
+        return NULL;
+    result = cfunc(self, arg);
+    Py_LeaveRecursiveCall();
+    if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
+        PyErr_SetString(
+            PyExc_SystemError,
+            "NULL result without error in PyObject_Call");
+    }
+    return result;
+}
+#endif
+
+/* PyObjectCallOneArg */
+  #if CYTHON_COMPILING_IN_CPYTHON
+static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) {
+    PyObject *result;
+    PyObject *args = PyTuple_New(1);
+    if (unlikely(!args)) return NULL;
+    Py_INCREF(arg);
+    PyTuple_SET_ITEM(args, 0, arg);
+    result = __Pyx_PyObject_Call(func, args, NULL);
+    Py_DECREF(args);
+    return result;
+}
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
+#ifdef __Pyx_CyFunction_USED
+    if (likely(PyCFunction_Check(func) || PyObject_TypeCheck(func, __pyx_CyFunctionType))) {
+#else
+    if (likely(PyCFunction_Check(func))) {
+#endif
+        if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) {
+            return __Pyx_PyObject_CallMethO(func, arg);
+        }
+    }
+    return __Pyx__PyObject_CallOneArg(func, arg);
+}
+#else
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
+    PyObject *result;
+    PyObject *args = PyTuple_Pack(1, arg);
+    if (unlikely(!args)) return NULL;
+    result = __Pyx_PyObject_Call(func, args, NULL);
+    Py_DECREF(args);
+    return result;
+}
+#endif
+
+/* PyObjectCallNoArg */
+    #if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
+#ifdef __Pyx_CyFunction_USED
+    if (likely(PyCFunction_Check(func) || PyObject_TypeCheck(func, __pyx_CyFunctionType))) {
+#else
+    if (likely(PyCFunction_Check(func))) {
+#endif
+        if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) {
+            return __Pyx_PyObject_CallMethO(func, NULL);
+        }
+    }
+    return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL);
+}
+#endif
+
+/* pyobject_as_double */
+      static double __Pyx__PyObject_AsDouble(PyObject* obj) {
+    PyObject* float_value;
+#if CYTHON_COMPILING_IN_PYPY
+    float_value = PyNumber_Float(obj);  if (0) goto bad;
+#else
+    PyNumberMethods *nb = Py_TYPE(obj)->tp_as_number;
+    if (likely(nb) && likely(nb->nb_float)) {
+        float_value = nb->nb_float(obj);
+        if (likely(float_value) && unlikely(!PyFloat_Check(float_value))) {
+            PyErr_Format(PyExc_TypeError,
+                "__float__ returned non-float (type %.200s)",
+                Py_TYPE(float_value)->tp_name);
+            Py_DECREF(float_value);
+            goto bad;
+        }
+    } else if (PyUnicode_CheckExact(obj) || PyBytes_CheckExact(obj)) {
+#if PY_MAJOR_VERSION >= 3
+        float_value = PyFloat_FromString(obj);
+#else
+        float_value = PyFloat_FromString(obj, 0);
+#endif
+    } else {
+        PyObject* args = PyTuple_New(1);
+        if (unlikely(!args)) goto bad;
+        PyTuple_SET_ITEM(args, 0, obj);
+        float_value = PyObject_Call((PyObject*)&PyFloat_Type, args, 0);
+        PyTuple_SET_ITEM(args, 0, 0);
+        Py_DECREF(args);
+    }
+#endif
+    if (likely(float_value)) {
+        double value = PyFloat_AS_DOUBLE(float_value);
+        Py_DECREF(float_value);
+        return value;
+    }
+bad:
+    return (double)-1;
+}
+
+/* PyErrFetchRestore */
+      #if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
+    PyObject *tmp_type, *tmp_value, *tmp_tb;
+    tmp_type = tstate->curexc_type;
+    tmp_value = tstate->curexc_value;
+    tmp_tb = tstate->curexc_traceback;
+    tstate->curexc_type = type;
+    tstate->curexc_value = value;
+    tstate->curexc_traceback = tb;
+    Py_XDECREF(tmp_type);
+    Py_XDECREF(tmp_value);
+    Py_XDECREF(tmp_tb);
+}
+static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
+    *type = tstate->curexc_type;
+    *value = tstate->curexc_value;
+    *tb = tstate->curexc_traceback;
+    tstate->curexc_type = 0;
+    tstate->curexc_value = 0;
+    tstate->curexc_traceback = 0;
+}
+#endif
+
+/* WriteUnraisableException */
+      static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,
+                                  CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename,
+                                  int full_traceback, CYTHON_UNUSED int nogil) {
+    PyObject *old_exc, *old_val, *old_tb;
+    PyObject *ctx;
+    __Pyx_PyThreadState_declare
+#ifdef WITH_THREAD
+    PyGILState_STATE state;
+    if (nogil)
+        state = PyGILState_Ensure();
+#ifdef _MSC_VER
+    else state = (PyGILState_STATE)-1;
+#endif
+#endif
+    __Pyx_PyThreadState_assign
+    __Pyx_ErrFetch(&old_exc, &old_val, &old_tb);
+    if (full_traceback) {
+        Py_XINCREF(old_exc);
+        Py_XINCREF(old_val);
+        Py_XINCREF(old_tb);
+        __Pyx_ErrRestore(old_exc, old_val, old_tb);
+        PyErr_PrintEx(1);
+    }
+    #if PY_MAJOR_VERSION < 3
+    ctx = PyString_FromString(name);
+    #else
+    ctx = PyUnicode_FromString(name);
+    #endif
+    __Pyx_ErrRestore(old_exc, old_val, old_tb);
+    if (!ctx) {
+        PyErr_WriteUnraisable(Py_None);
+    } else {
+        PyErr_WriteUnraisable(ctx);
+        Py_DECREF(ctx);
+    }
+#ifdef WITH_THREAD
+    if (nogil)
+        PyGILState_Release(state);
+#endif
+}
+
+/* None */
+      static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname) {
+    PyErr_Format(PyExc_UnboundLocalError, "local variable '%s' referenced before assignment", varname);
+}
+
+/* GetItemInt */
+      static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
+    PyObject *r;
+    if (!j) return NULL;
+    r = PyObject_GetItem(o, j);
+    Py_DECREF(j);
+    return r;
+}
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
+                                                              CYTHON_NCP_UNUSED int wraparound,
+                                                              CYTHON_NCP_UNUSED int boundscheck) {
+#if CYTHON_COMPILING_IN_CPYTHON
+    if (wraparound & unlikely(i < 0)) i += PyList_GET_SIZE(o);
+    if ((!boundscheck) || likely((0 <= i) & (i < PyList_GET_SIZE(o)))) {
+        PyObject *r = PyList_GET_ITEM(o, i);
+        Py_INCREF(r);
+        return r;
+    }
+    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
+#else
+    return PySequence_GetItem(o, i);
+#endif
+}
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
+                                                              CYTHON_NCP_UNUSED int wraparound,
+                                                              CYTHON_NCP_UNUSED int boundscheck) {
+#if CYTHON_COMPILING_IN_CPYTHON
+    if (wraparound & unlikely(i < 0)) i += PyTuple_GET_SIZE(o);
+    if ((!boundscheck) || likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) {
+        PyObject *r = PyTuple_GET_ITEM(o, i);
+        Py_INCREF(r);
+        return r;
+    }
+    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
+#else
+    return PySequence_GetItem(o, i);
+#endif
+}
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list,
+                                                     CYTHON_NCP_UNUSED int wraparound,
+                                                     CYTHON_NCP_UNUSED int boundscheck) {
+#if CYTHON_COMPILING_IN_CPYTHON
+    if (is_list || PyList_CheckExact(o)) {
+        Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
+        if ((!boundscheck) || (likely((n >= 0) & (n < PyList_GET_SIZE(o))))) {
+            PyObject *r = PyList_GET_ITEM(o, n);
+            Py_INCREF(r);
+            return r;
+        }
+    }
+    else if (PyTuple_CheckExact(o)) {
+        Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
+        if ((!boundscheck) || likely((n >= 0) & (n < PyTuple_GET_SIZE(o)))) {
+            PyObject *r = PyTuple_GET_ITEM(o, n);
+            Py_INCREF(r);
+            return r;
+        }
+    } else {
+        PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
+        if (likely(m && m->sq_item)) {
+            if (wraparound && unlikely(i < 0) && likely(m->sq_length)) {
+                Py_ssize_t l = m->sq_length(o);
+                if (likely(l >= 0)) {
+                    i += l;
+                } else {
+                    if (!PyErr_ExceptionMatches(PyExc_OverflowError))
+                        return NULL;
+                    PyErr_Clear();
+                }
+            }
+            return m->sq_item(o, i);
+        }
+    }
+#else
+    if (is_list || PySequence_Check(o)) {
+        return PySequence_GetItem(o, i);
+    }
+#endif
+    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
+}
+
+/* Import */
+      static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
+    PyObject *empty_list = 0;
+    PyObject *module = 0;
+    PyObject *global_dict = 0;
+    PyObject *empty_dict = 0;
+    PyObject *list;
+    #if PY_VERSION_HEX < 0x03030000
+    PyObject *py_import;
+    py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import);
+    if (!py_import)
+        goto bad;
+    #endif
+    if (from_list)
+        list = from_list;
+    else {
+        empty_list = PyList_New(0);
+        if (!empty_list)
+            goto bad;
+        list = empty_list;
+    }
+    global_dict = PyModule_GetDict(__pyx_m);
+    if (!global_dict)
+        goto bad;
+    empty_dict = PyDict_New();
+    if (!empty_dict)
+        goto bad;
+    {
+        #if PY_MAJOR_VERSION >= 3
+        if (level == -1) {
+            if (strchr(__Pyx_MODULE_NAME, '.')) {
+                #if PY_VERSION_HEX < 0x03030000
+                PyObject *py_level = PyInt_FromLong(1);
+                if (!py_level)
+                    goto bad;
+                module = PyObject_CallFunctionObjArgs(py_import,
+                    name, global_dict, empty_dict, list, py_level, NULL);
+                Py_DECREF(py_level);
+                #else
+                module = PyImport_ImportModuleLevelObject(
+                    name, global_dict, empty_dict, list, 1);
+                #endif
+                if (!module) {
+                    if (!PyErr_ExceptionMatches(PyExc_ImportError))
+                        goto bad;
+                    PyErr_Clear();
+                }
+            }
+            level = 0;
+        }
+        #endif
+        if (!module) {
+            #if PY_VERSION_HEX < 0x03030000
+            PyObject *py_level = PyInt_FromLong(level);
+            if (!py_level)
+                goto bad;
+            module = PyObject_CallFunctionObjArgs(py_import,
+                name, global_dict, empty_dict, list, py_level, NULL);
+            Py_DECREF(py_level);
+            #else
+            module = PyImport_ImportModuleLevelObject(
+                name, global_dict, empty_dict, list, level);
+            #endif
+        }
+    }
+bad:
+    #if PY_VERSION_HEX < 0x03030000
+    Py_XDECREF(py_import);
+    #endif
+    Py_XDECREF(empty_list);
+    Py_XDECREF(empty_dict);
+    return module;
+}
+
+/* ImportFrom */
+      static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
+    PyObject* value = __Pyx_PyObject_GetAttrStr(module, name);
+    if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) {
+        PyErr_Format(PyExc_ImportError,
+        #if PY_MAJOR_VERSION < 3
+            "cannot import name %.230s", PyString_AS_STRING(name));
+        #else
+            "cannot import name %S", name);
+        #endif
+    }
+    return value;
+}
+
+/* CodeObjectCache */
+      static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
+    int start = 0, mid = 0, end = count - 1;
+    if (end >= 0 && code_line > entries[end].code_line) {
+        return count;
+    }
+    while (start < end) {
+        mid = start + (end - start) / 2;
+        if (code_line < entries[mid].code_line) {
+            end = mid;
+        } else if (code_line > entries[mid].code_line) {
+             start = mid + 1;
+        } else {
+            return mid;
+        }
+    }
+    if (code_line <= entries[mid].code_line) {
+        return mid;
+    } else {
+        return mid + 1;
+    }
+}
+static PyCodeObject *__pyx_find_code_object(int code_line) {
+    PyCodeObject* code_object;
+    int pos;
+    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
+        return NULL;
+    }
+    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
+    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
+        return NULL;
+    }
+    code_object = __pyx_code_cache.entries[pos].code_object;
+    Py_INCREF(code_object);
+    return code_object;
+}
+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
+    int pos, i;
+    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
+    if (unlikely(!code_line)) {
+        return;
+    }
+    if (unlikely(!entries)) {
+        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
+        if (likely(entries)) {
+            __pyx_code_cache.entries = entries;
+            __pyx_code_cache.max_count = 64;
+            __pyx_code_cache.count = 1;
+            entries[0].code_line = code_line;
+            entries[0].code_object = code_object;
+            Py_INCREF(code_object);
+        }
+        return;
+    }
+    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
+    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
+        PyCodeObject* tmp = entries[pos].code_object;
+        entries[pos].code_object = code_object;
+        Py_DECREF(tmp);
+        return;
+    }
+    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
+        int new_max = __pyx_code_cache.max_count + 64;
+        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
+            __pyx_code_cache.entries, (size_t)new_max*sizeof(__Pyx_CodeObjectCacheEntry));
+        if (unlikely(!entries)) {
+            return;
+        }
+        __pyx_code_cache.entries = entries;
+        __pyx_code_cache.max_count = new_max;
+    }
+    for (i=__pyx_code_cache.count; i>pos; i--) {
+        entries[i] = entries[i-1];
+    }
+    entries[pos].code_line = code_line;
+    entries[pos].code_object = code_object;
+    __pyx_code_cache.count++;
+    Py_INCREF(code_object);
+}
+
+/* AddTraceback */
+      #include "compile.h"
+#include "frameobject.h"
+#include "traceback.h"
+static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
+            const char *funcname, int c_line,
+            int py_line, const char *filename) {
+    PyCodeObject *py_code = 0;
+    PyObject *py_srcfile = 0;
+    PyObject *py_funcname = 0;
+    #if PY_MAJOR_VERSION < 3
+    py_srcfile = PyString_FromString(filename);
+    #else
+    py_srcfile = PyUnicode_FromString(filename);
+    #endif
+    if (!py_srcfile) goto bad;
+    if (c_line) {
+        #if PY_MAJOR_VERSION < 3
+        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
+        #else
+        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
+        #endif
+    }
+    else {
+        #if PY_MAJOR_VERSION < 3
+        py_funcname = PyString_FromString(funcname);
+        #else
+        py_funcname = PyUnicode_FromString(funcname);
+        #endif
+    }
+    if (!py_funcname) goto bad;
+    py_code = __Pyx_PyCode_New(
+        0,
+        0,
+        0,
+        0,
+        0,
+        __pyx_empty_bytes, /*PyObject *code,*/
+        __pyx_empty_tuple, /*PyObject *consts,*/
+        __pyx_empty_tuple, /*PyObject *names,*/
+        __pyx_empty_tuple, /*PyObject *varnames,*/
+        __pyx_empty_tuple, /*PyObject *freevars,*/
+        __pyx_empty_tuple, /*PyObject *cellvars,*/
+        py_srcfile,   /*PyObject *filename,*/
+        py_funcname,  /*PyObject *name,*/
+        py_line,
+        __pyx_empty_bytes  /*PyObject *lnotab*/
+    );
+    Py_DECREF(py_srcfile);
+    Py_DECREF(py_funcname);
+    return py_code;
+bad:
+    Py_XDECREF(py_srcfile);
+    Py_XDECREF(py_funcname);
+    return NULL;
+}
+static void __Pyx_AddTraceback(const char *funcname, int c_line,
+                               int py_line, const char *filename) {
+    PyCodeObject *py_code = 0;
+    PyFrameObject *py_frame = 0;
+    py_code = __pyx_find_code_object(c_line ? c_line : py_line);
+    if (!py_code) {
+        py_code = __Pyx_CreateCodeObjectForTraceback(
+            funcname, c_line, py_line, filename);
+        if (!py_code) goto bad;
+        __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
+    }
+    py_frame = PyFrame_New(
+        PyThreadState_GET(), /*PyThreadState *tstate,*/
+        py_code,             /*PyCodeObject *code,*/
+        __pyx_d,      /*PyObject *globals,*/
+        0                    /*PyObject *locals*/
+    );
+    if (!py_frame) goto bad;
+    py_frame->f_lineno = py_line;
+    PyTraceBack_Here(py_frame);
+bad:
+    Py_XDECREF(py_code);
+    Py_XDECREF(py_frame);
+}
+
+/* CIntFromPyVerify */
+      #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\
+    __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0)
+#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\
+    __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1)
+#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\
+    {\
+        func_type value = func_value;\
+        if (sizeof(target_type) < sizeof(func_type)) {\
+            if (unlikely(value != (func_type) (target_type) value)) {\
+                func_type zero = 0;\
+                if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\
+                    return (target_type) -1;\
+                if (is_unsigned && unlikely(value < zero))\
+                    goto raise_neg_overflow;\
+                else\
+                    goto raise_overflow;\
+            }\
+        }\
+        return (target_type) value;\
+    }
+
+/* CIntToPy */
+      static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
+    const int neg_one = (int) -1, const_zero = (int) 0;
+    const int is_unsigned = neg_one > const_zero;
+    if (is_unsigned) {
+        if (sizeof(int) < sizeof(long)) {
+            return PyInt_FromLong((long) value);
+        } else if (sizeof(int) <= sizeof(unsigned long)) {
+            return PyLong_FromUnsignedLong((unsigned long) value);
+        } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
+            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
+        }
+    } else {
+        if (sizeof(int) <= sizeof(long)) {
+            return PyInt_FromLong((long) value);
+        } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
+            return PyLong_FromLongLong((PY_LONG_LONG) value);
+        }
+    }
+    {
+        int one = 1; int little = (int)*(unsigned char *)&one;
+        unsigned char *bytes = (unsigned char *)&value;
+        return _PyLong_FromByteArray(bytes, sizeof(int),
+                                     little, !is_unsigned);
+    }
+}
+
+/* CIntFromPy */
+      static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
+    const int neg_one = (int) -1, const_zero = (int) 0;
+    const int is_unsigned = neg_one > const_zero;
+#if PY_MAJOR_VERSION < 3
+    if (likely(PyInt_Check(x))) {
+        if (sizeof(int) < sizeof(long)) {
+            __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x))
+        } else {
+            long val = PyInt_AS_LONG(x);
+            if (is_unsigned && unlikely(val < 0)) {
+                goto raise_neg_overflow;
+            }
+            return (int) val;
+        }
+    } else
+#endif
+    if (likely(PyLong_Check(x))) {
+        if (is_unsigned) {
+#if CYTHON_USE_PYLONG_INTERNALS
+            const digit* digits = ((PyLongObject*)x)->ob_digit;
+            switch (Py_SIZE(x)) {
+                case  0: return (int) 0;
+                case  1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0])
+                case 2:
+                    if (8 * sizeof(int) > 1 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) {
+                            return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
+                        }
+                    }
+                    break;
+                case 3:
+                    if (8 * sizeof(int) > 2 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) {
+                            return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
+                        }
+                    }
+                    break;
+                case 4:
+                    if (8 * sizeof(int) > 3 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) {
+                            return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
+                        }
+                    }
+                    break;
+            }
+#endif
+#if CYTHON_COMPILING_IN_CPYTHON
+            if (unlikely(Py_SIZE(x) < 0)) {
+                goto raise_neg_overflow;
+            }
+#else
+            {
+                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
+                if (unlikely(result < 0))
+                    return (int) -1;
+                if (unlikely(result == 1))
+                    goto raise_neg_overflow;
+            }
+#endif
+            if (sizeof(int) <= sizeof(unsigned long)) {
+                __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x))
+            } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
+                __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
+            }
+        } else {
+#if CYTHON_USE_PYLONG_INTERNALS
+            const digit* digits = ((PyLongObject*)x)->ob_digit;
+            switch (Py_SIZE(x)) {
+                case  0: return (int) 0;
+                case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0]))
+                case  1: __PYX_VERIFY_RETURN_INT(int,  digit, +digits[0])
+                case -2:
+                    if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {
+                            return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
+                        }
+                    }
+                    break;
+                case 2:
+                    if (8 * sizeof(int) > 1 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {
+                            return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
+                        }
+                    }
+                    break;
+                case -3:
+                    if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {
+                            return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
+                        }
+                    }
+                    break;
+                case 3:
+                    if (8 * sizeof(int) > 2 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {
+                            return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
+                        }
+                    }
+                    break;
+                case -4:
+                    if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) {
+                            return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
+                        }
+                    }
+                    break;
+                case 4:
+                    if (8 * sizeof(int) > 3 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) {
+                            return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
+                        }
+                    }
+                    break;
+            }
+#endif
+            if (sizeof(int) <= sizeof(long)) {
+                __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x))
+            } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
+                __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x))
+            }
+        }
+        {
+#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
+            PyErr_SetString(PyExc_RuntimeError,
+                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
+#else
+            int val;
+            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
+ #if PY_MAJOR_VERSION < 3
+            if (likely(v) && !PyLong_Check(v)) {
+                PyObject *tmp = v;
+                v = PyNumber_Long(tmp);
+                Py_DECREF(tmp);
+            }
+ #endif
+            if (likely(v)) {
+                int one = 1; int is_little = (int)*(unsigned char *)&one;
+                unsigned char *bytes = (unsigned char *)&val;
+                int ret = _PyLong_AsByteArray((PyLongObject *)v,
+                                              bytes, sizeof(val),
+                                              is_little, !is_unsigned);
+                Py_DECREF(v);
+                if (likely(!ret))
+                    return val;
+            }
+#endif
+            return (int) -1;
+        }
+    } else {
+        int val;
+        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
+        if (!tmp) return (int) -1;
+        val = __Pyx_PyInt_As_int(tmp);
+        Py_DECREF(tmp);
+        return val;
+    }
+raise_overflow:
+    PyErr_SetString(PyExc_OverflowError,
+        "value too large to convert to int");
+    return (int) -1;
+raise_neg_overflow:
+    PyErr_SetString(PyExc_OverflowError,
+        "can't convert negative value to int");
+    return (int) -1;
+}
+
+/* CIntFromPy */
+      static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *x) {
+    const size_t neg_one = (size_t) -1, const_zero = (size_t) 0;
+    const int is_unsigned = neg_one > const_zero;
+#if PY_MAJOR_VERSION < 3
+    if (likely(PyInt_Check(x))) {
+        if (sizeof(size_t) < sizeof(long)) {
+            __PYX_VERIFY_RETURN_INT(size_t, long, PyInt_AS_LONG(x))
+        } else {
+            long val = PyInt_AS_LONG(x);
+            if (is_unsigned && unlikely(val < 0)) {
+                goto raise_neg_overflow;
+            }
+            return (size_t) val;
+        }
+    } else
+#endif
+    if (likely(PyLong_Check(x))) {
+        if (is_unsigned) {
+#if CYTHON_USE_PYLONG_INTERNALS
+            const digit* digits = ((PyLongObject*)x)->ob_digit;
+            switch (Py_SIZE(x)) {
+                case  0: return (size_t) 0;
+                case  1: __PYX_VERIFY_RETURN_INT(size_t, digit, digits[0])
+                case 2:
+                    if (8 * sizeof(size_t) > 1 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(size_t) >= 2 * PyLong_SHIFT) {
+                            return (size_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
+                        }
+                    }
+                    break;
+                case 3:
+                    if (8 * sizeof(size_t) > 2 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(size_t) >= 3 * PyLong_SHIFT) {
+                            return (size_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
+                        }
+                    }
+                    break;
+                case 4:
+                    if (8 * sizeof(size_t) > 3 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(size_t) >= 4 * PyLong_SHIFT) {
+                            return (size_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
+                        }
+                    }
+                    break;
+            }
+#endif
+#if CYTHON_COMPILING_IN_CPYTHON
+            if (unlikely(Py_SIZE(x) < 0)) {
+                goto raise_neg_overflow;
+            }
+#else
+            {
+                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
+                if (unlikely(result < 0))
+                    return (size_t) -1;
+                if (unlikely(result == 1))
+                    goto raise_neg_overflow;
+            }
+#endif
+            if (sizeof(size_t) <= sizeof(unsigned long)) {
+                __PYX_VERIFY_RETURN_INT_EXC(size_t, unsigned long, PyLong_AsUnsignedLong(x))
+            } else if (sizeof(size_t) <= sizeof(unsigned PY_LONG_LONG)) {
+                __PYX_VERIFY_RETURN_INT_EXC(size_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
+            }
+        } else {
+#if CYTHON_USE_PYLONG_INTERNALS
+            const digit* digits = ((PyLongObject*)x)->ob_digit;
+            switch (Py_SIZE(x)) {
+                case  0: return (size_t) 0;
+                case -1: __PYX_VERIFY_RETURN_INT(size_t, sdigit, (sdigit) (-(sdigit)digits[0]))
+                case  1: __PYX_VERIFY_RETURN_INT(size_t,  digit, +digits[0])
+                case -2:
+                    if (8 * sizeof(size_t) - 1 > 1 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT) {
+                            return (size_t) (((size_t)-1)*(((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
+                        }
+                    }
+                    break;
+                case 2:
+                    if (8 * sizeof(size_t) > 1 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT) {
+                            return (size_t) ((((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
+                        }
+                    }
+                    break;
+                case -3:
+                    if (8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT) {
+                            return (size_t) (((size_t)-1)*(((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
+                        }
+                    }
+                    break;
+                case 3:
+                    if (8 * sizeof(size_t) > 2 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT) {
+                            return (size_t) ((((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
+                        }
+                    }
+                    break;
+                case -4:
+                    if (8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(size_t) - 1 > 4 * PyLong_SHIFT) {
+                            return (size_t) (((size_t)-1)*(((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
+                        }
+                    }
+                    break;
+                case 4:
+                    if (8 * sizeof(size_t) > 3 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(size_t) - 1 > 4 * PyLong_SHIFT) {
+                            return (size_t) ((((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
+                        }
+                    }
+                    break;
+            }
+#endif
+            if (sizeof(size_t) <= sizeof(long)) {
+                __PYX_VERIFY_RETURN_INT_EXC(size_t, long, PyLong_AsLong(x))
+            } else if (sizeof(size_t) <= sizeof(PY_LONG_LONG)) {
+                __PYX_VERIFY_RETURN_INT_EXC(size_t, PY_LONG_LONG, PyLong_AsLongLong(x))
+            }
+        }
+        {
+#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
+            PyErr_SetString(PyExc_RuntimeError,
+                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
+#else
+            size_t val;
+            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
+ #if PY_MAJOR_VERSION < 3
+            if (likely(v) && !PyLong_Check(v)) {
+                PyObject *tmp = v;
+                v = PyNumber_Long(tmp);
+                Py_DECREF(tmp);
+            }
+ #endif
+            if (likely(v)) {
+                int one = 1; int is_little = (int)*(unsigned char *)&one;
+                unsigned char *bytes = (unsigned char *)&val;
+                int ret = _PyLong_AsByteArray((PyLongObject *)v,
+                                              bytes, sizeof(val),
+                                              is_little, !is_unsigned);
+                Py_DECREF(v);
+                if (likely(!ret))
+                    return val;
+            }
+#endif
+            return (size_t) -1;
+        }
+    } else {
+        size_t val;
+        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
+        if (!tmp) return (size_t) -1;
+        val = __Pyx_PyInt_As_size_t(tmp);
+        Py_DECREF(tmp);
+        return val;
+    }
+raise_overflow:
+    PyErr_SetString(PyExc_OverflowError,
+        "value too large to convert to size_t");
+    return (size_t) -1;
+raise_neg_overflow:
+    PyErr_SetString(PyExc_OverflowError,
+        "can't convert negative value to size_t");
+    return (size_t) -1;
+}
+
+/* CIntToPy */
+      static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
+    const long neg_one = (long) -1, const_zero = (long) 0;
+    const int is_unsigned = neg_one > const_zero;
+    if (is_unsigned) {
+        if (sizeof(long) < sizeof(long)) {
+            return PyInt_FromLong((long) value);
+        } else if (sizeof(long) <= sizeof(unsigned long)) {
+            return PyLong_FromUnsignedLong((unsigned long) value);
+        } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
+            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
+        }
+    } else {
+        if (sizeof(long) <= sizeof(long)) {
+            return PyInt_FromLong((long) value);
+        } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
+            return PyLong_FromLongLong((PY_LONG_LONG) value);
+        }
+    }
+    {
+        int one = 1; int little = (int)*(unsigned char *)&one;
+        unsigned char *bytes = (unsigned char *)&value;
+        return _PyLong_FromByteArray(bytes, sizeof(long),
+                                     little, !is_unsigned);
+    }
+}
+
+/* CIntFromPy */
+      static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
+    const long neg_one = (long) -1, const_zero = (long) 0;
+    const int is_unsigned = neg_one > const_zero;
+#if PY_MAJOR_VERSION < 3
+    if (likely(PyInt_Check(x))) {
+        if (sizeof(long) < sizeof(long)) {
+            __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x))
+        } else {
+            long val = PyInt_AS_LONG(x);
+            if (is_unsigned && unlikely(val < 0)) {
+                goto raise_neg_overflow;
+            }
+            return (long) val;
+        }
+    } else
+#endif
+    if (likely(PyLong_Check(x))) {
+        if (is_unsigned) {
+#if CYTHON_USE_PYLONG_INTERNALS
+            const digit* digits = ((PyLongObject*)x)->ob_digit;
+            switch (Py_SIZE(x)) {
+                case  0: return (long) 0;
+                case  1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0])
+                case 2:
+                    if (8 * sizeof(long) > 1 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) {
+                            return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
+                        }
+                    }
+                    break;
+                case 3:
+                    if (8 * sizeof(long) > 2 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) {
+                            return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
+                        }
+                    }
+                    break;
+                case 4:
+                    if (8 * sizeof(long) > 3 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) {
+                            return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
+                        }
+                    }
+                    break;
+            }
+#endif
+#if CYTHON_COMPILING_IN_CPYTHON
+            if (unlikely(Py_SIZE(x) < 0)) {
+                goto raise_neg_overflow;
+            }
+#else
+            {
+                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
+                if (unlikely(result < 0))
+                    return (long) -1;
+                if (unlikely(result == 1))
+                    goto raise_neg_overflow;
+            }
+#endif
+            if (sizeof(long) <= sizeof(unsigned long)) {
+                __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x))
+            } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
+                __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
+            }
+        } else {
+#if CYTHON_USE_PYLONG_INTERNALS
+            const digit* digits = ((PyLongObject*)x)->ob_digit;
+            switch (Py_SIZE(x)) {
+                case  0: return (long) 0;
+                case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0]))
+                case  1: __PYX_VERIFY_RETURN_INT(long,  digit, +digits[0])
+                case -2:
+                    if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
+                            return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
+                        }
+                    }
+                    break;
+                case 2:
+                    if (8 * sizeof(long) > 1 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
+                            return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
+                        }
+                    }
+                    break;
+                case -3:
+                    if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
+                            return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
+                        }
+                    }
+                    break;
+                case 3:
+                    if (8 * sizeof(long) > 2 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
+                            return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
+                        }
+                    }
+                    break;
+                case -4:
+                    if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
+                            return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
+                        }
+                    }
+                    break;
+                case 4:
+                    if (8 * sizeof(long) > 3 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
+                            return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
+                        }
+                    }
+                    break;
+            }
+#endif
+            if (sizeof(long) <= sizeof(long)) {
+                __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x))
+            } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
+                __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x))
+            }
+        }
+        {
+#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
+            PyErr_SetString(PyExc_RuntimeError,
+                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
+#else
+            long val;
+            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
+ #if PY_MAJOR_VERSION < 3
+            if (likely(v) && !PyLong_Check(v)) {
+                PyObject *tmp = v;
+                v = PyNumber_Long(tmp);
+                Py_DECREF(tmp);
+            }
+ #endif
+            if (likely(v)) {
+                int one = 1; int is_little = (int)*(unsigned char *)&one;
+                unsigned char *bytes = (unsigned char *)&val;
+                int ret = _PyLong_AsByteArray((PyLongObject *)v,
+                                              bytes, sizeof(val),
+                                              is_little, !is_unsigned);
+                Py_DECREF(v);
+                if (likely(!ret))
+                    return val;
+            }
+#endif
+            return (long) -1;
+        }
+    } else {
+        long val;
+        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
+        if (!tmp) return (long) -1;
+        val = __Pyx_PyInt_As_long(tmp);
+        Py_DECREF(tmp);
+        return val;
+    }
+raise_overflow:
+    PyErr_SetString(PyExc_OverflowError,
+        "value too large to convert to long");
+    return (long) -1;
+raise_neg_overflow:
+    PyErr_SetString(PyExc_OverflowError,
+        "can't convert negative value to long");
+    return (long) -1;
+}
+
+/* CheckBinaryVersion */
+      static int __Pyx_check_binary_version(void) {
+    char ctversion[4], rtversion[4];
+    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
+    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
+    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
+        char message[200];
+        PyOS_snprintf(message, sizeof(message),
+                      "compiletime version %s of module '%.100s' "
+                      "does not match runtime version %s",
+                      ctversion, __Pyx_MODULE_NAME, rtversion);
+        return PyErr_WarnEx(NULL, message, 1);
+    }
+    return 0;
+}
+
+/* InitStrings */
+      static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
+    while (t->p) {
+        #if PY_MAJOR_VERSION < 3
+        if (t->is_unicode) {
+            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
+        } else if (t->intern) {
+            *t->p = PyString_InternFromString(t->s);
+        } else {
+            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
+        }
+        #else
+        if (t->is_unicode | t->is_str) {
+            if (t->intern) {
+                *t->p = PyUnicode_InternFromString(t->s);
+            } else if (t->encoding) {
+                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
+            } else {
+                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
+            }
+        } else {
+            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
+        }
+        #endif
+        if (!*t->p)
+            return -1;
+        ++t;
+    }
+    return 0;
+}
+
+static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
+    return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str));
+}
+static CYTHON_INLINE char* __Pyx_PyObject_AsString(PyObject* o) {
+    Py_ssize_t ignore;
+    return __Pyx_PyObject_AsStringAndSize(o, &ignore);
+}
+static CYTHON_INLINE char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
+#if CYTHON_COMPILING_IN_CPYTHON && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT)
+    if (
+#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
+            __Pyx_sys_getdefaultencoding_not_ascii &&
+#endif
+            PyUnicode_Check(o)) {
+#if PY_VERSION_HEX < 0x03030000
+        char* defenc_c;
+        PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL);
+        if (!defenc) return NULL;
+        defenc_c = PyBytes_AS_STRING(defenc);
+#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
+        {
+            char* end = defenc_c + PyBytes_GET_SIZE(defenc);
+            char* c;
+            for (c = defenc_c; c < end; c++) {
+                if ((unsigned char) (*c) >= 128) {
+                    PyUnicode_AsASCIIString(o);
+                    return NULL;
+                }
+            }
+        }
+#endif
+        *length = PyBytes_GET_SIZE(defenc);
+        return defenc_c;
+#else
+        if (__Pyx_PyUnicode_READY(o) == -1) return NULL;
+#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
+        if (PyUnicode_IS_ASCII(o)) {
+            *length = PyUnicode_GET_LENGTH(o);
+            return PyUnicode_AsUTF8(o);
+        } else {
+            PyUnicode_AsASCIIString(o);
+            return NULL;
+        }
+#else
+        return PyUnicode_AsUTF8AndSize(o, length);
+#endif
+#endif
+    } else
+#endif
+#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE))
+    if (PyByteArray_Check(o)) {
+        *length = PyByteArray_GET_SIZE(o);
+        return PyByteArray_AS_STRING(o);
+    } else
+#endif
+    {
+        char* result;
+        int r = PyBytes_AsStringAndSize(o, &result, length);
+        if (unlikely(r < 0)) {
+            return NULL;
+        } else {
+            return result;
+        }
+    }
+}
+static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
+   int is_true = x == Py_True;
+   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
+   else return PyObject_IsTrue(x);
+}
+static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) {
+  PyNumberMethods *m;
+  const char *name = NULL;
+  PyObject *res = NULL;
+#if PY_MAJOR_VERSION < 3
+  if (PyInt_Check(x) || PyLong_Check(x))
+#else
+  if (PyLong_Check(x))
+#endif
+    return __Pyx_NewRef(x);
+  m = Py_TYPE(x)->tp_as_number;
+#if PY_MAJOR_VERSION < 3
+  if (m && m->nb_int) {
+    name = "int";
+    res = PyNumber_Int(x);
+  }
+  else if (m && m->nb_long) {
+    name = "long";
+    res = PyNumber_Long(x);
+  }
+#else
+  if (m && m->nb_int) {
+    name = "int";
+    res = PyNumber_Long(x);
+  }
+#endif
+  if (res) {
+#if PY_MAJOR_VERSION < 3
+    if (!PyInt_Check(res) && !PyLong_Check(res)) {
+#else
+    if (!PyLong_Check(res)) {
+#endif
+      PyErr_Format(PyExc_TypeError,
+                   "__%.4s__ returned non-%.4s (type %.200s)",
+                   name, name, Py_TYPE(res)->tp_name);
+      Py_DECREF(res);
+      return NULL;
+    }
+  }
+  else if (!PyErr_Occurred()) {
+    PyErr_SetString(PyExc_TypeError,
+                    "an integer is required");
+  }
+  return res;
+}
+static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
+  Py_ssize_t ival;
+  PyObject *x;
+#if PY_MAJOR_VERSION < 3
+  if (likely(PyInt_CheckExact(b))) {
+    if (sizeof(Py_ssize_t) >= sizeof(long))
+        return PyInt_AS_LONG(b);
+    else
+        return PyInt_AsSsize_t(x);
+  }
+#endif
+  if (likely(PyLong_CheckExact(b))) {
+    #if CYTHON_USE_PYLONG_INTERNALS
+    const digit* digits = ((PyLongObject*)b)->ob_digit;
+    const Py_ssize_t size = Py_SIZE(b);
+    if (likely(__Pyx_sst_abs(size) <= 1)) {
+        ival = likely(size) ? digits[0] : 0;
+        if (size == -1) ival = -ival;
+        return ival;
+    } else {
+      switch (size) {
+         case 2:
+           if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
+             return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
+           }
+           break;
+         case -2:
+           if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
+             return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
+           }
+           break;
+         case 3:
+           if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
+             return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
+           }
+           break;
+         case -3:
+           if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
+             return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
+           }
+           break;
+         case 4:
+           if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
+             return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
+           }
+           break;
+         case -4:
+           if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
+             return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
+           }
+           break;
+      }
+    }
+    #endif
+    return PyLong_AsSsize_t(b);
+  }
+  x = PyNumber_Index(b);
+  if (!x) return -1;
+  ival = PyInt_AsSsize_t(x);
+  Py_DECREF(x);
+  return ival;
+}
+static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
+    return PyInt_FromSize_t(ival);
+}
+
+
+#endif /* Py_PYTHON_H */
diff --git a/examples/interfaces/pyNomad_Beta/PyNomad.pyx b/examples/interfaces/pyNomad_Beta/PyNomad.pyx
new file mode 100644
index 0000000..52728ef
--- /dev/null
+++ b/examples/interfaces/pyNomad_Beta/PyNomad.pyx
@@ -0,0 +1,165 @@
+# C.Tribes sept. 6th, 2016 --- PyNomad: Beta integration of Nomad in Python 
+# PyNomad 1.0
+
+from libcpp.vector cimport vector
+from libcpp.string cimport string
+from libcpp.list cimport list
+from libcpp cimport bool
+
+from cython.operator cimport dereference as deref, preincrement as inc
+from multiprocessing import Process, Queue
+
+def version():
+    printPyNomadVersion()
+ 
+# Define the interface function to display nomad general information
+def usage():
+    printPyNomadUsage()
+ 
+# Define the interface function to display nomad general information
+def info():
+    printPyNomadUsage()
+    printPyNomadInfo()
+
+# Define the interface function to get nomad help
+def help(about=''):
+    printNomadHelp(about)
+    
+def __doc__():
+    cdef string about;
+    printPyNomadUsage()
+    help(about)	  
+
+# Define the interface function to perform optimization          
+def optimize(f , pX0, pLB,pUB ,params):
+    cdef PyNomadEval_Point u_feas = PyNomadEval_Point()
+    cdef PyNomadEval_Point u_infeas = PyNomadEval_Point()
+    cdef int run_status
+    cdef int nb_evals = 0
+    cdef int nb_iters = 0
+    cdef double f_return
+    cdef double h_return
+    x_return=[]
+    run_status = runNomad(cb, cbL, <void*> f, <vector[double]&> pX0, <vector[double]&> pLB, <vector[double]&> pUB , <vector[string]&> params , u_feas.c_ep ,u_infeas.c_ep , nb_evals, nb_iters)
+    if u_feas.c_ep != NULL:
+         f_return = u_feas.get_f()
+         h_return = 0
+         for i in xrange(u_feas.get_n()):
+             x_return.append(u_feas.get_coord(i))
+         del u_feas.c_ep  
+    if u_infeas.c_ep != NULL:
+         f_return = u_infeas.get_f()
+         h_return = u_infeas.get_h()
+         for i in xrange(u_infeas.get_n()):
+             x_return.append(u_infeas.get_coord(i))
+         del u_infeas.c_ep      
+    return [ x_return , f_return, h_return, nb_evals , nb_iters  , run_status ]
+   
+cdef extern from "Double.hpp" namespace "NOMAD":
+    cdef cppclass Double:
+        const double & value()
+        bool is_defined()
+    
+cdef class PyNomadDouble:
+    cdef Double c_d 
+    def value(self):
+        return self.c_d.value()
+    def is_defined(self):
+        return self.c_d.is_defined()
+	       
+cdef extern from "Eval_Point.hpp" namespace "NOMAD":
+    cdef cppclass Eval_Point:
+        const double & value(int i)      
+        const Double & get_f()
+        const Double & get_h()
+        void set_bb_output(int i, double & v)
+        int get_n()
+        int get_m()
+                     
+cdef class PyNomadEval_Point:
+    cdef Eval_Point *c_ep 
+    def get_coord(self, int i):       
+        return self.c_ep.value(i)
+    def set_bb_output(self,int i, double v):
+        self.c_ep.set_bb_output(i,v)
+    def get_f(self):
+        cdef PyNomadDouble f = PyNomadDouble()
+        f.c_d=self.c_ep.get_f()
+        cdef double f_d
+        if ( f.is_defined() ): 
+            f_d = f.value()
+        else:
+            f_d = float('inf')
+        return f_d  
+    def get_h(self):
+        cdef PyNomadDouble h = PyNomadDouble()
+        h.c_d=self.c_ep.get_h()
+        cdef double h_d
+        if ( h.is_defined() ):
+            h_d = h.value()
+        else:
+            h_d = 0
+        return h_d  
+
+    def get_n(self):
+        cdef int n
+        n = self.c_ep.get_n()
+        return n
+    def get_m(self):
+        cdef int m
+        m = self.c_ep.get_m()
+        return m
+
+cdef extern from "nomadCySimpleInterface.cpp":
+    ctypedef int (*Callback)(void * apply, Eval_Point& x)
+    ctypedef int (*CallbackL)(void * apply, list[Eval_Point *] & x)
+    void printPyNomadInfo()
+    void printPyNomadUsage()
+    void printNomadHelp( string about)
+    void printPyNomadVersion()
+    int runNomad(Callback cb, CallbackL cbL, void* apply, vector[double] &X0, vector[double] &LB, vector[double] &UB , vector[string] & params , Eval_Point *& best_feas_sol ,Eval_Point *& best_infeas_sol , int & nb_evals, int & nb_iters) except+
+
+# Define callback function for a single Eval_Point ---> link with Python     
+cdef int cb(void *f, Eval_Point & x):
+     cdef PyNomadEval_Point u = PyNomadEval_Point()
+     u.c_ep = &x
+     return (<object>f)(u)  
+ 
+# Define callback function for block evaluation of a list of Eval_Points ---> link with Python    
+cdef int cbL(void *f, list[Eval_Point *] & x):
+      cdef size_t size = x.size()
+      cdef PyNomadEval_Point u
+      cdef list[Eval_Point *].iterator it = x.begin()
+      cdef Eval_Point *c_ep
+      
+      # Start the process for each Eval_Point of the list
+      out = Queue()
+      for i in xrange(size):
+         u = PyNomadEval_Point()
+         c_ep = deref(it)
+         u.c_ep = c_ep
+         proc = []
+         p = Process(target=<object>f, args=(u,out,)) # u is copied
+         p.start()
+         proc.append(p)
+         inc(it)
+       
+      # Wait for all the processes to end         
+      for p in proc:
+         p.join()
+        
+      # Update the Eval_Points bb_output from the out Queue  
+      it = x.begin()
+      for i in xrange(size):
+          c_ep = deref(it)
+          bb_out = out.get()
+          if type(bb_out) != type(float) or type(bb_out) != type(int):
+              for j in xrange(len(bb_out)):
+                  c_ep.set_bb_output(j,bb_out[j])
+          else:
+              c_ep.set_bb_output(0,bb_out)
+                          
+          inc(it)  
+   
+      return 1   # 1 is success
+ 
diff --git a/examples/interfaces/pyNomad_Beta/nomadCySimpleInterface.cpp b/examples/interfaces/pyNomad_Beta/nomadCySimpleInterface.cpp
new file mode 100755
index 0000000..c4f5cd7
--- /dev/null
+++ b/examples/interfaces/pyNomad_Beta/nomadCySimpleInterface.cpp
@@ -0,0 +1,383 @@
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+#define NOMAD_PYTHON_VERSION "1.0 (beta)  [Feb, 3rd, 2017]"
+
+#include "nomad.hpp"
+#include "defines.hpp"
+#include <stdio.h>
+#include <string.h>
+
+using namespace std;
+
+typedef int (*Callback)(void * apply, NOMAD::Eval_Point &sv);
+typedef int (*CallbackL)(void * apply, std::list<NOMAD::Eval_Point *> &sv);
+
+//Print Nomad general Information
+//Print Nomad general Information
+static void printPyNomadVersion()
+{
+    printf("-----------------------------------------------------------\n");
+    printf("\n Python Interface version %s: C. Tribes \n",NOMAD_PYTHON_VERSION);
+    printf("-----------------------------------------------------------\n");
+}
+
+
+static void printPyNomadInfo()
+{
+    printf("\n-----------------------------------------------------------\n");
+    printf(" NOMAD: Nonlinear Optimization using the MADS Algorithm [v%s]\n",NOMAD::VERSION.c_str());
+    printf("  - Released under the GNU Lesser General Public License: http://www.gnu.org/copyleft/lesser.html\n");
+    printf("  - Source available from: https://www.gerad.ca/nomad/\n");
+    
+    printPyNomadVersion();
+    
+    printf(" % NOMAD solves a Global MINLP/NLP in the form               \n");
+    printf("          min f(x)                                           \n");
+    printf("          subject to:                                        \n");
+    printf("                   nlcon(x) <= 0                             \n");
+    printf("                   lb <= x <= ub                             \n");
+    printf("                   x in R                                    \n");
+    printf("\n-----------------------------------------------------------\n");
+    
+}
+
+//Print Nomad usage
+static void printPyNomadUsage()
+{
+	printf("\n----------------------------------------------------------------------------------------------------------------------\n");
+    printf(" PyNomad interface usage:\n");
+    printf("------------------------------------------------------------------------------------------------------------------------\n");
+    printf(" Info        : PyNomad.info()\n");
+    printf(" Version     : PyNomad.version()\n");
+    printf(" Help        : PyNomad.help( 'keywords' or 'all' or empty ) \n");
+    printf(" Usage       : PyNomad.usage() \n");
+    printf("------------------------------------------------------------------------------------------------------------------------\n");
+    printf(" Run NOMAD   : [x_best,f_best,h_best,nb_evals,nb_iters,exit_status] = PyNomad.optimize(bb,x0,lb,ub,param)               \n\n");
+    printf("               Input parameters:                                                                                        \n");
+    printf("                  bb      ---> name of the blackbox function (see below for details) {not optional}                     \n");
+    printf("                  x0      ---> list of values for initial point (e.g. x0=[0,0,0,0,0]) {[]}                              \n");
+    printf("                  lb      ---> list of values for initial point (e.g. lb=[-1,-2,-3,-4,-5]) {[]}                         \n");
+    printf("                  ub      ---> list of values for initial point (e.g. ub=[1,2,3,4,5]) {[]}                              \n");
+    printf("                  params  ---> list of Nomad parameters (e.g. param =['DIMENSION 5','BB_OUTPUT_TYPE OBJ']) {not optional}\n");
+    printf("                              Consult Nomad documentation or type PyNomad.help() to see all parameters                 \n\n");
+    printf("               Output parameters:                                                                                        \n");
+    printf("                  x_best   ---> list of values for the best feasible or infeasible point at the end of Nomad optimization\n");
+    printf("                  f_best   ---> Objective function value for the best point obtained                                     \n");
+    printf("                  h_best   ---> Infeasibility measure value for best point obtained ( 0 if feasible)                     \n");
+    printf("                  nb_evals ---> Number of blackbox evaluations                                                           \n");
+    printf("                  nb_iters ---> Number of iterations of the Mads algorithm                                               \n");
+    printf("                  exit_status  ---> Exit status for Nomad termination criterion (see stop_type in $NOMAD_HOME/src/defines.hpp)\n\n");
+    printf("               Blackbox evaluation (example for form 1): a single point is passed to blackbox function at a time         \n");
+    printf("                  def bb(x):                                                                                             \n");
+    printf("                     f = sum([x.get_coord(i)**2 for i in {0,1,2}])    # the coordinate of the point are accessed         \n");
+    printf("                                                                      # with the get_coord function                      \n");
+    printf("                     x.set_bb_output(0, f )    # The first output is set. The outputs are given in same order            \n");
+    printf("                                               # as defined with the BB_OUTPUT_TYPE parameters                           \n");
+    printf("                     return 1    # 1 ->success, 0 -> failed                                                            \n\n");
+    printf("               Blackbox evaluation for multiprocess (example for form 2): several bb can be called in parallel           \n");
+    printf("                  def bb(x,bb_out):        # blackbox function requires 2 arguments                                      \n");
+    printf("                                           # First argument is similar to form 1                                         \n");
+    printf("                                           # Second argument is a list of the blackbox outputs                           \n"); 
+    printf("                     bb_out.put(sum([x.get_coord(i)**2 for i in {0,1,2}]))   # bb_out is a queue to work in multiprocess \n");    
+    printf("                                                                             # The put function is thread safe           \n");
+    printf("------------------------------------------------------------------------------------------------------------------------ \n"); 
+}
+
+//Print Nomad usage
+static void printNomadHelp( string about )
+{
+	NOMAD::Parameters p ( cout );
+	p.help ( about );
+}
+
+
+//Python Evaluator Class
+class pyEval : public NOMAD::Evaluator
+{
+private:
+	Callback cb;
+	CallbackL cbL;
+	void * apply;
+
+    
+public:
+    //Constructor
+    pyEval(const NOMAD::Parameters &p, Callback _cb, CallbackL _cbL, void * _apply) : cb(_cb),cbL(_cbL),apply(_apply),NOMAD::Evaluator(p){}
+      
+    //Destructor
+    ~pyEval(void) {}    
+    
+	bool eval_x(NOMAD::Eval_Point &x, const NOMAD::Double &h_max, bool &count_eval)
+	{
+		int success=0;
+
+		//Call Python blackbox function on a single Eval_Point
+		try
+		{
+			count_eval = true;           
+			success = cb(apply,x);
+            if ( success == -1 )
+            {
+                printf("Unrecoverable Error from Objective / Blackbox Callback, Exiting NOMAD...\n\n");
+                //Force exit
+                raise(SIGINT);
+                return false;
+            }
+        }
+		//Note if these errors occur it is due to errors in python code
+		catch(...)
+		{
+			printf("Unrecoverable Error from Objective / Blackbox Callback, Exiting NOMAD...\n\n");
+			//Force exit
+			raise(SIGINT);
+			return false;
+		}
+		if ( success == 1 )
+			return true;	
+		else 
+			return false;
+	}
+	
+	bool eval_x ( std::list<NOMAD::Eval_Point *>	&list_x  ,
+				 const NOMAD::Double				& h_max,
+				 std::list<bool>					& list_count_eval ) const
+	{
+
+		int success=0;
+	
+		//Call Python blackbox function on a list of Eval_Points
+		try
+		{
+			success = cbL(apply,list_x);
+            if ( success == -1 )
+            {
+                printf("Unrecoverable Error from Objective / Blackbox Callback, Exiting NOMAD...\n\n");
+                //Force exit
+                raise(SIGINT);
+                return false;
+            }
+		
+			std::list<bool>::iterator it_count;
+			for (it_count=list_count_eval.begin(); it_count!=list_count_eval.end(); ++it_count)
+				(*it_count)=true;
+
+		}
+		//Note if these errors occur it is due to errors in python code
+		catch(...)
+		{
+			printf("Unrecoverable Error from Objective / Blackbox Callback, Exiting NOMAD...\n\n");
+			//Force exit
+			raise(SIGINT);
+			return false;
+		}
+		if ( success == 1 )
+			return true;	
+		else 
+			return false;
+	}
+
+  
+  
+ 
+};
+
+
+static int runNomad(Callback cb, CallbackL cbL, void * apply, std::vector<double> X0 , std::vector<double> LB, std::vector<double> UB , const std::vector<std::string> & param , NOMAD::Eval_Point *& best_feas_sol , NOMAD::Eval_Point *& best_infeas_sol , int & nb_evals, int & nb_iters )
+{
+    
+    NOMAD::Display out(std::cout);
+    NOMAD::Parameters p(out);
+      
+    size_t nobj; 
+    int dimension;
+    bool dimension_is_defined = false;
+       
+    try
+    {    
+		size_t ndec = X0.size();	
+		if ( ndec != 0 )
+		{
+			NOMAD::Point px0(ndec);
+		
+     	    dimension = (int)ndec;
+     	    dimension_is_defined = true;
+		
+			for(int i=0 ; i < ndec ; i++)
+				px0[i] = X0[i];
+		 
+			p.set_X0(px0); 
+		}  
+	
+		size_t nlb = LB.size();	
+		if ( nlb != 0 )
+		{    	        
+			NOMAD::Point plb( (int)nlb );
+			
+			if ( ! dimension_is_defined )
+			{
+				dimension = (int)nlb;
+     	    	dimension_is_defined = true;
+     	    }
+			
+			if ( ndec != 0 && nlb !=ndec )
+				throw NOMAD::Exception("",0,"The lower bound size is inconsistent with X0 size");    			
+				
+			for(int i=0 ; i < nlb ; i++)
+				plb[i] = LB[i];
+			
+			p.set_LOWER_BOUND( plb );	
+		}
+		
+		size_t nub = UB.size();	
+		if ( nub != 0 )
+		{         	
+			NOMAD::Point pub( (int)nub );
+			
+			if ( ! dimension_is_defined )
+			{
+				dimension = (int)nub;
+     	    	dimension_is_defined = true;
+     	    }
+  		
+  		    if ( nlb != 0 && nub != nlb )
+				throw NOMAD::Exception("",0,"The upper bound size is inconsistent with lower bound size");    			
+
+			if ( ndec != 0 && nub != ndec )
+				throw NOMAD::Exception("",0,"The upper bound size is inconsistent with X0 size");    			
+  
+			for(int i=0 ; i < nub ; i++)
+				pub[i] = UB[i];
+			
+			p.set_UPPER_BOUND( pub );
+		
+		}
+		
+		if ( dimension_is_defined )
+			p.set_DIMENSION( dimension );
+		
+		// Make sure that evaluation numbers are reset
+		NOMAD::Eval_Point::reset_tags_and_bbes();
+	
+		// The seed will always be to its default value
+		NOMAD::RNG::reset_private_seed_to_default();
+		 
+		NOMAD::Parameter_Entries entries;
+		NOMAD::Parameter_Entry * pe;
+		
+		// Interpret parameters given in vector
+		if ( param.size() > 0 )
+		{
+			for (int i=0; i < param.size() ; i++ )
+			{
+				pe = new NOMAD::Parameter_Entry ( param[i] );
+				entries.insert( pe );
+			}
+			p.read( entries );
+		}
+		
+		p.check();
+	    	
+		nobj = p.get_nb_obj();
+		
+		if ( nobj != 1 )
+			throw NOMAD::Exception ( "" , 0 ,"The python interface for BiMads (biobjective) is not yet implemented");
+			
+		int noutput = p.get_bb_output_type().size();
+			
+    	// Create the best solutions (delete in Cython interface    	
+    	best_feas_sol =new NOMAD::Eval_Point(p.get_dimension(),static_cast<int>(noutput));
+    	best_infeas_sol =new NOMAD::Eval_Point(p.get_dimension(),static_cast<int>(noutput));
+
+			
+	}
+    catch(exception &e)
+    {
+        printf("NOMAD Parameter Error:\n%s\n",e.what());
+        return -1;        
+    } 
+    
+    
+    try
+    {
+    	pyEval *mSEval = new pyEval(p,cb,cbL,apply);
+    
+    	NOMAD::Mads mads (p, mSEval);
+    
+    	NOMAD::stop_type stopflag = mads.run();
+    	
+    	nb_evals = mads.get_stats().get_bb_eval();
+    	nb_iters = mads.get_stats().get_iterations();
+        	
+    	// Set the best feasible solution or the best infeasible solution.
+    	// One of the pointer is set to null to identify the type of solution
+  	    const NOMAD::Eval_Point * bf = mads.get_best_feasible();
+    	const NOMAD::Eval_Point *bimv = mads.get_best_infeasible_min_viol();
+    	if ( bimv )
+    	{
+    	   	best_infeas_sol->set_f( bimv->get_f());
+    	   	best_infeas_sol->set_h( bimv->get_h());
+    	   	best_infeas_sol->set( *bimv ,static_cast<int>(nobj)); 
+	        if ( !bf )
+	        {
+	        	delete best_feas_sol;
+	        	best_feas_sol = NULL; 
+	        }
+    	}
+    	if ( bf )
+    	{
+    		best_feas_sol->set_f(bf->get_f());
+    	    best_feas_sol->set( *bf ,static_cast<int>(nobj));  	
+    	    delete best_infeas_sol;
+    	   	best_infeas_sol = NULL;
+		}
+    	return stopflag;
+    	
+    }
+    catch(exception &e)
+    {
+        printf("NOMAD exception (report to developper):\n%s\n",e.what()); 
+    }
+    return -1; 
+        
+}
diff --git a/examples/interfaces/pyNomad_Beta/readme b/examples/interfaces/pyNomad_Beta/readme
new file mode 100644
index 0000000..446abf8
--- /dev/null
+++ b/examples/interfaces/pyNomad_Beta/readme
@@ -0,0 +1,17 @@
+Creating the Python Interface to Nomad (PyNomad) is based on Cython 0.24 (or above) and Python 2.7
+A simple way to have Cython and Python is to install the Anaconda package.
+
+Please note that not all functionalities of Nomad are available in PyNomad (beta version).
+
+To build the PyNomad interface library:
+   - Make sure to have the NOMAD_HOME environment variables set correctly
+   - run the following in a command line: python setup_PyNomad.py build_ext --inplace
+
+To install the PyNomad interface library for the current user
+   - run the following in a command line: python setup_PyNomad.py install --user
+
+Several tests are proposed in the directory to check that everything is up and running:
+   - python runTestInfoHelp.py
+   - python runTest.py
+   - python runTest_2.py
+   - python runTest_BlockEval.py
diff --git a/examples/interfaces/pyNomad_Beta/runTest.py b/examples/interfaces/pyNomad_Beta/runTest.py
new file mode 100644
index 0000000..4cd4cbe
--- /dev/null
+++ b/examples/interfaces/pyNomad_Beta/runTest.py
@@ -0,0 +1,18 @@
+import PyNomad
+
+# This example of blackbox function is for a single process
+# The blackbox output must be put in the Eval_Point passed as argument
+def bb(x):
+    dim = x.get_n()
+    f = sum([x.get_coord(i)**2 for i in xrange(dim)])    
+    x.set_bb_output(0, f )
+    return 1 # 1: success 0: failed evaluation
+
+x0 = [0.71,0.51,0.51]
+lb = [-1,-1,-1]
+ub=[]
+
+params = ['BB_OUTPUT_TYPE OBJ','MAX_BB_EVAL 100','UPPER_BOUND * 1'] 
+
+[ x_return , f_return , h_return, nb_evals , nb_iters ,  stopflag ] = PyNomad.optimize(bb,x0,lb,ub,params)
+print ('\n NOMAD outputs \n X_sol={} \n F_sol={} \n H_sol={} \n NB_evals={} \n NB_iters={} \n'.format(x_return,f_return,h_return,nb_evals,nb_iters))
diff --git a/examples/interfaces/pyNomad_Beta/runTestInfoHelp.py b/examples/interfaces/pyNomad_Beta/runTestInfoHelp.py
new file mode 100644
index 0000000..e25a4fe
--- /dev/null
+++ b/examples/interfaces/pyNomad_Beta/runTestInfoHelp.py
@@ -0,0 +1,5 @@
+import PyNomad
+
+PyNomad.info()
+
+PyNomad.help("BB_OUTPUT")
diff --git a/examples/interfaces/pyNomad_Beta/runTest_2.py b/examples/interfaces/pyNomad_Beta/runTest_2.py
new file mode 100644
index 0000000..e2aef60
--- /dev/null
+++ b/examples/interfaces/pyNomad_Beta/runTest_2.py
@@ -0,0 +1,23 @@
+import PyNomad
+import sys
+
+def bb(x):
+    try:
+        dim = x.get_n()
+        f = x.get_coord(4)
+        x.set_bb_output(0,f)
+        g1 = sum([(x.get_coord(i)-1)**2 for i in xrange(dim)])-25
+        x.set_bb_output(1,g1)
+        g2 = 25-sum([(x.get_coord(i)+1)**2 for i in xrange(dim)])
+        x.set_bb_output(2,g2)
+        # test = 1* (1/0) # ---> uncomment to trigger an exception
+    except:
+        print "Unexpected error:", sys.exc_info()[0]
+        return -1
+    return 1
+
+ub = [ 5,6,7,10,10]
+
+params = ['BB_OUTPUT_TYPE OBJ PB EB','MAX_BB_EVAL 100','X0 * 0' , 'LOWER_BOUND * -6' ] 
+[ x_return , f_return , h_return, nb_evals , nb_iters ,  stopflag ] = PyNomad.optimize(bb,[],[],ub,params)
+print ('\n NOMAD outputs \n X_sol={} \n F_sol={} \n H_sol={} \n NB_evals={} \n NB_iters={} \n'.format(x_return,f_return,h_return,nb_evals,nb_iters))
diff --git a/examples/interfaces/pyNomad_Beta/runTest_BlockEval.py b/examples/interfaces/pyNomad_Beta/runTest_BlockEval.py
new file mode 100644
index 0000000..a9d5bc7
--- /dev/null
+++ b/examples/interfaces/pyNomad_Beta/runTest_BlockEval.py
@@ -0,0 +1,28 @@
+import PyNomad
+import sys
+
+# This example of blackbox function is for multiprocess: several bb are called in parallel
+# Multiprocess blackbox evaluations request to provide the BB_MAX_BLOCK_SIZE in NOMAD params
+# 
+# In this case blackbox function requires 2 arguments
+# The first argument x is similar to a NOMAD::Eval_Point --> access the coordinates with get_coord() function
+# The blackbox output must be put in the second argument bb_out and the bb outputs must be put in the same order as defined in params
+# bb_out is a queue to work in a multiprocess.
+def bb(x,bb_out):
+    try:
+        dim = x.get_n()
+        f = x.get_coord(4)
+        g1 = sum([(x.get_coord(i)-1)**2 for i in xrange(dim)])-25
+        g2 = 25-sum([(x.get_coord(i)+1)**2 for i in xrange(dim)])
+        bb_out.put([f,g1,g2])
+    except:
+        print "Unexpected error:", sys.exc_info()[0]
+	sys.exit(0)        
+
+x0 = [0,0,0.71,0.51,0.51]
+lb = [-6,-6,-6,-6,-6]
+ub = [ 5,6,7,10,10]
+
+params = ['BB_OUTPUT_TYPE OBJ PB EB','MAX_BB_EVAL 100' , 'BB_MAX_BLOCK_SIZE 8','DISPLAY_STATS BBE BLK_EVA OBJ'] 
+[ x_return , f_return , h_return, nb_evals , nb_iters ,  stopflag ] = PyNomad.optimize(bb,x0,lb,ub,params)
+print ('\n NOMAD outputs \n X_sol={} \n F_sol={} \n H_sol={} \n NB_evals={} \n NB_iters={} \n'.format(x_return,f_return,h_return,nb_evals,nb_iters))
diff --git a/examples/interfaces/pyNomad_Beta/setup_PyNomad.py b/examples/interfaces/pyNomad_Beta/setup_PyNomad.py
new file mode 100644
index 0000000..bd429b6
--- /dev/null
+++ b/examples/interfaces/pyNomad_Beta/setup_PyNomad.py
@@ -0,0 +1,38 @@
+from distutils.core import setup, Extension
+from Cython.Build import cythonize
+
+import numpy as np
+import os
+import sys
+
+
+if ( str(os.environ.get('NOMAD_HOME')) == '' or str(os.environ.get('NOMAD_HOME')) == 'None'):
+    print "A NOMAD_HOME environment variable is needed for building Nomad for Python (PyNomad) \n"
+    exit() 
+
+compile_args = ['-w']
+link_args = []
+
+
+# Look for librairies in Nomad distribution
+if sys.platform.startswith('linux'):
+    link_args.append('-Wl,-rpath,'+str(os.environ.get('NOMAD_HOME'))+'/lib')
+
+# Prevent error message when changing the location of libnomad.so (OSX)
+if sys.platform == 'darwin':
+	link_args.append('-headerpad_max_install_names')
+    
+setup(
+	ext_modules = cythonize(Extension(
+           "PyNomad",                                # the extesion name
+           sources=["PyNomad.pyx", "nomadCySimpleInterface.cpp"], # the Cython source and
+	       include_dirs = [str(os.environ.get('NOMAD_HOME'))+'/src',str(os.environ.get('NOMAD_HOME'))+'/ext/sgtelib/src', np.get_include()],
+           extra_compile_args=compile_args,
+           extra_link_args=link_args,
+           language = 'c++',
+           libraries = ['nomad'],
+           library_dirs = [ str(os.environ.get('NOMAD_HOME')) + '/lib'],))
+)
+
+if sys.platform == 'darwin':
+      os.system('install_name_tool -change libnomad.so '+os.environ.get('NOMAD_HOME')+'/lib/libnomad.so PyNomad.so') 
diff --git a/ext/sgtelib/example/X.txt b/ext/sgtelib/example/X.txt
new file mode 100644
index 0000000..0552ec4
--- /dev/null
+++ b/ext/sgtelib/example/X.txt
@@ -0,0 +1,48 @@
+X = [      0    25 ;
+           0    50 ;
+           0    55 ;
+           0    57 ;
+           0    83 ;
+           0    92 ;
+           1    47 ;
+           1    48 ;
+           1    66 ;
+           1    75 ;
+           1    93 ;
+           1    96 ;
+           2     5 ;
+           2     8 ;
+           2    13 ;
+           2    25 ;
+           2    55 ;
+           2    57 ;
+           2    70 ;
+           2    75 ;
+           3    12 ;
+           3    34 ;
+           3    47 ;
+           3    62 ;
+           3    76 ;
+           3    84 ;
+           3    93 ;
+           4     1 ;
+           4    15 ;
+           4    20 ;
+           4    28 ;
+           4    29 ;
+           4    34 ;
+           4    35 ;
+           4    53 ;
+           4    78 ;
+           4    81 ;
+           4    89 ;
+           5    14 ;
+           5    16 ;
+           5    22 ;
+           5    24 ;
+           5    26 ;
+           5    38 ;
+           5    51 ;
+           5    59 ;
+           5    68 ;
+]
diff --git a/ext/sgtelib/example/XX.txt b/ext/sgtelib/example/XX.txt
new file mode 100644
index 0000000..a13c2a8
--- /dev/null
+++ b/ext/sgtelib/example/XX.txt
@@ -0,0 +1,7 @@
+XX = [
+      1 2.2 ;
+      2 1.5 ;
+      2 1.2 ;
+      4 3.4 ;
+];
+      
diff --git a/ext/sgtelib/example/Z.txt b/ext/sgtelib/example/Z.txt
new file mode 100644
index 0000000..713ccaa
--- /dev/null
+++ b/ext/sgtelib/example/Z.txt
@@ -0,0 +1,49 @@
+Z = [      0 ;
+           0 ;
+           0 ;
+           0 ;
+           0 ;
+           0 ;
+        2209 ;
+        3481 ;
+        4356 ;
+        5625 ;
+        8649 ;
+        9216 ;
+         -50 ;
+        -128 ;
+        -338 ;
+       -1250 ;
+       -6050 ;
+       -6498 ;
+       -9800 ;
+      -11250 ;
+         432 ;
+        3468 ;
+        6627 ;
+       11532 ;
+       17328 ;
+       21168 ;
+       25947 ;
+          -4 ;
+        -900 ;
+       -1600 ;
+       -3136 ;
+       -3364 ;
+       -4624 ;
+       -4900 ;
+      -11236 ;
+      -24336 ;
+      -26244 ;
+      -31684 ;
+         980 ;
+        1280 ;
+        2420 ;
+        2880 ;
+        3380 ;
+        7220 ;
+       13005 ;
+       17405 ;
+       23120 ;
+];
+
diff --git a/ext/sgtelib/example/ZZ.txt b/ext/sgtelib/example/ZZ.txt
new file mode 100644
index 0000000..3faee72
--- /dev/null
+++ b/ext/sgtelib/example/ZZ.txt
@@ -0,0 +1,7 @@
+
+ZZ=[
+	       2.5 ;
+	       3.4 ;
+	       3.5 ;
+	       5.5 ;
+];
diff --git a/ext/sgtelib/example/comparison/main_metrics_comparison.m b/ext/sgtelib/example/comparison/main_metrics_comparison.m
new file mode 100644
index 0000000..7a13681
--- /dev/null
+++ b/ext/sgtelib/example/comparison/main_metrics_comparison.m
@@ -0,0 +1,33 @@
+close all
+clear all
+clc
+
+
+output_dir = '.';
+
+
+
+input_file = 'output_hartman3.txt';
+output_file = [output_dir 'metric_comparison_hartman3.pdf'];
+plot_metrics_comparison(input_file,output_file);
+close all;
+
+input_file = 'output_hartman6.txt';
+output_file = [output_dir 'metric_comparison_hartman6.pdf'];
+plot_metrics_comparison(input_file,output_file);
+close all;
+
+input_file = 'output_braninhoo.txt';
+output_file = [output_dir 'metric_comparison_braninhoo.pdf'];
+plot_metrics_comparison(input_file,output_file);
+close all;
+
+input_file = 'output_camelback.txt';
+output_file = [output_dir 'metric_comparison_camelback.pdf'];
+plot_metrics_comparison(input_file,output_file);
+close all;
+
+input_file = 'output_rosenbrock.txt';
+output_file = [output_dir 'metric_comparison_rosenbrock.pdf'];
+plot_metrics_comparison(input_file,output_file);
+close all;
diff --git a/ext/sgtelib/example/comparison/plot_metrics_comparison.m b/ext/sgtelib/example/comparison/plot_metrics_comparison.m
new file mode 100644
index 0000000..300440a
--- /dev/null
+++ b/ext/sgtelib/example/comparison/plot_metrics_comparison.m
@@ -0,0 +1,259 @@
+function plot_metrics_comparison(input_file,output_file)
+% output_dir = '/home/bastien/Bureau/MUSU/MUSU_2015_01_01_WorkingPaper/figs/';
+% input_file = 'output_hartman6.txt';
+% output_dir = '/home/bastien/Bureau/MUSU/PAPER_OrderErrorForEnsembles/figs/';
+% output_file = [output_dir 'metric_comparison_hartman6.pdf'];
+%close all
+
+
+
+texOptions = {'fontname','times','fontsize',14};
+
+
+
+
+
+m_order = [1 2 3 4];
+
+
+model_list = cell(0);
+metric_list = cell(0);
+tab = [];
+
+fid = fopen(input_file);
+line = fgetl(fid);
+while ischar(line)
+
+    if isempty(line)
+        line = fgetl(fid);
+        continue;
+    end
+    line = cleanSpaces(line);
+
+    w = getWords(line);
+    if isempty(w{end})
+        w(end)=[];
+    end
+
+    if strcmp(w{1},'metrics')
+        w(1) = [];
+        vs = zeros(1,length(w));
+        for i = 1:length(w)
+            vs(1,i) = str2num(w{i});
+        end
+        tab = [tab ; vs];
+        % disregard data and delete last model
+        if max(vs)<-1
+            model_list(end) = [];
+            tab(end,:) = [];
+        end
+    elseif strcmp(w{1},'list_metrics')
+        w(1) = [];
+        metric_list = w;
+        disp(metric_list);
+    elseif strcmp(w{1},'output')
+        % nothing
+    elseif strcmp(w{1},'TYPE')
+        disp('=================')
+        line
+       
+        line = cleanSpaces(line);
+        line
+        line = strrep(line,'TYPE','');
+        line = strrep(line,'DEGREE','');
+        line = strrep(line,'KERNEL_COEF -1','OPT');
+        line = strrep(line,'KERNEL_COEF','');
+        line = strrep(line,'KERNEL_','');
+        line = strrep(line,'D1','');
+        line = strrep(line,'WEIGHT','');
+        line = strrep(line,'METRIC','');
+        line = strrep(line,'ENSEMBLE','Ens.');
+        line = strrep(line,'OPTIM','Optim.');
+        line = strrep(line,'SELECT','Select');
+        line = strrep(line,'RIDGE 0.001','Ridge 1e-3');
+        line = strrep(line,'RIDGE 0','');
+        line = cleanSpaces(line);
+        line = strrep(line,'RBFI I','RBFI PolyH. ');
+        line = strrep(line,'PRESET',' ');
+        line = cleanSpaces(line);
+        model_list{end+1} = line;
+    else
+        disp(line)
+        error('line not recognized');
+    end
+
+    line = fgetl(fid);
+end
+
+fclose(fid);
+
+
+
+% Count
+NM = length(metric_list);
+NS = length(model_list);
+
+% Reorder
+metric_list = metric_list(m_order);
+tab = tab(:,m_order);
+
+% Build fancy names
+metric_fancy_names = metric_list;
+metric_fancy_names = strrep(metric_fancy_names,'LOO','RMSE');
+metric_fancy_names = strrep(metric_fancy_names,'RMSECV','PRESS');
+metric_fancy_names = strrep(metric_fancy_names,'OETP','OE');
+
+
+xmin = zeros(1,NM);
+xmax = zeros(1,NM);
+for nm=1:NM
+    e = tab(:,nm);
+    xmin(nm) = min(e(e>0));
+    if any(e==0)
+        xmin(nm) = xmin(nm)/10;
+    end
+    xmax(nm) = max(e);
+end
+
+xmin = 10.^floor(log10(xmin));
+xmax = 10.^ceil (log10(xmax));
+
+% 
+% 
+% xmin(:) = 0.0;
+% xmax(:) = 1;
+
+
+
+
+
+MODEL_TYPES = {'PRS','KS','RBFI','LOWESS','Ens.'};
+
+%MODEL_TYPES = {'PRS','KS','RBFI','RBFI PolyH'};
+
+
+%figure('color','w','position',[959    19   932   945]);
+%figure('color','w','position',[949   483   932   481]);
+%figure('color','w','position',[793    14   648   770]);
+%figure('color','w','position',[509   574 932   210]);
+figure('color','w','position',[586   408   847   374]);
+set(gcf,'units','normalized');
+
+coladd = 2.5
+height = 0.85;
+width = 0.7;
+for nm=1:NM
+    
+    % ORder
+    t = tab(:,nm)
+    [t,t] = sort(t);
+    t(t) = (1:length(t))
+    
+    pos = [ (nm+coladd-1)/(NM+coladd) (1-height)/2 width/(NM+coladd) height];
+    subplot('position',pos); hold on;
+    for ns=1:NS
+        w = getWords(model_list{ns});
+        c = -1;
+        for i=1:length(MODEL_TYPES)
+            if ~isempty(strfind(model_list{ns},MODEL_TYPES{i}))
+                c = i;
+            end
+        end
+        if c==-1
+            w{1}
+            MODEL_TYPES
+            error('not recognised...');
+        end
+        c = get_color(c+1,length(MODEL_TYPES)+1);
+        c = 1-0.7*(1-c);
+        fill([xmin(nm)*[1 1] tab(ns,nm)*[1 1]],ns+[-0.4 +0.4 +0.4 -0.4],c);
+        text(0.75,ns,num2str(t(ns)));
+        %text(0.75,ns, num2str(t(ns)));
+    end
+
+
+    set(gca,'units','normalized');
+    title(metric_fancy_names{nm},texOptions{:});
+    if nm==1
+        disp('Modify ytick');
+        set(gca,'ytick',(1:NS),'yticklabel',model_list,texOptions{:});
+    else
+        set(gca,'ytick',[],'yticklabel',[],texOptions{:});
+    end
+    %set(gca,'xscale','log');
+    %xlim([xmin(nm) xmax(nm)]);
+    %set(gca,'xtick',[xmin(nm) xmax(nm)]);
+    set(gca,'ydir','reverse','xgrid','on','xminorgrid','off','box','on');
+    ylim([0.5 NS+0.5]);
+    
+    
+    
+
+end
+
+export_fig([output_file],'-pdf');
+
+
+
+
+
+
+
+
+
+
+
+
+
+output_file = strrep(output_file,'.pdf','_correlation.tex');
+fid = fopen(output_file,'w');
+newline = char(10);
+
+s = '\begin{tabular}{| c ||';
+for i=1:NM
+    s = [s ' c |'];
+end
+fwrite(fid,[s '}' newline]);
+fwrite(fid,['\hline' newline]);
+s = '';
+for i=1:NM
+    s = [s ' & ' metric_fancy_names{i} ];
+end
+fwrite(fid,[s ' \\' newline]);
+fwrite(fid,['\hline\hline' newline]);
+for i=1:NM
+    mi = tab(:,i);
+    fwrite(fid,[metric_fancy_names{i}  newline]);
+    for j=1:NM
+        if j>=i
+            mj = tab(:,j);        
+            c = corr([mi mj]);
+            c = c(2,1);
+            c = 0.01*round(c*100);
+            s = num2str(c);
+            if abs(c)~=1 && c~=0 && 10*c==round(10*c)
+                s = [s '0'];
+                if isempty(find(s=='.'))
+                    error('PROBLEM...');
+                end
+            end
+        else
+            s = ' ';
+        end
+        if j==NM
+            s = [s ' \\'];
+        end
+        fwrite(fid,[ ' & ' s newline]);
+    end
+    fwrite(fid,['\hline' newline]);
+end
+fwrite(fid,'\end{tabular}');
+fclose(fid);
+%edit(output_file);
+
+
+
+
+
+
+
diff --git a/ext/sgtelib/example/comparison/sgtelib_example_compare_models_1D.m b/ext/sgtelib/example/comparison/sgtelib_example_compare_models_1D.m
new file mode 100644
index 0000000..592c245
--- /dev/null
+++ b/ext/sgtelib/example/comparison/sgtelib_example_compare_models_1D.m
@@ -0,0 +1,101 @@
+close all
+%clear all
+clc
+disp('=========== EXPLORER =============');
+
+addpath('../Matlab_Server');
+
+! make -j 4
+
+model=cell(0,1);
+
+ model{end+1} = 'TYPE LOWESS SHAPE_COEF -1 PRESET DEN '
+ model{end+1} = 'TYPE LOWESS SHAPE_COEF -1 PRESET DGN '
+
+ 
+ texOptions = {'fontname','times','fontsize',14};
+
+
+
+disp('===========   START  =============');
+
+
+% GOOD!!
+
+
+
+X = randn(50,1);
+Z = sin(2*pi*X)+0.1*randn(size(X));
+
+Z = cos(pi*X).*sign(X);
+
+%figure('color','w','position',[1466         527         455         437]); hold on;
+figure('color','w','position',[198    95   933   639]); hold on;
+pointer(1) = plot(X,Z,'ok','linewidth',2);
+
+
+NN = 1000;
+zoom = 1.0;
+XX = sort([linspace(zoom*min(X),zoom*max(X),NN)' ; X ]);
+%XX = 0.5;
+
+metric = inf*ones(length(model),2);
+
+for i=1:length(model)
+    disp('Model : ');
+    model{i}
+    disp('Init');
+    sgtelib_server_start(model{i},true)
+    sgtelib_server_ping;
+    disp('Data');
+    sgtelib_server_newdata(X,Z);
+    disp('Predict');
+    [ZZ,std,ei,cdf] = sgtelib_server_predict(XX);
+    metric(i,1) = sgtelib_server_metric('RMSECV');
+    metric(i,2) = sgtelib_server_metric('OECV');
+    marker = '';%get_marker(i,length(model));
+    pointer(i+1) = plot(XX,ZZ,['-' marker],'color',get_color(i+1,length(model)+1));
+    sgtelib_server_stop;   
+end
+
+
+
+
+legend_txt = {'Training points'};
+for i=1:length(model)
+    name = model{i};
+    name = strrep(name,'TYPE ENSEMBLE WEIGHT SELECT METRIC','Select');
+    name = strrep(name,'RMSECV','PRESS');
+    name = strrep(name,'KERNEL_COEF ',' $\lambda$=');
+    name = strrep(name,'TYPE',' ');
+    name = strrep(name,'DEGREE','Degree');
+    name = strrep(name,'RIDGE 0.001','Ridge 1e-3');
+    name = strrep(name,'RIDGE 0.0',' ');
+    name = strrep(name,'SHAPE_COEF',' ');
+    name = strrep(name,'PRESET',' ');
+    name = strrep(name,'Degree 2',' ');
+    name = cleanSpaces(name);
+    legend_txt{i+1} = name;
+end
+legend(pointer,legend_txt,'location','best','interpreter','latex');
+%shift_legend_size([-0.15 0 +0.1 0]);
+%axis([0 +1 -1.5 +1.5])
+
+xlabel('x',texOptions{:});
+ylabel('y',texOptions{:});
+
+set(gca,texOptions{:});
+
+ output_dir = './';
+ output_file = [output_dir 'plot_function_2.pdf'];
+export_fig([output_file],'-pdf');
+
+for i=1:length(model)
+    disp(legend_txt{i+1});
+    s = '     ';
+    s = [s num2str(metric(i,1),8)];
+    s(20) = ' ';
+    s = [s num2str(metric(i,2),8)];
+    disp(s);
+    
+end
\ No newline at end of file
diff --git a/ext/sgtelib/example/sgtelib_example_SurrogateBasedOptim.m b/ext/sgtelib/example/sgtelib_example_SurrogateBasedOptim.m
new file mode 100644
index 0000000..2a55c52
--- /dev/null
+++ b/ext/sgtelib/example/sgtelib_example_SurrogateBasedOptim.m
@@ -0,0 +1,114 @@
+close all
+clear all
+clc
+disp('=========== EXPLORER =============');
+
+addpath('../Matlab_Server');
+
+WRITE = false;
+
+! make -j 4
+model = 'TYPE KRIGING'
+
+sgtelib_server_start(model)
+
+
+
+disp('===========   START  =============');
+sgtelib_server_ping;
+
+
+f = @(x) sin(5*x) + 1.5*x + x.^2;
+xmin = -2;
+xmax = +1.5;
+zmin = -3;
+zmax = +5;
+
+X = [ -2 ; -1 ; 0.5 ; 1.5 ];
+Z = f(X);
+
+XX = linspace(xmin,xmax,1000)';
+
+ZZtrue = f(XX);
+
+
+
+figure('color','w'); hold on;
+pointer = [];
+leg_txt = cell(0);
+k = 0;
+
+pointer(1) = plot(XX,ZZtrue,'--b');
+leg_txt{1} = 'True function f(x) (unknown)';
+legend(pointer,leg_txt,'location','northwest'); legend('boxoff');
+axis([xmin xmax zmin zmax]);
+xlabel('x')
+drawnow
+if WRITE
+    export_fig(['SurrogateBasedOptim_A' sprintf('%02d',k) '.pdf'],'-pdf'); k=k+1;
+end
+
+pointer(2) = plot(X,Z,'ok');
+leg_txt{2} = 'Observations';
+legend(pointer,leg_txt,'location','northwest'); legend('boxoff');
+axis([xmin xmax zmin zmax]);
+drawnow
+if WRITE
+    export_fig(['SurrogateBasedOptim_A' sprintf('%02d',k) '.pdf'],'-pdf'); k=k+1;
+end
+set(legend,'box','off')
+
+
+sgtelib_server_newdata(X,Z);
+
+for ii=1:8
+
+    [ZZ,std,ei,cdf] = sgtelib_server_predict(XX);
+    pointer(3) = plot(XX,ZZ,'r');
+    if ii==1
+        leg_txt{3} = 'Surrogate model';
+    else
+        leg_txt{3} = 'Updated surrogate model';
+    end
+    legend(pointer,leg_txt,'location','northwest'); legend('boxoff');
+    axis([xmin xmax zmin zmax]);
+    drawnow
+    if WRITE
+        export_fig(['SurrogateBasedOptim_A' sprintf('%02d',k) '.pdf'],'-pdf'); k=k+1;
+    end
+
+    [ZZmin,imin] = min(ZZ);
+    XXmin = XX(imin);
+
+
+
+
+    pointer(4) = plot(XXmin,ZZmin,'or');
+    leg_txt{4} = ['Candidate: x=' num2str(XXmin,3) ];
+    legend(pointer,leg_txt,'location','northwest'); legend('boxoff');
+    axis([xmin xmax zmin zmax]);
+    drawnow
+    if WRITE
+        export_fig(['SurrogateBasedOptim_A' sprintf('%02d',k) '.pdf'],'-pdf'); k=k+1;
+    end
+
+    Xnew = XXmin;
+    Znew = f(Xnew);
+    pointer(5) = plot(Xnew,Znew,'ob');
+    leg_txt{5} = ['True value of candidate: f(' num2str(XXmin,3) ') = ' num2str(Znew,3)];
+    legend(pointer,leg_txt,'location','northwest'); legend('boxoff');
+    axis([xmin xmax zmin zmax]);
+    drawnow
+    if WRITE
+        export_fig(['SurrogateBasedOptim_A' sprintf('%02d',k) '.pdf'],'-pdf'); k=k+1;
+    end
+
+    delete(pointer(3:5));
+    pointer(3:5) = [];
+    leg_txt(3:5) = [];
+    plot(Xnew,Znew,'ko');
+    sgtelib_server_newdata(Xnew,Znew);
+
+end
+
+sgtelib_server_stop;
diff --git a/ext/sgtelib/example/sgtelib_example_SurrogateBasedOptim_EI.m b/ext/sgtelib/example/sgtelib_example_SurrogateBasedOptim_EI.m
new file mode 100644
index 0000000..72b4e58
--- /dev/null
+++ b/ext/sgtelib/example/sgtelib_example_SurrogateBasedOptim_EI.m
@@ -0,0 +1,140 @@
+close all
+clear all
+clc
+disp('=========== EXPLORER =============');
+
+addpath('../Matlab_Server');
+
+WRITE = false;
+
+! make -j 4
+model = 'TYPE KRIGING'
+
+
+sgtelib_server_start(model);
+
+
+disp('===========   START  =============');
+sgtelib_server_ping;
+
+
+f = @(x) sin(8*x) + 1.5*x + x.^2 ;
+xmin = -2;
+xmax = +1.5;
+zmin = -3;
+zmax = +5;
+
+X = [ -2 ;  -1.4 ; -0.6 ; 0.8; 1.5 ];
+Z = f(X);
+Zmin = min(Z);
+
+XX = linspace(xmin,xmax,1000)';
+
+ZZtrue = f(XX);
+
+
+
+figure('color','w'); hold on;
+pointer = [];
+leg_txt = cell(0);
+k = 0;
+
+pointer(1) = plot(XX,ZZtrue,'--b');
+leg_txt{1} = 'True function f(x) (unknown)';
+legend(pointer,leg_txt,'location','northwest'); legend('boxoff');
+axis([xmin xmax zmin zmax]);
+xlabel('x')
+drawnow
+if WRITE
+    export_fig(['SurrogateBasedOptim_B' sprintf('%02d',k) '.pdf'],'-pdf'); k=k+1;
+end
+
+
+pointer(2) = plot(X,Z,'ok');
+leg_txt{2} = 'Observations';
+legend(pointer,leg_txt,'location','northwest'); legend('boxoff');
+axis([xmin xmax zmin zmax]);
+drawnow
+if WRITE
+    export_fig(['SurrogateBasedOptim_B' sprintf('%02d',k) '.pdf'],'-pdf'); k=k+1;
+end
+set(legend,'box','off')
+
+
+sgtelib_server_newdata(X,Z);
+
+
+for ii=1:50
+
+[ZZ,std,ei,cdf] = sgtelib_server_predict(XX);
+pointer(3) = plot(XX,ZZ,'r');
+if ii==1
+    leg_txt{3} = 'Surrogate model';
+else
+    leg_txt{3} = 'Updated surrogate model';
+end
+
+std = std/max(std);
+pointer_sup(1) = plot(XX,ZZ+std,'--r');
+pointer_sup(2) = plot(XX,ZZ-std,'--r');
+drawnow
+
+u = (Zmin-ZZ)./std;
+ei = std.*( u.*normcdf(u)+normpdf(u) );
+if max(ei)>0
+    ei = ei/max(ei);
+end
+
+
+pointer(4) = plot(XX,ei,'k');
+leg_txt{4} = 'Expected Improvement';
+
+legend(pointer,leg_txt,'location','northwest'); legend('boxoff');
+axis([xmin xmax zmin zmax]);
+drawnow
+if WRITE
+    export_fig(['SurrogateBasedOptim_B' sprintf('%02d',k) '.pdf'],'-pdf'); k=k+1;
+end
+
+pause(0.3)
+
+if min(ei)==max(ei)
+    break;
+end
+[eimin,imin] = max(ei);
+XXmin = XX(imin);
+drawnow
+
+pointer(5) = plot(XXmin,eimin,'ok');
+leg_txt{5} = ['Candidate: x=' num2str(XXmin,3) ];
+legend(pointer,leg_txt,'location','northwest'); legend('boxoff');
+axis([xmin xmax zmin zmax]);
+drawnow
+if WRITE
+    export_fig(['SurrogateBasedOptim_B' sprintf('%02d',k) '.pdf'],'-pdf'); k=k+1;
+end
+
+
+Xnew = XXmin;
+Znew = f(Xnew);
+Zmin = min(Zmin,Znew);
+pointer(6) = plot(Xnew,Znew,'ob');
+leg_txt{6} = ['True value of candidate: f(' num2str(XXmin,3) ') = ' num2str(Znew,3)];
+legend(pointer,leg_txt,'location','northwest'); legend('boxoff');
+axis([xmin xmax zmin zmax]);
+drawnow
+if WRITE
+    export_fig(['SurrogateBasedOptim_B' sprintf('%02d',k) '.pdf'],'-pdf'); k=k+1;
+end
+
+delete(pointer(3:6));
+delete(pointer_sup);
+pointer(3:6) = [];
+leg_txt(3:6) = [];
+plot(Xnew,Znew,'ko');
+sgtelib_server_newdata(Xnew,Znew);
+drawnow
+pause(0.3);
+end
+
+sgtelib_server_stop;
diff --git a/ext/sgtelib/example/sgtelib_example_plot1D.m b/ext/sgtelib/example/sgtelib_example_plot1D.m
new file mode 100644
index 0000000..fd752ab
--- /dev/null
+++ b/ext/sgtelib/example/sgtelib_example_plot1D.m
@@ -0,0 +1,65 @@
+close all
+clear all
+clc
+
+model = 'TYPE ENSEMBLE   WEIGHT OPTIM   METRIC OECV';
+sgtelib_server_start(model,true)
+sgtelib_server_ping;
+
+
+P = 100;
+X = sort(randn(P,1));
+
+
+Z(:,1) = X.^2-X-3;
+Z(:,2) = sign(X).*cos(X) + 0.1*randn(size(X));
+Z(:,3) = mod(round(X),2)-0.5;
+M = size(Z,2);
+sgtelib_server_newdata(X,Z);
+
+
+
+PP = 1000;
+XX = sort([linspace(min(X)-1,max(X)+1,PP)' ; X]);
+
+
+
+figure;
+hold on;
+for i=1:M
+    plot(X,Z(:,i),'o','color',get_color(i,M));
+end
+
+
+
+[ZZ,std,ei,cdf] = sgtelib_server_predict(XX);
+disp('metrics...')
+sgtelib_server_metric('RMSE')
+sgtelib_server_metric('RMSECV')
+sgtelib_server_metric('OECV')
+
+for i=1:M
+    plot(XX,ZZ(:,i),'-','color',get_color(i,M),'linewidth',2);
+    plot(XX,ZZ(:,i)+std(:,i),'--','color',get_color(i,M));
+    plot(XX,ZZ(:,i)-std(:,i),'--','color',get_color(i,M));
+end
+
+% plot(xlim,[0 0],'--k');
+% disp('Get CV values');
+% [Zh,Sh,Zv,Sv] = sgtelib_server_cv;
+% for i=1:M
+%     plot(X,Zv(:,i),'o','color',get_color(i,M));
+%     for j=1:P
+%         plot(X(j)*[1 1],Zv(j,i)+Sv(j,i)*[-1 +1],'-','color',get_color(i,M));
+%     end
+% end
+
+
+% disp('Plot EFI');
+% figure;
+% efi = ei(:,1).*prod(cdf(:,2:end),2);
+% efi = max(1e-16,efi);
+% plot(XX,efi,'g');
+% set(gca,'yscale','log')
+
+
diff --git a/ext/sgtelib/example/sgtelib_example_plot2D_cat.m b/ext/sgtelib/example/sgtelib_example_plot2D_cat.m
new file mode 100644
index 0000000..708f982
--- /dev/null
+++ b/ext/sgtelib/example/sgtelib_example_plot2D_cat.m
@@ -0,0 +1,55 @@
+close all
+%clear all
+clc
+disp('=========== EXPLORER =============');
+
+
+model = 'TYPE ENSEMBLE WEIGHT SELECT METRIC OECV DISTANCE OPTIM'
+
+model = 'TYPE KS DISTANCE OPTIM'
+model = 'TYPE ENSEMBLE WEIGHT SELECT METRIC OECV DISTANCE OPTIM'
+
+%model = 'TYPE PRS_CAT DEGREE 3'
+%model = 'TYPE RBF DISTANCE OPTIM'
+
+model = 'TYPE LOWESS DISTANCE OPTIM'
+
+
+f = @(x)     x(:,2).^2   .* x(:,1) .* ( 2*mod(x(:,1),2)-1 )
+
+% f = @(x) 40*(x(:,1)==0)+...
+%          35*(x(:,2)==0)+...
+%          35*cos(x(:,1)/4)+...
+%          30*sin(x(:,2)/9);
+
+% Data points
+x1max = 5;
+x2max = 100;
+
+p = 50;
+X = [round(rand(p,1)*x1max)   round(rand(p,1)*x2max) ];
+X = unique(X,'rows');
+Z = f(X);
+
+
+sgtelib_server_start(model,true)
+sgtelib_server_ping;
+sgtelib_server_newdata(X,Z);
+
+% Prediction
+[x1,x2] = meshgrid( (0:x1max) , (0:x2max) );
+XX = [x1(:) x2(:)];
+[ZZ,std,ei,cdf] = sgtelib_server_predict(XX);
+ZZ = reshape(ZZ,x2max+1,x1max+1);
+
+
+figure('color','w'); hold on;
+surf(x1,x2,ZZ,'facealpha',0.5);
+plot3(X(:,1),X(:,2),Z,'ko','linewidth',3,'markersize',5);
+dv = max(Z)-min(Z);
+zlim([min(Z)-dv/3,max(Z)+dv/3]);
+set(gca,'view',[116 50]);
+xlabel('x1');
+ylabel('x2');
+
+sgtelib_server_stop;
diff --git a/ext/sgtelib/example/sgtelib_example_plot2D_compare.m b/ext/sgtelib/example/sgtelib_example_plot2D_compare.m
new file mode 100644
index 0000000..5ff9530
--- /dev/null
+++ b/ext/sgtelib/example/sgtelib_example_plot2D_compare.m
@@ -0,0 +1,100 @@
+close all
+clear all
+clc
+disp('=========== EXPLORER =============');
+
+! make -j 4
+model = 'TYPE LOWESS DISTANCE OPTIM KERNEL_SHAPE OPTIM KERNEL_TYPE OPTIM RIDGE OPTIM METRIC OECV'
+
+model = 'TYPE KRIGING DISTANCE NORM2_IS0 METRIC OECV'
+
+% creation of model
+sgtelib_server_start(model,true)
+sgtelib_server_ping;
+
+
+
+% Test function
+%f = @(x) cos(sqrt(0.5*x(:,1))).*cos(0.1*x(:,2));
+
+f = @(x) 40*(x(:,1)==0)+...
+         35*(x(:,2)==0)+...
+         35*cos(x(:,1)/4)+...
+         30*sin(x(:,2)/9);
+  
+
+% Dimension
+N = 2;
+% Number of sampling points along each dimension
+PP1 = 25;
+PP2 = 20;
+% Bounds along each dimension
+x1min = 0;
+x1max = +30;
+x2min = 0;
+x2max = +30;
+
+% Create data
+scale_x1 = linspace(x1min,x1max,PP1)
+scale_x2 = linspace(x2min,x2max,PP2)
+[x1,x2] = meshgrid( scale_x1 , scale_x2 );
+XX = [x1(:) x2(:)];
+PP = (PP1)*(PP2);
+ZZ = f(XX);
+
+
+% Selection of some training points
+P = 30;
+i = randperm(PP);
+i = i(1:P);
+X = XX(i,:);
+Z = ZZ(i,:);
+
+
+% Sending data
+sgtelib_server_newdata(X,Z);
+
+% Prediction
+[ZZ,std,ei,cdf] = sgtelib_server_predict(XX);
+
+
+
+figure
+subplot(2,2,1);hold on;
+plot3(X(:,1),X(:,2),Z,'k.');
+surf(x1,x2,reshape(f(XX),PP2,PP1));
+set(gca,'view',[-37.5000   30.0000]);
+set(gca,'ydir','normal')
+xlabel('Real Z');
+xlim([min(scale_x1) max(scale_x1)]);
+ylim([min(scale_x2) max(scale_x2)]);
+%zlim([-2 +2]);
+
+
+subplot(2,2,2);hold on;
+plot3(X(:,1),X(:,2),Z,'k.');
+surf(x1,x2,reshape(ZZ,PP2,PP1));
+set(gca,'view',[-37.5000   30.0000]);
+xlabel('Zh');
+xlim([min(scale_x1) max(scale_x1)]);
+ylim([min(scale_x2) max(scale_x2)]);
+%zlim([-2 +2]);
+
+subplot(2,2,3);hold on;
+imagesc(scale_x1,scale_x2,reshape(f(XX),PP2,PP1));
+set(gca,'ydir','normal');
+plot(X(:,1),X(:,2),'k.');
+axis([min(scale_x1) max(scale_x1) min(scale_x2) max(scale_x2)])
+
+subplot(2,2,4);hold on;
+imagesc(scale_x1,scale_x2,reshape(ZZ,PP2,PP1));
+set(gca,'ydir','normal');
+plot(X(:,1),X(:,2),'k.');
+axis([min(scale_x1) max(scale_x1) min(scale_x2) max(scale_x2)])
+
+
+
+disp('metric:')
+sgtelib_server_metric('AOECV')
+
+sgtelib_server_stop;
diff --git a/ext/sgtelib/example/sgtelib_example_plot2D_edge.m b/ext/sgtelib/example/sgtelib_example_plot2D_edge.m
new file mode 100644
index 0000000..4171c09
--- /dev/null
+++ b/ext/sgtelib/example/sgtelib_example_plot2D_edge.m
@@ -0,0 +1,63 @@
+close all
+clear all
+clc
+disp('=========== EXPLORER =============');
+
+! make -j 4
+
+%model = 'TYPE PRS'
+
+model = 'TYPE ENSEMBLE DISTANCE OPTIM WEIGHT SELECT '
+
+model = 'TYPE KRIGING DISTANCE OPTIM METRIC OECV'
+
+
+%model = 'TYPE ENSEMBLE WEIGHT SELECT METRIC OECV DISTANCE OPTIM PRESET SUPER1'
+%model = 'TYPE LOWESS KERNEL_TYPE OPTIM DISTANCE OPTIM'
+%model = 'TYPE KS DISTANCE IS0'
+%model = 'TYPE ENSEMBLE WEIGHT SELECT METRIC OECV DISTANCE IS0 PRESET SUPER1'
+
+
+f = @(x) 40*(x(:,1)==0)+...
+         35*(x(:,2)==0)+...
+         35*cos(x(:,1)/4)+...
+         30*sin(x(:,2)/9);
+  
+
+% Data points
+x1max = 30;
+x2max = 35;
+
+
+p1 = 5;
+p2 = 12;
+p = 10;
+X = [
+     zeros(p1,1)              round(rand(p1,1)*x2max) ;...
+     round(rand(p2,1 )*x1max) zeros(p2,1) ;...
+     round(rand(p,1)*x1max)   round(rand(p,1)*x2max) ];
+X = unique(X,'rows');
+Z = f(X);
+
+
+sgtelib_server_start(model,true)
+sgtelib_server_ping;
+sgtelib_server_newdata(X,Z);
+
+% Prediction
+[x1,x2] = meshgrid( (0:x1max) , (0:x2max) );
+XX = [x1(:) x2(:)];
+[ZZ,std,ei,cdf] = sgtelib_server_predict(XX);
+ZZ = reshape(ZZ,x2max+1,x1max+1);
+
+
+figure('color','w'); hold on;
+surf(x1,x2,ZZ,'facealpha',0.5);
+plot3(X(:,1),X(:,2),Z,'ko','linewidth',3,'markersize',5);
+dv = max(Z)-min(Z);
+zlim([min(Z)-dv/3,max(Z)+dv/3]);
+set(gca,'view',[116 50]);
+xlabel('x1');
+ylabel('x2');
+
+sgtelib_server_stop;
diff --git a/ext/sgtelib/example/sgtelib_example_plot2D_single.m b/ext/sgtelib/example/sgtelib_example_plot2D_single.m
new file mode 100644
index 0000000..92ffd5c
--- /dev/null
+++ b/ext/sgtelib/example/sgtelib_example_plot2D_single.m
@@ -0,0 +1,42 @@
+close all
+clear all
+clc
+disp('=========== EXPLORER =============');
+
+! make -j 4
+
+model = 'TYPE ENSEMBLE PRESET SUPER1 WEIGHT SELECT METRIC RMSE '
+
+f = @(x) cos(sqrt(4*x(:,1))).*cos(3*x(:,2))+(x(:,1)>0.5)+(x(:,2)>0.5);
+
+
+
+% Number of data points
+P = 50;
+% Data points
+X = rand(P,2);
+Z = f(X);
+
+% Create model
+PP = 50;
+[x1,x2] = meshgrid( linspace(0,1,PP) , linspace(0,1,PP) );
+XX = [x1(:) x2(:)];
+
+
+sgtelib_server_start(model,true)
+sgtelib_server_ping;
+sgtelib_server_newdata(X,Z);
+[ZZ,std,ei,cdf] = sgtelib_server_predict(XX);
+
+
+
+figure('color','w'); hold on;
+surf(x1,x2,reshape(ZZ,PP,PP));
+plot3(X(:,1),X(:,2),Z,'ko','linewidth',3,'markersize',5);
+
+
+set(gca,'view',[-36 66]);
+
+
+
+sgtelib_server_stop;
diff --git a/ext/sgtelib/example/sgtelib_example_plotND.m b/ext/sgtelib/example/sgtelib_example_plotND.m
new file mode 100644
index 0000000..8b8b29d
--- /dev/null
+++ b/ext/sgtelib/example/sgtelib_example_plotND.m
@@ -0,0 +1,47 @@
+close all
+clear all
+clc
+disp('=========== EXPLORER =============');
+
+%rand('twister',3)
+
+! make -j 4
+model = 'TYPE PRS DEGREE 2 RIDGE 0.01'
+%model = 'TYPE RBF DISTANCE_TYPE NORM2_IS0 KERNEL_COEF 2 KERNEL_TYPE D2'
+%model = 'TYPE KS DISTANCE_TYPE NORM2_IS0 KERNEL_COEF 10 KERNEL_TYPE D2'
+%model = 'TYPE ENSEMBLE WEIGHT SELECT METRIC RMSECV'
+model = 'TYPE ENSEMBLE WEIGHT SELECT METRIC OECV'
+% model = 'TYPE KS'
+% model = 'TYPE LOWESS'
+
+
+%f = @(x) sum(x.^2,2);
+
+N = 10;
+P = 100;
+
+
+M = 1;
+X = randn(P,N);
+Z = randn(P,M);
+
+toBeDelData;
+M = size(Z,2);
+
+PP = 100;
+
+dx = 0.1;
+XX = zeros(PP,N);
+for i=2:PP
+    r = randn(1,N);
+    r = dx*r/norm(r);
+    XX(i,:) = XX(i-1,:)+r;
+end
+
+
+sgtelib_server_start(model,true)
+sgtelib_server_ping;
+
+sgtelib_server_newdata(X,Z);
+[ZZmodel,std,ei,cdf] = sgtelib_server_predict(XX);
+m = sgtelib_server_metric('RMSECV')
diff --git a/ext/sgtelib/matlab_server/sgtelib_server_cv.m b/ext/sgtelib/matlab_server/sgtelib_server_cv.m
new file mode 100644
index 0000000..e80778b
--- /dev/null
+++ b/ext/sgtelib/matlab_server/sgtelib_server_cv.m
@@ -0,0 +1,19 @@
+function [Zh,Sh,Zv,Sv] = sgtelib_server_cv
+
+% sgtelib_server_ping;
+
+% Remove flags
+system('rm -f flag_cv_* 2>/dev/null');
+
+% Create flag
+system('touch flag_cv_transmit');
+
+% Wait for reception flag
+sgtelib_server_wait_file('flag_cv_finished');
+
+% Read Output file
+[Zh,Sh,Zv,Sv] = sgtelib_server_read_matrix('flag_cv_finished');
+
+% Remove all flags
+system('rm -f flag_cv_* 2>/dev/null');
+
diff --git a/ext/sgtelib/matlab_server/sgtelib_server_example.m b/ext/sgtelib/matlab_server/sgtelib_server_example.m
new file mode 100644
index 0000000..b4633d1
--- /dev/null
+++ b/ext/sgtelib/matlab_server/sgtelib_server_example.m
@@ -0,0 +1,35 @@
+close all
+clear all
+
+% Start server
+model = 'TYPE PRS DEGREE 2';
+model = 'TYPE ENSEMBLE METRIC LINV WEIGHTS OPTIM'
+sgtelib_server_start('TYPE PRS DEGREE 2',true)
+
+% Test if server is ok and ready
+sgtelib_server_ping;
+
+% Build data points
+N = 2;
+M = 1;
+P = 100;
+X = rand(P,N);
+Z = rand(P,M);
+
+% Feed server
+sgtelib_server_newdata(X,Z);
+
+% Prediction points
+PXX = 1000;
+XX = rand(PXX,N);
+
+%Prediction
+[ZZ,std,ei,cdf] = sgtelib_server_predict(XX);
+
+% Plot
+figure; hold on;
+plot3(X(:,1),X(:,2),Z,'*k');
+plot3(XX(:,1),XX(:,2),ZZ,'or')
+
+% Stop server
+sgtelib_server_stop;
\ No newline at end of file
diff --git a/ext/sgtelib/matlab_server/sgtelib_server_info.m b/ext/sgtelib/matlab_server/sgtelib_server_info.m
new file mode 100644
index 0000000..322265e
--- /dev/null
+++ b/ext/sgtelib/matlab_server/sgtelib_server_info.m
@@ -0,0 +1,12 @@
+function M = sgtelib_server_info
+
+% sgtelib_server_ping;
+
+% Remove flags
+system('rm -f flag_info_* 2>/dev/null');
+
+% Write infoion point
+system('touch flag_info_transmit');
+
+% Wait for reception flag
+sgtelib_server_wait_file('flag_info_finished');
diff --git a/ext/sgtelib/matlab_server/sgtelib_server_metric.m b/ext/sgtelib/matlab_server/sgtelib_server_metric.m
new file mode 100644
index 0000000..a418a28
--- /dev/null
+++ b/ext/sgtelib/matlab_server/sgtelib_server_metric.m
@@ -0,0 +1,21 @@
+function M = sgtelib_server_metric(metric_str)
+
+% sgtelib_server_ping;
+
+% Remove flags
+system('rm -f flag_metric_* 2>/dev/null');
+
+% Write metricion point
+system(['echo ' metric_str ' >> flag_metric_create']);
+
+% Create flag
+system('mv flag_metric_create flag_metric_transmit');
+
+% Wait for reception flag
+sgtelib_server_wait_file('flag_metric_finished');
+
+% Read Output file
+M = importdata('flag_metric_finished');
+
+% Remove all flags
+system('rm -f flag_metric_* 2>/dev/null');
diff --git a/ext/sgtelib/matlab_server/sgtelib_server_newdata.m b/ext/sgtelib/matlab_server/sgtelib_server_newdata.m
new file mode 100644
index 0000000..c8d9b25
--- /dev/null
+++ b/ext/sgtelib/matlab_server/sgtelib_server_newdata.m
@@ -0,0 +1,20 @@
+function sgtelib_server_newdata(X,Z)
+
+% sgtelib_server_ping;
+
+% Remove all flags
+system('rm -f flag_new_data_* 2>/dev/null');
+
+% Write matrices
+sgtelib_server_write_matrix(X,'X','new_data_x.txt');
+
+sgtelib_server_write_matrix(Z,'Z','new_data_z.txt');
+
+% Create flag
+system('touch flag_new_data_transmit');
+
+% Wait for reception flag
+sgtelib_server_wait_file('flag_new_data_received');
+
+% Remove all flags
+system('rm -f flag_new_data_* 2>/dev/null');
diff --git a/ext/sgtelib/matlab_server/sgtelib_server_ping.m b/ext/sgtelib/matlab_server/sgtelib_server_ping.m
new file mode 100644
index 0000000..dd7d433
--- /dev/null
+++ b/ext/sgtelib/matlab_server/sgtelib_server_ping.m
@@ -0,0 +1,24 @@
+function ready = sgtelib_server_ping
+
+system('touch flag_ping');
+
+% Wait for reception flag
+
+i = sgtelib_server_wait_file('flag_pong',0.1);
+if i==0
+    disp('Retry ping...');
+    system('touch flag_ping');
+    i = sgtelib_server_wait_file('flag_pong',0.5);
+end
+
+if i
+    ready = importdata('flag_pong');
+    system('rm -f flag_pong');
+    %disp('ping ok!');
+else
+    disp('=====================SGTELIB_SERVER ERROR==========================');
+    disp('sgtelib_server not responding');
+    error('We tried to "ping" sgtelib (server), but it is off or not responding');
+end
+
+
diff --git a/ext/sgtelib/matlab_server/sgtelib_server_predict.m b/ext/sgtelib/matlab_server/sgtelib_server_predict.m
new file mode 100644
index 0000000..ab3999f
--- /dev/null
+++ b/ext/sgtelib/matlab_server/sgtelib_server_predict.m
@@ -0,0 +1,22 @@
+function [Z,std,ei,cdf] = sgtelib_server_predict(X)
+
+% sgtelib_server_ping;
+
+% Remove flags
+system('rm -f flag_predict_* 2>/dev/null');
+
+% Write prediction point
+sgtelib_server_write_matrix(X,'X','flag_predict_create');
+
+% Create flag
+system('mv flag_predict_create flag_predict_transmit');
+
+% Wait for reception flag
+sgtelib_server_wait_file('flag_predict_finished');
+
+% Read Output file
+[Z,std,ei,cdf] = sgtelib_server_read_matrix('flag_predict_finished');
+
+% Remove all flags
+system('rm -f flag_predict_* 2>/dev/null');
+
diff --git a/ext/sgtelib/matlab_server/sgtelib_server_read_matrix.m b/ext/sgtelib/matlab_server/sgtelib_server_read_matrix.m
new file mode 100644
index 0000000..3017935
--- /dev/null
+++ b/ext/sgtelib/matlab_server/sgtelib_server_read_matrix.m
@@ -0,0 +1,43 @@
+function [varargout] = sgtelib_server_read_matrix(file)
+
+
+% Get matrices names from the file
+NAMES = cell(0,0);
+fid = fopen(file);
+line = fgetl(fid);
+while ischar(line)
+    if ~isempty(line)
+        if any(line=='=')
+            i = find(line=='=');
+            line = line(1:i-1);
+            line=strrep(line,' ','');
+            NAMES{end+1} = line;
+        end
+    end
+    line = fgetl(fid);
+end
+
+N = length(NAMES);
+
+% Check that the number of output is smaller than the number
+% of matrices in the file
+if N<nargout
+    disp(['File name: ' file]);
+    disp(['Nb of matrices in the file: ' num2str(N)]);
+    disp(['Nb of matrices required in output: ' num2str(nargout)]);
+    error('The file does not contain enough matrices');
+end
+
+% Convert the file in .m file and evaluate it.
+mfile = ['matlab_' file num2str(rand,12)];
+mfile = strrep(mfile,'.','');
+mfile = strrep(mfile,'-','');
+copyfile(file,[mfile '.m']);
+eval(mfile);
+delete([mfile '.m']);
+
+% Affect the matrices in varargout
+for i=1:N
+    varargout{i} = eval(NAMES{i});
+end
+
diff --git a/ext/sgtelib/matlab_server/sgtelib_server_ready.m b/ext/sgtelib/matlab_server/sgtelib_server_ready.m
new file mode 100644
index 0000000..06a595c
--- /dev/null
+++ b/ext/sgtelib/matlab_server/sgtelib_server_ready.m
@@ -0,0 +1,3 @@
+function ready = sgtelib_server_ready
+
+ready = sgtelib_server_ping;
diff --git a/ext/sgtelib/matlab_server/sgtelib_server_reset.m b/ext/sgtelib/matlab_server/sgtelib_server_reset.m
new file mode 100644
index 0000000..eb425b5
--- /dev/null
+++ b/ext/sgtelib/matlab_server/sgtelib_server_reset.m
@@ -0,0 +1,16 @@
+function sgtelib_server_reset
+
+% sgtelib_server_ping;
+
+% Remove flags
+system('rm -f flag_reset_* 2>/dev/null');
+
+% Create flag
+system(['touch flag_reset_transmit']);
+
+% Wait for reception flag
+sgtelib_server_wait_file('flag_reset_finished');
+
+% Remove all flags
+system('rm -f flag_reset_* 2>/dev/null');
+
diff --git a/ext/sgtelib/matlab_server/sgtelib_server_start.m b/ext/sgtelib/matlab_server/sgtelib_server_start.m
new file mode 100644
index 0000000..07d748f
--- /dev/null
+++ b/ext/sgtelib/matlab_server/sgtelib_server_start.m
@@ -0,0 +1,89 @@
+function sgtelib_server_start(model,keepopen)
+
+sgtelib_server_stop;
+if nargin==1
+    keepopen=false;
+end
+
+disp('Start sgtelib.exe in server mode.');
+
+
+% Selection of the terminal software
+TERMINAL_SOFTWARE_LIST = { 'gnome-terminal' 'lxterm' 'uxterm' 'xterm' 'konsole'};
+for i=1:length(TERMINAL_SOFTWARE_LIST)
+    termprog = TERMINAL_SOFTWARE_LIST{i};
+    if ~system(['which ' termprog]);
+        break;
+    else
+        disp(['Could not find terminal software: ' termprog]);
+        termprog = 'bg';
+    end
+end
+
+termprog = 'bg'
+
+disp(['Selected terminal software: ' termprog]);
+
+
+% Option to start sgtelib in gdb
+gdboption = ' ';
+% Verbose option of sgtelib.
+verboseoption = ' ';
+% Option of keep open
+if keepopen
+    if ~system('which gdb')
+        gdboption = ' gdb -q -ex run --args ';
+    end
+    verboseoption = ' -verbose ';
+end
+% command to start sgtelib.
+sgtelibcmd = [' ./sgtelib.exe -server -model ' model verboseoption];
+
+
+% Reset ld_library_path
+old_ld_library_path = getenv('LD_LIBRARY_PATH');
+setenv('LD_LIBRARY_PATH','.');
+
+switch termprog
+    case 'gnome-terminal'
+        termoption = ' -t sgtelib_server --hide-menubar -e ';
+        % Command to run after the end of sgtelib
+        if keepopen
+            endoption = ' ; exec /bin/bash -i ';
+        else
+            endoption = ' ';
+        end
+        command = [termprog termoption '"/bin/bash -c '' ' gdboption sgtelibcmd endoption '''" &'];
+    case {'xterm','lxterm','uxterm'}
+        if keepopen
+            termoption = ' -hold -e ';
+        else
+            termoption = ' -e ';
+        end
+        command = [termprog termoption gdboption sgtelibcmd ' &'];
+    case 'konsole'
+        if keepopen
+            termoption = ' --hold -e ';
+        else
+            termoption = ' -e ';
+        end
+        command = [termprog termoption gdboption sgtelibcmd ' &'];
+    case 'bg'
+        command = [sgtelibcmd ' &'];
+end
+
+disp(command)
+[status,response] = system(command);
+if keepopen
+    pause(1);
+end
+if status || ~isempty(response)
+    disp(command);
+    disp(status)
+    disp(response)
+end
+pause(1);
+
+% Old LD_LIBRARY_PATH
+setenv('LD_LIBRARY_PATH',old_ld_library_path);
+
diff --git a/ext/sgtelib/matlab_server/sgtelib_server_stop.m b/ext/sgtelib/matlab_server/sgtelib_server_stop.m
new file mode 100644
index 0000000..2bb574c
--- /dev/null
+++ b/ext/sgtelib/matlab_server/sgtelib_server_stop.m
@@ -0,0 +1,4 @@
+function sgtelib_server_stop
+disp('Kill sgtelib.exe');
+!touch flag_quit
+%!killName sgtelib.exe
diff --git a/ext/sgtelib/matlab_server/sgtelib_server_wait_file.m b/ext/sgtelib/matlab_server/sgtelib_server_wait_file.m
new file mode 100644
index 0000000..053a9ce
--- /dev/null
+++ b/ext/sgtelib/matlab_server/sgtelib_server_wait_file.m
@@ -0,0 +1,30 @@
+function i = sgtelib_server_wait_file(name,wait_tmax)
+
+if ~iscell(name)
+    name = {name};
+end
+
+if nargin==1
+    wait_tmax = 1000; 
+end 
+wait_dt = 0.001;
+wait_t = 0;
+
+while wait_t < wait_tmax
+  pause(wait_dt);
+  wait_t = wait_t+wait_dt;
+
+  % Check if there is a new input file
+  for i=1:length(name)
+      if exist(name{i},'file')
+          return;
+      end
+  end
+end
+
+i = 0;
+if length(name)==1
+    disp(['sgtelib_server_wait_file: file "' name{1} '" not found within time limit']);
+else
+    disp(['sgtelib_server_wait_file: file not found within time limit']);
+end
diff --git a/ext/sgtelib/matlab_server/sgtelib_server_write_matrix.m b/ext/sgtelib/matlab_server/sgtelib_server_write_matrix.m
new file mode 100644
index 0000000..40876e8
--- /dev/null
+++ b/ext/sgtelib/matlab_server/sgtelib_server_write_matrix.m
@@ -0,0 +1,26 @@
+function sgtelib_server_write_matrix(M,name,file)
+
+% fid = fopen(file,'w');
+% 
+% newline = char(10);
+% fwrite(fid,[name '=[' newline]);
+% 
+% for i=1:size(M,1)
+%     Mi = num2str(M(i,:),12);
+%     s = ['    ' Mi ' ; ' newline];
+%     fwrite(fid,s);
+% end
+% fwrite(fid,'];');
+% fclose(fid);
+
+    
+fid = fopen(file,'w');
+fprintf(fid,'%s=[\n',name);
+
+for i=1:size(M,1)
+    fprintf(fid,'%12.12f  ',M(i,:));
+    fprintf(fid,';\n');
+end
+
+fwrite(fid,'];');
+fclose(fid);
\ No newline at end of file
diff --git a/ext/sgtelib/src/Defines.hpp b/ext/sgtelib/src/Defines.hpp
new file mode 100644
index 0000000..f35301c
--- /dev/null
+++ b/ext/sgtelib/src/Defines.hpp
@@ -0,0 +1,98 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#ifndef __SGTELIB_DEFINES__
+#define __SGTELIB_DEFINES__
+
+#include <iostream>
+#include <iomanip>
+#include <cmath>
+#include <sstream>
+#include <string.h>
+
+#include <limits>
+#include <limits.h>
+
+// debug flag:
+//#define SGTELIB_DEBUG
+//#define ENSEMBLE_DEBUG
+
+namespace SGTELIB {
+  
+  const double EPSILON = 1E-13;
+  const double PI = 3.141592654;
+  const double INF = std::numeric_limits<double>::max(); ///< Infinity
+  const double NaN = std::numeric_limits<double>::quiet_NaN();
+
+  const bool APPROX_CDF = true;
+  // If true, then the lower bound of standard deviation is EPSILON. 
+  // This allows to avoid flat EI and P functions. 
+
+  enum scaling_t {
+    SCALING_NONE ,
+    SCALING_MEANSTD ,
+    SCALING_BOUNDS
+  };
+
+  const scaling_t scaling_method = SCALING_MEANSTD;
+  //const scaling_t scaling_method = SCALING_NONE;
+
+
+  // model output type:
+  enum model_output_t {
+    NORMAL_OUTPUT ,
+    FIXED_OUTPUT  ,
+    BINARY_OUTPUT
+  };
+
+  // model output type:
+  enum bbo_t {
+    BBO_OBJ , // Objective
+    BBO_CON , // Constraint
+    BBO_DUM   // Dummy
+  };
+
+  enum param_domain_t {
+    PARAM_DOMAIN_CONTINUOUS,
+    PARAM_DOMAIN_INTEGER,
+    PARAM_DOMAIN_BOOL,
+    PARAM_DOMAIN_CAT,
+    PARAM_DOMAIN_MISC
+  };
+
+  // FIXED => Parameter is set once and for all
+  // OPTIM => Parameter is optimized so as to minimize a metric
+  // MODEL_DEFINED => The surrogate model is able to define/chose the parameter
+  enum param_status_t {
+    STATUS_FIXED,
+    STATUS_OPTIM,
+    STATUS_MODEL_DEFINED
+  };
+    
+
+
+}
+
+#endif
diff --git a/ext/sgtelib/src/Exception.hpp b/ext/sgtelib/src/Exception.hpp
new file mode 100644
index 0000000..c3a64c0
--- /dev/null
+++ b/ext/sgtelib/src/Exception.hpp
@@ -0,0 +1,65 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#ifndef __SGTELIB_EXCEPTION__
+#define __SGTELIB_EXCEPTION__
+
+#include <iostream>
+#include <sstream>
+#include <cstdlib>
+
+namespace SGTELIB {
+
+  class Exception : public std::exception {
+
+  private:
+
+    std::string _file;
+    int         _line;
+    std::string _err_msg;
+
+    mutable std::string _tmp;
+
+  public:
+
+    virtual const char * what ( void ) const throw() {
+      std::ostringstream oss;
+      oss << _file << ":" << _line << " (" << _err_msg << ")";
+      _tmp = oss.str();
+      return _tmp.c_str();
+    }
+
+    Exception ( const std::string & file    ,
+		int                 line    ,
+		const std::string & err_msg   )
+      : _file(file) , _line(line) , _err_msg(err_msg) {}
+    
+    virtual ~Exception ( void ) throw() {}
+  };
+}
+
+// usage: throw SGTELIB::Exception ( "file.cpp" , __LINE__ , "error message" );
+
+#endif
diff --git a/ext/sgtelib/src/Kernel.cpp b/ext/sgtelib/src/Kernel.cpp
new file mode 100644
index 0000000..dc6665e
--- /dev/null
+++ b/ext/sgtelib/src/Kernel.cpp
@@ -0,0 +1,322 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#include "Kernel.hpp"
+
+     
+
+
+/*----------------------------------------------------------*/
+std::string SGTELIB::kernel_type_to_str ( SGTELIB::kernel_t kt ) {
+/*----------------------------------------------------------*/
+  switch ( kt ) {
+  case SGTELIB::KERNEL_D1: return "D1"; //Gaussian
+  case SGTELIB::KERNEL_D2: return "D2"; //Inverse Quadratic
+  case SGTELIB::KERNEL_D3: return "D3"; //Inverse Multiquadratic
+  case SGTELIB::KERNEL_D4: return "D4"; //Bi-quadratic
+  case SGTELIB::KERNEL_D5: return "D5"; //Tri-Cubique
+  case SGTELIB::KERNEL_D6: return "D6"; //Exp(-sqrt)
+  case SGTELIB::KERNEL_D7: return "D7"; //Epanechnikov
+  case SGTELIB::KERNEL_I0: return "I0"; //Multiquadratic
+  case SGTELIB::KERNEL_I1: return "I1"; //Polyharmonic Spline, k=1
+  case SGTELIB::KERNEL_I2: return "I2"; //Polyharmonic Spline, k=2
+  case SGTELIB::KERNEL_I3: return "I3"; //Polyharmonic Spline, k=3
+  case SGTELIB::KERNEL_I4: return "I4"; //Polyharmonic Spline, k=4
+  default                : 
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+             "kernel_type_to_str: undefined kernel type" );
+    return "undefined";
+  }
+}
+
+
+
+
+/*----------------------------------------------------------*/
+bool SGTELIB::kernel_is_decreasing ( const SGTELIB::kernel_t kt ) {
+/*----------------------------------------------------------*/
+  // nb: "D" stands for decreasing, meaning that phi(r) tends toward 0
+  // when r tends toward +infinity.
+  switch ( kt ) {
+  case SGTELIB::KERNEL_D1:
+  case SGTELIB::KERNEL_D2:
+  case SGTELIB::KERNEL_D3:
+  case SGTELIB::KERNEL_D4:
+  case SGTELIB::KERNEL_D5: 
+  case SGTELIB::KERNEL_D6: 
+  case SGTELIB::KERNEL_D7: 
+    return true;
+  case SGTELIB::KERNEL_I0: 
+  case SGTELIB::KERNEL_I1: 
+  case SGTELIB::KERNEL_I2: 
+  case SGTELIB::KERNEL_I3: 
+  case SGTELIB::KERNEL_I4: 
+    return false;
+  default                : 
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+             "kernel_is_decreasing: undefined kernel type" );
+    return false;
+  }
+}//
+
+/*----------------------------------------------------------*/
+bool SGTELIB::kernel_has_parameter ( const SGTELIB::kernel_t kt ) {
+/*----------------------------------------------------------*/
+  switch ( kt ) {
+  case SGTELIB::KERNEL_D1:
+  case SGTELIB::KERNEL_D2:
+  case SGTELIB::KERNEL_D3:
+  case SGTELIB::KERNEL_D4:
+  case SGTELIB::KERNEL_D5: 
+  case SGTELIB::KERNEL_D6: 
+  case SGTELIB::KERNEL_D7: 
+  case SGTELIB::KERNEL_I0: 
+    return true;
+  case SGTELIB::KERNEL_I2: 
+  case SGTELIB::KERNEL_I1: 
+  case SGTELIB::KERNEL_I3: 
+  case SGTELIB::KERNEL_I4: 
+    return false;
+  default: 
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+             "kernel_has_parameter: undefined kernel type" );
+    return false;
+  }
+}//
+
+/*----------------------------------------------------------*/
+int SGTELIB::kernel_dmin ( const SGTELIB::kernel_t kt ) {
+/*----------------------------------------------------------*/
+  switch ( kt ) {
+  case SGTELIB::KERNEL_D1:
+  case SGTELIB::KERNEL_D2:
+  case SGTELIB::KERNEL_D3:
+  case SGTELIB::KERNEL_D4:
+  case SGTELIB::KERNEL_D5: 
+  case SGTELIB::KERNEL_D6: 
+  case SGTELIB::KERNEL_D7: 
+    return -1;
+  case SGTELIB::KERNEL_I0: 
+  case SGTELIB::KERNEL_I1: 
+    return 0;
+  case SGTELIB::KERNEL_I2: 
+  case SGTELIB::KERNEL_I3: 
+  case SGTELIB::KERNEL_I4: 
+    return 1;
+  default: 
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+             "kernel_dmin: undefined kernel type" );
+    return false;
+  }
+}//
+
+
+/*----------------------------------------------------------*/
+SGTELIB::kernel_t SGTELIB::str_to_kernel_type ( const std::string & s ) {
+/*----------------------------------------------------------*/
+  if ( s=="D1" ){ return SGTELIB::KERNEL_D1; }
+  if ( s=="GAUSSIAN" ){ return SGTELIB::KERNEL_D1; }
+
+  if ( s=="D2" ){ return SGTELIB::KERNEL_D2; }
+  if ( s=="INVERSE_QUAD" ){ return SGTELIB::KERNEL_D2; }
+  if ( s=="INVERSEQUAD" ){ return SGTELIB::KERNEL_D2; }
+
+  if ( s=="D3" ){ return SGTELIB::KERNEL_D3; }
+  if ( s=="INVERSE_MULTI_QUAD" ){ return SGTELIB::KERNEL_D3; }
+  if ( s=="INVERSEMULTIQUAD" ){ return SGTELIB::KERNEL_D3; }
+
+  if ( s=="D4" ){ return SGTELIB::KERNEL_D4; }
+  if ( s=="BIQUADRATIC" ){ return SGTELIB::KERNEL_D4; }
+  if ( s=="BI_QUADRATIC" ){ return SGTELIB::KERNEL_D4; }
+  if ( s=="BI-QUADRATIC" ){ return SGTELIB::KERNEL_D4; }
+  if ( s=="BIQUAD" ){ return SGTELIB::KERNEL_D4; }
+
+  if ( s=="D5" ){ return SGTELIB::KERNEL_D5; }
+  if ( s=="TRICUBIC" ){ return SGTELIB::KERNEL_D5; }
+  if ( s=="TRI_CUBIC" ){ return SGTELIB::KERNEL_D5; }
+  if ( s=="TRI-CUBIC" ){ return SGTELIB::KERNEL_D5; }
+  if ( s=="TRICUB" ){ return SGTELIB::KERNEL_D5; }
+
+  if ( s=="D6" ){ return SGTELIB::KERNEL_D6; }
+  if ( s=="EXPSQRT" ){ return SGTELIB::KERNEL_D6; }
+
+  if ( s=="D7" ){ return SGTELIB::KERNEL_D7; }
+  if ( s=="EPANECHNIKOV" ){ return SGTELIB::KERNEL_D7; }
+  if ( s=="EPA" ){ return SGTELIB::KERNEL_D7; }
+
+  if ( s=="I0" ){ return SGTELIB::KERNEL_I0; }
+  if ( s=="MULTIQUADRATIC" ){ return SGTELIB::KERNEL_I0; }
+  if ( s=="MULTI-QUADRATIC" ){ return SGTELIB::KERNEL_I0; }
+  if ( s=="MULTI_QUADRATIC" ){ return SGTELIB::KERNEL_I0; }
+  if ( s=="MULTIQUAD" ){ return SGTELIB::KERNEL_I0; }
+
+  if ( s=="I1" ){ return SGTELIB::KERNEL_I1; }
+  if ( s=="POLY1" ){ return SGTELIB::KERNEL_I1; }
+  if ( s=="SPLINE1" ){ return SGTELIB::KERNEL_I1; }
+  if ( s=="PHS1" ){ return SGTELIB::KERNEL_I1; }
+
+  if ( s=="I2" ){ return SGTELIB::KERNEL_I2; }
+  if ( s=="POLY2" ){ return SGTELIB::KERNEL_I2; }
+  if ( s=="SPLINE2" ){ return SGTELIB::KERNEL_I2; }
+  if ( s=="PHS2" ){ return SGTELIB::KERNEL_I2; }
+
+  if ( s=="I3" ){ return SGTELIB::KERNEL_I3; }
+  if ( s=="POLY3" ){ return SGTELIB::KERNEL_I3; }
+  if ( s=="SPLINE3" ){ return SGTELIB::KERNEL_I3; }
+  if ( s=="PHS3" ){ return SGTELIB::KERNEL_I3; }
+
+  if ( s=="I4" ){ return SGTELIB::KERNEL_I4; }
+  if ( s=="POLY4" ){ return SGTELIB::KERNEL_I4; }
+  if ( s=="SPLINE4" ){ return SGTELIB::KERNEL_I4; }
+  if ( s=="PHS4" ){ return SGTELIB::KERNEL_I4; }
+
+  throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+     "str_to_kernel_type: unrecognised string \""+s+"\"" );
+}//
+
+/*----------------------------------------------------------*/
+SGTELIB::kernel_t SGTELIB::int_to_kernel_type ( const int i ) {
+/*----------------------------------------------------------*/
+  if ( (i<0) || (i>=SGTELIB::NB_KERNEL_TYPES) ){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+      "int_to_kernel_type: invalid integer "+itos(i) );
+  }
+  switch ( i ){
+    case 0:  return SGTELIB::KERNEL_D1; 
+    case 1:  return SGTELIB::KERNEL_D2; 
+    case 2:  return SGTELIB::KERNEL_D3; 
+    case 3:  return SGTELIB::KERNEL_D4; 
+    case 4:  return SGTELIB::KERNEL_D5; 
+    case 5:  return SGTELIB::KERNEL_D6; 
+    case 6:  return SGTELIB::KERNEL_D7; 
+    case 7:  return SGTELIB::KERNEL_I0; 
+    case 8:  return SGTELIB::KERNEL_I1; 
+    case 9:  return SGTELIB::KERNEL_I2; 
+    case 10:  return SGTELIB::KERNEL_I3; 
+    case 11: return SGTELIB::KERNEL_I4; 
+    default:
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+        "int_to_kernel_type: invalid integer "+itos(i) );
+  }
+}//
+
+/*----------------------------------------------*/
+/*       Compute the value of the kernel        */
+/*----------------------------------------------*/
+double SGTELIB::kernel (  const SGTELIB::kernel_t kt , 
+                          const double ks ,
+                          const double r ){
+  // kt : kernel type
+  // ks : kernel shape
+  // r : radius
+
+  switch (kt){
+    case SGTELIB::KERNEL_D1:
+      // Gaussian
+      return exp(-PI*ks*ks*r*r);
+    case SGTELIB::KERNEL_D2:
+      // Inverse Quadratic
+      return 1.0/(1.0+ks*ks*r*r);
+    case SGTELIB::KERNEL_D3:
+      // Inverse Multiquadratic
+      return 1.0/sqrt(1.0+ks*ks*r*r);
+    case SGTELIB::KERNEL_D4:
+      // Bi-quadratic 
+      {
+        double ksr = fabs(ks*r)*16.0/15.0;
+        if (ksr<=1){
+          double d = (1-ksr*ksr);
+          return d*d;
+        }
+      }
+      return 0.0;
+    case SGTELIB::KERNEL_D5:
+      // Tri-cubic
+      {
+        double ksr = fabs(ks*r)*162.0/140.0;
+        if (ksr<=1.0){
+          double d = (1-ksr*ksr*ksr);
+          return d*d*d;
+        }   
+      }
+      return 0.0;
+    case SGTELIB::KERNEL_D6:
+      // Exp-Root
+      return exp(-sqrt(ks*r));
+    case SGTELIB::KERNEL_D7:
+      // Epa
+      {
+        double ksr = fabs(ks*r);
+        if (ksr<=1.0) return 0.75*(1-ksr*ksr);
+      }
+      return 0.0;
+    case SGTELIB::KERNEL_I0:
+      // Multiquadratic
+      return sqrt(1.0+ks*ks*r*r);
+    case SGTELIB::KERNEL_I1:
+      // Polyharmonique spline (k=1)
+      return r;
+    case SGTELIB::KERNEL_I2:
+      // Polyharmonique spline (k=2) (Thin Plate Splin)
+      if (r==0.0) return 0.0;
+      return log(r)*r*r;
+    case SGTELIB::KERNEL_I3:
+      // Polyharmonique spline (k=3)
+      return r*r*r;
+    case SGTELIB::KERNEL_I4:
+      // Polyharmonique spline (k=4)
+      if (r==0.0) return 0.0;
+      {
+        double r2 = r*r;
+        return r2*r2*log(r);
+      }
+    default:
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+               "kernel: undefined kernel type" );
+      return 0.0;
+  } // end switch
+}//
+
+/*----------------------------------------------*/
+/*       Compute the value of the kernel        */
+/*----------------------------------------------*/
+SGTELIB::Matrix SGTELIB::kernel (  const SGTELIB::kernel_t kt , 
+                                   const double ks ,
+                                   SGTELIB::Matrix R ){
+
+  const int nbRows = R.get_nb_rows();
+  const int nbCols = R.get_nb_cols();
+  int i,j;
+  for (i=0 ; i<nbRows ; i++){
+    for (j=0 ; j<nbCols ; j++){
+      R.set(i,j,kernel(kt,ks,R.get(i,j)));
+    }
+  }
+  return R;
+}//
+
+
+
+
diff --git a/ext/sgtelib/src/Kernel.hpp b/ext/sgtelib/src/Kernel.hpp
new file mode 100644
index 0000000..de86ea9
--- /dev/null
+++ b/ext/sgtelib/src/Kernel.hpp
@@ -0,0 +1,69 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#ifndef __KERNEL__
+#define __KERNEL__
+
+#include "Defines.hpp"
+#include "Exception.hpp"
+#include "Matrix.hpp"
+namespace SGTELIB {
+
+  // kernel type:
+  enum kernel_t {
+    KERNEL_D1 ,
+    KERNEL_D2 ,
+    KERNEL_D3 ,
+    KERNEL_D4 ,
+    KERNEL_D5 ,
+    KERNEL_D6 ,
+    KERNEL_D7 ,
+    KERNEL_I0 ,
+    KERNEL_I1 ,
+    KERNEL_I2 ,
+    KERNEL_I3 ,
+    KERNEL_I4
+  };
+  const int NB_KERNEL_TYPES = 11;
+  const int NB_DECREASING_KERNEL_TYPES = 6;
+
+  // kernel
+  double kernel ( const SGTELIB::kernel_t kt , const double ks ,const double r );
+  SGTELIB::Matrix kernel ( const SGTELIB::kernel_t kt , const double ks , SGTELIB::Matrix R );
+  // kernel is decreasing ?
+  bool kernel_is_decreasing ( const SGTELIB::kernel_t kt );
+  // kernel has a shape parameter ?
+  bool kernel_has_parameter ( const SGTELIB::kernel_t kt );
+  // kernel has a shape parameter ?
+  int kernel_dmin ( const SGTELIB::kernel_t kt );
+  // Kernel to str
+  std::string kernel_type_to_str  ( SGTELIB::kernel_t       );
+  // string to kernel type
+  SGTELIB::kernel_t str_to_kernel_type ( const std::string & s );
+  SGTELIB::kernel_t int_to_kernel_type ( const int i );
+}
+
+#endif
+
diff --git a/ext/sgtelib/src/Matrix.cpp b/ext/sgtelib/src/Matrix.cpp
new file mode 100644
index 0000000..a729103
--- /dev/null
+++ b/ext/sgtelib/src/Matrix.cpp
@@ -0,0 +1,2969 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#include "Matrix.hpp"
+
+/*---------------------------*/
+/*        constructor 1      */
+/*---------------------------*/
+SGTELIB::Matrix::Matrix ( const std::string & name ,
+                          int                 nbRows    ,
+                          int                 nbCols    ) : 
+               _name   ( name ) ,
+               _nbRows ( nbRows    ) ,
+               _nbCols ( nbCols    )   {
+#ifdef SGTELIB_DEBUG
+  if ( _nbRows < 0 || _nbCols < 0 )
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+             "Matrix::constructor 1: bad dimensions" );
+#endif
+
+  int i , j;
+
+  _X = new double * [_nbRows];
+  for ( i = 0 ; i < _nbRows ; ++i ) {
+    _X[i] = new double [_nbCols];
+    for ( j = 0 ; j < _nbCols ; ++j )
+      _X[i][j] = 0.0;
+  }
+}//
+
+/*---------------------------*/
+/*        constructor 2      */
+/*---------------------------*/
+SGTELIB::Matrix::Matrix ( const std::string & name ,
+                          int                 nbRows    ,
+                          int                 nbCols    ,
+                          double           ** A      ) :
+               _name ( name ) ,
+               _nbRows    ( nbRows    ) ,
+               _nbCols    ( nbCols    )   {
+#ifdef SGTELIB_DEBUG
+  if ( _nbRows < 0 || _nbCols < 0 )
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ , 
+              "Matrix::constructor 2: bad dimensions" );
+#endif
+
+  int i , j;
+
+  _X = new double * [_nbRows];
+  for ( i = 0 ; i < _nbRows ; ++i ) {
+    _X[i] = new double [_nbCols];
+    for ( j = 0 ; j < _nbCols ; ++j )
+      _X[i][j] = A[i][j];
+  }
+}//
+
+/*---------------------------*/
+/*        constructor 3      */
+/*---------------------------*/
+SGTELIB::Matrix::Matrix ( const std::string & file_name ) : 
+                  _name ( "no_name" ) ,
+                  _nbRows    ( 0         ) ,
+                  _nbCols    ( 0         ) ,
+                  _X    ( NULL      )   {
+  *this = import_data(file_name);
+}//
+
+
+/*---------------------------*/
+/*        constructor 4      */
+/*---------------------------*/
+SGTELIB::Matrix::Matrix (void) : 
+               _name ( "" ) ,
+               _nbRows    ( 0   ) ,
+               _nbCols    ( 0   ) {
+  _X = new double * [0];
+}//
+
+/*---------------------------*/
+/*      copy constructor     */
+/*---------------------------*/
+SGTELIB::Matrix::Matrix ( const SGTELIB::Matrix & A ) : 
+                          _name ( A._name ) ,
+                          _nbRows    ( A._nbRows    ) ,
+                          _nbCols    ( A._nbCols    ) {
+  int i , j;
+  _X = new double * [_nbRows];
+  for ( i = 0 ; i < _nbRows ; ++i ) {
+    _X[i] = new double [_nbCols];
+    for ( j = 0 ; j < _nbCols ; ++j )
+      _X[i][j] = A._X[i][j];
+  }
+}//
+
+
+
+
+/*---------------------------*/
+/*    affectation operator   */
+/*---------------------------*/
+SGTELIB::Matrix & SGTELIB::Matrix::operator = ( const SGTELIB::Matrix & A ) {
+  
+  if ( this == &A )
+    return *this;
+
+  int i , j;
+
+  if ( _nbRows != A._nbRows || _nbCols != A._nbCols ) {
+
+    for ( i = 0 ; i < _nbRows ; ++i )
+      delete [] _X[i];
+    delete [] _X;
+
+    _nbRows = A._nbRows;
+    _nbCols = A._nbCols;
+
+    _X = new double * [_nbRows];
+    for ( i = 0 ; i < _nbRows ; ++i ) {
+      _X[i] = new double [_nbCols];
+      for ( j = 0 ; j < _nbCols ; ++j )
+        _X[i][j] = A._X[i][j];
+    }
+  }
+  else {
+    for ( i = 0 ; i < _nbRows ; ++i )
+      for ( j = 0 ; j < _nbCols ; ++j )
+        _X[i][j] = A._X[i][j];
+  }
+    
+  _name = A._name;
+
+  return *this;
+}//
+
+
+
+/*---------------------------*/
+/*     import data           */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::import_data  ( const std::string & file_name ){
+
+  std::ifstream in ( file_name.c_str() );
+
+  if ( in.fail() ) {
+    in.close();
+    std::ostringstream oss;
+    oss << "SGTELIB::Matrix::import_data: cannot open file " << file_name;
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ , oss.str() );
+  }
+
+  std::string s;
+  std::string line;
+  while (std::getline(in, line)) s += line+";";
+
+  return string_to_matrix(s);
+
+}//
+
+
+/*---------------------------------------*/
+/*    affectation operator from string   */
+/*---------------------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::string_to_matrix ( std::string s ) {
+
+  // Replace tabs, newline etc.
+  std::replace( s.begin(), s.end(), '\t', ' ');
+  std::replace( s.begin(), s.end(), '\n', ';');
+  std::replace( s.begin(), s.end(), '\r', ';');
+  std::replace( s.begin(), s.end(), ',' , ' ');
+
+  // Remove extra spaces
+  s = SGTELIB::deblank(s);
+  size_t i;
+  std::string curline;
+
+  // Find name
+  std::string name = "MAT"; // default name
+  i = std::min(s.find("="),s.find("["));
+  if (i!=std::string::npos){
+    curline = SGTELIB::deblank(s.substr(0,i));
+    if (curline.size()){
+      name = curline;
+    }
+    s = s.substr(i+1);
+  }
+
+  // Replace closing brakets by semi-colon.
+  std::replace( s.begin(), s.end(), '=', ' ');
+  std::replace( s.begin(), s.end(), '[', ' ');
+  std::replace( s.begin(), s.end(), ']', ' ');
+
+  // Read data
+  int nbCols=-1;
+  SGTELIB::Matrix M;
+  while (true){
+
+    i = s.find(";");
+    if (i==std::string::npos) break;
+    curline = SGTELIB::deblank(s.substr(0,i));
+    s = s.substr(i+1);
+    if (curline.size()){
+      if (nbCols==-1){
+        nbCols= SGTELIB::count_words(curline);
+        M = SGTELIB::Matrix(name,0,nbCols);
+      }
+      M.add_rows(SGTELIB::Matrix::string_to_row(curline,nbCols));
+    }
+
+  }
+  return M;
+
+}//
+
+/*------------------------------*/
+/* convert string to row vector */
+/*------------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::string_to_row  ( const std::string & s , int nbCols ){
+  if (nbCols<=0){
+    nbCols = count_words(s);
+  }
+  SGTELIB::Matrix row("r",1,nbCols);
+  double v;
+  std::stringstream ss( s );
+  int i=0;
+  while( ss >> v ) row._X[0][i++] = v;
+  if (i++!=nbCols){
+    std::cout << "In line \"" << s << "\"\n";
+    std::cout << "Found " << i << " components\n";
+    std::cout << "Expected " << nbCols << " components\n";
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+       "Matrix::string_to_row : cannot read line "+s );
+  }
+  return row;
+}//
+
+/*---------------------------*/
+/*         operators         */
+/*---------------------------*/
+SGTELIB::Matrix operator * (const SGTELIB::Matrix & A , const SGTELIB::Matrix & B) {
+  return SGTELIB::Matrix::product(A,B);
+}
+SGTELIB::Matrix operator * (const SGTELIB::Matrix & A , const double v) {
+  int nbCols = A.get_nb_rows();
+  int nbRows = A.get_nb_cols();
+  SGTELIB::Matrix B(SGTELIB::dtos(v)+"*"+A.get_name(),nbCols,nbRows);
+  int i,j;
+  for ( i = 0 ; i < nbCols ; ++i ) {
+    for ( j = 0 ; j < nbRows ; ++j ) {
+      B.set(i,j,v*A.get(i,j));
+    }
+  }
+  return B;
+}
+SGTELIB::Matrix operator * (const double v , const SGTELIB::Matrix & A) {
+  return A*v;
+}
+SGTELIB::Matrix operator + (const SGTELIB::Matrix & A , const SGTELIB::Matrix & B) {
+  return SGTELIB::Matrix::add(A,B);
+}//
+SGTELIB::Matrix operator + (const SGTELIB::Matrix & A , const double v) {
+  const int nbCols = A.get_nb_rows();
+  const int nbRows = A.get_nb_cols();
+  SGTELIB::Matrix B(SGTELIB::dtos(v)+"+"+A.get_name(),nbCols,nbRows);
+  int i,j;
+  for ( i = 0 ; i < nbCols ; ++i ) {
+    for ( j = 0 ; j < nbRows ; ++j ) {
+      B.set(i,j,v+A.get(i,j));
+    }
+  }
+  return B;
+}//
+
+SGTELIB::Matrix operator + (const double v , const SGTELIB::Matrix & A) {
+  return A+v;
+}//
+
+SGTELIB::Matrix operator - (const SGTELIB::Matrix & A , const SGTELIB::Matrix & B) {
+  return SGTELIB::Matrix::sub(A,B);
+}//
+
+SGTELIB::Matrix operator - (const SGTELIB::Matrix & A) {
+  SGTELIB::Matrix M = A*(-1.0);
+  M.set_name("(-"+A.get_name()+")");
+  return M;
+}//
+
+SGTELIB::Matrix operator - (const double v , const SGTELIB::Matrix & A) {
+  return v+(-A);
+}//
+
+SGTELIB::Matrix operator - (const SGTELIB::Matrix & A , const double v) {
+  return A+(-v);
+}//
+
+SGTELIB::Matrix operator / (const SGTELIB::Matrix & A , const double v) {
+  if (v==0){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+       "Matrix::operator /: divide by 0" );
+  }
+  return A * (1.0/v);
+}//
+
+/*---------------------------*/
+/*         destructor        */
+/*---------------------------*/
+SGTELIB::Matrix::~Matrix ( void ) {
+  //std::cout << "Delete " << _name << "\n";
+  std::cout.flush();
+  for ( int i = 0 ; i < _nbRows ; ++i )
+    delete [] _X[i];
+  delete [] _X;
+}//
+
+/*---------------------------*/
+/*        add one row        */
+/*---------------------------*/
+void SGTELIB::Matrix::add_row  ( const double * row ) {
+
+  double ** new_X = new double * [_nbRows+1];
+
+  for ( int i = 0 ; i < _nbRows ; ++i )
+    new_X[i] = _X[i];
+
+  new_X[_nbRows] = new double [_nbCols];
+  for ( int j = 0 ; j < _nbCols ; ++j )
+    new_X[_nbRows][j] = row[j];
+  
+  delete [] _X;
+  _X = new_X;
+  ++_nbRows;
+}//
+
+/*-------------------------------*/
+/*          add rows         */
+/*---------------------------*/
+void SGTELIB::Matrix::add_rows ( const Matrix & A ) {
+
+  if ( A._nbCols != _nbCols )
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+             "Matrix::add_rows(): bad dimensions" );
+
+  int i , j;
+  int new_nbRows = _nbRows + A._nbRows;
+
+  double ** new_X = new double * [new_nbRows];
+
+  for ( i = 0 ; i < _nbRows ; ++i )
+    new_X[i] = _X[i];
+
+  for ( i = _nbRows ; i < new_nbRows ; ++i ) {
+    new_X[i] = new double [_nbCols];
+    for ( j = 0 ; j < _nbCols ; ++j )
+      new_X[i][j] = A._X[i-_nbRows][j];
+  }
+
+  delete [] _X;
+  _X = new_X;
+  _nbRows = new_nbRows;
+}//
+
+/*---------------------------*/
+/*          add rows         */
+/*---------------------------*/
+void SGTELIB::Matrix::add_cols ( const Matrix & A ) {
+
+  if ( A._nbRows != _nbRows )
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+             "Matrix::add_cols(): bad dimensions" );
+
+  int i , j;
+  int new_nbCols = _nbCols + A._nbCols;
+  double * x;
+
+  for ( i = 0 ; i < _nbRows ; ++i ) {
+    // Complete line
+    x = new double [new_nbCols];
+    // Original columns
+    for ( j = 0 ; j < _nbCols ; ++j )
+      x[j] = _X[i][j];
+    // Additional columns
+    for ( j = _nbCols ; j < new_nbCols ; ++j )
+      x[j] = A._X[i][j-_nbCols];
+    // Remove original line
+    delete [] _X[i];
+    // Put new line
+    _X[i] = x;
+  }
+
+  _nbCols = new_nbCols;
+}//
+
+/*---------------------------------*/
+/*          add empty rows         */
+/*---------------------------------*/
+void SGTELIB::Matrix::add_rows ( const int p ) {
+
+  int i , j;
+  int new_nbRows = _nbRows + p;
+
+  double ** new_X = new double * [new_nbRows];
+
+  for ( i = 0 ; i < _nbRows ; ++i )
+    new_X[i] = _X[i];
+
+  for ( i = _nbRows ; i < new_nbRows ; ++i ) {
+    new_X[i] = new double [_nbCols];
+    for ( j = 0 ; j < _nbCols ; ++j )
+      new_X[i][j] = 0.0;
+  }
+
+  delete [] _X;
+
+  _X = new_X;
+  _nbRows = new_nbRows;
+}//
+
+/*---------------------------------*/
+/*         remove last rows        */
+/*---------------------------------*/
+void SGTELIB::Matrix::remove_rows ( const int p ) {
+
+  int i;
+  int new_nbRows = _nbRows - p;
+
+  double ** new_X = new double * [new_nbRows];
+
+  for ( i = 0 ; i < new_nbRows ; ++i )
+    new_X[i] = _X[i];
+
+  for ( i = new_nbRows ; i < _nbRows ; ++i )
+    delete [] _X[i];
+
+  delete [] _X;
+  _X = new_X;
+  _nbRows = new_nbRows;
+}//
+
+/*---------------------------------*/
+/*          add empty cols         */
+/*---------------------------------*/
+void SGTELIB::Matrix::add_cols ( const int p ) {
+
+  int i , j;
+  int new_nbCols = _nbCols + p;
+
+  double * x;
+
+  for ( i = 0 ; i < _nbRows ; ++i ) {
+    x = new double [new_nbCols];
+    for ( j = 0 ; j < _nbCols ; ++j )
+      x[j] = _X[i][j];
+    for ( j = _nbCols ; j < new_nbCols ; ++j )
+      x[j] = 0.0;
+    delete [] _X[i];
+    _X[i] = x;
+  }
+
+  _nbCols = new_nbCols;
+}//
+
+/*-----------------------------------------*/
+/*  get the fix columns (fixed variables)  */
+/*-----------------------------------------*/
+void SGTELIB::Matrix::get_fix_columns ( std::list<int> & fix_col ) const {
+  fix_col.clear();
+  for ( int j = 0 ; j < _nbCols ; ++j )
+    if ( get_nb_diff_values(j) == 1 )
+      fix_col.push_back(j);
+}//
+
+
+/*-----------------------------------------*/
+/*  is the matrix symmetric                */
+/*-----------------------------------------*/
+bool SGTELIB::Matrix::is_sym ( void ) const {
+  if (_nbCols!=_nbRows) return false;
+  int i,j;
+  for ( i = 0 ; i < _nbRows ; ++i ) {
+    for ( j = i+1 ; j < _nbCols ; ++j ) {
+      if (_X[i][j]!=_X[j][i]){
+        return false;
+      }
+    }
+  }
+  return true;
+}//
+
+
+/*-------------------------------*/
+/*  set the matrix randomly  */
+/*---------------------------*/
+void SGTELIB::Matrix::set_random ( double l , double u , bool round ) {
+  int i , j;
+  for ( i = 0 ; i < _nbRows ; ++i ){
+    for ( j = 0 ; j < _nbCols ; ++j ){
+      _X[i][j] = l + (u-l) * SGTELIB::uniform_rand();
+      if ( round )
+        _X[i][j] = SGTELIB::round ( _X[i][j] );
+    }
+  }
+}//
+
+/*---------------------------*/
+/*  fill with value v        */
+/*---------------------------*/
+void SGTELIB::Matrix::fill ( double v ) {
+  int i , j;
+  for ( i = 0 ; i < _nbRows ; ++i ){
+    for ( j = 0 ; j < _nbCols ; ++j ){
+      _X[i][j] = v;
+    }
+  }
+}//
+
+/*---------------------------*/
+/*     set element (i,j)     */
+/*---------------------------*/
+void SGTELIB::Matrix::set ( const int i , const int j , const double d ) {
+  #ifdef SGTELIB_DEBUG
+    if ( i < 0 || i >= _nbRows || j < 0 || j >= _nbCols ){
+      display(std::cout);
+      std::cout << "Error: try to set (" << i << "," << j << ") while dim is [" << _nbRows << "," << _nbCols << "]\n";
+      std::cout.flush();
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::set(i,j): bad index" );
+    }
+  #endif
+  _X[i][j] = d;
+}//
+
+void SGTELIB::Matrix::set_row (const SGTELIB::Matrix & T , const int i){
+  #ifdef SGTELIB_DEBUG
+    if ( i < 0 || i >= _nbRows || T.get_nb_rows()!=1 || T.get_nb_cols()!=_nbCols ){
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::set_row: bad index" );
+    }
+  #endif
+  for (int j=0 ; j<_nbCols ; j++){
+    _X[i][j] = T.get(0,j);
+  }
+}//
+
+void SGTELIB::Matrix::set_col (const SGTELIB::Matrix & T , const int j){
+  #ifdef SGTELIB_DEBUG
+    if ( j < 0 || j >= _nbCols || T.get_nb_rows()!=_nbRows || T.get_nb_cols()!=1 ){
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::set_col: bad index" );
+    }
+  #endif
+  for (int i=0 ; i<_nbRows ; i++){
+    _X[i][j] = T.get(i,0);
+  }
+}//
+
+void SGTELIB::Matrix::set_row (const double v , const int i){
+  #ifdef SGTELIB_DEBUG
+    if ( i < 0 || i >= _nbRows ){
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::set_row: bad index" );
+    }
+  #endif
+  for (int j=0 ; j<_nbCols ; j++){
+    _X[i][j] = v;
+  }
+}//
+
+void SGTELIB::Matrix::set_col (const double v , const int j){
+  #ifdef SGTELIB_DEBUG
+    if ( j < 0 || j >= _nbCols ){
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::set_col: bad index" );
+    }
+  #endif
+  for (int i=0 ; i<_nbRows ; i++){
+    _X[i][j] = v;
+  }
+}//
+
+void SGTELIB::Matrix::permute (const int i1 , const int j1 , const int i2 , const int j2 ){
+  #ifdef SGTELIB_DEBUG
+    if ( i1 < 0 || i1 >= _nbRows || j1 < 0 || j1 >= _nbCols || i2 < 0 || i2 >= _nbRows || j2 < 0 || j2 >= _nbCols ){
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::permut: bad index" );
+    }
+  #endif
+  double buffer = _X[i1][j1];
+  _X[i1][j1] = _X[i2][j2];
+  _X[i2][j2] = buffer;
+}//
+
+void SGTELIB::Matrix::multiply_row (const double v , const int i){
+  #ifdef SGTELIB_DEBUG
+    if ( i < 0 || i >= _nbRows ){
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::set_row: bad index" );
+    }
+  #endif
+  for (int j=0 ; j<_nbCols ; j++){
+    _X[i][j] *= v;
+  }
+}//
+
+void SGTELIB::Matrix::multiply_col (const double v , const int j){
+  #ifdef SGTELIB_DEBUG
+    if ( j < 0 || j >= _nbCols ){
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::set_col: bad index" );
+    }
+  #endif
+  for (int i=0 ; i<_nbRows ; i++){
+    _X[i][j] *= v;
+  }
+}//
+
+/*---------------------------*/
+/*  access to element (k)    */
+/*---------------------------*/
+double SGTELIB::Matrix::get ( const int k ) const {
+  return (*this)[k];
+}//
+
+
+const double & SGTELIB::Matrix::operator [] ( int k ) const {
+  int i = 0 , j = 0;
+  if (_nbRows==1) j=k; 
+  else if (_nbCols==1) i=k;
+  else throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::[k]: the matrix is not a vector" );
+  return _X[i][j];
+}//
+double & SGTELIB::Matrix::operator [] ( int k ){
+  int i = 0 , j = 0;
+  if (_nbRows==1) j=k; 
+  else if (_nbCols==1) i=k;
+  else throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::[k]: the matrix is not a vector" );
+  return _X[i][j];
+}//
+
+/*---------------------------*/
+/*  access to element (i,j)  */
+/*---------------------------*/
+double SGTELIB::Matrix::get ( const int i , const int j ) const {
+  #ifdef SGTELIB_DEBUG
+    if ( i < 0 || i >= _nbRows || j < 0 || j >= _nbCols ){
+      display(std::cout);
+      std::cout << "Error: try to access (" << i << "," << j << ") while dim is [" << _nbRows << "," << _nbCols << "]\n";
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::get(i,j): bad index" );
+    }
+  #endif
+  return _X[i][j];
+}//
+
+/*------------------------------------------*/
+/*  get (access to a subpart of the matrix  */
+/*------------------------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::get (const std::list<int> & list_cols , const std::list<int> & list_rows) const {
+  return get_rows(list_rows).get_cols(list_cols);
+}//
+
+/*---------------------------*/
+/*      get row              */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::get_row (const int i) const {
+  #ifdef SGTELIB_DEBUG
+    if ( i < 0 || i >= _nbRows )
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::get_row(i): bad index" );
+  #endif
+  SGTELIB::Matrix A (_name+"(i,:)",1,_nbCols);
+  for (int j=0 ; j<_nbCols ; j++){
+    A._X[0][j] = _X[i][j];
+  }
+  return A;
+}//
+
+/*---------------------------*/
+/*      get col              */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::get_col (const int j) const {
+  #ifdef SGTELIB_DEBUG
+    if ( j < 0 || j >= _nbCols )
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::get_row(i): bad index" );
+  #endif
+  SGTELIB::Matrix A (_name+"(:,j)",_nbRows,1);
+  for (int i=0 ; i<_nbRows ; i++){
+    A._X[i][0] = _X[i][j];
+  }
+  return A;
+}//
+
+/*---------------------------*/
+/*      get_rows             */
+/* get rows from i1 to i2-1  */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::get_rows  (const int i1, const int i2) const {
+
+  if ( (i1<0) || (i1>_nbRows) || (i2<0) || (i2>_nbRows) || (i1>=i2) ){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::get_rows: bad index" );
+  }
+
+  // Otherwise, select the rows
+  const int nbRows = i2-i1;
+  const int nbCols = _nbCols;
+  SGTELIB::Matrix A (_name+"(i1:i2-1,:)",nbRows,nbCols);
+
+  int i,k=0;
+  for ( i=i1 ; i<i2 ; i++ )
+    A.set_row(get_row(i),k++);
+  return A;
+}//
+
+/*---------------------------*/
+/*      get_cols             */
+/* get rows from i1 to i2-1  */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::get_cols  (const int i1, const int i2) const {
+
+  if ( (i1<0) || (i1>_nbCols) || (i2<0) || (i2>_nbCols) || (i1>=i2) ){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::get_cols: bad index" );
+  }
+
+  // Otherwise, select the rows
+  const int nbCols = i2-i1;
+  const int nbRows = _nbRows;
+  SGTELIB::Matrix A (_name+"(:,i1:i2-1)",nbRows,nbCols);
+
+  int i,k=0;
+  for ( i=i1 ; i<i2 ; i++ )
+    A.set_col(get_col(i),k++);
+  return A;
+}//
+
+/*---------------------------*/
+/*      get_rows             */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::get_rows (const std::list<int> & list_rows) const {
+
+  // If the list has only one element and this element is -1, then all rows are returned.
+  if ( (list_rows.size()==1) && (list_rows.front()==-1) ){
+    return *this;
+  }
+
+  // Otherwise, select the rows
+  const int nbRows = static_cast<int>(list_rows.size());
+  const int nbCols = _nbCols;
+  SGTELIB::Matrix A (_name+"_get_rows",nbRows,nbCols);
+  
+  std::list<int>::const_iterator it;
+
+  int k=0;
+  for ( it = list_rows.begin() ; it != list_rows.end() ; ++it ) {
+    if ( *it < 0 || *it >= _nbRows ) {
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::get_rows: bad index" );
+    }
+    A.set_row(get_row(*it),k++);
+  }
+  return A;
+}//
+
+/*---------------------------*/
+/*      get_cols             */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::get_cols (const std::list<int> & list_cols) const {
+
+  // If the list has only one element and this element is -1, then all rows are returned.
+  if ( (list_cols.size()==1) && (list_cols.front()==-1) ){
+    return *this;
+  }
+
+  // Otherwise, select the rows
+  const int nbRows = _nbRows;
+  const int nbCols = static_cast<int>(list_cols.size());
+  SGTELIB::Matrix A (_name+"_get_cols",nbRows,nbCols);
+  
+  std::list<int>::const_iterator it;
+
+  int k=0;
+  for ( it = list_cols.begin() ; it != list_cols.end() ; ++it ) {
+    if ( *it < 0 || *it >= _nbCols ) {
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::get_rows: bad index" );
+    }
+    A.set_col(get_col(*it),k++);
+  }
+
+  return A;
+}//
+
+/*----------------------------------------------------*/
+/*  count the number of different values in column j  */
+/*----------------------------------------------------*/
+int SGTELIB::Matrix::get_nb_diff_values ( int j ) const {
+  std::set<double> s;
+  for ( int i = 0 ; i < _nbRows ; ++i ){
+    s.insert ( _X[i][j] );
+  }
+  return static_cast<int> ( s.size() );
+}//
+
+/*---------------------------*/
+/*          display          */
+/*---------------------------*/
+void SGTELIB::Matrix::display ( std::ostream & out ) const {
+  int i , j;
+  out << std::endl << _name << "=[\n";
+  for ( i = 0 ; i < _nbRows ; ++i ) {
+    for ( j = 0 ; j < _nbCols ; ++j )
+      out << "\t" << std::setw(10) << _X[i][j] << " ";
+    out << ";" << std::endl;
+  }
+  out << "];" << std::endl;
+}//
+
+/*---------------------------*/
+/*          display          */
+/*---------------------------*/
+void SGTELIB::Matrix::display_short ( std::ostream & out ) const {
+  if (get_numel()<5) display(out);
+  else{
+    out << std::endl << _name << " ( " << _nbRows << " x " << _nbCols << " ) =\n[";
+    out << "\t" << std::setw(10) << _X[0][0] << " ";
+    if (_nbCols>2) out << "... ";
+    out << "\t" << std::setw(10) << _X[0][_nbCols] << "\n";
+    if (_nbRows>2) out << "\t       ...";
+    if (_nbCols>2) out << "    ";
+    if (_nbRows>2) out << "\t       ...\n";
+    out << "\t" << std::setw(10) << _X[_nbRows-1][0] << " ";
+    if (_nbCols>2) out << "... ";
+    out << "\t" << std::setw(10) << _X[_nbRows-1][_nbCols] << "]\n";
+  }
+}//
+
+/*---------------------------*/
+/*          write            */
+/*---------------------------*/
+void SGTELIB::Matrix::write ( const std::string & file_name ) const {
+  std::ofstream output_file;
+  output_file.open (file_name.c_str());
+  display(output_file);
+  output_file.close();  
+}//
+
+/*-------------------------------*/
+/*          display_size         */
+/*-------------------------------*/
+void SGTELIB::Matrix::display_size ( std::ostream & out ) const {
+  out << "Matrix " << _name << " : " << _nbRows << " , " << _nbCols << "\n";
+}//
+
+/*---------------------------*/
+/* double * to column vector */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::col_vector ( const double * v,
+                                              const int n     )  {
+  if ( ! v){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::column_vector: v is null" );
+  }  
+  SGTELIB::Matrix V("V",n,1);
+  for (int i=0 ; i<n ; i++){
+    V._X[i][0] = v[i];
+  }
+  return V;
+}//
+
+/*---------------------------*/
+/* double * to row vector    */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::row_vector ( const double * v,
+                                              const int n     )  {
+  if ( ! v){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::column_vector: v is null" );
+  }  
+  SGTELIB::Matrix V("V",1,n);
+  for (int i=0 ; i<n ; i++){
+    V._X[0][i] = v[i];
+  }
+  return V;
+}//
+
+/*---------------------------*/
+/*          product          */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::product ( const SGTELIB::Matrix & A,
+                                           const SGTELIB::Matrix & B )  {
+
+  if (A.get_nb_cols()!=B.get_nb_rows()){
+    std::cout << "A (" << A.get_name() << ") : " << A.get_nb_rows() << " , " << A.get_nb_cols() << "\n";
+    std::cout << "B (" << B.get_name() << ") : " << B.get_nb_rows() << " , " << B.get_nb_cols() << "\n";
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::product(A,B): dimension error" );
+  }  
+
+  // Init matrix
+  SGTELIB::Matrix C(A.get_name()+"*"+B.get_name(),A.get_nb_rows(),B.get_nb_cols());
+
+  // Compute
+  int i,j,k;
+  const int nb_rows = C.get_nb_rows();
+  const int nb_cols = C.get_nb_cols();
+  const int nb_inter= A.get_nb_cols();
+  //double v;
+  for ( i = 0 ; i < nb_rows ; ++i ) {
+    for ( j = 0 ; j < nb_cols ; ++j ){
+      C._X[i][j] = 0;
+      for ( k = 0 ; k < nb_inter; ++k ){
+        C._X[i][j] += A._X[i][k]*B._X[k][j];
+      }
+    }
+  }
+  return C;
+}//
+
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::product ( const SGTELIB::Matrix & A,
+                                           const SGTELIB::Matrix & B, 
+                                           const SGTELIB::Matrix & C){
+  return product(A,product(B,C));
+}//
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::product ( const SGTELIB::Matrix & A,
+                                           const SGTELIB::Matrix & B,
+                                           const SGTELIB::Matrix & C, 
+                                           const SGTELIB::Matrix & D){
+  return product(product(A,B),product(C,D));
+}//
+/*---------------------------*/
+
+/*---------------------------------------------------*/
+/* Subset product                                    */
+/* multiply                                          */
+/* the p first rows and q first columns of A         */
+/* with the q first rows and r first columns of B.   */
+/* Result is a matrix of size p/r.                   */
+/*---------------------------------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::subset_product (const SGTELIB::Matrix & A,
+                                                 const SGTELIB::Matrix & B,
+                                                 int p,
+                                                 int q,
+                                                 int r){
+
+  // Default p value
+  if (p==-1){
+    p=A.get_nb_rows();
+  }
+  // Otherwise, need to check the number of rows.
+  else if (A.get_nb_rows()<p){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::subset_product: dimension error" );
+  }  
+
+  // Default q value
+  if ( (q==-1) & (A.get_nb_cols()==B.get_nb_rows()) ){
+    q = A.get_nb_cols();
+  }
+  else{
+    // Check for q
+    if (A.get_nb_cols()<q){
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::subset_product: dimension error" );
+    }  
+    if (B.get_nb_rows()<q){
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::subset_product: dimension error" );
+    }  
+  }
+
+  // Default r value
+  if (r==-1){
+    r = B.get_nb_cols();
+  }
+  else if (B.get_nb_cols()<r){
+    // Check for r
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::subset_product: dimension error" );
+  }  
+
+  SGTELIB::Matrix C("A*B",p,r);
+  for (int i=0 ; i<p ; i++){
+    for (int j=0 ; j<r ; j++){
+      for (int k=0 ; k<q ; k++){
+        C._X[i][j] += A._X[i][k]*B._X[k][j];
+      } 
+    }
+  }
+  return C;
+
+}//
+
+/*---------------------------*/
+/* Hadamard product          */
+/* (Term to term product)    */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::hadamard_product ( const SGTELIB::Matrix & A,
+                                                    const SGTELIB::Matrix & B )  {
+  const int nb_rows = A.get_nb_rows();
+  const int nb_cols = A.get_nb_cols();
+
+  if (B.get_nb_rows()!=nb_rows){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::hadamard_product(A,B): dimension error" );
+  }  
+  if (B.get_nb_cols()!=nb_cols){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::hadamard_product(A,B): dimension error" );
+  }  
+
+  // Init matrix
+  SGTELIB::Matrix C(A.get_name()+".*"+B.get_name(),nb_rows,nb_cols);
+
+  // Compute
+  int i,j;
+  for ( i = 0 ; i < nb_rows ; ++i ) {
+    for ( j = 0 ; j < nb_cols ; ++j ){
+      C.set(i,j,A.get(i,j)*B.get(i,j));
+    }
+  }
+  return C;
+}//
+
+/*---------------------------*/
+/* Hadamard square           */
+/* (Term to term square)     */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::hadamard_square ( const SGTELIB::Matrix & A )  {
+  const int nb_rows = A.get_nb_rows();
+  const int nb_cols = A.get_nb_cols();
+
+  // Init matrix
+  SGTELIB::Matrix C("("+A.get_name()+").^2",nb_rows,nb_cols);
+
+  // Compute
+  int i,j;
+  double a;
+  for ( i = 0 ; i < nb_rows ; ++i ) {
+    for ( j = 0 ; j < nb_cols ; ++j ){
+      a = A._X[i][j];
+      C._X[i][j] = a*a;
+    }
+  }
+  return C;
+}//
+
+/*---------------------------*/
+/* Hadamard square           */
+/* (Term to term square)     */
+/*---------------------------*/
+void SGTELIB::Matrix::hadamard_square ( void )  {
+  // change name
+  _name = "("+_name+").^2";
+  // Compute
+  int i,j;
+  for ( i = 0 ; i < _nbRows ; ++i ) {
+    for ( j = 0 ; j < _nbCols ; ++j ){
+      _X[i][j] *= _X[i][j];
+    }
+  }
+}//
+
+/*---------------------------*/
+/* Hadamard inverse          */
+/* (Term to term inverse)    */
+/*---------------------------*/
+void SGTELIB::Matrix::hadamard_inverse ( void )  {
+  // change name
+  _name = "("+_name+").^-1";
+  // Compute
+  int i,j;
+  for ( i = 0 ; i < _nbRows ; ++i ) {
+    for ( j = 0 ; j < _nbCols ; ++j ){
+      _X[i][j] = 1/_X[i][j];
+    }
+  }
+}//
+
+/*---------------------------*/
+/* Hadamard sqrt             */
+/* (Term to term sqrt)       */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::hadamard_sqrt ( const SGTELIB::Matrix & A )  {
+  const int nb_rows = A.get_nb_rows();
+  const int nb_cols = A.get_nb_cols();
+
+  // Init matrix
+  SGTELIB::Matrix C("sqrt("+A.get_name()+")",nb_rows,nb_cols);
+
+  // Compute
+  int i,j;
+  for ( i = 0 ; i < nb_rows ; ++i ) {
+    for ( j = 0 ; j < nb_cols ; ++j ){
+      C._X[i][j] = sqrt(fabs(A._X[i][j]));
+    }
+  }
+  return C;
+}//
+
+/*---------------------------*/
+/* Hadamard power            */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::hadamard_power ( const SGTELIB::Matrix & A , const double e )  {
+
+  if (e==1.0) return A;
+
+  const int nb_rows = A.get_nb_rows();
+  const int nb_cols = A.get_nb_cols();
+
+  // Init matrix
+  SGTELIB::Matrix C("pow("+A.get_name()+","+dtos(e)+")",nb_rows,nb_cols);
+
+  // Compute
+  int i,j;
+  for ( i = 0 ; i < nb_rows ; ++i ) {
+    for ( j = 0 ; j < nb_cols ; ++j ){
+      C._X[i][j] = pow(A._X[i][j],e);
+    }
+  }
+  return C;
+}//
+
+/*---------------------------*/
+/* Hadamard sqrt             */
+/* (Term to term sqrt)       */
+/*---------------------------*/
+void SGTELIB::Matrix::hadamard_sqrt ( void )  {
+  // change name
+  _name = "sqrt("+_name+")";
+  // Compute
+  int i,j;
+  for ( i = 0 ; i < _nbRows ; ++i ) {
+    for ( j = 0 ; j < _nbCols ; ++j ){
+      _X[i][j] = sqrt(fabs(_X[i][j]));
+    }
+  }
+}//
+
+/*---------------------------------------*/
+/*             diagA_product             */
+/*        Product A*B, considering       */
+/*    that A is diag (no verif on this)  */
+/*---------------------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::diagA_product ( const SGTELIB::Matrix & A,
+                                                 const SGTELIB::Matrix & B )  {
+
+  // Init matrix
+  const int na = A.get_nb_rows();
+  const int ma = A.get_nb_cols();
+  const int n = B.get_nb_rows();
+  const int m = B.get_nb_cols();
+  SGTELIB::Matrix C(A.get_name()+"*"+B.get_name(),n,m);
+
+  int i,j;
+  double Aii;
+
+  if ( (na==ma) || (ma==n) ){
+    // A is square, use the diag terms
+    for ( i = 0 ; i < n ; i++ ) {
+      Aii = A._X[i][i];
+      for ( j = 0 ; j < m ; j++ ) {
+        C._X[i][j] = Aii*B._X[i][j];
+      }
+    }
+    return C;
+  }
+  else if ( (na==1) && (ma==n) ){
+    // A is a line vector
+    for ( i = 0 ; i < n ; i++ ) {
+      Aii = A._X[0][i];
+      for ( j = 0 ; j < m ; j++ ) {
+        C._X[i][j] = Aii*B._X[i][j];
+      }
+    }
+    return C;
+  }
+  else if ( (na==n) && (ma==1) ){
+    // A is a col vector
+    for ( i = 0 ; i < n ; i++ ) {
+      Aii = A._X[i][0];
+      for ( j = 0 ; j < m ; j++ ) {
+        C._X[i][j] = Aii*B._X[i][j];
+      }
+    }
+    return C;
+  }
+  else {
+    std::cout << "A (" << A.get_name() << ") : " << A.get_nb_rows() << " , " << A.get_nb_cols() << "\n";
+    std::cout << "B (" << B.get_name() << ") : " << B.get_nb_rows() << " , " << B.get_nb_cols() << "\n";
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::diagA_product(A,B): dimension error" );
+  }  
+
+}//
+
+/*---------------------------------------*/
+/*             diagB_product             */
+/*        Product A*B, considering       */
+/*    that B is diag (no verif on this)  */
+/*---------------------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::diagB_product ( const SGTELIB::Matrix & A,
+                                                 const SGTELIB::Matrix & B )  {
+
+  // Init matrix
+  const int n = A.get_nb_rows();
+  const int m = A.get_nb_cols();
+  const int nb = B.get_nb_rows();
+  const int mb = B.get_nb_cols();
+  SGTELIB::Matrix C(A.get_name()+"*"+B.get_name(),n,m);
+
+  int i,j;
+  double Bjj;
+
+  if ( (nb==mb) && (mb==n) ){
+    // B is square, use the diag terms
+    for ( j = 0 ; j < m ; j++ ) {
+      Bjj = B._X[j][j];
+      for ( i = 0 ; i < n ; i++ ) {
+        C._X[i][j] = A._X[i][j]*Bjj;
+      }
+    }
+    return C;
+  }
+  else if ( (nb==1) && (mb==m) ){
+    // B is a line vector
+    for ( j = 0 ; j < m ; j++ ) {
+      Bjj = B._X[0][j];
+      for ( i = 0 ; i < n ; i++ ) {
+        C._X[i][j] = A._X[i][j]*Bjj;
+      }
+    }
+    return C;
+  }
+  else if ( (nb==m) && (mb==1) ){
+    // B is a col vector
+    for ( j = 0 ; j < m ; j++ ) {
+      Bjj = B._X[j][0];
+      for ( i = 0 ; i < n ; i++ ) {
+        C._X[i][j] = A._X[i][j]*Bjj;
+      }
+    }
+    return C;
+  }
+  else {
+    std::cout << "A (" << A.get_name() << ") : " << A.get_nb_rows() << " , " << A.get_nb_cols() << "\n";
+    std::cout << "B (" << B.get_name() << ") : " << B.get_nb_rows() << " , " << B.get_nb_cols() << "\n";
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::diagB_product(A,B): dimension error" );
+  }  
+}//
+
+
+/*-------------------------------------*/
+/*      transposeA_product             */
+/*        Product A'*B                 */
+/*-------------------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::transposeA_product ( const SGTELIB::Matrix & A,
+                                                      const SGTELIB::Matrix & B )  {
+
+  if (A.get_nb_rows()!=B.get_nb_rows()){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::transposeA_product(A,B): dimension error" );
+  }  
+
+  // Init matrix
+  SGTELIB::Matrix C(A.get_name()+"'*"+B.get_name(),A.get_nb_cols(),B.get_nb_cols());
+
+  // Compute
+  int i,j,k;
+  const int nb_rows = C.get_nb_rows();
+  const int nb_cols = C.get_nb_cols();
+  const int nb_inter= A.get_nb_rows();
+  //double v;
+  for ( i = 0 ; i < nb_rows ; ++i ) {
+    for ( j = 0 ; j < nb_cols ; ++j ){
+      C._X[i][j] = 0;
+      for ( k = 0 ; k < nb_inter; ++k ){
+        C._X[i][j] += A._X[k][i]*B._X[k][j];
+      }
+    }
+  }
+  return C;
+
+}//
+
+
+
+/*---------------------------*/
+/*        get matrix P       */
+/* P = I - H*Ai*H'           */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::get_matrix_P ( const SGTELIB::Matrix & Ai,
+                                                const SGTELIB::Matrix & H ){
+  const int p = H.get_nb_rows();
+  std::cout << "Function get_matrix_P should be avoided !!\n";
+  return identity(p) - (H * Ai * H.transpose());
+}//
+
+/*---------------------------*/
+/*  compute P*Zs             */
+/* where P = I - H*Ai*H'     */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::get_matrix_PZs ( const SGTELIB::Matrix & Ai,
+                                                  const SGTELIB::Matrix & H ,
+                                                  const SGTELIB::Matrix & Zs){
+  //return Zs - H * Ai * H' * Zs;
+  return Zs - (H * Ai) * transposeA_product(H,Zs);
+}//
+
+/*---------------------------*/
+/*      get matrix dPi       */
+/*      dPi = diag(P)^-1     */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::get_matrix_dPi ( const SGTELIB::Matrix & Ai,
+                                                  const SGTELIB::Matrix & H ){
+  const int p = H.get_nb_rows();
+  SGTELIB::Matrix dPi ("dPi",p,p);
+  SGTELIB::Matrix h;
+  double v;
+
+  for ( int i = 0 ; i < p ; ++i ) {
+    h = H.get_row(i);
+    v = (h*Ai*h.transpose()).get(0,0);    
+    v = 1.0/( 1.0 - v );
+    dPi.set(i,i,v);
+  }
+  return dPi;
+}//
+
+/*---------------------------*/
+/*  compute dPi*P*Zs         */
+/* where P = I - H*Ai*H'     */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::get_matrix_dPiPZs ( const SGTELIB::Matrix & Ai,
+                                                     const SGTELIB::Matrix & H ,
+                                                     const SGTELIB::Matrix & Zs){
+
+  const SGTELIB::Matrix HAi = H*Ai;
+  //SGTELIB::Matrix dPiPZs = Zs - HAi * (H.transpose()*Zs);
+  SGTELIB::Matrix dPiPZs = Zs - HAi * transposeA_product(H,Zs);
+
+  // Take dPi into account
+  const int p = H.get_nb_rows();
+  const int q = H.get_nb_cols();
+  double v;
+  int i,j;
+  for ( i = 0 ; i < p ; i++ ) {
+    v = 0;
+    for ( j = 0 ; j < q ; j++) v += HAi._X[i][j]*H._X[i][j];
+    v = 1.0/( 1.0 - v );
+    dPiPZs.multiply_row ( v , i );
+  }
+
+  return dPiPZs;
+}//
+
+/*---------------------------*/
+/*  compute dPi*P*Zs         */
+/* where P = I - H*Ai*H'     */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::get_matrix_dPiPZs ( const SGTELIB::Matrix & Ai,
+                                                     const SGTELIB::Matrix & H ,
+                                                     const SGTELIB::Matrix & Zs,
+                                                     const SGTELIB::Matrix & ALPHA){
+
+  const SGTELIB::Matrix HAi = H*Ai;
+  //SGTELIB::Matrix dPiPZs = Zs - HAi * (H.transpose()*Zs);
+  SGTELIB::Matrix dPiPZs = Zs - H*ALPHA;
+
+  // Take dPi into account
+  const int p = H.get_nb_rows();
+  const int q = H.get_nb_cols();
+  double v;
+  int i,j;
+  for ( i = 0 ; i < p ; i++ ) {
+    v = 0;
+    for ( j = 0 ; j < q ; j++) v += HAi._X[i][j]*H._X[i][j];
+    v = 1.0/( 1.0 - v );
+    dPiPZs.multiply_row ( v , i );
+  }
+
+  return dPiPZs;
+}//
+
+
+
+
+/*---------------------------*/
+/*      get trace P          */
+/*---------------------------*/
+double SGTELIB::Matrix::get_trace_P ( const SGTELIB::Matrix & Ai,
+                                      const SGTELIB::Matrix & H ){
+  const int p = H.get_nb_rows();
+  SGTELIB::Matrix h;
+  double v;
+  double trace = 0;
+
+  for ( int i = 0 ; i < p ; ++i ) {
+    h = H.get_row(i);
+    v = (h*Ai*h.transpose()).get(0,0);    
+    trace += v;
+  }
+  return trace;
+}//
+
+/*---------------------------*/
+/*          addition         */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::add ( const SGTELIB::Matrix & A,
+                                       const SGTELIB::Matrix & B )  {
+
+  if (A.get_nb_cols()!=B.get_nb_cols()){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+             "Matrix::add(A,B): dimension error" );
+  }  
+  if (A.get_nb_rows()!=B.get_nb_rows()){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+             "Matrix::add(A,B): dimension error" );
+  }  
+
+  const int nb_rows = A.get_nb_rows();
+  const int nb_cols = A.get_nb_cols();
+
+  // Init matrix
+  SGTELIB::Matrix C(A.get_name()+"+"+B.get_name(),nb_rows,nb_cols);
+
+  // Compute
+  int i,j;
+  for ( i = 0 ; i < nb_rows ; ++i ) {
+    for ( j = 0 ; j < nb_cols ; ++j ){
+      C._X[i][j] = A._X[i][j]+B._X[i][j];
+    }
+  }
+  return C;
+}//
+
+/*---------------------------*/
+/*          addition         */
+/*---------------------------*/
+void SGTELIB::Matrix::add ( const SGTELIB::Matrix & B ) {
+
+  if ( _nbCols != B.get_nb_cols() ){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Matrix::add(B): dimension error" );
+  }  
+  if ( _nbRows != B.get_nb_rows() ){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Matrix::add(B): dimension error" );
+  }  
+
+  // Compute
+  int i,j;
+  for ( i = 0 ; i < _nbRows ; ++i ) {
+    for ( j = 0 ; j < _nbCols ; ++j ){
+      _X[i][j] += B.get(i,j);
+    }
+  }
+}//
+
+/*---------------------------*/
+/*     add and fill with 0   */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::add_fill ( const SGTELIB::Matrix & A,
+                                            const SGTELIB::Matrix & B )  {
+
+  const int nb_rows = std::max(A.get_nb_rows(),B.get_nb_rows());
+  const int nb_cols = std::max(A.get_nb_cols(),B.get_nb_cols());
+
+  // Init matrix
+  SGTELIB::Matrix C(A.get_name()+"+"+B.get_name(),nb_rows,nb_cols);
+
+  // Compute
+  int i,j;
+  for ( i = 0 ; i < A.get_nb_rows() ; ++i ) {
+    for ( j = 0 ; j < A.get_nb_cols() ; ++j ){
+      C._X[i][j] = A._X[i][j];
+    }
+  }
+  for ( i = 0 ; i < B.get_nb_rows() ; ++i ) {
+    for ( j = 0 ; j < B.get_nb_cols() ; ++j ){
+      C._X[i][j] += B._X[i][j];
+    }
+  }
+  return C;
+}//
+
+/*---------------------------*/
+/*          substraction     */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::sub ( const SGTELIB::Matrix & A,
+                                       const SGTELIB::Matrix & B )  {
+
+  if (A.get_nb_cols()!=B.get_nb_cols()){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+             "Matrix::sub(A,B): dimension error" );
+  }  
+  if (A.get_nb_rows()!=B.get_nb_rows()){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+             "Matrix::sub(A,B): dimension error" );
+  }  
+
+  int nb_rows = A.get_nb_rows();
+  int nb_cols = A.get_nb_cols();
+
+  // Init matrix
+  SGTELIB::Matrix C(A.get_name()+"-"+B.get_name(),nb_rows,nb_cols);
+
+  // Compute
+  int i,j;
+  for ( i = 0 ; i < nb_rows ; ++i ) {
+    for ( j = 0 ; j < nb_cols ; ++j ){
+      C.set(i,j,A.get(i,j)-B.get(i,j));
+    }
+  }
+  return C;
+}//
+
+/*---------------------------*/
+/*          substraction     */
+/*---------------------------*/
+void SGTELIB::Matrix::sub ( const SGTELIB::Matrix & B ) {
+
+  if ( _nbCols != B.get_nb_cols() ){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Matrix::sub(B): dimension error" );
+  }  
+  if ( _nbRows != B.get_nb_rows() ){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Matrix::sub(B): dimension error" );
+  }  
+
+  // Compute
+  int i,j;
+  for ( i = 0 ; i < _nbRows ; ++i ) {
+    for ( j = 0 ; j < _nbCols ; ++j ){
+      _X[i][j] -= B._X[i][j];
+    }
+  }
+}//
+
+/*---------------------------*/
+/*          identity         */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::identity ( const int n )  {
+
+  // Init matrix
+  SGTELIB::Matrix I("I",n,n);
+  // Fill with 0.0
+  I.fill(0.0);
+  // Put one on the diag
+  for ( int i = 0 ; i < n ; ++i ) {
+    I.set(i,i,1.0);
+  }
+  return I;
+}//
+
+/*---------------------------*/
+/*          ones             */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::ones ( const int nbRows , const int nbCols ) {
+  // Init matrix
+  SGTELIB::Matrix matrixOnes("Ones",nbRows,nbCols);
+  // Fill with 1.0
+  matrixOnes.fill(1.0);
+  return matrixOnes;
+}//
+
+/*---------------------------*/
+/* random permutation matrix */
+/*---------------------------*/
+// Create a square matrix of size nbCols, with one 1.0 randomly 
+// placed in each col and in each row
+SGTELIB::Matrix SGTELIB::Matrix::random_permutation_matrix ( const int n ) {
+  // Init matrix
+  SGTELIB::Matrix perm("perm",n,n);
+
+  // Create random integer permutation
+  std::vector<int> v;
+
+  // Create order vector
+  for (int i=0; i<n; ++i) v.push_back(i); // 1 2 3 4 5 6 7 8 9
+
+  // shuffle
+  std::random_shuffle ( v.begin(), v.end() );
+
+  // Fill matrix
+  for (int i=0; i<n; ++i) perm.set(i,v.at(i),1.0);
+
+  return perm;
+}//
+
+/*---------------------------*/
+/* rank                      */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::rank ( void ) const {
+
+  // TODO: use faster method...
+  if ((_nbRows>1) && (_nbCols>1)) 
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Matrix::rank: dimension error" );
+
+  SGTELIB::Matrix R;
+  if (_nbRows>1){
+    R = this->transpose().rank();
+    R = R.transpose();
+  }
+  else{
+    const int m = _nbCols;
+    SGTELIB::Matrix D = *this;
+    R = SGTELIB::Matrix("R",1,m);
+    double dmin;
+    int i,j,jmin=0;
+    for (i=0 ; i<m ; i++){
+      dmin = +INF;
+      for (j=0 ; j<m ; j++){
+        if (D._X[0][j]<dmin){
+          jmin = j;
+          dmin = D._X[0][j];
+        }
+      }
+      R.set(0,jmin,double(i));
+      D.set(0,jmin,INF);
+    }
+  }
+  return R;
+}//
+
+/*---------------------------*/
+/*        Trace              */
+/*---------------------------*/
+double SGTELIB::Matrix::trace ( void ) const{
+  int min_nm = std::min(_nbCols,_nbRows);
+  double v = 0;
+  for (int i=0 ; i<min_nm ; i++){
+    // get diagonal term
+    v += get(i,i);
+  }
+  return v;
+}//
+
+/*---------------------------*/
+/*        Rmse               */
+/*---------------------------*/
+double SGTELIB::Matrix::rmse ( void ) const{
+  double v = 0;
+
+  // Compute
+  int i,j;
+  double xij;
+  for ( i = 0 ; i < _nbRows ; ++i ) {
+    for ( j = 0 ; j < _nbCols ; ++j ){
+      xij = _X[i][j];
+      v += xij*xij;
+    }
+  }
+  v /= _nbRows * _nbCols;
+  v = sqrt(v);
+  return v;
+}//
+
+/*---------------------------*/
+/*        norm               */
+/*---------------------------*/
+double SGTELIB::Matrix::normsquare ( void ) const{
+  double v = 0;
+  // Compute
+  int i,j;
+  double xij;
+  for ( i = 0 ; i < _nbRows ; ++i ) {
+    for ( j = 0 ; j < _nbCols ; ++j ){
+      xij = _X[i][j];
+      v += xij*xij;
+    }
+  }
+  return v;
+}//
+
+/*----------------------------------------*/
+/*        normalize_cols                  */
+/* Normalizes each column so that the sum */
+/* of the terms on this column is 1       */
+/*----------------------------------------*/
+void SGTELIB::Matrix::normalize_cols ( void ){
+  int i,j;
+  double d;
+  for ( j = 0 ; j < _nbCols ; ++j ){
+    d = 0;
+
+    for ( i = 0 ; i < _nbRows ; ++i )
+      d += _X[i][j];
+
+    if (d==0){
+      for ( i = 0 ; i < _nbRows ; ++i )
+        _X[i][j] = 1/_nbRows;
+    }
+    else{
+      for ( i = 0 ; i < _nbRows ; ++i )
+        _X[i][j] /= d;
+    }
+  }
+}//
+
+
+
+/*---------------------------*/
+/*        square norm        */
+/*---------------------------*/
+double SGTELIB::Matrix::norm ( void ) const{
+  return sqrt(normsquare());
+}//
+
+/*---------------------------*/
+/*        sum                */
+/*---------------------------*/
+double SGTELIB::Matrix::sum ( void ) const{
+  double v = 0;
+
+  // Compute
+  int i,j;
+  for ( i = 0 ; i < _nbRows ; ++i ) {
+    for ( j = 0 ; j < _nbCols ; ++j ){
+      v += _X[i][j];
+    }
+  }
+  return v;
+}//
+
+/*-------------------------------------------------*/
+/*        sum                                      */
+/* Sum the element along one of the two directions */
+/* direction == 1 => return the sum for each row   */
+/* direction == 2 => return the sum for each col   */
+/*-------------------------------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::sum ( const int direction ) const{
+
+  double v;
+  int i,j;
+  
+  if (direction == 1){
+    SGTELIB::Matrix S ("S",1,_nbCols);
+    for ( j = 0 ; j < _nbCols ; ++j ){
+      v = 0;
+      for ( i = 0 ; i < _nbRows ; ++i ) {
+        v += _X[i][j];
+      }
+      S._X[0][j] = v;
+    }
+    return S;
+  }
+  else if (direction == 2){
+    SGTELIB::Matrix S ("S",_nbRows,1);
+    for ( i = 0 ; i < _nbRows ; ++i ) {
+      v = 0;
+      for ( j = 0 ; j < _nbCols ; ++j ){
+        v += _X[i][j];
+      }
+      S._X[i][0] = v;
+    }
+    return S;
+  }
+  else{
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+             "Matrix::sum(direction): direction must be 1 or 2" );
+  }
+}//
+
+/*---------------------------*/
+/*        mean               */
+/*---------------------------*/
+double SGTELIB::Matrix::mean ( void ) const{
+  return sum()/(_nbRows*_nbCols);
+}//
+
+/*---------------------------*/
+/*        count              */
+/* Number of non null values */
+/*---------------------------*/
+int SGTELIB::Matrix::count ( void ) const{
+  int v = 0;
+
+  // Compute
+  int i,j;
+  const int nb_rows = get_nb_rows();
+  const int nb_cols = get_nb_cols();
+  for ( i = 0 ; i < nb_rows ; ++i ) {
+    for ( j = 0 ; j < nb_cols ; ++j ){
+      v += (fabs(_X[i][j])>EPSILON)? 1:0 ;
+    }
+  }
+  return v;
+}//
+
+/*---------------------------*/
+/*        Diag inverse       */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::diag_inverse ( void ) const{
+  // Return a new matrix such that:
+  // Non diagonal terms are null
+  // Diagonal terms are the inverse of the original ones.
+  // Works for square and non-square matrices.
+  //
+  // Does not work if a diag term is 0.
+
+  // New matrix
+  SGTELIB::Matrix DI("diag("+_name+")^-1",_nbCols,_nbRows);
+  // nb: this constructor initializes the matrix to 0.0
+
+  const int min_nm = std::min(_nbCols,_nbRows);
+
+  double v = 0;
+  for (int i=0 ; i<min_nm ; i++){
+    // get diagonal term
+    v = get(i,i);
+    DI.set(i,i,1/v);
+  }
+  return DI;
+}//
+
+/*------------------------------------------------*/
+/*  solve linear system with conjugate gradient   */
+/*------------------------------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::conjugate_solve ( const SGTELIB::Matrix & A ,
+                                                  const SGTELIB::Matrix & b ,
+                                                  const SGTELIB::Matrix & x0 ,
+                                                  const double tol) {
+
+  const int n = x0.get_nb_rows();
+  SGTELIB::Matrix x = x0;
+  SGTELIB::Matrix r = b-A*x;
+  double rr = r.normsquare();
+  SGTELIB::Matrix p = r;
+  SGTELIB::Matrix Ap;
+  double rr_old,alpha,pAp;
+  int iter = 0;
+  while (iter < 100){
+    Ap = A*p;
+    pAp = 0;
+    for (int i=0 ; i<n ; i++) pAp += p._X[i][0]*Ap._X[i][0];
+    alpha = rr/pAp;
+    x = x+alpha*p;
+    rr_old = rr;
+    r = r-alpha*Ap;
+    rr = r.normsquare();
+    if (rr < tol) break;
+    p = r + (rr/rr_old)*p;
+
+    Ap.set_name("Ap");
+    x.set_name("x");
+    r.set_name("r");
+    p.set_name("p");
+  }
+  return x;
+}//
+
+/*---------------------------*/
+/*  cholesky decomposition   */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::cholesky ( void ) const {
+
+  if (get_nb_rows()!=get_nb_cols()){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+             "Matrix::cholesky(): dimension error" );
+  }
+
+  const int n = get_nb_rows();
+  SGTELIB::Matrix L ("L",n,n);
+
+  double s;
+  int i,j,k;
+  for (i = 0; i < n; i++) {
+    for (j = 0; j < (i+1); j++) {
+      s = 0;
+      for (k = 0; k < j; k++){
+        s += L._X[i][k] * L._X[j][k];
+      }
+      L._X[i][j] = (i == j) ?
+         sqrt(_X[i][i] - s) :
+         (1.0 / L._X[j][j] * (_X[i][j] - s));
+    }
+  }
+  return L;
+}//
+
+/*---------------------------*/
+/*  cholesky inverse         */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::cholesky_inverse ( void ) const {
+  return cholesky_inverse(NULL);
+}
+
+
+SGTELIB::Matrix SGTELIB::Matrix::cholesky_inverse ( double * det ) const {
+  SGTELIB::Matrix L  = cholesky();
+  SGTELIB::Matrix Li = tril_inverse(L);
+
+  const int n = _nbRows;
+
+  // Compute A = Li'*Li
+  // Note: by taking into account the fact that Li is tri inf,
+  // It is possible to divide the cost of the computation
+  // of Li'*Li by 3.
+  SGTELIB::Matrix A ("A",n,n);
+  int i,j,k,kmin;
+  for (i=0 ; i<n ; i++){
+    for (j=0 ; j<n ; j++){
+      A._X[i][j] = 0;
+      kmin = std::max(i,j);
+      for (k=kmin ; k<n ; k++){
+          A._X[i][j] += Li._X[k][i]*Li._X[k][j];
+      }
+    }
+  }
+
+  if (det){
+    double v = 1;
+    for (i=0 ; i<n ; i++) v *= L._X[i][i];
+    v *= v;
+    if ( isnan(v)) v=+INF;
+    *det = v;
+  }
+
+  return A;
+}//
+
+/*-----------------------------------------*/
+/*  Solve Upper Triangular Linear system   */
+/*-----------------------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::triu_solve( const SGTELIB::Matrix & U , 
+                                            const SGTELIB::Matrix & b ){
+  const int n = U.get_nb_rows();
+  if (n!=U.get_nb_cols()){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+             "Matrix::triu_solve(): dimension error" );
+  }
+  if (n!=b.get_nb_rows()){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+             "Matrix::triu_solve(): dimension error" );
+  }
+  if (1!=b.get_nb_cols()){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+             "Matrix::triu_solve(): dimension error" );
+  }
+  
+  SGTELIB::Matrix x = b;
+
+  for (int i=n-1 ; i>=0 ; i--){
+    for (int j=i+1 ; j<n ; j++){
+      x._X[i][0] -= U._X[i][j]*x._X[j][0];
+    }
+    x._X[i][0] /= U._X[i][i];
+  }
+
+  return x;
+}//
+
+/*-----------------------------------------*/
+/*    Inverse Lower Triangular Matrix      */
+/*-----------------------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::tril_inverse( const SGTELIB::Matrix & L ){
+  const int n = L.get_nb_rows(); 
+  SGTELIB::Matrix Li = L;
+  SGTELIB::Matrix b ("b",n,1);
+  
+  for (int i=0 ; i<n ; i++){
+    b.set(i,0,1.0);
+    Li.set_col( SGTELIB::Matrix::tril_solve(L,b) , i);
+    b.set(i,0,0.0);
+  }
+
+  return Li;
+}//
+
+/*-----------------------------------------*/
+/*  Solve Lower Triangular Linear system   */
+/*-----------------------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::tril_solve( const SGTELIB::Matrix & L , 
+                                             const SGTELIB::Matrix & b ){
+  const int n = L.get_nb_rows();
+  if (n!=L.get_nb_cols()){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+             "Matrix::tril_solve(): dimension error" );
+  }
+  if (n!=b.get_nb_rows()){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+             "Matrix::tril_solve(): dimension error" );
+  }
+  if (1!=b.get_nb_cols()){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+             "Matrix::tril_solve(): dimension error" );
+  }
+  
+  SGTELIB::Matrix x = b;
+
+  for (int i=0 ; i<n ; i++){
+    for (int j=0 ; j<i ; j++){
+      x._X[i][0] -= L._X[i][j]*x._X[j][0];
+    }
+    x._X[i][0] /= L._X[i][i];
+  }
+
+  return x;
+}//
+
+/*-----------------------------------------*/
+/*  Solve System with Cholesky             */
+/*-----------------------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::cholesky_solve ( const SGTELIB::Matrix & A ,
+                                                  const SGTELIB::Matrix & b ) {
+  SGTELIB::Matrix L = A.cholesky();
+  SGTELIB::Matrix y = tril_solve(L,b);
+  SGTELIB::Matrix x = triu_solve(L.transpose(),y);
+  return x;
+}//
+
+/*---------------------------*/
+/*        SVD inverse        */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::SVD_inverse ( void ) const {
+  
+  if (get_nb_rows()!=get_nb_cols()){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+             "Matrix::SVD_inverse(): dimension error" );
+  }
+
+  // Init SVD matrices
+  SGTELIB::Matrix * U;
+  SGTELIB::Matrix * W;
+  SGTELIB::Matrix * V;
+
+  // Perform SVD
+  std::string error_msg;
+  SVD_decomposition ( error_msg , U, W, V, 1000000000 );
+
+  // Inverse diag terms of W.
+  for (int i=0 ; i<W->get_nb_rows() ; i++){
+    W->set(i,i,1/W->get(i,i));
+  }
+  
+  *U = U->transpose();
+  SGTELIB::Matrix INVERSE (product ( *V , *W , *U ));
+  INVERSE.set_name("inv("+_name+")");
+  delete V;
+  delete W;
+  delete U;
+  return INVERSE;
+}//
+
+/*---------------------------*/
+/*        transpose          */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::transpose ( void ) const{
+  SGTELIB::Matrix A (_name+"'",_nbCols,_nbRows); 
+  for (int i=0 ; i<_nbCols ; i++){
+    for (int j=0 ; j<_nbRows ; j++){
+      A.set(i,j,_X[j][i]);
+    }
+  }
+  return A;
+}//
+
+/*---------------------------*/
+/*        diag               */
+/*---------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::diag ( void ) const{
+
+  SGTELIB::Matrix A;
+  if (_nbCols==_nbRows){
+    A = SGTELIB::Matrix("A",_nbRows,1);   
+    for (int i=0 ; i<_nbCols ; i++) A.set(i,0,_X[i][i]);
+  }
+  else if ( (_nbCols==1) || (_nbRows==1) ){
+    const int n=std::max(_nbCols,_nbRows);
+    A = SGTELIB::Matrix("A",_nbRows,1);   
+    for (int i=0 ; i<n ; i++) A.set(i,i,get(i));
+  }
+  else{
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Matrix::diag(): dimension error" );
+  }
+
+  A.set_name("diag("+_name+")");
+  return A;
+}//
+
+/*--------------------------------------------------------------*/
+/*                        SVD decomposition                     */
+/*  inspired and recoded from an old numerical recipes version  */
+/*--------------------------------------------------------------*/
+/*                                                              */
+/*           M = U . W . V'   (M: current matrix object)        */
+/*                                                              */
+/*           M ( nbRows x nbCols )                              */
+/*           U ( nbRows x nbCols )                              */
+/*           W ( nbCols x nbCols )                              */
+/*           V ( nbCols x nbCols )                              */
+/*                                                              */
+/*           U.U' = U'.U = I if nbRows = nbCols                 */
+/*           U'.U = I        if nbRows > nbCols                 */
+/*                                                              */
+/*           V.V' = V'.V = I                                    */
+/*                                                              */
+/*           W diagonal, given as a size-nbCols vector          */
+/*                                                              */
+/*           V is given, not V'                                 */
+/*                                                              */
+/*--------------------------------------------------------------*/
+
+bool SGTELIB::Matrix::SVD_decomposition ( std::string & error_msg ,
+                                          SGTELIB::Matrix *& MAT_U,  // OUT, nbRows x nbCols
+                                          SGTELIB::Matrix *& MAT_W,  // OUT, nbCols x nbCols, diagonal
+                                          SGTELIB::Matrix *& MAT_V,  // OUT, nbCols x nbCols
+                                          int           max_mpn  ) const {
+
+  // Dimension
+  const int nbRows = _nbRows;
+  const int nbCols = _nbCols;
+
+  // init matrices for SVD
+  double ** U = new double *[nbRows];
+  double  * W = new double  [nbCols];
+  double ** V = new double *[nbCols];
+  for (int i = 0 ; i < nbCols ; ++i ) {
+    U[i] = new double[nbCols];
+    V[i] = new double[nbCols];
+  }
+
+  // call SVD
+  bool result;
+  result = this->SVD_decomposition ( error_msg , U , W , V , max_mpn );
+
+  // Init matrix for result
+  MAT_U = new SGTELIB::Matrix ("MAT_U",nbRows,nbCols);
+  MAT_W = new SGTELIB::Matrix ("MAT_W",nbCols,nbCols);
+  MAT_V = new SGTELIB::Matrix ("MAT_V",nbCols,nbCols);
+
+  // Fill matrices
+  for (int i=0 ; i<nbRows ; i++){
+    for (int j=0 ; j<nbCols ; j++){
+      MAT_U->set(i,j,U[i][j]); 
+    }
+  }
+  for (int i=0 ; i<nbCols ; i++){
+    for (int j=0 ; j<nbCols ; j++){
+      MAT_V->set(i,j,V[i][j]); 
+      MAT_W->set(i,j,0.0); 
+    }
+    MAT_W->set(i,i,W[i]); 
+  }
+
+  // Delete U, V, W
+  for (int i=0 ; i<nbRows ; i++){
+    delete [] U[i];
+  }
+  delete [] U;
+  for (int j=0 ; j<nbCols ; j++){
+    delete [] V[j];
+  }
+  delete [] V;
+  delete [] W;
+
+  return result;
+}//
+
+bool SGTELIB::Matrix::SVD_decomposition ( std::string & error_msg ,
+            double     ** U         ,  // OUT, nbRows x nbCols
+            double      * W         ,  // OUT, nbCols x nbCols, diagonal
+            double     ** V         ,  // OUT, nbCols x nbCols
+            int           max_mpn     ) const {
+  const int nbRows = _nbRows;
+  const int nbCols = _nbCols;
+  
+  error_msg.clear();
+
+  if ( max_mpn > 0 && nbRows+nbCols > max_mpn ) {
+    error_msg = "SVD_decomposition() error: nbRows+nbCols > " + SGTELIB::itos ( max_mpn );
+    return false;
+  }
+
+  double * rv1   = new double[nbCols];
+  double   scale = 0.0;
+  double   g     = 0.0;
+  double   norm  = 0.0;
+
+  int      nm1   = nbCols - 1;
+
+  bool   flag;
+  int    i , j , k , l = 0 , its , jj , nm = 0;
+  double s , f , h , tmp , c , x , y , z , absf , absg , absh;
+
+  const int NITER = 30;
+
+  // copy the current matrix into U:
+  for ( i = 0 ; i < nbRows ; ++i )
+    for ( j = 0 ; j < nbCols ; ++j )
+      U[i][j] = _X[i][j];
+
+  // Householder reduction to bidiagonal form:
+  for ( i = 0 ; i < nbCols ; ++i ) {
+    l      = i + 1;
+    rv1[i] = scale * g;
+    g      = s = scale = 0.0;
+    if ( i < nbRows ) {
+      for ( k = i ; k < nbRows ; ++k )
+   scale += fabs ( U[k][i] );
+      if ( scale != 0.0 ) {
+   for ( k = i ; k < nbRows ; ++k ) {
+     U[k][i] /= scale;
+     s += U[k][i] * U[k][i];
+  }
+   f       = U[i][i];
+  g       = ( f >= 0.0 ) ? -fabs(sqrt(s)) : fabs(sqrt(s));
+   h       = f * g - s;
+  U[i][i] = f - g;
+   for ( j = l ; j < nbCols ; ++j ) {
+     for ( s = 0.0 , k = i ; k < nbRows ; ++k )
+       s += U[k][i] * U[k][j];
+     f = s / h;
+     for ( k = i ; k < nbRows ; ++k )
+       U[k][j] += f * U[k][i];
+   }
+   for ( k = i ; k < nbRows ; ++k )
+     U[k][i] *= scale;
+      }
+    }
+    W[i] = scale * g;
+    g    = s = scale = 0.0;
+    if ( i < nbRows && i != nm1 ) {
+      for ( k = l ; k < nbCols ; ++k )
+   scale += fabs ( U[i][k] );
+      if ( scale != 0.0 ) {
+   for ( k = l ; k < nbCols ; ++k ) {
+     U[i][k] /= scale;
+     s       += U[i][k] * U[i][k];
+   }
+   f       = U[i][l];
+  g       = ( f >= 0.0 ) ? -fabs(sqrt(s)) : fabs(sqrt(s));
+   h       = f * g - s;
+   U[i][l] = f - g;
+   for ( k = l ; k < nbCols ; ++k )
+     rv1[k] = U[i][k] / h;
+   for ( j = l ; j < nbRows ; ++j ) {
+     for ( s=0.0,k=l ; k < nbCols ; ++k )
+       s += U[j][k] * U[i][k];
+     for ( k=l ; k < nbCols ; ++k )
+       U[j][k] += s * rv1[k];
+   }
+   for ( k = l ; k < nbCols ; ++k )
+     U[i][k] *= scale;
+      }
+    }
+    tmp  = fabs ( W[i] ) + fabs ( rv1[i] );
+    norm = ( norm > tmp ) ? norm : tmp;
+  }
+
+  // accumulation of right-hand transformations:
+  for ( i = nm1 ; i >= 0 ; --i ) {
+    if ( i < nm1 ) {
+      if ( g != 0.0 ) {
+   for ( j = l ; j < nbCols ; ++j )
+     V[j][i] = ( U[i][j] / U[i][l] ) / g;
+   for ( j = l ; j < nbCols ; ++j ) {
+     for ( s = 0.0 , k = l ; k < nbCols ; ++k )
+       s += U[i][k] * V[k][j];
+     for ( k = l ; k < nbCols ; ++k )
+       V[k][j] += s * V[k][i];
+   }
+      }
+      for ( j = l ; j < nbCols ; ++j )
+   V[i][j] = V[j][i] = 0.0;
+    }
+    V[i][i] = 1.0;
+    g       = rv1[i];
+    l       = i;
+  }
+
+  // accumulation of left-hand transformations:
+  for ( i = ( ( nbRows < nbCols ) ? nbRows : nbCols ) - 1 ; i >= 0 ; --i ) {
+    l = i + 1;
+    g = W[i];
+    for ( j = l ; j < nbCols ; ++j )
+      U[i][j] = 0.0;
+    if ( g != 0.0 ) {
+      g = 1.0 / g;
+      for ( j = l ; j < nbCols ; ++j ) {
+  for ( s = 0.0 , k = l ; k < nbRows ; ++k )
+    s += U[k][i] * U[k][j];
+  f = ( s / U[i][i] ) * g;
+  for ( k = i ; k < nbRows ; ++k )
+    U[k][j] += f * U[k][i];
+      }
+      for ( j = i ; j < nbRows ; ++j )
+  U[j][i] *= g;
+    }
+    else
+      for ( j = i ; j < nbRows ; ++j )
+  U[j][i] = 0.0;
+    ++U[i][i];
+  }
+
+  // diagonalization of the bidiagonal form:
+  for ( k = nm1 ; k >= 0 ; --k ) {
+    for ( its = 1 ; its <= NITER ; its++ ) {
+      flag = true;
+      for ( l = k ; l >= 0 ; l-- ) {
+   nm = l - 1;
+   if ( nm < 0 || fabs ( rv1[l]) + norm == norm ) {
+     flag = false;
+     break;
+  }
+   if ( fabs ( W[nm] ) + norm == norm )
+    break;
+      }
+      if ( flag ) {
+   c = 0.0;
+   s = 1.0;
+   for ( i = l ; i <= k ; i++ ) {
+     f      = s * rv1[i];
+     rv1[i] = c * rv1[i];
+     if ( fabs(f) + norm == norm )
+       break;
+     g = W[i];
+
+    absf = fabs(f);
+    absg = fabs(g);
+    h    = ( absf > absg ) ?
+      absf * sqrt ( 1.0 + pow ( absg/absf , 2.0 ) ) :
+      ( ( absg==0 ) ? 0.0 : absg * sqrt ( 1.0 + pow ( absf/absg , 2.0 ) ) );
+
+     W[i] =  h;
+     h    =  1.0 / h;
+     c    =  g * h;
+     s    = -f * h;
+     for ( j = 0 ; j < nbRows ; ++j ) {
+       y = U[j][nm];
+       z = U[j][ i];
+       U[j][nm] = y * c + z * s;
+       U[j][ i] = z * c - y * s;
+     }
+   }
+      }
+      z = W[k];
+      if ( l == k) {
+  if ( z < 0.0 ) {
+     W[k] = -z;
+     for ( j = 0 ; j < nbCols ; j++ )
+       V[j][k] = -V[j][k];
+   }
+   break;  // this 'break' is always active if k==0
+      }
+      if ( its == NITER ) {
+  error_msg = "SVD_decomposition() error: no convergence in " +
+              SGTELIB::itos ( NITER ) + " iterations";
+  delete [] rv1;
+   return false;
+      }
+      x  = W[l];
+      nm = k - 1;
+      y  = W[nm];
+      g  = rv1[nm];
+      h  = rv1[k];
+      f  = ( (y-z) * (y+z) + (g-h) * (g+h) ) / ( 2.0 * h * y );
+      
+      absf = fabs(f);
+      g    = ( absf > 1.0 ) ?
+  absf * sqrt ( 1.0 + pow ( 1.0/absf , 2.0 ) ) :
+  sqrt ( 1.0 + pow ( absf , 2.0 ) );
+
+      f = ( (x-z) * (x+z) +
+      h * ( ( y / ( f + ( (f >= 0)? fabs(g) : -fabs(g) ) ) ) - h ) ) / x;
+      c = s = 1.0;
+
+      for ( j = l ; j <= nm ; ++j ) {
+   i = j + 1;
+   g = rv1[i];
+   y = W[i];
+   h = s * g;
+   g = c * g;
+
+  absf = fabs(f);
+  absh = fabs(h);
+  z    = ( absf > absh ) ?
+    absf * sqrt ( 1.0 + pow ( absh/absf , 2.0 ) ) :
+    ( ( absh==0 ) ? 0.0 : absh * sqrt ( 1.0 + pow ( absf/absh , 2.0 ) ) );
+
+   rv1[j] = z;
+   c      = f / z;
+   s      = h / z;
+   f      = x * c + g * s;
+   g      = g * c - x * s;
+   h      = y * s;
+   y     *= c;
+   for ( jj = 0 ; jj < nbCols ; ++jj ) {
+     x = V[jj][j];
+     z = V[jj][i];
+     V[jj][j] = x * c + z * s;
+     V[jj][i] = z * c - x * s;
+   }
+
+  absf = fabs(f);
+  absh = fabs(h);
+  z    = ( absf > absh ) ?
+    absf * sqrt ( 1.0 + pow ( absh/absf , 2.0 ) ) :
+    ( ( absh==0 ) ? 0.0 : absh * sqrt ( 1.0 + pow ( absf/absh , 2.0 ) ) );
+
+   W[j] = z;
+
+   if ( z ) {
+     z = 1.0 / z;
+     c = f * z;
+     s = h * z;
+   }
+   f = c * g + s * y;
+   x = c * y - s * g;
+   for ( jj = 0 ; jj < nbRows ; ++jj ) {
+     y = U[jj][j];
+     z = U[jj][i];
+     U[jj][j] = y * c + z * s;
+     U[jj][i] = z * c - y * s;
+   }
+       }
+       rv1[l] = 0.0;
+       rv1[k] = f;
+       W  [k] = x;
+     }
+  }
+
+  delete [] rv1;
+  return true;
+}//
+
+/*--------------------------------*/
+/* is there any NaN in the matrix */
+/*--------------------------------*/
+bool SGTELIB::Matrix::has_nan ( void ) const {
+  int i , j;
+  for ( i = 0 ; i < _nbRows ; ++i ){
+    for ( j = 0 ; j < _nbCols ; ++j ){
+      if ( isnan(_X[i][j])){
+        return true;
+      }
+    }
+  }
+  return false;
+}//
+
+/*--------------------------------*/
+/* is there any NaN in the matrix */
+/*--------------------------------*/
+bool SGTELIB::Matrix::has_inf ( void ) const {
+  int i , j;
+  for ( i = 0 ; i < _nbRows ; ++i ){
+    for ( j = 0 ; j < _nbCols ; ++j ){
+      if ( isinf(_X[i][j])){
+        return true;
+      }
+    }
+  }
+  return false;
+}//
+
+/*--------------------------------*/
+/* is there any NaN in the matrix */
+/*--------------------------------*/
+void SGTELIB::Matrix::replace_nan ( double d ) {
+  int i , j;
+  for ( i = 0 ; i < _nbRows ; ++i ){
+    for ( j = 0 ; j < _nbCols ; ++j ){
+      if ( isnan(_X[i][j])){
+        _X[i][j] = d;
+      }
+    }
+  }
+}//
+
+/*-------------------------------------------------*/
+/* return the index of the largest value           */
+/*-------------------------------------------------*/
+int SGTELIB::Matrix::get_max_index (void ) {
+  int i,j,k=0,kmax=0;
+  double vmax = -SGTELIB::INF;
+  // We use the same mono-indexation as in matlab:
+  //   1 4 
+  //   2 5
+  //   3 6
+  for ( j = 0 ; j < _nbCols ; ++j ){
+    for ( i = 0 ; i < _nbRows ; ++i ){
+      if (_X[i][j] > vmax){
+        vmax = _X[i][j];
+        kmax = k;
+      }
+      k++;
+    }
+  }
+  return kmax;
+}//
+
+/*-------------------------------------------------*/
+/* min & max of a matrix                           */
+/*-------------------------------------------------*/
+double SGTELIB::Matrix::min (void) {
+  double d = +INF;
+  int i,j;
+  for ( j = 0 ; j < _nbCols ; ++j ){
+    for ( i = 0 ; i < _nbRows ; ++i ){
+      d = std::min(d,_X[i][j]);
+    }
+  }
+  return d;
+}//
+
+double SGTELIB::Matrix::max (void) {
+  double d = -INF;
+  int i,j;
+  for ( j = 0 ; j < _nbCols ; ++j ){
+    for ( i = 0 ; i < _nbRows ; ++i ){
+      d = std::max(d,_X[i][j]);
+    }
+  }
+  return d;
+}//
+
+/*-------------------------------------------------*/
+/* min and max of two matrices                     */
+/*-------------------------------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::max ( const SGTELIB::Matrix & A , 
+                                       const SGTELIB::Matrix & B ){
+  const int nb_rows = A.get_nb_rows();
+  const int nb_cols = A.get_nb_cols();
+
+  if (B.get_nb_rows()!=nb_rows){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::max(A,B): dimension error" );
+  }  
+  if (B.get_nb_cols()!=nb_cols){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::max(A,B): dimension error" );
+  }  
+
+  // Init matrix
+  SGTELIB::Matrix C("max("+A.get_name()+";"+B.get_name()+")",nb_rows,nb_cols);
+
+  // Compute
+  int i,j;
+  for ( i = 0 ; i < nb_rows ; ++i ) {
+    for ( j = 0 ; j < nb_cols ; ++j ){
+      C._X[i][j] = std::max( A._X[i][j] , B._X[i][j] );
+    }
+  }
+  return C;
+}//
+
+SGTELIB::Matrix SGTELIB::Matrix::min ( const SGTELIB::Matrix & A , 
+                                       const SGTELIB::Matrix & B ){
+  const int nb_rows = A.get_nb_rows();
+  const int nb_cols = A.get_nb_cols();
+
+  if (B.get_nb_rows()!=nb_rows){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::min(A,B): dimension error" );
+  }  
+  if (B.get_nb_cols()!=nb_cols){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Matrix::min(A,B): dimension error" );
+  }  
+
+  // Init matrix
+  SGTELIB::Matrix C("min("+A.get_name()+";"+B.get_name()+")",nb_rows,nb_cols);
+
+  // Compute
+  int i,j;
+  for ( i = 0 ; i < nb_rows ; ++i ) {
+    for ( j = 0 ; j < nb_cols ; ++j ){
+      C._X[i][j] = std::min( A._X[i][j] , B._X[i][j] );
+    }
+  }
+  return C;
+}//
+
+/*-------------------------------------------------*/
+/* return the index of the smallest value          */
+/*-------------------------------------------------*/
+int SGTELIB::Matrix::get_min_index (void ) {
+  int i,j,k=0,kmin=0;
+  double vmin = +SGTELIB::INF;
+  // We use the same mono-indexation as in matlab:
+  //   1 4 
+  //   2 5
+  //   3 6
+  for ( j = 0 ; j < _nbCols ; ++j ){
+    for ( i = 0 ; i < _nbRows ; ++i ){
+      if (_X[i][j] < vmin){
+        vmin = _X[i][j];
+        kmin = k;
+      }
+      k++;
+    }
+  }
+  return kmin;
+}//
+
+/*-------------------------------------------------*/
+/* return the index of the smallest value on row i */
+/*-------------------------------------------------*/
+int SGTELIB::Matrix::get_min_index_row ( const int i ) {
+  int j, jmin=0;
+  double vmin = +SGTELIB::INF;
+  for ( j = 0 ; j < _nbCols ; ++j ){
+    if (_X[i][j] < vmin){
+      vmin = _X[i][j];
+      jmin = j;
+    }
+  }
+  return jmin;
+}//
+
+/*-------------------------------------------------*/
+/* return the index of the smallest value on row i */
+/*-------------------------------------------------*/
+int SGTELIB::Matrix::get_min_index_col ( const int j ) {
+  int i, imin=0;
+  double vmin = +SGTELIB::INF;
+  for ( i = 0 ; i < _nbRows ; ++i ){
+    if (_X[i][j] < vmin){
+      vmin = _X[i][j];
+      imin = i;
+    }
+  }
+  return imin;
+}//
+
+/*-------------------------------------------------*/
+/* Return NORM2 distance                           */
+/*-------------------------------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::get_distances_norm2 ( const SGTELIB::Matrix & A , 
+                                                       const SGTELIB::Matrix & B ){
+  const int n = A.get_nb_cols();
+  if ( B.get_nb_cols()!=n ){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ , "get_distances_norm2: dimension error" );
+  }
+
+  const int pa = A.get_nb_rows();
+  const int pb = B.get_nb_rows();
+  SGTELIB::Matrix D = SGTELIB::Matrix("D",pa,pb);
+  double v,d;
+  int ia, ib, j;
+
+  for (ia=0 ; ia < pa ; ia++){
+    for (ib=0 ; ib < pb ; ib++){
+      // Distance between the point ia of the cache and the point ib of the matrix XXs
+      v = 0;
+      for (j=0 ; j < n ; j++){
+        d = A._X[ia][j]-B._X[ib][j];
+        v += d*d;
+      }
+      D._X[ia][ib] = sqrt(v);
+    }
+  }
+  return D;
+}//
+
+/*-------------------------------------------------*/
+/* Return NORM1 distance                           */
+/*-------------------------------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::get_distances_norm1 ( const SGTELIB::Matrix & A , 
+                                                       const SGTELIB::Matrix & B ){
+  const int n = A.get_nb_cols();
+  if ( B.get_nb_cols()!=n ){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ , "get_distances_norm2: dimension error" );
+  }
+
+  const int pa = A.get_nb_rows();
+  const int pb = B.get_nb_rows();
+  SGTELIB::Matrix D = SGTELIB::Matrix("D",pa,pb);
+  double v;
+  int ia, ib, j;
+
+  for (ia=0 ; ia < pa ; ia++){
+    for (ib=0 ; ib < pb ; ib++){
+      // Distance between the point ia of the cache and the point ib of the matrix XXs
+      v = 0;
+      for (j=0 ; j < n ; j++){
+        v += fabs(A._X[ia][j]-B._X[ib][j]);
+      }
+      D._X[ia][ib] = v;
+    }
+  }
+  return D;
+}//
+
+/*-------------------------------------------------*/
+/* Return NORMINF distance                         */
+/*-------------------------------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::get_distances_norminf ( const SGTELIB::Matrix & A , 
+                                                         const SGTELIB::Matrix & B ){
+  const int n = A.get_nb_cols();
+  if ( B.get_nb_cols()!=n ){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ , "get_distances_norm2: dimension error" );
+  }
+
+  const int pa = A.get_nb_rows();
+  const int pb = B.get_nb_rows();
+  SGTELIB::Matrix D = SGTELIB::Matrix("D",pa,pb);
+  double v;
+  int ia, ib, j;
+
+  for (ia=0 ; ia < pa ; ia++){
+    for (ib=0 ; ib < pb ; ib++){
+      // Distance between the point ia of the cache and the point ib of the matrix XXs
+      v = 0;
+      for (j=0 ; j < n ; j++){
+        v = std::max( v , fabs(A._X[ia][j]-B._X[ib][j]) );
+      }
+      D._X[ia][ib] = v;
+    }
+  }
+  return D;
+}//
+
+
+/*-------------------------------------------------*/
+/* find_row                                        */
+/* Check if the matrix has a row identical to R    */
+/*-------------------------------------------------*/
+int SGTELIB::Matrix::find_row (SGTELIB::Matrix & R){
+
+  // If the matrix is empty, return false.
+  if (_nbRows==0) return -1;
+
+  // Then, check dimensions.
+  if (R.get_nb_rows()!=1) 
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ , "find_row: dimension error" );
+  if (R.get_nb_cols()!=_nbCols)
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ , "find_row: dimension error" );
+
+  // Look for the row. 
+  int i,j;
+  bool diff;
+  for (i=0 ; i<_nbRows ; i++){
+    diff = false;    
+    for (j=0 ; j<_nbCols ; j++){
+      if (_X[i][j]!=R._X[0][j]){
+        diff = true;
+        break;
+      }
+    }
+    if ( ! diff) return i;
+  }
+  return -1;
+
+
+
+
+}//
+
+
+/*-------------------------------------------------*/
+/* Generate poll directions                        */
+/*-------------------------------------------------*/
+SGTELIB::Matrix SGTELIB::Matrix::get_poll_directions ( const SGTELIB::Matrix scaling,
+                                                       const SGTELIB::param_domain_t * domain,
+                                                       double psize ) {
+
+  int i,j,k;
+  // i : index of the poll direction (rows of D and POLL)
+  // (Each line of D and POLL is a poll direction)
+  // j : index of the optimization variable (columns of D and POLL)
+  // k : integer buffer, when needed.
+  double d;
+
+  // Number of variables
+  const int N = scaling.get_nb_cols();
+  SGTELIB::Matrix D("D",N,N);
+
+  // Number of continuous variables
+  int Ncont = 0;
+  for (j=0 ; j<N ; j++){
+    if (domain[j]==SGTELIB::PARAM_DOMAIN_CONTINUOUS) Ncont++;
+  }
+
+  // Generate directions for continuous variables
+  if (Ncont>0){
+    // Generate one random direction
+    SGTELIB::Matrix v("v",1,N);
+    for (j=0 ; j<N ; j++){
+      if (domain[j]==SGTELIB::PARAM_DOMAIN_CONTINUOUS){
+        v._X[0][j] = SGTELIB::quick_norm_rand();
+      }
+    }
+
+    // Normalize v (Euclidian Norm)
+    v = v/v.norm();
+
+    // Build D (Householder matrix)
+    for (i=0 ; i<N ; i++){
+      if (domain[i]==SGTELIB::PARAM_DOMAIN_CONTINUOUS){
+        for (j=0 ; j<N ; j++){
+          D._X[i][j] = double(i==j)-2*v[i]*v[j];
+        }
+      }
+    }
+  } // END if (Ncont>0)
+
+
+
+  double msize = std::min(psize*psize,psize);
+  double rho = psize/msize;
+  // Normalize directions
+  for (i=0 ; i<N ; i++){
+
+    // Fill continous dimensions with rand if necessary
+    if (domain[i]!=SGTELIB::PARAM_DOMAIN_CONTINUOUS){
+      for (j=0 ; j<N ; j++){
+        if (domain[j]==SGTELIB::PARAM_DOMAIN_CONTINUOUS){
+          D._X[i][j] = 2*uniform_rand()-1;
+        }
+      }
+    }
+
+    // Find max asb
+    d = 0;
+    for (j=0 ; j<N ; j++) d = std::max( d , fabs(D._X[i][j]) );
+
+    // Scale continuous dimensions
+    for (j=0 ; j<N ; j++){
+      if (domain[j]==SGTELIB::PARAM_DOMAIN_CONTINUOUS){
+        D._X[i][j] = scaling[j]*msize*SGTELIB::rceil(rho*D._X[i][j]/d);
+      }
+    }
+
+    // Add extended POLL for discrete values
+    if ( (domain[i]==SGTELIB::PARAM_DOMAIN_INTEGER) ||
+         (domain[i]==SGTELIB::PARAM_DOMAIN_BOOL) ){
+      D._X[i][i] = (i%2==0)?-1:+1;
+    }
+    else if (domain[i]==SGTELIB::PARAM_DOMAIN_CAT){
+      D._X[i][i] = SGTELIB::rceil(uniform_rand()*scaling[i]);
+    }
+
+  }
+
+
+  // Add opposite directions and sort
+  SGTELIB::Matrix POLL("POLL-DIR",2*N,N);
+  k = 0;
+  for (i=0 ; i<N ; i++){
+    if (domain[i]==SGTELIB::PARAM_DOMAIN_CONTINUOUS){
+        POLL.set_row(D.get_row(i),k++);
+        POLL.set_row(-D.get_row(i),k++);
+    }
+  }
+  for (i=0 ; i<N ; i++){
+    if (domain[i]!=SGTELIB::PARAM_DOMAIN_CONTINUOUS){
+        POLL.set_row(D.get_row(i),k++);
+        POLL.set_row(-D.get_row(i),k++);
+    }
+  }
+
+  if (k!=2*N){
+    std::cout << "k,N : " << k << " " << N << "\n";
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Unconcistency in the value of k." );
+  }
+
+  return POLL;
+}//
+
+/*-------------------------------------------------*/
+/* Swap two rows                                   */
+/*-------------------------------------------------*/
+void SGTELIB::Matrix::swap_rows(const int i1 , const int i2){
+  double buffer;
+  for (int j=0 ; j<_nbCols ; j++){
+    buffer    = _X[i1][j];
+    _X[i1][j] = _X[i2][j];
+    _X[i2][j] = buffer;
+  }
+}//
+
+/*-------------------------------------------------*/
+/* LU inverse                                      */
+/*-------------------------------------------------*/
+
+SGTELIB::Matrix SGTELIB::Matrix::lu_inverse ( void ) const {
+  return lu_inverse(NULL);
+}
+
+SGTELIB::Matrix SGTELIB::Matrix::lu_inverse ( double * det ) const{
+
+  const int N = _nbRows;
+  SGTELIB::Matrix A (*this);
+
+  int i,j,k,ip=0;
+  double pivot,pivot_max;
+
+  // Permuation vector
+  int * P = new int [N];
+  for (i=0 ; i<N ; i++) P[i]=i;
+
+  // LU factorization (in-place)
+  for (k=0 ; k<N-1 ; k++){
+
+    // Find pivot
+    pivot_max = -1;
+    for (i=k ; i<N ; i++){
+      pivot = A._X[k][i];
+      if (pivot<0) pivot*=-1;
+      if (pivot>pivot_max){
+        ip = i;
+        pivot_max = pivot;
+      }
+    }
+
+    // Swap rows of A and P
+    if (ip!=k){
+      A.swap_rows(ip,k);
+      i=P[ip]; P[ip]=P[k]; P[k]=i;
+    }
+
+    // Gaussian elimination
+    for (j=k+1 ; j<N ; j++){
+      pivot = A._X[j][k]/A._X[k][k];
+      A._X[j][k] = pivot;
+      for (i=k+1 ; i<N ; i++) A._X[j][i] -= pivot*A._X[k][i];
+    }
+  }
+
+  // Construct the whole matrix P (under the name Ai)
+  SGTELIB::Matrix Ai ("Ai",N,N);
+  for (i=0 ; i<N; i++) Ai._X[i][P[i]] = 1;
+
+
+
+  if (det){
+    // Compute the determinant of the matrix that is inverted
+    double v = 1;
+    // Compute the determinant of U
+    for (i=0 ; i<N ; i++) v *= A._X[i][i];
+    // Comput ethe determinant of P
+    i = 0;
+    while (i<N){
+      if (P[i]!=i){
+        j = P[i];
+        P[i] = P[j];
+        P[j] = j;
+        v *= -1;
+      }
+      else i++;
+    }
+    *det = v;
+  }
+  
+  // Triangular inversion for each column of Ai.
+  SGTELIB::Matrix y;
+  for (k=0 ; k<N; k++){
+    y = Ai.get_col(k);
+    
+    // Tri-L solve
+    for (i=0 ; i<N ; i++){
+      for (j=0 ; j<i ; j++){
+        y._X[i][0] -= A._X[i][j]*y._X[j][0];
+      }
+    }
+
+    // Tri-U solve
+    for (int i=N-1 ; i>=0 ; i--){
+      for (int j=i+1 ; j<N ; j++){
+        y._X[i][0] -= A._X[i][j]*y._X[j][0];
+      }
+      y._X[i][0] /= A._X[i][i];
+    }
+
+    Ai.set_col(y,k);
+  }
+
+  delete [] P;
+  
+  Ai.set_name(_name+"^-1");
+  return Ai;
+
+}//
+
+
+
diff --git a/ext/sgtelib/src/Matrix.hpp b/ext/sgtelib/src/Matrix.hpp
new file mode 100644
index 0000000..d98c65b
--- /dev/null
+++ b/ext/sgtelib/src/Matrix.hpp
@@ -0,0 +1,401 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#ifndef __SGTELIB_MATRIX__
+#define __SGTELIB_MATRIX__
+
+#include <set>
+#include <fstream>
+#include <vector>
+#include <list>
+#include <climits>
+#include <algorithm>
+#include "Surrogate_Utils.hpp"
+#include "Exception.hpp"
+
+namespace SGTELIB {
+
+
+  class Matrix {
+
+  private:
+
+    std::string _name;
+
+    int _nbRows; // nbRows x nbCols matrix
+    int _nbCols;
+
+    double ** _X;
+
+  public:
+
+    // constructor 1:
+    Matrix ( const std::string & name ,
+             int                 nbRows    ,
+             int                 nbCols      );
+
+    // constructor 2:
+    Matrix ( const std::string & name ,
+             int                 nbRows    ,
+             int                 nbCols    ,
+             double           ** A      );
+
+    // constructor 3:
+    Matrix ( const std::string & file_name );
+
+    // constructor 4:
+    Matrix ( void );
+
+    // copy constructor:
+    Matrix ( const Matrix & );
+
+    // affectation operator:
+    Matrix & operator = ( const Matrix & A );
+
+    //Matrix & operator * ( const Matrix & B);
+
+
+
+    // destructor:
+    virtual ~Matrix ( void );
+
+    // fill the matrix randomly:
+    void set_random ( double l , double u , bool round = false );
+    void fill (double v);
+
+    // add rows:
+    void add_rows ( const Matrix & X );
+    void add_cols ( const Matrix & X );
+    void add_row  ( const double * row );
+    void add_rows ( const int p); // add empty rows
+    void add_cols ( const int p); // add empty cols
+    void remove_rows ( const int p); // remove last rows
+
+    // GET methods:
+    int get_nb_rows ( void ) const { return _nbRows; }
+    int get_nb_cols ( void ) const { return _nbCols; }
+    int get_numel   ( void ) const { return _nbRows*_nbCols; }
+
+    double get ( const int k               ) const; // access to element (k)
+    double get ( const int i , const int j ) const; // access to element (i,j)
+
+    const double & operator [] ( int k ) const;
+    double & operator [] ( int k );
+
+
+
+    SGTELIB::Matrix get ( const std::list<int> & list_cols , 
+                          const std::list<int> & list_rows) const;
+
+    SGTELIB::Matrix get_row (const int i) const;
+    SGTELIB::Matrix get_col (const int i) const;
+
+    SGTELIB::Matrix get_rows (const std::list<int> & list_rows) const;
+    SGTELIB::Matrix get_cols (const std::list<int> & list_cols) const;
+
+    SGTELIB::Matrix get_rows (const int i1, const int i2) const;
+    SGTELIB::Matrix get_cols (const int i1, const int i2) const;
+  
+    void swap_rows (const int i1, const int i2);
+
+
+    // count the number of different values in column j:
+    int get_nb_diff_values ( int j ) const;
+
+    // get the constant columns (constant variables):
+    void get_fix_columns ( std::list<int> & fix_col ) const;
+
+    // check symmetry
+    bool is_sym ( void ) const;
+
+    // SET methods:
+    void set_name ( const std::string & name ) { _name = name; }
+    std::string get_name ( void ) const { return _name; }
+
+    void set     (const int i , const int j , const double d );
+    void set_row (const SGTELIB::Matrix & T , const int i); // T is row vector
+    void set_col (const SGTELIB::Matrix & T , const int j); // T is col vector
+    void set_row (const double v , const int i); // T is row vector
+    void set_col (const double v , const int j); // T is col vector
+  
+    // Permute terms (i1,j1) and (i2,j2)
+    void permute (const int i1 , const int j1 , const int i2 , const int j2 );
+
+    // Multiply row
+    void multiply_row (const double v , const int i); // T is row vector
+    void multiply_col (const double v , const int j); // T is col vector
+
+    // Inverse
+    SGTELIB::Matrix SVD_inverse ( void ) const;
+
+    // Inverse the diagonal terms
+    SGTELIB::Matrix diag_inverse ( void ) const;
+
+    // Build vector from a double*
+    static SGTELIB::Matrix row_vector ( const double * v,
+                                        const int n     );
+
+    static SGTELIB::Matrix col_vector ( const double * v,
+                                        const int n     );
+
+    // Transpose
+    SGTELIB::Matrix transpose ( void ) const;
+
+    // Diag
+    SGTELIB::Matrix diag (void ) const;
+
+
+    // Trace
+    double trace ( void ) const;
+
+    // Rmse
+    double rmse ( void ) const;
+
+    // Norm
+    double norm ( void ) const;
+    double normsquare ( void ) const;
+    void normalize_cols ( void );
+
+    // Sum
+    double sum ( void ) const;
+    SGTELIB::Matrix sum ( const int direction ) const;
+
+    // Mean
+    double mean ( void ) const;
+
+    // Count (number of non null values)
+    int count ( void ) const;
+
+
+    // Product
+    static SGTELIB::Matrix product ( const SGTELIB::Matrix & A,
+                                     const SGTELIB::Matrix & B);
+
+    static SGTELIB::Matrix product ( const SGTELIB::Matrix & A,
+                                     const SGTELIB::Matrix & B,
+                                     const SGTELIB::Matrix & C);
+
+    static SGTELIB::Matrix product ( const SGTELIB::Matrix & A,
+                                     const SGTELIB::Matrix & B,
+                                     const SGTELIB::Matrix & C,
+                                     const SGTELIB::Matrix & D);
+
+    void product ( const int i , const int j , const double v){ _X[i][j]*=v; };
+
+    // Subset product, multiply
+    // the p first rows and q first columns of A
+    // with the q first rows and r first columns of B.
+    // Result is a matrix of size p/r.
+    static SGTELIB::Matrix subset_product (const SGTELIB::Matrix & A,
+                                           const SGTELIB::Matrix & B,
+                                           int p,
+                                           int q,
+                                           int r);
+
+    static SGTELIB::Matrix diagA_product ( const SGTELIB::Matrix & A,
+                                           const SGTELIB::Matrix & B);
+
+    static SGTELIB::Matrix diagB_product ( const SGTELIB::Matrix & A,
+                                           const SGTELIB::Matrix & B);
+
+    static SGTELIB::Matrix transposeA_product ( const SGTELIB::Matrix & A,
+                                                const SGTELIB::Matrix & B);
+
+
+    static SGTELIB::Matrix hadamard_product ( const SGTELIB::Matrix & A,
+                                              const SGTELIB::Matrix & B);
+
+    static SGTELIB::Matrix hadamard_square  ( const SGTELIB::Matrix & A );
+
+    static SGTELIB::Matrix hadamard_sqrt    ( const SGTELIB::Matrix & A );
+
+    static SGTELIB::Matrix hadamard_power    ( const SGTELIB::Matrix & A ,
+                                               const double e            );
+
+    void hadamard_inverse ( void );
+    void hadamard_sqrt    ( void );
+    void hadamard_square  ( void );
+
+    // Addition
+    static SGTELIB::Matrix add ( const SGTELIB::Matrix & A,
+                                 const SGTELIB::Matrix & B);
+
+    // Add to the matrix itself
+    void add ( const SGTELIB::Matrix & B);
+    void add ( const int i , const int j , const double v){ _X[i][j]+=v; };
+
+    // Add and fill with 0 (add two matrices of different sizes)
+    static SGTELIB::Matrix add_fill ( const SGTELIB::Matrix & A,
+                                      const SGTELIB::Matrix & B);
+
+    // Substract
+    static SGTELIB::Matrix sub ( const SGTELIB::Matrix & A,
+                                 const SGTELIB::Matrix & B);
+
+    void sub ( const SGTELIB::Matrix & B);
+  
+    // Identity matrix
+    static SGTELIB::Matrix identity ( const int n );
+
+    // ones matrix
+    static SGTELIB::Matrix ones ( const int nbRows , const int nbCols );
+
+    // random permutation matrix
+    static SGTELIB::Matrix random_permutation_matrix ( const int n );
+
+    // Lines random permutation
+    SGTELIB::Matrix random_line_permutation ( void ) const;
+
+    // Rank of the values
+    SGTELIB::Matrix rank ( void ) const;
+
+    // Conjugate gradient
+    static SGTELIB::Matrix conjugate_solve ( const SGTELIB::Matrix & A ,
+                                             const SGTELIB::Matrix & b ,
+                                             const SGTELIB::Matrix & x0 ,
+                                             const double tol);
+
+    // LU factorization
+    SGTELIB::Matrix lu_inverse ( void ) const;
+    SGTELIB::Matrix lu_inverse ( double * det ) const;
+
+    // Cholesky
+    SGTELIB::Matrix cholesky ( void ) const;
+    SGTELIB::Matrix cholesky_inverse ( double * det ) const;
+    SGTELIB::Matrix cholesky_inverse ( void ) const;
+    static SGTELIB::Matrix cholesky_solve ( const SGTELIB::Matrix & A ,
+                                            const SGTELIB::Matrix & b );
+
+
+
+    // Triangular matrix
+    static SGTELIB::Matrix tril_inverse (const SGTELIB::Matrix & L );
+
+    static SGTELIB::Matrix triu_solve ( const SGTELIB::Matrix & U ,
+                                        const SGTELIB::Matrix & b );
+
+    static SGTELIB::Matrix tril_solve ( const SGTELIB::Matrix & L ,
+                                        const SGTELIB::Matrix & b );
+    // SVD decomposition:
+    bool SVD_decomposition ( std::string & error_msg ,
+                             SGTELIB::Matrix * &MAT_U,  // OUT, nbRows x nbCols
+                             SGTELIB::Matrix * &MAT_W,  // OUT, nbCols x nbCols, diagonal
+                             SGTELIB::Matrix * &MAT_V,  // OUT, nbCols x nbCols
+                             int           max_mpn = 1500 ) const;
+
+    bool SVD_decomposition ( std::string & error_msg      ,
+                             double     ** U              ,  // OUT, nbRows x nbCols
+                             double      * W              ,  // OUT, nbCols x nbCols, diagonal
+                             double     ** V              ,  // OUT, nbCols x nbCols
+                             int           max_mpn = 1500 ) const;
+
+    // Projection matrix for linear over-determined models
+    static SGTELIB::Matrix get_matrix_P     ( const SGTELIB::Matrix & Ai,
+                                              const SGTELIB::Matrix & H );
+
+    static double          get_trace_P      ( const SGTELIB::Matrix & Ai,
+                                              const SGTELIB::Matrix & H );
+
+    static SGTELIB::Matrix get_matrix_PZs   ( const SGTELIB::Matrix & Ai,
+                                              const SGTELIB::Matrix & H ,
+                                              const SGTELIB::Matrix & Zs);
+
+    static SGTELIB::Matrix get_matrix_dPiPZs( const SGTELIB::Matrix & Ai,
+                                              const SGTELIB::Matrix & H ,
+                                              const SGTELIB::Matrix & Zs);
+
+    static SGTELIB::Matrix get_matrix_dPiPZs( const SGTELIB::Matrix & Ai,
+                                              const SGTELIB::Matrix & H ,
+                                              const SGTELIB::Matrix & Zs ,
+                                              const SGTELIB::Matrix & ALPHA);
+
+
+    static SGTELIB::Matrix get_matrix_dPi   ( const SGTELIB::Matrix & Ai,
+                                              const SGTELIB::Matrix & H );
+
+    // Min / Max
+    double max (void);
+    double min (void);
+    static SGTELIB::Matrix max ( const SGTELIB::Matrix & A , 
+                                 const SGTELIB::Matrix & B );
+    static SGTELIB::Matrix min ( const SGTELIB::Matrix & A , 
+                                 const SGTELIB::Matrix & B );
+
+    // Get min index
+    int get_max_index     ( void );
+    int get_min_index     ( void );
+    int get_min_index_row ( const int i );
+    int get_min_index_col ( const int j );
+
+    // display:
+    void display      ( std::ostream & out       ) const;
+    void display_short( std::ostream & out       ) const;
+    void write        ( const std::string  & file_name ) const;
+    void display_size ( std::ostream & out       ) const;
+
+    // import data in plain format
+    static SGTELIB::Matrix import_data   ( const std::string & file_name );
+    static SGTELIB::Matrix string_to_matrix ( std::string s );
+    static SGTELIB::Matrix string_to_row ( const std::string & s , int nbCols = 0 );
+
+    // distances
+    static SGTELIB::Matrix get_distances_norm1   ( const SGTELIB::Matrix & A , 
+                                                   const SGTELIB::Matrix & B );
+    static SGTELIB::Matrix get_distances_norm2   ( const SGTELIB::Matrix & A , 
+                                                   const SGTELIB::Matrix & B );
+    static SGTELIB::Matrix get_distances_norminf ( const SGTELIB::Matrix & A , 
+                                                   const SGTELIB::Matrix & B );
+
+    int find_row (SGTELIB::Matrix & R);
+
+    // nan 
+    bool has_nan (void) const;
+    bool has_inf (void) const;
+    void replace_nan (double d);
+
+    // Generate poll directions
+    static SGTELIB::Matrix get_poll_directions ( const SGTELIB::Matrix scaling,
+                                                 const SGTELIB::param_domain_t * domain,
+                                                 double psize );
+
+
+    SGTELIB::Matrix LUPinverse (void);
+
+  };
+}
+
+SGTELIB::Matrix operator * (const SGTELIB::Matrix & A , const double v           );
+SGTELIB::Matrix operator * (const double v            , const SGTELIB::Matrix & A);
+SGTELIB::Matrix operator * (const SGTELIB::Matrix & A , const SGTELIB::Matrix & B);
+SGTELIB::Matrix operator + (const SGTELIB::Matrix & A , const SGTELIB::Matrix & B);
+SGTELIB::Matrix operator + (const SGTELIB::Matrix & A , const double v           );
+SGTELIB::Matrix operator + (const double v            , const SGTELIB::Matrix & A);
+SGTELIB::Matrix operator - (const SGTELIB::Matrix & A , const SGTELIB::Matrix & B);
+SGTELIB::Matrix operator - (const SGTELIB::Matrix & A , const double v);
+SGTELIB::Matrix operator - (const double v            , const SGTELIB::Matrix & A);
+SGTELIB::Matrix operator - (const SGTELIB::Matrix & A);
+SGTELIB::Matrix operator / (const SGTELIB::Matrix & A , const double v           );
+
+#endif
diff --git a/ext/sgtelib/src/Surrogate.cpp b/ext/sgtelib/src/Surrogate.cpp
new file mode 100644
index 0000000..008a894
--- /dev/null
+++ b/ext/sgtelib/src/Surrogate.cpp
@@ -0,0 +1,1664 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#include "Surrogate.hpp"
+
+using namespace SGTELIB;
+
+/*--------------------------------------*/
+/*              constructor             */
+/*--------------------------------------*/
+
+SGTELIB::Surrogate::Surrogate ( SGTELIB::TrainingSet & trainingset,
+                                const SGTELIB::Surrogate_Parameters param) :
+  _trainingset ( trainingset      ) ,
+  _param       ( param            ) ,   
+  _n           (_trainingset.get_input_dim()  ) ,
+  _m           (_trainingset.get_output_dim() ) ,
+  _p_ts        (0                 ) ,
+  _p_ts_old    (999999999         ) ,
+  _p           (0                 ) ,
+  _p_old       (999999999         ) ,
+  _ready       (false             ) ,
+  _Zhs         (NULL              ) ,
+  _Shs         (NULL              ) ,
+  _Zvs         (NULL              ) ,
+  _Svs         (NULL              ) ,
+  _selected_points (1,-1          ) ,
+  _metric_emax     (NULL          ) ,
+  _metric_emaxcv   (NULL          ) ,
+  _metric_rmse     (NULL          ) ,
+  _metric_rmsecv   (NULL          ) ,
+  _metric_oe       (NULL          ) ,
+  _metric_oecv     (NULL          ) ,
+  _metric_linv     (NULL          ) ,
+  _metric_aoe      (-1.0          ) ,
+  _metric_aoecv    (-1.0          ) ,
+  _metric_armse    (-1.0          ) ,
+  _metric_armsecv  (-1.0          ) ,
+  _psize_max       ( 0.5          ) ,
+  _out             (              ) ,
+  _display         ( false        ) {;
+}//
+
+
+SGTELIB::Surrogate::Surrogate ( SGTELIB::TrainingSet & trainingset,
+                                const SGTELIB::model_t mt ) :
+  _trainingset ( trainingset      ) ,
+  _param       ( mt ) ,   
+  _n     (_trainingset.get_input_dim()  ) ,
+  _m     (_trainingset.get_output_dim() ) ,
+  _p_ts      (0                   ) ,
+  _p_ts_old  (999999999           ) ,
+  _p         (0                   ) ,
+  _p_old     (999999999           ) ,
+  _ready (false                   ) ,
+  _Zhs   (NULL                    ) ,
+  _Shs   (NULL                    ) ,
+  _Zvs   (NULL                    ) ,
+  _Svs   (NULL                    ) ,
+  _selected_points (1,-1          ) ,
+  _metric_emax     (NULL          ) ,
+  _metric_emaxcv   (NULL          ) ,
+  _metric_rmse     (NULL          ) ,
+  _metric_rmsecv   (NULL          ) ,
+  _metric_oe       (NULL          ) ,
+  _metric_oecv     (NULL          ) ,
+  _metric_linv     (NULL          ) ,
+  _metric_aoe      (-1.0          ) ,
+  _metric_aoecv    (-1.0          ) ,
+  _metric_efioe    (-1.0          ) ,
+  _metric_efioecv  (-1.0          ) ,
+  _metric_armse    (-1.0          ) ,
+  _metric_armsecv  (-1.0          ) ,
+  _psize_max       ( 0.5          ) ,
+  _out             (              ) ,
+  _display         ( false        ) {
+}//
+
+SGTELIB::Surrogate::Surrogate ( SGTELIB::TrainingSet & trainingset,
+                                const std::string & s) :
+  _trainingset ( trainingset      ) ,
+  _param       ( s                ) ,   
+  _n     (_trainingset.get_input_dim()  ) ,
+  _m     (_trainingset.get_output_dim() ) ,
+  _p_ts      (0                   ) ,
+  _p_ts_old  (0                   ) ,
+  _p         (0                   ) ,
+  _p_old     (0                   ) ,
+  _ready (false                   ) ,
+  _Zhs   (NULL                    ) ,
+  _Shs   (NULL                    ) ,
+  _Zvs   (NULL                    ) ,
+  _Svs   (NULL                    ) ,
+  _selected_points (1,-1          ) ,
+  _metric_emax     (NULL          ) ,
+  _metric_emaxcv   (NULL          ) ,
+  _metric_rmse     (NULL          ) ,
+  _metric_rmsecv   (NULL          ) ,
+  _metric_oe       (NULL          ) ,
+  _metric_oecv     (NULL          ) ,
+  _metric_linv     (NULL          ) ,
+  _metric_aoe      (-1.0          ) ,
+  _metric_aoecv    (-1.0          ) ,
+  _metric_efioe    (-1.0          ) ,
+  _metric_efioecv  (-1.0          ) ,
+  _metric_armse    (-1.0          ) ,
+  _metric_armsecv  (-1.0          ) ,
+  _psize_max       ( 0.5          ) ,
+  _out             (              ) ,
+  _display         ( false        ) {
+}//
+
+
+/*--------------------------------------*/
+/*               destructor             */
+/*--------------------------------------*/
+SGTELIB::Surrogate::~Surrogate ( void ) {
+  reset_metrics();
+}//
+
+
+void SGTELIB::Surrogate::info ( void ) const {
+  _trainingset.info();
+}//
+
+
+/*--------------------------------------*/
+/*              display                 */
+/*--------------------------------------*/
+void SGTELIB::Surrogate::display ( std::ostream & out ) const {
+  out << "Surrogate: " << get_string() << "\n";
+  out << "ready: " << _ready << "\n";
+  out << "n: " << _n << " (input dim)\n";
+  out << "m: " << _m << " (output dim)\n";
+  out << "p: " << _p << " (nb points)\n";
+  display_private ( out );
+}//
+
+/*--------------------------------------*/
+/*       erase_data                     */
+/*--------------------------------------*/
+void SGTELIB::Surrogate::reset_metrics ( void ) {
+  #ifdef SGTELIB_DEBUG
+    std::cout << "Surrogate: reset_metrics...";
+  #endif
+
+  if (_Zhs) delete _Zhs;
+  _Zhs = NULL;  
+
+  if (_Shs) delete _Shs;
+  _Shs = NULL;  
+
+  if (_Zvs) delete _Zvs;
+  _Zvs = NULL;  
+
+  if (_Svs) delete _Svs;
+  _Svs = NULL;  
+
+  if (_metric_emax)   delete [] _metric_emax;
+  _metric_emax = NULL;
+
+  if (_metric_emaxcv) delete [] _metric_emaxcv;
+  _metric_emaxcv = NULL;
+
+  if (_metric_rmse)   delete [] _metric_rmse;
+  _metric_rmse = NULL;
+
+  if (_metric_rmsecv) delete [] _metric_rmsecv;
+  _metric_rmsecv = NULL;
+
+  if (_metric_oe)     delete [] _metric_oe;
+  _metric_oe = NULL;
+
+  if (_metric_oecv)   delete [] _metric_oecv;
+  _metric_oecv = NULL;
+
+  if (_metric_linv)   delete [] _metric_linv;
+  _metric_linv = NULL;
+
+  _metric_aoe     = -1.0;
+  _metric_aoecv   = -1.0;
+  _metric_efioe   = -1.0;
+  _metric_efioecv = -1.0;
+  _metric_armse   = -1.0;
+  _metric_armsecv = -1.0;
+
+  #ifdef SGTELIB_DEBUG
+    std::cout << "OK\n";
+  #endif
+}//
+
+/*--------------------------------------*/
+/*               build                  */
+/*--------------------------------------*/
+bool SGTELIB::Surrogate::build ( void ) {
+
+  #ifdef SGTELIB_DEBUG
+    std::cout << "Surrogate build - BEGIN\n";
+  #endif
+
+  if (streqi(_param.get_output(),"NULL")){
+    _display = false;
+  }
+  else{
+    _display = true;
+  } 
+
+  // Check the parameters of the model:
+  _param.check();
+
+  // Before building the surrogate, the trainingset must be ready
+  _trainingset.build();
+
+  // Number of points in the training set.
+  _p_ts = _trainingset.get_nb_points();
+  //std::cout << _ready << " " << _p_ts << " " << _p_ts_old << "\n";
+  if ( (_ready) && (_p_ts==_p_ts_old) ){
+    #ifdef SGTELIB_DEBUG
+      std::cout << "Surrogate build - SKIP Build\n";
+    #endif
+    return true;
+  }
+  
+  // Otherwise, the model is not ready and we need to call build_private
+  _ready = false;
+
+
+  // Get the number of points used in the surrogate
+  if ( (_selected_points.size()==1) && (_selected_points.front()==-1) )
+    _p = _p_ts;
+  else  
+    _p = static_cast<int>(_selected_points.size());
+
+  // Need at least 2 point to build a surrogate.
+  if (_p<2){
+    return false;
+  }
+
+  // Delete the intermediate data and metrics 
+  // (they will have to be recomputed...)
+  reset_metrics();
+
+  // If there are new points, 
+  // Call to the private build
+  #ifdef SGTELIB_DEBUG
+    std::cout << "Surrogate build - BUILD_PRIVATE\n";
+  #endif
+
+  bool ok;
+  ok = init_private();
+  if ( ! ok) return false;
+
+  // Optimize parameters
+  if (_param.get_nb_parameter_optimization()>0){
+    ok = optimize_parameters();
+    if ( ! ok){
+      _ready = false;
+      return false;
+    }
+  }
+
+  // Build private
+  ok = build_private();
+  if ( ! ok){
+    _ready = false;
+    return false;
+  }
+
+
+  // Memorize previous number of points
+  _p_ts_old = _p_ts;
+  _p_old = _p;
+
+  #ifdef SGTELIB_DEBUG
+    std::cout << "Surrogate build - END\n";
+  #endif
+  
+  if (_display){
+    _out.open(_param.get_output().c_str() , std::ios::out | std::ios::app);
+    if (_out.fail()) std::cout << "Out.fail1!!!\n";
+    std::cout << "Write in " << _param.get_output() << "\n";
+    if (_out.fail()) std::cout << "Out.fail2!!!\n";
+    display(_out);
+    if (_out.fail()) std::cout << "Out.fail3!!!\n";
+    //_out << "AOECV: " << get_metric(SGTELIB::METRIC_AOECV,0) << "\n";
+    //_out << "ARMSECV: " << get_metric(SGTELIB::METRIC_ARMSECV,0) << "\n";
+    _out.close();
+  }
+
+
+  _ready = true;
+  return true;
+}//
+
+bool SGTELIB::Surrogate::init_private (void) {
+  // Empty initialization function
+  #ifdef SGTELIB_DEBUG
+    std::cout << model_type_to_str(get_type()) << " : init_private\n";
+  #endif
+  return true;
+}
+
+
+/*--------------------------------------*/
+/*               check_ready            */
+/*--------------------------------------*/
+void SGTELIB::Surrogate::check_ready (void) const {
+    check_ready("");
+}//
+
+/*--------------------------------------*/
+void SGTELIB::Surrogate::check_ready (const std::string & file,
+                                      const std::string & function,
+                                      const int & i        ) const {
+    check_ready(file+"::"+function+"::"+itos(i));
+}//
+/*--------------------------------------*/
+void SGTELIB::Surrogate::check_ready (const std::string & s) const {
+  
+  // Check the tag _ready
+  if ( ! _ready){
+    display(std::cout);
+    std::cout << "Surrogate: NOT READY! (" << s << ")\n";
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+                 "check_ready(): Not ready!" );
+  }
+
+  // Check if the trainingset is ready
+  _trainingset.check_ready("From Surrogate ()");
+
+
+  // Check the new number of points in the trainingset
+  if (_trainingset.get_nb_points()>_p_ts){
+    display(std::cout);
+    std::cout << "Surrogate: NOT READY! (" << s << ")\n";
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+                 "check_ready(): Not ready!" );
+  }
+
+}//
+
+
+/*--------------------------------------*/
+/*               add points             */
+/*--------------------------------------*/
+bool SGTELIB::Surrogate::add_points ( const SGTELIB::Matrix & Xnew ,
+                                      const SGTELIB::Matrix & Znew  ){
+  throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+       "add_points: forbiden." );
+  return _trainingset.add_points(Xnew,Znew);
+}//
+/*--------------------------------------*/
+bool SGTELIB::Surrogate::add_point  ( const double * xnew ,
+                                      const double * znew  ){
+  throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+       "add_point: forbiden." );
+  return _trainingset.add_point(xnew,znew);
+}//
+
+
+/*--------------------------------------*/
+/*               predict                */
+/*--------------------------------------*/
+void SGTELIB::Surrogate::predict ( const SGTELIB::Matrix & XX ,
+                                         SGTELIB::Matrix * ZZ ,
+                                         SGTELIB::Matrix * std, 
+                                         SGTELIB::Matrix * ei ,
+                                         SGTELIB::Matrix * cdf) {
+
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+
+  //std::cout << "IN PREDICT (public) " << __FILE__ << " " <<  ZZ << " " << std << " " << ei << " " << cdf << "\n";
+
+  // Check the number of columns in XX
+  if (XX.get_nb_cols() != _n){
+    display(std::cout);
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+                 "predict(): dimension error" );
+  }
+
+  *ZZ = SGTELIB::Matrix("ZZ",XX.get_nb_rows(),_m);
+
+  // Scale the input
+  SGTELIB::Matrix XXs(XX);
+  XXs.set_name("XXs");
+  _trainingset.X_scale(XXs);
+
+  if (ei){
+    ei->fill(-INF);
+  }
+
+  // Call the private prediction with normalize input XXs
+  predict_private( XXs , ZZ , std , ei , cdf );
+
+  // If nbdiff==1, put the values to 0.0
+  int pxx = XX.get_nb_rows();
+  if (ZZ){
+    for (int j=0 ; j<_m ; j++){
+      if (_trainingset.get_Z_nbdiff(j)==1){
+        for (int i=0 ; i<pxx ; i++){
+          ZZ->set(i,j,0.0);
+        }
+      }
+    }
+  }
+
+
+  #ifdef SGTELIB_DEBUG
+    if (ZZ){
+      if (ZZ->has_nan()){
+        ZZ->replace_nan (+INF);
+      }
+    }
+    if (std){
+      if (std->has_nan()){
+        display(std::cout); 
+        throw SGTELIB::Exception ( __FILE__ , __LINE__ , "predict(): std has nan" );
+      }
+    }
+    if (ei){
+      if (ei->has_nan()){
+        display(std::cout); 
+        throw SGTELIB::Exception ( __FILE__ , __LINE__ , "predict(): ei has nan" );
+      }
+    }
+    if (cdf){
+      if (cdf->has_nan()){
+        display(std::cout); 
+        throw SGTELIB::Exception ( __FILE__ , __LINE__ , "predict(): cdf has nan" );
+      }
+    }
+  #endif
+
+  ZZ->replace_nan (+INF);
+  std->replace_nan (+INF);
+  ei->replace_nan (-INF);
+  cdf->replace_nan (0);
+
+  // UnScale the output
+  if (ZZ ){
+    ZZ->set_name("ZZ");   
+    _trainingset.Z_unscale(ZZ);
+  }
+  if (std){
+    std->set_name("std");
+    _trainingset.ZE_unscale(std);
+  }
+  if (ei ){
+    ei->set_name("ei");
+    _trainingset.ZE_unscale(ei);
+    // ei is only computed for the OBJ output, so the other values are dummy, 
+    // So we put them all to 0.    
+    for (int j=0 ; j<_m ; j++){ 
+      if (_trainingset.get_bbo(j)!=SGTELIB::BBO_OBJ){
+        for (int i=0 ; i<pxx ; i++){ 
+          ei->set(i,j,0.0);
+        }
+      }
+    }  
+  }
+  if (cdf){
+    cdf->set_name("cdf");
+  }
+
+
+}//
+
+
+
+/*--------------------------------------*/
+/*       predict (ZZs,std,ei)           */
+/*--------------------------------------*/
+// This function is the default method to compute std, ei and cdf.
+// It can be overloaded, but models PRS, RBF and KS use the default method.
+// This method relies on the private method predict_private(XXs,ZZs)
+// which HAS TO be overloaded (pure virtual)
+void SGTELIB::Surrogate::predict_private (const SGTELIB::Matrix & XXs,
+                                                SGTELIB::Matrix * ZZs,
+                                                SGTELIB::Matrix * std, 
+                                                SGTELIB::Matrix * ei ,
+                                                SGTELIB::Matrix * cdf) {
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+
+
+  const int pxx = XXs.get_nb_rows();
+  const double fs_min = _trainingset.get_fs_min();
+  int i,j;
+
+  // Prediction of ZZs
+  if ( (ZZs) || (ei) || (cdf) ){
+    predict_private(XXs,ZZs);
+  }
+
+  // Prediction of statistical data
+  if ( (std) || (ei) || (cdf) ){
+
+    if (std) std->fill(-SGTELIB::INF);
+    else std = new SGTELIB::Matrix("std",pxx,_m);
+
+    if (ei)   ei->fill(-SGTELIB::INF);
+    if (cdf) cdf->fill(-SGTELIB::INF);
+
+    // Use distance to closest as std
+    SGTELIB::Matrix dtc = _trainingset.get_distance_to_closest(XXs);
+    dtc.set_name("dtc");
+    compute_metric_rmse();
+
+    for (j=0 ; j<_m ; j++){
+      // Set std
+      double s = _metric_rmse[j]; 
+      std->set_col( dtc+s , j );
+
+      if (_trainingset.get_bbo(j)==SGTELIB::BBO_OBJ){
+        // Compute CDF
+        if (cdf){
+          for (i=0 ; i<pxx ; i++){
+            cdf->set(i,j, normcdf( fs_min , ZZs->get(i,j) , std->get(i,j) ) );
+          }
+        }
+        if (ei){
+          for (i=0 ; i<pxx ; i++){
+            ei->set(i,j, normei( ZZs->get(i,j) , std->get(i,j) , fs_min ) );
+          }
+        }
+      }// END CASE OBJ
+      else if (_trainingset.get_bbo(j)==SGTELIB::BBO_CON){
+        // Compute CDF
+        if (cdf){
+          // Scaled Feasibility Threshold
+          double cs = _trainingset.Z_scale(0.0,j);
+          for (i=0 ; i<pxx ; i++){
+            cdf->set(i,j, normcdf( cs , ZZs->get(i,j) , std->get(i,j) ) );
+          }
+        }
+      }// END CASE CON
+
+    }// End for j
+
+  }
+}//
+
+
+
+
+
+
+/*--------------------------------------*/
+/*               predict                */
+/*--------------------------------------*/
+void SGTELIB::Surrogate::predict ( const SGTELIB::Matrix & XX ,
+                                         SGTELIB::Matrix * ZZ ) {
+
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+
+
+
+  // Check the number of columns in XX
+  if (XX.get_nb_cols() != _n){
+    display(std::cout); 
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+                 "predict(): dimension error" );
+  }
+  *ZZ = SGTELIB::Matrix("ZZ",XX.get_nb_rows(),_m);
+
+  // Scale the input
+  SGTELIB::Matrix XXs(XX);
+  _trainingset.X_scale(XXs);
+
+
+  // Call the private prediction with normalize input XXs
+  predict_private( XXs , ZZ );
+  #ifdef SGTELIB_DEBUG
+    if (ZZ->has_nan()){
+      display(std::cout); 
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+                   "predict(): ZZ has nan" );
+    }
+  #endif
+
+  // UnScale the output
+  _trainingset.Z_unscale(ZZ);
+
+}//
+
+/*--------------------------------------*/
+/*       get metric (general)           */
+/*--------------------------------------*/
+double SGTELIB::Surrogate::get_metric (SGTELIB::metric_t mt , int j){
+
+  // Check dimension
+  if ( (j<0) || (j>_m) ){
+    display(std::cout); 
+    std::cout << "j = "<< j << "\n";
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+                 "get_metric(): dimension error" );
+  }
+
+  // If the model is not ready, return +INF
+  if ( ! _ready){ 
+    #ifdef SGTELIB_DEBUG
+      std::cout << get_string() << " is not ready => _metric = +INF\n";
+    #endif
+    return SGTELIB::INF; 
+  }
+
+  double m;
+  switch(mt){
+    case SGTELIB::METRIC_EMAX :
+      compute_metric_emax();
+      m = _trainingset.ZE_unscale( _metric_emax[j] , j ); 
+      break;
+    case SGTELIB::METRIC_EMAXCV : 
+      compute_metric_emaxcv();
+      m = _trainingset.ZE_unscale( _metric_emaxcv[j] , j ); 
+      break;
+    case SGTELIB::METRIC_RMSE : 
+      compute_metric_rmse();
+      m = _trainingset.ZE_unscale( _metric_rmse[j] , j ); 
+      break;
+    case SGTELIB::METRIC_RMSECV: 
+      compute_metric_rmsecv();
+      m = _trainingset.ZE_unscale( _metric_rmsecv[j] , j ); 
+      break;
+    case SGTELIB::METRIC_ARMSE : 
+      compute_metric_armse();
+      m = _metric_armse; 
+      break;
+    case SGTELIB::METRIC_ARMSECV : 
+      compute_metric_armsecv();
+      m = _metric_armsecv; 
+      break;
+    case SGTELIB::METRIC_OE :
+      compute_metric_oe();
+      m = _metric_oe[j];  
+      break;
+    case SGTELIB::METRIC_OECV : 
+      compute_metric_oecv();
+      m = _metric_oecv[j];  
+      break;
+    case SGTELIB::METRIC_LINV : 
+      compute_metric_linv();
+      m = _metric_linv[j];  
+      break;
+    case SGTELIB::METRIC_AOE : 
+      compute_metric_aoe();
+      m = _metric_aoe; 
+      break;
+    case SGTELIB::METRIC_AOECV : 
+      compute_metric_aoecv();
+      m = _metric_aoecv; 
+      break;
+    case SGTELIB::METRIC_EFIOE : 
+      compute_metric_efioe();
+      m = _metric_efioe; 
+      break;
+    case SGTELIB::METRIC_EFIOECV : 
+      compute_metric_efioecv();
+      m = _metric_efioecv; 
+      break;
+    default:
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+         "get_metric(): unknown metric" );
+  }
+
+  if (isnan(m)    ){ m = SGTELIB::INF; }
+  if (m < -EPSILON){ m = SGTELIB::INF; }
+  if (m <= 0.0    ){ m = 0.0; }
+  return m;
+}//
+
+
+/*---------------------------------------*/
+/*       compute matrix Zhs              */
+/* Zhs is the prediction on the training */
+/* points                                */
+/*---------------------------------------*/
+const SGTELIB::Matrix * SGTELIB::Surrogate::get_matrix_Zhs (void){
+  if ( ! _Zhs){
+    check_ready(__FILE__,__FUNCTION__,__LINE__);
+
+    //#ifdef SGTELIB_DEBUG
+    //#endif
+    // Init
+    _Zhs = new SGTELIB::Matrix("Zhs",_p,_m);
+    //call the predict function on the training points
+    predict_private (get_matrix_Xs(),_Zhs);
+    _Zhs->replace_nan(+INF);
+    _Zhs->set_name("Zhs");
+  }
+  return _Zhs;
+}//
+
+
+/*--------------------------------------*/
+/*       compute matrix Shs             */
+/*  (Compute the predictive std)        */
+/*--------------------------------------*/
+const SGTELIB::Matrix * SGTELIB::Surrogate::get_matrix_Shs (void){
+  if ( ! _Shs){
+    check_ready(__FILE__,__FUNCTION__,__LINE__);
+
+    #ifdef SGTELIB_DEBUG
+      std::cout << "Compute _Shs\n";
+    #endif
+    // Init
+    _Shs = new SGTELIB::Matrix("Shs",_p,_m);
+    //call the predict function on the training points
+    predict_private (get_matrix_Xs(),NULL,_Shs,NULL,NULL);
+    _Shs->replace_nan(+INF);
+    _Shs->set_name("Shs");
+  }
+  return _Shs;
+}//
+
+// If no specific method is defined, consider Svs = Shs.
+const SGTELIB::Matrix * SGTELIB::Surrogate::get_matrix_Svs (void){
+  if ( ! _Svs){
+    _Svs = new SGTELIB::Matrix("Svs",_p,_m);
+    const SGTELIB::Matrix Ds = _trainingset.get_matrix_Ds();
+    for (int i=0 ; i<_p ; i++){
+      double dmin = +INF;
+      for (int j=0 ; j<_p ; j++){
+        if (i!=j){
+          dmin = std::min(dmin,Ds.get(i,j));
+        }
+      }
+      _Svs->set_row(dmin,i);
+    }
+  }
+  return _Svs;
+}//
+
+
+
+/*--------------------------------------*/
+/*       get_Xs                         */
+/*--------------------------------------*/
+const SGTELIB::Matrix SGTELIB::Surrogate::get_matrix_Xs (void){
+  _trainingset.build(); 
+  return _trainingset.get_matrix_Xs().get_rows(_selected_points);
+}//
+
+
+/*--------------------------------------*/
+/*       get_Zs                         */
+/*--------------------------------------*/
+const SGTELIB::Matrix SGTELIB::Surrogate::get_matrix_Zs (void){
+  _trainingset.build(); 
+  return _trainingset.get_matrix_Zs().get_rows(_selected_points);
+}//
+
+
+/*--------------------------------------*/
+/*       get_Ds                         */
+/*--------------------------------------*/
+const SGTELIB::Matrix SGTELIB::Surrogate::get_matrix_Ds (void){
+  _trainingset.build(); 
+  return _trainingset.get_matrix_Ds().get( _selected_points , _selected_points );
+}//
+
+
+/*--------------------------------------*/
+/*       get_Zv                         */
+/*--------------------------------------*/
+const SGTELIB::Matrix SGTELIB::Surrogate::get_matrix_Zv (void){
+  // Return unscaled matrix Zv
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+  SGTELIB::Matrix Zv (*get_matrix_Zvs()); // Get scaled matrix
+  _trainingset.Z_unscale(&Zv); // Unscale
+  return Zv; // Return unscaled
+}//
+
+
+/*--------------------------------------*/
+/*       get_Zh                         */
+/*--------------------------------------*/
+const SGTELIB::Matrix SGTELIB::Surrogate::get_matrix_Zh (void){
+  // Return unscaled matrix Zh
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+  SGTELIB::Matrix Zh (*get_matrix_Zhs()); // Get scaled matrix
+  _trainingset.Z_unscale(&Zh); // Unscale
+  return Zh; // Return unscaled
+}//
+
+
+/*--------------------------------------*/
+/*       get_Sh                         */
+/*--------------------------------------*/
+const SGTELIB::Matrix SGTELIB::Surrogate::get_matrix_Sh (void){
+  // Return unscaled matrix Shs
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+  SGTELIB::Matrix Sh = (*get_matrix_Shs());
+  _trainingset.ZE_unscale(&Sh); // Unscale
+  return Sh; // Return unscaled
+}//
+
+/*--------------------------------------*/
+/*       get_Sh                         */
+/*--------------------------------------*/
+const SGTELIB::Matrix SGTELIB::Surrogate::get_matrix_Sv (void){
+  // Return unscaled matrix Zh
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+  SGTELIB::Matrix Sv (*get_matrix_Svs()); // Get scaled matrix
+  _trainingset.ZE_unscale(&Sv); // Unscale
+  return Sv; // Return unscaled
+}//
+
+
+/*--------------------------------------*/
+/*       compute rmsecv                  */
+/*--------------------------------------*/
+void SGTELIB::Surrogate::compute_metric_rmsecv (void){
+  check_ready();
+  if ( ! _metric_rmsecv){
+    // Init
+    _metric_rmsecv = new double [_m];
+
+    // Call to the method of the derivated class to 
+    // compute Zv
+
+    int i,j;
+    double e;
+    const SGTELIB::Matrix Zs = get_matrix_Zs();
+    const SGTELIB::Matrix * Zvs = get_matrix_Zvs();
+
+    // Loop on the outputs
+    for (j=0 ; j<_m ; j++){
+      // Compute the error for output j
+      e = 0;
+      for (i=0 ; i<_p ; i++){
+        e += pow(Zs.get(i,j)-Zvs->get(i,j),2);
+      }
+      _metric_rmsecv[j] = sqrt(e/_p);
+    }
+  }
+}//
+
+/*--------------------------------------*/
+/*       compute emax                   */
+/*--------------------------------------*/
+void SGTELIB::Surrogate::compute_metric_emax (void){
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+  if ( ! _metric_emax){
+    #ifdef SGTELIB_DEBUG
+      std::cout << "Compute _metric_emax\n";
+    #endif
+    // Init
+    _metric_emax = new double [_m];
+
+    int i,j;
+    double e;
+    const SGTELIB::Matrix Zs = get_matrix_Zs();
+    const SGTELIB::Matrix * Zhs = get_matrix_Zhs();
+    // Loop on the outputs
+    for (j=0 ; j<_m ; j++){
+      // Compute the error for output j
+      e = 0;
+      for (i=0 ; i<_p ; i++){
+        e = std::max( e , fabs( Zs.get(i,j)-Zhs->get(i,j) ) );
+      }
+      _metric_emax[j] = e;
+    }
+  }
+
+  #ifdef SGTELIB_DEBUG
+    std::cout << "metric_emax: " ;
+    for (int j=0 ; j<_m ; j++){
+      std::cout << _metric_emax[j] << " ";
+    }
+    std::cout << "\n";
+  #endif
+}//
+
+
+/*--------------------------------------*/
+/*       compute emaxcv                 */
+/*--------------------------------------*/
+void SGTELIB::Surrogate::compute_metric_emaxcv (void){
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+  if ( ! _metric_emaxcv){
+    #ifdef SGTELIB_DEBUG
+      std::cout << "Compute _metric_emaxcv\n";
+    #endif
+    // Init
+    _metric_emaxcv = new double [_m];
+
+    int i,j;
+    double e;
+    const SGTELIB::Matrix Zs = get_matrix_Zs();
+    const SGTELIB::Matrix * Zvs = get_matrix_Zvs();
+    // Loop on the outputs
+    for (j=0 ; j<_m ; j++){
+      // Compute the error for output j
+      e = 0;
+      for (i=0 ; i<_p ; i++){
+        e = std::max( e , fabs( Zs.get(i,j)-Zvs->get(i,j) ) );
+      }
+      _metric_emaxcv[j] = e;
+    }
+  }
+
+  #ifdef SGTELIB_DEBUG
+    std::cout << "metric_emaxcv: " ;
+    for (int j=0 ; j<_m ; j++){
+      std::cout << _metric_emaxcv[j] << " ";
+    }
+    std::cout << "\n";
+  #endif
+
+}//
+
+/*--------------------------------------*/
+/*       compute rmse                  */
+/*--------------------------------------*/
+void SGTELIB::Surrogate::compute_metric_rmse (void){
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+  if ( ! _metric_rmse){
+    #ifdef SGTELIB_DEBUG
+      std::cout << "Compute _metric_rmse\n";
+    #endif
+    // Init
+    _metric_rmse = new double [_m];
+
+    int i,j;
+    double e;
+    const SGTELIB::Matrix Zs = get_matrix_Zs();
+    const SGTELIB::Matrix * Zhs = get_matrix_Zhs();
+    // Loop on the outputs
+    for (j=0 ; j<_m ; j++){
+      // Compute the error for output j
+      e = 0;
+      for (i=0 ; i<_p ; i++){
+        e += pow(Zs.get(i,j)-Zhs->get(i,j),2);
+      }
+      _metric_rmse[j] = sqrt(e/_p);
+    }
+  }
+
+  #ifdef SGTELIB_DEBUG
+    std::cout << "metric_rmse: " ;
+    for (int j=0 ; j<_m ; j++){
+      std::cout << _metric_rmse[j] << " ";
+    }
+    std::cout << "\n";
+  #endif
+
+}//
+
+
+
+
+/*--------------------------------------*/
+/*       compute oe                   */
+/*--------------------------------------*/
+void SGTELIB::Surrogate::compute_metric_oe (void){
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+  if ( ! _metric_oe){
+    #ifdef SGTELIB_DEBUG
+      std::cout << "Compute _metric_oe\n";
+    #endif
+    // Init
+    _metric_oe = new double [_m];
+    // Compute the prediction on the training points
+    const SGTELIB::Matrix * Zhs = get_matrix_Zhs();
+    // Compute the order-efficiency metric using the matrix Zh
+    // nb: oe   => use matrix _Z
+    //     oecv => use matrix _Zv 
+    compute_order_error(Zhs,_metric_oe);
+  }
+}//
+
+/*--------------------------------------*/
+/*       compute oecv                   */
+/*--------------------------------------*/
+void SGTELIB::Surrogate::compute_metric_oecv (void){
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+  if ( ! _metric_oecv){
+    #ifdef SGTELIB_DEBUG
+      std::cout << "Compute _metric_oecv\n";
+    #endif
+    // Init
+    _metric_oecv = new double [_m];
+    // Compute the prediction on the training points
+    const SGTELIB::Matrix * Zvs = get_matrix_Zvs();
+    // Compute the order-efficiency metric using the matrix Zh
+    // nb: oe   => use matrix _Z
+    //     oecv => use matrix _Zv 
+    compute_order_error(Zvs,_metric_oecv);
+  }
+}//
+
+
+
+/*--------------------------------------*/
+/*       compute aoe                    */
+/*--------------------------------------*/
+void SGTELIB::Surrogate::compute_metric_aoe (void){
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+  if (_metric_aoe<0){
+    #ifdef SGTELIB_DEBUG
+      std::cout << "Compute _metric_aoe\n";
+    #endif
+    // Compute the prediction on the training points
+    const SGTELIB::Matrix * Zhs = get_matrix_Zhs();
+    _metric_aoe = compute_aggregate_order_error(Zhs);
+  }
+}//
+
+
+/*--------------------------------------*/
+/*       compute aoecv                  */
+/*--------------------------------------*/
+void SGTELIB::Surrogate::compute_metric_aoecv (void){
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+  if (_metric_aoecv<0){
+    #ifdef SGTELIB_DEBUG
+      std::cout << "Compute _metric_aoecv\n";
+    #endif
+    // Compute the prediction on the training points
+    const SGTELIB::Matrix * Zvs = get_matrix_Zvs();
+    _metric_aoecv = compute_aggregate_order_error(Zvs);
+  }
+}//
+
+
+/*--------------------------------------*/
+/*       compute efioe                  */
+/*--------------------------------------*/
+void SGTELIB::Surrogate::compute_metric_efioe (void){
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+  if (_metric_efioe<0){
+    #ifdef SGTELIB_DEBUG
+      std::cout << "Compute _metric_efioe\n";
+    #endif
+    SGTELIB::Matrix * EFI = new SGTELIB::Matrix("EFI",_p,_m);
+    EFI->fill(-1);
+    EFI->set_col(compute_efi(*get_matrix_Zhs(),*get_matrix_Shs()),_trainingset.get_j_obj());
+    _metric_efioecv = compute_aggregate_order_error(EFI);
+    delete EFI;
+  }
+}//
+
+/*--------------------------------------*/
+/*       compute efioecv                */
+/*--------------------------------------*/
+void SGTELIB::Surrogate::compute_metric_efioecv (void){
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+  if (_metric_efioecv<0){
+    #ifdef SGTELIB_DEBUG
+      std::cout << "Compute _metric_efioe\n";
+    #endif
+    SGTELIB::Matrix * EFI = new SGTELIB::Matrix("EFI",_p,_m);
+    EFI->fill(-1);
+    EFI->set_col(compute_efi(*get_matrix_Zvs(),*get_matrix_Svs()),_trainingset.get_j_obj());
+    _metric_efioecv = compute_aggregate_order_error(EFI);
+    delete EFI;
+  }
+}//
+
+
+/*----------------------------------------------------------*/
+/*     compute EFI from the predictive mean and std         */
+/*----------------------------------------------------------*/
+SGTELIB::Matrix SGTELIB::Surrogate::compute_efi( const SGTELIB::Matrix Zs,
+                                                 const SGTELIB::Matrix Ss  ){
+
+  const int p = Zs.get_nb_rows();
+  if (Zs.get_nb_cols()!=_m) throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Unconsistent nb of cols" );
+
+  const SGTELIB::Matrix Z = _trainingset.Z_unscale(Zs);
+  const SGTELIB::Matrix S = _trainingset.ZE_unscale(Ss);
+  const double fmin = _trainingset.get_f_min();
+
+  SGTELIB::Matrix EFI ("EFI",p,1);
+  EFI.fill(1.0);
+  double v;
+
+  for (int j=0 ; j<_m ; j++){
+    if (_trainingset.get_bbo(j)==SGTELIB::BBO_OBJ){
+      for (int i=0 ; i<p ; i++){
+        v = SGTELIB::normei( Z.get(i,j) , S.get(i,j) , fmin );
+        EFI.product(i,0,v);
+      }
+    }
+    if (_trainingset.get_bbo(j)==SGTELIB::BBO_CON){
+      for (int i=0 ; i<p ; i++){
+        v = SGTELIB::normcdf( 0.0 , Z.get(i,j) , S.get(i,j) );
+        EFI.product(i,0,v);
+      }
+    }
+  }// end loop on j
+
+  return EFI;
+
+}//
+
+
+
+
+
+/*--------------------------------------*/
+/*       compute armse                  */
+/*--------------------------------------*/
+void SGTELIB::Surrogate::compute_metric_armse (void){
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+  if (_metric_armse<0){
+    #ifdef SGTELIB_DEBUG
+      std::cout << "Compute _metric_armse\n";
+    #endif
+    compute_metric_rmse();
+    _metric_armse = 0;
+    for (int j=0 ; j<_m ; j++) _metric_armse += _metric_rmse[j]; 
+  }
+}//
+
+
+/*--------------------------------------*/
+/*       compute armsecv                  */
+/*--------------------------------------*/
+void SGTELIB::Surrogate::compute_metric_armsecv (void){
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+  if (_metric_armsecv<0){
+    #ifdef SGTELIB_DEBUG
+      std::cout << "Compute _metric_armsecv\n";
+    #endif
+    compute_metric_rmsecv();
+    _metric_armsecv = 0;
+    for (int j=0 ; j<_m ; j++) _metric_armsecv += _metric_rmsecv[j]; 
+  }
+}//
+
+/*--------------------------------------*/
+/*       compute linv                   */
+/*--------------------------------------*/
+void SGTELIB::Surrogate::compute_metric_linv (void){
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+  if ( ! _metric_linv){
+    #ifdef SGTELIB_DEBUG
+      std::cout << "Compute _metric_linv\n";
+    #endif
+    // Init
+    _metric_linv = new double [_m];
+
+    // Compute the prediction on the training points
+    const SGTELIB::Matrix * Zhs = get_matrix_Zhs();
+    const SGTELIB::Matrix * Shs = get_matrix_Shs();
+    // True values
+    const SGTELIB::Matrix Zs = get_matrix_Zs();
+    double s,dz;
+    double linv;
+    // TODO : improve the behavior of linv for very small s.
+    for (int j=0 ; j<_m ; j++){
+      if (_trainingset.get_bbo(j)!=SGTELIB::BBO_DUM){
+        linv = 0;
+        for (int i=0 ; i<_p ; i++){
+          dz = Zhs->get(i,j)-Zs.get(i,j);
+          s  = Shs->get(i,j);
+          s = std::max(s ,EPSILON);   
+          dz= std::max(dz,EPSILON); 
+          linv += -log(s) - pow(dz/s,2)/2;
+        }
+        linv /= _p; // normalization by the number of points
+        linv -= 0.5*log(2*3.141592654); // add the normal pdf constant
+        // Add this point, we have log(prod g)/p
+        linv = exp(-linv);
+        _metric_linv[j] = linv;
+      }
+      else{
+        _metric_linv[j] = -SGTELIB::INF;
+      }
+    }
+  }
+
+}//
+
+
+
+/*--------------------------------------*/
+/*       compute order efficiency       */
+/*--------------------------------------*/
+void SGTELIB::Surrogate::compute_order_error (const SGTELIB::Matrix * const Zpred , 
+                                              double * m                   ){
+
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+  // Compute the order-efficiency metric by comparing the 
+  // values of - _Zs (in the trainingset)
+  //           - Zpred (input of this function)
+  // Put the results in "m" (output of this function)
+
+  if ( ! m){
+    display(std::cout); 
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+                   "compute_order_error(): m is NULL" );
+  }
+
+  int nb_fail;
+  const SGTELIB::Matrix Zs = get_matrix_Zs();
+  
+  for (int j=0 ; j<_m ; j++){
+    switch (_trainingset.get_bbo(j)){
+    //===============================================//
+    case SGTELIB::BBO_OBJ:
+      double z1,z1h,z2,z2h;
+      nb_fail = 0;
+      for (int i1=0 ; i1<_p ; i1++){
+        z1 = Zs.get(i1,j);
+        z1h = Zpred->get(i1,j);
+        for (int i2=0 ; i2<_p ; i2++){
+          z2 = Zs.get(i2,j);
+          z2h = Zpred->get(i2,j);
+          if ( (z1-z2<0)^(z1h-z2h<0) ) nb_fail++;
+        }
+      }
+      m[j] = double(nb_fail)/double(_p*_p);
+      break;
+    //===============================================//
+    case SGTELIB::BBO_CON:
+      nb_fail = 0;
+      double z,zh;
+      for (int i=0 ; i<_p ; i++){
+        z = Zs.get(i,j);
+        zh = Zpred->get(i,j);
+        if ( (z<0)^(zh<0) ) nb_fail++;
+      }
+
+      m[j] = double(nb_fail)/double(_p);
+      break;
+    //===============================================//
+    case SGTELIB::BBO_DUM:
+      m[j] = -1.0;
+      break;
+    //===============================================//
+    default:
+      display(std::cout); 
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Undefined type" );
+    //===============================================//
+    }// end switch
+  }// end loop on j
+}//
+
+
+/*--------------------------------------*/
+/*       compute order efficiency       */
+/*--------------------------------------*/
+double SGTELIB::Surrogate::compute_aggregate_order_error (const SGTELIB::Matrix * const Zpred){
+
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+
+  const SGTELIB::Matrix Zs = get_matrix_Zs();
+
+  // Build f1,h1,f2 and h2.
+  // f1 and h1 are the real data
+  // f2 and h2 are the surrogate.
+
+  SGTELIB::Matrix fhr ("fhr",_p,2);
+  SGTELIB::Matrix fhs ("fhs",_p,2);
+  fhr.fill(0.0);
+  fhs.fill(0.0);
+  int i,j;
+  for (j=0 ; j<_m ; j++){
+    switch (_trainingset.get_bbo(j)){
+    //===============================================//
+    case SGTELIB::BBO_OBJ:
+      fhr.set_col( Zs.get_col(j) , 0 );
+      fhs.set_col( Zpred->get_col(j) , 0 );
+      break;
+    //===============================================//
+    case SGTELIB::BBO_CON:
+      for (i=0 ; i<_p ; i++){
+        double d;
+        d = Zs.get(i,j);
+        if (d>0) fhr.add(i,1,d*d);
+        d = Zpred->get(i,j);
+        if (d>0) fhs.add(i,1,d*d);
+      }
+      break;
+    //===============================================//
+    case SGTELIB::BBO_DUM:
+      break;
+    //===============================================//
+    default:
+      display(std::cout); 
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Undefined type" );
+    //===============================================//
+    }// end switch
+  }// end loop on j
+
+  int e = 0;
+  int i1,i2;
+  double hr1,hr2,hs1,hs2,fr1,fr2,fs1,fs2;
+  bool inf_r,inf_s;
+  // i1 and i2 are the indexes of the two points that are compared.
+  // fr1 and hr1 (resp. fr2 and hr2) are the real values of f and r for these points.
+  // fs1 and hs1 (resp. fs2 and hs2) are the surrogate (or CV) values.
+  for (i1=0 ; i1<_p ; i1++){
+    fr1 = fhr.get(i1,0);
+    hr1 = fhr.get(i1,1);
+    fs1 = fhs.get(i1,0);
+    hs1 = fhs.get(i1,1);
+    for (i2=0 ; i2<_p ; i2++){
+      fr2 = fhr.get(i2,0);
+      hr2 = fhr.get(i2,1);
+      fs2 = fhs.get(i2,0);
+      hs2 = fhs.get(i2,1);
+      // Compute the order for real (r) data and for surrogate (s) model
+      inf_r = ( (hr1<hr2) | ( (hr1==hr2) & (fr1<fr2) ) );
+      inf_s = ( (hs1<hs2) | ( (hs1==hs2) & (fs1<fs2) ) );
+      // If they don't agree, increment e. (Note that ^ is the xor operator)
+      if (inf_r ^ inf_s) e++;
+    }
+  }
+  return double(e)/double(_p*_p);
+
+}//
+
+/*--------------------------------------*/
+/*       get_exclusion_area_penalty     */
+/*--------------------------------------*/
+SGTELIB::Matrix SGTELIB::Surrogate::get_exclusion_area_penalty ( const SGTELIB::Matrix & XX , const double tc ) const{
+  // Scale the input
+  SGTELIB::Matrix XXs(XX);
+  XXs.set_name("XXs");
+  _trainingset.X_scale(XXs);
+  return _trainingset.get_exclusion_area_penalty ( XXs , tc );
+}//
+
+
+/*--------------------------------------*/
+/*       get_distance_to_closest        */
+/*--------------------------------------*/
+SGTELIB::Matrix SGTELIB::Surrogate::get_distance_to_closest ( const SGTELIB::Matrix & XX ) const{
+  // Scale the input
+  SGTELIB::Matrix XXs(XX);
+  XXs.set_name("XXs");
+  _trainingset.X_scale(XXs);
+  return _trainingset.get_distance_to_closest ( XXs );
+}//
+
+
+
+
+/*--------------------------------------*/
+/*  optimize model parameters           */
+/*--------------------------------------*/
+bool SGTELIB::Surrogate::optimize_parameters ( void ) {
+
+
+  // Number of parameters to optimize
+  const int N = _param.get_nb_parameter_optimization();
+  // Budget
+  int budget = N*_param.get_budget();
+
+  int i,j,k;
+  double d;
+  const bool display = false;
+  if (display){
+    std::cout << "Begin parameter optimization\n";
+    std::cout << "Metric: " << SGTELIB::metric_type_to_str(_param.get_metric_type()) << "\n";
+  }
+
+  
+
+  //-----------------------------------------
+  // Bounds, Scaling and domain
+  //-----------------------------------------
+  SGTELIB::Matrix lb("lb",1,N);
+  SGTELIB::Matrix ub("ub",1,N);
+  SGTELIB::Matrix scaling ("scaling",1,N);
+  bool * logscale = new bool [N];
+  SGTELIB::param_domain_t * domain = new SGTELIB::param_domain_t[N];
+
+  _param.get_x_bounds ( &lb , &ub , domain , logscale );
+
+  for (i=0 ; i<N ; i++){
+    if (domain[i]==SGTELIB::PARAM_DOMAIN_CONTINUOUS){
+      if (logscale[i]) d = 1;
+      else d = (ub[i]-lb[i])/5;
+      scaling.set(0,i,d);
+      if (d<EPSILON) throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Bad scaling." );
+    }
+    else if (domain[i]==SGTELIB::PARAM_DOMAIN_CAT){
+      scaling.set(0,i,ub[i]-lb[i]);
+    }
+    else{
+      scaling.set(0,i,1);
+    }
+  }
+
+  if (display){
+    std::cout << "Model: " << get_short_string() << "\n";
+    std::cout << "lb: [ ";
+    for (i=0 ; i<N ; i++) std::cout << lb[i] << " ";
+    std::cout << "]\n";
+    std::cout << "ub: [ ";
+    for (i=0 ; i<N ; i++) std::cout << ub[i] << " ";
+    std::cout << "]\n";
+    std::cout << "scaling: [ ";
+    for (i=0 ; i<N ; i++){
+      std::cout << scaling[i];
+      if (logscale[i]) std::cout << "(log)";
+      std::cout << " ";
+    }
+    std::cout << "]\n";
+  }
+
+  // Build set of starting points
+  const int nx0 = 1+budget/10;
+  SGTELIB::Matrix X0 ("X0",nx0,N);
+  X0.set_row(_param.get_x(),0);
+  for (j=0 ; j<N ; j++){
+    double lbj = lb[j];
+    double ubj = ub[j];
+    for (i=1 ; i<nx0 ; i++){ // nb: Skip the first row of X0
+      d = uniform_rand();
+      if (logscale[j]) d = lb[j] * pow(ubj/lbj,d);
+      else d = lbj + (ubj-lbj)*d;
+      X0.set(i,j,d);
+    } 
+  }
+  
+  //---------------------------------------------
+  // Budget, poll size, success and objectives
+  //---------------------------------------------
+
+  SGTELIB::Matrix xtry ("xtry",1,N);
+  double fmin = +INF;
+  double pmin = +INF;
+  double ftry, ptry;
+  bool success;
+  double psize = 0.5;
+  SGTELIB::Matrix POLL;
+  SGTELIB::Matrix xmin = X0.get_row(0);
+
+  // Init cache of evaluated points
+  SGTELIB::Matrix CACHE ("CACHE",0,N);
+  bool cache_hit;
+
+  //------------------------
+  // LOOP
+  //------------------------
+  int iter=0;
+  while (budget>0){
+
+    success = false;
+
+    if (display){
+      std::cout << "=================================================\n";
+      std::cout << "Budget: " << budget  << "\n";
+      // Display best solution
+      std::cout << "\nCurrent xmin:\n";
+      std::cout << "X=[ " ;
+      for (j=0 ; j<N ; j++) std::cout << xmin[j] << " ";
+      std::cout << "] => " << fmin << " / " << pmin <<  "\n\n";
+    }
+
+    if (iter){
+      // Create POLL candidates
+      POLL = SGTELIB::Matrix::get_poll_directions(scaling,domain,psize);
+      //POLL.display(std::cout);
+      for (i=0 ; i<POLL.get_nb_rows() ; i++){
+        for (j=0 ; j<N ; j++){
+          // Add poll directions to poll center
+          d = xmin[j];
+          if (logscale[j]) d *= pow(4.0,POLL.get(i,j));  //exp(POLL.get(i,j));
+          else             d += POLL.get(i,j);
+          xtry.set(0,j,d);    
+        }// End build candidate
+        POLL.set_row(xtry,i);
+      } // End Create POLL
+      POLL.set_name("POLL-CANDIDATES");
+      //POLL.display(std::cout);
+    }
+    else{
+      // If iter==0, then evaluate starting points
+      POLL = X0;
+    }
+
+    // Evaluate POLL
+    for (i=0 ; i<POLL.get_nb_rows() ; i++){
+
+      // Candidate
+      xtry = POLL.get_row(i);
+      xtry.set_name("xtry");
+
+      // Display candidate
+      if (display){
+        if (iter) std::cout << "X = [ " ;
+        else std::cout << "X0= [ " ;
+        for (j=0 ; j<N ; j++) std::cout << xtry[j] << " ";
+        std::cout << "] => ";
+      }
+
+      // Snap to bounds
+      for (j=0 ; j<N ; j++){
+        d = xtry[j];
+        // Snap to bounds
+        double lbj = lb[j];
+        double ubj = ub[j];
+        switch (domain[j]){
+          case SGTELIB::PARAM_DOMAIN_CONTINUOUS:
+            if (d<lbj) d = lbj;
+            if (d>ubj) d = ubj;
+            break;
+          case SGTELIB::PARAM_DOMAIN_INTEGER:
+            d = double(round(d));
+            if (d<lbj) d=lbj;
+            if (d>ubj) d=ubj;
+            break;
+          case SGTELIB::PARAM_DOMAIN_CAT:
+            k = round(d);
+            while (k>ubj) k-=int(ubj-lbj);
+            while (k<lbj) k+=int(ubj-lbj);
+            d = double(k);
+            break;
+          case SGTELIB::PARAM_DOMAIN_BOOL:
+            d = (d>1/2)?1.0:0.0;
+            break;
+          case SGTELIB::PARAM_DOMAIN_MISC:
+            throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Invalid variable domain!" );
+            break;
+        }
+        xtry.set(0,j,d);    
+      }
+
+      // Check Cache
+      cache_hit = (CACHE.find_row(xtry)!=-1);
+      if (cache_hit){
+        if (display) std::cout << "Cache hit\n";
+      }
+      else{
+        // ---------------------------------
+        // EVALUATION 
+        // ---------------------------------
+        _param.set_x(xtry);
+        _param.check();
+        ftry = eval_objective();
+        ptry = _param.get_x_penalty();
+        budget--;
+        CACHE.add_rows(xtry);
+
+        // Display f
+        if (display){
+          if (ftry>=+INF) std::cout << "+inf" ;
+          else std::cout << ftry;
+          std::cout << " / " ;
+          if (ptry>=+INF) std::cout << "+inf" ;
+          else std::cout << ptry;
+        }
+
+        // Check for success for each objective
+        if ( (ftry<fmin) || ((ftry==fmin) && (ptry<pmin)) ){
+          if (display) std::cout << "(!)";
+          xmin = xtry;
+          fmin = ftry;
+          pmin = ptry;
+          success = true;
+        }
+        if (display) std::cout << "\n";
+      } // End Evaluation (i.e. No Cache Hit)
+
+      if ( (iter) && (success) ) break;
+
+    }// END LOOP ON POLL (for i...)
+
+    if (iter){
+      // Update poll size
+      if (success) psize*=2;
+      else psize/=2;
+    }
+    iter++;
+
+    // Check convergence
+    if (psize<1e-6) break;
+    if (budget<=0) break;
+
+  }// End of optimization
+
+  // Set param to optimal value
+  _param.set_x(xmin);
+  _param.check();
+
+  fmin = eval_objective();
+  /*
+  _param.display(std::cout);
+  std::cout << "fmin = " << fmin << "\n";
+  std::cout << "=================================\n";
+  */
+  if (display){
+    _param.display(std::cout);
+    std::cout << "End parameter optimization\n";
+    std::cout << "=================================\n";
+  }
+
+  // Check for Nan
+  if (xmin.has_nan() || xmin.has_inf()) return false;
+
+  delete [] logscale;
+  delete [] domain;
+
+  // Return success
+  return true;
+
+}//
+
+
+/*--------------------------------------*/
+/*    Evaluate a set of parameters      */
+/*--------------------------------------*/
+double SGTELIB::Surrogate::eval_objective ( void ){
+
+  //std::cout << "Eval obj...\n";
+  reset_metrics();
+
+  // Build model
+  bool ok = build_private();
+  if ( ! ok) return +INF;
+
+  // Compute metric
+  const SGTELIB::metric_t mt = _param.get_metric_type();
+
+  double metric = 0;
+  if (SGTELIB::metric_multiple_obj(mt)){
+    for (int i=0 ; i<_m ; i++) metric += get_metric(mt,i);
+  }
+  else{
+    metric = get_metric(mt,0);
+  }
+
+  if ( isnan(metric) ) return +INF;
+  if ( isinf(metric) ) return +INF;
+  return metric;
+
+}//
+
+
+
+
+
+
+
+
+
diff --git a/ext/sgtelib/src/Surrogate.hpp b/ext/sgtelib/src/Surrogate.hpp
new file mode 100644
index 0000000..f28690e
--- /dev/null
+++ b/ext/sgtelib/src/Surrogate.hpp
@@ -0,0 +1,237 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#ifndef __SGTELIB_SURROGATE__
+#define __SGTELIB_SURROGATE__
+
+#include "Matrix.hpp"
+#include "TrainingSet.hpp"
+#include "Kernel.hpp"
+#include "Surrogate_Parameters.hpp"
+
+namespace SGTELIB {
+
+  /*--------------------------------------*/
+  /*             Surrogate class          */
+  /*--------------------------------------*/
+  class Surrogate {
+
+  // Surrogate Ensemble is a friend, so that it can access to private and protected 
+  // prediction methods of other derived classed of Surrogate_Ensemble
+  friend class Surrogate_Ensemble;
+
+  protected:
+
+    // TrainingSet containing the data 
+    // (may be shared between several surrogates)
+    SGTELIB::TrainingSet & _trainingset;
+    // Parameters
+    SGTELIB::Surrogate_Parameters _param;
+
+    // Input dim
+    const int _n;
+    // Ouptut dim
+    const int _m;
+
+    // Number of data points of the training set
+    int _p_ts;    
+    int _p_ts_old;    
+    // Number of data points used in the model
+    int _p; 
+    int _p_old;
+
+    // Is the surrogate ready to perform predictions ?
+    bool _ready; 
+
+    // Predictions
+    // _Zhs: Prediction of the model in the training points
+    // (used to compute emax, rmse, eotp, linv)
+    SGTELIB::Matrix * _Zhs; 
+    SGTELIB::Matrix * _Shs; // Predictive std on the training points
+
+    // _Zvs: Cross-Validation prediction of the model in the training points
+    // (used to compute rmsecv, oecv)
+    SGTELIB::Matrix * _Zvs; 
+    SGTELIB::Matrix * _Svs; // Cross-validation std on the training points
+
+    // List of points used to build the model
+    std::list<int> _selected_points;
+
+    // metrics
+    double * _metric_emax;
+    double * _metric_emaxcv;
+    double * _metric_rmse;
+    double * _metric_rmsecv;
+    double * _metric_oe;
+    double * _metric_oecv;
+    double * _metric_linv;
+    double _metric_aoe;
+    double _metric_aoecv;
+    double _metric_efioe;
+    double _metric_efioecv;
+    double _metric_armse;
+    double _metric_armsecv;
+
+    // psize_max : Larger value of psize that led to a success
+    // in the previous parameter optimization.
+    double _psize_max; 
+
+    // Output stream
+    std::ofstream _out;
+    bool _display;
+
+    // private affectation operator:
+    Surrogate & operator = ( const Surrogate & );
+
+    // build model (private):
+    virtual bool build_private (void) = 0;
+    virtual bool init_private  (void);
+
+    // Compute metrics
+    void compute_metric_emax     (void);
+    void compute_metric_emaxcv   (void);
+    void compute_metric_rmse     (void);
+    void compute_metric_rmsecv   (void);
+    void compute_metric_armse    (void);
+    void compute_metric_armsecv  (void);
+    void compute_metric_oe       (void);
+    void compute_metric_oecv     (void);
+    void compute_metric_aoe      (void);
+    void compute_metric_aoecv    (void);
+    void compute_metric_efioe    (void);
+    void compute_metric_efioecv  (void);
+    virtual void compute_metric_linv (void);
+    //virtual void compute_metric_eficv (void);
+
+    // Function used to compute "_metric_oe" and "_metric_oecv"
+    void compute_order_error ( const SGTELIB::Matrix * const Zpred , 
+                               double * m                   );
+    double compute_aggregate_order_error ( const SGTELIB::Matrix * const Zpred );
+
+    SGTELIB::Matrix compute_efi( const SGTELIB::Matrix Zs,
+                                 const SGTELIB::Matrix Ss  );
+
+    // predict model (private):
+    virtual void predict_private ( const SGTELIB::Matrix & XXs,
+                                         SGTELIB::Matrix * ZZs,
+                                         SGTELIB::Matrix * std, 
+                                         SGTELIB::Matrix * ei ,
+                                         SGTELIB::Matrix * cdf ); 
+ 
+    virtual void predict_private ( const SGTELIB::Matrix & XXs,
+                                         SGTELIB::Matrix * ZZs) = 0; 
+
+
+    // Display private 
+    virtual void display_private ( std::ostream & out ) const = 0;
+
+    // get matrices (these matrices are unscaled before being returned)
+    // (That's why these functions cant be public)
+    const SGTELIB::Matrix get_matrix_Xs (void);
+    const SGTELIB::Matrix get_matrix_Zs (void);
+    const SGTELIB::Matrix get_matrix_Ds (void);
+
+    // Compute scaled data
+    // Compute the cross-validation matrix
+    virtual const SGTELIB::Matrix * get_matrix_Zvs (void) = 0;
+    virtual const SGTELIB::Matrix * get_matrix_Zhs (void);
+    virtual const SGTELIB::Matrix * get_matrix_Shs (void);
+    virtual const SGTELIB::Matrix * get_matrix_Svs (void);
+
+  public:
+    // constructor:
+
+    Surrogate ( SGTELIB::TrainingSet & trainingset,
+                const SGTELIB::Surrogate_Parameters param);
+
+    Surrogate ( SGTELIB::TrainingSet & trainingset,
+                const SGTELIB::model_t mt );
+
+    Surrogate ( SGTELIB::TrainingSet & trainingset,
+                const std::string & s );
+
+    // destructor:
+    virtual ~Surrogate ( void );
+
+    void reset_metrics ( void );
+    void info ( void ) const ;
+
+    // check ready
+    void check_ready (const std::string & s) const;
+    void check_ready (const std::string & file, const std::string & function, const int & i) const;
+    void check_ready (void) const;
+
+    // Get metrics
+    double get_metric (SGTELIB::metric_t mt , int j);
+
+    // construct:
+    bool build (void);
+
+    // predict:
+    void predict ( const SGTELIB::Matrix & XX ,
+                         SGTELIB::Matrix * ZZ , // nb : ZZ is a ptr
+                         SGTELIB::Matrix * std, 
+                         SGTELIB::Matrix * ei , 
+                         SGTELIB::Matrix * cdf); 
+
+    void predict ( const SGTELIB::Matrix & XX ,
+                         SGTELIB::Matrix * ZZ ); 
+
+    // Compute unscaled data
+    const SGTELIB::Matrix get_matrix_Zh (void);
+    const SGTELIB::Matrix get_matrix_Sh (void);
+    const SGTELIB::Matrix get_matrix_Zv (void);
+    const SGTELIB::Matrix get_matrix_Sv (void);
+
+    // add points:
+    bool add_points ( const SGTELIB::Matrix & Xnew ,
+                      const SGTELIB::Matrix & Znew  );
+    bool add_point  ( const double * xnew ,
+                      const double * znew  );
+
+    // exclusion_area
+    SGTELIB::Matrix get_exclusion_area_penalty ( const SGTELIB::Matrix & XX , const double tc ) const;
+    SGTELIB::Matrix get_distance_to_closest ( const SGTELIB::Matrix & XX ) const;
+
+    bool is_ready                (void) const {return _ready;};
+    void display_trainingset     (void) const {_trainingset.build();_trainingset.display(std::cout);};
+    SGTELIB::model_t get_type    (void) const {return _param.get_type();};
+    std::string get_string       (void) const {return _param.get_string();};
+    std::string get_short_string (void) const {return _param.get_short_string();};
+    void display                 ( std::ostream & out ) const;
+    const SGTELIB::Surrogate_Parameters get_param (void) const {return _param;};
+
+    // Set:
+    void set_kernel_coef (double v)    { _param.set_kernel_coef(v); };
+
+    // Parameter optimization
+    bool optimize_parameters ( void );
+    double eval_objective ( void );
+
+  };
+}
+
+#endif
+
diff --git a/ext/sgtelib/src/Surrogate_CN.cpp b/ext/sgtelib/src/Surrogate_CN.cpp
new file mode 100644
index 0000000..abb25fb
--- /dev/null
+++ b/ext/sgtelib/src/Surrogate_CN.cpp
@@ -0,0 +1,191 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#include "Surrogate_CN.hpp"
+
+/*----------------------------*/
+/*         constructor        */
+/*----------------------------*/
+SGTELIB::Surrogate_CN::Surrogate_CN ( SGTELIB::TrainingSet & trainingset,
+                                      SGTELIB::Surrogate_Parameters param) :
+  SGTELIB::Surrogate ( trainingset , param  ) {
+  #ifdef SGTELIB_DEBUG
+    std::cout << "constructor CN\n";
+  #endif
+}//
+
+
+/*----------------------------*/
+/*          destructor        */
+/*----------------------------*/
+SGTELIB::Surrogate_CN::~Surrogate_CN ( void ) {
+
+}//
+
+
+/*--------------------------------------*/
+/*              display                 */
+/*--------------------------------------*/
+void SGTELIB::Surrogate_CN::display_private ( std::ostream & out ) const {
+  out << "(No special members)\n";
+}//
+
+
+/*--------------------------------------*/
+/*             build_private            */
+/*--------------------------------------*/
+bool SGTELIB::Surrogate_CN::build_private ( void ) {
+  _ready = true;
+  return true;
+}//
+
+/*--------------------------------------*/
+/*       predict_private (ZZs only)      */
+/*--------------------------------------*/
+void SGTELIB::Surrogate_CN::predict_private ( const SGTELIB::Matrix & XXs,
+                                                    SGTELIB::Matrix * ZZs) {
+  
+  int i,imin;
+  const int pxx = XXs.get_nb_rows();
+
+  // D : distance between points of XXs and other points of the trainingset
+  SGTELIB::Matrix D = _trainingset.get_distances(XXs,get_matrix_Xs(),_param.get_distance_type());
+
+  // Data:
+  const SGTELIB::Matrix & Zs = get_matrix_Zs();
+
+  // Loop on the points of XXs
+  for (i=0 ; i<pxx ; i++){
+    // imin is the index of the closest neighbor of xx in Xs
+    imin = D.get_min_index_row(i); 
+    // Copy the output of this point
+    ZZs->set_row( Zs.get_row(imin) , i);
+  }
+
+}//
+
+
+/*--------------------------------------*/
+/*      compute cv values               */
+/*--------------------------------------*/
+bool SGTELIB::Surrogate_CN::compute_cv_values (void){
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+
+  if ((_Zvs) && (_Svs)) return true;
+
+
+  // Init matrices
+  if ( ! _Zvs){
+    _Zvs = new SGTELIB::Matrix ("Zvs",_p,_m);
+    _Zvs->set_name("Zvs");
+  }
+    
+  if ( ! _Svs){
+    _Svs = new SGTELIB::Matrix ("Svs",_p,_m);
+    _Svs->set_name("Svs");
+  }
+
+
+  int i,i2,imin=0;
+  double d;
+  SGTELIB::Matrix D = _trainingset.get_distances(get_matrix_Xs(),get_matrix_Xs(),_param.get_distance_type());
+  const SGTELIB::Matrix & Zs = get_matrix_Zs();
+
+  // Loop on the outputs
+  for (i=0 ; i<_p ; i++){
+    // Find the closest point to iv (not itself)
+    double dmin = SGTELIB::INF;
+    // Loop on the points of the trainingset
+    for (i2=0 ; i2<_p ; i2++){
+      d = D.get(i,i2);
+      if ( (i!=i2) && (d<dmin) ){
+        dmin = d;
+        imin = i2;
+      }
+    }
+    _Zvs->set_row( Zs.get_row(imin) , i);
+    _Svs->set_row( dmin             , i);
+  }
+
+  
+  return true;
+
+}//
+
+/*--------------------------------------*/
+/*       get_matrix_Zhs                 */
+/*--------------------------------------*/
+const SGTELIB::Matrix * SGTELIB::Surrogate_CN::get_matrix_Zhs (void){
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+  if ( ! _Zhs){
+    _Zhs = new SGTELIB::Matrix(get_matrix_Zs());
+  }
+  return _Zhs;
+}//
+
+/*--------------------------------------*/
+/*       get_matrix_Shs                 */
+/*--------------------------------------*/
+const SGTELIB::Matrix * SGTELIB::Surrogate_CN::get_matrix_Shs (void){
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+  if ( ! _Shs){
+    _Shs = new SGTELIB::Matrix("Shs",_p,_m);
+  }
+  return _Shs;
+}//
+
+
+/*--------------------------------------*/
+/*       get_matrix_Zvs                 */
+/*--------------------------------------*/
+const SGTELIB::Matrix * SGTELIB::Surrogate_CN::get_matrix_Zvs (void){
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+  compute_cv_values();
+  return _Zvs;
+}//
+
+/*--------------------------------------*/
+/*       get_matrix_Svs                 */
+/*--------------------------------------*/
+const SGTELIB::Matrix * SGTELIB::Surrogate_CN::get_matrix_Svs (void){
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+  compute_cv_values();
+  return _Svs;
+}//
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ext/sgtelib/src/Surrogate_CN.hpp b/ext/sgtelib/src/Surrogate_CN.hpp
new file mode 100644
index 0000000..9c40555
--- /dev/null
+++ b/ext/sgtelib/src/Surrogate_CN.hpp
@@ -0,0 +1,68 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#ifndef __SGTELIB_SURROGATE_CN__
+#define __SGTELIB_SURROGATE_CN__
+
+#include "Surrogate.hpp"
+
+namespace SGTELIB {
+
+  /*--------------------------------------*/
+  /*         Surrogate_CN class        */
+  /*--------------------------------------*/
+  class Surrogate_CN : public SGTELIB::Surrogate {
+
+  private:
+  
+    virtual bool build_private (void);
+ 
+    virtual void predict_private ( const SGTELIB::Matrix & XXs,
+                                         SGTELIB::Matrix * ZZs); 
+
+    // Compute metrics
+    virtual const SGTELIB::Matrix * get_matrix_Zvs (void);
+    virtual const SGTELIB::Matrix * get_matrix_Zhs (void);
+    virtual const SGTELIB::Matrix * get_matrix_Svs (void);
+    virtual const SGTELIB::Matrix * get_matrix_Shs (void);
+
+    bool compute_cv_values (void);
+
+  public:
+
+    // Constructor
+    Surrogate_CN ( SGTELIB::TrainingSet & trainingset ,   
+                   SGTELIB::Surrogate_Parameters param) ;
+
+    // destructor:
+    virtual ~Surrogate_CN ( void );
+
+    virtual void display_private ( std::ostream & out ) const;
+
+  };
+}
+
+#endif
+
diff --git a/ext/sgtelib/src/Surrogate_Ensemble.cpp b/ext/sgtelib/src/Surrogate_Ensemble.cpp
new file mode 100644
index 0000000..f6aadfb
--- /dev/null
+++ b/ext/sgtelib/src/Surrogate_Ensemble.cpp
@@ -0,0 +1,1061 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#include "Surrogate_Ensemble.hpp"
+
+/*----------------------------*/
+/*         constructor        */
+/*----------------------------*/
+SGTELIB::Surrogate_Ensemble::Surrogate_Ensemble ( SGTELIB::TrainingSet & trainingset,
+                                                  SGTELIB::Surrogate_Parameters param ) :
+  SGTELIB::Surrogate ( trainingset , param ),
+  _kmax              ( 0               ),
+  _kready            ( 0               ),
+  _active            ( NULL            ),
+  _metric            ( new double [_m] ){
+
+  #ifdef ENSEMBLE_DEBUG
+    std::cout << "constructor Ensemble 1\n";
+  #endif
+  // Init Model list
+  model_list_preset(_param.get_preset());
+  // Init the weight matrix in _param
+  SGTELIB::Matrix W ("W",_kmax,_m);
+  W.fill(1.0/double(_kmax));
+  _param.set_weight(W);
+}
+
+
+/*----------------------------*/
+/*          destructor        */
+/*----------------------------*/
+SGTELIB::Surrogate_Ensemble::~Surrogate_Ensemble ( void ) {
+
+  delete [] _active;
+  delete [] _metric;
+
+  for (int k=0 ; k<_kmax ; k++){
+    if ( _surrogates.at(k) ){
+      surrogate_delete( _surrogates.at(k) );
+    }
+  }
+  _surrogates.clear();
+
+}//
+
+/*--------------------------------------*/
+/*              display                 */
+/*--------------------------------------*/
+void SGTELIB::Surrogate_Ensemble::display_private ( std::ostream & out ) const {
+
+  out << "kmax: " << _kmax << "\n";
+  out << "kready: " << _kready << "\n";
+
+  SGTELIB::Matrix W = _param.get_weight();
+  /*
+  out << "W = [ ";
+  for ( int k=0 ; k<_kmax ; k++) out << W.get(k,0) << " ";
+  out << " ]\n";
+  */
+/*
+  for (int k=0 ; k<_kmax ; k++){
+    out <<"model[" << k << "]: " << _surrogates.at(k)->get_string() << "\n";
+  }
+*/
+/*
+  double w;
+  for (int j=0 ; j<_m ; j++){
+    out << "output " << j << ":\n";
+    for ( int k=0 ; k<_kmax ; k++){
+      out << "  [";
+      out.width(2); 
+      out << k;
+      out << "]: ";
+      out.width(12); 
+      out << _surrogates.at(k)->get_metric(_param.get_metric_type(),j) << " ; w: ";
+      
+      w = W.get(k,j);
+      if (w==0) out << "  0 %";
+      else if (w<=0.01) out << " <1 %";
+      else{
+        w = double(round(w*100));
+        out.width(3); 
+        out << w << " %";
+      }
+      out << " ; ";
+      out << _surrogates.at(k)->get_short_string();
+      if (! is_ready(k))
+        out << " (Not Ready)";
+      out << "\n";
+    }
+    // Metric of the Ensemble
+    out << "  =====>";
+    out.width(8); 
+    out << _metric[j] ;
+    out << " ; weight:       N.A. ; " << get_short_string() << "\n";
+  }
+
+*/
+
+ double w;
+  for (int j=0 ; j<_m ; j++){
+    out << "output " << _p << " " << j << ":";
+    for ( int k=0 ; k<_kmax ; k++){    
+      w = W.get(k,j);
+      if (w>EPSILON) out << " " << k ;
+    }
+    out << "\n";
+  }
+
+
+
+}//
+
+
+/*-----------------------------------------*/
+/*     display model list                  */
+/* (remove all the models of a given type) */
+/*-----------------------------------------*/
+void SGTELIB::Surrogate_Ensemble::model_list_display ( std::ostream & out ) {
+  out << "model list (_kmax=" << _kmax << "):\n";
+  if (_kmax==0){
+    out << "model list is empty\n";
+  }
+  for (int k=0 ; k<_kmax ; k++){
+    out <<"  Model " << k << ": " << _surrogates.at(k)->get_string() << "\n";
+  }
+
+}//
+
+
+/*-----------------------------------------*/
+/*     remove all models from model list   */
+/*-----------------------------------------*/
+void SGTELIB::Surrogate_Ensemble::model_list_remove_all ( void ){
+
+  std::vector<SGTELIB::Surrogate *>::iterator it = _surrogates.begin();
+  while (it != _surrogates.end()){
+    SGTELIB::surrogate_delete(*it);
+    it = _surrogates.erase(it);
+  }
+  _surrogates.clear();
+  _kmax = 0;
+}//
+
+/*-----------------------------------------*/
+/*   add one model                         */
+/*-----------------------------------------*/
+void SGTELIB::Surrogate_Ensemble::model_list_add ( const std::string & definition ){
+  _surrogates.push_back( SGTELIB::Surrogate_Factory(_trainingset,definition) );
+  _kmax++;
+}//
+
+
+/*--------------------------------------*/
+/*             init_private             */
+/*--------------------------------------*/
+bool SGTELIB::Surrogate_Ensemble::init_private ( void ) {
+  #ifdef SGTELIB_DEBUG
+    std::cout << "Surrogate_Ensemble : init_private\n";
+  #endif
+
+  // Need at least 2 surrogates
+  if (_kmax<=1){
+    #ifdef ENSEMBLE_DEBUG
+      std::cout << "Surrogate_Ensemble : _kmax : " << _kmax << "\n";
+    #endif
+    return false;
+  }
+
+  // Build them & count the number of ready
+  _kready = 0;
+  int k;
+  for (k=0 ; k<_kmax ; k++){
+    #ifdef ENSEMBLE_DEBUG
+      std::cout << "Init model " << k << "/" << _kmax << ": " << _surrogates.at(k)->get_short_string();
+    #endif
+    if (_surrogates.at(k)->build()){
+      _kready++;
+      #ifdef ENSEMBLE_DEBUG
+        std::cout << " (ready)\n";
+      #endif
+    }
+  }  
+  #ifdef ENSEMBLE_DEBUG
+    std::cout << "Surrogate_Ensemble : _kready/_kmax : " << _kready << "/" << _kmax << "\n";
+  #endif
+
+
+  // Need at least 2 ready surrogates
+  if (_kready<=1){
+    return false;
+  }
+
+  // Init weights with selection
+  compute_W_by_select();
+
+  return true;
+}//
+
+
+/*--------------------------------------*/
+/*               build                  */
+/*--------------------------------------*/
+bool SGTELIB::Surrogate_Ensemble::build_private ( void ) {
+
+  #ifdef ENSEMBLE_DEBUG
+    std::cout << "Surrogate_Ensemble : build_private\n";
+  #endif
+
+  int k;
+
+  // computation of the weight
+  switch (_param.get_weight_type()){
+    case SGTELIB::WEIGHT_SELECT:
+      compute_W_by_select();
+      break;
+    case SGTELIB::WEIGHT_WTA1:
+      compute_W_by_wta1();
+      break;
+    case SGTELIB::WEIGHT_WTA3:
+      compute_W_by_wta3();
+      break;
+    case SGTELIB::WEIGHT_OPTIM:
+    case SGTELIB::WEIGHT_EXTERN:
+      #ifdef ENSEMBLE_DEBUG
+        std::cout << "Weight corrections\n";
+      #endif
+      {
+      SGTELIB::Matrix W = _param.get_weight();
+      for (k=0 ; k<_kmax ; k++){
+        if (! is_ready(k)){
+          W.set_row(0.0,k);
+        }
+      }
+      W.normalize_cols();
+      _param.set_weight(W);
+      }
+      break;
+    default:
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+         "Surrogate_Ensemble::build(): undefined aggregation method." );
+  }
+
+
+  _out << "BUILD...\n";
+
+  if (check_weight_vector()){
+    #ifdef ENSEMBLE_DEBUG
+      std::cout << "Weights non valid\n";
+    #endif
+    _ready = false;
+    return false;
+  }
+  compute_active_models();
+  _ready = true;
+
+
+  // Memorize the value of the metric for each output
+  for (int j=0 ; j<_m ; j++){
+    _metric[j] = get_metric(_param.get_metric_type(),j);
+  }
+
+
+  #ifdef ENSEMBLE_DEBUG
+    std::cout << "Surrogate_Ensemble : end build_private\n";
+  #endif
+
+
+  return true;
+}//
+
+
+/*--------------------------------------*/
+/*       compute_active_models          */
+/*--------------------------------------*/
+void SGTELIB::Surrogate_Ensemble::compute_active_models ( void ) {
+
+  // Compute the array _active
+  // (_active[k] is true if the model k is ready AND the weight in k is not null for 
+  // at least one output)
+  SGTELIB::Matrix W = _param.get_weight();
+  if (! _active){
+    _active = new bool [_kmax];
+  }
+  int k;
+  for (k=0 ; k<_kmax ; k++){
+    _active[k] = false;
+    if ( is_ready(k) ){
+      for (int j=0 ; j<_m ; j++){
+        if ( (_trainingset.get_bbo(j)!=SGTELIB::BBO_DUM) && (W.get(k,j)>EPSILON) ){
+          _active[k] = true;
+          break;
+        }
+      }
+    }
+  }
+
+}//
+
+/*--------------------------------------*/
+/*       compute_W_by_select            */
+/*--------------------------------------*/
+void SGTELIB::Surrogate_Ensemble::compute_W_by_select ( void ) {
+
+  // Init Weight matrix
+  SGTELIB::Matrix W ("W", _kmax , _m );
+  W.fill(0.0);
+
+  int j,k;
+  int k_best = 0;
+  double metric_best;
+  double metric;
+
+  // Loop on the outputs
+  for (j=0 ; j<_m ; j++){
+    if (_trainingset.get_bbo(j)!=SGTELIB::BBO_DUM){
+
+      metric_best = SGTELIB::INF;
+      // Find the value of the best metric
+      for (k=0 ; k<_kmax ; k++){
+        if (is_ready(k)){
+          metric = _surrogates.at(k)->get_metric(_param.get_metric_type(),j);
+          if (! isnan(metric)) {
+            metric_best = std::min(metric,metric_best);
+          }
+        }
+      }// end loop k
+
+      // Find the number of surrogate that have this metric value
+      k_best = 0;
+      for (k=0 ; k<_kmax ; k++){
+        if (is_ready(k)){
+          metric = _surrogates.at(k)->get_metric(_param.get_metric_type(),j);
+          // If the metric is close to metric_best
+          if ( fabs(metric-metric_best)<EPSILON ){
+            // Give weight to this model
+            W.set(k,j,1.0);
+            // Increment k_best (number of surrogates such that metric=metric_best)
+            k_best++;
+          }
+        }
+      }// end loop k
+
+      // Normalise
+      if (k_best>1){
+        for (k=0 ; k<_kmax ; k++){
+          if (is_ready(k)){
+            if ( W.get(k,j) > EPSILON ){
+              W.set(k,j,1.0/double(k_best));
+            }
+          }
+        }// end loop k
+      }//end if
+
+
+    }// end DUM
+  }// end loop j
+
+  _param.set_weight(W);
+
+}//
+
+/*--------------------------------------*/
+/*       compute_W_by_wta1              */
+/*--------------------------------------*/
+void SGTELIB::Surrogate_Ensemble::compute_W_by_wta1 ( void ) {
+
+  #ifdef ENSEMBLE_DEBUG
+    std::cout << "SGTELIB::Surrogate_Ensemble::compute_W_by_wta1\n"; 
+  #endif
+
+  // Init Weight matrix
+  SGTELIB::Matrix W ("W", _kmax , _m );
+  W.fill(0.0);
+
+  int k;
+  double metric;
+  double metric_sum;
+  double weight_sum;
+
+  // Loop on the outputs
+  for (int j=0 ; j<_m ; j++){
+    if (_trainingset.get_bbo(j)!=SGTELIB::BBO_DUM){
+
+      // Compute the sum of the metric on all the surrogates ready
+      metric_sum = 0;
+      for (k=0 ; k<_kmax ; k++){
+        if (is_ready(k)){
+          metric = _surrogates.at(k)->get_metric(_param.get_metric_type(),j);
+          if (isdef(metric)) metric_sum += metric;
+        }
+      }
+
+      // Affect weight:
+      if (metric_sum>EPSILON){
+        for (k=0 ; k<_kmax ; k++){
+          if (is_ready(k)){
+            metric = _surrogates.at(k)->get_metric(_param.get_metric_type(),j);
+            if (isdef(metric)) W.set(k,j,1-metric/metric_sum);
+            else               W.set(k,j,0.0);
+          }
+        }
+      }
+      else{
+        for (k=0 ; k<_kmax ; k++){
+          if (is_ready(k)) W.set(k,j,1.0);
+        }
+      }
+
+      // Normalize
+      weight_sum = 0;
+      for (k=0 ; k<_kmax ; k++){
+        weight_sum += W.get(k,j);
+      }
+      W.multiply_col( 1.0/weight_sum , j );
+
+
+    } // End if not DUMM
+  }// End loop on outputs
+
+  _param.set_weight(W);
+
+}//
+
+/*--------------------------------------*/
+/*       compute_W_by_wta3              */
+/*--------------------------------------*/
+void SGTELIB::Surrogate_Ensemble::compute_W_by_wta3 ( void ) {
+
+  #ifdef ENSEMBLE_DEBUG
+    std::cout << "SGTELIB::Surrogate_Ensemble::compute_W_by_wta3\n";
+  #endif
+
+  // Init Weight matrix
+  SGTELIB::Matrix W ("W", _kmax , _m );
+  W.fill(0.0);
+
+  int k;
+  double metric;
+  double metric_avg;
+  double w;
+  double w_sum;
+
+  // Loop on the outputs
+  for (int j=0 ; j<_m ; j++){
+
+    // Compute the average of the metric on all the surrogates ready
+    metric_avg = 0;
+    for (k=0 ; k<_kmax ; k++){
+      if (is_ready(k)){
+        metric_avg += _surrogates.at(k)->get_metric(_param.get_metric_type(),j);
+      }
+    }
+    metric_avg /= _kready;
+
+    if (metric_avg > EPSILON){
+
+      // Normal WA3 method.
+      // Affect un-normalized weight: (which means that the sum of the weight is not 1)
+      w_sum = 0;
+      for (k=0 ; k<_kmax ; k++){
+        if (is_ready(k)){
+          metric = _surrogates.at(k)->get_metric(_param.get_metric_type(),j);
+          w = pow( metric + wta3_alpha * metric_avg , wta3_beta );
+          w_sum += w;
+          W.set(k,j,w);
+        }
+      }
+      // Then, normalize  
+      for (k=0 ; k<_kmax ; k++){
+        if (is_ready(k)){
+          W.set(k,j,W.get(k,j)/w_sum);
+        }
+      }
+
+    }
+    else{
+
+      // If the metric is null for all models, then set to 1/_kready 
+      w = 1.0 / double(_kready);
+      for (k=0 ; k<_kmax ; k++){
+        if (is_ready(k)){
+          W.set(k,j,w);
+        }
+      }
+
+    }
+  }// End loop on outputs
+
+  _param.set_weight(W);
+
+}//
+
+
+
+/*--------------------------------------*/
+/*       predict (ZZ only)              */
+/*--------------------------------------*/
+void SGTELIB::Surrogate_Ensemble::predict_private ( const SGTELIB::Matrix & XXs,
+                                                          SGTELIB::Matrix * ZZ ) {
+  #ifdef ENSEMBLE_DEBUG
+    check_ready(__FILE__,__FUNCTION__,__LINE__);
+  #endif
+
+  const SGTELIB::Matrix W = _param.get_weight();
+  const int pxx = XXs.get_nb_rows();
+
+  ZZ->fill(0.0);
+  // Tmp matrix for model k
+  SGTELIB::Matrix * ZZk = new SGTELIB::Matrix("ZZk",pxx,_m);
+ 
+  double w;
+  for (int k=0 ; k<_kmax ; k++){
+    if (_active[k]){
+      // Call the output for this surrogate
+      _surrogates.at(k)->predict_private(XXs,ZZk);
+      for (int j=0 ; j<_m ; j++){
+        w = W.get(k,j);
+        for (int i=0 ; i<pxx ; i++){
+          ZZ->set(i,j,   ZZ->get(i,j) + w*ZZk->get(i,j)   );
+        }// end loop i
+      }// end loop j
+    }// end if ready
+  }//end loop k
+
+  delete ZZk;
+}//
+
+
+/*--------------------------------------*/
+/*         predict_private              */
+/*--------------------------------------*/
+void SGTELIB::Surrogate_Ensemble::predict_private ( const SGTELIB::Matrix & XXs,
+                                                          SGTELIB::Matrix * ZZ ,
+                                                          SGTELIB::Matrix * std, 
+                                                          SGTELIB::Matrix * ei ,
+                                                          SGTELIB::Matrix * cdf) {
+  #ifdef ENSEMBLE_DEBUG
+    check_ready(__FILE__,__FUNCTION__,__LINE__);
+  #endif
+
+  const SGTELIB::Matrix W = _param.get_weight();
+
+  // If no statistical information is required, use the simpler prediction method
+  if (! (std || ei || cdf)){
+    predict_private ( XXs, ZZ );
+    return;
+  }
+
+  // Else, go for the big guns...
+  const int pxx = XXs.get_nb_rows();
+
+  // Init ZZ
+  bool delete_ZZ = false;
+  if ( ! ZZ){
+    // if ZZ is not required, we build it anyway, but delete it in the end
+    ZZ = new SGTELIB::Matrix ("ZZ",pxx,_m);
+    delete_ZZ = true;
+  }
+  ZZ->fill(0.0);
+
+
+  // Fill output matricres
+  if (std) std->fill(0.0);
+  if (ei)   ei->fill(0.0);
+  if (cdf) cdf->fill(0.0);
+
+  // Init tmp matrices
+  SGTELIB::Matrix * ZZk  = new SGTELIB::Matrix ("ZZk" ,pxx,_m);
+  SGTELIB::Matrix * stdk = new SGTELIB::Matrix ("stdk",pxx,_m);
+
+  // Tmp matrix cdfk
+  SGTELIB::Matrix * cdfk;
+  if (cdf) cdfk = new SGTELIB::Matrix ("cdfk",pxx,_m);
+  else     cdfk = NULL;
+
+  // Same story for ei.
+  SGTELIB::Matrix * eik;
+  if (ei) eik = new SGTELIB::Matrix ("eik",pxx,_m);
+  else    eik = NULL;
+
+  double w,z,s;
+  
+
+  // Loop on the models
+  for (int k=0 ; k<_kmax ; k++){
+    if (_active[k]){
+
+      // Call the output for this surrogate
+      _surrogates.at(k)->predict_private(XXs,ZZk,stdk,eik,cdfk);
+
+      for (int j=0 ; j<_m ; j++){
+        w = W.get(k,j);
+        if (w>EPSILON/_kmax){
+
+          // Compute ZZ
+          for (int i=0 ; i<pxx ; i++){
+            z = ZZk->get(i,j);
+            ZZ->set( i,j, ZZ->get(i,j) + w*z );
+          }
+
+          // Compute std
+          if (std){          
+            for (int i=0 ; i<pxx ; i++){
+              z = ZZk->get(i,j);
+              s = stdk->get(i,j);
+              std->set(i,j, std->get(i,j) + w*(s*s + z*z) );
+              //std->set(i,j, std->get(i,j) + w*z*z );
+            }// end loop i
+          }
+    
+          // EI is linear on w
+          if ( (ei) && (_trainingset.get_bbo(j)==SGTELIB::BBO_OBJ) ){
+            for (int i=0 ; i<pxx ; i++){
+              ei->set(i,j, ei->get(i,j) + w*eik->get(i,j) );
+            }// end loop i
+          }
+          
+          // CDF is linear on w
+          if (cdf){
+            for (int i=0 ; i<pxx ; i++){
+              cdf->set(i,j, cdf->get(i,j) + w*cdfk->get(i,j) );
+            }// end loop i
+          }
+
+        }// end if w>eps
+      }// end loop j
+
+    }// end if ready
+  }//end loop k
+
+
+  // Correction of std
+  if (std){
+    for (int j=0 ; j<_m ; j++){
+      for (int i=0 ; i<pxx ; i++){
+        z = ZZ->get(i,j);
+        s = std->get(i,j) - z*z;
+        std->set(i,j, sqrt(fabs(s)) );
+      }// end loop i
+    }
+  }
+
+  if (delete_ZZ) delete ZZ;
+  if (ZZk ) delete ZZk;
+  if (stdk) delete stdk;
+  if (eik ) delete eik;
+  if (cdfk) delete cdfk;
+
+}//
+ 
+/*--------------------------------------*/
+/*       get_matrix_Zvs                 */
+/*--------------------------------------*/
+const SGTELIB::Matrix * SGTELIB::Surrogate_Ensemble::get_matrix_Zvs (void){
+  if ( ! _Zvs){
+    #ifdef ENSEMBLE_DEBUG
+      check_ready(__FILE__,__FUNCTION__,__LINE__);
+    #endif
+    const SGTELIB::Matrix W = _param.get_weight(); 
+    _Zvs = new SGTELIB::Matrix("Zv",_p,_m);
+    _Zvs->fill(0.0);
+    int i,j;
+    double wkj;
+
+    for (int k=0 ; k<_kmax ; k++){
+      if (_active[k]){
+        // Call the output for this surrogate
+        const SGTELIB::Matrix * Zvs_k = _surrogates.at(k)->get_matrix_Zvs();
+        for ( j=0 ; j<_m ; j++){
+          wkj = W.get(k,j);
+          if (wkj>0){
+            for ( i=0 ; i<_p ; i++){
+              _Zvs->add(i,j,  wkj*Zvs_k->get(i,j) );
+            }
+          }
+        }// end loop j
+      }// end if ready
+    }//end loop k
+
+    _Zvs->set_name("Zvs");
+    _Zvs->replace_nan(+INF);
+
+  }
+  return _Zvs;
+}//
+
+/*--------------------------------------*/
+/*       get_matrix_Zhs                 */
+/*--------------------------------------*/
+const SGTELIB::Matrix * SGTELIB::Surrogate_Ensemble::get_matrix_Zhs (void){
+  if ( ! _Zhs){
+    #ifdef ENSEMBLE_DEBUG
+      check_ready(__FILE__,__FUNCTION__,__LINE__);
+    #endif
+    const SGTELIB::Matrix W = _param.get_weight();
+    _Zhs = new SGTELIB::Matrix("Zv",_p,_m);
+    _Zhs->fill(0.0);
+    int i,j;
+    double wkj;
+
+    for (int k=0 ; k<_kmax ; k++){
+      if (_active[k]){
+        // Call the output for this surrogate
+        const SGTELIB::Matrix * Zhs_k = _surrogates.at(k)->get_matrix_Zhs();
+        for ( j=0 ; j<_m ; j++){
+          wkj = W.get(k,j);
+          if (wkj>0){
+            for ( i=0 ; i<_p ; i++){
+              _Zhs->add(i,j,  wkj*Zhs_k->get(i,j) );
+            }
+          }
+        }// end loop j
+      }// end if ready
+    }//end loop k
+
+    _Zhs->set_name("Zhs");
+    _Zhs->replace_nan(+INF);
+
+  }
+  return _Zhs;
+}//
+
+/*--------------------------------------*/
+/*       get_matrix_Shs                 */
+/*--------------------------------------*/
+const SGTELIB::Matrix * SGTELIB::Surrogate_Ensemble::get_matrix_Shs (void){
+  if ( ! _Shs){
+    const SGTELIB::Matrix W = _param.get_weight();
+    _Shs = new SGTELIB::Matrix("Zv",_p,_m);
+    _Shs->fill(0.0);
+    SGTELIB::Matrix col ("col",_p,1);
+
+    int i,j;
+    double wkj;
+    for (int k=0 ; k<_kmax ; k++){
+      if (_active[k]){
+        // Call the output for this surrogate
+        const SGTELIB::Matrix * Zhs_k = _surrogates.at(k)->get_matrix_Zhs();
+        const SGTELIB::Matrix * Shs_k = _surrogates.at(k)->get_matrix_Shs();
+
+        for ( j=0 ; j<_m ; j++){
+          wkj = W.get(k,j);
+          if (wkj>0){
+            for ( i=0 ; i<_p ; i++){
+              _Shs->add(i,j,  wkj*( pow(Shs_k->get(i,j),2) + pow(Zhs_k->get(i,j),2) ) );
+            }
+          }
+        }// end loop j
+      }// end if ready
+    }//end loop k
+
+    const SGTELIB::Matrix * Zhs = get_matrix_Zhs();
+    _Shs->sub( Matrix::hadamard_square( *Zhs ) );
+    _Shs->hadamard_sqrt();
+
+    _Shs->set_name("Shs");
+    _Shs->replace_nan(+INF);
+
+  }
+  return _Shs;
+}//
+
+
+
+
+
+/*--------------------------------------*/
+/*  to know if basic model k is ready   */
+/*--------------------------------------*/
+bool SGTELIB::Surrogate_Ensemble::is_ready (const int k) const{
+  if ((k<0) || (k>=_kmax)){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+               "Surrogate_Ensemble::set_weight_vector (const int k): k out of range" );
+  }
+  return _surrogates.at(k)->is_ready();
+}
+
+
+/*--------------------------------------*/
+/*  external set of the weight vector   */
+/*    (use model k for output j)        */
+/*--------------------------------------*/
+/*
+void SGTELIB::Surrogate_Ensemble::set_weight_vector (const int k, const int j){
+  if (_param.get_weight_type() != SGTELIB::WEIGHT_EXTERN){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+               "Surrogate_Ensemble::set_weight_vector (k,j): Not in EXTERN mode" );
+  }
+  if ((k<0) or (k>=_kmax)){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+               "Surrogate_Ensemble::set_weight_vector (k,j): k out of range" );
+  }
+  if ((j<0) or (j>=_m)){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+               "Surrogate_Ensemble::set_weight_vector (k,j): k out of range" );
+  }
+  if (not is_ready(k)){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+               "Surrogate_Ensemble::set_weight_vector (k,j): Surrogate not ready" );
+  }
+
+  // Set the column j to 0
+  _W.set_col( 0.0 , j );
+  // Select model k for output j
+  _W.set(k,j,1.0); 
+  // Check and reset
+  reset_metrics();
+  compute_active_models();
+}//
+*/
+
+/*--------------------------------------*/
+/*  external set of the weight vector   */
+/*   (use model k for every output)     */
+/*--------------------------------------*/
+/*
+void SGTELIB::Surrogate_Ensemble::set_weight_vector (const int k){
+  if (_param.get_weight_type() != SGTELIB::WEIGHT_EXTERN){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+               "Surrogate_Ensemble::set_weight_vector (k,j): Not in EXTERN mode" );
+  }
+  if ((k<0) or (k>=_kmax)){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+               "Surrogate_Ensemble::set_weight_vector (k,j): k out of range" );
+  }
+  if (not is_ready(k)){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+               "Surrogate_Ensemble::set_weight_vector (k,j): Surrogate not ready" );
+  }
+  // Put _W at 0
+  _W.fill(0.0);
+  // Put model k at 1.0 for every output
+  _W.set_row( 1.0 , k );
+  // Check and reset
+  reset_metrics();
+  compute_active_models();
+}//
+*/
+
+/*--------------------------------------*/
+/*  external set of the weight vector   */
+/*          (with the whole matrix)     */
+/*--------------------------------------*/
+/*
+void SGTELIB::Surrogate_Ensemble::set_weight_vector (const SGTELIB::Matrix & W){
+  if (_param.get_weight_type() != SGTELIB::WEIGHT_EXTERN){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+               "Surrogate_Ensemble::set_weight_vector (k,j): Not in EXTERN mode" );
+  }
+  // Set _W
+  _W = W;
+  // Check and reset
+  reset_metrics();
+  compute_active_models();
+}//
+*/
+
+/*--------------------------------------*/
+/*   check the weight vector            */
+/*--------------------------------------*/
+bool SGTELIB::Surrogate_Ensemble::check_weight_vector ( void ) const {
+  const SGTELIB::Matrix W = _param.get_weight();
+  double s,w;
+  int j,k;
+  for (j=0 ; j<_m ; j++){
+    if (_trainingset.get_bbo(j)!=SGTELIB::BBO_DUM){
+      for (k=0 ; k<_kmax ; k++){
+        w = W.get(k,j);
+        if (w<-EPSILON)    return true;   
+        if (w>1+EPSILON)   return true;
+        if ( isnan(w) ) return true;
+      }
+      s = W.get_col(j).sum();
+      if (fabs(s-1.0)>_kready*EPSILON) return true;
+    }
+  }
+
+  return false;
+
+}//
+
+
+
+
+
+
+/*--------------------------------------*/
+/*        define model list             */
+/*--------------------------------------*/
+void SGTELIB::Surrogate_Ensemble::model_list_preset ( const std::string & preset ) {
+
+
+    #ifdef ENSEMBLE_DEBUG
+      std::cout << "Build model list\n";
+    #endif
+
+    model_list_remove_all();
+
+    const std::string p = toupper(preset);
+    const std::string m = " METRIC_TYPE "+_param.get_metric_type_str();
+    const std::string d = " DISTANCE_TYPE "+_param.get_distance_type_str();
+    const std::string dm = d+m;
+
+    if (SGTELIB::streqi(p,"DEFAULT")) {
+      model_list_add("TYPE PRS DEGREE 1 RIDGE 0");
+      model_list_add("TYPE PRS DEGREE 1 RIDGE 0.001");
+      model_list_add("TYPE PRS DEGREE 2 RIDGE 0");
+      model_list_add("TYPE PRS DEGREE 2 RIDGE 0.001");
+      model_list_add("TYPE PRS DEGREE 3 RIDGE 0.0");
+      model_list_add("TYPE PRS DEGREE 6 RIDGE 0.001");
+      model_list_add("TYPE KS           KERNEL_TYPE D1 KERNEL_COEF 0.1"+dm);
+      model_list_add("TYPE KS           KERNEL_TYPE D1 KERNEL_COEF 0.3"+dm);
+      model_list_add("TYPE KS           KERNEL_TYPE D1 KERNEL_COEF 1  "+dm);
+      model_list_add("TYPE KS           KERNEL_TYPE D1 KERNEL_COEF 3  "+dm);
+      model_list_add("TYPE KS           KERNEL_TYPE D1 KERNEL_COEF 10 "+dm);
+      model_list_add("TYPE RBF PRESET I KERNEL_TYPE D1 KERNEL_COEF 0.3"+dm);
+      model_list_add("TYPE RBF PRESET I KERNEL_TYPE D1 KERNEL_COEF 1  "+dm);
+      model_list_add("TYPE RBF PRESET I KERNEL_TYPE D1 KERNEL_COEF 3  "+dm);
+      model_list_add("TYPE RBF PRESET I KERNEL_TYPE D1 KERNEL_COEF 10 "+dm);
+      model_list_add("TYPE RBF PRESET I KERNEL_TYPE I1"+dm);
+      model_list_add("TYPE RBF PRESET I KERNEL_TYPE I2"+dm);
+      model_list_add("TYPE CN"+dm);
+    }
+    else if (SGTELIB::streqi(p,"KS")) {
+      model_list_add("TYPE KS KERNEL_TYPE D1 KERNEL_COEF 0.1"+d);
+      model_list_add("TYPE KS KERNEL_TYPE D1 KERNEL_COEF 0.2"+d); 
+      model_list_add("TYPE KS KERNEL_TYPE D1 KERNEL_COEF 0.5"+d);
+      model_list_add("TYPE KS KERNEL_TYPE D1 KERNEL_COEF 1  "+d);
+      model_list_add("TYPE KS KERNEL_TYPE D1 KERNEL_COEF 2  "+d);
+      model_list_add("TYPE KS KERNEL_TYPE D1 KERNEL_COEF 5  "+d);
+      model_list_add("TYPE KS KERNEL_TYPE D1 KERNEL_COEF 10 "+d);
+    }
+    else if (SGTELIB::streqi(p,"PRS")) {
+      model_list_add("TYPE PRS DEGREE 1");
+      model_list_add("TYPE PRS DEGREE 2");
+      model_list_add("TYPE PRS DEGREE 3");
+      model_list_add("TYPE PRS DEGREE 4");
+      model_list_add("TYPE PRS DEGREE 5");
+      model_list_add("TYPE PRS DEGREE 6");
+    }
+    else if (SGTELIB::streqi(p,"IS0")) {
+      model_list_add("TYPE PRS_EDGE DEGREE 2");
+      model_list_add("TYPE PRS_EDGE DEGREE 3");
+
+      model_list_add("TYPE KS            KERNEL_TYPE D1 KERNEL_COEF 0.1 DISTANCE_TYPE NORM2_IS0");
+      model_list_add("TYPE KS            KERNEL_TYPE D1 KERNEL_COEF 0.2 DISTANCE_TYPE NORM2_IS0"); 
+      model_list_add("TYPE KS            KERNEL_TYPE D1 KERNEL_COEF 0.5 DISTANCE_TYPE NORM2_IS0");
+      model_list_add("TYPE KS            KERNEL_TYPE D1 KERNEL_COEF 1   DISTANCE_TYPE NORM2_IS0");
+      model_list_add("TYPE KS            KERNEL_TYPE D1 KERNEL_COEF 2   DISTANCE_TYPE NORM2_IS0");
+      model_list_add("TYPE KS            KERNEL_TYPE D1 KERNEL_COEF 5   DISTANCE_TYPE NORM2_IS0");
+      model_list_add("TYPE KS            KERNEL_TYPE D1 KERNEL_COEF 10  DISTANCE_TYPE NORM2_IS0");
+
+      model_list_add("TYPE KS            KERNEL_TYPE D2 KERNEL_COEF 0.1 DISTANCE_TYPE NORM2_IS0");
+      model_list_add("TYPE KS            KERNEL_TYPE D2 KERNEL_COEF 0.2 DISTANCE_TYPE NORM2_IS0"); 
+      model_list_add("TYPE KS            KERNEL_TYPE D2 KERNEL_COEF 0.5 DISTANCE_TYPE NORM2_IS0");
+      model_list_add("TYPE KS            KERNEL_TYPE D2 KERNEL_COEF 1   DISTANCE_TYPE NORM2_IS0");
+      model_list_add("TYPE KS            KERNEL_TYPE D2 KERNEL_COEF 2   DISTANCE_TYPE NORM2_IS0");
+      model_list_add("TYPE KS            KERNEL_TYPE D2 KERNEL_COEF 5   DISTANCE_TYPE NORM2_IS0");
+      model_list_add("TYPE KS            KERNEL_TYPE D2 KERNEL_COEF 10  DISTANCE_TYPE NORM2_IS0");
+
+      model_list_add("TYPE RBF  PRESET I KERNEL_TYPE D1 KERNEL_COEF 0.1 DISTANCE_TYPE NORM2_IS0");
+      model_list_add("TYPE RBF  PRESET I KERNEL_TYPE D1 KERNEL_COEF 0.2 DISTANCE_TYPE NORM2_IS0"); 
+      model_list_add("TYPE RBF  PRESET I KERNEL_TYPE D1 KERNEL_COEF 0.5 DISTANCE_TYPE NORM2_IS0");
+      model_list_add("TYPE RBF  PRESET I KERNEL_TYPE D1 KERNEL_COEF 1   DISTANCE_TYPE NORM2_IS0");
+      model_list_add("TYPE RBF  PRESET I KERNEL_TYPE D1 KERNEL_COEF 2   DISTANCE_TYPE NORM2_IS0");
+      model_list_add("TYPE RBF  PRESET I KERNEL_TYPE D1 KERNEL_COEF 5   DISTANCE_TYPE NORM2_IS0");
+      model_list_add("TYPE RBF  PRESET I KERNEL_TYPE D1 KERNEL_COEF 10  DISTANCE_TYPE NORM2_IS0");
+
+      model_list_add("TYPE RBF  PRESET I KERNEL_TYPE D2 KERNEL_COEF 0.1 DISTANCE_TYPE NORM2_IS0");
+      model_list_add("TYPE RBF  PRESET I KERNEL_TYPE D2 KERNEL_COEF 0.2 DISTANCE_TYPE NORM2_IS0"); 
+      model_list_add("TYPE RBF  PRESET I KERNEL_TYPE D2 KERNEL_COEF 0.5 DISTANCE_TYPE NORM2_IS0");
+      model_list_add("TYPE RBF  PRESET I KERNEL_TYPE D2 KERNEL_COEF 1   DISTANCE_TYPE NORM2_IS0");
+      model_list_add("TYPE RBF  PRESET I KERNEL_TYPE D2 KERNEL_COEF 2   DISTANCE_TYPE NORM2_IS0");
+      model_list_add("TYPE RBF  PRESET I KERNEL_TYPE D2 KERNEL_COEF 5   DISTANCE_TYPE NORM2_IS0");
+      model_list_add("TYPE RBF  PRESET I KERNEL_TYPE D2 KERNEL_COEF 10  DISTANCE_TYPE NORM2_IS0");
+    }
+    else if (SGTELIB::streqi(p,"CAT")) {
+      model_list_add("TYPE PRS_CAT DEGREE 2");
+      model_list_add("TYPE PRS_CAT DEGREE 3");
+
+      model_list_add("TYPE KS           KERNEL_TYPE D1 KERNEL_COEF 0.1 DISTANCE_TYPE NORM2_CAT");
+      model_list_add("TYPE KS           KERNEL_TYPE D1 KERNEL_COEF 0.2 DISTANCE_TYPE NORM2_CAT"); 
+      model_list_add("TYPE KS           KERNEL_TYPE D1 KERNEL_COEF 0.5 DISTANCE_TYPE NORM2_CAT");
+      model_list_add("TYPE KS           KERNEL_TYPE D1 KERNEL_COEF 1   DISTANCE_TYPE NORM2_CAT");
+      model_list_add("TYPE KS           KERNEL_TYPE D1 KERNEL_COEF 2   DISTANCE_TYPE NORM2_CAT");
+      model_list_add("TYPE KS           KERNEL_TYPE D1 KERNEL_COEF 5   DISTANCE_TYPE NORM2_CAT");
+      model_list_add("TYPE KS           KERNEL_TYPE D1 KERNEL_COEF 10  DISTANCE_TYPE NORM2_CAT");
+
+      model_list_add("TYPE KS           KERNEL_TYPE D2 KERNEL_COEF 0.1 DISTANCE_TYPE NORM2_CAT");
+      model_list_add("TYPE KS           KERNEL_TYPE D2 KERNEL_COEF 0.2 DISTANCE_TYPE NORM2_CAT"); 
+      model_list_add("TYPE KS           KERNEL_TYPE D2 KERNEL_COEF 0.5 DISTANCE_TYPE NORM2_CAT");
+      model_list_add("TYPE KS           KERNEL_TYPE D2 KERNEL_COEF 1   DISTANCE_TYPE NORM2_CAT");
+      model_list_add("TYPE KS           KERNEL_TYPE D2 KERNEL_COEF 2   DISTANCE_TYPE NORM2_CAT");
+      model_list_add("TYPE KS           KERNEL_TYPE D2 KERNEL_COEF 5   DISTANCE_TYPE NORM2_CAT");
+      model_list_add("TYPE KS           KERNEL_TYPE D2 KERNEL_COEF 10  DISTANCE_TYPE NORM2_CAT");
+
+      model_list_add("TYPE RBF PRESET I KERNEL_TYPE D1 KERNEL_COEF 0.1 DISTANCE_TYPE NORM2_CAT");
+      model_list_add("TYPE RBF PRESET I KERNEL_TYPE D1 KERNEL_COEF 0.2 DISTANCE_TYPE NORM2_CAT"); 
+      model_list_add("TYPE RBF PRESET I KERNEL_TYPE D1 KERNEL_COEF 0.5 DISTANCE_TYPE NORM2_CAT");
+      model_list_add("TYPE RBF PRESET I KERNEL_TYPE D1 KERNEL_COEF 1   DISTANCE_TYPE NORM2_CAT");
+      model_list_add("TYPE RBF PRESET I KERNEL_TYPE D1 KERNEL_COEF 2   DISTANCE_TYPE NORM2_CAT");
+      model_list_add("TYPE RBF PRESET I KERNEL_TYPE D1 KERNEL_COEF 5   DISTANCE_TYPE NORM2_CAT");
+      model_list_add("TYPE RBF PRESET I KERNEL_TYPE D1 KERNEL_COEF 10  DISTANCE_TYPE NORM2_CAT");
+
+      model_list_add("TYPE RBF PRESET I KERNEL_TYPE D2 KERNEL_COEF 0.1 DISTANCE_TYPE NORM2_CAT");
+      model_list_add("TYPE RBF PRESET I KERNEL_TYPE D2 KERNEL_COEF 0.2 DISTANCE_TYPE NORM2_CAT"); 
+      model_list_add("TYPE RBF PRESET I KERNEL_TYPE D2 KERNEL_COEF 0.5 DISTANCE_TYPE NORM2_CAT");
+      model_list_add("TYPE RBF PRESET I KERNEL_TYPE D2 KERNEL_COEF 1   DISTANCE_TYPE NORM2_CAT");
+      model_list_add("TYPE RBF PRESET I KERNEL_TYPE D2 KERNEL_COEF 2   DISTANCE_TYPE NORM2_CAT");
+      model_list_add("TYPE RBF PRESET I KERNEL_TYPE D2 KERNEL_COEF 5   DISTANCE_TYPE NORM2_CAT");
+      model_list_add("TYPE RBF PRESET I KERNEL_TYPE D2 KERNEL_COEF 10  DISTANCE_TYPE NORM2_CAT");
+    }
+    else if (SGTELIB::streqi(p,"SUPER1")) {
+      model_list_add("TYPE KS     KERNEL_TYPE OPTIM KERNEL_COEF OPTIM"+dm);
+      model_list_add("TYPE RBF    KERNEL_TYPE OPTIM KERNEL_COEF OPTIM RIDGE 0.001 PRESET I"+dm);
+      model_list_add("TYPE PRS    DEGREE OPTIM RIDGE OPTIM"+m);
+      model_list_add("TYPE LOWESS DEGREE OPTIM RIDGE 0.001 KERNEL_COEF OPTIM KERNEL_TYPE D1"+dm);
+    }
+    else if (SGTELIB::streqi(p,"SMALL")) {
+      model_list_add("TYPE PRS");
+      model_list_add("TYPE KS");
+      model_list_add("TYPE RBF PRESET I");
+    }
+    else if (SGTELIB::streqi(p,"NONE")) {
+      // None
+    }
+    else {
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+        "Surrogate_Ensemble::model_list_preset: unrecognized preset \""+preset+"\"" );
+    }  
+
+    #ifdef ENSEMBLE_DEBUG
+      std::cout << "END Build model list\n";
+    #endif
+
+}//
+
+
diff --git a/ext/sgtelib/src/Surrogate_Ensemble.hpp b/ext/sgtelib/src/Surrogate_Ensemble.hpp
new file mode 100644
index 0000000..59c5f23
--- /dev/null
+++ b/ext/sgtelib/src/Surrogate_Ensemble.hpp
@@ -0,0 +1,130 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#ifndef __SGTELIB_SURROGATE_ENSEMBLE__
+#define __SGTELIB_SURROGATE_ENSEMBLE__
+
+#include "Surrogate.hpp"
+#include "Surrogate_Factory.hpp"
+
+
+//#include <time.h>
+
+
+namespace SGTELIB {
+
+  const double wta3_alpha = 0.05;
+  const double wta3_beta  = -1;
+
+  /*--------------------------------------*/
+  /*         Surrogate_Ensemble class        */
+  /*--------------------------------------*/
+  class Surrogate_Ensemble : public SGTELIB::Surrogate {
+
+    /*--------------------------------------------------------*/
+    /*  these members are defined in the Surrogate superclass */
+    /*--------------------------------------------------------*/
+    // int _p; // number of data points in X and Z
+    // int _n; // dimension -- number of variables
+    // int _m; // number of outputs (includes the objective)
+
+  protected:
+
+    int _kmax; // Nb of surrogates in the ensemble
+    int _kready; // Nb of surrogates READY in the ensemble
+    //SGTELIB::Matrix _W; // Weight vector
+    std::vector<SGTELIB::Surrogate *>  _surrogates; // List des surrogates
+    bool * _active; // Array of boolean. Is _active[k] is true if surrogate k is ready
+                    // AND if there is a j such that W(k,j)!=0 
+                    // ie: the weight in k is non null for at least one output
+    double * _metric; // Value of the metric for the Ensemble
+
+    // build model (private):
+    virtual bool build_private (void);
+    virtual bool init_private  (void);
+
+    // Compute metrics
+    virtual const SGTELIB::Matrix * get_matrix_Zhs (void);
+    virtual const SGTELIB::Matrix * get_matrix_Shs (void);
+    virtual const SGTELIB::Matrix * get_matrix_Zvs (void);
+
+    void compute_W_by_select(void);
+    void compute_W_by_wta1  (void);
+    void compute_W_by_wta3  (void);
+
+    // predict model (private):
+    virtual void predict_private ( const SGTELIB::Matrix & XXs,
+                                         SGTELIB::Matrix * ZZ ,
+                                         SGTELIB::Matrix * std, 
+                                         SGTELIB::Matrix * ei ,
+                                         SGTELIB::Matrix * cdf ); 
+ 
+    virtual void predict_private ( const SGTELIB::Matrix & XXs,
+                                         SGTELIB::Matrix * ZZ ); 
+
+
+  public:
+
+    // Constructor
+    Surrogate_Ensemble ( SGTELIB::TrainingSet & trainingset ,   
+                         SGTELIB::Surrogate_Parameters param) ;
+
+    /*
+    Surrogate_Ensemble ( SGTELIB::TrainingSet & trainingset ,   
+                         const std::string & s) ;
+    */
+
+    // destructor:
+    virtual ~Surrogate_Ensemble ( void );
+
+    virtual void display_private ( std::ostream & out ) const;
+    void display ( std::ostream & out , const int k ) const {_surrogates.at(k)->display(out);};
+
+    // ==============================================//
+    // Method for inspection of the basic surrogates //
+    // ==============================================//
+
+    // Test if basic model k is ready.
+    bool is_ready (const int k) const;
+
+    // Compute the boolean array _active
+    void compute_active_models ( void ) ;
+    // Check the weight vector
+    bool check_weight_vector ( void ) const;
+
+
+
+    // ==============================================//
+    // Method to define the model_list //
+    // ==============================================//
+    void model_list_display        ( std::ostream & out );
+    void model_list_preset         ( const std::string & preset );
+    void model_list_remove_all ( void );
+    void model_list_add ( const std::string & definition );
+
+  };
+}
+
+#endif
diff --git a/ext/sgtelib/src/Surrogate_Factory.cpp b/ext/sgtelib/src/Surrogate_Factory.cpp
new file mode 100644
index 0000000..205bb23
--- /dev/null
+++ b/ext/sgtelib/src/Surrogate_Factory.cpp
@@ -0,0 +1,133 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#include "Surrogate_Factory.hpp"
+
+
+/*----------------------------------------------------------*/
+SGTELIB::Surrogate * SGTELIB::Surrogate_Factory (SGTELIB::Matrix & X0,
+                                                 SGTELIB::Matrix & Z0,
+                                                 const std::string & s ){
+  SGTELIB::TrainingSet * TS;
+  TS = new SGTELIB::TrainingSet(X0,Z0);
+  TS->info();
+  throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+       "Surrogate_factory: constructor from matrices is forbiden." );
+  return SGTELIB::Surrogate_Factory(*TS,s);
+}//
+/*----------------------------------------------------------*/
+
+
+
+
+
+/*----------------------------------------------------------*/
+SGTELIB::Surrogate * SGTELIB::Surrogate_Factory ( SGTELIB::TrainingSet & TS,
+                                                  const std::string & s ) {
+/*----------------------------------------------------------*/
+
+  #ifdef SGTELIB_DEBUG
+    std::cout << "SGTELIB::Surrogate_Factory (TS,p) begin\n";
+    std::cout << "s = " << s << "\n";
+    TS.info();
+  #endif
+
+  SGTELIB::Surrogate * S;
+  SGTELIB::Surrogate_Parameters p ( s );
+  
+
+
+  switch ( p.get_type() ) {
+
+  case SGTELIB::SVN: 
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+      "Surrogate_Factory: not implemented yet! \""+s+"\"" );
+
+  case SGTELIB::PRS: 
+    S = new Surrogate_PRS(TS,p);
+    break;
+
+  case SGTELIB::PRS_EDGE: 
+    S = new Surrogate_PRS_EDGE(TS,p);
+    break;
+
+  case SGTELIB::PRS_CAT: 
+    S = new Surrogate_PRS_CAT(TS,p);
+    break;
+
+  case SGTELIB::KS: 
+    S = new Surrogate_KS(TS,p);
+    break;
+
+  case SGTELIB::CN: 
+    S = new Surrogate_CN(TS,p);
+    break;
+
+  case SGTELIB::RBF: 
+    S = new Surrogate_RBF(TS,p);
+    break;
+
+  case SGTELIB::LOWESS: 
+    S = new Surrogate_LOWESS(TS,p);
+    break;
+
+  case SGTELIB::ENSEMBLE: 
+    S = new Surrogate_Ensemble(TS,p);
+    break;
+
+  case SGTELIB::KRIGING: 
+    S = new Surrogate_Kriging(TS,p);
+    break;
+
+  default: 
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Undefined type" );
+  }
+
+
+  #ifdef SGTELIB_DEBUG
+    std::cout << "SGTELIB::Surrogate_Factory (TS,p) AFTER set param\n";
+    std::cout << "TS.info()\n";
+    TS.info();
+    std::cout << "S->info()\n";
+    S->info();
+    std::cout << "SGTELIB::Surrogate_Factory (TS,p) RETURN\n";
+  #endif
+  return S;
+
+}//
+
+
+/*----------------------------------------------------------*/
+void SGTELIB::surrogate_delete ( SGTELIB::Surrogate * S ){
+/*----------------------------------------------------------*/
+  if (S){
+    #ifdef SGTELIB_DEBUG
+      std::cout << "Delete surrogate\n";
+    #endif
+    delete S;
+    S = NULL;
+  }
+}//
+
diff --git a/ext/sgtelib/src/Surrogate_Factory.hpp b/ext/sgtelib/src/Surrogate_Factory.hpp
new file mode 100644
index 0000000..6ba52c5
--- /dev/null
+++ b/ext/sgtelib/src/Surrogate_Factory.hpp
@@ -0,0 +1,56 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#ifndef __SURROGATE_FACTORY__
+#define __SURROGATE_FACTORY__
+
+#include "Defines.hpp"
+#include "Exception.hpp"
+#include "Surrogate.hpp"
+#include "Surrogate_KS.hpp"
+#include "Surrogate_CN.hpp"
+#include "Surrogate_RBF.hpp"
+#include "Surrogate_PRS.hpp"
+#include "Surrogate_PRS_EDGE.hpp"
+#include "Surrogate_PRS_CAT.hpp"
+//#include "Surrogate_dynaTree.hpp"
+#include "Surrogate_Ensemble.hpp"
+#include "Surrogate_LOWESS.hpp"
+#include "Surrogate_Kriging.hpp"
+
+namespace SGTELIB {
+
+SGTELIB::Surrogate * Surrogate_Factory ( SGTELIB::TrainingSet    & C,
+                                         const std::string & s );
+
+SGTELIB::Surrogate * Surrogate_Factory ( SGTELIB::Matrix & X0,
+                                         SGTELIB::Matrix & Z0,
+                                         const std::string & s );
+
+void surrogate_delete ( SGTELIB::Surrogate * S );
+
+}
+
+#endif
diff --git a/ext/sgtelib/src/Surrogate_KS.cpp b/ext/sgtelib/src/Surrogate_KS.cpp
new file mode 100644
index 0000000..2380598
--- /dev/null
+++ b/ext/sgtelib/src/Surrogate_KS.cpp
@@ -0,0 +1,314 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#include "Surrogate_KS.hpp"
+
+/*----------------------------*/
+/*         constructor        */
+/*----------------------------*/
+SGTELIB::Surrogate_KS::Surrogate_KS ( SGTELIB::TrainingSet & trainingset,
+                                      SGTELIB::Surrogate_Parameters param) :
+  SGTELIB::Surrogate ( trainingset , param  ) {
+  #ifdef SGTELIB_DEBUG
+    std::cout << "constructor KS\n";
+  #endif
+}//
+
+
+/*----------------------------*/
+/*          destructor        */
+/*----------------------------*/
+SGTELIB::Surrogate_KS::~Surrogate_KS ( void ) {
+
+}//
+
+
+/*--------------------------------------*/
+/*              display                 */
+/*--------------------------------------*/
+void SGTELIB::Surrogate_KS::display_private ( std::ostream & out ) const {
+  out << "(No special members)\n";
+}//
+
+
+/*--------------------------------------*/
+/*             build_private            */
+/*--------------------------------------*/
+bool SGTELIB::Surrogate_KS::build_private ( void ) {
+
+  // Verify that the kernel is decreasing
+  if ( !  kernel_is_decreasing(_param.get_kernel_type())){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+             "Surrogate_KS::build_private(): Kernel must be decreasing for KS model" );
+  }
+ 
+  _ready = true;
+  return true;
+}//
+
+/*--------------------------------------*/
+/*       predict_private (ZZs only)      */
+/*--------------------------------------*/
+void SGTELIB::Surrogate_KS::predict_private ( const SGTELIB::Matrix & XXs,
+                                                    SGTELIB::Matrix * ZZs) {
+  
+  // i: index of a point in Xs
+  // ixx: index of a point in XXs
+  // j: index of an output (ie: a column of ZZs)
+  int i,ixx,j;
+
+  // pxx: nb of prediction points
+  int pxx = XXs.get_nb_rows();
+
+  // D : distance between points of XXs and other points of the trainingset
+  SGTELIB::Matrix D = _trainingset.get_distances(XXs,get_matrix_Xs(),_param.get_distance_type());
+
+  // Kernel shape coefficient
+  //double ks = _param.get_kernel_coef() / _trainingset.get_Ds_mean();
+  double ks = _param.get_kernel_coef() / _trainingset.get_Ds_mean();
+
+  // Compute weights 
+  SGTELIB::Matrix phi = kernel(_param.get_kernel_type(),ks,D);
+
+  const SGTELIB::Matrix & Zs = get_matrix_Zs();
+
+  SGTELIB::Matrix PhiZ = phi*Zs;
+  SGTELIB::Matrix Div = phi.sum(2);
+  Div.hadamard_inverse();
+  *ZZs = SGTELIB::Matrix::diagA_product(Div,PhiZ);
+
+  if (Div.has_inf()){
+    // Loop on the points of XXs
+    for (ixx=0 ; ixx<pxx ; ixx++){
+      if ( isinf(Div.get(ixx,0)) ){
+        // Need to use the limit behavior of kernels
+        switch (_param.get_kernel_type()){
+          case SGTELIB::KERNEL_D1:
+          case SGTELIB::KERNEL_D4:
+          case SGTELIB::KERNEL_D5:
+            // imin is the index of the closest neighbor of xx in Xs
+            i = D.get_min_index_row(ixx); 
+            // Copy the output of this point
+            ZZs->set_row( Zs.get_row(i) , ixx);
+            break;
+          case SGTELIB::KERNEL_D2:
+          case SGTELIB::KERNEL_D3:
+          case SGTELIB::KERNEL_D6:
+            // Use the mean of the output over the trainingset
+            for (j=0 ; j<_m ; j++){
+              ZZs->set(ixx,j,_trainingset.get_Zs_mean(j));
+            }
+            break;
+          default:
+            throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+                   "Surrogate_KS::predict_private: Unacceptable kernel type" );
+        }
+      }
+    }
+  }
+
+}//
+
+
+/*--------------------------------------*/
+/*       get_matrix_Zvs                 */
+/*--------------------------------------*/
+const SGTELIB::Matrix * SGTELIB::Surrogate_KS::get_matrix_Zvs (void){
+
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+
+  // Check that it's NULL
+  if (  !  _Zvs ){
+
+    #ifdef SGTELIB_DEBUG
+      std::cout << "Compute _Zvs\n";
+    #endif
+
+    // Init the matrix
+    _Zvs = new SGTELIB::Matrix("Zvs",_p,_m);
+
+    // i : index of point of the trainingset
+    // j : index of an output of the trainingset
+    // iv: index of the point which is excluded from the model construction, and where the
+    //     cross-validation model is evaluated.
+    int i,j,iv;
+
+    // w : sum of the weights
+    // wz : sum of (weights*output)
+    // z : predicted output (= wz/z)
+    double w,wz,z;
+
+    // Construction of the phi matrix
+    // phi(i,iv) = kernel( || x(i) - x(iv) || )
+    //double ks = _param.get_kernel_coef() / _trainingset.get_Ds_mean();
+    double ks = _param.get_kernel_coef() / _trainingset.get_Ds_mean();
+
+    // D : distance between points of XXs and other points of the trainingset
+    SGTELIB::Matrix D = _trainingset.get_distances(get_matrix_Xs(),get_matrix_Xs(),_param.get_distance_type());
+
+    SGTELIB::Matrix phi;
+    phi = kernel(_param.get_kernel_type(),ks,D);
+
+    // Loop on the outputs
+    for (j=0 ; j<_m ; j++){
+
+      // Compute the LOO-CV prediction for output j
+      for (iv=0 ; iv<_p ; iv++){
+        w = 0;
+        wz= 0;
+        // Loop on the points of the trainingset
+        for (i=0 ; i<_p ; i++){
+          // exclude the point iv from the construction
+          if (i!=iv){
+            w += phi.get(i,iv);
+            wz+= phi.get(i,iv)*_trainingset.get_Zs(i,j);
+          }
+        }
+        
+        // Compute z 
+        if (w>EPSILON){
+          // Normal method
+          z = wz/w;
+        }
+        else{
+          // Need to use the limit behavior of kernels
+          switch (_param.get_kernel_type()){
+            case SGTELIB::KERNEL_D1:
+            case SGTELIB::KERNEL_D4:
+            case SGTELIB::KERNEL_D5:
+            {
+              // Find the closest point to iv
+              // Nb: We must have imin != iv
+              double d;
+              double dmin = SGTELIB::INF;
+              int imin = 0;  // no need to init imin;
+              // Loop on the points of the trainingset
+              for (i=0 ; i<_p ; i++){
+
+                d = D.get(i,iv);
+                if ( (i!=iv) &&  (d<dmin) ){
+                  dmin = d;
+                  imin = i;
+                }
+              }
+              // Copy the output of this point
+              z = _trainingset.get_Zs(imin,j);
+              break;
+            }
+            case SGTELIB::KERNEL_D2:
+            case SGTELIB::KERNEL_D3:
+            case SGTELIB::KERNEL_D6:
+              // Use the mean of the output over the trainingset
+              // Loop on the outputs
+              z = _trainingset.get_Zs_mean(j);
+              break;
+            default:
+              throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+                     "Surrogate_KS::predict_private: Unacceptable kernel type" );
+          }
+        }// End of special case for computation of z
+
+        // Affectation of the CV prediction
+        _Zvs->set(iv,j,z);
+      }
+
+    }
+    _Zvs->replace_nan(+INF);
+    _Zvs->set_name("Zvs");
+  }
+  return _Zvs;
+
+}//
+
+/*--------------------------------------*/
+/*       get_matrix_Zhs                 */
+/*--------------------------------------*/
+const SGTELIB::Matrix * SGTELIB::Surrogate_KS::get_matrix_Zhs (void){
+
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+
+  // Check that it's NULL
+  if (  !  _Zhs ){
+
+    #ifdef SGTELIB_DEBUG
+      std::cout << "Compute _Zhs\n";
+    #endif
+
+    int ixx,j;
+
+    // w : sum of the weights
+    // wz : sum of (weights*output)
+    double w;
+    SGTELIB::Matrix wZ;
+
+    // Init the matrix
+    _Zhs = new SGTELIB::Matrix("Zhs",_p,_m);
+
+    // Construction of the phi matrix
+    double ks = _param.get_kernel_coef() / _trainingset.get_Ds_mean();
+    SGTELIB::Matrix phi;
+    SGTELIB::Matrix D = _trainingset.get_distances(get_matrix_Xs(),get_matrix_Xs(),_param.get_distance_type());
+    phi = kernel(_param.get_kernel_type(),ks,D);
+    SGTELIB::Matrix phi_ixx;
+    const SGTELIB::Matrix & Zs = get_matrix_Zs();
+
+    // Loop on the outputs
+    for (j=0 ; j<_m ; j++){
+      // Compute the prediction for output j
+      for (ixx=0 ; ixx<_p ; ixx++){
+        phi_ixx = phi.get_row(ixx);
+        w = phi_ixx.sum();
+        wZ = phi_ixx*Zs;
+        _Zhs->set_row( wZ/w , ixx );
+      }
+
+    }
+
+    _Zhs->replace_nan(+INF);
+    _Zhs->set_name("Zhs"); 
+
+  }
+  return _Zhs;
+
+}//
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ext/sgtelib/src/Surrogate_KS.hpp b/ext/sgtelib/src/Surrogate_KS.hpp
new file mode 100644
index 0000000..2869e2a
--- /dev/null
+++ b/ext/sgtelib/src/Surrogate_KS.hpp
@@ -0,0 +1,64 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#ifndef __SGTELIB_SURROGATE_KS__
+#define __SGTELIB_SURROGATE_KS__
+
+#include "Surrogate.hpp"
+
+namespace SGTELIB {
+
+  /*--------------------------------------*/
+  /*         Surrogate_KS class        */
+  /*--------------------------------------*/
+  class Surrogate_KS : public SGTELIB::Surrogate {
+
+  private:
+  
+    virtual bool build_private (void);
+ 
+    virtual void predict_private ( const SGTELIB::Matrix & XXs,
+                                         SGTELIB::Matrix * ZZs); 
+
+    // Compute metrics
+    virtual const SGTELIB::Matrix * get_matrix_Zvs (void);
+    virtual const SGTELIB::Matrix * get_matrix_Zhs (void);
+
+  public:
+
+    // Constructor
+    Surrogate_KS ( SGTELIB::TrainingSet & trainingset ,   
+                   SGTELIB::Surrogate_Parameters param) ;
+
+    // destructor:
+    virtual ~Surrogate_KS ( void );
+
+    virtual void display_private ( std::ostream & out ) const;
+
+  };
+}
+
+#endif
+
diff --git a/ext/sgtelib/src/Surrogate_Kriging.cpp b/ext/sgtelib/src/Surrogate_Kriging.cpp
new file mode 100644
index 0000000..e86a859
--- /dev/null
+++ b/ext/sgtelib/src/Surrogate_Kriging.cpp
@@ -0,0 +1,324 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#include "Surrogate_Kriging.hpp"
+
+
+/*----------------------------*/
+/*         constructor        */
+/*----------------------------*/
+SGTELIB::Surrogate_Kriging::Surrogate_Kriging ( SGTELIB::TrainingSet & trainingset,
+                                                SGTELIB::Surrogate_Parameters param) :
+  SGTELIB::Surrogate ( trainingset , param ),
+  _R                 ( "R",0,0             ),  
+  _Ri                ( "Ri",0,0            ),  
+  _H                 ( "H",0,0             ),
+  _alpha             ( "alpha",0,0         ),
+  _beta              ( "beta",0,0          ),
+  _var               ( "var",0,0           ){
+  #ifdef SGTELIB_DEBUG
+    std::cout << "constructor Kriging\n";
+  #endif
+
+}//
+
+/*----------------------------*/
+/*          destructor        */
+/*----------------------------*/
+SGTELIB::Surrogate_Kriging::~Surrogate_Kriging ( void ) {
+
+}//
+
+
+/*----------------------------*/
+/*          display           */
+/*----------------------------*/
+void SGTELIB::Surrogate_Kriging::display_private ( std::ostream & out ) const {
+  //_alpha.display(out);  
+  _beta.display(out);
+  _var.display(out);
+}//
+
+
+/*--------------------------------------*/
+/*             init_private             */
+/*--------------------------------------*/
+bool SGTELIB::Surrogate_Kriging::init_private ( void ) {
+  #ifdef SGTELIB_DEBUG
+    std::cout << "Surrogate_Kriging : init_private\n";
+  #endif
+  return true;
+}//
+
+
+/*--------------------------------------*/
+/*               build                  */
+/*--------------------------------------*/
+bool SGTELIB::Surrogate_Kriging::build_private ( void ) {
+
+  // The build mainly consists of computing alpha  
+
+  // Compute scaling distance for each training point
+  const int mvar = _trainingset.get_mvar();
+  const int nvar = _trainingset.get_nvar();
+  const SGTELIB::Matrix & Zs = get_matrix_Zs();
+
+  _R = compute_covariance_matrix(get_matrix_Xs());
+  _H = SGTELIB::Matrix::ones(_p,1);
+  _Ri = _R.lu_inverse(&_detR);
+
+  if (_detR<=0){
+    _detR = +INF;
+    return false;
+  }
+
+
+  //std::cout << "detR = "<< _detR << "\n";
+  const SGTELIB::Matrix HRi  = _H.transpose()*_Ri;
+  const SGTELIB::Matrix HRiH = HRi*_H;
+  _beta = HRiH.cholesky_inverse() * HRi * Zs;
+  _alpha = _Ri*(Zs-_H*_beta);
+
+  _beta.set_name("beta");
+  _alpha.set_name("alpha");
+  
+  _var = SGTELIB::Matrix("var",1,mvar);
+  double v;
+  SGTELIB::Matrix Zj;
+  SGTELIB::Matrix Vj;
+  for (int j=0 ; j<mvar ; j++){
+    Zj = Zs.get_col(j);
+    Zj = (Zj-_H*_beta.get_col(j));
+    Vj = Zj.transpose() * _Ri * Zj;
+    v = Vj.get(0,0) / (_p-nvar);
+    if (v<0) return false;
+    _var.set(0,j,v);
+    
+  }
+
+  _ready = true;
+  return true;    
+  
+}//
+
+
+
+
+
+/*--------------------------------------*/
+/*         Compute Design matrix        */
+/*--------------------------------------*/
+const SGTELIB::Matrix SGTELIB::Surrogate_Kriging::compute_covariance_matrix ( const SGTELIB::Matrix & XXs ) {
+
+  // Xs can be, either the training set, to build the model, or prediction points.
+  const int pxx = XXs.get_nb_rows();
+  const SGTELIB::Matrix Xs = get_matrix_Xs();
+  const SGTELIB::Matrix coef = _param.get_covariance_coef();
+  const SGTELIB::Matrix D = _trainingset.get_distances(XXs,get_matrix_Xs(),_param.get_distance_type());
+
+  SGTELIB::Matrix R ("R",pxx,_p);
+
+  double d, cov;// dsum;
+  for (int i1=0 ; i1<pxx ; i1++){
+    for (int i2=0 ; i2<_p ; i2++){
+      d = D.get(i1,i2);
+      cov = coef[1] * pow(d,coef[0]);
+      cov = exp(-cov);
+      // Add noise if the distance is 0.
+      if (d==0) cov = 1.0+_param.get_ridge();
+      R.set(i1,i2,cov);
+    }
+  }
+  
+  return R;
+}//
+
+
+
+
+/*--------------------------------------*/
+/*       predict (ZZs only)             */
+/*--------------------------------------*/
+void SGTELIB::Surrogate_Kriging::predict_private ( const SGTELIB::Matrix & XXs,
+                                                     SGTELIB::Matrix * ZZs) {
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+  const int pxx = XXs.get_nb_rows();
+  const SGTELIB::Matrix r = compute_covariance_matrix(XXs).transpose();
+  *ZZs =  SGTELIB::Matrix::ones(pxx,1)*_beta + r.transpose() * _alpha;
+}//
+
+
+void SGTELIB::Surrogate_Kriging::predict_private (const SGTELIB::Matrix & XXs,
+                                                SGTELIB::Matrix * ZZs,
+                                                SGTELIB::Matrix * std, 
+                                                SGTELIB::Matrix * ei ,
+                                                SGTELIB::Matrix * cdf) {
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+
+  const int pxx = XXs.get_nb_rows();
+  const double fs_min = _trainingset.get_fs_min();
+  const SGTELIB::Matrix r = compute_covariance_matrix(XXs).transpose();
+  int i,j;
+
+  // Predict ZZ
+  if (ZZs) predict_private(XXs,ZZs);
+
+  // Predict std
+  if (std) std->fill(-SGTELIB::INF);
+  else std = new SGTELIB::Matrix ("std",pxx,_m);
+
+  double rRr;
+  const double HRH = (_H.transpose()*_Ri*_H).get(0,0);
+
+  double v;
+  SGTELIB::Matrix ri;
+  for (i=0 ; i<pxx ; i++){
+    ri = r.get_col(i);
+    rRr = (ri.transpose()*_Ri*ri).get(0,0);
+    if (fabs(rRr-1)<EPSILON){
+      v = fabs(rRr-1);
+    }
+    else{
+      v = 1-rRr+(1-rRr)*(1-rRr)/HRH;
+    }
+    v = fabs(v);
+    for (j=0 ; j<_m ; j++){
+      std->set(i,j,v*_var[j]);
+    }
+  }
+
+  // Prediction of statistical data
+  if ( (ei) || (cdf) ){
+    double v;
+    if (ei)   ei->fill(-SGTELIB::INF);
+    if (cdf) cdf->fill(-SGTELIB::INF);
+    for (j=0 ; j<_m ; j++){
+      if (_trainingset.get_bbo(j)==SGTELIB::BBO_OBJ){
+        // Compute CDF
+        if (cdf){
+          for (i=0 ; i<pxx ; i++){
+            v = normcdf( fs_min , ZZs->get(i,j) , std->get(i,j) );
+            if (v<0) v=0;
+            cdf->set(i,j,v);
+          }
+        }
+        if (ei){
+          for (i=0 ; i<pxx ; i++){
+            v = normei( ZZs->get(i,j) , std->get(i,j) , fs_min );
+            if (v<0) v=0;
+            ei->set(i,j,v );
+          }
+        }
+      }// END CASE OBJ
+      else if (_trainingset.get_bbo(j)==SGTELIB::BBO_CON){
+        // Compute CDF
+        if (cdf){
+          // Scaled Feasibility Threshold
+          double cs = _trainingset.Z_scale(0.0,j);
+          for (i=0 ; i<pxx ; i++){
+            v = normcdf( cs , ZZs->get(i,j) , std->get(i,j) );
+            if (v<0) v=0;
+            cdf->set(i,j,v);
+          }
+        }
+      }// END CASE CON
+    }// End for j
+  }
+
+}//
+
+
+
+
+
+bool SGTELIB::Surrogate_Kriging::compute_cv_values (void){
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+
+  if ((_Zvs) && (_Svs)) return true;
+
+  const SGTELIB::Matrix & Zs = get_matrix_Zs();
+  const SGTELIB::Matrix RiH = _Ri*_H;
+  const SGTELIB::Matrix Q = _Ri - RiH*( _H.transpose()*_Ri*_H)*RiH.transpose();
+  const SGTELIB::Matrix dQ = Q.diag_inverse();
+  
+  // Init matrices
+  if ( !  _Zvs){
+    _Zvs = new SGTELIB::Matrix;
+    *_Zvs = Zs - SGTELIB::Matrix::diagA_product(dQ,Q)*Zs;
+    _Zvs->replace_nan(+INF);
+    _Zvs->set_name("Zvs");
+  }
+    
+  if ( !  _Svs){
+    _Svs = new SGTELIB::Matrix ("Svs",_p,_m);
+    double q;
+    for (int i=0 ; i<_p ; i++){
+      q = dQ.get(i,i);
+      for (int j=0 ; j<_m ; j++){
+        _Svs->set(i,j,sqrt(_var[j]*q));
+      }
+    }
+    _Svs->replace_nan(+INF);
+    _Svs->set_name("Svs");
+  }
+  return true;
+}//
+
+
+/*--------------------------------------*/
+/*       get cv values                  */
+/*--------------------------------------*/
+const SGTELIB::Matrix * SGTELIB::Surrogate_Kriging::get_matrix_Zvs (void){
+  compute_cv_values();
+  return _Zvs;
+}
+const SGTELIB::Matrix * SGTELIB::Surrogate_Kriging::get_matrix_Svs (void){
+  compute_cv_values();
+  return _Svs;
+}
+
+
+/*--------------------------------------*/
+/*       compute linv                   */
+/*--------------------------------------*/
+void SGTELIB::Surrogate_Kriging::compute_metric_linv (void){
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+  if ( !  _metric_linv){
+    #ifdef SGTELIB_DEBUG
+      std::cout << "Compute _metric_linv\n";
+    #endif
+    _metric_linv = new double [_m];
+    for (int j=0 ; j<_m ; j++){
+      _metric_linv[j] = pow(_var[j],_p)*_detR;
+    }
+  }
+
+}//
+
+
+
+
+
+
diff --git a/ext/sgtelib/src/Surrogate_Kriging.hpp b/ext/sgtelib/src/Surrogate_Kriging.hpp
new file mode 100644
index 0000000..ca399c9
--- /dev/null
+++ b/ext/sgtelib/src/Surrogate_Kriging.hpp
@@ -0,0 +1,111 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#ifndef __SGTELIB_SURROGATE_KRIGING__
+#define __SGTELIB_SURROGATE_KRIGING__
+
+#include "Surrogate.hpp"
+
+namespace SGTELIB {
+
+  /*--------------------------------------*/
+  /*         Surrogate_Kriging class        */
+  /*--------------------------------------*/
+  class Surrogate_Kriging : public SGTELIB::Surrogate {
+
+    /*--------------------------------------------------------*/
+    /*  these members are defined in the Surrogate superclass */
+    /*--------------------------------------------------------*/
+    // int _p; // number of data points in X and Z
+    // int _n; // dimension -- number of variables
+    // int _m; // number of outputs (includes the objective)
+
+  private:
+
+    /*--------------------------------------*/
+    /*          Attributes                  */
+    /*--------------------------------------*/
+    SGTELIB::Matrix _R; // Covariance Matrix
+    SGTELIB::Matrix _Ri; // Inverte of _R
+    SGTELIB::Matrix _H; // Polynomial terms
+    SGTELIB::Matrix _alpha;
+    SGTELIB::Matrix _beta;
+    SGTELIB::Matrix _var;
+    double _detR;
+
+    /*--------------------------------------*/
+    /*          Building methods            */
+    /*--------------------------------------*/
+    const SGTELIB::Matrix compute_covariance_matrix ( const SGTELIB::Matrix & XXs ); 
+
+    /*--------------------------------------*/
+    /*          Build model                 */
+    /*--------------------------------------*/
+    virtual bool build_private (void);
+    virtual bool init_private  (void);
+    //void init_covariance_coef (void);
+    virtual void compute_metric_linv (void);
+    bool compute_cv_values (void);
+
+    /*--------------------------------------*/
+    /*          predict                     */
+    /*--------------------------------------*/ 
+    virtual void predict_private ( const SGTELIB::Matrix & XXs,
+                                         SGTELIB::Matrix * ZZs); 
+
+    virtual void predict_private ( const SGTELIB::Matrix & XXs,
+                                         SGTELIB::Matrix * ZZs,
+                                         SGTELIB::Matrix * std, 
+                                         SGTELIB::Matrix * ei ,
+                                         SGTELIB::Matrix * cdf ); 
+
+    /*--------------------------------------*/
+    /*          Compute matrices            */
+    /*--------------------------------------*/
+    virtual const SGTELIB::Matrix * get_matrix_Zvs (void);
+    virtual const SGTELIB::Matrix * get_matrix_Svs (void);
+
+  public:
+
+    /*--------------------------------------*/
+    /*          Constructor                 */
+    /*--------------------------------------*/
+    Surrogate_Kriging ( SGTELIB::TrainingSet & trainingset ,   
+                        SGTELIB::Surrogate_Parameters param) ;
+
+    /*--------------------------------------*/
+    /*          Destructor                  */
+    /*--------------------------------------*/
+    virtual ~Surrogate_Kriging ( void );
+
+    /*--------------------------------------*/
+    /*          Misc                        */
+    /*--------------------------------------*/
+    virtual void display_private ( std::ostream & out ) const;
+
+  };
+}
+
+#endif
diff --git a/ext/sgtelib/src/Surrogate_LOWESS.cpp b/ext/sgtelib/src/Surrogate_LOWESS.cpp
new file mode 100644
index 0000000..5728edd
--- /dev/null
+++ b/ext/sgtelib/src/Surrogate_LOWESS.cpp
@@ -0,0 +1,709 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#include "Surrogate_LOWESS.hpp"
+
+//#define SGTELIB_LOWESS_DEV
+//#define SGTELIB_DEBUG
+
+
+const int GAMMA_EXP = 2;
+
+/*----------------------------*/
+/*         constructor        */
+/*----------------------------*/
+SGTELIB::Surrogate_LOWESS::Surrogate_LOWESS ( SGTELIB::TrainingSet & trainingset,
+                                        SGTELIB::Surrogate_Parameters param) :
+  SGTELIB::Surrogate ( trainingset , param ),
+  _q                 ( 0        ),
+  _q_old             ( 99999999 ),
+  _degree            ( 0        ),
+  _H                 ( NULL     ),
+  _W                 ( NULL     ),
+  _A                 ( NULL     ),
+  _HWZ               ( NULL     ),
+  _u                 ( NULL     ),
+  _old_u             ( NULL     ),
+  _old_x             ( NULL     ),
+  _ZZsi              ("ZZsi",0,0){
+  #ifdef SGTELIB_DEBUG
+    std::cout << "constructor LOWESS\n";
+  #endif
+}//
+
+
+/*--------------------------------------*/
+/*           delete matrices            */
+/*--------------------------------------*/
+void SGTELIB::Surrogate_LOWESS::delete_matrices ( void ) {
+
+  if (_W) delete [] _W; 
+  _W = NULL;
+
+  if (_u) delete []_u; 
+  _u = NULL;
+
+  if (_old_u) delete [] _old_u; 
+  _old_u = NULL;
+
+  if (_old_x) delete [] _old_x; 
+  _old_x = NULL;
+
+
+  const int p = std::min(_p_old,_p);
+  if (_H){
+    for (int i=0 ; i<p ; i++) delete [] _H[i];
+    delete [] _H;
+  }
+  _H = NULL;
+
+
+  const int q = std::min(_q_old,_q);
+  if (_A){
+    for (int i=0 ; i<q ; i++) delete [] _A[i];
+    delete [] _A;
+  }
+  _A = NULL;
+
+  if (_HWZ){
+    for (int i=0 ; i<q ; i++) delete [] _HWZ[i];
+    delete [] _HWZ;
+  }
+  _HWZ = NULL;
+}//
+
+
+/*--------------------------------------*/
+/*               destructor             */
+/*--------------------------------------*/
+SGTELIB::Surrogate_LOWESS::~Surrogate_LOWESS ( void ) {
+  delete_matrices();
+}//
+
+
+
+
+/*----------------------------*/
+/*          display           */
+/*----------------------------*/
+void SGTELIB::Surrogate_LOWESS::display_private ( std::ostream & out ) const {
+  out << "q: " << _q << "\n";
+}//
+
+/*--------------------------------------*/
+/*               build                  */
+/*--------------------------------------*/
+bool SGTELIB::Surrogate_LOWESS::build_private ( void ) {
+  
+  const int pvar = _trainingset.get_pvar(); 
+
+  if (pvar<2) return false;
+
+  // Get the number of basis functions.
+  const int n1=_trainingset.get_X_nbdiff1();
+  const int n2=_trainingset.get_X_nbdiff2();
+  const int q10 = 1+n1;
+  const int q15 = 1+n1+n2;
+  const int q20 = 1+n1+n2*(n2+1)/2;
+  const int degree_max = _param.get_degree();
+  if ((pvar>q20) & (degree_max>=2)){
+    _q = q20;
+    _degree = 20;
+  }
+  else if ((pvar>q15) & (degree_max>=2)){
+    _q = q15;
+    _degree = 15;
+  }
+  else if ((pvar>q10) & (degree_max>=1)){
+    _q = q10;
+    _degree = 10;
+  }
+  else{
+    _q = 1;
+    _degree = 0;
+  }
+
+  #ifdef SGTELIB_DEBUG
+    std::cout << "_q = " << _q << " (degree=" << double(_degree)/10 << ")\n";
+  #endif
+
+  // Init matrices for prediction
+
+  delete_matrices();
+
+  if ( !  _W){
+    _W = new double [_p];
+  } 
+  if ( !  _A){
+    _A = new double * [_q];
+    for (int j=0 ; j<_q ; j++) _A[j] = new double [_q];
+  }
+  if ( !  _H){
+    _H = new double * [_p];
+    for (int j=0 ; j<_p ; j++) _H[j] = new double [_q];
+  }
+  if ( !  _HWZ){
+    _HWZ = new double * [_q];
+    for (int j=0 ; j<_q ; j++) _HWZ[j] = new double [_m];
+  }
+  if ( !  _u){
+    _u = new double [_q];
+    for (int i=0 ; i<_q ; i++) _u[i] = 0.0;
+  }
+  if ( !  _old_u){
+    _old_u = new double [_q];
+    for (int i=0 ; i<_q ; i++) _old_u[i] = 0.0;
+  }
+  #ifdef SGTELIB_LOWESS_DEV
+    if ( !  _old_x){
+      _old_x = new double [_n];
+      for (int i=0 ; i<_n ; i++) _old_x[i] = 0.0;
+    }
+  #endif
+
+  _ZZsi = SGTELIB::Matrix("ZZsi",1,_m);
+  #ifdef SGTELIB_DEBUG
+    std::cout << "Line " << __LINE__ << "(End of private build)\n";
+  #endif
+
+  _q_old = _q;
+    
+  // C.Tribes jan 17th, 2017 --- update _p_old to prevent memory leak
+    _p_old = _p;
+
+  _ready = true;
+  return true;   
+}//
+
+
+
+
+/*--------------------------------------*/
+/*       predict (ZZs only)             */
+/*--------------------------------------*/
+void SGTELIB::Surrogate_LOWESS::predict_private ( const SGTELIB::Matrix & XXs,
+                                                     SGTELIB::Matrix * ZZs ) {
+
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+  const int pxx = XXs.get_nb_rows();
+  if (pxx>1){
+    for (int i=0 ; i<XXs.get_nb_rows() ; i++){
+      #ifdef SGTELIB_DEBUG
+        std::cout << "============================================\n";
+        std::cout << "Prediction of point " << i << "/" << XXs.get_nb_rows() << "\n";
+        std::cout << "============================================\n";
+      #endif
+      predict_private_single ( XXs.get_row(i) );
+      ZZs->set_row( _ZZsi , i );
+    }
+  }
+  else{
+    predict_private_single ( XXs );
+    *ZZs = _ZZsi;
+  }
+}//
+
+/*--------------------------------------*/
+/*       predict (for one point)        */
+/*--------------------------------------*/
+void SGTELIB::Surrogate_LOWESS::predict_private_single ( const SGTELIB::Matrix XXs , int i_exclude ) {
+  if (XXs.get_nb_rows()!=1){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"predict_private_single : XXs must have only one row." );
+  }
+
+  int i,j,j1,j2,k;
+  double d;
+
+  #ifdef SGTELIB_DEBUG
+    std::cout << "i_exclude = " << i_exclude << "\n";
+  #endif
+
+  #ifdef SGTELIB_LOWESS_DEV
+    int clock_start;
+    clock_start = clock();
+  #endif
+
+  // Distance Matrix
+  // D : distance between points of XXs and other points of the trainingset
+  SGTELIB::Matrix D = _trainingset.get_distances(XXs,get_matrix_Xs(),_param.get_distance_type());
+
+  // Preset
+  const std::string preset = _param.get_preset();
+
+
+  // ==================================
+  // GAMMA DISTRIBUTION
+  // ==================================
+  // Number of points taken into account
+  // = p if no point is excluded
+  // = p-1 if one point is excluded (ie:i_exclude!=-1).
+  const double p_divide = double(_p)-double(i_exclude != -1);
+  // Empirical mean & variance of the distances
+  SGTELIB::Matrix Distances = D;
+  if (GAMMA_EXP==2) Distances=SGTELIB::Matrix::hadamard_square(Distances);
+  const double mean = Distances.sum()/p_divide;
+  const double var  = SGTELIB::Matrix::hadamard_square(Distances+(-mean)).sum()/p_divide;
+  #ifdef SGTELIB_DEBUG
+    std::cout << "mean var = " << mean << " " << var << "\n";
+  #endif
+  if ( (mean<0) || (var<0) ){
+    std::cout << "mean: " << mean << "\n";
+    std::cout << "var: " << var << "\n";
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Error on computation of mean and var" );
+  }
+  // Gamma parameters
+  const double gamma_shape = mean*mean/var;
+  const double gamma_scale = var/mean;  
+
+
+
+  #ifdef SGTELIB_LOWESS_DEV
+    // Write in a file the values of dq
+    if (i_exclude==-1){
+      const SGTELIB::Matrix R = D.rank();
+      i = 0;
+      while (R.get(i)!=_q-1) i++;
+      const double dq_emp = D.get(i);
+      const double dq_gam = pow(SGTELIB::gammacdfinv(double(_q)/double(_p),gamma_shape,gamma_scale),1./GAMMA_EXP);
+
+      std::ofstream fileout;
+      fileout.open ("data_dq.txt" , std::fstream::out | std::fstream::app);
+      fileout << dq_emp << " " << dq_gam << " " << _q << " " << _p << " " << gamma_shape << " " << gamma_scale << "\n";
+      fileout.close();
+    }
+  #endif
+
+
+
+  if (preset=="D"){
+    // ========================================================
+    // Distance only
+    for (i=0 ; i<_p ; i++) _W[i] = D.get(i);
+  }
+  else if (preset=="DEN"){
+    // ========================================================
+    // Distance, normalized with empirical method
+    const SGTELIB::Matrix R = D.rank();
+    i = 0;
+    while (R.get(i)!=_q-1) i++;
+    const double dq = 2.0*D.get(i);
+    for (i=0 ; i<_p ; i++) _W[i] = D.get(i)/dq;
+  }
+  else if (preset=="DGN"){
+    // ========================================================
+    // Distance, normalized with Gamma method
+    const double dq = pow(SGTELIB::gammacdfinv(double(_q)/double(p_divide),gamma_shape,gamma_scale),1./GAMMA_EXP);
+    for (i=0 ; i<_p ; i++) _W[i] = D.get(i)/dq;
+  }
+  else if ( (preset=="RE") || (preset=="REN") ){
+    // ========================================================
+    // Rank, computed with empirical method
+    const SGTELIB::Matrix R = D.rank();
+    for (i=0 ; i<_p ; i++) _W[i] = R.get(i);
+    if (preset=="REN"){
+      for (i=0 ; i<_p ; i++) _W[i] /= (double(_p)-1.0);
+    }
+  }
+  else if ( (preset=="RG") || (preset=="RGN") ){
+    // ========================================================
+    // Rank, computed with gamma method
+    for (i=0 ; i<_p ; i++){
+      _W[i] = SGTELIB::gammacdf(pow(D.get(i),GAMMA_EXP),gamma_shape,gamma_scale);
+    }
+    // DE-Normalization
+    if (preset=="RG"){
+      for (i=0 ; i<_p ; i++) _W[i] *= (double(_p)-1.0);
+    }
+  }
+
+
+
+
+
+  double wsum;
+  // For Gamma methods, Handle special case where the variance of the distances is null
+  if (var==0){
+    for (i=0 ; i<_p ; i++){
+      _W[i] = 1.0;
+    }
+    wsum = _p;
+  }
+  // Normal case
+  else{
+    // parameters of the gamma distribution
+
+    const double lambda = _param.get_kernel_coef();
+    //std::cout << "lambda : " << lambda << "\n";
+    const SGTELIB::kernel_t kt = _param.get_kernel_type();
+    // Weights
+    wsum = 0;
+    for (i=0 ; i<_p ; i++){
+      _W[i] = kernel(kt,lambda,_W[i]);
+      wsum += _W[i];
+    }
+  }
+ 
+  // If a point must be excluded from the training points, set its weight to 0.
+  if (i_exclude != -1){
+    wsum -= _W[i_exclude];
+    _W[i_exclude] = 0.0;
+    #ifdef SGTELIB_DEBUG
+      std::cout << "Exclude training point " << i_exclude << "\n";
+    #endif
+  }
+
+
+  if (wsum>EPSILON){
+    for (i=0 ; i<_p ; i++){
+      _W[i] /= wsum;
+    }
+  }
+  else{
+    // If all the weights are negligible, put 1 everywhere
+    for (i=0 ; i<_p ; i++){
+      _W[i] = 1;
+    }
+  }
+
+  // Ridge
+  double ridge = _param.get_ridge();
+
+  // Build matrices
+  const int nvar = _trainingset.get_nvar(); 
+  const SGTELIB::Matrix & Zs = get_matrix_Zs();
+  const SGTELIB::Matrix & Xs = get_matrix_Xs();
+  // Reset H
+  for (i=0 ; i<_p ; i++){
+    for (j=0 ; j<_q ; j++){
+      _H[i][j] = 0;
+    }
+  }
+
+  // Build H
+  for (i=0 ; i<_p ; i++){
+    k = 0;
+    _H[i][k++] = 1;
+    if (_W[i]>EPSILON){
+      if (_degree>=10){
+        // Linear terms
+        for (j=0 ; j<nvar ; j++){
+          _H[i][k++] = Xs.get(i,j)-XXs.get(0,j);
+        }
+      }
+      if (_degree>=15){
+         // Quad and crossed terms
+        for (j1=0 ; j1<nvar ; j1++){
+          if (_trainingset.get_X_nbdiff(j1)>1){
+            j2=j1;
+            if (_trainingset.get_X_nbdiff(j2)>1){
+              _H[i][k++] = (Xs.get(i,j1)-XXs.get(0,j1))*(Xs.get(i,j2)-XXs.get(0,j2));
+            }
+            if (_degree>=20){
+              for (j2=j1+1 ; j2<nvar ; j2++){
+                if (_trainingset.get_X_nbdiff(j2)>1){
+                  _H[i][k++] = (Xs.get(i,j1)-XXs.get(0,j1))*(Xs.get(i,j2)-XXs.get(0,j2));
+                }
+              }
+            }
+          }
+        } 
+      }    
+    }
+  }
+
+
+
+  // Reset A and HWZ
+  for (i=0 ; i<_q ; i++){
+    for (j=i ; j<_q ; j++){
+      _A[i][j] = 0;
+    }
+    for (j=0 ; j<_m ; j++){
+      _HWZ[i][j] = 0;
+    }
+  }
+  #ifdef SGTELIB_DEBUG
+    int w_count = 0;
+  #endif
+
+  // Build A and HWZ
+  double w;
+  for (k=0 ; k<_p ; k++){
+    w = _W[k];
+    if (w>EPSILON){
+      #ifdef SGTELIB_DEBUG
+        w_count++;
+      #endif
+      for (i=0 ; i<_q ; i++){
+        d = _H[k][i]*w;
+        for (j=i ; j<_q ; j++){
+          _A[i][j] += d*_H[k][j];
+        }
+        for (j=0 ; j<_m ; j++){
+          _HWZ[i][j] += d*Zs.get(k,j);
+        }
+      }
+    }
+  }
+  #ifdef SGTELIB_DEBUG
+    std::cout << "non null w : " << w_count << " / " << _p << "\n";
+  #endif
+  // Symmetry of A
+  for (i=0 ; i<_q ; i++){
+    for (j=i+1 ; j<_q ; j++){
+      _A[j][i] = _A[i][j];
+    }
+  }
+
+  // Add ridge term
+  //for (i=_trainingset.get_X_nbdiff1()+1 ; i<_q ; i++){
+  for (i=1 ; i<_q ; i++){
+    _A[i][i] += ridge;
+  }
+
+  #ifdef SGTELIB_LOWESS_DEV
+    double time_build;
+    time_build = double(clock() - clock_start)/double(CLOCKS_PER_SEC);
+  #endif
+
+  //=========================//
+  //       RESOLUTION        //
+  //=========================//
+
+
+  const double tol = 1e-12;
+  int iter_conj = 0;
+
+  // Initial residual error ||Au-b||_2^2
+  double res = 0;
+  {
+    double Au_i = -1;
+    for (i=0 ; i<_q ; i++){
+      for (j=0 ; j<_q ; j++){
+        Au_i += _A[i][j]*_old_u[j];
+      }
+      res += Au_i*Au_i;
+      Au_i = 0;
+    }
+    res = sqrt(res);
+  }
+
+  // Choice of the method
+  bool USE_CHOL = false;
+  bool USE_CONJ = false;
+  if (res<1e-4) USE_CONJ = true;
+  else          USE_CHOL = true;
+  
+
+  #ifdef SGTELIB_DEBUG
+    std::cout << "USE CHOL / CONJ : " << USE_CHOL << " " << USE_CONJ << " ( " << res << " )\n";
+  #endif
+  #ifdef SGTELIB_LOWESS_DEV
+    USE_CHOL = true;
+    USE_CONJ = true;
+    double time_chol;
+    double time_conj;
+  #endif
+
+
+  if (USE_CONJ){
+    double * r = new double [_q];
+    double * p = new double [_q];
+    double * Ap = new double [_q];
+
+    // Use conjugate
+    #ifdef SGTELIB_LOWESS_DEV
+      clock_start = clock();
+    #endif
+
+    // rr = b-Ax // ==================
+    double rr = 0;
+    d = +1; // Special initialization of the first value of d
+    // to take into account the first term of b (which is 1);
+    for (i=0 ; i<_q ; i++){
+      for (j=0 ; j<_q ; j++){
+        d -= _A[i][j]*_u[j];
+      }
+      r[i] = d;
+      p[i] = d;
+      rr += d*d;
+      d = 0;
+    }
+
+    double rr_old,alpha,pAp;
+    
+    while (iter_conj < 100){
+      // Ap // ===================
+      for (i=0 ; i<_q ; i++){
+        d = 0;
+        for (j=0 ; j<_q ; j++){
+          d += _A[i][j]*p[j];
+        }
+        Ap[i] = d;
+      }
+      // pAp // ===================
+      pAp = 0;
+      for (i=0 ; i<_q ; i++) pAp += p[i]*Ap[i];
+      // Alpha // =================
+      alpha = rr/pAp;
+      // u // ======================
+      for (i=0 ; i<_q ; i++) _u[i] += alpha*p[i];
+      // r // ========================
+      for (i=0 ; i<_q ; i++) r[i] -= alpha*Ap[i];
+      rr_old = rr;
+      rr = 0;
+      for (i=0 ; i<_q ; i++) rr += r[i]*r[i];
+
+      // Break ?? // =================
+      if (rr < tol) break;
+      // p //=========================
+      d = rr/rr_old;
+      for (i=0 ; i<_q ; i++){
+        p[i] *= d;
+        p[i] += r[i];
+      }  
+      iter_conj++;
+    }
+
+    #ifdef SGTELIB_DEBUG
+      std::cout << "Conj rr = " << rr << "\n";
+      std::cout << "Conj iter = " << iter_conj << "\n";
+    #endif
+    #ifdef SGTELIB_LOWESS_DEV
+        time_conj = double(clock() - clock_start)/double(CLOCKS_PER_SEC);
+    #endif
+    delete [] r;
+    delete [] p;
+    delete [] Ap;
+  }
+
+
+  if (USE_CHOL){
+    // Use cholesky
+    #ifdef SGTELIB_LOWESS_DEV
+      clock_start = clock();
+    #endif
+    SGTELIB::Matrix A("A",_q,_q,_A);
+    SGTELIB::Matrix b = SGTELIB::Matrix("b",_q,1);
+    b.set(0,0,1.0);
+    SGTELIB::Matrix u_mat = SGTELIB::Matrix::cholesky_solve(A,b);
+    #ifdef SGTELIB_LOWESS_DEV
+      time_chol = double(clock() - clock_start)/double(CLOCKS_PER_SEC);
+    #endif
+    //std::cout << "Clock (CHOL): " << time_chol << "sec\n";
+    for (i=0 ; i<_q ; i++){
+      _u[i] = u_mat.get(i,0);
+    }
+  }
+
+
+  // Compute the output
+  for (j=0 ; j<_m ; j++){
+    d = 0;
+    for (k=0 ; k<_q ; k++){
+      d += _u[k]*_HWZ[k][j];
+    }
+    _ZZsi.set(0,j,d);
+  }
+  // _ZZsi is the output of this method, but is not returned as it's an attribut of the class.
+
+  /*
+    std::cout << "A = [\n";
+    for (i=0 ; i<_q ; i++){
+      for (j=0 ; j<_q ; j++)
+      std::cout << _A[i][j] << " ";
+      std::cout << "\n"; 
+    }
+    std::cout << "]\n";
+  */
+
+  #ifdef SGTELIB_LOWESS_DEV
+    // STATISTICS //
+    // Compute norm dx
+    double dx = 0;
+    for (i=0 ; i<_n ; i++){
+      d = _old_x[i] - XXs.get(0,i);
+      dx += d*d;
+    }
+    dx = sqrt(dx);
+
+    // Norm du
+    double du = 0;
+    for (i=0 ; i<_q ; i++){
+      d = _old_u[i] - _u[i];
+      du += d*d;
+    }
+    du = sqrt(du);
+    // Display stat
+    if (i_exclude==-1){
+      std::ofstream myfile;
+      const std::string file_name = "LOWESS_times_n"+itos(_n)+".txt";
+      myfile.open (file_name.c_str(),std::ios::app);
+      myfile << _n << " , " << dx << " " << du << " " << res << " , " << time_build << " " << time_chol << " " << time_conj << " , " << iter_conj << "\n";
+      myfile.close();
+    }
+
+    // Save old x
+    for (i=0 ; i<_n ; i++){
+      _old_x[i] = XXs.get(0,i);
+    }
+  #endif
+
+
+    // Save old u
+    for (i=0 ; i<_q ; i++){
+      _old_u[i] = _u[i];
+    }
+
+}
+
+/*--------------------------------------*/
+/*       compute Zvs                    */
+/*--------------------------------------*/
+const SGTELIB::Matrix * SGTELIB::Surrogate_LOWESS::get_matrix_Zvs (void){
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+  #ifdef SGTELIB_DEBUG
+    std::cout << "==========================\n";
+    std::cout << "Compute Zvs\n";
+    std::cout << "==========================\n";
+  #endif
+  if ( !  _Zvs){
+    _Zvs = new SGTELIB::Matrix("Zvs",_p,_m);
+    for (int i=0 ; i<_p ; i++){
+      predict_private_single( get_matrix_Xs().get_row(i) , i);
+      _Zvs->set_row( _ZZsi ,i);
+    }
+  }
+  #ifdef SGTELIB_DEBUG
+    std::cout << "==========================\n";
+    std::cout << "END Compute Zvs\n";
+    std::cout << "==========================\n";
+  #endif
+  return _Zvs;
+}//
+
+
+
+
diff --git a/ext/sgtelib/src/Surrogate_LOWESS.hpp b/ext/sgtelib/src/Surrogate_LOWESS.hpp
new file mode 100644
index 0000000..94ad836
--- /dev/null
+++ b/ext/sgtelib/src/Surrogate_LOWESS.hpp
@@ -0,0 +1,83 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#ifndef __SGTELIB_SURROGATE_LOWESS__
+#define __SGTELIB_SURROGATE_LOWESS__
+
+#include "Surrogate.hpp"
+
+#include <iostream>
+#include <fstream>
+
+namespace SGTELIB {
+
+  /*--------------------------------------*/
+  /*         Surrogate_LOWESS class        */
+  /*--------------------------------------*/
+  class Surrogate_LOWESS : public SGTELIB::Surrogate {
+
+  protected:
+
+    int _q; // Number of basis functions
+    int _q_old; 
+    int _degree; // Degree of local regression
+    double ** _H; // Design matrix
+    double *  _W; // Weights of each observation
+    double ** _A; // Matrix of the linear system (and preconditionner)
+    double ** _HWZ; // Second term
+    double * _u; // First line of inverse of A
+    double * _old_u; // Last value of gamma
+    double * _old_x; // Last value of x
+
+    SGTELIB::Matrix _ZZsi; // Outputs for one point (buffer)
+
+    // build model (private):
+    virtual bool build_private (void);
+
+    void predict_private ( const SGTELIB::Matrix & XXs,
+                                 SGTELIB::Matrix * ZZs); 
+
+    void delete_matrices (void);
+
+    void predict_private_single ( SGTELIB::Matrix XXs , int i_exclude = -1);
+
+    // Compute metrics
+    const SGTELIB::Matrix * get_matrix_Zvs (void);
+
+  public:
+    // Constructor
+    Surrogate_LOWESS ( SGTELIB::TrainingSet & trainingset ,   
+                    SGTELIB::Surrogate_Parameters param) ;
+
+    // destructor:
+    virtual ~Surrogate_LOWESS ( void );
+
+    // Build the monome exponents
+    virtual void display_private ( std::ostream & out ) const;
+
+  };
+}
+
+#endif
diff --git a/ext/sgtelib/src/Surrogate_PRS.cpp b/ext/sgtelib/src/Surrogate_PRS.cpp
new file mode 100644
index 0000000..bf8db98
--- /dev/null
+++ b/ext/sgtelib/src/Surrogate_PRS.cpp
@@ -0,0 +1,278 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#include "Surrogate_PRS.hpp"
+
+/*----------------------------*/
+/*         constructor        */
+/*----------------------------*/
+SGTELIB::Surrogate_PRS::Surrogate_PRS ( SGTELIB::TrainingSet & trainingset,
+                                        SGTELIB::Surrogate_Parameters param) :
+  SGTELIB::Surrogate ( trainingset , param ),
+  _q                 ( 0           ),
+  _M                 ( "M",0,0     ),
+  _H                 ( "H",0,0     ),
+  _Ai                ( "Ai",0,0    ),
+  _alpha             ( "alpha",0,0 ){
+  #ifdef SGTELIB_DEBUG
+    std::cout << "constructor PRS\n";
+  #endif
+}//
+
+
+/*----------------------------*/
+/*          destructor        */
+/*----------------------------*/
+SGTELIB::Surrogate_PRS::~Surrogate_PRS ( void ) {
+
+}//
+
+
+/*----------------------------*/
+/*          display           */
+/*----------------------------*/
+void SGTELIB::Surrogate_PRS::display_private ( std::ostream & out ) const {
+  out << "q: " << _q << "\n";
+}//
+
+
+/*--------------------------------------*/
+/*               build                  */
+/*--------------------------------------*/
+bool SGTELIB::Surrogate_PRS::build_private ( void ) {
+  
+  const int pvar = _trainingset.get_pvar(); 
+  const int nvar = _trainingset.get_nvar(); 
+
+  // Get the number of basis functions.
+  _q = Surrogate_PRS::get_nb_PRS_monomes(nvar,_param.get_degree());
+
+  // If _q is too big or there is not enough points, then quit
+  if (_q>200) return false;
+  if ( (_q>pvar-1) && (_param.get_ridge()==0) ) return false;
+
+  // Compute the exponents of the basis functions
+  _M = get_PRS_monomes(nvar,_param.get_degree());
+
+  // DESIGN MATRIX H
+  _H = compute_design_matrix ( _M , get_matrix_Xs() );
+
+  // Compute alpha
+  if ( !  compute_alpha()) return false;
+
+  _ready = true; 
+  return true;
+}//
+
+/*--------------------------------------*/
+/*          Compute PRS matrix          */
+/*--------------------------------------*/
+const SGTELIB::Matrix SGTELIB::Surrogate_PRS::compute_design_matrix ( const SGTELIB::Matrix Monomes, 
+                                                                      const SGTELIB::Matrix & Xs ) {
+
+  const int n = Xs.get_nb_cols(); // Nb of points in the matrix X given in argument
+  const int p = Xs.get_nb_rows(); // Nb of points in the matrix X given in argument
+  double v;
+  int i,j,jj,k,exponent;
+
+  const int nbMonomes = Monomes.get_nb_rows();
+
+  // Init the design matrix  
+  SGTELIB::Matrix H("H",p,nbMonomes);
+  // Current basis function (vector column to construct 1 basis function)
+  SGTELIB::Matrix h("h",p,1);
+
+  // j is the corresponding index among all input (j in [0;n-1])
+  // jj is the index of the input variabe amongst the varying input (jj in [0;nvar-1])
+  // k is the index of the monome (ie: the basis function) (k in [0;q-1])
+  // i is the index of a point (i in [0;p-1])
+  // Loop on the monomes
+  for (k=0 ; k<nbMonomes ; k++){
+    h.fill(1.0);
+    jj=0;
+    // Loop on the input variables
+    for (j=0 ; j<n ; j++){
+      if (_trainingset.get_X_nbdiff(j)>1){
+        exponent = int(Monomes.get(k,jj)); 
+        if (exponent>0){
+          for (i=0 ; i<p ; i++){
+            v = h.get(i,0);
+            v *= pow(Xs.get(i,jj),exponent);
+            h.set(i,0,v);
+          }
+        }
+        jj++;
+      }
+    }
+    H.set_col(h,k);
+  }
+  return H;
+}//
+
+
+/*--------------------------------------*/
+/*       compute alpha                  */
+/*--------------------------------------*/
+bool SGTELIB::Surrogate_PRS::compute_alpha ( void ){
+
+  const SGTELIB::Matrix   Ht = _H.transpose();
+  const SGTELIB::Matrix & Zs = get_matrix_Zs();
+
+  // Ridge
+  double r = _param.get_ridge();
+
+  // COMPUTE COEFS
+  if (r>0){
+    //_Ai = (Ht*_H+r*SGTELIB::Matrix::identity(_q)).SVD_inverse();
+    _Ai = (Ht*_H+r*SGTELIB::Matrix::identity(_q)).cholesky_inverse();
+  }
+  else{
+    //_Ai = (Ht*_H).SVD_inverse();
+    _Ai = (Ht*_H).cholesky_inverse();
+  }
+
+  _alpha = _Ai * (Ht * Zs);
+  _alpha.set_name("alpha");
+  if (_alpha.has_nan()){
+    return false;
+  }
+  return true;
+}
+
+/*--------------------------------------*/
+/*       predict (ZZs only)             */
+/*--------------------------------------*/
+void SGTELIB::Surrogate_PRS::predict_private ( const SGTELIB::Matrix & XXs,
+                                                     SGTELIB::Matrix * ZZs ) {
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+  *ZZs = compute_design_matrix(_M,XXs) * _alpha;
+}//
+
+/*--------------------------------------*/
+/*       compute Zvs                    */
+/*--------------------------------------*/
+const SGTELIB::Matrix * SGTELIB::Surrogate_PRS::get_matrix_Zvs (void){
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+  // Not necessary. Zv is computed in "build".
+  if ( !  _Zvs){
+    _Zvs = new SGTELIB::Matrix;
+    // Projection matrix
+    const SGTELIB::Matrix & Zs = get_matrix_Zs();
+    SGTELIB::Matrix dPiPZs = SGTELIB::Matrix::get_matrix_dPiPZs(_Ai,_H,Zs);
+
+    // dPi is the inverse of the diag of P 
+    // Compute _Zv = Zs - dPi*P*Zs
+    *_Zvs = Zs - dPiPZs;
+    _Zvs->replace_nan(+INF);
+    _Zvs->set_name("Zvs");
+  }
+  return _Zvs;
+}//
+
+
+
+/*-----------------------------------------*/
+/* Compute the theorical number of monomes */
+/*-----------------------------------------*/
+int SGTELIB::Surrogate_PRS::get_nb_PRS_monomes(const int nvar, const int degree){
+  // Return the number of lines in the matrix M computed in get_PRS_monomes()
+  int S = 1;
+  int v = nvar;
+  for (int d = 1 ; d<=degree ; d++){
+    S += v;
+    v = (v*(nvar+d))/(d+1);
+  }
+  return S;
+}//
+
+
+
+/*----------------------------------*/
+/*     BUILD THE INDEX MATRICES     */
+/*----------------------------------*/
+SGTELIB::Matrix SGTELIB::Surrogate_PRS::get_PRS_monomes(const int nvar, const int degree){
+
+  double * z = new double [nvar];
+  SGTELIB::Matrix M("Monomes",1,nvar);
+  bool continuer;
+
+  int i,j,di,ci;
+
+  // Loop on the number of non null terms in z
+  // c is the number of non-null terms of the monome.
+  // We start with the monomes with only one non-null term.
+  for (int c=1 ; c<=std::min(degree,nvar) ; c++){
+    for (int d=c ; d<=degree ; d++){
+          
+      // First monome (c,d)
+      z[0] = d-c+1;
+      for (i=1 ; i<c ; i++) 
+        z[i] = 1;
+      for (i=c ; i<nvar ; i++) 
+        z[i] = 0;
+
+      continuer = true;
+      while (continuer){
+        M.add_row(z);
+        // Pivot
+        i = 0;
+        while ( (i<nvar-1) && (z[i]<=z[i+1]) && ( (z[i]<=1) || (z[i+1]>=d-c+1))  )
+          i++;
+        // Transfert
+        if (i < nvar-1){
+          z[i+1]++;
+          for (j=0; j<=i ; j++){
+            z[j] = 0;
+          }
+          ci = c;
+          di = d;
+          for (j=i+1 ; j<nvar ; j++){
+            ci -= (z[j]!=0);
+            di -= static_cast<int>(z[j]);
+          }
+          if ( (ci==0) && (di>0) ){
+            z[i+1] = z[i+1]+di;
+          }
+          else{
+            for (int j=0; j<ci; j++){
+              z[j] = 1;
+              z[0] -= z[j];
+            }
+            z[0] += di;
+          }
+        }
+        else{
+            continuer = false;
+        }
+      } // loop while
+    }// loop d
+  }// loop c
+  delete [] z;
+  return M;
+}//
+
+
+
+
diff --git a/ext/sgtelib/src/Surrogate_PRS.hpp b/ext/sgtelib/src/Surrogate_PRS.hpp
new file mode 100644
index 0000000..fd45ad3
--- /dev/null
+++ b/ext/sgtelib/src/Surrogate_PRS.hpp
@@ -0,0 +1,85 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#ifndef __SGTELIB_SURROGATE_PRS__
+#define __SGTELIB_SURROGATE_PRS__
+
+#include "Surrogate.hpp"
+
+namespace SGTELIB {
+
+  /*--------------------------------------*/
+  /*         Surrogate_PRS class        */
+  /*--------------------------------------*/
+  class Surrogate_PRS : public SGTELIB::Surrogate {
+
+    /*--------------------------------------------------------*/
+    /*  these members are defined in the Surrogate superclass */
+    /*--------------------------------------------------------*/
+    // int _p; // number of data points in X and Z
+    // int _n; // dimension -- number of variables
+    // int _m; // number of outputs (includes the objective)
+
+  protected:
+
+    int _q; // Nb of basis function
+    SGTELIB::Matrix _M; // Monomes
+    SGTELIB::Matrix _H; // Design matrix
+    SGTELIB::Matrix _Ai; // Inverse of Ht*H
+    SGTELIB::Matrix _alpha; // Coefficients
+
+    virtual const SGTELIB::Matrix compute_design_matrix ( const SGTELIB::Matrix Monomes, 
+                                                          const SGTELIB::Matrix & Xs );
+
+    // build model (private):
+    virtual bool build_private (void);
+
+    void predict_private ( const SGTELIB::Matrix & XXs,
+                                 SGTELIB::Matrix * ZZs); 
+
+
+    // Compute metrics
+    const SGTELIB::Matrix * get_matrix_Zvs (void);
+
+    bool compute_alpha ( void );
+
+  public:
+
+    // Constructor
+    Surrogate_PRS ( SGTELIB::TrainingSet & trainingset ,   
+                    SGTELIB::Surrogate_Parameters param) ;
+
+    // destructor:
+    virtual ~Surrogate_PRS ( void );
+
+    // Build the monome exponents
+    static int get_nb_PRS_monomes(const int nvar, const int degree);
+    static SGTELIB::Matrix get_PRS_monomes(const int nvar, const int degree);
+    virtual void display_private ( std::ostream & out ) const;
+
+  };
+}
+
+#endif
diff --git a/ext/sgtelib/src/Surrogate_PRS_CAT.cpp b/ext/sgtelib/src/Surrogate_PRS_CAT.cpp
new file mode 100644
index 0000000..9cea7a1
--- /dev/null
+++ b/ext/sgtelib/src/Surrogate_PRS_CAT.cpp
@@ -0,0 +1,139 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#include "Surrogate_PRS_CAT.hpp"
+
+/*----------------------------*/
+/*         constructor        */
+/*----------------------------*/
+SGTELIB::Surrogate_PRS_CAT::Surrogate_PRS_CAT ( SGTELIB::TrainingSet & trainingset,
+                                                SGTELIB::Surrogate_Parameters param) :
+  SGTELIB::Surrogate_PRS ( trainingset , param ){
+  #ifdef SGTELIB_DEBUG
+    std::cout << "constructor PRS_CAT\n";
+  #endif
+}//
+
+
+/*----------------------------*/
+/*          destructor        */
+/*----------------------------*/
+SGTELIB::Surrogate_PRS_CAT::~Surrogate_PRS_CAT ( void ) {
+
+}//
+
+/*----------------------------*/
+/*          display           */
+/*----------------------------*/
+void SGTELIB::Surrogate_PRS_CAT::display_private ( std::ostream & out ) const {
+  out << "q: " << _q << "\n";
+  out << "nb_cat: " << _nb_cat << "\n";
+}//
+
+/*--------------------------------------*/
+/*             init_private             */
+/*--------------------------------------*/
+bool SGTELIB::Surrogate_PRS_CAT::init_private ( void ) {
+  #ifdef SGTELIB_DEBUG
+    std::cout << "Surrogate_PRS_CAT : init_private\n";
+  #endif
+  // Compute the number of categories
+  _cat.clear();
+  for ( int i = 0 ; i < _p ; ++i ){
+    _cat.insert ( _trainingset.get_Xs(i,0) );
+  }
+  _nb_cat = static_cast<int> ( _cat.size() );
+  return true;
+}//
+
+/*--------------------------------------*/
+/*               build                  */
+/*--------------------------------------*/
+bool SGTELIB::Surrogate_PRS_CAT::build_private ( void ) {
+
+  const int pvar = _trainingset.get_pvar(); 
+  const int nvar = _trainingset.get_nvar(); 
+
+  // Get the number of basis functions.
+  int nb_monomes = Surrogate_PRS::get_nb_PRS_monomes(nvar-1,_param.get_degree());
+  _q = nb_monomes*_nb_cat;
+
+  // If _q is too big or there is not enough points, then quit
+  if (nb_monomes>100) return false;
+  if ( (_q>pvar-1) && (_param.get_ridge()==0) ) return false;
+
+  // Compute the exponents of the basis functions (nb there is one less variable
+  // as the first one is the cat)
+  _M = SGTELIB::Matrix ("M",nb_monomes,1);
+  _M.fill(0.0);
+  _M.add_cols(get_PRS_monomes(nvar-1,_param.get_degree()));
+
+  // DESIGN MATRIX H
+  _H = compute_design_matrix ( _M , get_matrix_Xs() );
+
+  // Compute alpha
+  bool ok = compute_alpha();   
+  return ok;
+}//
+
+
+
+/*-------------------------------------------------*/
+/*          Compute PRS_CAT design matrix          */
+/*-------------------------------------------------*/
+const SGTELIB::Matrix SGTELIB::Surrogate_PRS_CAT::compute_design_matrix ( const SGTELIB::Matrix Monomes, 
+                                                                          const SGTELIB::Matrix & Xs ) {
+
+  const int p = Xs.get_nb_rows(); 
+  SGTELIB::Matrix H("H",p,0);
+  SGTELIB::Matrix is_cat ("is_cat",p,1);
+  const SGTELIB::Matrix H_prs = SGTELIB::Surrogate_PRS::compute_design_matrix ( Monomes, Xs );
+  
+  std::set<double>::iterator it;
+  double c;
+  for (it = _cat.begin(); it != _cat.end(); ++it){
+    c = *it;
+    for (int i=0 ; i<p ; i++){
+      is_cat.set(i,0,(double)(Xs.get(i,0)==c));
+    }       
+    H.add_cols( Matrix::diagA_product(is_cat,H_prs) );
+  }
+  return H;
+}//
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ext/sgtelib/src/Surrogate_PRS_CAT.hpp b/ext/sgtelib/src/Surrogate_PRS_CAT.hpp
new file mode 100644
index 0000000..4be0649
--- /dev/null
+++ b/ext/sgtelib/src/Surrogate_PRS_CAT.hpp
@@ -0,0 +1,61 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#ifndef __SGTELIB_SURROGATE_PRS_CAT__
+#define __SGTELIB_SURROGATE_PRS_CAT__
+
+#include "Surrogate_PRS.hpp"
+
+namespace SGTELIB {
+
+  /*--------------------------------------*/
+  /*         Surrogate_PRS_CAT class      */
+  /*--------------------------------------*/
+  class Surrogate_PRS_CAT : public SGTELIB::Surrogate_PRS {
+
+  protected:
+    std::set<double> _cat; // Categories
+    int _nb_cat; // Number of categories
+
+    virtual const SGTELIB::Matrix compute_design_matrix ( const SGTELIB::Matrix Monomes, 
+                                                          const SGTELIB::Matrix & Xs );
+    // build model (private):
+    virtual bool build_private (void);
+    virtual bool init_private  (void);
+  public:
+
+    // Constructor
+    Surrogate_PRS_CAT ( SGTELIB::TrainingSet & trainingset ,   
+                        SGTELIB::Surrogate_Parameters param) ;
+
+    // destructor:
+    virtual ~Surrogate_PRS_CAT ( void );
+
+    virtual void display_private ( std::ostream & out ) const;
+
+  };
+}
+
+#endif
diff --git a/ext/sgtelib/src/Surrogate_PRS_EDGE.cpp b/ext/sgtelib/src/Surrogate_PRS_EDGE.cpp
new file mode 100644
index 0000000..c9a8920
--- /dev/null
+++ b/ext/sgtelib/src/Surrogate_PRS_EDGE.cpp
@@ -0,0 +1,134 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#include "Surrogate_PRS_EDGE.hpp"
+
+/*----------------------------*/
+/*         constructor        */
+/*----------------------------*/
+SGTELIB::Surrogate_PRS_EDGE::Surrogate_PRS_EDGE ( SGTELIB::TrainingSet & trainingset,
+                                                  SGTELIB::Surrogate_Parameters param) :
+  SGTELIB::Surrogate_PRS ( trainingset , param ){
+  #ifdef SGTELIB_DEBUG
+    std::cout << "constructor PRS_EDGE\n";
+  #endif
+}//
+
+
+/*----------------------------*/
+/*          destructor        */
+/*----------------------------*/
+SGTELIB::Surrogate_PRS_EDGE::~Surrogate_PRS_EDGE ( void ) {
+
+}//
+
+
+/*----------------------------*/
+/*          display           */
+/*----------------------------*/
+void SGTELIB::Surrogate_PRS_EDGE::display_private ( std::ostream & out ) const {
+  out << "q: " << _q << "\n";
+}//
+
+
+/*--------------------------------------*/
+/*               build                  */
+/*--------------------------------------*/
+bool SGTELIB::Surrogate_PRS_EDGE::build_private ( void ) {
+  
+  const int pvar = _trainingset.get_pvar(); 
+  const int nvar = _trainingset.get_nvar(); 
+
+  // Get the number of basis functions.
+  _q = Surrogate_PRS::get_nb_PRS_monomes(nvar,_param.get_degree())+nvar;
+
+  // If _q is too big or there is not enough points, then quit
+  if (_q>200) return false;
+  if ( (_q>pvar-1) && (_param.get_ridge()==0) ) return false;
+
+  // Compute the exponents of the basis functions
+  _M = get_PRS_monomes(nvar,_param.get_degree());
+
+  // DESIGN MATRIX H
+  _H = compute_design_matrix ( _M , get_matrix_Xs() );
+
+  return compute_alpha();   
+}//
+
+
+
+
+
+/*-------------------------------------------------*/
+/*          Compute PRS_EDGE design matrix          */
+/*-------------------------------------------------*/
+const SGTELIB::Matrix SGTELIB::Surrogate_PRS_EDGE::compute_design_matrix ( const SGTELIB::Matrix Monomes, 
+                                                                           const SGTELIB::Matrix & Xs ) {
+
+  // Call the standard design matrix
+  const SGTELIB::Matrix H_prs = SGTELIB::Surrogate_PRS::compute_design_matrix ( Monomes, Xs );
+  // Add the edge basis functions
+  const int p = Xs.get_nb_rows(); 
+  const int n = Xs.get_nb_cols(); 
+  const int nvar = _trainingset.get_nvar();
+
+  // Add the special basis function (xi==0)
+  // Loop on the input variables
+  SGTELIB::Matrix H_edge ("He",p,nvar);
+  int i,j,jj;
+  double v;
+  double xs0; // value that xs will have if x=0 (for a given input j)
+  jj=0;
+  for (j=0 ; j<n ; j++){
+    if (_trainingset.get_X_nbdiff(j)>1){
+      xs0 = _trainingset.X_scale( 0.0 , j ); 
+      for (i=0 ; i<p ; i++){
+        v = (double) (Xs.get(i,j)==xs0);
+        H_edge.set(i,jj,v);
+      }
+      jj++;
+    }
+  }
+
+  SGTELIB::Matrix H(H_prs);
+  H.add_cols(H_edge);
+  return H;
+
+}//
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ext/sgtelib/src/Surrogate_PRS_EDGE.hpp b/ext/sgtelib/src/Surrogate_PRS_EDGE.hpp
new file mode 100644
index 0000000..4edb18e
--- /dev/null
+++ b/ext/sgtelib/src/Surrogate_PRS_EDGE.hpp
@@ -0,0 +1,59 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#ifndef __SGTELIB_SURROGATE_PRS_EDGE__
+#define __SGTELIB_SURROGATE_PRS_EDGE__
+
+#include "Surrogate_PRS.hpp"
+
+namespace SGTELIB {
+
+  /*--------------------------------------*/
+  /*         Surrogate_PRS_EDGE class     */
+  /*--------------------------------------*/
+  class Surrogate_PRS_EDGE : public SGTELIB::Surrogate_PRS {
+
+  protected:
+
+    virtual const SGTELIB::Matrix compute_design_matrix ( const SGTELIB::Matrix Monomes, 
+                                                  const SGTELIB::Matrix & Xs );
+
+    // build model (private):
+    virtual bool build_private (void);
+
+  public:
+
+    // Constructor
+    Surrogate_PRS_EDGE ( SGTELIB::TrainingSet & trainingset ,   
+                         SGTELIB::Surrogate_Parameters param) ;
+    // destructor:
+    virtual ~Surrogate_PRS_EDGE ( void );
+
+    virtual void display_private ( std::ostream & out ) const;
+
+  };
+}
+
+#endif
diff --git a/ext/sgtelib/src/Surrogate_Parameters.cpp b/ext/sgtelib/src/Surrogate_Parameters.cpp
new file mode 100644
index 0000000..735fc73
--- /dev/null
+++ b/ext/sgtelib/src/Surrogate_Parameters.cpp
@@ -0,0 +1,1221 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#include "Surrogate_Parameters.hpp"
+using namespace SGTELIB;
+/*----------------------------*/
+/*         constructor        */
+/*----------------------------*/
+SGTELIB::Surrogate_Parameters::Surrogate_Parameters ( const model_t mt ):
+  _type  ( mt ){
+  set_defaults();
+  check();
+}//
+
+
+/*----------------------------*/
+/*          constructor       */
+/*----------------------------*/
+SGTELIB::Surrogate_Parameters::Surrogate_Parameters ( const std::string & s ):
+  _type  ( read_model_type(s) ){
+  set_defaults();
+  read_string(s);
+  check();
+}//
+
+/*----------------------------*/
+/*          Destructor        */
+/*----------------------------*/
+SGTELIB::Surrogate_Parameters::~Surrogate_Parameters ( void ) {
+
+}//
+
+
+
+
+/*----------------------------------------*/
+/*   Extract the model type from a string */            
+/*----------------------------------------*/
+SGTELIB::model_t SGTELIB::Surrogate_Parameters::read_model_type ( const std::string & model_description){
+  std::string s;
+  std::istringstream in_line (model_description);	
+  while ( in_line >> s ){
+    s = SGTELIB::toupper(s);
+    if (streqi(s,"TYPE")){
+      in_line >> s;
+      s = SGTELIB::toupper(s);
+      return SGTELIB::str_to_model_type(s);
+    }
+  }
+  // If nothing was found
+  std::cout << "model_description: " << model_description << "\n";
+  throw SGTELIB::Exception ( __FILE__ , __LINE__ , "No field \"TYPE\" found.");
+}//
+
+/*--------------------------------------------------------------------*/
+/* Convert the param name provided by user into a standard param name */
+/*--------------------------------------------------------------------*/
+std::string SGTELIB::Surrogate_Parameters::to_standard_field_name (const std::string field){
+  
+  if ( streqi(field,"TYPE") )           return "TYPE";
+  if ( streqi(field,"TYPE_MODEL") )     return "TYPE";
+  if ( streqi(field,"MODEL_TYPE") )     return "TYPE";
+
+  if ( streqi(field,"DEGREE") )         return "DEGREE";
+
+  if ( streqi(field,"WEIGHT") )         return "WEIGHT_TYPE";
+  if ( streqi(field,"WEIGHT_TYPE") )    return "WEIGHT_TYPE";
+  if ( streqi(field,"TYPE_WEIGHT") )    return "WEIGHT_TYPE";
+  if ( streqi(field,"WEIGHT_CHOICE") )  return "WEIGHT_TYPE";
+  if ( streqi(field,"CHOICE_WEIGHT") )  return "WEIGHT_TYPE";
+
+  if ( streqi(field,"RIDGE") )          return "RIDGE";
+  if ( streqi(field,"RIDGE_COEF") )     return "RIDGE";
+  if ( streqi(field,"RIDGE_PARAM") )    return "RIDGE";
+
+  if ( streqi(field,"KERNEL_TYPE") )    return "KERNEL_TYPE";
+  if ( streqi(field,"TYPE_KERNEL") )    return "KERNEL_TYPE";
+  if ( streqi(field,"KERNEL") )         return "KERNEL_TYPE";
+
+  if ( streqi(field,"KERNEL_COEF") )    return "KERNEL_COEF";
+  if ( streqi(field,"COEF_KERNEL") )    return "KERNEL_COEF";
+  if ( streqi(field,"KERNEL_SHAPE") )   return "KERNEL_COEF";
+  if ( streqi(field,"COEF_SHAPE") )     return "KERNEL_COEF";
+  if ( streqi(field,"SHAPE") )          return "KERNEL_COEF";
+  if ( streqi(field,"SHAPE_COEF") )     return "KERNEL_COEF";
+
+  if ( streqi(field,"METRIC") )         return "METRIC_TYPE";
+  if ( streqi(field,"METRIC_TYPE") )    return "METRIC_TYPE";
+  if ( streqi(field,"TYPE_METRIC") )    return "METRIC_TYPE";
+
+  if ( streqi(field,"BUDGET") )              return "BUDGET";
+  if ( streqi(field,"OPTIM_BUDGET") )        return "BUDGET";
+  if ( streqi(field,"BUDGET_OPTIM") )        return "BUDGET";
+  if ( streqi(field,"OPTIMIZATION_BUDGET") ) return "BUDGET";
+  if ( streqi(field,"BUDGET_OPTIMIZATION") ) return "BUDGET";
+
+  if ( streqi(field,"PRESET") )         return "PRESET";
+
+  if ( streqi(field,"OUTPUT") )         return "OUTPUT";
+  if ( streqi(field,"OUTPUT_FILE") )    return "OUTPUT";
+
+  if ( streqi(field,"DISTANCE") )       return "DISTANCE_TYPE";
+  if ( streqi(field,"DISTANCE_TYPE") )  return "DISTANCE_TYPE";
+  if ( streqi(field,"TYPE_DISTANCE") )  return "DISTANCE_TYPE";
+
+
+  std::cout << "Field: " << field << "\n";
+  throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Field not recognized: \""+field+"\"" );
+  return "ERROR";
+}
+
+/*----------------------------*/
+/*   Read model definition    */            
+/*----------------------------*/
+void SGTELIB::Surrogate_Parameters::read_string (const std::string & model_description){
+
+  std::string field;
+  std::string content;
+  bool content_is_optim;
+  std::istringstream in_line (model_description);	
+  #ifdef SGTELIB_DEBUG
+    std::cout << "Model description: " << model_description << "\n";
+  #endif
+  while ( in_line >> field ){
+
+    #ifdef SGTELIB_DEBUG
+      std::cout << "FIELD: " << field ;
+    #endif
+    // Convert the field name into a std field name
+    field = to_standard_field_name(field);
+    #ifdef SGTELIB_DEBUG
+      std::cout << " (" << field << ")\n";
+    #endif   
+    // Check if this field is authorized for this type of model.
+    if ( !  authorized_field(field)){
+      std::cout << "model_description: " << model_description << "\n";
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Unauthorized field \""+field+"\" in a model of type "+model_type_to_str(_type) );
+    }
+    #ifdef SGTELIB_DEBUG
+      std::cout << "CONTENT: " << content << "\n";
+    #endif
+    // Read the content 
+    if ( !  (in_line >> content))
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Missing content for field \""+field+"\"" );
+
+
+
+    // Detect if the content is "OPTIM".
+    content_is_optim = ( streqi(content,"OPTIM") || streqi(content,"OPTIMIZATION") || streqi(content,"OPTIMIZE") );
+
+    // Check if optimization is allowed for this field.
+    if ((content_is_optim) && ( !  authorized_optim(field))) {
+      std::cout << "model_description: " << model_description << "\n";
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Field \""+field+"\" cannot be optimized." );
+    }
+
+    if (streqi(field,"TYPE")){
+      if ( str_to_model_type(content) != _type ){
+        std::cout << "model_description: " << model_description << "\n";
+        throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Unconsistent model type!" );
+      }
+    }
+    else if (streqi(field,"DEGREE")){
+      if (content_is_optim)
+        _degree_status = SGTELIB::STATUS_OPTIM;
+      else{
+        _degree = SGTELIB::stoi(content);
+        _degree_status = SGTELIB::STATUS_FIXED;
+      }
+    }
+    else if (streqi(field,"KERNEL_TYPE")){
+      if (content_is_optim)
+         _kernel_type_status = SGTELIB::STATUS_OPTIM;
+      else{
+        _kernel_type = SGTELIB::str_to_kernel_type(content);
+        _kernel_type_status = SGTELIB::STATUS_FIXED;
+      }
+    }
+    else if ( streqi(field,"KERNEL_COEF") ){
+      if (content_is_optim)
+        _kernel_coef_status = SGTELIB::STATUS_OPTIM;
+      else{
+        _kernel_coef = SGTELIB::stod(content);
+        _kernel_coef_status = SGTELIB::STATUS_FIXED;
+      }
+    }
+    else if (streqi(field,"RIDGE")){
+      if (content_is_optim)
+         _ridge_status = SGTELIB::STATUS_OPTIM;
+      else{
+        _ridge = SGTELIB::stod(content);
+        _ridge_status = SGTELIB::STATUS_FIXED;
+      }
+    }
+    else if ( streqi(field,"DISTANCE_TYPE") ){
+      if (content_is_optim)
+        _distance_type_status = SGTELIB::STATUS_OPTIM;
+      else{
+        _distance_type = str_to_distance_type(content);
+        _distance_type_status = SGTELIB::STATUS_FIXED;
+      }
+    }
+    else if ( streqi(field,"WEIGHT_TYPE") ){
+      _weight_type = str_to_weight_type(content);
+      if (content_is_optim) 
+        _weight_status = SGTELIB::STATUS_OPTIM;
+    }
+    else if ( streqi(field,"METRIC_TYPE") ){
+      _metric_type = str_to_metric_type(content);
+    }
+    else if ( streqi(field,"BUDGET") ){
+      _budget = SGTELIB::stoi(content);
+    }
+    else if ( streqi(field,"PRESET") ){
+      _preset = content;
+    }
+    else if ( streqi(field,"OUTPUT") ){
+      _output = content;
+    }
+    else{
+      std::cout << "model_description: " << model_description << "\n";
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Field not recognized: \""+field+"\"" );
+    }
+  }// end while read
+}//
+
+
+
+bool SGTELIB::Surrogate_Parameters::authorized_field ( const std::string & field ) const{
+
+  if (streqi(field,"TYPE")) return true;
+  if (streqi(field,"OUTPUT")) return true;
+  if (streqi(field,"METRIC_TYPE")) return true;
+  if (streqi(field,"BUDGET")) return true;
+
+  switch (_type) {
+    case SGTELIB::LINEAR:
+    case SGTELIB::TGP: 
+    case SGTELIB::SVN: 
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Not implemented yetnot " );
+
+    case SGTELIB::CN:
+      if (streqi(field,"DISTANCE_TYPE")) return true;
+      break;
+
+    case SGTELIB::KRIGING: 
+      if (streqi(field,"RIDGE"))         return true;
+      if (streqi(field,"DISTANCE_TYPE")) return true;
+
+    case SGTELIB::PRS: 
+    case SGTELIB::PRS_EDGE: 
+    case SGTELIB::PRS_CAT: 
+      if (streqi(field,"DEGREE")) return true;
+      if (streqi(field,"RIDGE")) return true;
+      break;
+
+    case SGTELIB::KS: 
+      if (streqi(field,"KERNEL_TYPE")) return true;
+      if (streqi(field,"KERNEL_COEF")) return true;
+      if (streqi(field,"DISTANCE_TYPE")) return true;
+      break;
+
+    case SGTELIB::RBF: 
+      if (streqi(field,"KERNEL_TYPE")) return true;
+      if (streqi(field,"KERNEL_COEF")) return true;
+      if (streqi(field,"DISTANCE_TYPE")) return true;
+      if (streqi(field,"RIDGE")) return true;
+      if (streqi(field,"PRESET")) return true;
+
+      break;
+
+    case SGTELIB::LOWESS:
+      if (streqi(field,"DEGREE")) return true;
+      if (streqi(field,"RIDGE")) return true;
+      if (streqi(field,"KERNEL_TYPE")) return true;
+      if (streqi(field,"KERNEL_COEF")) return true;
+      if (streqi(field,"PRESET")) return true;
+      if (streqi(field,"DISTANCE_TYPE")) return true;
+      break; 
+
+    case SGTELIB::ENSEMBLE: 
+      if (streqi(field,"WEIGHT_TYPE")) return true;
+      if (streqi(field,"PRESET")) return true;
+      if (streqi(field,"DISTANCE_TYPE")) return true;
+      break;
+
+    default:
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Undefined model type" );
+      break;
+  }
+
+  return false;
+}//
+
+bool SGTELIB::Surrogate_Parameters::authorized_optim ( const std::string & field ) {
+
+  if (streqi(field,"DEGREE"))        return true;
+  if (streqi(field,"RIDGE"))         return true;
+  if (streqi(field,"KERNEL_TYPE"))   return true;
+  if (streqi(field,"KERNEL_COEF"))   return true;
+  if (streqi(field,"DISTANCE_TYPE")) return true;
+  if (streqi(field,"WEIGHT_TYPE"))   return true;
+
+  if (streqi(field,"TYPE"))          return false;
+  if (streqi(field,"OUTPUT"))        return false;
+  if (streqi(field,"METRIC_TYPE"))   return false;
+  if (streqi(field,"PRESET"))        return false;
+  if (streqi(field,"BUDGET"))        return false;
+
+  std::cout << "Field : " << field << "\n";
+  throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Undefined field" );
+
+  return false;
+}//
+
+
+
+/*----------------------------*/
+/*          Check             */
+/*----------------------------*/
+void SGTELIB::Surrogate_Parameters::check ( void ) {
+  switch (_type) {
+    case SGTELIB::LINEAR:
+    case SGTELIB::TGP: 
+    case SGTELIB::SVN: 
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Not implemented yet!" );
+
+
+    case SGTELIB::PRS: 
+    case SGTELIB::PRS_EDGE: 
+    case SGTELIB::PRS_CAT: 
+      if (_degree < 0 )
+        throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"degree must be >= 0" );
+      if (_ridge<0)
+        throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"ridge must be >= 0" );
+      break;
+
+    case SGTELIB::KRIGING: 
+      if (!SGTELIB::kernel_is_decreasing(_kernel_type))
+        throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"kernel_type must be decreasing" );
+      break;
+
+
+    case SGTELIB::KS: 
+      if (_kernel_coef <= 0)
+        throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"kernel_coef must be > 0" );
+      if (!SGTELIB::kernel_is_decreasing(_kernel_type))
+        throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"kernel_type must be decreasing" );
+      break;
+
+    case SGTELIB::RBF: 
+      if (_kernel_coef <= 0) 
+        throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"kernel_coef must be > 0" );
+      if (_ridge<0)
+        throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"ridge must be >= 0" );
+      if ( ( !  kernel_has_parameter(_kernel_type)) && (_kernel_type_status==SGTELIB::STATUS_FIXED) ){
+        // If the kernel coef is not used in this type of kernel, then it should be fixed. 
+        _kernel_coef = 1;
+        _kernel_coef_status = SGTELIB::STATUS_FIXED;
+      }
+      break;
+
+    case SGTELIB::LOWESS: 
+      if ( (_degree < 0) || (_degree > 2) )
+        throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"degree for LOWESS model must be 0, 1 or 2" );
+      if (_ridge<0)
+        throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"ridge must be >= 0" );
+      if ( (_preset!="D"  ) &&
+           (_preset!="DEN") &&
+           (_preset!="DGN") &&
+           (_preset!="RE" ) &&
+           (_preset!="RG" ) &&
+           (_preset!="REN") &&
+           (_preset!="RGN") ){
+        std::cout << "LOWESS preset : " << _preset << "\n";
+        std::cout << "Possible values: D, DEN, DGN, RE, RG, REN, RGN.\n";
+        throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"preset not recognized" );
+      }
+      if ( ! SGTELIB::kernel_is_decreasing( _kernel_type ) )
+        throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"kernel_type must be decreasing" );
+      break;
+
+    case SGTELIB::ENSEMBLE: 
+      break;
+
+    case SGTELIB::CN: 
+      break;
+
+    default: 
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Undefined type" );
+  }
+
+
+
+
+  // Count the number of parameters to optimize
+  _nb_parameter_optimization = 0;
+  if (_degree_status==SGTELIB::STATUS_OPTIM)           _nb_parameter_optimization++;
+  if (_kernel_type_status==SGTELIB::STATUS_OPTIM)      _nb_parameter_optimization++;
+  if (_kernel_coef_status==SGTELIB::STATUS_OPTIM)      _nb_parameter_optimization++;
+  if (_ridge_status==SGTELIB::STATUS_OPTIM)            _nb_parameter_optimization++;
+  if (_distance_type_status==SGTELIB::STATUS_OPTIM)    _nb_parameter_optimization++;
+  if (_covariance_coef_status==SGTELIB::STATUS_OPTIM)  _nb_parameter_optimization += _covariance_coef.get_numel();
+  if (_weight_status==SGTELIB::STATUS_OPTIM)           _nb_parameter_optimization += _weight.get_numel();
+
+}//
+
+/*----------------------------*/
+/*          Display           */
+/*----------------------------*/
+void SGTELIB::Surrogate_Parameters::display ( std::ostream & out ) const {
+
+  out << "Type: " << SGTELIB::model_type_to_str(_type) << std::endl;
+
+  switch (_type) {
+
+    case SGTELIB::SVN: 
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+        "Not implemented yet!" );
+
+    case SGTELIB::CN: 
+      out << "Distance_type: " << distance_type_to_str(_distance_type) << std::endl;
+      break;
+
+    case SGTELIB::KRIGING: 
+      out << "Covariance coefs: " << "\n";
+      out << "Ridge: " << _ridge << std::endl;
+      _covariance_coef.display(out);
+      break;
+
+    case SGTELIB::PRS: 
+    case SGTELIB::PRS_EDGE: 
+    case SGTELIB::PRS_CAT: 
+      out << "Degree: " << _degree << std::endl;
+      out << "Ridge: " << _ridge << std::endl;
+      out << "Distance_type: " << distance_type_to_str(_distance_type) << std::endl;
+      break;
+
+    case SGTELIB::KS: 
+      out << "Kernel type: " << _kernel_type << std::endl;
+      out << "Kernel coef: " << _kernel_coef << std::endl;
+      out << "Distance_type: " << distance_type_to_str(_distance_type) << std::endl;
+      break;
+
+    case SGTELIB::RBF: 
+      out << "Kernel type: " << _kernel_type << std::endl;
+      out << "Kernel coef: " << _kernel_coef << std::endl;
+      out << "Distance_type: " << distance_type_to_str(_distance_type) << std::endl;
+      out << "ridge: " << _ridge << std::endl;
+      break;
+
+    case SGTELIB::LOWESS: 
+      out << "Kernel coef: " << _kernel_coef << std::endl;
+      out << "Distance_type: " << distance_type_to_str(_distance_type) << std::endl;
+      out << "degree: " << _degree << std::endl;
+      out << "ridge: " << _ridge << std::endl;
+      out << "Preset: " << _preset << std::endl;
+      break;
+
+    case SGTELIB::ENSEMBLE: 
+      out << "Metric type: " << metric_type_to_str(_metric_type) << std::endl;
+      out << "Weight type: " << weight_type_to_str(_weight_type) << std::endl;
+      out << "Preset: " << _preset << std::endl;
+      break;
+
+    default: 
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Undefined type" );
+  }
+}//
+
+/*----------------------------*/
+/*          Set defaults           */
+/*----------------------------*/
+void SGTELIB::Surrogate_Parameters::set_defaults ( void ) {
+
+  _budget = 100;
+  _metric_type = SGTELIB::METRIC_AOECV;
+  _distance_type = SGTELIB::DISTANCE_NORM2;
+  _distance_type_status = SGTELIB::STATUS_FIXED;
+  _covariance_coef_status = SGTELIB::STATUS_FIXED;
+  _weight_status = SGTELIB::STATUS_MODEL_DEFINED;
+  _ridge = 0.001;
+  _kernel_coef = 1;
+  _kernel_type = SGTELIB::KERNEL_D1; 
+  _covariance_coef = SGTELIB::Matrix("COVARIANCE_COEF",0,0);
+  _weight = SGTELIB::Matrix("WEIGHT",0,0);
+
+
+  switch (_type) {
+    case SGTELIB::LINEAR:
+    case SGTELIB::TGP: 
+    case SGTELIB::SVN: 
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Not implemented yet!" );
+
+    case SGTELIB::KRIGING: 
+      _distance_type = SGTELIB::DISTANCE_NORM2;
+      _distance_type_status = SGTELIB::STATUS_FIXED;
+      _ridge = 1e-16;
+      _ridge_status = SGTELIB::STATUS_OPTIM;
+      _covariance_coef = SGTELIB::Matrix("COVARIANCE_COEF",1,2);
+      {
+        const double default_exponent = 2;
+        _covariance_coef.set(0,0,default_exponent);
+
+        const double default_factor   = 1;
+        _covariance_coef.set(0,1,default_factor);
+      }
+      _covariance_coef_status = SGTELIB::STATUS_OPTIM;
+      break;
+
+    case SGTELIB::PRS: 
+    case SGTELIB::PRS_EDGE: 
+    case SGTELIB::PRS_CAT: 
+      _degree = 2;
+      _degree_status = SGTELIB::STATUS_FIXED;
+      _ridge = 0.001;
+      _ridge_status = SGTELIB::STATUS_FIXED;
+      break;
+
+    case SGTELIB::KS: 
+      _kernel_type = SGTELIB::KERNEL_D1; 
+      _kernel_type_status = SGTELIB::STATUS_FIXED;
+      _kernel_coef = 5;
+      _kernel_coef_status = SGTELIB::STATUS_OPTIM;
+      _distance_type = SGTELIB::DISTANCE_NORM2;
+      _distance_type_status = SGTELIB::STATUS_FIXED;
+      break;
+
+    case SGTELIB::RBF: 
+      _kernel_type = SGTELIB::KERNEL_I2;
+      _kernel_type_status = SGTELIB::STATUS_FIXED;
+      _kernel_coef = 1;
+      _kernel_coef_status = SGTELIB::STATUS_OPTIM;
+      _distance_type = SGTELIB::DISTANCE_NORM2;
+      _distance_type_status = SGTELIB::STATUS_FIXED;
+      _ridge = 0.001;
+      _ridge_status = SGTELIB::STATUS_FIXED;
+      _preset = "I";
+      break;
+
+    case SGTELIB::LOWESS: 
+      _kernel_coef = 1.0;
+      _kernel_coef_status = SGTELIB::STATUS_OPTIM;
+      _kernel_type = SGTELIB::KERNEL_D1;
+      _kernel_type_status = SGTELIB::STATUS_FIXED;
+      _distance_type = SGTELIB::DISTANCE_NORM2;
+      _distance_type_status = SGTELIB::STATUS_FIXED;
+      _degree = 2;
+      _degree_status = SGTELIB::STATUS_FIXED;
+      _ridge = 0.001;
+      _ridge_status = SGTELIB::STATUS_FIXED;
+      _preset = "DGN";
+      break;
+
+    case SGTELIB::ENSEMBLE: 
+      _weight_type = WEIGHT_SELECT; 
+      _weight_status = SGTELIB::STATUS_MODEL_DEFINED;
+      _preset = "DEFAULT";
+      break;
+
+    case SGTELIB::CN:
+      break;
+
+    default: 
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Undefined type" );
+  }
+
+  // Default output file
+  _output = "NULL";
+
+}//
+
+/*----------------------------*/
+/*          Display           */
+/*----------------------------*/
+std::string SGTELIB::Surrogate_Parameters::get_string ( void ) const {
+
+  std::string s = "TYPE "+model_type_to_str(_type);
+
+  switch (_type) {
+    case SGTELIB::LINEAR:
+    case SGTELIB::TGP: 
+
+    case SGTELIB::SVN: 
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Not implemented yet!" );
+
+    case SGTELIB::KRIGING: 
+      s += " DISTANCE_TYPE " + distance_type_to_str(_distance_type);
+      break;
+
+    case SGTELIB::CN: 
+      s += " DISTANCE_TYPE " + distance_type_to_str(_distance_type);
+      break;
+
+    case SGTELIB::PRS: 
+    case SGTELIB::PRS_EDGE: 
+    case SGTELIB::PRS_CAT: 
+      s += " DEGREE " + itos(_degree);
+      s += " RIDGE " + dtos(_ridge);
+      break;
+
+    case SGTELIB::KS: 
+      s += " KERNEL_TYPE " + kernel_type_to_str(_kernel_type);
+      s += " KERNEL_SHAPE " + dtos(_kernel_coef);
+      s += " DISTANCE_TYPE " + distance_type_to_str(_distance_type);
+      break;
+
+    case SGTELIB::RBF: 
+      s += " PRESET " + _preset;
+      s += " KERNEL_TYPE " + kernel_type_to_str(_kernel_type);
+      s += " KERNEL_SHAPE " + dtos(_kernel_coef);
+      s += " DISTANCE_TYPE " + distance_type_to_str(_distance_type);
+      s += " RIDGE " + dtos(_ridge);
+      break;
+
+    case SGTELIB::LOWESS: 
+      s += " DEGREE " + itos(_degree);
+      s += " KERNEL_TYPE " + kernel_type_to_str(_kernel_type);
+      s += " KERNEL_SHAPE " + dtos(_kernel_coef);
+      s += " DISTANCE_TYPE " + distance_type_to_str(_distance_type);
+      s += " RIDGE " + dtos(_ridge);
+      break;
+
+    case SGTELIB::ENSEMBLE: 
+      s += " METRIC_TYPE " + metric_type_to_str(_metric_type);
+      s += " WEIGHT_TYPE " + weight_type_to_str(_weight_type);
+      s += " PRESET " + _preset;
+      s += " DISTANCE_TYPE " + distance_type_to_str(_distance_type);
+      break;
+
+    default: 
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Undefined type" );
+  }
+  return s;
+
+}//
+
+/*----------------------------*/
+/*          Display           */
+/*----------------------------*/
+std::string SGTELIB::Surrogate_Parameters::get_short_string ( void ) const {
+
+  std::string s = model_type_to_str(_type);
+
+  switch (_type) {
+    case SGTELIB::LINEAR:
+    case SGTELIB::TGP: 
+    case SGTELIB::SVN: 
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Not implemented yet!" );
+
+    case SGTELIB::KRIGING: 
+      if (_kernel_type != SGTELIB::KERNEL_D1){
+        s += " " + kernel_type_to_str(_kernel_type);
+      }
+      if (_distance_type != SGTELIB::DISTANCE_NORM2){
+        s += " " + distance_type_to_str(_distance_type);
+      }
+      break;
+
+    case SGTELIB::PRS: 
+    case SGTELIB::PRS_EDGE: 
+    case SGTELIB::PRS_CAT: 
+      s += " " + itos(_degree);
+      if (_ridge>0) s+= " R "+dtos(_ridge);
+      break;
+
+    case SGTELIB::KS: 
+      s += " " + dtos(_kernel_coef);
+      if (_kernel_type != SGTELIB::KERNEL_D1){
+        s += " " + kernel_type_to_str(_kernel_type);
+      }
+      if (_distance_type != SGTELIB::DISTANCE_NORM2){
+        s += " " + distance_type_to_str(_distance_type);
+      }
+      break;
+
+    case SGTELIB::CN: 
+      if (_distance_type != SGTELIB::DISTANCE_NORM2){
+        s += " " + distance_type_to_str(_distance_type);
+      }
+      break;
+
+    case SGTELIB::RBF: 
+      s += " " + dtos(_kernel_coef);
+      if (_kernel_type != SGTELIB::KERNEL_D1){
+        s += " " + kernel_type_to_str(_kernel_type);
+      }
+      if (_distance_type != SGTELIB::DISTANCE_NORM2){
+        s += " " + distance_type_to_str(_distance_type);
+      }
+      s += " " + dtos(_ridge);
+      s += " "+_preset;
+      break;
+
+
+    case SGTELIB::LOWESS: 
+      s += " " + dtos(_kernel_coef);
+      if (_distance_type != SGTELIB::DISTANCE_NORM2){
+        s += " " + distance_type_to_str(_distance_type);
+      }
+      if (_kernel_type != SGTELIB::KERNEL_D1){
+        s += " " + kernel_type_to_str(_kernel_type);
+      }
+      if (_degree!=2) s += " Degree " + itos(_degree);
+      if (_ridge>0) s+= " R "+dtos(_ridge);
+      s += " "+_preset;
+      break;
+
+    case SGTELIB::ENSEMBLE: 
+      s += " " + metric_type_to_str(_metric_type) + " " + weight_type_to_str(_weight_type);
+      if (!streqi(_preset,"DEFAULT")) s += " "+_preset;
+      break;
+
+    default: 
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Undefined type" );
+  }
+  return s;
+
+}//
+
+
+
+
+
+/*------------------------------------*/
+/*  Parameter domains and definitions */
+/*------------------------------------*/
+SGTELIB::Matrix SGTELIB::Surrogate_Parameters::get_x ( void ){
+
+    SGTELIB::Matrix X ("X",1,_nb_parameter_optimization);
+    int k=0;
+    if (_degree_status        == SGTELIB::STATUS_OPTIM) X.set(0,k++,double(_degree));
+    if (_ridge_status         == SGTELIB::STATUS_OPTIM) X.set(0,k++,double(_ridge));
+    if (_kernel_coef_status   == SGTELIB::STATUS_OPTIM) X.set(0,k++,double(_kernel_coef));
+    if (_kernel_type_status   == SGTELIB::STATUS_OPTIM) X.set(0,k++,double(_kernel_type));
+    if (_distance_type_status == SGTELIB::STATUS_OPTIM) X.set(0,k++,double(_distance_type));
+
+    if (_covariance_coef_status == SGTELIB::STATUS_OPTIM){
+      for (int j=0 ; j<_covariance_coef.get_nb_cols() ; j++){
+        X.set(0,k++,_covariance_coef[j]);
+      }
+    }
+
+    if (_weight_status == SGTELIB::STATUS_OPTIM){
+      for (int i=0 ; i<_weight.get_nb_rows() ; i++){
+        for (int j=0 ; j<_weight.get_nb_cols() ; j++){
+          X.set(0,k++,_weight.get(i,j));
+        }
+      }
+    }
+
+    if ( k != _nb_parameter_optimization){
+      std::cout << "k=" << k << "\n";
+      std::cout << "_nb_parameter_optimization=" << _nb_parameter_optimization << "\n";
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Unconcistency in the value of k." );
+    }
+
+    return X;
+
+}//
+
+/*-------------------------------------------------*/
+/*  Set the parameters from an external value of x */
+/*-------------------------------------------------*/
+void SGTELIB::Surrogate_Parameters::set_x ( const SGTELIB::Matrix X ){
+
+    int k=0;
+    if (_degree_status        == SGTELIB::STATUS_OPTIM) _degree      = int(X.get(k++));
+    if (_ridge_status         == SGTELIB::STATUS_OPTIM) _ridge       = double(X.get(k++));
+    if (_kernel_coef_status   == SGTELIB::STATUS_OPTIM) _kernel_coef = double(X.get(k++));
+    if (_kernel_type_status   == SGTELIB::STATUS_OPTIM) _kernel_type = SGTELIB::int_to_kernel_type(int(X.get(k++)));
+    if (_distance_type_status == SGTELIB::STATUS_OPTIM) _distance_type=SGTELIB::int_to_distance_type(int(X.get(k++)));
+
+    if (_covariance_coef_status == SGTELIB::STATUS_OPTIM){
+      for (int j=0 ; j<_covariance_coef.get_nb_cols() ; j++){
+        _covariance_coef.set(0,j,X.get(k++));
+      }
+    } 
+
+    if (_weight_status == SGTELIB::STATUS_OPTIM){
+      // For each BBO
+      for (int i=0 ; i<_weight.get_nb_rows() ; i++){
+        for (int j=0 ; j<_weight.get_nb_cols() ; j++){
+        // For each model
+          _weight.set(i,j,X.get(k++));
+        }
+      }
+      _weight.normalize_cols();
+    } 
+
+    if ( k != _nb_parameter_optimization ){
+      std::cout << "k=" << k << "\n";
+      std::cout << "_nb_parameter_optimization=" << _nb_parameter_optimization << "\n";
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Unconcistency in the value of k." );
+    }
+
+}//
+
+/*------------------------------------*/
+/*  Parameter domains and definitions */
+/*------------------------------------*/
+void SGTELIB::Surrogate_Parameters::get_x_bounds ( SGTELIB::Matrix * LB ,
+                                                   SGTELIB::Matrix * UB ,
+                                                   SGTELIB::param_domain_t * domain,
+                                                   bool * logscale ){
+
+    if ( ( ! LB) || ( ! UB) || ( ! domain) || ( ! logscale) ){
+      std::cout << LB << " " << UB << " " << domain << " " << logscale << "\n";
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Pointers are NULL." );
+    }
+
+
+    int i,j;
+    const int N = _nb_parameter_optimization;
+    for (i=0 ; i<N ; i++) logscale[i] = false;
+
+    int k=0;
+    // --------- DEGREE --------------------
+    if (_degree_status == SGTELIB::STATUS_OPTIM){
+      LB->set(0,k,0);
+      if (_type==SGTELIB::LOWESS) {
+        UB->set(0,k,2);
+        domain[k] = SGTELIB::PARAM_DOMAIN_INTEGER;
+      }
+      else {
+        UB->set(0,k,6);
+        domain[k] = SGTELIB::PARAM_DOMAIN_INTEGER;
+      }
+      k++;
+    }
+    // --------- RIDGE --------------------
+    if (_ridge_status == SGTELIB::STATUS_OPTIM){
+      LB->set(0,k,1e-16);
+      UB->set(0,k,1e-1);
+      domain[k] = SGTELIB::PARAM_DOMAIN_CONTINUOUS;
+      logscale[k] = true;
+      k++;
+    }
+    // --------- KERNEL_COEF --------------------
+    if (_kernel_coef_status == SGTELIB::STATUS_OPTIM){
+      LB->set(0,k,1e-2);
+      UB->set(0,k,100);
+      domain[k] = SGTELIB::PARAM_DOMAIN_CONTINUOUS;
+      logscale[k] = true;
+      k++;
+    }
+    // --------- KERNEL_TYPE --------------------
+    if (_kernel_type_status == SGTELIB::STATUS_OPTIM){
+      LB->set(0,k,0);
+      if (_type==SGTELIB::RBF) {
+        UB->set(0,k,double(NB_KERNEL_TYPES-1));
+      }
+      else{
+        UB->set(0,k,double(NB_DECREASING_KERNEL_TYPES-1));
+      }
+      domain[k] = SGTELIB::PARAM_DOMAIN_CAT;
+      k++;
+    }
+    // --------- DISTANCE_TYPE --------------------
+    if (_distance_type_status == SGTELIB::STATUS_OPTIM){
+      LB->set(0,k,0);
+      UB->set(0,k,double(NB_DISTANCE_TYPES-1));
+      domain[k] = SGTELIB::PARAM_DOMAIN_CAT;
+      k++;
+    }
+    // --------- COVARIANCE COEF --------------------
+    if (_covariance_coef_status == SGTELIB::STATUS_OPTIM){
+      const int v = _covariance_coef.get_nb_cols()/2;
+      for (j=0 ; j<v ; j++){
+        // Exponent parameter
+        LB->set(0,k,0.5);
+        UB->set(0,k,3.0);
+        domain[k] = SGTELIB::PARAM_DOMAIN_CONTINUOUS;
+        logscale[k] = false;
+        k++;
+        // Factor parameter
+        LB->set(0,k,1e-3);
+        UB->set(0,k,1e+0);
+        domain[k] = SGTELIB::PARAM_DOMAIN_CONTINUOUS;
+        logscale[k] = true;
+        k++;
+      }
+    }
+    // --------- WEIGHT --------------------
+    if (_weight_status == SGTELIB::STATUS_OPTIM){
+      for (i=0 ; i<_weight.get_nb_rows() ; i++){
+        for (j=0 ; j<_weight.get_nb_cols() ; j++){
+          LB->set(0,k,0);
+          UB->set(0,k,1);
+          domain[k] = SGTELIB::PARAM_DOMAIN_CONTINUOUS;
+          logscale[k] = false;
+          k++;
+        }
+      }
+    }
+
+    if ( k != N){
+      std::cout << "k=" << k << "\n";
+      std::cout << "N=" << N << "\n";
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Unconcistency in the value of k." );
+    }
+    // ----- CHECK CONSISTENCY -------
+    bool error = false;
+    for (j=0 ; j<N ; j++){
+      // Check bounds order
+      if (LB->get(j)>=UB->get(j)){
+        error=true;
+        std::cout << "Variable " << j << "\n";
+        std::cout << "LB (=" << LB->get(j) << ") >= UB (=" << UB->get(j) << ")\n";
+      }
+      // Check that only continuous variables are using a log scale
+      if ( (logscale[j]) && (domain[j]!=SGTELIB::PARAM_DOMAIN_CONTINUOUS) ){
+        error=true;
+        std::cout << "Variable " << j << "\n";
+        std::cout << "Uses logscale and is not continuous.\n";
+      }
+      // Check that variables with log scale have bounds of the same sign.
+      if (logscale[j]){
+        if (LB->get(j)*UB->get(j)<=0){
+          //error=true;
+          std::cout << "Variable " << j << "\n";
+          std::cout << "LB =" << LB->get(j) << "\nUB =" << UB->get(j) << "\n";
+          std::cout << "The bounds are not appropriate for logscale optimization.\n";
+        }
+      }
+
+      // Check fo reach domain type
+      switch (domain[j]){
+        case SGTELIB::PARAM_DOMAIN_CONTINUOUS:
+          break;
+        case SGTELIB::PARAM_DOMAIN_INTEGER:
+        case SGTELIB::PARAM_DOMAIN_CAT:
+          if (double(round(LB->get(j)))!=LB->get(j)){
+            error=true;
+            std::cout << "Variable " << j << " (Integer or Categorical)\n";
+            std::cout << "LB (=" << LB->get(j) << ") is not an integer\n";
+          }
+          if (double(round(UB->get(j)))!=UB->get(j)){
+            error=true;
+            std::cout << "Variable " << j << " (Integer or Categorical)\n";
+            std::cout << "UB (=" << UB->get(j) << ") is not an integer\n";
+          }
+          break;
+        case SGTELIB::PARAM_DOMAIN_BOOL:
+          if (LB->get(j)==0){
+            error=true;
+            std::cout << "Variable " << j << " (Boolean)\n";
+            std::cout << "LB (=" << LB->get(j) << ") is not 0\n";
+          }
+          if (UB->get(j)==1){
+            error=true;
+            std::cout << "Variable " << j << " (Boolean)\n";
+            std::cout << "UB (=" << UB->get(j) << ") is not 1\n";
+          }
+          break;
+        case SGTELIB::PARAM_DOMAIN_MISC:
+          error=true;
+          std::cout << "Variable " << j << " is MISC\n";
+          break;
+      }
+    }
+    
+    if (error){
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Error in definition of LB, UB or domain!" );
+    }
+
+}//
+
+/*------------------------------------*/
+/*  Check parameter X                 */
+/*------------------------------------*/
+bool SGTELIB::Surrogate_Parameters::check_x ( void ){
+
+    SGTELIB::Matrix X = get_x();
+    bool error = false;
+    // Check dimension of X
+    if (X.get_nb_rows()!=1){
+      error = true;
+      std::cout << "Number of rows is not 1\n";
+    }
+    // Check dimension of X
+    const int N = _nb_parameter_optimization;
+    if (X.get_nb_cols()!=N){
+      error = true;
+      std::cout << "Number of cols is not consistent with _nb_parameter_optimization\n";
+    }
+
+    // Get bound info.
+    SGTELIB::Matrix * LB = new SGTELIB::Matrix("LB",1,N);
+    SGTELIB::Matrix * UB = new SGTELIB::Matrix("UB",1,N);
+    param_domain_t * domain = new param_domain_t[N];
+    bool * logscale = new bool[N];
+    get_x_bounds ( LB , UB , domain , logscale);
+
+    for (int j=0 ; j<_nb_parameter_optimization ; j++){
+      // Check bounds
+      if (X[j]<LB->get(j)){
+        error=true;
+        std::cout << "X[" << j << "] < lower bound\n";
+      }
+      if (X[j]>UB->get(j)){
+        error=true;
+        std::cout << "X[" << j << "] > upper bound\n";
+      }
+      // Check types
+      switch (domain[j]){
+        case SGTELIB::PARAM_DOMAIN_CONTINUOUS:
+          break;
+        case SGTELIB::PARAM_DOMAIN_INTEGER:
+        case SGTELIB::PARAM_DOMAIN_CAT:
+          if (double(round(X[j]))!=X[j]){
+            error=true;
+            std::cout << "Variable " << j << " (Integer or Categorical)\n";
+            std::cout << "X[" << j << "]=" << X[j] << " is not an integer\n";
+          }
+          break;
+        case SGTELIB::PARAM_DOMAIN_BOOL:
+          if ((X[j]!=0) && (X[j]!=1)){
+            error=true;
+            std::cout << "Variable " << j << " (Boolean)\n";
+            std::cout << "X[" << j << "]=" << X[j] << " is not a boolean\n";
+          }
+          break;
+        case SGTELIB::PARAM_DOMAIN_MISC:
+          error=true;
+          std::cout << "Variable " << j << " is MISC\n";
+          break;
+      }
+    }// End loop on j
+
+    // Check dimension of _covariance_coef
+    if (_covariance_coef.get_nb_rows()>1){
+      error = true;
+      std::cout << "Covariance_coef should have only one row.\n";
+    }
+    
+    if (error){
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Invalid X!" );
+    }
+
+    delete LB;
+    delete UB;
+    delete [] domain; 
+
+    return ( !  error);
+}//
+
+
+
+/*------------------------------------*/
+/*  Parameter domains and definitions */
+/*------------------------------------*/
+void SGTELIB::Surrogate_Parameters::display_x ( std::ostream & out ){
+    out << "Parameter set {\n";
+    out << "    Dimension(X) " << _nb_parameter_optimization << "\n";
+    if (_degree_status        == SGTELIB::STATUS_OPTIM)
+      out << "    Degree " << _degree << " ";
+    if (_ridge_status         == SGTELIB::STATUS_OPTIM)
+      out << "    Ridge " << _ridge << " ";
+    if (_kernel_coef_status   == SGTELIB::STATUS_OPTIM)
+      out << "    Kernel_coef " << _kernel_coef << " ";
+    if (_kernel_type_status   == SGTELIB::STATUS_OPTIM)
+      out << "    Kernel_type " << SGTELIB::kernel_type_to_str(_kernel_type) << " (" << _kernel_type << ") ";
+    if (_distance_type_status == SGTELIB::STATUS_OPTIM)
+      out << "    Distance_type " << SGTELIB::distance_type_to_str(_distance_type) << " (" << _distance_type << ") ";
+    if (_covariance_coef_status == SGTELIB::STATUS_OPTIM){
+      out << "    Covariance_coef [ ";
+      for (int j=0 ; j<_covariance_coef.get_nb_cols() ; j++){
+        out << _covariance_coef.get(0,j) << " ";
+      }
+      out << "]\n";
+    }
+    if (_weight_status == SGTELIB::STATUS_OPTIM){
+      out << "    Weight [ ";
+      for (int i=0 ; i<_weight.get_nb_rows() ; i++){
+        if (i>0) out << "                 ";
+        for (int j=0 ; j<_weight.get_nb_cols() ; j++){
+          out << _weight.get(i,j) << " ";
+        }
+        if (i==_weight.get_nb_rows()) out << " ]";
+        out << "\n";
+      }
+    }
+
+    out << "}\n";
+  
+}//
+
+
+/*----------------------------------------------*/
+/*  smoothness penalty for a set of parameters  */
+/*----------------------------------------------*/
+double SGTELIB::Surrogate_Parameters::get_x_penalty ( void ){
+  double pen = 0;
+  
+  if (_degree_status        == SGTELIB::STATUS_OPTIM) pen += _degree;
+  if (_ridge_status         == SGTELIB::STATUS_OPTIM) pen += log(_ridge); 
+  if (_kernel_coef_status   == SGTELIB::STATUS_OPTIM) pen += log(_kernel_coef);
+  if (_distance_type_status == SGTELIB::STATUS_OPTIM){
+    switch (_distance_type){
+      case DISTANCE_NORM2:
+        pen += 0;
+        break;
+      case DISTANCE_NORM1:
+      case DISTANCE_NORMINF:
+        pen += 1;
+        break;
+      case DISTANCE_NORM2_IS0:
+      case DISTANCE_NORM2_CAT:
+        pen += 10;
+        break;
+    }
+  }
+  if (_covariance_coef_status == SGTELIB::STATUS_OPTIM){
+    int v = _covariance_coef.get_nb_cols()/2;
+    int ip=0;
+    for (int i=0 ; i<v ; i++){ 
+      // Exponent (the larger, the smoother) 
+      pen -= _covariance_coef.get(ip++);
+      // Factor (the smaller, the smoother)
+      pen += log( _covariance_coef.get(ip++) );
+    }
+  }
+  if (_weight_status == SGTELIB::STATUS_OPTIM){
+    double wij;
+    for (int i=0 ; i<_weight.get_nb_rows() ; i++){
+      for (int j=0 ; j<_weight.get_nb_cols() ; j++){
+        wij = _weight.get(i,j);
+        pen += wij*wij;
+      }
+    }
+  }
+
+  if ( isinf(pen) ) pen=+INF;
+  if ( isnan(pen) ) pen=+INF;
+  return pen;
+}
+
+
+
+
+
+/*-------------------------------------------------*/
+/*  update the dimension of _covariance_parameter  */
+/*  for Kriging models                             */
+/*-------------------------------------------------*/
+void SGTELIB::Surrogate_Parameters::update_covariance_coef ( const int v ){
+
+  // Check the old dimension
+  const int v0 = _covariance_coef.get_nb_cols()/2;
+  if (v<v0) throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"v < v0" );
+  if (v0 == v) return;
+
+  // Filling values
+  double factor_mean = 0;
+  double exponent_mean = 0;
+
+  // First component is the noise. Then the exponent and factor for each dimension.
+  int k = 1;
+  for (int i=0 ; i<v0 ; i++){
+    exponent_mean += _covariance_coef[k++];
+    factor_mean   += _covariance_coef[k++];
+  }
+  exponent_mean /= v0;
+  factor_mean /= v0;
+
+  // Create additional columns
+  SGTELIB::Matrix Add("Add",1,2);
+  Add.set(0,0,exponent_mean);
+  Add.set(0,1,factor_mean);
+
+  // Add columns to _covariance_coef
+  for (int i=0 ; i<v-v0 ; i++) _covariance_coef.add_cols(Add);
+}//
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ext/sgtelib/src/Surrogate_Parameters.hpp b/ext/sgtelib/src/Surrogate_Parameters.hpp
new file mode 100644
index 0000000..a0d16eb
--- /dev/null
+++ b/ext/sgtelib/src/Surrogate_Parameters.hpp
@@ -0,0 +1,150 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#ifndef __SGTELIB_SURROGATE_PARAMETERS__
+#define __SGTELIB_SURROGATE_PARAMETERS__
+
+#include "Defines.hpp"
+#include "Kernel.hpp"
+#include <string>
+
+namespace SGTELIB {
+
+  /*--------------------------------------*/
+  /*         Surrogate_Parameters class        */
+  /*--------------------------------------*/
+  class Surrogate_Parameters  {
+
+  protected:
+
+    // Type of the model
+    const model_t _type;
+
+    // Degree
+    int _degree; 
+    SGTELIB::param_status_t _degree_status;
+    // Kernel type 
+    kernel_t _kernel_type;
+    SGTELIB::param_status_t _kernel_type_status;
+    // Kernel coef
+    double _kernel_coef;
+    SGTELIB::param_status_t _kernel_coef_status;
+    // Use ridge
+    double _ridge;
+    SGTELIB::param_status_t _ridge_status;
+    // Distance 
+    distance_t _distance_type;
+    SGTELIB::param_status_t _distance_type_status;
+    // Ensemble weights
+    SGTELIB::Matrix _weight; // Stores the weight values
+    weight_t _weight_type; // Indicate the method (WTA1, WTA2, WTA3, or OPTIM)
+    SGTELIB::param_status_t _weight_status;
+    // Kriging covariance coefficients
+    SGTELIB::Matrix _covariance_coef;
+    SGTELIB::param_status_t _covariance_coef_status;
+    // Metric used for weight calculation
+    metric_t _metric_type;
+    // Preset
+    std::string _preset;
+    // Output file
+    std::string _output;
+    // Optimization budget
+    int _budget;
+
+    // Nb of parameters that are optimized
+    int _nb_parameter_optimization;
+
+  public:
+
+    // Constructors
+    Surrogate_Parameters ( const model_t mt);
+    Surrogate_Parameters ( const std::string & s);
+    //Surrogate_Parameters ( const SGTELIB::Surrogate_Parameters & p );
+
+    // Defaults
+    void set_defaults (void);
+
+    // Read strings
+    bool authorized_field  (const std::string & field) const;
+    static bool authorized_optim  (const std::string & field);
+    void read_string (const std::string & model_description);
+    static SGTELIB::model_t read_model_type ( const std::string & model_description);
+    static std::string to_standard_field_name (const std::string field);
+
+    // Check    
+    void check (void);
+
+    // Get
+    model_t         get_type            (void) const {return _type;};
+    int             get_degree          (void) const {return _degree;};
+    kernel_t        get_kernel_type     (void) const {return _kernel_type;};
+    double          get_kernel_coef     (void) const {return _kernel_coef;};
+    double          get_ridge           (void) const {return _ridge;};
+    SGTELIB::Matrix get_weight          (void) const {return _weight;};
+    weight_t        get_weight_type     (void) const {return _weight_type;};
+    metric_t        get_metric_type     (void) const {return _metric_type;};
+    std::string     get_metric_type_str (void) const {return SGTELIB::metric_type_to_str(_metric_type);};
+    distance_t      get_distance_type   (void) const {return _distance_type;};
+    std::string     get_preset          (void) const {return _preset;};
+    std::string     get_output          (void) const {return _output;};
+    SGTELIB::Matrix get_covariance_coef (void) const {return _covariance_coef;};
+    int             get_budget          (void) const {return _budget;};
+    // Get the distance type (return OPTIM if the distance type has to be optimized).
+    std::string get_distance_type_str (void) const {
+      if (_distance_type_status==SGTELIB::STATUS_OPTIM) return "OPTIM";
+      else return SGTELIB::distance_type_to_str(_distance_type);
+    };
+
+
+    // Set
+    void set_kernel_coef     ( const double v          ) { _kernel_coef = v;      };
+    void set_weight_type     ( const weight_t wt       ) { _weight_type = wt;     };
+    void set_weight          ( const SGTELIB::Matrix W ) { _weight = W;           };
+    void update_covariance_coef ( const int nvar );
+    //void set_distance_type   ( distance_t dt ) { _distance_type = dt; };
+    //void set_degree          ( int d         ) { _degree = d;         };
+
+    // destructor:
+    virtual ~Surrogate_Parameters ( void );
+    std::string get_string(void) const;
+    std::string get_short_string(void) const;
+    void display ( std::ostream & out ) const;
+
+    // Information and optimization
+    SGTELIB::Matrix get_x ( void );
+    double get_x_penalty ( void );
+    bool check_x ( void );
+    void display_x ( std::ostream & out );
+    void set_x ( const SGTELIB::Matrix X );
+    void get_x_bounds ( SGTELIB::Matrix * LB ,
+                        SGTELIB::Matrix * UB ,
+                        SGTELIB::param_domain_t * domain,
+                        bool * logscale );
+    int get_nb_parameter_optimization (void) { return _nb_parameter_optimization; };
+
+  };
+}
+
+#endif
diff --git a/ext/sgtelib/src/Surrogate_RBF.cpp b/ext/sgtelib/src/Surrogate_RBF.cpp
new file mode 100644
index 0000000..16e7b3f
--- /dev/null
+++ b/ext/sgtelib/src/Surrogate_RBF.cpp
@@ -0,0 +1,303 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#include "Surrogate_RBF.hpp"
+
+
+/*----------------------------*/
+/*         constructor        */
+/*----------------------------*/
+SGTELIB::Surrogate_RBF::Surrogate_RBF ( SGTELIB::TrainingSet & trainingset,
+                                        SGTELIB::Surrogate_Parameters param) :
+  SGTELIB::Surrogate ( trainingset , param ),
+  _q                 ( -1                  ),
+  _qrbf              ( -1                  ),
+  _qprs              ( -1                  ),
+  _H                 ( "H",0,0             ),
+  _HtH               ( "HtH",0,0           ),
+  _HtZ               ( "HtZ",0,0           ),
+  _Ai                ( "Ai",0,0            ),
+  _Alpha             ( "alpha",0,0         ),
+  _selected_kernel   (1,-1                 ){
+  #ifdef SGTELIB_DEBUG
+    std::cout << "constructor RBF\n";
+  #endif
+}//
+
+/*----------------------------*/
+/*          destructor        */
+/*----------------------------*/
+SGTELIB::Surrogate_RBF::~Surrogate_RBF ( void ) {
+
+}//
+
+
+/*----------------------------*/
+/*          display           */
+/*----------------------------*/
+void SGTELIB::Surrogate_RBF::display_private ( std::ostream & out ) const {
+  out << "_q: " << _q << "\n";
+  out << "_qrbf: " << _qrbf << "\n";
+  out << "_qprs: " << _qprs << "\n";
+  out << "_kernel_coef: " << _param.get_kernel_coef() << "\n";
+  out << "_ridge: " << _param.get_ridge() << "\n";
+}//
+
+
+/*--------------------------------------*/
+/*             init_private            */
+/*--------------------------------------*/
+bool SGTELIB::Surrogate_RBF::init_private ( void ) {
+
+  #ifdef SGTELIB_DEBUG
+    std::cout << "Surrogate_RBF : init_private\n";
+  #endif
+
+  const int pvar = _trainingset.get_pvar();
+  if (pvar<3) return false;
+
+  // Check preset
+  const std::string preset = _param.get_preset();
+  const bool modeO = string_find(preset,"O") || string_find(preset,"0");
+  const bool modeR = string_find(preset,"R");
+  const bool modeI = string_find(preset,"I");
+  if (modeO+modeR+modeI!=1){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+    "RBF preset must contain either \"O\", \"R\" or \"I\", exclusively." );
+  }
+
+  if (modeI){
+    // Select Incomplete basis
+    const int nvar = _trainingset.get_nvar();
+    _qrbf = std::min(pvar/2,100*nvar);
+    if (_qrbf<3) return false;
+    _selected_kernel.clear();
+    _selected_kernel = _trainingset.select_greedy( get_matrix_Xs(),
+                                                   _trainingset.get_i_min(),
+                                                   _qrbf,
+                                                   1.0,
+                                                   _param.get_distance_type());
+  }
+  else{
+    _qrbf = _p;
+  }
+
+  // Number of PRS basis functions
+  if (modeO){
+    const int dmin = SGTELIB::kernel_dmin(_param.get_kernel_type());
+    if      (dmin==-1) _qprs = 0;
+    else if (dmin==0 ) _qprs = 1;
+    else if (dmin==1 ) _qprs = 1 + _trainingset.get_nvar(); 
+    else{
+      std::cout << "dmin = " << dmin << "\n";
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"dmin out of range." );
+    }
+  }
+  else{
+    // For modes R and I, use n+1 prs basis functions.
+    _qprs = 1 + _trainingset.get_nvar();
+  }
+
+  // Total number of basis function
+  _q = _qrbf + _qprs;
+ 
+  if ( (modeO) & (_q>pvar) ) return false;
+
+  return true;
+}//
+
+
+/*--------------------------------------*/
+/*               build                  */
+/*--------------------------------------*/
+bool SGTELIB::Surrogate_RBF::build_private ( void ) {
+
+  // The build primarily consists of computing alpha  
+
+  // Compute scaling distance for each training point
+  const SGTELIB::Matrix & Zs = get_matrix_Zs();
+
+  if ( string_find(_param.get_preset(),"O") ||  string_find(_param.get_preset(),"0") ){
+    // =========================================
+    // Solve with orthogonality constraints
+    // =========================================
+    // Build design matrix with constraints lines
+    _H = compute_design_matrix(get_matrix_Xs(),true); 
+    // Inverte matrix
+    _Ai = _H.lu_inverse();
+    // Product (only the p first rows of Ai)
+    _Alpha = SGTELIB::Matrix::subset_product(_Ai,Zs,-1,_p,-1);
+  }
+  else{
+    // =========================================
+    // Solve with ridge coefficient
+    // =========================================
+
+    // Build design matrix WITHOUT constraints lines
+    _H = compute_design_matrix(get_matrix_Xs(),false);
+    _HtH = SGTELIB::Matrix::transposeA_product(_H,_H);
+    _HtZ = SGTELIB::Matrix::transposeA_product(_H,get_matrix_Zs());
+    SGTELIB::Matrix A = _HtH;
+
+    const double r = _param.get_ridge();
+  
+    // Add regularization term
+    if ( string_find(_param.get_preset(),"1") ){
+      // Add ridge to all basis function
+      for (int i=0 ; i<_q ; i++) A.add(i,i,r);
+    }
+    else if ( string_find(_param.get_preset(),"2") ){
+      // Add ridge to all basis function except constant
+      for (int i=0 ; i<_q-1 ; i++) A.add(i,i,r);
+    }
+    else if ( string_find(_param.get_preset(),"3") ){
+      // Add ridge to all radial basis function
+      for (int i=0 ; i<_qrbf ; i++) A.add(i,i,r);
+    }
+    else {
+      // Add ridge to all radial basis function (Same as R3)
+      for (int i=0 ; i<_qrbf ; i++) A.add(i,i,r);
+    }
+    _Ai = A.cholesky_inverse();
+    _Alpha = _Ai*_HtZ;
+  }
+
+  // Check for Nan  
+  if (_Alpha.has_nan()){
+    return false;
+  }
+
+  _ready = true;
+  return true;    
+  
+}//
+
+
+
+
+
+/*--------------------------------------*/
+/*         Compute Design matrix        */
+/*--------------------------------------*/
+const SGTELIB::Matrix SGTELIB::Surrogate_RBF::compute_design_matrix ( const SGTELIB::Matrix & XXs , const bool constraints ) {
+
+  // Xs can be, either the training set, to build the model, or prediction points.
+  // To build the model, we need the orthogonality constraints, so the 2nd arg is going to be true.
+  // For prediction, constraints = false.
+
+  const int pxx = XXs.get_nb_rows();
+
+  // Get the distance from each input point XXs to each kernel
+  SGTELIB::Matrix H = _trainingset.get_distances(XXs,get_matrix_Xs().get_rows(_selected_kernel),_param.get_distance_type());
+  // Apply kernel values
+  /*
+  for ( int i=0 ; i<_qrbf ; i++ ){
+    H.set_col(kernel(_param.get_kernel_type(),_kernel_coef,H.get_col(i)),i);
+  }
+  */
+  H = kernel(_param.get_kernel_type(),_param.get_kernel_coef(),H);
+
+  // If there are some PRS basis functions
+  if (_qprs>0){
+
+    // Build the matrix that contains linear terms and the constant
+    SGTELIB::Matrix L ("L",pxx,_qprs);
+    int k = 0;
+
+    // First columns are the linear terms
+    if (_qprs>1){
+      for ( int j=0 ; j<_n ; j++){
+        if (_trainingset.get_X_nbdiff(j)>1){
+          L.set_col ( XXs.get_col(j) , k++ );
+        }
+      } 
+    }
+
+    // Last column is the constant term
+    L.set_col( 1.0 , k );
+
+    // Concatenate with the RBF terms
+    H.add_cols(L);
+
+    if (constraints){
+      // The constraints are the transpose of L
+      L = L.transpose();
+      // And we add some zeros for the right bottom part of the matrix
+      L.add_cols(_qprs);
+      // We add this to the design matrix
+      H.add_rows(L);
+    }
+  
+  }
+
+  return H;
+}//
+
+
+
+
+/*--------------------------------------*/
+/*       predict (ZZs only)             */
+/*--------------------------------------*/
+void SGTELIB::Surrogate_RBF::predict_private ( const SGTELIB::Matrix & XXs,
+                                                     SGTELIB::Matrix * ZZs) {
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+  *ZZs = compute_design_matrix(XXs,false) * _Alpha;
+}//
+
+/*--------------------------------------*/
+/*       get matrix Zvs                 */
+/*--------------------------------------*/
+const SGTELIB::Matrix * SGTELIB::Surrogate_RBF::get_matrix_Zvs (void){
+  check_ready(__FILE__,__FUNCTION__,__LINE__);
+  if ( ! _Zvs){
+
+    // Init _Zvs
+    _Zvs = new SGTELIB::Matrix;
+    const SGTELIB::Matrix & Zs = get_matrix_Zs();
+
+    if ( string_find(_param.get_preset(),"O") ){
+      //============================================
+      // ORTHOGONALITY CONSTRAINTS
+      //============================================
+      SGTELIB::Matrix dAiAlpha = SGTELIB::Matrix::diagA_product(_Ai.diag_inverse(),_Alpha);
+      dAiAlpha.remove_rows(_qprs);
+      *_Zvs = Zs-dAiAlpha;
+    }
+    else{
+      //SGTELIB::Matrix dPiPZs    = SGTELIB::Matrix::get_matrix_dPiPZs(_Ai,_H,Zs);
+      SGTELIB::Matrix dPiPZs = SGTELIB::Matrix::get_matrix_dPiPZs(_Ai,_H,Zs,_Alpha);
+    
+      // dPi is the inverse of the diag of P 
+      // Compute _Zv = Zs - dPi*P*Zs
+      *_Zvs = Zs - dPiPZs;
+    }
+
+    _Zvs->replace_nan(+INF);
+    _Zvs->set_name("Zvs");
+
+  }
+  return _Zvs;
+}//
diff --git a/ext/sgtelib/src/Surrogate_RBF.hpp b/ext/sgtelib/src/Surrogate_RBF.hpp
new file mode 100644
index 0000000..5eb8716
--- /dev/null
+++ b/ext/sgtelib/src/Surrogate_RBF.hpp
@@ -0,0 +1,107 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#ifndef __SGTELIB_SURROGATE_RBF__
+#define __SGTELIB_SURROGATE_RBF__
+
+#include "Surrogate.hpp"
+
+namespace SGTELIB {
+
+  /*--------------------------------------*/
+  /*         Surrogate_RBF class        */
+  /*--------------------------------------*/
+  class Surrogate_RBF : public SGTELIB::Surrogate {
+
+    /*--------------------------------------------------------*/
+    /*  these members are defined in the Surrogate superclass */
+    /*--------------------------------------------------------*/
+    // int _p; // number of data points in X and Z
+    // int _n; // dimension -- number of variables
+    // int _m; // number of outputs (includes the objective)
+
+  private:
+
+    /*--------------------------------------*/
+    /*          Attributes                  */
+    /*--------------------------------------*/
+    int _q; // Nb of basis function
+    int _qrbf; // Nb of RBF basis function
+    int _qprs; // Nb of PRS basis function
+    SGTELIB::Matrix _H; // Design matrix
+    SGTELIB::Matrix _HtH; // H'*H
+    SGTELIB::Matrix _HtZ; // H'*Z
+    SGTELIB::Matrix _Ai; // inverse of H or Ht*H+r*J
+    SGTELIB::Matrix _Alpha; // Coefficients
+
+    std::list<int> _selected_kernel;
+
+
+    /*--------------------------------------*/
+    /*          Building methods            */
+    /*--------------------------------------*/
+    const SGTELIB::Matrix compute_design_matrix ( const SGTELIB::Matrix & XXs , const bool constraints ); 
+
+    /*--------------------------------------*/
+    /*          Build model                 */
+    /*--------------------------------------*/
+    bool select_kernels ( void ); 
+    virtual bool build_private (void);
+    virtual bool init_private  (void);
+    //SGTELIB::Matrix get_bumpiness (void);
+
+    /*--------------------------------------*/
+    /*          predict                     */
+    /*--------------------------------------*/ 
+    virtual void predict_private ( const SGTELIB::Matrix & XXs,
+                                         SGTELIB::Matrix * ZZs); 
+
+    /*--------------------------------------*/
+    /*          Compute matrices            */
+    /*--------------------------------------*/
+    virtual const SGTELIB::Matrix * get_matrix_Zvs (void);
+
+  public:
+
+    /*--------------------------------------*/
+    /*          Constructor                 */
+    /*--------------------------------------*/
+    Surrogate_RBF ( SGTELIB::TrainingSet & trainingset ,   
+                     SGTELIB::Surrogate_Parameters param) ;
+
+    /*--------------------------------------*/
+    /*          Destructor                  */
+    /*--------------------------------------*/
+    virtual ~Surrogate_RBF ( void );
+
+    /*--------------------------------------*/
+    /*          Misc                        */
+    /*--------------------------------------*/
+    virtual void display_private ( std::ostream & out ) const;
+
+  };
+}
+
+#endif
diff --git a/ext/sgtelib/src/Surrogate_Utils.cpp b/ext/sgtelib/src/Surrogate_Utils.cpp
new file mode 100644
index 0000000..01d4b1b
--- /dev/null
+++ b/ext/sgtelib/src/Surrogate_Utils.cpp
@@ -0,0 +1,735 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#include "Surrogate_Utils.hpp"
+
+/*-------------------------------*/
+/*     string comparison         */
+/*-------------------------------*/
+bool SGTELIB::streq  ( const std::string & s1 , const std::string & s2 ){
+  return !std::strcmp(s1.c_str(),s2.c_str()); 
+}//
+
+bool SGTELIB::streqi ( const std::string & s1 , const std::string & s2 ){
+  const std::string s1u = SGTELIB::toupper(s1);
+  const std::string s2u = SGTELIB::toupper(s2);
+  return !std::strcmp(SGTELIB::toupper(s1).c_str(),s2u.c_str()); 
+}//
+
+// Check if s is in S.
+bool SGTELIB::string_find ( const std::string & S , const std::string & s ){
+  const std::string Su = SGTELIB::toupper(S);
+  const std::string su = SGTELIB::toupper(s);
+  return ( Su.find(su) < Su.size() );
+}//
+/*
+bool SGTELIB::issubstring (const std::string S , const std::string s){
+  return result = (S.find(s) != std::string::npos);
+}
+*/
+
+/*-------------------------------*/
+/*      deblank                  */
+/*-------------------------------*/
+std::string SGTELIB::deblank ( const std::string & s_input ){
+  std::string s = s_input;
+  // Remove leading spaces
+  while ( (s.length()) && (s.at(0)==' ') ){
+    s.erase(0,1);
+  }
+  // Remove trailing spaces
+  size_t i = s.length();
+  while ( (i>0) && (s.at(i-1)==' ') ) {
+    s.erase(i-1,1);
+    i--;
+  }  
+  // Remove double spaces
+  i=1;
+  while (i+2<s.length()){
+    if ( (s.at(i)==' ') && (s.at(i+1)==' ') ){
+      s.erase(i,1);
+    }
+    else{
+      i++;
+    }
+  }
+  return s;
+}//
+
+
+
+
+/*-------------------------------*/
+/*  test if a file is existing   */
+/*-------------------------------*/
+bool SGTELIB::exists (const std::string & file) {
+  struct stat buffer;   
+  return (stat (file.c_str(), &buffer) == 0); 
+}//
+
+
+/*-------------------------------*/
+/* count_words                  */
+/*-------------------------------*/
+int SGTELIB::count_words( const std::string & s ) {
+    int word_count( 0 );
+    std::stringstream ss( s );
+    std::string word;
+    while( ss >> word ) ++word_count;
+    return word_count;
+}//
+
+
+/*-------------------------------*/
+/* add string on a new line of   */
+/*           an existing files   */
+/*-------------------------------*/
+void SGTELIB::append_file (const std::string & s , const std::string & file){
+  std::string dummy_str;
+  std::string cmd;
+  if ( ! SGTELIB::exists(file)){
+    cmd = "touch "+ file;
+    dummy_str = system( cmd.c_str() );
+  }
+  cmd = "echo "+s+" >> "+file;
+  //std::cout << "cmd : " << cmd << "\n";
+  dummy_str = system( cmd.c_str() );
+}//
+
+
+/*-------------------------------*/
+/*  wait                         */
+/*-------------------------------*/
+void SGTELIB::wait (double t) {
+  // t is a number of seconds
+#ifdef _MSC_VER
+//    Sleep(t*1000000.0);
+#else
+   usleep(t*1000000.0);
+#endif
+}//
+
+
+
+/*-------------------------------*/
+/*  isdef (not nan nor inf)     */
+/*-------------------------------*/
+bool SGTELIB::isdef ( const double x ) {
+  if ( isnan(x) ) return false;
+  if ( isinf(x) ) return false;
+  if ( fabs(x)>=SGTELIB::INF) return false;
+  if ( fabs(x)>=1e+16){
+    return false;
+  }
+  return true;
+}
+
+
+
+/*-------------------------------*/
+/*  distance between two points  */
+/*-------------------------------*/
+double SGTELIB::dist ( const double * x , const double * y , int n ) {
+  double s = 0.0;
+  double d = 0;
+  for ( int i = 0 ; i < n ; ++i )
+    d = x[i]-y[i];
+    s += d*d;
+  return sqrt(s);
+}
+
+/*------------------*/
+/*  relative error  */
+/*------------------*/
+double SGTELIB::rel_err ( double x , double y ) {
+  if ( x*y < 0.0 )
+    return 1.0;
+  if ( x*y == 0.0 )
+    return fabs(x-y);
+  double max = fabs(x);
+  if ( fabs(y) > max )
+    max = fabs(y);
+  return ( fabs ( x-y ) / max );
+}
+
+/*---------------------------------*/
+int SGTELIB::round ( double d ) {
+/*---------------------------------*/
+  return static_cast<int>(d < 0.0 ? -floor(.5-d) : floor(.5+d));
+}
+
+/*------------------------------------------*/
+std::string SGTELIB::itos ( int i ) {
+/*------------------------------------------*/
+  std::ostringstream oss;
+  oss << i;
+  return oss.str();
+}//
+
+/*------------------------------------------*/
+std::string SGTELIB::dtos (double d ) {
+/*------------------------------------------*/
+  std::ostringstream oss;
+  oss << d;
+  return oss.str();
+}//
+
+/*------------------------------------------*/
+std::string SGTELIB::btos (bool b ) {
+/*------------------------------------------*/
+  if (b) return "True";
+  else   return "False";
+}//
+
+/*------------------------------------------*/
+double SGTELIB::stod ( const std::string & s ){
+/*------------------------------------------*/
+  double d = atof(s.c_str()); 
+  return d;
+}//
+
+/*------------------------------------------*/
+int SGTELIB::stoi ( const std::string & s ){
+/*------------------------------------------*/
+  int d = atoi(s.c_str()); 
+  return d;
+}//
+
+/*----------------------------------------------------------*/
+bool SGTELIB::stob ( const std::string & s ) {
+/*----------------------------------------------------------*/
+  std::string ss = toupper(s);
+  if ( ss=="TRUE" ) return true;
+  if ( ss=="FALSE") return false;
+  if ( ss=="YES"  ) return true;
+  if ( ss=="NO"   ) return false;
+  if ( ss=="1"    ) return true;
+  if ( ss=="0"    ) return false;
+  throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Unrecognised string \""+s+"\" ( "+ss+" )" );
+}//
+
+/*------------------------------------------*/
+bool SGTELIB::isdigit ( const std::string & s ){
+/*------------------------------------------*/
+  std::string::const_iterator it = s.begin();
+  char c;
+  while (it != s.end()){
+    c = *it;
+    if ( ! ( ( isdigit(std::string(1,c))) || (c=='+') || (c=='-') || (c=='.') ) ){
+      return false;
+    }
+    it++;
+  }
+  return true;
+}//
+
+
+
+
+/*-----------------------------------------------------------------*/
+/*                         NOMAD::toupper - 1/2                    */
+/*-----------------------------------------------------------------*/
+std::string SGTELIB::toupper ( const std::string & s )
+{
+  std::string s2(s);
+  size_t ns = s2.size();
+  for ( size_t i = 0 ; i < ns ; ++i )
+    s2[i] = std::toupper(s2[i]);
+  return s2;
+}//
+
+
+/*----------------------------------------------------------*/
+std::string SGTELIB::model_output_to_str ( const SGTELIB::model_output_t ot ) {
+/*----------------------------------------------------------*/
+  switch ( ot ) {
+  case SGTELIB::NORMAL_OUTPUT: return "normal";
+  case SGTELIB::FIXED_OUTPUT : return "fixed";
+  case SGTELIB::BINARY_OUTPUT: return "binary";
+  default:
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Undefined type" );
+  }
+}//
+
+/*----------------------------------------------------------*/
+std::string SGTELIB::model_type_to_str ( const SGTELIB::model_t t ) {
+/*----------------------------------------------------------*/
+  switch ( t ) {
+  case SGTELIB::LINEAR   : return "LINEAR";
+  case SGTELIB::TGP      : return "TGP";
+  case SGTELIB::DYNATREE : return "DYNATREE";
+  case SGTELIB::KS       : return "KS";
+  case SGTELIB::CN       : return "CN";
+  case SGTELIB::PRS      : return "PRS";
+  case SGTELIB::PRS_EDGE : return "PRS_EDGE";
+  case SGTELIB::PRS_CAT  : return "PRS_CAT";
+  case SGTELIB::RBF      : return "RBF";
+  case SGTELIB::KRIGING  : return "KRIGING";
+  case SGTELIB::SVN      : return "SVN";
+  case SGTELIB::LOWESS   : return "LOWESS";
+  case SGTELIB::ENSEMBLE : return "ENSEMBLE";
+  default:
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Undefined type" );
+  }
+}//
+
+/*----------------------------------------------------------*/
+std::string SGTELIB::distance_type_to_str ( const SGTELIB::distance_t t ) {
+/*----------------------------------------------------------*/
+  switch ( t ) {
+    case SGTELIB::DISTANCE_NORM2      : return "NORM2";
+    case SGTELIB::DISTANCE_NORM1      : return "NORM1";
+    case SGTELIB::DISTANCE_NORMINF    : return "NORMINF";
+    case SGTELIB::DISTANCE_NORM2_IS0  : return "NORM2_IS0";
+    case SGTELIB::DISTANCE_NORM2_CAT  : return "NORM2_CAT";
+    default:
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Undefined type" );
+  }
+}//
+
+
+/*----------------------------------------------------------*/
+std::string SGTELIB::weight_type_to_str ( const SGTELIB::weight_t cb ) {
+/*----------------------------------------------------------*/
+  switch (cb){
+    case SGTELIB::WEIGHT_SELECT : return "SELECT";
+    case SGTELIB::WEIGHT_OPTIM  : return "OPTIM" ;
+    case SGTELIB::WEIGHT_WTA1   : return "WTA1"  ;
+    case SGTELIB::WEIGHT_WTA3   : return "WTA3"  ;
+    case SGTELIB::WEIGHT_EXTERN : return "EXTERN";
+    default :
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Undefined type" );
+  }
+}//
+
+/*----------------------------------------------------------*/
+std::string SGTELIB::metric_type_to_str ( const SGTELIB::metric_t mt ) {
+/*----------------------------------------------------------*/
+  switch (mt){
+    case SGTELIB::METRIC_EMAX   : return "EMAX"   ;
+    case SGTELIB::METRIC_EMAXCV : return "EMAXCV" ;
+    case SGTELIB::METRIC_RMSE   : return "RMSE"   ;
+    case SGTELIB::METRIC_RMSECV : return "RMSECV" ;
+    case SGTELIB::METRIC_ARMSE  : return "ARMSE"  ;
+    case SGTELIB::METRIC_ARMSECV: return "ARMSECV";
+    case SGTELIB::METRIC_OE     : return "OE"     ; 
+    case SGTELIB::METRIC_OECV   : return "OECV"   ; 
+    case SGTELIB::METRIC_AOE    : return "AOE"    ;
+    case SGTELIB::METRIC_AOECV  : return "AOECV"  ;
+    case SGTELIB::METRIC_EFIOE  : return "EFIOE"    ;
+    case SGTELIB::METRIC_EFIOECV: return "EFIOECV"  ;
+    case SGTELIB::METRIC_LINV   : return "LINV"   ;
+    default:
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Undefined metric" );
+  }
+}//
+
+
+/*----------------------------------------------------------*/
+bool SGTELIB::metric_multiple_obj ( const SGTELIB::metric_t mt ) {
+/*----------------------------------------------------------*/
+  switch (mt){
+    case SGTELIB::METRIC_EMAX   : 
+    case SGTELIB::METRIC_EMAXCV : 
+    case SGTELIB::METRIC_RMSE   : 
+    case SGTELIB::METRIC_RMSECV : 
+    case SGTELIB::METRIC_OE     : 
+    case SGTELIB::METRIC_OECV   : 
+    case SGTELIB::METRIC_LINV   : 
+      return true;
+    case SGTELIB::METRIC_ARMSE  : 
+    case SGTELIB::METRIC_ARMSECV: 
+    case SGTELIB::METRIC_AOE    : 
+    case SGTELIB::METRIC_AOECV  : 
+    case SGTELIB::METRIC_EFIOE    : 
+    case SGTELIB::METRIC_EFIOECV  : 
+      return false;
+    default:
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Undefined metric" );
+  }
+}//
+
+/*----------------------------------------------------------*/
+SGTELIB::metric_t SGTELIB::metric_convert_single_obj ( const SGTELIB::metric_t mt ) {
+/*----------------------------------------------------------*/
+  switch (mt){
+    // Metric that do not have a "Single obj" equivalent
+    case SGTELIB::METRIC_EMAX   : 
+    case SGTELIB::METRIC_EMAXCV : 
+    case SGTELIB::METRIC_LINV   : 
+      std::cout << "The metric " << SGTELIB::metric_type_to_str(mt) << "is not supported for this type of model\n";
+      std::cout << "AOECV metric will be used.\n";
+      return SGTELIB::METRIC_AOECV;
+    // Metric that have a "single obj" equivalent
+    case SGTELIB::METRIC_RMSE   : 
+      return SGTELIB::METRIC_ARMSE;
+    case SGTELIB::METRIC_RMSECV : 
+      return SGTELIB::METRIC_ARMSECV;
+    case SGTELIB::METRIC_OE     : 
+      return SGTELIB::METRIC_AOE;
+    case SGTELIB::METRIC_OECV   : 
+      return SGTELIB::METRIC_AOECV;
+    // Metric that are "single obj"
+    case SGTELIB::METRIC_ARMSE  : 
+    case SGTELIB::METRIC_ARMSECV: 
+    case SGTELIB::METRIC_AOE    : 
+    case SGTELIB::METRIC_AOECV  : 
+    case SGTELIB::METRIC_EFIOE    : 
+    case SGTELIB::METRIC_EFIOECV  : 
+      return mt;
+    default:
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Undefined metric" );
+  }
+}//
+
+
+
+/*----------------------------------------------------------*/
+std::string SGTELIB::bbo_type_to_str ( SGTELIB::bbo_t bbot ) {
+/*----------------------------------------------------------*/
+  switch ( bbot ) {
+    case SGTELIB::BBO_OBJ: return "OBJ";
+    case SGTELIB::BBO_CON: return "CON";
+    case SGTELIB::BBO_DUM: return "DUM";
+    default:
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Undefined type" );
+  }
+}//
+
+/*----------------------------------------------------------*/
+SGTELIB::model_t SGTELIB::str_to_model_type ( const std::string & s ) {
+/*----------------------------------------------------------*/
+  std::string ss = SGTELIB::toupper(s);
+  if ( ss=="LINEAR"         ){ return SGTELIB::LINEAR; }
+  if ( ss=="TGP"            ){ return SGTELIB::TGP; }
+  if ( ss=="DYNATREE"       ){ return SGTELIB::DYNATREE; }
+  if ( ss=="KS"             ){ return SGTELIB::KS; }
+  if ( ss=="CN"             ){ return SGTELIB::CN; }
+  if ( ss=="PRS"            ){ return SGTELIB::PRS; }
+  if ( ss=="PRS_EDGE"       ){ return SGTELIB::PRS_EDGE; }
+  if ( ss=="PRS_CAT"        ){ return SGTELIB::PRS_CAT; }
+  if ( ss=="RBF"            ){ return SGTELIB::RBF; }
+  if ( ss=="KRIGING"        ){ return SGTELIB::KRIGING; }
+  if ( ss=="SVN"            ){ return SGTELIB::SVN; }
+  if ( ss=="LWR"            ){ return SGTELIB::LOWESS; }
+  if ( ss=="LOWESS"         ){ return SGTELIB::LOWESS; }
+  if ( ss=="ENSEMBLE"       ){ return SGTELIB::ENSEMBLE; }
+  throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Unrecognised string \""+s+"\" ( "+ss+" )" );
+}//
+
+/*----------------------------------------------------------*/
+SGTELIB::weight_t SGTELIB::str_to_weight_type ( const std::string & s ) {
+/*----------------------------------------------------------*/
+  std::string ss = SGTELIB::toupper(s);
+  if ( ss=="SELECT" ){ return SGTELIB::WEIGHT_SELECT;}
+  if ( ss=="OPTIM"  ){ return SGTELIB::WEIGHT_OPTIM; }
+  if ( ss=="WTA1"   ){ return SGTELIB::WEIGHT_WTA1;  }
+  if ( ss=="WTA3"   ){ return SGTELIB::WEIGHT_WTA3;  }
+  if ( ss=="EXTERN" ){ return SGTELIB::WEIGHT_EXTERN;}
+  throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Unrecognised string \""+s+"\" ( "+ss+" )" );
+}//
+
+/*----------------------------------------------------------*/
+SGTELIB::distance_t SGTELIB::str_to_distance_type ( const std::string & s ) {
+/*----------------------------------------------------------*/
+  std::string ss = SGTELIB::toupper(s);
+  if ( ss=="NORM2"    ){ return SGTELIB::DISTANCE_NORM2; }
+  if ( ss=="NORM1"    ){ return SGTELIB::DISTANCE_NORM1; }
+  if ( ss=="NORMINF"  ){ return SGTELIB::DISTANCE_NORMINF; }
+
+  if ( ss=="ISO"      ){ return SGTELIB::DISTANCE_NORM2_IS0; }
+  if ( ss=="IS0"      ){ return SGTELIB::DISTANCE_NORM2_IS0; }
+  if ( ss=="NORM2_ISO"){ return SGTELIB::DISTANCE_NORM2_IS0; }
+  if ( ss=="NORM2_IS0"){ return SGTELIB::DISTANCE_NORM2_IS0; }
+
+  if ( ss=="CAT"      ){ return SGTELIB::DISTANCE_NORM2_CAT; }
+  if ( ss=="NORM2_CAT"){ return SGTELIB::DISTANCE_NORM2_CAT; }
+  throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Unrecognised string \""+s+"\" ( "+ss+" )" );
+}//
+
+/*----------------------------------------------------------*/
+SGTELIB::distance_t SGTELIB::int_to_distance_type ( const int i ) {
+/*----------------------------------------------------------*/
+  if ( (i<0) || (i>=SGTELIB::NB_DISTANCE_TYPES) ){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+      "int_to_distance_type: invalid integer "+itos(i) );
+  }
+  switch ( i ){
+    case 0: return SGTELIB::DISTANCE_NORM2; 
+    case 1: return SGTELIB::DISTANCE_NORM1; 
+    case 2: return SGTELIB::DISTANCE_NORMINF; 
+    case 3: return SGTELIB::DISTANCE_NORM2_IS0; 
+    case 4: return SGTELIB::DISTANCE_NORM2_CAT; 
+    default:
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+        "int_to_kernel_type: invalid integer "+itos(i) );
+  }
+}//
+
+/*----------------------------------------------------------*/
+SGTELIB::metric_t SGTELIB::str_to_metric_type ( const std::string & s ) {
+/*----------------------------------------------------------*/
+  std::string ss = SGTELIB::toupper(s);
+  if ( ss=="EMAX"   ){ return SGTELIB::METRIC_EMAX    ;}
+  if ( ss=="EMAXCV" ){ return SGTELIB::METRIC_EMAXCV  ;}
+  if ( ss=="RMSE"   ){ return SGTELIB::METRIC_RMSE    ;}
+  if ( ss=="RMSECV" ){ return SGTELIB::METRIC_RMSECV  ;}
+  if ( ss=="PRESS"  ){ return SGTELIB::METRIC_RMSECV  ;}
+  if ( ss=="ARMSE"  ){ return SGTELIB::METRIC_ARMSE   ;}
+  if ( ss=="ARMSECV"){ return SGTELIB::METRIC_ARMSECV ;}
+  if ( ss=="OE"     ){ return SGTELIB::METRIC_OE      ;}
+  if ( ss=="OECV"   ){ return SGTELIB::METRIC_OECV    ;}
+  if ( ss=="AOE"    ){ return SGTELIB::METRIC_AOE     ;}
+  if ( ss=="AOECV"  ){ return SGTELIB::METRIC_AOECV   ;}
+  if ( ss=="EFIOE"    ){ return SGTELIB::METRIC_EFIOE ;}
+  if ( ss=="EFIOECV"  ){ return SGTELIB::METRIC_EFIOECV;}
+  if ( ss=="LINV"   ){ return SGTELIB::METRIC_LINV    ;}
+  throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"Unrecognised string \""+s+"\" ( "+ss+" )" );
+}//
+
+
+
+/*----------------------------------------------*/
+/*       Same sign                              */
+/*----------------------------------------------*/
+bool SGTELIB::same_sign (const double a, const double b) {
+  return ( (a*b>0) || ( (fabs(a)<EPSILON) && (fabs(b)<EPSILON) ) );
+}//
+
+
+/*----------------------------------------*/
+/*  Compute CUMULATIVE Density Function   */
+/*  (Centered & Normalized Gaussian law)  */
+/*----------------------------------------*/
+double SGTELIB::normcdf ( double x ) {
+  double t , t2 , v , Phi;
+  if (fabs(x)<EPSILON){
+    Phi = 0.5;
+  }
+  else{
+    t = 1.0 / ( 1.0 + 0.2316419 * fabs(x) );
+    t2 = t*t;
+    v = exp(-x*x/2.0)*t*(0.319381530-0.356563782*t+1.781477937*t2-1.821255978*t*t2+1.330274429*t2*t2)/2.506628274631;
+    Phi = (x<0.0)?v:1.0-v;
+  }
+  return Phi;
+}//
+
+/*----------------------------------------*/
+/*  Compute CUMULATIVE Density Function   */
+/*  (Gaussian law)                        */
+/*----------------------------------------*/
+double SGTELIB::normcdf ( double x , double mu , double sigma ) {
+  if (sigma<-EPSILON){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+             "Surrogate_Utils::normpdf: sigma is <0" );
+  } 
+  // Apply lower bound to sigma
+  if (APPROX_CDF){
+    sigma = std::max(sigma,EPSILON);
+  }
+  // Compute CDF
+  if (sigma<EPSILON){
+    // The cdf is an Heavyside function
+    return (x>mu)?1.0:0.0;
+  }
+  else{
+    // Normal case
+    return normcdf( (x-mu)/sigma );
+  }
+}//
+
+
+/*----------------------------------------*/
+/*  Compute PROBABILITY Density Function  */
+/*  (Centered & Normalized Gaussian law)  */
+/*----------------------------------------*/
+double SGTELIB::normpdf ( double x ) {
+  return 0.398942280401*exp(-0.5*x*x);
+}//
+
+/*----------------------------------------*/
+/*  Compute PROBABILITY Density Function  */
+/*  (Gaussian law)                        */
+/*----------------------------------------*/
+double SGTELIB::normpdf ( double x , double mu , double sigma ) {
+  if (sigma<EPSILON){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+             "Surrogate_Utils::normpdf: sigma is NULL" );
+  } 
+  return normpdf( (x-mu)/sigma )/sigma;
+}//
+
+/*----------------------------------------*/
+/*  Compute EI (expected improvement)     */
+/*  (Gaussian law)                        */
+/*----------------------------------------*/
+double SGTELIB::normei ( double fh , double sh , double f_min ) {
+  if (sh<-EPSILON){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+             "Surrogate_Utils::normei: sigma is <0" );
+  } 
+  // Apply lower bound to sigma
+  if (APPROX_CDF){
+    sh = std::max(sh,EPSILON);
+  }
+  if (sh<EPSILON){
+    // If there is no uncertainty, then:
+    //    - fh<f_min => EI = f_min-fh
+    //    - fh>f_min => EI = 0
+    return (fh<f_min)?(f_min-fh):0;
+  }
+  else{
+    // Normal case
+    double d = (f_min-fh)/sh;
+    return (f_min-fh)*normcdf(d) + sh*normpdf(d);
+  }
+}//
+
+/*----------------------------------------*/
+/*  CDF of gamma distribution             */
+/*----------------------------------------*/
+double SGTELIB::gammacdf(double x, double a, double b){
+  // a : shape coef
+  // b : scale coef
+  if ( (a<=0) || (b<=0) ){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+             "Surrogate_Utils::gammacdf: a or b is <0" );
+  }  
+  if (x<EPSILON) return 0.0;
+
+  return lower_incomplete_gamma(x/b,a);
+}//
+
+/*----------------------------------------*/
+/*  Inverse CDF of gamma distribution             */
+/*----------------------------------------*/
+double SGTELIB::gammacdfinv(double f, double a, double b){
+  // a : shape coef
+  // b : scale coef
+  if ( (a<=0) || (b<=0) ){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+             "Surrogate_Utils::gammacdfinv: a or b is <0" );
+  }  
+  if ( (f<0) || (f>1) ){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+             "Surrogate_Utils::gammacdfinv: f<0 or f>1" );
+  }  
+  if (f==1.0) return INF;
+  if (f==0.0) return 0;
+
+  //std::cout << "f,a,b : " << f << " " << a << " " << b << "\n";
+
+  double xmin = 0;
+  double xmax = 1;
+  double xtry;
+  // Extend upper bound
+int k = 0;
+  while (SGTELIB::gammacdf(xmax,a,b)<f){
+    xmin = xmax;
+    xmax*=2.0;
+    //std::cout << "up " << xmax << " " << a << " " << b << " " <<  SGTELIB::gammacdf(xmax,a,b) << "\n";
+    k++;
+    if (k>10) break;
+  }
+
+  while (xmax-xmin>10000*EPSILON){
+    xtry = (xmin+xmax)/2.0;
+    if (SGTELIB::gammacdf(xtry,a,b)>f) xmax = xtry;
+    else xmin = xtry;
+    //std::cout << "dichotomie : " << xtry << "\n";
+  }
+  return (xmin+xmax)/2.0;
+}//
+
+/*----------------------------------------*/
+/*  lower incomplete gamma function       */
+/*----------------------------------------*/
+//  See:
+//  Milton Abramowitz, Irene Stegun,Handbook of Mathematical Functions, National Bureau of Standards, 1964.
+//  Stephen Wolfram, The Mathematica Book,Fourth Edition,Cambridge University Press, 1999.
+double SGTELIB::lower_incomplete_gamma ( const double x, double p ){
+  // Special cases
+  if ( ( x < EPSILON ) || ( p < EPSILON ) ) return 0;
+
+#ifdef _MSC_VER
+#if ( _MSC_VER <= 1600 )
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+                                "Surrogate_Utils:: lgamma function not supported with VisualStudio 2010 or lower " );
+#define _LGAMMA_GUARD
+#endif
+#endif
+  double f=0;
+#ifndef _LGAMMA_GUARD
+  f = exp( p * log ( x ) - lgamma ( p + 1.0 ) - x );
+#endif
+  double dv = 1.0, v = 1.0;
+  while (dv > v/1e+9) {
+    dv *= x / (++p);
+    v += dv;
+  }
+  return v*f;
+    
+}//
+
+/*----------------------------------------*/
+/*  difference between two timeval, in ms */
+/*----------------------------------------*/
+int SGTELIB::diff_ms(timeval t1, timeval t2){
+  return static_cast<int>((((t1.tv_sec - t2.tv_sec) * 1000000) + (t1.tv_usec - t2.tv_usec +500))/1000);
+}//
+
+/*----------------------------------------*/
+/*  uniform rand generator               */
+/*----------------------------------------*/
+double SGTELIB::uniform_rand (void){
+  return double(rand() / double(INT_MAX));
+}//
+
+/*----------------------------------------*/
+/*  quick gaussian random generator       */
+/*----------------------------------------*/
+double SGTELIB::quick_norm_rand (void){
+  const int N = 24;
+  double d = 0;
+  for (int i=1 ; i<N ; i++) d+= uniform_rand();
+  d -= double(N)/2.0;
+  d *= sqrt(12.0/double(N));
+  return d;
+}//
+
+/*----------------------------------------*/
+/*  relative ceil                         */
+/*----------------------------------------*/
+double SGTELIB::rceil (double d){
+  if (d>0) return std::ceil(d);
+  else if (d<0) return std::floor(d);
+  else return 0.0;
+}//
+
+
+
+
+
diff --git a/ext/sgtelib/src/Surrogate_Utils.hpp b/ext/sgtelib/src/Surrogate_Utils.hpp
new file mode 100644
index 0000000..4cbeb3f
--- /dev/null
+++ b/ext/sgtelib/src/Surrogate_Utils.hpp
@@ -0,0 +1,210 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#ifndef __SGTELIB_SURROGATE_UTILS__
+#define __SGTELIB_SURROGATE_UTILS__
+
+#include "Defines.hpp"
+#include "Exception.hpp"
+#include "Matrix.hpp"
+#include <sys/stat.h>
+
+// CASE Visual Studio C++ compiler
+#ifdef _MSC_VER
+#pragma warning(disable:4996)
+#include <io.h>
+#define isnan(x) _isnan(x)
+#define isdigit(x) _isdigit(x)
+#define isinf(x) (!_finite(x))
+
+typedef struct timeval {
+     long tv_sec;
+     long tv_usec;
+} timeval;
+
+#else
+#include <unistd.h>
+#endif
+
+
+#include <cstring>
+#include <cctype>
+
+namespace SGTELIB {
+
+  enum distance_t {
+    DISTANCE_NORM2 ,
+    DISTANCE_NORM1 ,
+    DISTANCE_NORMINF ,
+    DISTANCE_NORM2_IS0,
+    DISTANCE_NORM2_CAT
+  };
+  const int NB_DISTANCE_TYPES = 5;
+
+  // model type:
+  enum model_t {
+    LINEAR   ,
+    TGP      ,
+    DYNATREE ,
+    PRS      ,
+    PRS_EDGE ,
+    PRS_CAT  ,
+    KS       ,
+    CN       ,
+    KRIGING  ,
+    SVN      ,
+    RBF      ,
+    LOWESS      ,
+    ENSEMBLE 
+  };
+  const int NB_MODEL_TYPES = 12;
+
+  // Aggregation methods (for the Surrogate_Ensemble)
+  enum weight_t {
+    WEIGHT_SELECT,// Take the model with the best metrics.
+    WEIGHT_OPTIM, // Optimize the metric
+    WEIGHT_WTA1,  // Goel, Ensemble of surrogates 2007
+    WEIGHT_WTA3,  // Goel, Ensemble of surrogates 2007
+    WEIGHT_EXTERN // Belief vector is set externaly by the user.
+  };
+  const int NB_WEIGHT_TYPES = 5;
+  
+  // Metrics
+  enum metric_t {
+    METRIC_EMAX,  // Max absolute error
+    METRIC_EMAXCV,// Max absolute error on cross-validation value
+    METRIC_RMSE,  // Root mean square error
+    METRIC_ARMSE,  // Agregate Root mean square error
+    METRIC_RMSECV, // Leave-one-out cross-validation
+    METRIC_ARMSECV, // Agregate Leave-one-out cross-validation
+    METRIC_OE,  // Order error on the training points
+    METRIC_OECV,  // Order error on the cross-validation output
+    METRIC_AOE,  // Agregate Order error 
+    METRIC_AOECV,  // Agregate Order error on the cross-validation output
+    METRIC_EFIOE,  // Order error on the cross-validation output
+    METRIC_EFIOECV,  // Agregate Order error on the cross-validation output
+    METRIC_LINV   // Inverse of the likelihood
+  };
+  const int NB_METRIC_TYPES = 11;
+ 
+
+  // Diff in ms
+  int diff_ms(timeval t1, timeval t2);
+
+  // Compare strings
+  bool streq       ( const std::string & s1 , const std::string & s2 );
+  bool streqi      ( const std::string & s1 , const std::string & s2 );
+  // Check if s is a substring of S
+  bool string_find ( const std::string & S  , const std::string & s );
+  //bool issubstring (const std::string S , const std::string s);
+
+
+  // Remove useless spaces in string
+  std::string deblank ( const std::string & s_input );
+
+  // test if a file exists
+  bool exists (const std::string & file);
+
+  // Word count
+  int count_words(const std::string & s );
+
+  // add string on a new line of an existing files
+  void append_file (const std::string & s , const std::string & file);
+
+  // wait 
+  void wait (double t);
+
+  // isdef (not nan nor inf)
+  bool isdef ( const double x );
+
+  // rounding:
+  int round ( double d );
+  double rceil (double d);
+
+  // relative error:
+  double rel_err ( double x , double y );
+
+  // distance between two points:
+  double dist ( const double * x , const double * y , int n );
+
+  // same sign
+  bool same_sign (const double a, const double b);
+
+  // conversion functions (to string) :
+  std::string itos ( int    );
+  std::string dtos ( double );
+  std::string btos ( bool   );
+  double stod ( const std::string & s );
+  int    stoi ( const std::string & s );
+  bool   stob ( const std::string & s );
+
+  std::string toupper ( const std::string & s   );
+
+  std::string model_output_to_str       ( const SGTELIB::model_output_t );
+  std::string model_type_to_str         ( const SGTELIB::model_t        );
+  std::string bbo_type_to_str           ( const SGTELIB::bbo_t          );
+  std::string weight_type_to_str        ( const SGTELIB::weight_t       );
+  std::string metric_type_to_str        ( const SGTELIB::metric_t       );
+  std::string distance_type_to_str      ( const SGTELIB::distance_t     );
+
+  // conversion functions (from string) :
+  bool isdigit                                       ( const std::string & s );
+  SGTELIB::model_t         str_to_model_type         ( const std::string & s );
+  SGTELIB::weight_t        str_to_weight_type        ( const std::string & s );
+  SGTELIB::metric_t        str_to_metric_type        ( const std::string & s );
+  SGTELIB::distance_t      str_to_distance_type      ( const std::string & s );
+  SGTELIB::distance_t      int_to_distance_type      ( const int i );
+
+  // Info on  metric
+  // Tells if a metric returns one or multiple objectives
+  // (i.e. One for all the BBO OR One per BBO)
+  bool metric_multiple_obj ( const SGTELIB::metric_t mt );
+
+  // Convert a metric to another metric that returns only 1 obj.
+  SGTELIB::metric_t metric_convert_single_obj ( const SGTELIB::metric_t mt );
+
+
+  /*
+  // Find the index of the smallest value in an array v of size vsize.
+  int get_min_index ( const double * v , const int vsize );
+  // (optional: exclude index "i_exclude" from the search)
+  int get_min_index ( const double * v , const int vsize , const int i_exclude);
+  */
+
+  // Statistics
+  double normcdf ( double x );
+  double normcdf ( double x , double mu , double sigma );
+  double normpdf ( double x );
+  double normpdf ( double x , double mu , double sigma );
+  double normei  ( double fh, double sh , double f_min  );
+  double gammacdf   ( double x, double a, double b);
+  double gammacdfinv( double f, double a, double b);
+  double lower_incomplete_gamma ( const double x, const double p );
+
+  double uniform_rand (void);
+  double quick_norm_rand (void);
+}
+
+#endif
diff --git a/ext/sgtelib/src/Tests.cpp b/ext/sgtelib/src/Tests.cpp
new file mode 100644
index 0000000..ee4dd3c
--- /dev/null
+++ b/ext/sgtelib/src/Tests.cpp
@@ -0,0 +1,1580 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#include "Tests.hpp"
+#include "Surrogate_Ensemble.hpp"
+
+void SGTELIB::sand_box (void){
+
+  std::cout << "End of sandbox\nEXIT\n";
+}//
+
+
+void SGTELIB::test_LOWESS_times ( void ){
+
+  std::cout << "====================================================================\n";
+  std::cout << "START LOWESS TIMES\n";
+
+  const int m = 1;
+  const int pp = 6;
+  int n = 0;
+
+  for (int in=0 ; in<1 ; in++){
+    if (in==0) n = 16;
+    if (in==1) n = 8;
+    if (in==2) n = 4;
+    if (in==3) n = 2;
+    if (in==4) n = 1;
+
+    std::cout <<"--------------------\n";
+
+    int NEXP = 20;
+
+    int p = (n+1)*(n+2);
+    //if (p<20) p=20;
+    double dx;
+
+    for (int id=10 ; id<11 ; id++){
+      dx = pow(10.0,-id);
+      std::cout << "n=" << n << ", dx=" << dx << "\n";
+
+      SGTELIB::Matrix DX ("DX",1,n);
+      SGTELIB::Matrix X ("X",p,n);
+      SGTELIB::Matrix XX ("XX",pp,n);
+      SGTELIB::Matrix Z ("Z",p,m);
+      SGTELIB::Matrix * ZZ  = new SGTELIB::Matrix("ZZ",pp,m);
+
+      for (int i = 0 ; i<NEXP ; i++){
+        std::cout <<  "n=" << n << ", dx=" << dx << ", nexp=" << i << "\n";
+        // Build data  
+        X.set_random(-5,+5,false);
+        Z.set_random(-5,+5,false);
+        SGTELIB::TrainingSet C0(X,Z);
+        SGTELIB::Surrogate * S0;
+        // Build model
+        S0 = SGTELIB::Surrogate_Factory(C0,"TYPE LOWESS RIDGE 0.001");
+        S0->build();
+        // Build XX
+        DX.set_random(-1,+1,false);
+        XX.set_row(DX,0);
+        for (int j=1 ; j<pp ; j++){
+          DX.set_random(-1,+1,false);
+          DX = DX*(dx/DX.norm());
+          DX = DX + XX.get_row(j-1);
+          XX.set_row(DX,j);
+        }
+        // Prediction
+        S0->predict(XX,ZZ);
+      }// end loop i
+
+      delete ZZ;
+
+    }// end loop id
+  }// end loop in
+
+  std::cout << "FINISH LOWESS TIMES\n";
+  std::cout << "====================================================================\n";
+
+}//
+
+
+
+
+void SGTELIB::test_many_models (        const std::string & output_file ,
+                                        const SGTELIB::Matrix & X0 ,
+                                        const SGTELIB::Matrix & Z0 ){
+  std::cout << "======================================================\n";
+  std::cout << "SGTELIB::test_many_models\n";
+
+  // Data information
+  const int m = Z0.get_nb_cols();
+
+  // TrainingSet creation
+  SGTELIB::TrainingSet C0(X0,Z0);
+  #ifdef SGTELIB_DEBUG
+    C0.display(std::cout);
+  #endif
+  // Init model
+  SGTELIB::Surrogate * S0;
+
+  // LOAD MODEL LIST in model_list_file
+  std::vector<std::string> model_list;
+  model_list.push_back("TYPE PRS DEGREE 2"); 
+  model_list.push_back("TYPE PRS DEGREE OPTIM");
+  model_list.push_back("TYPE KS KERNEL_COEF OPTIM");
+  model_list.push_back("TYPE LOWESS KERNEL_COEF OPTIM DEGREE 1"); 
+  model_list.push_back("TYPE LOWESS KERNEL_COEF OPTIM DEGREE OPTIM KERNEL_TYPE OPTIM");
+  model_list.push_back("TYPE RBF PRESET I");
+
+
+  // BUILD THE METRIC LIST 
+  std::vector<SGTELIB::metric_t> metric_list;
+
+  metric_list.push_back( METRIC_RMSE   );
+  metric_list.push_back( METRIC_RMSECV  );
+  metric_list.push_back( METRIC_OE   );
+  metric_list.push_back( METRIC_OECV   );
+
+  // Open an output file
+  std::ofstream out;
+  out.open (output_file.c_str());
+
+  out << "list_metrics " ;
+  for (std::vector<SGTELIB::metric_t>::iterator it_metric = metric_list.begin() ; it_metric != metric_list.end(); ++it_metric){
+    out << SGTELIB::metric_type_to_str(*it_metric) << " ";
+  }
+  out << "\n\n";
+
+  bool ready;
+  // Loop on the models
+  for (std::vector<std::string>::iterator it_model = model_list.begin() ; it_model != model_list.end(); ++it_model){
+
+    std::cout << "Build " << *it_model << "\n";
+    out << *it_model << "\n";
+
+    // Create model
+    S0 = SGTELIB::Surrogate_Factory(C0,*it_model);
+    ready = S0->build();
+
+    // Loop on the outputs    
+    for (int j=0 ; j<m ; j++){
+      out << "output " << j << "\n";
+      out << "metrics ";
+      // Loop on the metrics
+      for (std::vector<SGTELIB::metric_t>::iterator it_metric = metric_list.begin() ; it_metric != metric_list.end(); ++it_metric){
+        if (ready)
+          out << S0->get_metric (*it_metric,j) << " ";
+        else
+          out << "-999 ";
+      }
+      out << "\n";
+    }
+    out << "\n";
+    SGTELIB::surrogate_delete(S0);
+  }
+  out.close();  
+
+}//
+
+
+/*----------------------------------------------------*/
+/*       TEST QUICK                                   */
+/*----------------------------------------------------*/
+std::string SGTELIB::test_quick (const std::string & s , const SGTELIB::Matrix & X0){
+
+
+  std::cout << "======================================================\n";
+  std::cout << "SGTELIB::test_quick\n";
+  std::cout << s << "\n";
+
+  // CONSTRUCT DATA
+  SGTELIB::Matrix Z0 = test_functions(X0);
+  const int m = Z0.get_nb_cols();
+  bool ready;
+
+  // CONSTRUCT REFERENCE MODEL
+  SGTELIB::TrainingSet C0(X0,Z0);
+  SGTELIB::Surrogate * S0;
+  S0 = SGTELIB::Surrogate_Factory(C0,s);
+  ready = S0->build();
+
+  if ( !  ready){
+    surrogate_delete(S0);
+    std::cout << "test_quick: model ("+s+") is not ready\n";
+    return       "test_quick: model ("+s+") is not ready\n";
+  }
+    
+  // Compute the metrics
+  double * emax = new double [m];
+  double * rmse = new double [m];
+  double * rmsecv= new double [m];
+  double * oe = new double [m];
+  double * oecv = new double [m];
+  double * linv = new double [m];
+  for (int j=0 ; j<m ; j++){
+    emax[j] = S0->get_metric(SGTELIB::METRIC_EMAX,j);
+    rmse[j] = S0->get_metric(SGTELIB::METRIC_RMSE,j);
+    rmsecv[j]=S0->get_metric(SGTELIB::METRIC_RMSECV,j);
+    oe[j]   = S0->get_metric(SGTELIB::METRIC_OE,j);
+    oecv[j] = S0->get_metric(SGTELIB::METRIC_OECV,j);
+    linv[j] = S0->get_metric(SGTELIB::METRIC_LINV,j);
+  }
+
+  // Display
+  std::ostringstream oss;
+  oss << "test_quick\n";
+  oss << "Surrogate string: " << s << "\n";
+  oss << "  j|          emax|          rmse|        rmsecv|            oe|          oecv|          linv|\n";
+  oss << "---|--------------|--------------|--------------|--------------|--------------|--------------|\n";
+  for (int j=0 ; j<m ; j++){
+    oss.width(3);
+    oss << j << "|";
+    oss.width(14);
+    oss << emax[j] << "|";
+    oss.width(14);
+    oss << rmse[j] << "|";
+    oss.width(14);
+    oss << rmsecv[j] << "|";
+    oss.width(14);
+    oss << oe[j] << "|";
+    oss.width(14);
+    oss << oecv[j] << "|";
+    oss.width(14);
+    oss << linv[j] << "|\n";
+  }
+  oss << "---|--------------|--------------|--------------|--------------|--------------|--------------|\n";
+  std::cout << oss.str();
+
+  for (int j=0 ; j<m ; j++){
+    if ( (isnan(emax[j])) || (isnan(rmsecv[j])) || (isnan(oe[j])) || (isnan(oecv[j])) || (isnan(linv[j])) ){
+      std::cout << "There is some nan\n";
+      std::cout << "EXIT!\n"; 
+      exit(0);
+    }
+    if ( (isinf(emax[j])) || (isinf(rmse[j])) || ( isinf(rmsecv[j])) || (isinf(oe[j])) || (isinf(oecv[j])) || (isinf(linv[j])) ){
+      std::cout << "There is some inf\n";
+      std::cout << "EXIT!\n"; 
+      exit(0);
+    }
+  }
+  delete [] emax;
+  delete [] rmse;
+  delete [] rmsecv;
+  delete [] oe;
+  delete [] oecv;
+  delete [] linv;
+
+  SGTELIB::surrogate_delete(S0);
+
+  return oss.str();
+}//
+
+
+/*----------------------------------------------------*/
+/*       TEST pxx                                    */
+/*----------------------------------------------------*/
+std::string SGTELIB::test_pxx (const std::string & s , const SGTELIB::Matrix & X0){
+
+  std::cout << "======================================================\n";
+  std::cout << "SGTELIB::test_pxx\n";
+  std::cout << s << "\n";
+
+  SGTELIB::Matrix Z0 = test_functions(X0);
+
+  // CONSTRUCT DATA
+  const int n = X0.get_nb_cols();
+  const int p = X0.get_nb_rows();
+  const int m = Z0.get_nb_cols();
+
+  // CONSTRUCT REFERENCE MODEL
+  SGTELIB::TrainingSet C0(X0,Z0);
+  SGTELIB::Surrogate * S0;
+  S0 = SGTELIB::Surrogate_Factory(C0,s);
+  bool ready;
+  ready = S0->build();
+
+  if ( !  ready){
+    surrogate_delete(S0);
+    std::cout <<  "test_pxx: model ("+s+") is not ready\n";
+    return        "test_pxx: model ("+s+") is not ready\n";
+  }
+
+  // Init
+  SGTELIB::Matrix XX;
+  int pxx;
+
+  // Validation predictions
+  SGTELIB::Matrix * ZZ  = NULL;
+  SGTELIB::Matrix * std = NULL;
+  SGTELIB::Matrix * ei  = NULL;
+  SGTELIB::Matrix * cdf = NULL;
+
+  // Reference prediction 
+  SGTELIB::Matrix * ZZ0  = NULL;
+  SGTELIB::Matrix * std0 = NULL;
+  SGTELIB::Matrix * ei0  = NULL;
+  SGTELIB::Matrix * cdf0 = NULL;
+
+  for (int i=0 ; i<4 ; i++){ 
+    switch (i){
+      case 0:
+        pxx = 1;
+        break;
+      case 1:
+        pxx = 2;
+        break;
+      case 2:
+        pxx = p;
+        break;
+      case 3:
+        pxx = 2*p;
+        break;
+      default:
+        std::cout << "ERROR i = " << i << "\n";
+        exit(0);
+    }
+
+    // TESTING POINT(S)
+    XX = SGTELIB::Matrix("XX",pxx,n);
+    XX.set_random(-10,+10,false);
+
+    // Reference output matrices 
+    ZZ0  = new SGTELIB::Matrix("ZZ0" ,pxx,m);
+    std0 = new SGTELIB::Matrix("std0",pxx,m);
+    ei0  = new SGTELIB::Matrix("ei0" ,pxx,m);
+    cdf0 = new SGTELIB::Matrix("cdf0",pxx,m);
+
+    S0->predict(XX,ZZ0,std0,ei0,cdf0);
+
+    for (int k=0 ; k<7 ; k++){
+
+      // Output matrices
+      ZZ  = new SGTELIB::Matrix("ZZ" ,pxx,m);
+      std = new SGTELIB::Matrix("std",pxx,m);
+      ei  = new SGTELIB::Matrix("ei" ,pxx,m);
+      cdf = new SGTELIB::Matrix("cdf",pxx,m);
+
+      switch (k){
+        case 0:
+          S0->predict(XX,ZZ);
+          check_matrix_diff(ZZ0 ,ZZ);
+          break;
+        case 1:
+          S0->predict(XX,ZZ,std ,NULL,NULL);
+          check_matrix_diff(ZZ0 ,ZZ);
+          check_matrix_diff(std0,std);
+          break;
+        case 2:
+          S0->predict(XX,ZZ,NULL,ei  ,NULL);
+          check_matrix_diff(ZZ0 ,ZZ);
+          check_matrix_diff(ei0,ei);
+          break;
+        case 3:
+          S0->predict(XX,ZZ,NULL,NULL,cdf );
+          check_matrix_diff(ZZ0 ,ZZ);
+          check_matrix_diff(cdf0,cdf);
+          break;
+        case 4:
+          S0->predict(XX,ZZ,NULL,ei  ,cdf );
+          check_matrix_diff(ZZ0 ,ZZ);
+          check_matrix_diff(ei0 ,ei);
+          check_matrix_diff(cdf0,cdf);
+          break;
+        case 5:
+          S0->predict(XX,ZZ,std ,NULL,cdf );
+          check_matrix_diff(ZZ0 ,ZZ);
+          check_matrix_diff(std0,std);
+          check_matrix_diff(cdf0,cdf);
+          break;
+        case 6:
+          S0->predict(XX,ZZ,std ,ei  ,NULL);
+          check_matrix_diff(ZZ0 ,ZZ);
+          check_matrix_diff(std0,std);
+          check_matrix_diff(ei0 ,ei);
+          break;
+        default:
+          std::cout << "ERROR k = " << k << "\n";
+          exit(0);
+
+      }// end switch
+
+      delete ZZ;
+      delete std;
+      delete ei;
+      delete cdf;
+
+    }// end loop k
+
+    delete ZZ0;
+    delete std0;
+    delete ei0;
+    delete cdf0;
+
+  }//end loop i
+
+  SGTELIB::surrogate_delete(S0);
+
+  return "test_pxx ok\n";
+}//
+
+
+
+/*----------------------------------------------------*/
+/*       TEST update                                  */
+/*----------------------------------------------------*/
+std::string SGTELIB::test_update (const std::string & s , const SGTELIB::Matrix & X0){
+
+  std::cout << "======================================================\n";
+  std::cout << "SGTELIB::test_update\n";
+  std::cout << s << "\n";
+
+  // CONSTRUCT DATA
+  const int p = X0.get_nb_rows();
+  const int n = X0.get_nb_cols();
+  SGTELIB::Matrix Z0 = test_functions(X0);
+  const int m = Z0.get_nb_cols();
+
+  // CONSTRUCT MODEL
+  SGTELIB::TrainingSet C0(X0,Z0);
+  SGTELIB::Surrogate * S0;
+  S0 = SGTELIB::Surrogate_Factory(C0,s);
+  bool ready;
+  ready = S0->build();
+
+  if ( !  ready){
+    surrogate_delete(S0);
+    std::cout << "test_update: model ("+s+") is not ready\n";
+    return       "test_update: model ("+s+") is not ready\n";
+  }
+
+  // Testing set
+  const int pxx = 3;
+  SGTELIB::Matrix XX("XX",pxx,n);  
+  XX.set_random(-5,+5,false);
+
+  // Reference prediction 
+  SGTELIB::Matrix * ZZ0  = new SGTELIB::Matrix("ZZ0" ,pxx,m);
+  SGTELIB::Matrix * std0 = new SGTELIB::Matrix("std0",pxx,m);
+  SGTELIB::Matrix * ei0  = new SGTELIB::Matrix("ei0" ,pxx,m);
+  SGTELIB::Matrix * cdf0 = new SGTELIB::Matrix("cdf0",pxx,m);
+  S0->predict(XX,ZZ0,std0,ei0,cdf0);
+
+
+  // CONSTRUCT MODEL
+  SGTELIB::TrainingSet C1(X0.get_row(0),Z0.get_row(0));
+  SGTELIB::Surrogate * S1;
+  S1 = SGTELIB::Surrogate_Factory(C1,s);
+  S1->build();
+
+  for (int i=1 ; i<p ; i++){
+    C1.add_points(X0.get_row(i),Z0.get_row(i));
+    S1->build();
+  }
+
+  // Validation predictions
+  SGTELIB::Matrix * ZZ1  = new SGTELIB::Matrix("ZZ1" ,pxx,m);
+  SGTELIB::Matrix * std1 = new SGTELIB::Matrix("std1",pxx,m);
+  SGTELIB::Matrix * ei1  = new SGTELIB::Matrix("ei1" ,pxx,m);
+  SGTELIB::Matrix * cdf1 = new SGTELIB::Matrix("cdf1",pxx,m);
+  S1->predict(XX,ZZ1,std1,ei1,cdf1);
+
+  // Check consistency
+  check_matrix_diff(ZZ0 ,ZZ1 );
+  check_matrix_diff(std0,std1);
+  check_matrix_diff(ei0 ,ei1 );
+  check_matrix_diff(cdf0,cdf1);
+
+  // Free space
+  SGTELIB::surrogate_delete(S0);
+  SGTELIB::surrogate_delete(S1);
+
+  delete ZZ0;
+  delete std0;
+  delete ei0;
+  delete cdf0;
+
+  delete ZZ1;
+  delete std1;
+  delete ei1;
+  delete cdf1;
+
+  return "test_update ok\n";
+
+}//
+
+
+
+/*----------------------------------------------------*/
+/*       TEST SINGULAR DATA                           */
+/*----------------------------------------------------*/
+std::string SGTELIB::test_singular_data (const std::string & s ) {
+
+  std::cout << "======================================================\n";
+  std::cout << "SGTELIB::test_singular_data\n";
+  std::cout << s << "\n";
+
+  // CONSTRUCT DATA
+  const int n = 3;
+  const int p = 10;
+  SGTELIB::Matrix X0 ("X0",p,n);
+  X0.set_random(0,10,false);
+  SGTELIB::Matrix Z0 = test_functions(X0);
+  const int m = Z0.get_nb_cols();
+  Z0.set_name("Z0");
+
+  // Column 0 of X0 is constant (= 0.0);
+  X0.set_col(0.0,0);
+  // Column 0 of Z0 is constant (= 0.0);
+  Z0.set_col(0.0,0);
+  // Column 1 of Z0 has some nan
+  // Z0.set(2,1,0.0/0.0);
+  // Z0.set(5,1,0.0/0.0);
+  Z0.set(2,1,SGTELIB::NaN);
+  Z0.set(5,1,SGTELIB::NaN);
+  // Column 2 of Z0 has some inf
+  Z0.set(4,2,SGTELIB::INF);
+  Z0.set(7,2,SGTELIB::INF);
+  // Column 3 of Z0 has some nan and some inf
+  Z0.set(5,3,SGTELIB::INF);
+  Z0.set(8,3,SGTELIB::NaN);
+  // Z0.set(8,3,0.0/0.0);
+  
+  #ifdef SGTELIB_DEBUG
+    X0.display(std::cout);  
+    Z0.display(std::cout);
+  #endif
+
+  // CONSTRUCT MODEL
+  SGTELIB::TrainingSet C0(X0,Z0);
+  SGTELIB::Surrogate * S0;
+  S0 = SGTELIB::Surrogate_Factory(C0,s);
+  bool ready = S0->build();
+
+  if ( !  ready){
+    surrogate_delete(S0);
+    std::cout << "test_singular_data: model ("+s+") is not ready\n";
+    return       "test_singular_data: model ("+s+") is not ready\n";
+  }
+
+  // Get the rmse and rmsecv
+  double * rmse   = new double [m];
+  double * rmsecv = new double [m];
+  for (int j=0 ; j<m ; j++){
+    rmse[j]   = S0->get_metric(SGTELIB::METRIC_RMSE,j);
+    rmsecv[j] = S0->get_metric(SGTELIB::METRIC_RMSECV,j);
+  }
+
+  // Display
+  std::ostringstream oss;
+  oss << "test_singular_data\n";
+  oss << "Surrogate string: " << s << "\n";
+  oss << "  j|          rmse|        rmsecv|\n";
+  oss << "---|--------------|--------------|\n";
+  for (int j=0 ; j<m ; j++){
+    oss.width(3);
+    oss << j << "|";
+    oss.width(14);
+    oss << rmse[j] << "|";
+    oss.width(14);
+    oss << rmsecv[j] << "|\n";
+  }
+  oss << "---|--------------|--------------|\n";
+
+  for (int j=0 ; j<m ; j++){
+    if ( ( !  isdef(rmse[j])) || ( !  isdef(rmse[j])) ){
+      std::cout << "There are some nan !";
+      C0.get_matrix_Xs().display(std::cout);
+      exit(0);
+    }
+  }
+
+  std::cout << oss.str();
+  SGTELIB::surrogate_delete(S0);
+  delete [] rmse;
+  delete [] rmsecv;
+  return oss.str();
+
+}//
+
+
+
+
+/*----------------------------------------------------*/
+/*       TEST scale                                   */
+/*----------------------------------------------------*/
+std::string SGTELIB::test_scale (const std::string & s , const SGTELIB::Matrix & X0){
+
+  std::cout << "======================================================\n";
+  std::cout << "SGTELIB::test_scale\n";
+  std::cout << s << "\n";
+
+  // CONSTRUCT DATA
+  const int p = X0.get_nb_rows();
+  const int n = X0.get_nb_cols();
+  SGTELIB::Matrix Z0 = test_functions(X0);
+  const int m = Z0.get_nb_cols();
+  bool ready;
+
+  // CONSTRUCT MODEL
+  SGTELIB::TrainingSet C0(X0,Z0);
+  SGTELIB::Surrogate * S0;
+  S0 = SGTELIB::Surrogate_Factory(C0,s);
+  ready = S0->build();
+
+  if ( !  ready){
+    surrogate_delete(S0);
+    std::cout << "test_scale: model ("+s+") is not ready\n";
+    return       "test_scale: model ("+s+") is not ready\n";
+  }
+
+  // Testing set
+  const int pxx = 3;
+  SGTELIB::Matrix XX0("XX0",pxx,n);  
+  XX0.set_random(-5,+5,false);
+
+  // Reference prediction 
+  SGTELIB::Matrix * ZZ0  = new SGTELIB::Matrix("ZZ0" ,pxx,m);
+  SGTELIB::Matrix * std0 = new SGTELIB::Matrix("std0",pxx,m);
+  SGTELIB::Matrix * ei0  = new SGTELIB::Matrix("ei0" ,pxx,m);
+  SGTELIB::Matrix * cdf0 = new SGTELIB::Matrix("cdf0",pxx,m);
+  S0->predict(XX0,ZZ0,std0,ei0,cdf0);
+
+  // Build scaling values
+  double * ax = new double [n];
+  double * bx = new double [n];
+  for (int i=0 ; i<n ; i++){
+    ax[i] = double(i+2);       // arbitrary values
+    bx[i] = 1.5+1/double(i+2); // arbitrary values
+  }
+  double * az = new double [m];
+  double * bz = new double [m];
+  for (int i=0 ; i<m ; i++){
+    az[i] = 0.0;             // No offset on the constraints (we don't want to change the feasibility)
+    bz[i] = 3.0+double(i+2); // arbitrary values
+  }
+
+  // CONSTRUCT SCALED DATA
+  SGTELIB::Matrix X1 = X0;
+  SGTELIB::Matrix Z1 = Z0;  
+  for (int i=0 ; i<p ; i++){ 
+    for (int j=0 ; j<n ; j++){ 
+       X1.set(i,j, ax[j] + bx[j] *  X0.get(i,j) );
+    }
+    for (int j=0 ; j<m ; j++){ 
+       Z1.set(i,j, az[j] + bz[j] *  Z0.get(i,j) );
+    }
+  }  
+
+  // Build new model
+  SGTELIB::TrainingSet C1(X1,Z1);
+  SGTELIB::Surrogate * S1;
+  S1 = SGTELIB::Surrogate_Factory(C1,s);
+  S1->build();
+
+  // Verif prediction 
+  SGTELIB::Matrix * ZZ1  = new SGTELIB::Matrix("ZZ1" ,pxx,m);
+  SGTELIB::Matrix * std1 = new SGTELIB::Matrix("std1",pxx,m);
+  SGTELIB::Matrix * ei1  = new SGTELIB::Matrix("ei1" ,pxx,m);
+  SGTELIB::Matrix * cdf1 = new SGTELIB::Matrix("cdf1",pxx,m);
+
+  // CONSTRUCT SCALED PREDICTION POINTS
+  SGTELIB::Matrix XX1= XX0;
+  for (int i=0 ; i<pxx ; i++){ 
+    for (int j=0 ; j<n ; j++){ 
+      XX1.set(i,j, ax[j] + bx[j] * XX0.get(i,j) );
+    }
+  } 
+  S1->predict(XX1,ZZ1,std1,ei1,cdf1);
+
+  // Renormalize
+  for (int i=0 ; i<pxx ; i++){ 
+    for (int j=0 ; j<m ; j++){ 
+       ZZ1->set(i,j, (  ZZ1->get(i,j)-az[j] ) / bz[j] );
+      std1->set(i,j, ( std1->get(i,j)       ) / bz[j] );
+       ei1->set(i,j, (  ei1->get(i,j)       ) / bz[j] );
+    }
+  }  
+
+  // Check consistency
+  std::cout << s << "\n";
+  std::cout << "Check ZZ\n";
+  check_matrix_diff(ZZ0 ,ZZ1 );
+  std::cout << "Check std\n";
+  check_matrix_diff(std0,std1);
+  std::cout << "Check ei\n";
+  check_matrix_diff(ei0 ,ei1 );
+  std::cout << "Check cdf\n";
+  check_matrix_diff(cdf0,cdf1);
+
+  // Free space
+  SGTELIB::surrogate_delete(S0);
+  SGTELIB::surrogate_delete(S1);
+
+  delete ZZ0;
+  delete std0;
+  delete ei0;
+  delete cdf0;
+
+  delete ZZ1;
+  delete std1;
+  delete ei1;
+  delete cdf1;
+
+  delete [] ax;
+  delete [] bx;
+  delete [] az;
+  delete [] bz;
+
+  std::cout << "test_scale OK for model " << s << "\n";
+  return "test_scale ok\n";
+}//
+
+
+
+
+/*----------------------------------------------------*/
+/*       TEST dimension                               */
+/*----------------------------------------------------*/
+std::string SGTELIB::test_dimension (const std::string & s ){
+
+  std::cout << "======================================================\n";
+  std::cout << "SGTELIB::test_dimension\n";
+  std::cout << s << "\n";
+
+  // INIT DATA
+  int p =0,n=0,m=0,pxx=1;
+
+  bool ready;
+
+  // Training Set and Surrogate
+  SGTELIB::TrainingSet * C0=NULL;
+  SGTELIB::Surrogate * S0=NULL;
+
+  // Predictions
+  SGTELIB::Matrix X0,Z0;
+  SGTELIB::Matrix XX, ZZ, STD, EI, CDF;
+
+  // BUILD THE METRIC LIST 
+  std::vector<SGTELIB::metric_t> metric_list;
+  metric_list.push_back( METRIC_RMSECV );
+  metric_list.push_back( METRIC_EMAX   );
+  metric_list.push_back( METRIC_EMAXCV );
+  metric_list.push_back( METRIC_RMSE   );
+  metric_list.push_back( METRIC_RMSECV );
+  metric_list.push_back( METRIC_OE     );
+  metric_list.push_back( METRIC_OECV   );
+  metric_list.push_back( METRIC_LINV   );
+
+  int i_case;
+  const int i_case_max = 5;
+  for ( i_case = 0 ; i_case < i_case_max ; i_case++ ){
+    std::cout << "------------------------------------------------------\n";
+    std::cout << "i_case = " << i_case ;
+    if (i_case==0){
+      std::cout << " (small m,n,p,pxx) ";
+      m = 1;
+      n = 2;
+      p = 3;
+      pxx = 4;
+    }
+    else if (i_case==1){
+      std::cout << " (big m) ";
+      m = 30;
+      n = 1;
+      p = 10;
+      pxx = 2;
+    }
+    else if (i_case==2){
+      std::cout << " (big n) ";
+      m = 1;
+      n = 30;
+      p = 10;
+      pxx = 2;
+    }
+    else if (i_case==3){
+      std::cout << " (big p) ";
+      m = 1;
+      n = 2;
+      p = 30; 
+      pxx = 3;
+    }
+    else if (i_case==4){
+      std::cout << " (big pxx) ";
+      m = 1;
+      n = 2;
+      p = 30; 
+      pxx = 50;
+    }
+
+    std::cout << "m,n,p,pxx = " << m << " " << n << " " << p << " " << pxx << "\n";
+
+    X0 = SGTELIB::Matrix("X0",p,n);
+    Z0 = SGTELIB::Matrix("X0",p,m);
+    X0.set_random(0,10,false);
+    Z0.set_random(0,10,false);
+
+    C0 = new SGTELIB::TrainingSet (X0,Z0);
+    S0 = SGTELIB::Surrogate_Factory(*C0,s);
+    ready = S0->build();
+
+    // Loop on the metrics
+    std::vector<SGTELIB::metric_t>::iterator it;
+    int j;
+    double v = 0;
+    if (ready){
+      for (it = metric_list.begin() ; it != metric_list.end(); ++it){
+        std::cout << "Metric " << SGTELIB::metric_type_to_str(*it) << "\n"; 
+        for (j=0 ; j<m ; j++){
+          v = S0->get_metric (*it,j);
+          std::cout << "v = " << v << "\n";
+        }
+      }
+
+      XX  = SGTELIB::Matrix("XX",pxx,n);
+      XX.set_random(0,10,false);
+      ZZ  = SGTELIB::Matrix("ZZ" ,pxx,m);
+      STD = SGTELIB::Matrix("std",pxx,m);
+      EI  = SGTELIB::Matrix("ei" ,pxx,m);
+      CDF = SGTELIB::Matrix("cdf",pxx,m);
+
+      std::cout << "m,n,p,pxx = " << m << " " << n << " " << p << " " << pxx << "\n";
+      std::cout << "predict(XX,&ZZ)...\n";
+      S0->predict(XX,&ZZ);  
+
+      std::cout << "m,n,p,pxx = " << m << " " << n << " " << p << " " << pxx << "\n";
+      std::cout << "predict(XX,&ZZ,&STD,&EI,&CDF)...\n";
+      S0->predict(XX,&ZZ,&STD,&EI,&CDF);
+      std::cout << "Finish!\n";
+    }
+    else{
+      std::cout << "Not Ready\n" ;
+    }
+  }
+
+  // Free space
+  SGTELIB::surrogate_delete(S0);
+  delete C0;
+
+  std::cout << "test_dimension OK for model " << s << "\n";
+  std::cout << "======================================================\n";
+  return "test_dimension ok\n";
+}//
+
+
+/*----------------------------------------------------*/
+/*       TEST rmse                                     */
+/*----------------------------------------------------*/
+std::string SGTELIB::test_rmse (const std::string & s , const SGTELIB::Matrix & X0){
+
+  std::cout << "======================================================\n";
+  std::cout << "SGTELIB::test_rmse\n";
+  std::cout << s << "\n";
+
+  // CONSTRUCT DATA
+  const int p = X0.get_nb_rows();
+  SGTELIB::Matrix Z0 = test_functions(X0);
+  const int m = Z0.get_nb_cols();
+  bool ready;
+
+  // CONSTRUCT MODEL
+  SGTELIB::TrainingSet C0(X0,Z0);
+  SGTELIB::Surrogate * S0;
+  S0 = SGTELIB::Surrogate_Factory(C0,s);
+  ready = S0->build();
+
+  if ( !  ready){
+    surrogate_delete(S0);
+    std::cout << "test_rmse: model ("+s+") is not ready\n";
+    return       "test_rmse: model ("+s+") is not ready\n";
+  }
+
+  // Get the rmse
+  double * rmse = new double [m];
+  for (int j=0 ; j<m ; j++){
+    rmse[j] = S0->get_metric(SGTELIB::METRIC_RMSE,j);
+  }
+
+  // GET THE PREDICTION ON THE TP OUTPUT (matrix Zh)
+  const SGTELIB::Matrix Zh = S0->get_matrix_Zh();
+
+  // Recompute the prediction on the TP 
+  SGTELIB::Matrix Zh_verif("Zh_verif",p,m);
+  SGTELIB::Matrix z("z",1,m);
+  for (int i=0 ; i<p ; i++){ 
+    S0->predict(X0.get_row(i),&z);
+    Zh_verif.set_row(z,i);
+  }
+
+  // Recompute the rmse
+  double * rmse_verif = new double [m];
+  double e;
+  for (int j=0 ; j<m ; j++){
+    e = 0;
+    for (int i=0 ; i<p ; i++){
+      e += pow(Z0.get(i,j)-Zh_verif.get(i,j),2);
+    }
+    rmse_verif[j] = sqrt(e/p);
+  }
+
+  // Display
+  std::ostringstream oss;
+  oss << "test_rmse\n";
+  oss << "Surrogate string: " << s << "\n";
+  oss << "  j|          rmse|    rmse_verif|          diff|\n";
+  oss << "---|--------------|--------------|--------------|\n";
+  for (int j=0 ; j<m ; j++){
+    oss.width(3);
+    oss << j << "|";
+    oss.width(14);
+    oss << rmse[j] << "|";
+    oss.width(14);
+    oss << rmse_verif[j] << "|";
+    oss.width(14);
+    oss << rmse[j]-rmse_verif[j] << "|\n";
+    if ( fabs(rmse[j]-rmse_verif[j])>1e-6 ){
+      oss << "Error! Diff is too big!\n";
+    }
+  }
+  oss << "---|--------------|--------------|--------------|\n";
+
+  std::cout << oss.str();
+  SGTELIB::surrogate_delete(S0);
+  delete [] rmse;
+  delete [] rmse_verif;
+
+
+  return oss.str();
+}//
+
+
+/*----------------------------------------------------*/
+/*       TEST RMSECV                                  */
+/*----------------------------------------------------*/
+std::string SGTELIB::test_rmsecv (const std::string & s , const SGTELIB::Matrix & X0){
+
+  std::cout << "======================================================\n";
+  std::cout << "SGTELIB::test_rmsecv\n";
+  std::cout << s << "\n";
+
+  // CONSTRUCT DATA
+  const int p = X0.get_nb_rows();
+  const int n = X0.get_nb_cols();
+  const SGTELIB::model_t mt = SGTELIB::Surrogate_Parameters::read_model_type(s);
+  SGTELIB::Matrix Z0 = test_functions(X0);
+  const int m = Z0.get_nb_cols();
+
+  #ifdef SGTELIB_DEBUG
+    X0.display(std::cout);
+    Z0.display(std::cout);
+  #endif
+
+  double dmean0, dmeanv, kc0, kcv , xsa0, xsav;
+
+  // CONSTRUCT REFERENCE MODEL
+  bool ready;
+  SGTELIB::TrainingSet C0(X0,Z0);
+  SGTELIB::Surrogate * S0;
+  S0 = SGTELIB::Surrogate_Factory(C0,s);
+  ready = S0->build();
+  dmean0 = C0.get_Ds_mean();
+  xsa0 = C0.get_X_scaling_a(0);
+
+
+  // Get original kernel coefficient
+  kc0 = 0.0;
+  S0->get_param().get_kernel_coef();
+
+  // Check ready
+  if ( !  ready){
+    surrogate_delete(S0);
+    std::cout << "test_rmsecv: model ("+s+") is not ready\n";
+    return       "test_rmsecv: model ("+s+") is not ready\n";
+  }
+
+  // Get the RMSECV metric
+  double * rmsecv = new double [m];
+  double * rmse  = new double [m];
+  for (int j=0 ; j<m ; j++){
+    rmsecv[j] = S0->get_metric(SGTELIB::METRIC_RMSECV,j);
+    rmse[j] = S0->get_metric(SGTELIB::METRIC_RMSE,j);
+  }
+  // Delete the original model
+  SGTELIB::surrogate_delete(S0);
+
+  // INIT THE CROSS VALIDATION MATRICES
+  SGTELIB::Matrix X0i ("X0i",p-1,n);   
+  SGTELIB::Matrix Z0i ("Z0i",p-1,m); 
+  for (int i=1 ; i<p ; i++){
+    // Skip the first line
+    X0i.set_row(X0.get_row(i),i-1);
+    Z0i.set_row(Z0.get_row(i),i-1);
+  }
+
+  // Cross-validation models and trainingset
+  SGTELIB::Surrogate * Sv;
+  SGTELIB::TrainingSet * Cv;
+
+  // Output for one point
+  SGTELIB::Matrix Zvi ("Zvi",1,m); 
+
+  // Cross validation output for all the training points:
+  // (Supposed to be identical to _Zv of class Surrogate)
+  SGTELIB::Matrix Zv_verif  ("Zv_verif",p,m);
+
+  // BUILD THE CV MODELS
+  for (int i=0 ; i<p ; i++){
+    // Build the trainingset (without point i);
+    Cv = new SGTELIB::TrainingSet(X0i,Z0i);
+    Cv->build();
+    dmeanv = Cv->get_Ds_mean();
+    xsav = Cv->get_X_scaling_a(0);
+    // Init surrogate
+    Sv = SGTELIB::Surrogate_Factory(*Cv,s);
+    // Correct ks for RBF and KS
+    kcv = kc0*(dmeanv/dmean0)*(xsa0/xsav);
+    if (mt==SGTELIB::RBF) static_cast<SGTELIB::Surrogate_RBF*>(Sv)->set_kernel_coef(kcv);
+    if (mt==SGTELIB::KS)  static_cast<SGTELIB::Surrogate_KS* >(Sv)->set_kernel_coef(kcv);
+    // Build
+    Sv->build();
+    // Do the prediction on point i
+    Sv->predict(X0.get_row(i),&Zvi);
+    Zv_verif.set_row(Zvi,i);
+    // update the matrices so that they lack the point i+1
+    if (i<p-1){
+      X0i.set_row(X0.get_row(i),i);
+      Z0i.set_row(Z0.get_row(i),i);
+    }
+    delete Cv;
+    surrogate_delete(Sv);
+  }
+
+
+  // Re-Compute the rmsecv
+  double * rmsecv_verif = new double [m];  
+  double e;
+  for (int j=0 ; j<m ; j++){
+    e = 0;
+    for (int i=0 ; i<p ; i++){
+      e += pow(Z0.get(i,j)-Zv_verif.get(i,j),2);
+    }
+    rmsecv_verif[j] = sqrt(e/p);
+  }
+
+  // Display
+  double d;
+  std::ostringstream oss; 
+  oss << "Surrogate string: " << s << "\n";
+  oss << "  j|          rmse||        rmsecv|  rmsecv_verif|      rel diff|\n";
+  oss << "---|--------------||--------------|--------------|--------------|\n";
+  for (int j=0 ; j<m ; j++){
+    oss.width(3);
+    oss << j << "|";
+    oss.width(14);
+    oss << rmse[j] << "||";
+    oss.width(14);
+    oss << rmsecv[j] << "|";
+    oss.width(14);
+    oss << rmsecv_verif[j] << "|";
+    oss.width(14);
+    d = 2*fabs(rmsecv[j]-rmsecv_verif[j])/(rmsecv[j]+rmsecv_verif[j]);
+    oss << d << "|\n";
+    if (d>0.01){
+      oss << "Error! Diff is too big!\n";
+    }
+  }
+  oss << "---|--------------||--------------|--------------|--------------|\n";
+
+  delete [] rmse;
+  delete [] rmsecv;
+  delete [] rmsecv_verif;
+
+  std::cout << oss.str();
+  return oss.str();
+}//
+
+
+
+/*----------------------------------------------------*/
+/*       TEST MULTIPLE                                */
+/*----------------------------------------------------*/
+std::string SGTELIB::test_multiple_occurrences (const std::string & s ){
+
+  std::cout << "======================================================\n";
+  std::cout << "SGTELIB::test_multiple_occurences\n";
+  std::cout << s << "\n";
+
+  // CONSTRUCT DATA
+  const int p = 20;
+  const int n = 2;
+
+  // Build X0
+  SGTELIB::Matrix X0 ("X0",p,n);
+  X0.set_random(-3,+8,false);
+  // Build Z0
+  SGTELIB::Matrix Z0 = test_functions(X0);
+  const int m = Z0.get_nb_cols();
+  // Create multiple occurences in X0
+  X0.set_row( X0.get_row(0) , 1 );
+  X0.set_row( X0.get_row(0) , 2 );
+  X0.set_row( X0.get_row(10) , 11 );
+
+  #ifdef SGTELIB_DEBUG
+    X0.display(std::cout);
+    Z0.display(std::cout);
+  #endif
+
+  // CONSTRUCT REFERENCE MODEL
+  bool ready;
+  SGTELIB::TrainingSet C0(X0,Z0);
+  SGTELIB::Surrogate * S0;
+  S0 = SGTELIB::Surrogate_Factory(C0,s);
+  ready = S0->build();
+
+ // Some data to correct the kernel coef in KS and RBF.
+  const SGTELIB::model_t mt = SGTELIB::Surrogate_Parameters::read_model_type(s);
+  double dmean0, dmeanv, kc0, kcv , xsa0, xsav;
+  dmean0 = C0.get_Ds_mean();
+  xsa0 = C0.get_X_scaling_a(0);
+  // Get original kernel coefficient
+  kc0 = 0.0;
+  kc0 = S0->get_param().get_kernel_coef();
+
+
+  // Check ready
+  if ( ! ready){
+    surrogate_delete(S0);
+    std::cout << "test_rmsecv: model ("+s+") is not ready\n";
+    return       "test_rmsecv: model ("+s+") is not ready\n";
+  }
+
+  // Get the RMSECV metric
+  double * rmsecv = new double [m];
+  double * rmse  = new double [m];
+  for (int j=0 ; j<m ; j++){
+    rmsecv[j] = S0->get_metric(SGTELIB::METRIC_RMSECV,j);
+    rmse[j] = S0->get_metric(SGTELIB::METRIC_RMSE,j);
+  }
+  // Delete the original model
+  SGTELIB::surrogate_delete(S0);
+
+  // INIT THE CROSS VALIDATION MATRICES
+  SGTELIB::Matrix X0i ("X0i",p-1,n);   
+  SGTELIB::Matrix Z0i ("Z0i",p-1,m); 
+  for (int i=1 ; i<p ; i++){
+    // Skip the first line
+    X0i.set_row(X0.get_row(i),i-1);
+    Z0i.set_row(Z0.get_row(i),i-1);
+  }
+
+  // Cross-validation models and trainingset
+  SGTELIB::Surrogate * Sv;
+  SGTELIB::TrainingSet * Cv;
+
+  // Output for one point
+  SGTELIB::Matrix Zvi ("Zvi",1,m); 
+
+  // Cross validation output for all the training points:
+  // (Supposed to be identical to _Zv of class Surrogate)
+  SGTELIB::Matrix Zv_verif  ("Zv_verif",p,m);
+
+ 
+  //std::cout << "SGTELIB::CV\n";
+  // BUILD THE CV MODELS
+  for (int i=0 ; i<p ; i++){
+    std::cout << "BUILD CV MODELS " << i << "\n";
+    // Build the trainingset (without point i);
+    Cv = new SGTELIB::TrainingSet(X0i,Z0i);
+    Cv->build();
+    dmeanv = Cv->get_Ds_mean();
+    xsav = Cv->get_X_scaling_a(0);
+    // Init surrogate
+    Sv = SGTELIB::Surrogate_Factory(*Cv,s);
+
+    // Correct ks for RBF and KS
+    kcv = kc0*(dmeanv/dmean0)*(xsa0/xsav);
+    if (mt==SGTELIB::RBF) static_cast<SGTELIB::Surrogate_RBF*>(Sv)->set_kernel_coef(kcv);
+    if (mt==SGTELIB::KS)  static_cast<SGTELIB::Surrogate_KS* >(Sv)->set_kernel_coef(kcv);
+    // Build
+    Sv->build();
+    
+    // Do the prediction on point i
+    Sv->predict(X0.get_row(i),&Zvi);
+    Zv_verif.set_row(Zvi,i);
+
+    // update the matrices so that they lack the point i+1
+    if (i<p-1){
+      X0i.set_row(X0.get_row(i),i);
+      Z0i.set_row(Z0.get_row(i),i);
+    }
+
+    delete Cv;
+    surrogate_delete(Sv);
+  }
+
+
+  // Re-Compute the rmsecv
+  double * rmsecv_verif = new double [m];  
+  double e;
+  for (int j=0 ; j<m ; j++){
+    e = 0;
+    for (int i=0 ; i<p ; i++){
+      e += pow(Z0.get(i,j)-Zv_verif.get(i,j),2);
+    }
+    rmsecv_verif[j] = sqrt(e/p);
+  }
+
+  // Display
+  double d;
+  std::ostringstream oss; 
+  oss << "Surrogate string: " << s << "\n";
+  oss << "  j|          rmse||        rmsecv|  rmsecv_verif|      rel diff|\n";
+  oss << "---|--------------||--------------|--------------|--------------|\n";
+  for (int j=0 ; j<m ; j++){
+     oss.width(3);
+    oss << j << "|";
+    oss.width(14);
+    oss << rmse[j] << "||";
+    oss.width(14);
+    oss << rmsecv[j] << "|";
+    oss.width(14);
+    oss << rmsecv_verif[j] << "|";
+    oss.width(14);
+    d = 2*fabs(rmsecv[j]-rmsecv_verif[j])/(rmsecv[j]+rmsecv_verif[j]);
+    oss << d << "|\n";
+    if (d>0.01){
+      oss << "Error! Diff is too big!\n";
+    }
+  }
+  oss << "---|--------------||--------------|--------------|--------------|\n";
+
+  delete [] rmse;
+  delete [] rmsecv;
+  delete [] rmsecv_verif;
+
+  std::cout << oss.str();
+
+  return oss.str();
+}//
+
+
+
+
+
+
+/*----------------------------------------------------*/
+/*       test functions                               */
+/*----------------------------------------------------*/
+SGTELIB::Matrix SGTELIB::test_functions (const SGTELIB::Matrix & X){
+
+  const int n = X.get_nb_cols(); // Input dim
+  const int p = X.get_nb_rows(); // Nb of points
+  const int m = 6; // There are 6 test functions, ie 6 outputs
+
+  SGTELIB::Matrix T  ("T" ,p,1); // Aggregate input
+  SGTELIB::Matrix ZT ("ZT",p,1); // 1 output
+  
+
+  const double div = 1.0/double(n);
+
+  // Build matrix SX
+  SGTELIB::Matrix SX ("SX",p,1); // Sum of x for each point
+  for (int j=0 ; j<n ; j++){
+    SX = SX + X.get_col(j);
+  }
+  SX = SX * div;
+
+  // Build m
+  SGTELIB::Matrix Z ("Z",p,m);
+  
+  for (int j=0 ; j<m ; j++){
+    ZT.fill(0.0);
+    for (int i=0 ; i<n ; i++){
+      if (i==0){
+        T = SX;
+      }
+      else{
+        T = SX - X.get_col(i) * 2 * div;
+      }
+      ZT = ZT + test_functions_1D (T,j);
+    }
+    ZT = ZT * div;
+    Z.set_col(ZT,j);
+  }
+  return Z;
+}//
+
+/*----------------------------------------------------*/
+/*       Create some 1D test functions                */
+/*----------------------------------------------------*/
+double SGTELIB::test_functions_1D (const double t, const int function_index){
+
+  switch (function_index){
+    case 0:
+      return 6.0*t*t + t - 1.0; // Quad function
+    case 1:
+      return t/(1.0+fabs(5.0*t)); // Sigmoid
+    case 2:
+      return 0.5-exp(-10*t*t); // bump
+    case 3:
+      return 0.5-((t>-0.2) && (t<0.5)); // square
+    case 4:
+      return 5.0*t-17.0*pow(t,3)+13*pow(t,5); // Oscillations/polynomial
+    case 5:
+      return sin(6.0*t)+cos(15.0*sqrt(fabs(t))); // Difficult function
+    default:
+      std::cout << "function_index : " << function_index << "\n";
+      throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"test_function_1D : function_index not recognized" );
+    }
+}//
+
+
+/*----------------------------------------------------*/
+/*       Create some 1D test functions                */
+/*----------------------------------------------------*/
+SGTELIB::Matrix SGTELIB::test_functions_1D (const SGTELIB::Matrix & T, const int function_index){
+  if (T.get_nb_cols()!=1){
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"test_function_1D : only for column vector!" );
+  }
+  const int p = T.get_nb_rows();
+  SGTELIB::Matrix Z ("Z(T)",p,1);
+  for (int i=0 ; i<p ; i++){
+    Z.set(i,0,test_functions_1D(T.get(i,0),function_index));
+  }
+  return Z;
+}//
+
+
+/*----------------------------------------------------*/
+/*       Check differences between two matrices       */
+/*----------------------------------------------------*/
+void SGTELIB::check_matrix_diff(const SGTELIB::Matrix * A, const SGTELIB::Matrix * B){
+  // Check not NULL
+  if ( !  A){
+    std::cout << "A is NULL\n";
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"check_matrix_diff : A is NULL" );
+  }
+  if ( !  B){
+    std::cout << "B is NULL\n";
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"check_matrix_diff : B is NULL" );
+  }
+
+  // Check dimension
+  if (A->get_nb_rows()!=B->get_nb_rows()){
+    std::cout << "Different number of rows !! " << A->get_nb_rows() << " " << B->get_nb_rows() << "\n";
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"check_matrix_diff : != nb of rows" );
+  }
+  const int m = A->get_nb_rows();
+  if (A->get_nb_cols()!=B->get_nb_cols()){
+    std::cout << "Different number of cols !! " << A->get_nb_cols() << " " << B->get_nb_cols() << "\n";
+    throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"check_matrix_diff : != nb of cols" );
+  }
+  const int n = A->get_nb_cols();
+
+  double va,vb,dab;
+  bool eij = false; // true if there is a problem with value (i,j)
+  bool e = false;   // true if there is a problem, anywhere in the matrices
+
+  for (int i=0 ; i<m ; i++){ 
+    for (int j=0 ; j<n ; j++){
+      va = A->get(i,j);
+      vb = B->get(i,j);
+      eij = false;
+      dab = fabs(va-vb)/std::max( 0.5*(fabs(va)+fabs(vb)) , 1.0);
+      if (dab>1e-6){
+        eij = true;
+        std::cout << "diff is too big !\n";
+      }
+      if (isnan(va)){
+        eij = true;
+        std::cout << "va is nan !\n";
+      }
+      if (isnan(vb)){
+        eij = true;
+        std::cout << "vb is nan !\n";
+      }
+      if (isinf(va)){
+        eij = true;
+        std::cout << "va is inf !\n";
+      }
+      if (isinf(vb)){
+        eij = true;
+        std::cout << "vb is inf !\n";
+      }
+      if (eij){
+        e = true;
+        std::cout << "A(" << i << "," << j << ") = " << va << "\n";
+        std::cout << "B(" << i << "," << j << ") = " << vb << "\n";
+        std::cout << "diff = " << fabs(va-vb) << "\n";
+        std::cout << "dab  = " << dab << "\n";
+      }
+    }
+  }
+  if (e){
+    A->display(std::cout);
+    B->display(std::cout);
+  }
+
+
+}//
+
+
+
+
+
+
+
+
+
+/*----------------------------------------------------*/
+/*       build test data                              */
+/*----------------------------------------------------*/
+void SGTELIB::build_test_data ( const std::string & function_name , 
+                                SGTELIB::Matrix & X0 , 
+                                SGTELIB::Matrix & Z0 ){
+
+  int p = 0;
+  int n = 0;
+  int m = 0;
+
+  if ( (function_name=="hartman3") || (function_name=="hartman6") ){
+    int q = 0;    
+    SGTELIB::Matrix B,D;
+    std::string B_str,D_str;
+    if (function_name=="hartman3"){
+      B_str = "3.0 10.0 30.0 ;"
+              "0.1 10.0 35.0 ;"
+              "3.0 10.0 30.0 ;"
+              "0.1 10.0 35.0 ;";
+
+      D_str = "0.3689 0.1170 0.2673  ;"
+              "0.4699 0.4387 0.7470  ;"
+              "0.1091 0.8732 0.5547  ;"
+              "0.03815 0.5743 0.8828 ;";
+    }
+    else if (function_name=="hartman6"){
+      B_str = "10.0 3.0  17.0 3.5  1.7  8.0  ;"
+              "0.05 10.0 17.0 0.1  8.0  14.0 ;"
+              "3.0  3.5  1.7  10.0 17.0 8.0  ;"
+              "17.0 8.0  0.05 10.0 0.1  14.0 ;";
+
+      D_str = "0.1312 0.1696 0.5569 0.0124 0.8283 0.5886 ;"
+              "0.2329 0.4135 0.8307 0.3736 0.1004 0.9991 ;"
+              "0.2348 0.1451 0.3522 0.2883 0.3047 0.6650 ;"
+              "0.4047 0.8828 0.8732 0.5743 0.1091 0.0381 ;";
+    }
+
+    B = SGTELIB::Matrix::string_to_matrix(B_str);
+    D = SGTELIB::Matrix::string_to_matrix(D_str);   
+    n = B.get_nb_cols();
+    q = B.get_nb_rows();
+    m = 1;
+
+    p = 100*(n+1);
+    X0 = SGTELIB::Matrix("X0",p,n);
+    Z0 = SGTELIB::Matrix("Z0",p,m);
+    X0.set_random(0.0,1.0,false);
+
+    double zi,eik,ak=0;
+    for (int i=0 ; i<p ; i++){
+      zi = 0;
+      for (int k=0 ; k<q ; k++){
+        eik = 0;
+        for (int j=0 ; j<n ; j++){
+          eik -= B.get(k,j)*pow(X0.get(i,j)-D.get(k,j),2.0);
+        }
+        switch (k){
+          case 0: ak=1.0; break;
+          case 1: ak=1.2; break;
+          case 2: ak=3.0; break;
+          case 3: ak=3.2; break;
+        }
+        zi -= ak * exp(eik);        
+      }
+      Z0.set(i,0,zi);
+    }
+    return;
+  }// end hartman
+
+
+  if ((function_name=="branin-hoo") || (function_name=="braninhoo")) {
+    n = 2;
+    m = 1;
+    p = 100*(n+1);
+    X0 = SGTELIB::Matrix("X0",p,n);
+    Z0 = SGTELIB::Matrix("Z0",p,m);
+    X0.set_random(0.0,1.0,false);
+    X0.set_col(-5.0+15.0*X0.get_col(0),0);
+    X0.set_col( 0.0+15.0*X0.get_col(1),1);
+    #ifdef SGTELIB_DEBUG
+      X0.display(std::cout);
+    #endif
+
+    double zi,x1,x2;
+    for (int i=0 ; i<p ; i++){
+      x1 = X0.get(i,0);
+      x2 = X0.get(i,1);
+      zi = pow(x2-5.1*x1*x1*.25/PI+5.*x1/PI-6.,2.) + 10.*(1.-1./(8.*PI))*cos(x1) + 10.;
+      Z0.set(i,0,zi);
+    }
+    return;
+  }// end branin-hoo
+
+
+
+  if (function_name=="camelback") {
+    n = 2;
+    m = 1;
+    p = 100*(n+1);
+    X0 = SGTELIB::Matrix("X0",p,n);
+    Z0 = SGTELIB::Matrix("Z0",p,m);
+    X0.set_random(0.0,1.0,false);
+    X0.set_col(-3.0+6.0*X0.get_col(0),0);
+    X0.set_col(-2.0+4.0*X0.get_col(1),1);
+    #ifdef SGTELIB_DEBUG
+      X0.display(std::cout);
+    #endif
+
+    double zi,x1,x2;
+    for (int i=0 ; i<p ; i++){
+      x1 = X0.get(i,0);
+      x2 = X0.get(i,1);
+      zi = (pow(x1,4.)/3.-2.1*x1*x1+4.)*x1*x1 + x1*x2 + (4.*x2*x2-4.)*x2*x2;
+      Z0.set(i,0,zi);
+    }
+    return;
+  }// end camelback
+
+
+  if (function_name=="rosenbrock") {
+    n = 2;
+    m = 1;
+    p = 100*(n+1);
+    X0 = SGTELIB::Matrix("X0",p,n);
+    Z0 = SGTELIB::Matrix("Z0",p,m);
+    X0.set_random(0.0,1.0,false);
+    X0 = -5.+15.*X0;
+    #ifdef SGTELIB_DEBUG
+      X0.display(std::cout);
+    #endif
+
+    double zi,xj,xjp;
+    for (int i=0 ; i<p ; i++){
+      zi = 0;
+      for (int j=0 ; j<n-1 ; j++){
+        xj = X0.get(i,j);
+        xjp = X0.get(i,j+1);
+        zi += pow(1-xj,2)+100*pow(xjp-xj*xj,2);
+      }
+      Z0.set(i,0,zi);
+    }
+    return;
+  }// end camelback
+
+
+  throw SGTELIB::Exception ( __FILE__ , __LINE__ ,"build_test_data : function name not recognized" );
+
+}
+
+
diff --git a/ext/sgtelib/src/Tests.hpp b/ext/sgtelib/src/Tests.hpp
new file mode 100644
index 0000000..d43ef56
--- /dev/null
+++ b/ext/sgtelib/src/Tests.hpp
@@ -0,0 +1,74 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#ifndef __SGTELIB_TESTS__
+#define __SGTELIB_TESTS__
+
+#include "sgtelib.hpp"
+
+namespace SGTELIB {
+
+  void sand_box (void);
+
+  // test_quick: build the surrogate and compute the metrics
+  std::string test_quick (const std::string & s , const SGTELIB::Matrix & X0 );
+  // test_rmsecv: build the surrogate, then build all the CV models and verif the RMSECV
+  std::string test_rmsecv (const std::string & s , const SGTELIB::Matrix & X0 );
+  // test_rmse: build the surrogate, then perform prediction on the TP to verif rmse
+  std::string test_rmse  (const std::string & s , const SGTELIB::Matrix & X0 );
+  // test_update: build a surrogate all-at-once, or point-by-point
+  std::string test_update(const std::string & s , const SGTELIB::Matrix & X0 );
+  // test_pxx: build a surrogate and perform prediction on XX of various sizes
+  // (especially pxx > _p)
+  std::string test_pxx   (const std::string & s , const SGTELIB::Matrix & X0 );
+  // test_scale: build 2 surrogates with a different scale on the data. 
+  std::string test_scale (const std::string & s , const SGTELIB::Matrix & X0 );
+  // test_dimension: build surrogates with various sizes of p,n,m to check for dimension errors
+  std::string test_dimension  (const std::string & s );
+  // test_singular_data (if there are constant inputs, or outputs or Nan outputs)
+  std::string test_singular_data (const std::string & s );
+  std::string test_multiple_occurrences (const std::string & s );
+
+  // test_scale: build 2 surrogates with a different scale on the data. 
+  void test_many_models ( const std::string & out_file , const SGTELIB::Matrix & X0 , const SGTELIB::Matrix & Z0 );
+
+
+  void test_LOWESS_times (void);
+
+  // analyse ensembl
+  void analyse_ensemble ( const std::string & s );
+
+  SGTELIB::Matrix test_functions (const SGTELIB::Matrix & X);
+  SGTELIB::Matrix test_functions_1D (const SGTELIB::Matrix & T, const int function_index);
+  double          test_functions_1D (const double            t, const int function_index);
+  void check_matrix_diff (const SGTELIB::Matrix * A, const SGTELIB::Matrix * B);
+
+
+  void build_test_data ( const std::string & function_name , SGTELIB::Matrix & X0 , SGTELIB::Matrix & Z0 );
+
+
+}
+
+#endif
diff --git a/ext/sgtelib/src/TrainingSet.cpp b/ext/sgtelib/src/TrainingSet.cpp
new file mode 100644
index 0000000..604d311
--- /dev/null
+++ b/ext/sgtelib/src/TrainingSet.cpp
@@ -0,0 +1,1436 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#include "TrainingSet.hpp"
+using namespace SGTELIB;
+
+/*--------------------------------------*/
+/*              constructor             */
+/*--------------------------------------*/
+SGTELIB::TrainingSet::TrainingSet ( const Matrix & X ,
+                                    const Matrix & Z  ) :
+  _p            ( X.get_nb_rows()   ) , // Nb of points
+  _n            ( X.get_nb_cols()   ) , // Nb of input
+  _m            ( Z.get_nb_cols()   ) , // Nb of output
+  _ready        ( false             ) , 
+  _bbo          ( new bbo_t [_m]    ) , // Types of output (OBJ, CON or DUM)
+  _bbo_is_def   ( false             ) , // Allows to know if _bbo has been def
+  _j_obj        ( 0                 ) , // Index of the output that represents the objective
+  _f_min        ( INF               ) ,   
+  _fs_min       ( INF               ) , 
+  _i_min        ( 0                 ) , // Index of the point where f_min is reached
+  _X            ( X                 ) , // Input Data
+  _Z            ( Z                 ) , // Output Data
+  _Xs           ( "TrainingSet._Xs" , _p , _n ) , // Normalized Input Data
+  _Zs           ( "TrainingSet._Zs" , _p , _m ) , // Normalized Output Data
+  _Ds           ( "TrainingSet._Ds" , _p , _p ) , // Nb of varying input
+  _nvar         ( -1                ) , // Nb of varying output
+  _mvar         ( -1                ) ,
+  _pvar         ( -1                ) ,
+  _X_lb         ( new double   [_n] ) ,
+  _X_ub         ( new double   [_n] ) ,
+  _X_scaling_a  ( new double   [_n] ) ,
+  _X_scaling_b  ( new double   [_n] ) ,
+  _X_mean       ( new double   [_n] ) ,
+  _X_std        ( new double   [_n] ) ,
+  _X_nbdiff     ( new int      [_n] ) ,
+  _X_nbdiff1    ( 0                 ) ,
+  _X_nbdiff2    ( 0                 ) ,
+  _Z_lb         ( new double   [_m] ) ,
+  _Z_ub         ( new double   [_m] ) ,
+  _Z_replace    ( new double   [_m] ) ,
+  _Z_scaling_a  ( new double   [_m] ) ,
+  _Z_scaling_b  ( new double   [_m] ) ,
+  _Z_mean       ( new double   [_m] ) , // Mean of each output
+  _Z_std        ( new double   [_m] ) ,
+  _Zs_mean      ( new double   [_m] ) , // Mean of each normalized output
+  _Z_nbdiff     ( new int      [_m] ) ,
+  _Ds_mean      ( 0.0               ) {
+
+  // Init bounds
+  for (int i=0 ; i<_n ; i++){
+    _X_lb[i] = 0;
+    _X_ub[i] = 0;
+  }  
+  for (int j=1 ; j<_m ; j++){
+    _Z_lb[j] = 0;
+    _Z_ub[j] = 0;
+  }
+
+  // Init the _bbo with standard values:
+  // First is the objective,
+  // Then constraints
+  _bbo[0] = BBO_OBJ;
+  for (int j=1 ; j<_m ; j++){
+    _bbo[j] = BBO_CON;
+    _Z_lb[j] = 0;
+    _Z_ub[j] = 0;
+  }
+
+}//
+
+
+
+
+
+/*---------------------------*/
+/*      copy constructor     */
+/*---------------------------*/
+
+SGTELIB::TrainingSet::TrainingSet ( const TrainingSet & C ) : 
+              _p    ( C._p ) ,
+              _n    ( C._n ) ,
+              _m    ( C._m ) {
+  info();
+  throw Exception ( __FILE__ , __LINE__ ,
+       "TrainingSet: copy constructor forbiden." );
+
+}//
+
+
+
+
+/*--------------------------------------*/
+/*               info (debug)           */
+/*--------------------------------------*/
+void SGTELIB::TrainingSet::info (void) const{
+  std::cout << "   ## ## TrainingSet::info  " << this << " " << _ready << " " << _p << "\n";
+}
+
+/*--------------------------------------*/
+/*               destructor             */
+/*--------------------------------------*/
+SGTELIB::TrainingSet::~TrainingSet ( void ) {
+  #ifdef SGTELIB_DEBUG
+    std::cout << "   ## ## Delete TrainingSet " << this << "\n";
+  #endif
+  delete [] _bbo;
+  delete [] _X_lb;
+  delete [] _X_ub;
+  delete [] _X_scaling_a;
+  delete [] _X_scaling_b;
+  delete [] _X_mean;
+  delete [] _X_std;
+  delete [] _X_nbdiff;
+  delete [] _Z_lb;
+  delete [] _Z_ub;
+  delete [] _Z_replace;
+  delete [] _Z_scaling_a;
+  delete [] _Z_scaling_b;
+  delete [] _Z_mean;
+  delete [] _Z_std;
+  delete [] _Zs_mean;
+  delete [] _Z_nbdiff;
+}//
+
+/*--------------------------------------*/
+/*               operator =             */
+/*--------------------------------------*/
+SGTELIB::TrainingSet & SGTELIB::TrainingSet::operator = ( const SGTELIB::TrainingSet & A ) {
+  A.info();
+  throw Exception ( __FILE__ , __LINE__ ,
+       "TrainingSet: operator \"=\" forbiden." );
+  return *this;
+}
+
+
+/*--------------------------------------*/
+/*          Set bbo type                */
+/*--------------------------------------*/
+void SGTELIB::TrainingSet::set_bbo_type (const std::string & line){
+  // BBOT must be separated by space
+
+  if (_bbo_is_def){
+      throw Exception ( __FILE__ , __LINE__ ,
+           "TrainingSet::set_bbo_type: _bbo must be defined before the first build." );
+  }
+  #ifdef SGTELIB_DEBUG
+    std::cout << "SGTELIB::TrainingSet::set_bbo_type\n";
+    std::cout << "Input string: \"" << line << "\"\n";
+  #endif 
+
+  std::string s;
+  std::istringstream in_line (line);		
+  
+  int j = 0;
+  while (in_line.good()){
+  	in_line >> s;
+    if (j>=_m){
+      throw Exception ( __FILE__ , __LINE__ ,
+           "TrainingSet::set_bbo_type: string error (j>_m)" );
+    }
+    if ( (streqi(s,"OBJ")) || (streqi(s,"O")) ){
+      _bbo[j] = BBO_OBJ;
+      _j_obj = j;
+    }
+    else if ( (streqi(s,"CON")) || (streqi(s,"C")) ){
+      _bbo[j] = BBO_CON;
+    }
+    else if ( (streqi(s,"DUM")) || (streqi(s,"D")) ){
+      _bbo[j] = BBO_DUM;
+    }
+    else{
+      throw Exception ( __FILE__ , __LINE__ ,
+           "TrainingSet::set_bbo_type: string error (string "+s+" not recognized)" );
+    }
+    j++;
+  }
+
+  // Check the number of OBJ
+  double n = 0;
+  for (j=0 ; j<_m ; j++){
+    if (_bbo[j] == BBO_OBJ){
+      n++;
+    }
+  }
+  if (n>1){
+    throw Exception ( __FILE__ , __LINE__ ,
+           "TrainingSet::set_bbo_type: Only one obj is allowed" );
+  }
+
+  // Check the number of OBJ+CON
+  for (j=0 ; j<_m ; j++){
+    if (_bbo[j] == BBO_CON){
+      n++;
+    }
+  }
+  if (n==0){
+    throw Exception ( __FILE__ , __LINE__ ,
+           "TrainingSet::set_bbo_type: all outputs are \"DUM\"" );
+  }
+
+  #ifdef SGTELIB_DEBUG
+    std::cout << "Output types:\n";
+    for (j=0 ; j<_m ; j++){
+      std::cout << j << ": " << bbo_type_to_str(_bbo[j]) << "\n";
+    }
+  #endif
+
+  // nb: this method is supposed to be used only once, in the begining.
+  // Plus, it may have big changes on the results, so this changes the
+  // trainingset to "not ready".
+  _fs_min = INF;
+  _f_min  = INF;
+  _bbo_is_def = true;
+  _ready = false;
+}//
+
+/*--------------------------------------*/
+/*          Construct                   */
+/*--------------------------------------*/
+void SGTELIB::TrainingSet::build ( void ){
+
+
+
+  // check the dimensions:
+  if ( _X.get_nb_rows() != _Z.get_nb_rows() )
+    throw Exception ( __FILE__ , __LINE__ ,
+             "TrainingSet::build(): dimension error" );
+
+  // Check number of points
+  if ( _p < 1 )
+    throw Exception ( __FILE__ , __LINE__ ,
+             "TrainingSet::build(): empty training set");
+
+  if ( ! _ready){
+    #ifdef SGTELIB_DEBUG
+      std::cout << "TrainingSet::build BEGIN, X:(" << _p << "," << _n << ") Z:(" << _p << "," << _m << ")\n";
+    #endif
+
+    // Compute the number of varying input and output
+    compute_nbdiff(_X,_X_nbdiff,_nvar);
+    compute_nbdiff(_Z,_Z_nbdiff,_mvar);
+
+    // Compute the number of input dimension for which 
+    // nbdiff is greater than 1 (resp. greater than 2).
+    _X_nbdiff1 = 0;
+    _X_nbdiff2 = 0;
+    for (int j=0 ; j<_n ; j++){
+      if (_X_nbdiff[j]>1) _X_nbdiff1++;
+      if (_X_nbdiff[j]>2) _X_nbdiff2++;
+    }
+
+    // Check singular data (inf and void) 
+    check_singular_data();
+
+    // Compute scaling values
+    compute_scaling();
+
+    // Compute scaled matrices
+    compute_scaled_matrices();
+
+    // Build matrix of distances between each pair of points
+    compute_Ds();
+
+    // Compute fs_min
+    compute_f_min();
+
+    // The training set is now ready!
+    _ready = true;
+
+    #ifdef SGTELIB_DEBUG
+      std::cout << "TrainingSet::build END\n";
+    #endif
+  }
+
+  // _bbo is considered as defined. It can not be modified anymore.
+  _bbo_is_def = true;
+
+}//
+
+
+/*--------------------------------------*/
+/*  Check if the training set is ready  */
+/*--------------------------------------*/
+void SGTELIB::TrainingSet::check_ready (void) const{
+  if ( ! _ready){
+    std::cout << "TrainingSet: NOT READY!\n";
+    throw Exception ( __FILE__ , __LINE__ , "TrainingSet::check_ready(): TrainingSet not ready. Use method TrainingSet::build()" );
+  }
+}//
+/*--------------------------------------*/
+void SGTELIB::TrainingSet::check_ready (const std::string & file,
+                                                  const std::string & function,
+                                                  const int & i        ) const {
+    check_ready(file+"::"+function+":"+itos(i));
+}//
+/*--------------------------------------*/
+void SGTELIB::TrainingSet::check_ready (const std::string & s) const{
+  if ( ! _ready){
+    std::cout << "TrainingSet: NOT READY! (" << s << ")\n";
+    throw Exception ( __FILE__ , __LINE__ , "TrainingSet::check_ready(): TrainingSet not ready. Use method TrainingSet::build()" );
+  }
+}//
+
+
+/*--------------------------------------*/
+/*                 add_points           */
+/*--------------------------------------*/
+bool SGTELIB::TrainingSet::add_points ( const Matrix & Xnew ,
+                                        const Matrix & Znew ) {
+
+  // Check dim
+  if ( Xnew.get_nb_rows() != Znew.get_nb_rows() || Xnew.get_nb_cols() != _n || Znew.get_nb_cols() != _m ){
+    throw Exception ( __FILE__ , __LINE__ , "TrainingSet::add_points(): dimension error" );
+  }
+
+  // Check for nan
+  if (Xnew.has_nan()){
+    throw Exception ( __FILE__ , __LINE__ , "TrainingSet::add_points(): Xnew is nan" );
+  }
+  if (Znew.has_nan()){
+    throw Exception ( __FILE__ , __LINE__ , "TrainingSet::add_points(): Znew is nan" );
+  }
+
+  // Add the points in the trainingset
+  _X.add_rows(Xnew);
+  _Z.add_rows(Znew);
+
+  // Add empty rows
+  int pnew = Xnew.get_nb_rows();
+  _Xs.add_rows(pnew);
+  _Zs.add_rows(pnew);
+  _Ds.add_rows(pnew);
+  _Ds.add_cols(pnew);
+  // Update p
+  _p += pnew;
+  // Note that the trainingset needs to be updated.
+  _ready = false;
+
+  return true;
+}//
+
+/*--------------------------------------*/
+/*                 add_point            */
+/*--------------------------------------*/
+bool SGTELIB::TrainingSet::add_point ( const double * xnew ,
+                                       const double * znew ) {
+
+  return add_points ( Matrix::row_vector ( xnew , _n ),
+                      Matrix::row_vector ( znew , _m ) );
+}//
+
+
+/*---------------------------------------------------*/
+/*  compute the mean and std over                    */
+/*  the columns of a matrix                          */
+/*---------------------------------------------------*/
+void SGTELIB::TrainingSet::check_singular_data ( void ){
+
+  int i,j;
+  bool e = false;
+  // Check that all the _X data are defined
+  for ( j = 0 ; j < _n ; j++ ) {
+    for ( i = 0 ; i < _p ; i++ ) {
+      if ( ! isdef(_X.get(i,j))){
+        std::cout << "_X(" << i << "," << j << ") = " << _X.get(i,j) << "\n";
+        e = true;
+      }
+    }
+  }
+
+  // Check that, for each output index, SOME data are defined
+  bool isdef_Zj; // True if at least one value is defined for output j.
+  // Loop on the output indexes
+  for ( j = 0 ; j < _m ; j++ ) {
+    // no def value so far
+    isdef_Zj = false;
+    for ( i = 0 ; i < _p ; i++ ) {
+      if (isdef(_Z.get(i,j))){
+        isdef_Zj = true;
+        break;
+      }
+    }
+    // if there is more than 10 points and no correct value was found, return an error.
+    if ( (_p>10) && ( ! isdef_Zj) ){
+      std::cout << "_Z(:," << j << ") has no defined value !\n";
+      e = true; 
+    }
+  }
+
+  if (e){
+    throw Exception ( __FILE__ , __LINE__ , "TrainingSet::check_singular_data(): incorrect data !" );
+  }
+
+}//
+
+/*---------------------------------------------------*/
+/*  compute the mean and std over                    */
+/*  the columns of a matrix                          */
+/*---------------------------------------------------*/
+void SGTELIB::TrainingSet::compute_mean_std ( void ){
+
+  int i,j;
+  double v, mu, var;
+  // Loop on the inputs
+  for ( j=0 ; j<_n ; j++ ) {
+    // Loop on lines for MEAN computation
+    mu = 0;
+    for ( i=0 ; i<_p ; i++ ) {
+      mu += _X.get(i,j);
+    }
+    mu /= _p; 
+    _X_mean[j] = mu;
+    // Loop on lines for VAR computation
+    var = 0;
+    for ( i=0 ; i<_p ; i++ ) {
+      v = _X.get(i,j);
+      var += (v-mu)*(v-mu);
+    }
+    var /= (_p-1);
+    _X_std[j] = sqrt(var);
+  }
+
+  // Loop on the outputs
+  for ( j=0 ; j<_m ; j++ ) {
+    // Loop on lines for MEAN computation
+    mu = 0;
+    for ( i=0 ; i<_p ; i++ ) {
+      v = _Z.get(i,j);
+      if ( ! isdef(v)) v = _Z_replace[j];
+      mu += v;
+    }
+    mu /= _p; 
+    _Z_mean[j] = mu;
+    // Loop on lines for VAR computation
+    var = 0;
+    for ( i=0 ; i<_p ; i++ ) {
+      v = _Z.get(i,j);
+      if ( ! isdef(v)) v = _Z_replace[j];
+      var += (v-mu)*(v-mu);
+    }
+    var /= (_p-1);
+    _Z_std[j] = sqrt(var);
+  }
+
+}//
+
+/*---------------------------------------------------*/
+/*  compute the bounds over                          */
+/*  the columns of a matrix                          */
+/*---------------------------------------------------*/
+void SGTELIB::TrainingSet::compute_bounds ( void ){
+
+  int i,j;
+  double v;
+
+  // Bound of X
+  for ( j=0 ; j<_n ; j++ ) {
+    _X_lb[j] = +INF;
+    _X_ub[j] = -INF;
+    // Loop on points
+    for ( i=0 ; i<_p ; i++ ) {
+      v = _X.get(i,j);
+      _X_lb[j] = std::min(v,_X_lb[j]);
+      _X_ub[j] = std::max(v,_X_ub[j]);
+    }
+  }
+
+  // Bound of Z
+  for ( j=0 ; j<_m ; j++ ) {
+    _Z_lb[j] = +INF;
+    _Z_ub[j] = -INF;
+    // Loop on points
+    for ( i=0 ; i<_p ; i++ ) {
+      v = _Z.get(i,j);
+      if ( isdef(v) ){
+        _Z_lb[j] = std::min(v,_Z_lb[j]);
+        _Z_ub[j] = std::max(v,_Z_ub[j]);
+      }
+    }
+
+    // Compute replacement value for undef Z
+    // If there are no correct bounds defined yet
+    if ( ( ! isdef(_Z_lb[j])) || ( ! isdef(_Z_ub[j])) ){
+      _Z_replace[j] = 1.0;
+    }
+    else{
+      _Z_replace[j] = std::max(_Z_ub[j],0.0) + std::max(_Z_ub[j]-_Z_lb[j],1.0);
+    }
+
+  }
+
+}//
+
+
+/*---------------------------------------------------*/
+/*  compute the number of different values over      */
+/*  the columns of a matrix                          */
+/*---------------------------------------------------*/
+void SGTELIB::TrainingSet::compute_nbdiff ( const Matrix & MAT , 
+                                            int * nbdiff,
+                                            int & njvar ){
+  
+  int nj = MAT.get_nb_cols(); // nb of columns
+  njvar = 0; // nb of columns that are not constant
+  for ( int j = 0 ; j < nj ; j++ ){
+    nbdiff[j] = MAT.get_nb_diff_values(j);  
+    if (nbdiff[j]>1) njvar++;
+  }
+}//
+
+
+
+
+
+
+
+/*---------------------------------------------------*/
+/*  compute the bounds over                          */
+/*  the columns of a matrix                          */
+/*---------------------------------------------------*/
+void SGTELIB::TrainingSet::compute_nvar_mvar ( void ){
+
+  // Compute _nvar
+  if (_nvar!=_n){
+    _nvar = 0;
+    for ( int j = 0 ; j < _n ; j++ )
+      if (_X_nbdiff[j] > 1) _nvar++;
+  }
+
+  // Compute _mvar
+  if (_mvar!=_m){
+    _mvar = 0;
+    for ( int j = 0 ; j < _m ; j++ )
+      if (_Z_nbdiff[j] > 1) _mvar++;
+  }
+}//
+
+
+
+/*---------------------------------------------------*/
+/*  compute scaling parameters                       */
+/*---------------------------------------------------*/
+void SGTELIB::TrainingSet::compute_scaling ( void ){
+  int j=0;
+
+  // Neutral values
+  for ( j = 0 ; j < _n ; j++ ) {
+    _X_scaling_a[j] = 1;
+    _X_scaling_b[j] = 0;
+  }
+  for ( j = 0 ; j < _m ; j++ ) {
+    _Z_scaling_a[j] = 1;
+    _Z_scaling_b[j] = 0;
+  }
+
+  switch (scaling_method){
+  case SCALING_NONE:
+    //Nothing to do!
+    break;
+  case SCALING_MEANSTD:
+    // Compute mean and std over columns of X and Z
+    compute_mean_std();
+    // Compute scaling constants
+    for ( j = 0 ; j < _n ; j++ ) {
+      if (_X_nbdiff[j]>1) _X_scaling_a[j] = 1/_X_std[j];
+      _X_scaling_b[j] = -_X_mean[j]*_X_scaling_a[j];
+    }
+    for ( j = 0 ; j < _m ; j++ ) {
+      if (_Z_nbdiff[j]>1) _Z_scaling_a[j] = 1/_Z_std[j];
+      _Z_scaling_b[j] = -_Z_mean[j]*_Z_scaling_a[j];
+    }
+    break;
+  case SCALING_BOUNDS:
+    // Compute bounds over columns of X and Z
+    compute_bounds();
+    // Compute scaling constants
+    for ( j = 0 ; j < _n ; j++ ) {
+      if (_X_nbdiff[j]>1) _X_scaling_a[j] = 1/(_X_ub[j]-_X_lb[j]);
+      _X_scaling_b[j] = -_X_lb[j]*_X_scaling_a[j];
+    }
+    for ( j = 0 ; j < _m ; j++ ) {
+      if (_Z_nbdiff[j]>1)  _Z_scaling_a[j] = 1/(_Z_ub[j]-_Z_lb[j]);
+      _Z_scaling_b[j] = -_Z_lb[j]*_Z_scaling_a[j];
+    }
+    break;
+  }// end switch
+}//
+
+
+/*---------------------------------------------------*/
+/*  compute scale matrices _Xs and _Zs               */
+/*---------------------------------------------------*/
+void SGTELIB::TrainingSet::compute_scaled_matrices ( void ){
+
+  double v, mu;
+  int i,j;
+
+  // Compute _Xs
+  for ( j = 0 ; j < _n ; j++ ){
+    for ( i = 0 ; i < _p ; i++ ){
+      v = _X.get(i,j)*_X_scaling_a[j]+_X_scaling_b[j];
+      _Xs.set(i,j,v);
+    }
+  }
+
+  // Compute _Zs and Mean_Zs
+  for ( j = 0 ; j < _m ; j++ ){
+    mu = 0;
+    for ( i = 0 ; i < _p ; i++ ){
+      v = _Z.get(i,j);
+      if ( ! isdef(v)){
+        v = _Z_replace[j];
+      }
+      v = v*_Z_scaling_a[j]+_Z_scaling_b[j];
+      mu +=v;
+      _Zs.set(i,j,v);
+    }
+    _Zs_mean[j] = mu/_p;
+  }
+
+}//
+
+
+
+/*---------------------------------------------------*/
+/*  compute distance matrix                          */
+/*  the columns of a matrix                          */
+/*---------------------------------------------------*/
+void SGTELIB::TrainingSet::compute_Ds ( void ){
+  double d;
+  double di1i2;
+  _pvar = _p;
+  _Ds_mean = 0.0;
+  bool unique;
+  for ( int i1 = 0 ; i1 < _p-1 ; i1++ ){
+    _Ds.set(i1,i1,0.0);
+    unique = true;
+    for ( int i2 = i1+1 ; i2 < _p ; i2++ ){
+      d = 0;
+      for ( int j = 0 ; j < _n ; j++ ){
+        di1i2 = _Xs.get(i1,j)-_Xs.get(i2,j);
+        d += di1i2*di1i2;
+      }
+      d = sqrt(d);
+      _Ds.set(i1,i2,d);
+      _Ds.set(i2,i1,d);
+      // Compute the mean distance between the points
+      _Ds_mean += d;
+      // If d==0, then the point i2 is not unique. 
+      if (fabs(d)<EPSILON){
+        unique = false;
+      } 
+    }
+    // If there are some points equal to the point of index i2, 
+    // then reduce the number of different points.
+    if ( ! unique) _pvar--;
+  }
+  _Ds_mean /= double(_pvar*(_pvar-1)/2);
+
+}//
+
+
+
+/*---------------------------------------------------*/
+/*  compute fs_min (scaled value of f_min)             */
+/*---------------------------------------------------*/
+// the lazy way....
+void SGTELIB::TrainingSet::compute_f_min ( void ){
+
+  double f;
+  bool feasible;  
+  // Go through all points
+  for ( int i=0 ; i<_p ; i++ ){
+    // Get the unscaled objective
+    f = _Z.get(i,_j_obj);
+    // If objective is good
+    if (f<_f_min){
+      // check the constraints
+      feasible = true;
+      for ( int j=0 ; j<_m ; j++ )
+        if (_bbo[j]==BBO_CON)
+          if (_Z.get(i,j)>0.0){ feasible = false; break; }
+      // If the point is feasible, save the value.
+      if (feasible){
+        _f_min = f;
+        _i_min = i;
+      }
+    }
+  }
+  // Compute the scaled objective.
+  _fs_min = Z_scale( _f_min, _j_obj );
+
+}//
+
+
+/*---------------------------------------------------*/
+/*  get                                              */
+/*---------------------------------------------------*/
+double SGTELIB::TrainingSet::get_Xs ( const int i , const int j ) const {
+  #ifdef SGTELIB_DEBUG
+    check_ready(); 
+    // Check index
+    if ( (i<0) ||�(i>=_p) ||�(j<0) ||�(j>=_n) ){
+      throw Exception ( __FILE__ , __LINE__ ,
+               "TrainingSet::TrainingSet(): dimension error" );
+    }
+  #endif
+  // Return value
+  return _Xs.get(i,j);
+}//
+/*---------------------------------------------------*/
+double SGTELIB::TrainingSet::get_Zs ( const int i , const int j ) const {
+  #ifdef SGTELIB_DEBUG
+    check_ready(); 
+    // Check index
+    if ( (i<0) ||�(i>=_p) ||�(j<0) ||�(j>=_m) ){
+      throw Exception ( __FILE__ , __LINE__ ,
+               "TrainingSet::TrainingSet(): dimension error" );
+    }
+  #endif
+  // Return value
+  return _Zs.get(i,j);
+}//
+/*---------------------------------------------------*/
+void SGTELIB::TrainingSet::get_Xs ( const int i , double * x ) const {
+  #ifdef SGTELIB_DEBUG
+    check_ready(__FILE__,__FUNCTION__,__LINE__);
+    // Check index
+    if ( (i<0) ||�(i>=_p) ){
+      throw Exception ( __FILE__ , __LINE__ ,
+               "TrainingSet::TrainingSet(): dimension error" );
+    }
+  #endif
+  // Check/initialize pointer
+  if ( ! x){
+    x = new double [_n];
+  }
+  // Fill pointer
+  for ( int j = 0 ; j < _n ; j++ ){
+    x[j] = _Xs.get(i,j);
+  }
+}//
+/*---------------------------------------------------*/
+void SGTELIB::TrainingSet::get_Zs ( const int i , double * z ) const {
+  #ifdef SGTELIB_DEBUG
+    check_ready(__FILE__,__FUNCTION__,__LINE__);
+    // Check index
+    if ( (i<0) ||�(i>=_p) ){
+      throw Exception ( __FILE__ , __LINE__ ,
+               "TrainingSet::get_Zs(): dimension error" );
+    }
+  #endif
+  // Check/initialize pointer
+  if ( ! z){
+    z = new double [_m];
+  }
+  // Fill pointer
+  for ( int j = 0 ; j < _m ; j++ ){
+    z[j] = _Zs.get(i,j);
+  }
+}//
+/*---------------------------------------------------*/
+double SGTELIB::TrainingSet::get_Zs_mean ( const int j ) const {
+  #ifdef SGTELIB_DEBUG
+    check_ready(__FILE__,__FUNCTION__,__LINE__);
+    // Check index
+    if ( (j<0) ||�(j>=_m) ){
+      throw Exception ( __FILE__ , __LINE__ ,
+               "TrainingSet::get_Zs_mean(): dimension error" );
+    }
+  #endif
+  return _Zs_mean[j];
+}//
+
+
+/*---------------------------------------------------*/
+int SGTELIB::TrainingSet::get_X_nbdiff ( const int i ) const {
+  #ifdef SGTELIB_DEBUG
+    check_ready(__FILE__,__FUNCTION__,__LINE__);
+    // Check index
+    if ( (i<0) ||�(i>=_n) ){
+      throw Exception ( __FILE__ , __LINE__ ,
+               "TrainingSet::get_X_nbdiff(): dimension error" );
+    }
+  #endif
+  return _X_nbdiff[i];
+}//
+
+/*---------------------------------------------------*/
+const Matrix SGTELIB::TrainingSet::get_X_nbdiff ( void ) const {
+  Matrix V ("NbDiff",1,_n);
+  for (int j=0 ; j<_n ; j++){
+    V.set(0,j,(double)_X_nbdiff[j]);
+  }
+  return V;
+}//
+
+
+/*---------------------------------------------------*/
+int SGTELIB::TrainingSet::get_Z_nbdiff ( const int j ) const {
+  #ifdef SGTELIB_DEBUG
+    check_ready(__FILE__,__FUNCTION__,__LINE__);
+    // Check index
+    if ( (j<0) ||�(j>=_m) ){
+      throw Exception ( __FILE__ , __LINE__ ,
+               "TrainingSet::get_Z_nbdiff(): dimension error" );
+    }
+  #endif
+  return _Z_nbdiff[j];
+}//
+/*---------------------------------------------------*/
+// Return the normalized distance between points i1 an i2
+double SGTELIB::TrainingSet::get_Ds ( const int i1 , const int i2 ) const {
+  #ifdef SGTELIB_DEBUG
+    check_ready(); 
+    // Check index
+    if ( (i1<0) ||�(i1>=_p) ||�(i2<0) ||�(i2>=_p) ){
+      throw Exception ( __FILE__ , __LINE__ ,
+               "TrainingSet::get_Ds(): dimension error" );
+    }
+  #endif
+  return _Ds.get(i1,i2);
+}//
+
+/*--------------------------------------------------*/
+/* compute the distances between two sets of points */
+/*--------------------------------------------------*/
+Matrix SGTELIB::TrainingSet::get_distances ( const Matrix & A , 
+                                                      const Matrix & B , 
+                                                      const distance_t dt       ) const{
+
+
+  switch (dt){
+
+    case DISTANCE_NORM1:
+      return Matrix::get_distances_norm1(A,B);
+
+    case DISTANCE_NORM2:
+      return Matrix::get_distances_norm2(A,B);
+
+    case DISTANCE_NORMINF:
+      return Matrix::get_distances_norminf(A,B);
+
+    case DISTANCE_NORM2_IS0:
+      // Two points x and y are in the same "IS0-class" if (x_j==0 <=> y_j==0 for each j).
+      // The distance "IS0" between two points of the same IS0-class is the norm 2 distance.
+      // The distance "IS0" between two points of different IS0-class is INF.
+      {
+        const int n = A.get_nb_cols();
+        const int pa = A.get_nb_rows();
+        const int pb = B.get_nb_rows();
+        double v,d;
+        int ia, ib, j;
+        Matrix D = Matrix::get_distances_norm2(A,B);
+        double * x0 = new double [n];
+        for (j=0 ; j < n ; j++){
+          x0[j] = X_scale( 0.0 , j ); 
+        }
+        for (ia=0 ; ia < pa ; ia++){
+          for (ib=0 ; ib < pb ; ib++){
+            // For each value of D
+            d = D.get(ia,ib);
+            v = d*d;
+            for (j=0 ; j < n ; j++){
+              // If they are not in the same 0-class
+              if (  (fabs(A.get(ia,j)-x0[j])<EPSILON) ^ (fabs(B.get(ib,j)-x0[j])<EPSILON)  ){
+                v+=10000;
+              }
+            }
+            v = sqrt(v);
+            D.set(ia,ib,v);
+          }
+        }
+        delete [] x0;
+        return D;
+      }
+
+    case DISTANCE_NORM2_CAT:
+      // Two points x and y are in the same "X0-class" if x_0==y_0.
+      // The distance "IS0" between two points of the same X0-class is the norm 2 distance.
+      // The distance "IS0" between two points of different X0-class is INF.
+      {
+        const int pa = A.get_nb_rows();
+        const int pb = B.get_nb_rows();
+        double v,d;
+        int ia, ib, j;
+        Matrix D = Matrix::get_distances_norm2(A,B);
+        j = 0;
+        for (ib=0 ; ib < pb ; ib++){
+          for (ia=0 ; ia < pa ; ia++){
+            // For each value of D
+            d = D.get(ia,ib);
+            v = d*d;
+            // If they are not in the same 0-class
+            if (  fabs(A.get(ia,j)-B.get(ib,j))>EPSILON  ) {
+              v+=10000;
+            }
+            v = sqrt(v);
+            D.set(ia,ib,v);
+          }
+        }
+        return D;
+      }
+
+    default:
+      throw Exception ( __FILE__ , __LINE__ ,"Undefined type" );
+  }
+
+  
+
+}//
+
+
+/*--------------------------------------*/
+/*    X scale: x->y: y = a.x + b        */
+/*--------------------------------------*/
+void SGTELIB::TrainingSet::X_scale ( double * x ) const {
+  for ( int j = 0 ; j < _n ; j++ )
+    x[j] = _X_scaling_a[j] * x[j] + _X_scaling_b[j];
+}//
+
+double SGTELIB::TrainingSet::X_scale ( double x , int var_index ) const {
+  return _X_scaling_a[var_index] * x + _X_scaling_b[var_index];
+}//
+
+/*--------------------------------------*/
+/*    X unscale: y->x: x = (y-b)/a      */
+/*--------------------------------------*/
+void SGTELIB::TrainingSet::X_unscale ( double * y ) const {
+  for ( int j = 0 ; j < _n ; j++ )
+    y[j] = ( y[j] - _X_scaling_b[j] ) / _X_scaling_a[j];
+}
+
+double SGTELIB::TrainingSet::X_unscale ( double y , int var_index ) const {
+  return ( y - _X_scaling_b[var_index] ) / _X_scaling_a[var_index];
+}
+
+/*--------------------------------------*/
+/*    Z scale: z->w: w = a.z + b        */
+/*--------------------------------------*/
+void SGTELIB::TrainingSet::Z_scale ( double * z ) const {
+  for ( int j = 0 ; j < _m ; j++ )
+    z[j] = _Z_scaling_a[j] * z[j] + _Z_scaling_b[j];
+}//
+
+double SGTELIB::TrainingSet::Z_scale ( double z , int output_index ) const {
+  return _Z_scaling_a[output_index] * z + _Z_scaling_b[output_index];
+}//
+
+/*--------------------------------------*/
+/*    Z unscale: w->z: z = (w-b)/a      */
+/*--------------------------------------*/
+void SGTELIB::TrainingSet::Z_unscale ( double * w ) const {
+  for ( int j = 0 ; j < _m ; j++ )
+    w[j] = ( w[j] - _Z_scaling_b[j] ) / _Z_scaling_a[j];
+}//
+
+double SGTELIB::TrainingSet::Z_unscale ( double w , int output_index ) const {
+  return ( w - _Z_scaling_b[output_index] ) / _Z_scaling_a[output_index];
+}//
+
+/*------------------------------------------*/
+/*    ZE unscale: w->z: z = (w)/a           */
+/* Used to unscale errors, std and EI */
+/*------------------------------------------*/
+double SGTELIB::TrainingSet::ZE_unscale ( double w , int output_index ) const {
+  return w / _Z_scaling_a[output_index];
+}//
+
+
+/*--------------------------------------*/
+/*    X scale: x->y: y = a.x + b        */
+/*--------------------------------------*/
+void SGTELIB::TrainingSet::X_scale ( Matrix & X ) {
+  int p = X.get_nb_rows();
+  int n = X.get_nb_cols();
+  if (n!=_n){
+    throw Exception ( __FILE__ , __LINE__ ,
+                 "TrainingSet::TrainingSet(): dimension error" );
+  }
+  double v;
+  // UnScale the output
+  for (int i=0 ; i<p ; i++){
+    for (int j=0 ; j<n ; j++){
+      // Z 
+      v = X.get(i,j);
+      v = X_scale ( v , j );
+      X.set(i,j,v);
+    }
+  }
+}//
+
+/*--------------------------------------*/
+/*    Z unscale: w->z: z = (w-b)/a      */
+/*--------------------------------------*/
+void SGTELIB::TrainingSet::Z_unscale ( Matrix * Z ) {
+  int p = Z->get_nb_rows();
+  int m = Z->get_nb_cols();
+  if (m!=_m){
+    throw Exception ( __FILE__ , __LINE__ ,
+                 "TrainingSet::TrainingSet(): dimension error" );
+  }
+  double v;
+  // UnScale the output
+  for (int i=0 ; i<p ; i++){
+    for (int j=0 ; j<m ; j++){
+      // Z 
+      v = Z->get(i,j);
+      v = Z_unscale ( v , j );
+      Z->set(i,j,v);
+    }
+  }
+}//
+Matrix SGTELIB::TrainingSet::Z_unscale ( const Matrix & Z ) {
+  Matrix Z2 (Z);
+  Z_unscale(&Z2);
+  return Z2;
+}//
+
+/*--------------------------------------*/
+/*    ZE unscale: w->z: z = w/a      */
+/*--------------------------------------*/
+void SGTELIB::TrainingSet::ZE_unscale ( Matrix * ZE ) {
+  int p = ZE->get_nb_rows();
+  int m = ZE->get_nb_cols();
+  if (m!=_m){
+    throw Exception ( __FILE__ , __LINE__ ,
+                 "TrainingSet::TrainingSet(): dimension error" );
+  }
+  double v;
+  // UnScale the output
+  for (int i=0 ; i<p ; i++){
+    for (int j=0 ; j<m ; j++){
+      // Z 
+      v = ZE->get(i,j);
+      v = ZE_unscale ( v , j );
+      ZE->set(i,j,v);
+    }
+  }
+}//
+Matrix SGTELIB::TrainingSet::ZE_unscale ( const Matrix & ZE ) {
+  Matrix ZE2 (ZE);
+  ZE_unscale(&ZE2);
+  return ZE2;
+}//
+
+
+/*--------------------------------------*/
+/*    get d1 over d2                    */
+/*--------------------------------------*/
+double SGTELIB::TrainingSet::get_d1_over_d2 ( const Matrix & XXs ) const {
+  if (XXs.get_nb_rows()>1){
+    throw Exception ( __FILE__ , __LINE__ ,
+         "TrainingSet::get_d1_over_d2: XXs must have only one line." );
+  } 
+  double d1 = +INF;
+  double d2 = +INF;
+  double d;
+  double dxj;
+  int i,i1,j;
+  i1 = 0; // Index of the closest point 
+
+  // If only 1 point, it is not possible to compute d2, 
+  // so we use a dummy value.
+  if (_p==1){
+    return 1.0;
+  }
+
+  // Parcours des points
+  for ( i=0 ; i<_p ; i++ ){
+
+    // Calcul de d
+    d = 0.0;
+    for ( j=0 ; j<_n ; j++){
+      dxj = XXs.get(0,j)-_Xs.get(i,j);
+      d += dxj*dxj;
+    }
+    if (d==0){
+      return 0.0;
+    }
+    if (d<d1){ 
+      d2=d1;
+      d1=d;
+      i1=i;// Memorize index of closest point
+    }
+    else if ((d<d2) && (_Ds.get(i,i1)>0)){
+      // nb: the point i can be kept as 2nd closest point only if it is different from the point 
+      // i1, which means that the distance to this point must be non null.
+      d2=d;
+    }
+
+  }
+  return sqrt(d1/d2);
+}//
+
+
+/*--------------------------------------*/
+/*    get d1 over d2                    */
+/*--------------------------------------*/
+double SGTELIB::TrainingSet::get_d1 ( const Matrix & XXs ) const {
+  if (XXs.get_nb_rows()>1){
+    throw Exception ( __FILE__ , __LINE__ ,
+         "TrainingSet::get_d1: XXs must have only one line." );
+  } 
+  double d;
+  double d1 = +INF;
+  int i,j;
+  double dxj;
+
+  // Parcours des points
+  for ( i=0 ; i<_p ; i++ ){
+
+    // Calcul de d
+    d = 0.0;
+    for ( j=0 ; j<_n ; j++){
+      dxj = XXs.get(0,j)-_Xs.get(i,j);
+      d += dxj*dxj;
+    }
+    if (d==0){
+      return 0.0;
+    }
+    if (d<d1){ 
+      d1=d;
+    }
+
+  }
+  return sqrt(d1);
+}//
+
+
+/*--------------------------------------*/
+/*       get_exclusion_area_penalty     */
+/*--------------------------------------*/
+Matrix SGTELIB::TrainingSet::get_exclusion_area_penalty ( const Matrix & XXs , const double tc ) const {
+  const int pxx = XXs.get_nb_rows();
+  double r12,p;
+  //double logtc = log(tc);
+
+  // tc = 0 => no penalty
+  // tc > 0 => infinite penalty for points of the cache
+  // Small value of tc (close to 0) => penalty is null nearly everywhere
+  // Large value of tc (close to 1) => penalty is non null nearly everywhere
+  
+  Matrix P ("P",pxx,1);
+  for (int i=0 ; i<pxx ; i++){
+    r12 = get_d1_over_d2( XXs.get_row(i) );
+    if ( r12<tc )
+      //p = std::max(0.0,-1+log(r12)/logtc);
+      p = 1e+9 - r12;
+    else
+      p = 0.0;
+    P.set(i,0,p);
+  }
+  return P;
+}//
+
+/*--------------------------------------*/
+/*       get_distance_to_closest        */
+/*--------------------------------------*/
+Matrix SGTELIB::TrainingSet::get_distance_to_closest ( const Matrix & XXs ) const {
+  #ifdef SGTELIB_DEBUG
+    check_ready(); 
+  #endif
+  const int pxx = XXs.get_nb_rows();
+  double d;
+  Matrix P ("P",pxx,1);
+  for (int i=0 ; i<pxx ; i++){
+    d = get_d1 ( XXs.get_row(i) );
+    P.set(i,0,d);
+  }
+  return P;
+}//
+
+
+
+/*--------------------------------------*/
+/*       get_closest                    */
+/*--------------------------------------*/
+// Return the index of the closest point to point i    
+int SGTELIB::TrainingSet::get_closest ( const int i ) const {
+  std::cout << i;
+  throw Exception ( __FILE__ , __LINE__ ,
+       "TrainingSet::TrainingSet::get_closest ( const int i ): To be implemented." );
+  return 0;
+}
+
+/*--------------------------------------*/
+/*       get_closest                    */
+/*--------------------------------------*/
+ // Return the indexes of the nb_pts closest points to point i
+/*
+std::list<int> SGTELIB::TrainingSet::get_closest ( const int i_min , const int nb_pts ) const {
+
+  #ifdef SGTELIB_DEBUG
+    check_ready(); 
+    // Check index
+    if ( (i_min<0) or (i_min>=_p) or (nb_pts<0) or (nb_pts>=_p) ){
+      throw Exception ( __FILE__ , __LINE__ ,"TrainingSet::TrainingSet(): dimension error" );
+    }
+  #endif
+
+
+  //const Matrix & Ds = get_matrix_Ds();
+  Matrix d = get_matrix_Ds().get_row(i_min);
+  Matrix ind("indexes",1,_p);
+
+  int i;
+  for (i=0 ; i<_p ; i++) ind.set(0,i,i);
+
+  bool change = true;
+  while (change) {
+    change = false;
+    for (i=0 ; i<_p-1 ; i++){
+      if (d.get(0,i)>d.get(0,i+1)){
+        d.permute(0,i,0,i+1);
+        ind.permute(0,i,0,i+1);
+        change = true;
+      }
+    }
+  }
+
+  std::list<int> list;
+  list.clear();
+  for (i=0 ; i<nb_pts ; i++) list.push_back(int(ind.get(0,i)));
+  return list;
+
+}
+*/
+
+/*--------------------------------------*/
+/*       select points                  */
+/*--------------------------------------*/
+std::list<int> SGTELIB::TrainingSet::select_greedy ( const Matrix & X,
+                                                     const int imin,
+                                                     const int pS,
+                                                     const double lambda0, 
+                                                     const distance_t dt ){
+
+  const int p = X.get_nb_rows();
+  const int n = X.get_nb_cols();
+
+  if ( pS<3 || pS>=p ){
+    std::cout << "pS = " << pS << "\n";
+    throw Exception ( __FILE__ , __LINE__ ,"TrainingSet::TrainingSet(): wrong value of pS" );
+  }
+
+  std::list<int> S;
+  S.clear();
+  
+  int inew;
+  Matrix xnew("xnew",1,n);
+  Matrix x   ("x"   ,1,n);
+
+  // Select the best point (here, the set B is only the point i_min)
+  xnew = X.get_row(imin);
+  // Distance vector between the set B and the cache
+  Matrix dB = get_distances(X,xnew,dt);
+  dB.set_name("dB");
+  // Add to S
+  S.push_back(imin);
+  #ifdef SGTELIB_DEBUG
+    std::cout << "First point : " << imin << "\n";
+  #endif
+
+  // Select the further point from B 
+  // (nb : selecting one point randomly works as well)
+  inew = dB.get_max_index();
+  xnew = X.get_row(inew);
+  // Distance vector between the set S and the cache
+  Matrix dS = get_distances(X,xnew,dt);
+  dS.set_name("dS");
+  // Add to S
+  S.push_back(inew);
+  #ifdef SGTELIB_DEBUG
+    std::cout << "Second point : " << inew << "\n";
+  #endif
+  
+  // As B is in S, we can take the min of both distances
+  dS = Matrix::min(dS,dB);
+
+  // Compute lambda init :
+  #ifdef SGTELIB_DEBUG
+    std::cout << "Compute lambda init\n";
+  #endif
+  double lambda = 0;
+  if (lambda0!=0){
+    for (int i=0 ; i<p ; i++){
+      if (dB.get(i)>0){
+        lambda = std::max ( lambda , dS.get(i)/dB.get(i) );
+      }
+    }
+    lambda *= lambda0;
+  }
+
+
+  // Iterative selection
+  #ifdef SGTELIB_DEBUG
+    std::cout << "Start greedy selection (S.size / pS = " << S.size() << " / " << pS << ")\n";
+  #endif
+  while ((int) S.size() < pS){
+    #ifdef SGTELIB_DEBUG
+      std::cout << "New iteration with lambda = " << lambda << "\n";
+      (dS-lambda*dB).display(std::cout);
+    #endif
+    inew = (dS-lambda*dB).get_max_index();
+    #ifdef SGTELIB_DEBUG
+      std::cout << "inew : " << inew << "\n";
+    #endif
+    if (dS.get(inew)==0){
+      #ifdef SGTELIB_DEBUG
+        std::cout << "dS(inew) == 0 !\n";
+      #endif
+      // Update lambda
+      lambda *= 0.99;
+      if (lambda<1e-6) break;
+    }
+    else{
+      #ifdef SGTELIB_DEBUG
+        std::cout << "Add point " << inew << " to set\n";
+      #endif
+      // Add index in S
+      S.push_back(inew);
+      // Get coordinates of new points
+      xnew = X.get_row(inew);
+      // Update dS
+      dS = Matrix::min( dS , get_distances(X,xnew,dt) );
+      dS.set_name("dS");
+    }
+  }// End while
+
+  return S;
+}//
+
+
+/*--------------------------------------*/
+/*               display                */
+/*--------------------------------------*/
+void SGTELIB::TrainingSet::display ( std::ostream & out ) const {
+  check_ready();
+  int j;
+
+  // dimensions:
+  out << "Number of points, p=";
+  out.width(4);
+  out << _p << "  (" << _pvar << ")\n";
+  out << "Input dimension,  n=";
+  out.width(4);
+  out << _n << "  (" << _nvar << ")\n";
+  out << "Output dimension, m=";
+  out.width(4);
+  out << _m << "  (" << _mvar << ")\n";
+
+
+  if (_ready){
+    out << "X (Input matrix):\n";
+    out << "___________________________________________________________________________________\n";
+    out << "Dim|type|nbdiff|       mean        std|         lb         ub|         a          b|\n";
+    out << "---|----|------|----------------------|----------------------|---------------------|\n";
+    for ( j = 0 ; j < _n ; j++ ){
+      out.width(3);
+      out << j            <<"| ";
+      out << " NA| ";
+      out.width(5);
+      out << _X_nbdiff[j] <<"| ";
+      out.width(10);
+      out << _X_mean[j]   <<" ";
+      out.width(10);
+      out << _X_std[j]    <<"| ";
+      out.width(10); 
+      out << _X_lb[j]     <<" ";
+      out.width(10); 
+      out << _X_ub[j]     <<"|";
+      out.width(10); 
+      out << _X_scaling_a[j]     <<" ";
+      out.width(10); 
+      out << _X_scaling_b[j]     <<"|\n";
+    }
+    out << "------------------------------------------------------------------------------------\n";
+
+    out << "\n";
+
+    out << "Z (Input matrix):\n";
+    out << "___________________________________________________________________________________\n";
+    out << "Dim|type|nbdiff|       mean        std|         lb         ub|         a          b|\n";
+    out << "---|----|------|----------------------|----------------------|---------------------|\n";
+    for ( j = 0 ; j < _m ; j++ ){
+      out.width(3);
+      out << j            <<"| ";
+      out << bbo_type_to_str(_bbo[j]) << "| ";
+      out.width(5);
+      out << _Z_nbdiff[j] <<"| ";
+      out.width(10);
+      out << _Z_mean[j]   <<" ";
+      out.width(10);
+      out << _Z_std[j]    <<"| ";
+      out.width(10); 
+      out << _Z_lb[j]     <<" ";
+      out.width(10); 
+      out << _Z_ub[j]     <<"|";
+      out.width(10); 
+      out << _Z_scaling_a[j]     <<" ";
+      out.width(10); 
+      out << _Z_scaling_b[j]     <<"|\n";
+    }
+    out << "------------------------------------------------------------------------------------\n";
+    std::cout << "fs_min: " << _fs_min << "\n";
+    std::cout << "f_min:  " << _f_min << "\n";
+  }
+
+
+  out << std::endl;
+
+}//
diff --git a/ext/sgtelib/src/TrainingSet.hpp b/ext/sgtelib/src/TrainingSet.hpp
new file mode 100644
index 0000000..ec6c86d
--- /dev/null
+++ b/ext/sgtelib/src/TrainingSet.hpp
@@ -0,0 +1,232 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#ifndef __SGTELIB_TRAININGSET__
+#define __SGTELIB_TRAININGSET__
+
+#include "Matrix.hpp"
+#include "Defines.hpp"
+namespace SGTELIB {
+
+  /*--------------------------------------*/
+  /*             TrainingSet class          */
+  /*--------------------------------------*/
+  class TrainingSet {
+
+  private:
+
+    int _p; // number of data points in X and Z
+    const int _n; // dimension -- number of variables
+    const int _m; // number of outputs (includes the objective)
+    bool _ready; // True if data have been processed and are ready to be used 
+
+    // Output type
+    SGTELIB::bbo_t * _bbo;
+    bool _bbo_is_def;
+    int _j_obj; // Index of the objective
+
+    // f_min
+    double _f_min;
+    double _fs_min;
+    int _i_min; // Index of the point where f_min is reached
+    
+    // data points:
+    SGTELIB::Matrix _X; // p x n
+    SGTELIB::Matrix _Z; // p x m
+
+    // scaled matrices
+    SGTELIB::Matrix _Xs; // p x n
+    SGTELIB::Matrix _Zs; // p x m
+
+    // Distance matrix
+    SGTELIB::Matrix _Ds; // p x p
+
+    // Nb of varying data
+    int _nvar; // Nb of varying input
+    int _mvar; // Nb of varying output
+    int _pvar; // Nb of different points
+
+    // Data
+    double * _X_lb;
+    double * _X_ub;
+    double * _X_scaling_a;
+    double * _X_scaling_b;
+    double * _X_mean;
+    double * _X_std;
+    int    * _X_nbdiff;
+    int      _X_nbdiff1;
+    int      _X_nbdiff2;
+    double * _Z_lb;
+    double * _Z_ub;
+    double * _Z_replace;
+    double * _Z_scaling_a;
+    double * _Z_scaling_b;
+    double * _Z_mean;
+    double * _Z_std;
+    double * _Zs_mean;
+    int    * _Z_nbdiff;
+
+    // scaled bounds:
+    //double * _X_lb_scaled;
+    //double * _X_ub_scaled;
+
+    // Mean distance between points 
+    double _Ds_mean;
+
+    // private affectation operator:
+    TrainingSet & operator = ( const TrainingSet & );
+
+    // Data preparation 
+
+    static void compute_nbdiff   ( const SGTELIB::Matrix & MAT , 
+                                   int * nbdiff ,
+                                   int & njvar );
+
+    void compute_bounds          (void);
+    void compute_mean_std        (void);
+    void compute_nvar_mvar       (void);
+    void compute_scaling         (void);
+    void compute_Ds              (void);
+    void compute_scaled_matrices (void);
+    void compute_f_min           (void);
+    void check_singular_data     (void);
+
+    // FORBIDEN copy constructor:
+    TrainingSet ( const TrainingSet & );
+
+
+  public:
+    // constructor 1:
+    TrainingSet ( const SGTELIB::Matrix & X ,
+                  const SGTELIB::Matrix & Z );
+
+    // destructor:
+    virtual ~TrainingSet ( void );
+
+    // Define the bbo types
+    void set_bbo_type (const std::string & s);
+
+    // construct/process the data of the TrainingSet
+    void build ( void );
+
+    // check ready
+    bool is_ready ( void ) const {return _ready;};
+    void check_ready (const std::string & s) const;
+    void check_ready (const std::string & file, const std::string & function, const int & i) const;
+    void check_ready (void) const;
+
+    // add points:
+    bool add_points ( const SGTELIB::Matrix & Xnew ,
+                      const SGTELIB::Matrix & Znew  );
+    bool add_point  ( const double * xnew ,
+                      const double * znew  );
+
+    // scale and unscale:
+    void   X_scale      ( double * x ) const;
+    void   X_unscale    ( double * y ) const;
+
+    double X_scale      ( double x , int var_index ) const;
+    double X_unscale    ( double y , int var_index ) const;
+
+    void   Z_scale      ( double * z ) const;
+    void   Z_unscale    ( double * w ) const;
+    
+    double Z_scale      ( double z , int output_index ) const;
+    double Z_unscale    ( double w , int output_index ) const;
+    double ZE_unscale   ( double w , int output_index ) const;
+
+    void   X_scale      ( SGTELIB::Matrix &X);
+    void   Z_unscale    ( SGTELIB::Matrix *Z);
+    void   ZE_unscale   ( SGTELIB::Matrix *ZE);
+    SGTELIB::Matrix Z_unscale  ( const SGTELIB::Matrix & Z  );
+    SGTELIB::Matrix ZE_unscale ( const SGTELIB::Matrix & ZE );
+
+    // Get data
+    double get_Xs       ( const int i , const int j ) const;
+    double get_Zs       ( const int i , const int j ) const;
+    void   get_Xs       ( const int i , double * x  ) const;
+    void   get_Zs       ( const int i , double * z  ) const;
+    double get_Zs_mean  ( const int j ) const;
+    int    get_X_nbdiff ( const int i ) const;
+    int    get_Z_nbdiff ( const int j ) const;
+    int    get_X_nbdiff1 (void) const { check_ready(); return _X_nbdiff1; };
+    int    get_X_nbdiff2 (void) const { check_ready(); return _X_nbdiff2; };
+    double get_Ds       ( const int i1, const int i2) const;
+    const SGTELIB::Matrix get_X_nbdiff ( void ) const;
+    
+
+    SGTELIB::Matrix get_distances ( const SGTELIB::Matrix & A ,
+                                    const SGTELIB::Matrix & B , 
+                                    const distance_t dt = SGTELIB::DISTANCE_NORM2 ) const;
+
+    double get_d1_over_d2 ( const SGTELIB::Matrix & XXs ) const;
+    double get_d1         ( const SGTELIB::Matrix & XXs ) const;
+    SGTELIB::Matrix get_exclusion_area_penalty ( const SGTELIB::Matrix & XXs , const double tc ) const;
+    SGTELIB::Matrix get_distance_to_closest ( const SGTELIB::Matrix & XXs ) const;
+ 
+    // Return the index of the closest point to point i    
+    int            get_closest ( const int i ) const;
+    // Return the indexes of the nb_pts closest points to point i
+    //std::list<int> get_closest ( const int i , const int nb_pts ) const;
+
+    // Get basic information
+    int get_nb_points      ( void ) const { return _p; };
+    int get_input_dim      ( void ) const { return _n; };
+    int get_output_dim     ( void ) const { return _m; };
+    int get_nvar           ( void ) const { check_ready(); return _nvar; };
+    int get_mvar           ( void ) const { check_ready(); return _mvar; };
+    int get_pvar           ( void ) const { check_ready(); return _pvar; };
+
+    double get_fs_min      ( void ) const { check_ready(); return _fs_min; };
+    double get_f_min       ( void ) const { check_ready(); return _f_min;  };
+    int    get_i_min       ( void ) const { check_ready(); return _i_min;  };
+    double get_Ds_mean     ( void ) const { check_ready(); return _Ds_mean; };
+    int    get_j_obj       ( void ) const { check_ready(); return _j_obj; };
+    //double get_Ds_min      ( void ) const ;
+
+    SGTELIB::bbo_t get_bbo ( int j) const { check_ready(); return _bbo[j]; };
+
+    double get_X_scaling_a ( int j) const { check_ready(); return _X_scaling_a[j]; };
+
+    // Return the design matrix
+    const SGTELIB::Matrix & get_matrix_Xs ( void ) const { check_ready(); return _Xs; };
+    const SGTELIB::Matrix & get_matrix_Zs ( void ) const { check_ready(); return _Zs; };
+    const SGTELIB::Matrix & get_matrix_Ds ( void ) const { check_ready(); return _Ds; };
+
+    // display:
+    void display ( std::ostream & out ) const;
+    void info (void) const;
+
+    // Selection of points
+    std::list<int> select_greedy ( const SGTELIB::Matrix & X,
+                                   const int imin,
+                                   const int pS,
+                                   const double lambda0, 
+                                   const distance_t dt = SGTELIB::DISTANCE_NORM2);
+
+  };
+}
+
+#endif
diff --git a/ext/sgtelib/src/header.txt b/ext/sgtelib/src/header.txt
new file mode 100644
index 0000000..c297ebc
--- /dev/null
+++ b/ext/sgtelib/src/header.txt
@@ -0,0 +1,24 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2016  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
diff --git a/ext/sgtelib/src/makefile b/ext/sgtelib/src/makefile
new file mode 100644
index 0000000..a27db39
--- /dev/null
+++ b/ext/sgtelib/src/makefile
@@ -0,0 +1,97 @@
+EXE                = ../bin/sgtelib.exe
+LIB_NAME           = libsgtelib.so
+LIB_DIR            = ../lib
+LIB                = $(LIB_DIR)/$(LIB_NAME)
+COMPILATOR         = g++
+COMPILATOR_OPTIONS = -O3 -pedantic -Wall -Wextra -g3 -fpic
+
+LIB_CURRENT_VERSION= 1.0.0
+
+LIBS               = -lc -lm 
+LDLIB_EXE          = -lsgtelib 
+LDFLAGS            = -L$(LIB_DIR)
+
+UNAME             := $(shell uname)
+
+BUILD_DIR          = ../build
+
+ifeq ($(UNAME), Darwin)
+SHARED_OPTIONS_LIB = -current_version $(LIB_CURRENT_VERSION) -compatibility_version $(LIB_CURRENT_VERSION) -install_name $(LIB_NAME) -headerpad_max_install_names
+endif
+
+ifeq ($(UNAME), Linux)
+SHARED_OPTIONS_EXE = -Wl,-rpath-link,'.' -Wl,-rpath,'$$ORIGIN/../lib'
+COMPILATOR_OPTIONS+= -ansi
+LIBS              += -ldl
+endif
+
+INCLUDE            = -I.
+COMPILE            = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
+OBJS_LIB           = TrainingSet.o Surrogate_Parameters.o Surrogate_KS.o Surrogate_RBF.o \
+                     Surrogate_PRS.o Surrogate_PRS_EDGE.o Surrogate_LOWESS.o Surrogate_Kriging.o\
+                     Surrogate_PRS_CAT.o Surrogate_Ensemble.o Surrogate_CN.o \
+                     Surrogate.o Matrix.o Kernel.o Surrogate_Utils.o Surrogate_Factory.o \
+                     Tests.o sgtelib_help.o
+OBJS_MAIN          = sgtelib.o 
+
+OBJS_MAIN         := $(addprefix $(BUILD_DIR)/,$(OBJS_MAIN))
+OBJS_LIB          := $(addprefix $(BUILD_DIR)/,$(OBJS_LIB))
+
+.SECONDARY: %.o
+
+all: $(OBJS_LIB) $(LIB) $(OBJS_MAIN) $(EXE)
+
+$(EXE): $(OBJS_MAIN) $(LIB)
+	@echo
+	@echo "== Making $@ =="
+	$(call DisplayCommand,$(COMPILATOR) -o $@ $< $(LIBS) $(LDLIB_EXE) $(COMPILATOR_OPTIONS) $(LDFLAGS) $(SHARED_OPTIONS_EXE))
+ifeq ($(UNAME), Darwin)
+	@install_name_tool -change $(LIB_NAME) @loader_path/$(LIB) $@
+endif
+	@echo
+
+$(LIB): $(OBJS_LIB)
+	@echo
+	@echo "== Making $@ =="
+	$(call DisplayCommand,$(COMPILATOR) -shared -o $@ $(OBJS_LIB) $(LIBS) $(COMPILATOR_OPTIONS) $(SHARED_OPTIONS_LIB))
+
+$(BUILD_DIR)/%.o: %.cpp %.hpp
+	@mkdir -p $(BUILD_DIR) $(LIB_DIR)	../bin
+	$(call DisplayCommand,$(COMPILE) $< -o $@)
+
+$(BUILD_DIR)/%.o: %.cpp
+	@mkdir -p $(BUILD_DIR) $(LIB_DIR) ../bin
+	$(call DisplayCommand,$(COMPILE) $< -o $@)
+
+.PHONY : clean	
+clean:
+	@echo " --> cleaning obj files" 
+	$(call DisplayCommand0,rm -f $(OBJS_LIB) $(OBJS_MAIN) )
+
+.PHONY : del
+del:
+	@echo " --> cleaning trash files" 
+	$(call DisplayCommand0,rm -f core *~)
+	@echo " --> cleaning obj files"
+	$(call DisplayCommand0,rm -f $(OBJS_LIB) $(OBJS_MAIN) )
+	@echo " --> cleaning exe file" 
+	$(call DisplayCommand0,rm -f $(EXE))
+	@echo " --> cleaning library file" 
+	$(call DisplayCommand0,rm -f $(LIB))
+
+
+ifdef SHORT_DISPLAY
+define DisplayCommand	
+	@if $(1) ; then echo "---> $@ OK" ; else echo "compilation failed for $@" ; fi
+endef
+define DisplayCommand0
+	@if $(1) ; then echo " ----> OK" ; else echo " ----> FAILED" ; fi
+endef
+else
+define DisplayCommand	
+	$(1)
+endef
+define DisplayCommand0
+	$(1)
+endef
+endif
diff --git a/ext/sgtelib/src/sgtelib.cpp b/ext/sgtelib/src/sgtelib.cpp
new file mode 100644
index 0000000..c9f5465
--- /dev/null
+++ b/ext/sgtelib/src/sgtelib.cpp
@@ -0,0 +1,782 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+#include "sgtelib.hpp"
+#include "Surrogate_Factory.hpp"
+#include "Surrogate_Utils.hpp"
+#include <fstream>
+#include <string>
+using namespace SGTELIB;
+
+/*--------------------------------------*/
+/*           main function              */
+/*--------------------------------------*/
+int main ( int argc , char ** argv ) {
+
+  int i,j,ikw;
+  bool error = false;
+
+  //============================================
+  // Check action
+  //============================================
+  std::vector<std::string> keyword;
+  // Consider only the action keywords.
+  keyword.push_back("-predict");
+  keyword.push_back("-help");
+  keyword.push_back("-test");
+  keyword.push_back("-server");
+  keyword.push_back("-best");
+
+  // Check that exactly one action is required.
+  std::string action = "null";
+  for (i=1 ; i<argc ; i++){
+    for (j=0 ; j<static_cast<int>(keyword.size()) ; j++){
+      //std::cout << argv[i] << " vs " << keyword.at(j) << "\n";
+      if (streq(argv[i],keyword.at(j))){
+        // action kw found.
+        if (streq(action,"null")){
+          action = argv[i];
+        }
+        else{
+          std::cout << "Error! Two actions have been requested: \"" << action << "\" and \"" << argv[i] << "\".\n";
+          std::cout << "You can only perform one action at a time.\n";
+          error = true;
+        }
+      }
+    }
+  }
+  if (!strcmp(action.c_str(),"null")){
+    std::cout << "Error! No action was found.\n";
+    error = true;
+  }
+
+  //============================================
+  // Add other keywords. 
+  //============================================
+  keyword.push_back("-model");
+  keyword.push_back("-verbose");
+  const int NKW = static_cast<int>(keyword.size());
+  // Create empty strings to store the information following each keyword.
+  std::vector<std::string> info;
+  for (i=0 ; i<NKW ; i++){
+    info.push_back("");
+  }
+
+  //============================================
+  // Parse
+  //============================================
+  i = 1;
+  j = -1;
+  while (i<argc){
+    // Check if the word is one of the keywords.
+    bool found_kw = false;
+    for  (ikw=0 ; ikw<NKW ; ikw++){
+      if (!strcmp( keyword.at(ikw).c_str(),argv[i] )){
+        j = ikw;
+        found_kw = true;
+        //std::cout << "keyword: " <<keyword.at(ikw) << "\n";
+        break;
+      }
+    }
+    if (j==-1){
+      // If no kw was specified, break.
+      error = true;
+      break;
+    }
+    // Then continue ready the words for the current keyword.
+    info.at(j) += " ";
+    if ( ! found_kw) info.at(j) += std::string(argv[i]);
+    i++;
+  }
+
+ //============================================ 
+  // help
+  //============================================ 
+  bool verbose=false;
+  for (i=0 ; i<NKW ; i++) {
+    if (!strcmp(keyword.at(i).c_str(),"-verbose")) break;
+  }
+  if (info.at(i).size()){
+    std::cout << "verbose mode\n";
+    verbose = true;
+  }
+
+
+  //============================================
+  // Deblank
+  //============================================
+  for (i=0 ; i<NKW ; i++) {
+    if (info.at(i).size()){
+      info.at(i) = SGTELIB::deblank(info.at(i));
+    }
+  }
+
+  //============================================
+  // Display error
+  //============================================
+  if (error){
+    // Display results
+    for (i=0 ; i<NKW ; i++) {
+      if (info.at(i).size()){
+        std::cout << keyword.at(i) << " \"" << info.at(i) << "\"\n";
+      }
+    }
+    std::cout << "Could not parse command.\n";
+  }
+
+  //============================================ 
+  // Search for best model
+  //============================================ 
+  if (!strcmp(action.c_str(),"-best")){
+    for (i=0 ; i<NKW ; i++) {
+      if (!strcmp(keyword.at(i).c_str(),"-best")) break;
+    }
+    SGTELIB::sgtelib_best(info.at(i),verbose);
+  }
+
+ 
+  
+  //============================================ 
+  // Get model name
+  //============================================
+  std::string model;
+  for (i=0 ; i<NKW ; i++) {
+    if (!strcmp(keyword.at(i).c_str(),"-model")) break;
+  }
+  model = info.at(i);
+  if (!strcmp(model.c_str(),"")){
+    model = "TYPE ENSEMBLE PRESET SUPER1 METRIC PRESS";
+  }
+
+
+  //============================================ 
+  // predict
+  //============================================ 
+  if (!strcmp(action.c_str(),"-predict")){
+    std::cout << "model: " << model << "\n";
+    for (i=0 ; i<NKW ; i++) {
+      if (!strcmp(keyword.at(i).c_str(),"-predict")) break;
+    }
+    SGTELIB::sgtelib_predict(info.at(i),model);
+  }
+
+  //============================================ 
+  // help
+  //============================================ 
+  if (!strcmp(action.c_str(),"-help") || error){
+    std::string model;
+    for (i=0 ; i<NKW ; i++) {
+      if (!strcmp(keyword.at(i).c_str(),"-help")) break;
+    }
+    SGTELIB::sgtelib_help(info.at(i));
+  }
+
+  //============================================ 
+  // server
+  //============================================ 
+  if (!strcmp(action.c_str(),"-server")){
+    std::cout << "model: " << model << "\n";
+    SGTELIB::sgtelib_server(model,verbose);
+  }
+
+  //============================================ 
+  // test
+  //============================================ 
+  if (!strcmp(action.c_str(),"-test")){
+    SGTELIB::sgtelib_test();
+  }
+
+  //std::cout << "Quit sgtelib.\n";
+
+  return 0;
+}
+
+
+
+
+
+
+
+/*--------------------------------------*/
+/*           one prediction             */
+/*--------------------------------------*/
+void SGTELIB::sgtelib_predict( const std::string & file_list , const std::string & model ){
+  bool error = false;
+  std::string file;
+  SGTELIB::Matrix X,Z,XX,ZZ;
+  std::istringstream in_line (file_list);	
+  if ( ( ! error) && (in_line >> file) && (SGTELIB::exists(file)) ){
+    std::cout << "Read file " << file << "\n";
+    X = SGTELIB::Matrix(file);
+    //X.display(std::cout);
+  }
+  else{
+    std::cout << "Could not find " << file << "\n";
+    error = true;
+  }
+  if ( ( ! error) && (in_line >> file) && (SGTELIB::exists(file)) ){
+    std::cout << "Read file " << file << "\n";
+    Z = SGTELIB::Matrix(file);
+    //Z.display(std::cout);
+  }
+  else{
+    std::cout << "Could not find " << file << "\n";
+    error = true;
+  }
+  if ( ( ! error) &&  (in_line >> file) && (SGTELIB::exists(file)) ){
+    std::cout << "Read file " << file << "\n";
+    XX = SGTELIB::Matrix(file);
+    //XX.display(std::cout);
+  }
+  else{
+    std::cout << "Could not find " << file << "\n";
+    error = true;
+  }
+  if ( ! (in_line >> file)){
+    std::cout << "No zz file (display output in terminal)\n";
+    file = "null";
+  }
+  if ( ! error){
+    SGTELIB::TrainingSet TS(X,Z);
+    SGTELIB::Surrogate * S = Surrogate_Factory(TS,model);
+    S->build();
+    ZZ = SGTELIB::Matrix("ZZ",XX.get_nb_rows(),Z.get_nb_cols());
+    S->predict(XX,&ZZ);
+    ZZ.set_name("ZZ");
+    if (strcmp(file.c_str(),"null")){
+      std::cout << "Write output matrix in " << file << "\n";
+      ZZ.write(file);
+    }
+    else{
+      ZZ.display(std::cout);
+    }
+
+  }
+  if (error){
+    sgtelib_help();
+  }
+}//
+
+
+
+
+
+
+/*--------------------------------------*/
+/* find best model for a set of data    */
+/*--------------------------------------*/
+void SGTELIB::sgtelib_best( const std::string & file_list , const bool verbose){
+  bool error = false;
+  std::string file;
+  SGTELIB::Matrix X,Z;
+  std::istringstream in_line (file_list);	
+  if ( ( ! error) && (in_line >> file) && (SGTELIB::exists(file)) ){
+    std::cout << "Read file " << file << "\n";
+    X = SGTELIB::Matrix(file);
+  }
+  else{
+    std::cout << "Could not find " << file << "\n";
+    error = true;
+  }
+  if ( ( ! error) && (in_line >> file) && (SGTELIB::exists(file)) ){
+    std::cout << "Read file " << file << "\n";
+    Z = SGTELIB::Matrix(file);
+  }
+  else{
+    std::cout << "Could not find " << file << "\n";
+    error = true;
+  }
+  if (error){
+    sgtelib_help();
+    return;
+  }
+
+
+  std::string m;
+  double v;
+
+  SGTELIB::TrainingSet TS(X,Z);
+  for (int i=0 ; i<2 ; i++){
+    std::cout << "=============================================================\n";
+    if (i==0){
+      std::cout << "Test models for optimization...\n";
+      m = "AOECV";
+    }
+    else{
+      std::cout << "Test models for prediction...\n";
+      m = "ARMSECV";
+    }
+    std::cout << "=============================================================\n";
+
+    std::vector<std::string> model_list;
+    model_list.push_back("TYPE PRS DEGREE OPTIM RIDGE OPTIM");
+    model_list.push_back("TYPE KS  KERNEL_SHAPE OPTIM KERNEL_TYPE OPTIM DISTANCE OPTIM");
+    model_list.push_back("TYPE RBF PRESET O KERNEL_SHAPE OPTIM KERNEL_TYPE OPTIM DISTANCE OPTIM");
+    model_list.push_back("TYPE RBF PRESET R KERNEL_SHAPE OPTIM KERNEL_TYPE OPTIM DISTANCE OPTIM RIDGE OPTIM");
+    model_list.push_back("TYPE RBF PRESET I KERNEL_SHAPE OPTIM KERNEL_TYPE OPTIM DISTANCE OPTIM RIDGE OPTIM");
+    model_list.push_back("TYPE LOWESS DEGREE OPTIM KERNEL_SHAPE OPTIM KERNEL_TYPE OPTIM DISTANCE OPTIM RIDGE OPTIM");
+    model_list.push_back("TYPE KRIGING");
+    model_list.push_back("TYPE CN");
+    std::vector<double> model_metric;
+
+    double vmin = +INF;
+    std::cout << "Testing ";
+    if (verbose) std::cout << "...\n";
+    for (std::vector<std::string>::iterator it_model = model_list.begin() ; it_model != model_list.end(); ++it_model){
+      std::string model_def = *it_model+" METRIC "+m+" BUDGET 500";
+      SGTELIB::Surrogate * S = Surrogate_Factory(TS,model_def);
+      if (verbose) std::cout << *it_model << "\n";
+      else std::cout << model_type_to_str(S->get_type()) << " ";
+      S->build();
+      if (S->is_ready()){
+        v = S->get_metric(SGTELIB::str_to_metric_type(m),0);
+        model_metric.push_back(v);
+        vmin = std::min(v,vmin);
+        if (verbose) std::cout << "===> " << v << "\n";
+      }
+      else{
+        model_metric.push_back(+INF);
+        if (verbose) std::cout << "===> no ready\n";
+      }
+      // Store model definition after parameter optimization
+      *it_model = S->get_string();
+      // Delete model
+      SGTELIB::surrogate_delete(S);
+    }
+    std::cout << "\n";
+    std::cout << "Best metric: " << m << " = " << vmin << "\n";
+    std::cout << "Best model(s):\n ";
+    for (int k=0 ; k<int(model_list.size()) ; k++){
+      if (model_metric.at(k)<=vmin+EPSILON){
+        std::cout << model_list.at(k) << "\n";
+      }
+    }
+
+  }
+  std::cout << "=============================================================\n";
+
+    
+}//
+
+
+/*--------------------------------------*/
+/*           sgtelib server             */
+/*--------------------------------------*/
+void SGTELIB::sgtelib_server( const std::string & model , const bool verbose ){
+
+  SGTELIB::TrainingSet * TS = NULL;
+  SGTELIB::Surrogate * S = NULL;
+  SGTELIB::Matrix X, Z, std, ei, cdf;
+  std::string dummy_str;
+
+  std::cout << "========== SERVER ==========================\n";  
+
+
+  std::cout << "Start server\n";
+  std::cout << "Remove all flag files...\n";
+  dummy_str = system("rm flag_* 2>/dev/null");
+  std::cout << "Ok.\n";
+
+  int dummy_k = 0;
+  int pxx = 0;
+  int m = 0;
+  const bool display = verbose;
+
+  std::ofstream out;
+  std::ifstream in;
+  
+  while (true){
+
+    SGTELIB::wait(0.01);
+
+    if (SGTELIB::exists("flag_new_data_transmit")){
+      //------------------------------
+      // NEW DATA
+      //------------------------------
+      std::cout << "============flag: new_data===================\n";
+      dummy_k = 0;
+      dummy_str = system("mv flag_new_data_transmit flag_new_data_received");
+      if (display) std::cout << "Read new data";
+      X = SGTELIB::Matrix("new_data_x.txt");
+      Z = SGTELIB::Matrix("new_data_z.txt");
+      if (display) X.display_short(std::cout);
+      if (display) Z.display_short(std::cout);
+      std::cout << X.get_nb_rows() << " new data points...\n";
+
+      if ( ! S){
+        if (display) std::cout << "First data: Build Trainig Set & Model\n";
+        TS = new SGTELIB::TrainingSet(X,Z);
+        S = Surrogate_Factory(*TS,model);
+        m = TS->get_output_dim();
+        dummy_str = system("rm -f flag_not_ready");
+      }
+      else{
+        if (display) std::cout << "Add points to TS\n";
+        TS->add_points(X,Z);
+      }
+      dummy_str = system("rm new_data_x.txt new_data_z.txt");
+      if (display) std::cout << "Waiting...\n";
+
+    }
+    else if (SGTELIB::exists("flag_predict_transmit")){
+      //------------------------------
+      // PREDICT
+      //------------------------------
+      std::cout << "============flag: predict==================" << dummy_k++ << "\n";
+      dummy_str = system("mv flag_predict_transmit flag_predict_received");
+
+      bool ready = false;
+      if (S){
+        if (display) std::cout << "Build Sgte (" << TS->get_nb_points() << " pts)\n";
+        ready = S->build();      
+        if (display) S->display(std::cout);
+      }
+
+      // Read input matrix
+      if (display) std::cout << "Read matrix... ";
+      X = SGTELIB::Matrix("flag_predict_received");
+      pxx = X.get_nb_rows();
+      Z = SGTELIB::Matrix("ZZ",pxx,m);
+      std = SGTELIB::Matrix("std",pxx,m);
+      ei = SGTELIB::Matrix("ei",pxx,m);
+      cdf = SGTELIB::Matrix("cdf",pxx,m);
+      if (ready){
+        // Do prediction
+        if (display) std::cout << "Predict... ";
+        S->predict(X,&Z,&std,&ei,&cdf);
+        //S->predict(X,&Z,NULL,NULL,NULL);
+        if (display) X.display_short(std::cout);
+        if (display) Z.display_short(std::cout);
+      }
+      else{
+        if (display) std::cout << "Surrogate not ready\n";
+        dummy_str = system("touch flag_not_ready");
+        Z.fill(+SGTELIB::INF);
+      }
+      
+      // Open stream and write matrices
+      if (display) std::cout << "Write output.\n";    
+      out.open ("flag_predict_received");
+      {
+        // Correct matrix names
+        Z.set_name("Z");
+        std.set_name("std");
+        ei.set_name("ei");
+        cdf.set_name("cdf");
+        // Write matrices 
+        Z.display(out);
+        std.display(out);
+        ei.display(out);
+        cdf.display(out);
+      }
+      out.close(); 
+
+      // Change flag
+      dummy_str = system("mv flag_predict_received flag_predict_finished");
+      if (display) std::cout << "Waiting...\n";
+
+    }
+    else if (SGTELIB::exists("flag_cv_transmit")){
+      //------------------------------
+      // CV values
+      //------------------------------
+      std::cout << "============flag: cv values==================" << dummy_k++ << "\n";
+      dummy_str = system("mv flag_cv_transmit flag_cv_received");
+
+      bool ready = false;
+      if (S) ready = S->build();      
+      if ( ! ready){
+        if (display) std::cout << "Surrogate not ready\n";
+        dummy_str = system("touch flag_not_ready");
+      }
+      else{
+        S->display(std::cout);
+      }
+
+      SGTELIB::Matrix Zh, Sh, Zv, Sv;
+      if (ready){
+        Zh = S->get_matrix_Zh();
+        Sh = S->get_matrix_Sh();
+        Zv = S->get_matrix_Zv();
+        Sv = S->get_matrix_Sv();
+      }
+      else{
+        if (display) std::cout << "Surrogate not ready\n";
+        dummy_str = system("touch flag_not_ready");
+      }
+      
+      // Open stream and write matrices
+      if (display) std::cout << "Write output.\n";    
+      out.open ("flag_cv_received");
+      {
+        // Correct matrix names
+        Zh.set_name("Zh");
+        Sh.set_name("Sh");
+        Zv.set_name("Zv");
+        Sv.set_name("Sv");
+        // Write matrices 
+        Zh.display(out);
+        Sh.display(out);
+        Zv.display(out);
+        Sv.display(out);
+      }
+      out.close(); 
+
+      // Change flag
+      dummy_str = system("mv flag_cv_received flag_cv_finished");
+      if (display) std::cout << "Waiting...\n";
+
+    }
+    else if (SGTELIB::exists("flag_metric_transmit")){
+      //------------------------------
+      // METRIC
+      //------------------------------
+
+      std::cout << "============flag: metric===================" << dummy_k++ << "\n";
+      dummy_str = system("mv flag_metric_transmit flag_metric_received");
+
+      bool ready = false;
+      if (S) ready = S->build();      
+      if ( ! ready){
+        if (display) std::cout << "Surrogate not ready\n";
+        dummy_str = system("touch flag_not_ready");
+      }
+
+
+      std::string metric_string;
+      SGTELIB::metric_t mt;
+      double metric_value;
+
+      // Read metric_string
+      in.open("flag_metric_received");
+      in >> metric_string;
+      in.close();
+      if (display) std::cout << "metric : " << metric_string << "\n";   
+      mt = SGTELIB::str_to_metric_type(metric_string);
+
+      // Open stream and write metric
+      if (display) std::cout << "Write output.\n";    
+      out.open ("flag_metric_received");
+      if (ready){
+        for (int j=0 ; j<TS->get_output_dim() ; j++){
+          metric_value = S->get_metric(mt,j);
+          out << metric_value << " ";
+          if (display){
+            std::cout << "output[" << j << "]: " << metric_value << "\n";
+          }
+        }
+      }
+      else{
+        out << -1;
+      }
+      out.close(); 
+
+      // Change flag
+      dummy_str = system("mv flag_metric_received flag_metric_finished");
+      if (display) std::cout << "Waiting...\n";
+
+    }
+    else if (SGTELIB::exists("flag_info_transmit")){
+      //------------------------------
+      // INFO
+      //------------------------------
+
+      std::cout << "============flag: info===================" << dummy_k++ << "\n";
+      dummy_str = system("mv flag_info_transmit flag_info_received");
+
+      bool ready = false;
+      if (S) ready = S->build();      
+      if ( ! ready){
+        if (display) std::cout << "Surrogate not ready\n";
+        dummy_str = system("touch flag_not_ready");
+      }
+
+      // Open stream and write metric
+      if (ready) S->display(std::cout);
+      else std::cout << "Not ready.";
+      // Change flag
+      dummy_str = system("mv flag_info_received flag_info_finished");
+      if (display) std::cout << "Waiting...\n";
+
+    }
+    else if (SGTELIB::exists("flag_reset_transmit")){
+      //------------------------------
+      // RESET
+      //------------------------------
+
+      std::cout << "============flag: reset======================" << "\n";
+      dummy_str = system("mv flag_reset_transmit flag_reset_received");
+
+      surrogate_delete(S);
+      delete TS;
+      TS = NULL;
+      S = NULL;
+
+      if (display) std::cout << "Pointers: S=" << S << ", TS=" << TS << "\n";
+
+      // Change flag
+      dummy_str = system("mv flag_reset_received flag_reset_finished");
+      if (display) std::cout << "Waiting...\n";
+
+    }
+    else if (SGTELIB::exists("flag_ping")){
+      //------------------------------
+      // PING 
+      //------------------------------
+      if (display) std::cout << "ping ";
+      // Write state in the ping file
+
+      bool ready = false;
+      if (S){
+        if (display) std::cout << "Build Sgte (" << TS->get_nb_points() << " pts)\n";
+        ready = S->build();
+      }
+      if (ready){  
+        std::cout << "pong: Model is ready.\n";
+        dummy_str = system("echo 1 >> flag_ping");
+      }
+      else{
+        std::cout << "pong: Model is not ready.\n";
+        dummy_str = system("echo 0 >> flag_ping");
+      }
+      // Send an answer!
+      dummy_str = system("mv flag_ping flag_pong");
+    }
+    else if (SGTELIB::exists("flag_quit")){
+      //------------------------------
+      // QUIT
+      //------------------------------
+      surrogate_delete(S);
+      delete TS;
+      dummy_str = system("rm flag_quit");
+      std::cout << "flag: quit\n";
+      break;
+    }
+
+  }
+
+  std::cout << "Remove all flag files...";
+  dummy_str = system("rm    flag_* 2>/dev/null");
+  std::cout << "Ok.\n";
+
+  std::cout << "Quit server\n";
+
+}//
+
+
+
+
+
+/*--------------------------------------*/
+/*           help                       */
+/*--------------------------------------*/
+void SGTELIB::sgtelib_help( std::string word ){
+
+  int i,j;
+  if (!strcmp(word.c_str(),"")) word = "GENERAL";
+  //std::cout << "HELP about " << word << "\n";
+
+  std::string ** DATA = SGTELIB::get_help_data();
+  const int NL = SGTELIB::dim_help_data();
+  bool failedsearch = true;
+  bool found = false;
+
+  for (j=0 ; j<3 ; j++){
+    // j=0 => search in title
+    // j=1 => search in associated keywords
+    // j=2 => search in content
+    for (i=0 ; i<NL ; i++){
+      if ( (SGTELIB::string_find(DATA[i][j],word)) || (streqi(word,"ALL")) ){
+        //std::cout << i << " " << j << " " << (SGTELIB::string_find(DATA[i][j],word)) << " " << word << " " << DATA[i][j] << "\n";
+        std::cout << "===============================================\n\n";
+        std::cout << "  \33[4m" << DATA[i][0] << "\33[0m" << "\n\n";
+        //std::cout << "  ***  " << DATA[i][0] << "  ***  " << "\n\n";
+        std::cout << DATA[i][2] << "\n\n";
+        found = true;
+        failedsearch = false;
+      }
+    }
+    // If some data where found for this value of j (i.e. for this depth of search)
+    // then we don't search for higher j. 
+    if (found) break;
+  }
+
+  // Search if the word appears in the keywords of some datum. 
+  std::string SeeAlso = "\33[4mSee also\33[0m:";
+  found = false;
+  for (i=0 ; i<NL ; i++){
+    if ( SGTELIB::string_find(DATA[i][1],word) ){
+      SeeAlso+=" "+DATA[i][0];
+      found = true;
+    }
+  }
+  if (found){
+    std::cout << "=======================================\n";
+    std::cout << "\n" << SeeAlso << "\n\n";
+    std::cout << "=======================================\n";
+  }
+
+  if (failedsearch){
+      std::cout << "We could not find any information associated to your search.\n";
+      SGTELIB::sgtelib_help("MAIN");
+  }
+
+
+}//
+
+
+
+
+
+
+/*--------------------------------------*/
+/*           test                       */
+/*--------------------------------------*/
+void SGTELIB::sgtelib_test( void ){
+
+    SGTELIB::sand_box();
+
+    SGTELIB::Matrix X0;
+    SGTELIB::Matrix Z0;
+
+    std::cout << "========== TEST MANY MODELS ==========================\n";  
+
+    SGTELIB::build_test_data("hartman6",X0,Z0);
+    SGTELIB::test_many_models("output_hartman6.txt",X0,Z0);
+
+    SGTELIB::build_test_data("hartman3",X0,Z0);
+    SGTELIB::test_many_models("output_hartman3.txt",X0,Z0);
+
+    SGTELIB::build_test_data("braninhoo",X0,Z0);
+    SGTELIB::test_many_models("output_braninhoo.txt",X0,Z0);
+
+    SGTELIB::build_test_data("camelback",X0,Z0);
+    SGTELIB::test_many_models("output_camelback.txt",X0,Z0);
+
+    SGTELIB::build_test_data("rosenbrock",X0,Z0);
+    SGTELIB::test_many_models("output_rosenbrock.txt",X0,Z0);
+
+
+    std::cout << "========== END ================================\n"; 
+}//
diff --git a/ext/sgtelib/src/sgtelib.hpp b/ext/sgtelib/src/sgtelib.hpp
new file mode 100644
index 0000000..a14fa27
--- /dev/null
+++ b/ext/sgtelib/src/sgtelib.hpp
@@ -0,0 +1,46 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+// SGTELIB 2014-02-07
+
+#ifndef __SGTELIB__
+#define __SGTELIB__
+
+#include "Surrogate_Factory.hpp"
+#include "Tests.hpp"
+#include "Matrix.hpp"
+#include "Defines.hpp"
+#include "Surrogate_Utils.hpp"
+#include "sgtelib_help.hpp"
+
+namespace SGTELIB {
+  void sgtelib_server ( const std::string & model , const bool verbose );
+  void sgtelib_predict ( const std::string & file_list , const std::string & model );
+  void sgtelib_best    ( const std::string & file_list , const bool verbose );
+  void sgtelib_help ( std::string word="GENERAL" );
+  void sgtelib_test ( void );
+}
+
+#endif
diff --git a/ext/sgtelib/src/sgtelib_help.cpp b/ext/sgtelib/src/sgtelib_help.cpp
new file mode 100644
index 0000000..5331a7c
--- /dev/null
+++ b/ext/sgtelib/src/sgtelib_help.cpp
@@ -0,0 +1,516 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+
+#include "sgtelib_help.hpp"
+
+
+//================================
+//  Get dimension of HELP_DATA
+//================================
+int SGTELIB::dim_help_data (void){
+  return 32;
+}//
+
+//================================
+//  Construct the help data
+//================================
+std::string ** SGTELIB::get_help_data (void){
+  int i;
+  const int NL = 32;
+  const int NC = 3;
+  std::string ** HELP_DATA = new std::string * [NL];
+  for (i = 0 ; i<NL ; i++) HELP_DATA[i] = new std::string [NC];
+  i = 0;
+  //================================
+  //      GENERAL
+  //================================
+  HELP_DATA[i][0] = "GENERAL";
+  HELP_DATA[i][1] = "GENERAL MAIN SGTELIB HELP";
+  HELP_DATA[i][2] = "sgtelib is a dynamic surrogate modeling library. Given a set of data points [X,z(X)], it allows to estimate the value of z(x) for any x.\n"
+" \n"
+"sgtelib can be called in 5 modes  \n"
+" * -predict: build a model on a set of data points and perform a prediction on a set of prediction points. See PREDICT for more information. This requires the definition of a model with the option -model, see MODEL.\n"
+"      sgtelib.exe -model <model description> -predict <input/output files>\n"
+"      sgtelib.exe -model TYPE PRS DEGREE 2 -predict x.txt z.txt xx.txt zz.txt\n"
+" \n"
+" * -server: starts a server that can be interrogated to perform predictions or compute the error metric of a model. The server should be used via the Matlab interface (see SERVER). This requires the definition of a model with the option -model, see MODEL. \n"
+"      sgtelib.exe -server -model <model description>\n"
+"      sgtelib.exe -server -model TYPE LOWESS SHAPE_COEF OPTIM\n"
+" \n"
+" * -best: returns the best type of model for a set of data points\n"
+"      sgtelib.exe -best <x file name> <z file name>\n"
+"      sgtelib.exe -best x.txt z.txt\n"
+" \n"
+" * -help: allows to ask for some information about some keyword.\n"
+"      sgtelib.exe -help keyword\n"
+"      sgtelib.exe -help DEGREE\n"
+"      sgtelib.exe -help LOWESS\n"
+"      sgtelib.exe -help\n"
+" \n"
+" * -test: runs a test of the sgtelib library.\n"
+"      sgtelib.exe -test\n"
+" ";
+  i++;
+  //================================
+  //      PREDICT
+  //================================
+  HELP_DATA[i][0] = "PREDICT";
+  HELP_DATA[i][1] = "PREDICT PREDICTION INLINE SGTELIB";
+  HELP_DATA[i][2] = "Performs a prediction in command line on a set of data provided through text files. If no ZZ file is provided, the predictions are displayed in the terminal. If no model is provided, the default model is used.\n"
+" \n"
+"Example\n"
+"      sgtelib.exe -predict <x file name> <z file name> <xx file name>\n"
+"      sgtelib.exe -predict x.txt z.txt xx.txt -model TYPE PRS DEGREE 2\n"
+"      sgtelib.exe -predict x.txt z.txt xx.txt zz.txt";
+  i++;
+  //================================
+  //      BEST
+  //================================
+  HELP_DATA[i][0] = "BEST";
+  HELP_DATA[i][1] = "GENERAL BEST SGTELIB";
+  HELP_DATA[i][2] = "Displays the description of the model that best fit the data provided in text files.\n"
+" \n"
+"Example\n"
+"       sgtelib.exe -best x_file.txt z.file.txt ";
+  i++;
+  //================================
+  //      SERVER
+  //================================
+  HELP_DATA[i][0] = "SERVER";
+  HELP_DATA[i][1] = "SERVER MATLAB SGTELIB";
+  HELP_DATA[i][2] = "Starts a sgtelib server. See MATLAB_SERVER for more details.\n"
+" \n"
+"Example\n"
+"      sgtelib.exe -server -model TYPE LOWESS DEGREE 1 KERNEL_SHAPE OPTIM";
+  i++;
+  //================================
+  //      MODEL
+  //================================
+  HELP_DATA[i][0] = "MODEL";
+  HELP_DATA[i][1] = "MODEL FIELD DESCRIPTION MODEL_DESCRIPTION DEFINITION MODEL_DEFINITION TYPE";
+  HELP_DATA[i][2] = "Models in sgtelib are defined by using a succession of field names (see FIELD for the list of possible fields) and field values. Each field name is made of one single word. Each field value is made of one single word or numerical value. It is good practice to start by the field name TYPE, followed by the model type. \n"
+" \n"
+"Possible field names  \n"
+" * TYPE: mandatory field that specifies the type of model \n"
+" * DEGREE: degree of the model for PRS and LOWESS models \n"
+" * RIDGE: regularization parameter for PRS, RBF and LOWESS models \n"
+" * KERNEL_TYPE: Kernel function for RBF, KS, LOWESS and KRIGING models \n"
+" * KERNEL_SHAPE: Shape coefficient for RBF, KS and LOWESS models \n"
+" * METRIC_TYPE: Error metric used as criteria for model parameter optimization/selection \n"
+" * DISTANCE_TYPE: Metric used to compute the distance between points \n"
+" * PRESET: Special information for some types of model \n"
+" * WEIGHT_TYPE: Defines how the weights of Ensemble of model are computed \n"
+" * BUDGET: Defines the parameter optimization budget \n"
+" * OUTPUT: Defines the output text file ";
+  i++;
+  //================================
+  //      FIELD
+  //================================
+  HELP_DATA[i][0] = "FIELD";
+  HELP_DATA[i][1] = "FIELD NAME FIELD_NAME MODEL DEFINITION DESCRIPTION";
+  HELP_DATA[i][2] = "A model description is composed of field names and field values.\n"
+" \n"
+"Example\n"
+"      TYPE <model type> FIELD1 <field 1 value> FIELD2 <field 2 value>";
+  i++;
+  //================================
+  //      PRS
+  //================================
+  HELP_DATA[i][0] = "PRS";
+  HELP_DATA[i][1] = "TYPE POLYNOMIAL RESPONSE SURFACE QUADRATIC";
+  HELP_DATA[i][2] = "PRS (Polynomial Response Surface) is a type of model. \n"
+" \n"
+"Authorized fields for this type of model  \n"
+" * DEGREE (Can be optimized) \n"
+" * RIDGE (Can be optimized) \n"
+" \n"
+"Example\n"
+"      TYPE PRS DEGREE 2\n"
+"      TYPE PRS DEGREE OPTIM RIDGE OPTIM";
+  i++;
+  //================================
+  //      PRS_EDGE
+  //================================
+  HELP_DATA[i][0] = "PRS_EDGE";
+  HELP_DATA[i][1] = "TYPE POLYNOMIAL RESPONSE SURFACE QUADRATIC DISCONTINUITY DISCONTINUITIES EDGE";
+  HELP_DATA[i][2] = "PRS_EDGE (Polynomial Response Surface EDGE) is a type of model that allows to model discontinuities at 0 by using additional basis functions. \n"
+" \n"
+"Authorized fields for this type of model  \n"
+" * DEGREE (Can be optimized) \n"
+" * RIDGE (Can be optimized) \n"
+" \n"
+"Example\n"
+"      TYPE PRS_EDGE DEGREE 2\n"
+"      TYPE PRS_EDGE DEGREE OPTIM RIDGE OPTIM";
+  i++;
+  //================================
+  //      PRS_CAT
+  //================================
+  HELP_DATA[i][0] = "PRS_CAT";
+  HELP_DATA[i][1] = "TYPE POLYNOMIAL RESPONSE SURFACE QUADRATIC DISCONTINUITY DISCONTINUITIES";
+  HELP_DATA[i][2] = "PRS_CAT (Categorical Polynomial Response Surface) is a type of model that allows to build one PRS model for each different value of the first component of x. \n"
+" \n"
+"Authorized fields for this type of model  \n"
+" * DEGREE (Can be optimized) \n"
+" * RIDGE (Can be optimized) \n"
+" \n"
+"Example\n"
+"      TYPE PRS_CAT DEGREE 2\n"
+"      TYPE PRS_CAT DEGREE OPTIM RIDGE OPTIM";
+  i++;
+  //================================
+  //      RBF
+  //================================
+  HELP_DATA[i][0] = "RBF";
+  HELP_DATA[i][1] = "TYPE RADIAL BASIS FUNCTION KERNEL";
+  HELP_DATA[i][2] = "RBF (Radial Basis Function) is a type of model. \n"
+" \n"
+"Authorized fields for this type of model  \n"
+" * KERNEL_TYPE (Can be optimized) \n"
+" * KERNEL_COEF (Can be optimized) \n"
+" * DISTANCE_TYPE (Can be optimized) \n"
+" * RIDGE (Can be optimized) \n"
+" * PRESET: \"O\" for RBF with linear terms and orthogonal constraints, \"R\" for RBF with linear terms and regularization term, \"I\" for RBF with incomplete set of basis functions. This parameter cannot be optimized. \n"
+" \n"
+"Example\n"
+"      TYPE RBF KERNEL_TYPE D1 KERNEL_SHAPE OPTIM DISTANCE_TYPE NORM2";
+  i++;
+  //================================
+  //      KS
+  //================================
+  HELP_DATA[i][0] = "KS";
+  HELP_DATA[i][1] = "TYPE KERNEL SMOOTHING SMOOTHING_KERNEL";
+  HELP_DATA[i][2] = "KS (Kernel Smoothing) is a type of model. \n"
+" \n"
+"Authorized fields for this type of model  \n"
+" * KERNEL_TYPE (Can be optimized) \n"
+" * KERNEL_COEF (Can be optimized) \n"
+" * DISTANCE_TYPE (Can be optimized) \n"
+" \n"
+"Example\n"
+"      TYPE KS KERNEL_TYPE OPTIM KERNEL_SHAPE OPTIM";
+  i++;
+  //================================
+  //      KRIGING
+  //================================
+  HELP_DATA[i][0] = "KRIGING";
+  HELP_DATA[i][1] = "TYPE GAUSSIAN PROCESS GP COVARIANCE";
+  HELP_DATA[i][2] = "KRIGING is a type of model. \n"
+" \n"
+"Authorized fields for this type of model  \n"
+" * RIDGE (Can be optimized) \n"
+" * DISTANCE_TYPE (Can be optimized) \n"
+" \n"
+"Example\n"
+"      TYPE KRIGING";
+  i++;
+  //================================
+  //      LOWESS
+  //================================
+  HELP_DATA[i][0] = "LOWESS";
+  HELP_DATA[i][1] = "TYPE LOCALLY WEIGHTED REGRESSION LOWESS LOWER RIDGE DEGREE KERNEL";
+  HELP_DATA[i][2] = "LOWESS (Locally Weighted Regression) is a type of model. \n"
+" \n"
+"Authorized fields for this type of model  \n"
+" * DEGREE: Must be 1 (default) or 2 (Can be optimized). \n"
+" * RIDGE (Can be optimized) \n"
+" * KERNEL_TYPE (Can be optimized) \n"
+" * KERNEL_COEF (Can be optimized) \n"
+" * DISTANCE_TYPE (Can be optimized) \n"
+" \n"
+"Example\n"
+"      TYPE LOWESS DEGREE 1      TYPE LOWESS DEGREE OPTIM KERNEL_SHAPE OPTIM KERNEL_TYPE D1      TYPE LOWESS DEGREE OPTIM KERNEL_SHAPE OPTIM KERNEL_TYPE OPTIM DISTANCE_TYPE OPTIM";
+  i++;
+  //================================
+  //      ENSEMBLE
+  //================================
+  HELP_DATA[i][0] = "ENSEMBLE";
+  HELP_DATA[i][1] = "TYPE WEIGHT SELECT SELECTION";
+  HELP_DATA[i][2] = "ENSEMBLE is a type of model. \n"
+" \n"
+"Authorized fields for this type of model  \n"
+" * WEIGHT: Defines how the ensemble weights are computed. \n"
+" * METRIC: Defines which metric is used to compute the weights. \n"
+" \n"
+"Example\n"
+"      TYPE ENSEMBLE WEIGHT SELECT METRIC OECV      TYPE ENSEMBLE WEIGHT OPTIM METRIC RMSECV DISTANCE_TYPE NORM2 BUDGET 100";
+  i++;
+  //================================
+  //      TYPE
+  //================================
+  HELP_DATA[i][0] = "TYPE";
+  HELP_DATA[i][1] = "MODEL DESCRIPTION DEFINITION TYPE PRS KS PRS_EDGE PRS_CAT RBF LOWESS ENSEMBLE KRIGING CN";
+  HELP_DATA[i][2] = "The field name TYPE defines which type of model is used.\n"
+" \n"
+"Possible model type  \n"
+" * PRS: Polynomial Response Surface \n"
+" * KS: Kernel Smoothing \n"
+" * PRS_EDGE: PRS EDGE model \n"
+" * PRS_CAT: PRS CAT model \n"
+" * RBF: Radial Basis Function Model \n"
+" * LOWESS: Locally Weighted Regression \n"
+" * ENSEMBLE: Ensemble of surrogates \n"
+" * KRIGING: Kriging model \n"
+" * CN: Closest neighbor \n"
+" \n"
+"Example\n"
+"      TYPE PRS: defines a PRS model.\n"
+"      TYPE ENSEMBLE: defines an ensemble of models.";
+  i++;
+  //================================
+  //      DEGREE
+  //================================
+  HELP_DATA[i][0] = "DEGREE";
+  HELP_DATA[i][1] = "PRS LOWESS PRS_CAT PRS_EDGE";
+  HELP_DATA[i][2] = "The field name DEGREE defines the degree of a polynomial response surface. The value must be an integer ge 1. \n"
+"Allowed for models of type PRS, PRS_EDGE, PRS_CAT, LOWESS. \n"
+"Default values  \n"
+" * For PRS models, the default degree is 2. \n"
+" * For LOWESS models, the degree must be 1 (default) or 2. \n"
+" \n"
+"Example\n"
+"      TYPE PRS DEGREE 3 defines a PRS model of degree 3.\n"
+"      TYPE PRS_EDGE DEGREE 2 defines a PRS_EDGE model of degree 2.\n"
+"      TYPE LOWESS DEGREE OPTIM defines a LOWESS model where the degree is optimized.";
+  i++;
+  //================================
+  //      RIDGE
+  //================================
+  HELP_DATA[i][0] = "RIDGE";
+  HELP_DATA[i][1] = "PRS LOWESS PRS_CAT PRS_EDGE RBF";
+  HELP_DATA[i][2] = "The field name RIDGE defines the regularization parameter of the model. \n"
+"Allowed for models of type PRS, PRS_EDGE, PRS_CAT, LOWESS, RBF. \n"
+"Possible values Real value ge 0. Recommended values are 0 and 0.001. \n"
+"Default values Default value is 0.01. \n"
+"Example\n"
+"      TYPE PRS DEGREE 3 RIDGE 0 defines a PRS model of degree 3 with no ridge.\n"
+"      TYPE PRS DEGREE OPTIM RIDGE OPTIM defines a PRS model where the degree and ridge coefficient are optimized.";
+  i++;
+  //================================
+  //      KERNEL_TYPE
+  //================================
+  HELP_DATA[i][0] = "KERNEL_TYPE";
+  HELP_DATA[i][1] = "KS RBF LOWESS GAUSSIAN BI-QUADRATIC BIQUADRATIC TRICUBIC TRI-CUBIC INVERSE SPLINES POLYHARMONIC";
+  HELP_DATA[i][2] = "The field name KERNEL_TYPE defines the type of kernel used in the model. The field name KERNEL is equivalent. \n"
+"Allowed for models of type RBF, RBFI, Kriging, LOWESS and KS. \n"
+"Possible values  \n"
+" * D1: Gaussian kernel (default) \n"
+" * D2: Inverse Quadratic Kernel \n"
+" * D3: Inverse Multiquadratic Kernel \n"
+" * D4: Bi-quadratic Kernel \n"
+" * D5: Tri-cubic Kernel \n"
+" * D6: Exponential Sqrt Kernel \n"
+" * D7: Epanechnikov Kernel \n"
+" * I0: Multiquadratic Kernel \n"
+" * I1: Polyharmonic splines, degree 1 \n"
+" * I2: Polyharmonic splines, degree 2 \n"
+" * I3: Polyharmonic splines, degree 3 \n"
+" * I4: Polyharmonic splines, degree 4 \n"
+" * OPTIM: The type of kernel is optimized \n"
+" \n"
+"Example\n"
+"      TYPE KS KERNEL_TYPE D2 defines a KS model with Inverse Quadratic Kernel\n"
+"      TYPE KS KERNEL_TYPE OPTIM KERNEL_SHAPE OPTIM defines a KS model with optimized kernel shape and type";
+  i++;
+  //================================
+  //      KERNEL_COEF
+  //================================
+  HELP_DATA[i][0] = "KERNEL_COEF";
+  HELP_DATA[i][1] = "KS RBF LOWESS";
+  HELP_DATA[i][2] = "The field name KERNEL_COEF defines the shape coefficient of the kernel function. Note that this field name has no impact for KERNEL_TYPES I1, I2, I3 and I4 because these kernels do not include a shape parameter. \n"
+"Allowed for models of type RBF, KS, KRIGING, LOWESS. \n"
+"Possible values Real value ge 0. Recommended range is [0.1 , 10]. For KS and LOWESS model, small values lead to smoother models. \n"
+"Default values By default, the kernel coefficient is optimized. \n"
+"Example\n"
+"      TYPE RBF KERNEL_COEF 10 defines a RBF model with a shape coefficient of 10.\n"
+"      TYPE KS KERNEL_TYPE OPTIM KERNEL_SHAPE OPTIM defines a KS model with optimized kernel shape and type";
+  i++;
+  //================================
+  //      DISTANCE_TYPE
+  //================================
+  HELP_DATA[i][0] = "DISTANCE_TYPE";
+  HELP_DATA[i][1] = "KS RBF CN LOWESS";
+  HELP_DATA[i][2] = "The field name DISTANCE_TYPE defines the distance function used in the model. \n"
+"Allowed for models of type RBF, RBF, KS, LOWESS. \n"
+"Possible values  \n"
+" * NORM1: Euclidian distance \n"
+" * NORM2: Distance based on norm 1 \n"
+" * NORMINF: Distance based on norm infty \n"
+" * NORM2_IS0: Tailored distance for discontinuity in 0. \n"
+" * NORM2_CAT: Tailored distance for categorical models. \n"
+" \n"
+"Default values Default value is NORM2. \n"
+"Example\n"
+"      TYPE KS DISTANCE NORM2_IS0 defines a KS model tailored for VAN optimization.";
+  i++;
+  //================================
+  //      WEIGHT
+  //================================
+  HELP_DATA[i][0] = "WEIGHT";
+  HELP_DATA[i][1] = "ENSEMBLE SELECTION WTA1 WTA2 WTA3 WTA4 WTA";
+  HELP_DATA[i][2] = "The field name WEIGHT defines the method used to compute the weights w of the ensemble of models. The keyword WEIGHT_TYPE is equivalent. Allowed for models of type ENSEMBLE.\n"
+" \n"
+"Allowed for models of type ENSEMBLE. \n"
+" \n"
+"Possible values  \n"
+" * WTA1: w_k propto metric_sum - metric_k (default) \n"
+" * WTA3: w_k propto (metric_k + alpha metric_mean)^beta \n"
+" * SELECT: w_k propto 1   textif   metric_k = metric_min \n"
+" * OPTIM: w minimizes metric(w) \n"
+" \n"
+"Example\n"
+"      TYPE ENSEMBLE WEIGHT SELECT METRIC RMSECV defines an ensemble of models which selects the model that has the best RMSECV.\n"
+"      TYPE ENSEMBLE WEIGHT OPTIM METRIC RMSECV defines an ensemble of models where the weights w are computed to minimize the RMSECV of the model.";
+  i++;
+  //================================
+  //      OUTPUT
+  //================================
+  HELP_DATA[i][0] = "OUTPUT";
+  HELP_DATA[i][1] = "OUT DISPLAY";
+  HELP_DATA[i][2] = "Defines a text file in which informations will be recorded.";
+  i++;
+  //================================
+  //      OPTIM
+  //================================
+  HELP_DATA[i][0] = "OPTIM";
+  HELP_DATA[i][1] = "OPTIM BUDGET PARAMETERS PARAMETER OPTIMIZATION";
+  HELP_DATA[i][2] = "The field value OPTIM indicate that the model parameter must be optimized. The default optimization criteria is the AOECV error metric.\n"
+" \n"
+"Parameters that can be optimized  \n"
+" * DEGREE \n"
+" * RIDGE \n"
+" * KERNEL_TYPE \n"
+" * KERNEL_COEF \n"
+" * DISTANCE_TYPE \n"
+" \n"
+"Example\n"
+"      TYPE PRS DEGREE OPTIM\n"
+"      TYPE LOWESS DEGREE OPTIM KERNEL_TYPE OPTIM KERNEL_SHAPE OPTIM METRIC ARMSECV";
+  i++;
+  //================================
+  //      METRIC
+  //================================
+  HELP_DATA[i][0] = "METRIC";
+  HELP_DATA[i][1] = "PARAMETER OPTIMIZATION CHOICE SELECTION OPTIM BUDGET ENSEMBLE";
+  HELP_DATA[i][2] = "The field name METRIC defines the metric used to select the parameters of the model (including the weights of Ensemble models).\n"
+" \n"
+"Allowed for models of type All types of model.\n"
+" \n"
+"Possible values  \n"
+" * EMAX: Error Max \n"
+" * EMAXCV: Error Max with Cross-Validation \n"
+" * RMSE: Root Mean Square Error \n"
+" * RMSECV: RMSE with Cross-Validation \n"
+" * OE: Order Error \n"
+" * OECV: Order Error with Cross-Validation \n"
+" * LINV: Invert of the Likelihood \n"
+" * AOE: Aggregate Order Error \n"
+" * AOECV: Aggregate Order Error with Cross-Validation \n"
+" \n"
+"Default values AOECV.\n"
+" \n"
+"Example\n"
+"      TYPE ENSEMBLE WEIGHT SELECT METRIC RMSECV defines an ensemble of models which selects the model that has the best RMSECV.";
+  i++;
+  //================================
+  //      BUDGET
+  //================================
+  HELP_DATA[i][0] = "BUDGET";
+  HELP_DATA[i][1] = "PARAMETER PARAMETERS OPTIM OPTIMIZATION";
+  HELP_DATA[i][2] = "Budget for model parameter optimization. The number of sets of model parameters that are tested is equal to the optimization budget multiplied by the the number of parameters to optimize. \n"
+"Default values 20\n"
+" \n"
+"Example\n"
+"      TYPE LOWESS KERNEL_SHAPE OPTIM METRIC AOECV BUDGET 100\n"
+"      TYPE ENSEMBLE WEIGHT OPTIM METRIC RMSECV BUDGET 50";
+  i++;
+  //================================
+  //      SGTELIB_SERVER_START
+  //================================
+  HELP_DATA[i][0] = "SGTELIB_SERVER_START";
+  HELP_DATA[i][1] = "Matlab server interface";
+  HELP_DATA[i][2] = "Start a sgtelib model in a server from Matlab. \n"
+" \n"
+"Example\n"
+"       sgtelib_server_start('TYPE PRS'); Start a sgtelib server with a PRS model\n"
+"       sgtelib_server_start('TYPE LOWESS DEGREE 1'); Start a Lowess model\n"
+"       sgtelib_server_start(model_name,true); Start a model defined in model_name and keep the window open";
+  i++;
+  //================================
+  //      SGTELIB_SERVER_NEWDATA
+  //================================
+  HELP_DATA[i][0] = "SGTELIB_SERVER_NEWDATA";
+  HELP_DATA[i][1] = "Matlab server interface data newdata";
+  HELP_DATA[i][2] = "Add data points to the sgtelib model from Matlab. \n"
+" \n"
+"Example\n"
+"       sgtelib_server_newdata(X,Z); Add data points [X,Z]";
+  i++;
+  //================================
+  //      SGTELIB_SERVER_PREDICT
+  //================================
+  HELP_DATA[i][0] = "SGTELIB_SERVER_PREDICT";
+  HELP_DATA[i][1] = "Matlab server interface prediction predict";
+  HELP_DATA[i][2] = "Perform a prediction from Matlab.\n"
+" \n"
+"Example\n"
+"       [ZZ,std,ei,cdf] = sgtelib_server_predict(XX); Prediction at points XX.";
+  i++;
+  //================================
+  //      SGTELIB_SERVER_INFO
+  //================================
+  HELP_DATA[i][0] = "SGTELIB_SERVER_INFO";
+  HELP_DATA[i][1] = "Matlab server interface";
+  HELP_DATA[i][2] = "Command from Matlab. Use sgtelib_server_info to display information about the model.";
+  i++;
+  //================================
+  //      SGTELIB_SERVER_METRIC
+  //================================
+  HELP_DATA[i][0] = "SGTELIB_SERVER_METRIC";
+  HELP_DATA[i][1] = "Matlab server interface RMSE OECV RMSECV OE METRIC";
+  HELP_DATA[i][2] = "Command from Matlab. Use sgtelib_server_stop(metric_name) to access the error metric of the model.\n"
+" \n"
+"Example\n"
+"       m = sgtelib_server_metric('OECV'); Return the OECV error metric\n"
+"       m = sgtelib_server_metric('RMSE'); Return the RMSE error metric";
+  i++;
+  //================================
+  //      SGTELIB_SERVER_RESET
+  //================================
+  HELP_DATA[i][0] = "SGTELIB_SERVER_RESET";
+  HELP_DATA[i][1] = "Matlab server interface reset";
+  HELP_DATA[i][2] = "Reset the model of the sgtelib server from Matlab.";
+  i++;
+  //================================
+  //      SGTELIB_SERVER_STOP
+  //================================
+  HELP_DATA[i][0] = "SGTELIB_SERVER_STOP";
+  HELP_DATA[i][1] = "Matlab server interface stop";
+  HELP_DATA[i][2] = "Stop the sgtelib server from Matlab.";
+  i++;
+  //================================
+  return HELP_DATA;
+}//
diff --git a/ext/sgtelib/src/sgtelib_help.hpp b/ext/sgtelib/src/sgtelib_help.hpp
new file mode 100644
index 0000000..9ae9583
--- /dev/null
+++ b/ext/sgtelib/src/sgtelib_help.hpp
@@ -0,0 +1,44 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2017  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+
+#ifndef __SGTELIB_HELP__
+#define __SGTELIB_HELP__
+
+#include <set>
+#include <fstream>
+#include <vector>
+#include <list>
+#include <climits>
+#include <algorithm>
+#include <iostream>
+#include "Defines.hpp"
+
+
+namespace SGTELIB {
+  int dim_help_data (void);
+  std::string ** get_help_data (void);
+}
+
+#endif
diff --git a/ext/sgtelib/user_guide/sgtelib_user_guide.pdf b/ext/sgtelib/user_guide/sgtelib_user_guide.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..74b05b32932b052b1d18fe8b0e0d9d8bafe3bce6
GIT binary patch
literal 108063
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
RG%z<bGv!iMb@g}S0sw~5WuyQA

literal 0
HcmV?d00001

diff --git a/install/install.sh b/install/install.sh
index 27e136c..63279af 100755
--- a/install/install.sh
+++ b/install/install.sh
@@ -1,51 +1,7 @@
 #!/bin/bash
 
-#-------------------------------------------------------------------------------------#
-#  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      #
-#                                                                                     #
-#                                                                                     #
-#  NOMAD - version 3.7.3 has been created by                                          #
-#	               Charles Audet        - Ecole Polytechnique de Montreal             #
-#	               Sebastien Le Digabel - Ecole Polytechnique de Montreal             #
-#	               Christophe Tribes    - Ecole Polytechnique de Montreal             #
-#                                                                                     #
-#  The copyright of NOMAD - version 3.7.3 is owned by                                 #
-#                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              #
-#                 Christophe Tribes    - Ecole Polytechnique de Montreal              #
-#                                                                                     #
-#  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 #
-#                                                                                     #
-#  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     #
-#  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           #
-#  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   #
-#  Rice University, and were funded by AFOSR and Exxon Mobil.                         #
-#                                                                                     #
-#                                                                                     #
-#  Contact information:                                                               #
-#    Ecole Polytechnique de Montreal - GERAD                                          #
-#    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  #
-#    e-mail: nomad@gerad.ca                                                           #
-#    phone : 1-514-340-6053 #6928                                                     #
-#    fax   : 1-514-340-5665                                                           #
-#                                                                                     #
-#  This program is free software: you can redistribute it and/or modify it under the  #
-#  terms of the GNU Lesser General Public License as published by the Free Software   #
-#  Foundation, either version 3 of the License, or (at your option) any later         #
-#  version.                                                                           #
-#                                                                                     #
-#  This program is distributed in the hope that it will be useful, but WITHOUT ANY    #
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    #
-#  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   #
-#                                                                                     #
-#  You should have received a copy of the GNU Lesser General Public License along     #
-#  with this program. If not, see <http://www.gnu.org/licenses/>.                     #
-#                                                                                     #
-#  You can find information on the NOMAD software at www.gerad.ca/nomad               #
-#-------------------------------------------------------------------------------------#
-#
-
 echo "*****************************************************"
-echo "            NOMAD 3.7.3 Installation Script          "
+echo "            NOMAD 3.8.1 Installation Script          "
 echo " usage: ./install.sh [nparallel]                     "
 echo "       - nparallel : number of parallel process to make " 
 echo "*****************************************************"
diff --git a/src/Barrier.cpp b/src/Barrier.cpp
index b9289d7..9425d79 100644
--- a/src/Barrier.cpp
+++ b/src/Barrier.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Barrier.cpp
  \brief  Barrier for constraints handling (implementation)
@@ -255,11 +257,50 @@ void NOMAD::Barrier::insert ( const Barrier & b )
 /*---------------------------------------------------------*/
 NOMAD::success_type NOMAD::Barrier::insert_feasible ( const NOMAD::Eval_Point & x )
 {
-    if ( !_best_feasible || ( x.get_f().value() < _best_feasible->get_f().value() ) )
+
+    Double fx;
+    Double fx_bf;
+    if ( _p.get_robust_mads() )
+    {
+        if ( x.get_smoothing_status() != NOMAD::SMOOTHING_OK )
+            return NOMAD::UNSUCCESSFUL;
+        
+        if ( _best_feasible )
+            fx_bf = _best_feasible->get_fsmooth();
+        else
+        {
+            _best_feasible = &x;
+            return NOMAD::FULL_SUCCESS;
+        }
+        fx = x.get_fsmooth();
+    }
+    else
+    {
+        if ( _best_feasible )
+            fx_bf = _best_feasible->get_f();
+        else
+        {
+            _best_feasible = &x;
+            return NOMAD::FULL_SUCCESS;
+        }
+        
+        fx= x.get_f();
+
+    }
+    if ( !fx.is_defined() || ! fx_bf.is_defined() )
+        throw NOMAD::Exception ( __FILE__ , __LINE__ ,
+                                "insert_feasible(): one point has no f value" );
+    
+    if ( fx.value() < fx_bf.value() )
     {
         _best_feasible = &x;
         return NOMAD::FULL_SUCCESS;
     }
+    
+    
+    
+        
+    
     return NOMAD::UNSUCCESSFUL;
 }
 
diff --git a/src/Barrier.hpp b/src/Barrier.hpp
index a41ad4c..d80f8c5 100644
--- a/src/Barrier.hpp
+++ b/src/Barrier.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Barrier.hpp
  \brief  Barrier for constraints handling (headers)
diff --git a/src/Cache.cpp b/src/Cache.cpp
index d65dfcf..0b2c5d0 100644
--- a/src/Cache.cpp
+++ b/src/Cache.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Cache.cpp
  \brief  Cache memorizing all evaluations (implementation)
@@ -391,7 +393,8 @@ bool NOMAD::Cache::is_locked ( const std::string & file_name )
 {
     if ( file_name == _locked_file )
         return true;
-    return ( Cache::_locked_files.find ( file_name ) != Cache::_locked_files.end() );
+    
+    return ( ! Cache::_locked_files.find ( file_name )->empty() );
 }
 
 /*---------------------------------------------------------------------*/
@@ -530,7 +533,9 @@ bool NOMAD::Cache::load ( const std::string & file_name       ,
     if ( !file_name.empty() && file_name == _locked_file )
         return true;
     
-    if ( file_name.empty() || !_locked_file.empty() || is_locked(file_name) )
+    if ( file_name.empty() ||
+        !_locked_file.empty() ||
+        is_locked(file_name) )
         return false;
     
     // the file exists:
@@ -820,3 +825,7 @@ void NOMAD::Cache::display ( const NOMAD::Display & out ) const
     out << std::endl;
 #endif
 }
+
+
+
+
diff --git a/src/Cache.hpp b/src/Cache.hpp
index 260ec72..dd8160a 100644
--- a/src/Cache.hpp
+++ b/src/Cache.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Cache.hpp
  \brief  Cache memorizing all evaluations (headers)
@@ -337,9 +339,9 @@ namespace NOMAD {
          
          \param p_nb_bb_outputs A pointer to the number of blackbox outputs.
          It is ignored if equal to \c NULL.
-                  Points from the file with a different number
-                  of outputs are ignored
-                  -- \b IN -- \b optional (default = \c NULL).
+			      Points from the file with a different number
+			      of outputs are ignored
+			      -- \b IN -- \b optional (default = \c NULL).
          
          \param display A boolean equal to \c true if displays
          are authorized
@@ -399,6 +401,7 @@ namespace NOMAD {
          Uses the \c this->_out member as NOMAD::Display object.
          */
         void display ( void ) const { display ( _out ); }
+                
         
     };
     
diff --git a/src/Cache_File_Point.cpp b/src/Cache_File_Point.cpp
index d5255df..1760470 100644
--- a/src/Cache_File_Point.cpp
+++ b/src/Cache_File_Point.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Cache_File_Point.cpp
  \brief  Class for points in binary files (implementation)
diff --git a/src/Cache_File_Point.hpp b/src/Cache_File_Point.hpp
index 7688a9e..38dc9a1 100644
--- a/src/Cache_File_Point.hpp
+++ b/src/Cache_File_Point.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Cache_File_Point.hpp
  \brief  Class for points in binary files (headers)
diff --git a/src/Cache_Point.cpp b/src/Cache_Point.cpp
index ef43345..5f6516f 100644
--- a/src/Cache_Point.cpp
+++ b/src/Cache_Point.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Cache_Point.cpp
  \brief  Point stored in the cache (implementation)
diff --git a/src/Cache_Point.hpp b/src/Cache_Point.hpp
index 4a7bd2c..a77212c 100644
--- a/src/Cache_Point.hpp
+++ b/src/Cache_Point.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Cache_Point.hpp
  \brief  Point stored in the cache (headers)
diff --git a/src/Cache_Search.cpp b/src/Cache_Search.cpp
index 2d22fc9..509db8a 100644
--- a/src/Cache_Search.cpp
+++ b/src/Cache_Search.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Cache_Search.cpp
  \brief  NOMAD::Search subclass for the cache search (implementation)
diff --git a/src/Cache_Search.hpp b/src/Cache_Search.hpp
index 9402965..2705289 100644
--- a/src/Cache_Search.hpp
+++ b/src/Cache_Search.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Cache_Search.hpp
  \brief  NOMAD::Search subclass for the cache search (headers)
diff --git a/src/Clock.cpp b/src/Clock.cpp
index 5e69bf0..a74a5ec 100644
--- a/src/Clock.cpp
+++ b/src/Clock.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Clock.cpp
  \brief  Clock class (implementation)
diff --git a/src/Clock.hpp b/src/Clock.hpp
index 2b9466c..ee8b5f3 100644
--- a/src/Clock.hpp
+++ b/src/Clock.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Clock.hpp
  \brief  Clock class (headers)
diff --git a/src/Direction.cpp b/src/Direction.cpp
index 1f6c941..fe5abd4 100644
--- a/src/Direction.cpp
+++ b/src/Direction.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Direction.cpp
  \brief  Polling direction (implementation)
@@ -61,9 +63,9 @@ int NOMAD::Direction::_max_cardinality = 0;
 /*                       constructor 1                     */
 /*---------------------------------------------------------*/
 NOMAD::Direction::Direction ( void )
-: NOMAD::Point  (                            ) ,
-_type         ( NOMAD::UNDEFINED_DIRECTION ) ,
-_index        ( -1                         ),
+: NOMAD::Point   (                            ) ,
+_type            ( NOMAD::UNDEFINED_DIRECTION ) ,
+_index           ( -1                         ),
 _dir_group_index (-1)
 {
 #ifdef MEMORY_DEBUG
@@ -76,10 +78,10 @@ _dir_group_index (-1)
 /*---------------------------------------------------------*/
 /*                       constructor 2                     */
 /*---------------------------------------------------------*/
-NOMAD::Direction::Direction ( int                     n    ,
+NOMAD::Direction::Direction ( int                    n    ,
                              const NOMAD::Double   & v    ,
                              NOMAD::direction_type   type ,
-                             int dir_group_index         )
+                             int dir_group_index          )
 : NOMAD::Point  ( n , v ) ,
 _type         ( type  ) ,
 _index        ( -1   ) ,
diff --git a/src/Direction.hpp b/src/Direction.hpp
index 2a2813e..503e3c6 100644
--- a/src/Direction.hpp
+++ b/src/Direction.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Direction.hpp
  \brief  Polling direction (headers)
@@ -68,7 +70,7 @@ namespace NOMAD {
         
         NOMAD::direction_type _type;   ///< Type of direction.
         mutable int           _index;  ///< Direction index (used only for display).
-        int                   _dir_group_index ; ///< Index a the group of direction
+        int					  _dir_group_index ; ///< Index a the group of direction
         
     public:
         
diff --git a/src/Directions.cpp b/src/Directions.cpp
index 8c34295..4727ace 100644
--- a/src/Directions.cpp
+++ b/src/Directions.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Directions.cpp
  \brief  Set of polling directions (implementation)
@@ -50,6 +52,7 @@
 #include "Directions.hpp"
 #include <math.h>
 #include "XMesh.hpp"
+#include "GMesh.hpp"
 #include "SMesh.hpp"
 
 
@@ -117,16 +120,11 @@ void NOMAD::Directions::lt_mads_init ( void )
 /*---------------------------------------------------------*/
 void NOMAD::Directions::set_binary ( void )
 {
+
+    
     _is_binary      = true;
     _is_categorical = false;
     _is_orthomads   = false;
-    _direction_types.clear();
-    _direction_types.insert ( NOMAD::GPS_BINARY );
-    if ( !_sec_poll_dir_types.empty() )
-    {
-        _sec_poll_dir_types.clear();
-        _sec_poll_dir_types.insert ( NOMAD::GPS_BINARY );
-    }
 }
 
 /*---------------------------------------------------------*/
@@ -153,7 +151,8 @@ void NOMAD::Directions::compute_binary_directions ( std::list<NOMAD::Direction>
     {
         d.push_back ( NOMAD::Direction ( _nc , 0.0 , NOMAD::GPS_BINARY ) );
         pd = &(*(--d.end()));
-        (*pd)[i] = 1.0;
+
+        (*pd)[i] = ( NOMAD::RNG::rand()%2 == 0 ) ?  1.0: 0.0;
     }
 }
 
@@ -161,9 +160,9 @@ void NOMAD::Directions::compute_binary_directions ( std::list<NOMAD::Direction>
 /*----------------------------------------------------------------------------*/
 /*            get the directions on a unit n-sphere for a given mesh          */
 /*----------------------------------------------------------------------------*/
-void NOMAD::Directions::compute ( std::list<NOMAD::Direction> & dirs        ,
-                                 NOMAD::poll_type              poll         ,
-                                 const NOMAD::OrthogonalMesh  & mesh        )
+void NOMAD::Directions::compute ( std::list<NOMAD::Direction> & dirs ,
+                                 NOMAD::poll_type              poll  ,
+                                 const NOMAD::OrthogonalMesh  & mesh )
 {
     
     dirs.clear();
@@ -172,13 +171,6 @@ void NOMAD::Directions::compute ( std::list<NOMAD::Direction> & dirs        ,
     if ( _is_categorical )
         return;
     
-    // binary variables: we use special directions:
-    if ( _is_binary )
-    {
-        compute_binary_directions ( dirs );
-        return;
-    }
-    
     NOMAD::Double                               pow_gps , cst;
     const NOMAD::Direction                    * bl;
     NOMAD::Direction                          * pd;
@@ -222,10 +214,10 @@ void NOMAD::Directions::compute ( std::list<NOMAD::Direction> & dirs        ,
             if ( success_dir )
             {
 #ifdef DEBUG
-                if ( dynamic_cast<const NOMAD::XMesh*> ( &mesh ) )
+                if ( dynamic_cast<const NOMAD::XMesh*> ( &mesh ) || dynamic_cast<const NOMAD::GMesh*> ( &mesh ) )
                 {
                     _out << std::endl
-                    << NOMAD::open_block ( "compute Ortho-MADS directions with XMesh" )
+                    << NOMAD::open_block ( "compute Ortho-MADS directions with XMesh/GMesh" )
                     << "type              = " << *it << std::endl;
                     NOMAD::Point mesh_indices=mesh.get_mesh_indices();
                     _out<< "Mesh indices  = ( ";
@@ -669,7 +661,7 @@ void NOMAD::Directions::compute ( std::list<NOMAD::Direction> & dirs        ,
 /*       compute a random direction on a unit N-Sphere                         */
 /*  see http://en.wikipedia.org/wiki/N-sphere                                  */
 /*-----------------------------------------------------------------------------*/
-bool NOMAD::Directions::compute_dir_on_unit_sphere ( NOMAD::Direction    & random_dir ) const
+bool NOMAD::Directions::compute_dir_on_unit_sphere ( NOMAD::Direction   & random_dir ) const
 {
     
     int           i;
@@ -678,8 +670,6 @@ bool NOMAD::Directions::compute_dir_on_unit_sphere ( NOMAD::Direction    & rando
     for ( i = 0 ; i < _nc ; ++i )
         random_dir[i]=NOMAD::RNG::normal_rand(0,1);
     
-    //     }
-    
     norm=random_dir.norm();
     
     if ( norm==0 )
@@ -777,6 +767,7 @@ const NOMAD::Direction * NOMAD::Directions::get_bl ( const NOMAD::OrthogonalMesh
     
     NOMAD::Point  mesh_indices = mesh.get_mesh_indices();
     
+    // First mesh index is considered (no anisotropy for LT-MADS
     int mesh_index =static_cast<int>(mesh_indices[0].value());
     NOMAD::Direction * bl = _bl    [ mesh_index + NOMAD::L_LIMITS ];
     hat_i                 = _hat_i [ mesh_index + NOMAD::L_LIMITS ];
diff --git a/src/Directions.hpp b/src/Directions.hpp
index 2651974..27e6dcc 100644
--- a/src/Directions.hpp
+++ b/src/Directions.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Directions.hpp
  \brief  Set of polling directions (headers)
@@ -206,20 +208,20 @@ namespace NOMAD {
         
         /// Compute the directions for a given mesh.
         /**
-         \param mesh    The given mesh                        -- \b IN.
-         \param dirs    Set of directions                     -- \b OUT.
-         \param poll    Type of poll (primary or secondary)   -- \b IN.
+         \param mesh               The given mesh                                             -- \b IN.
+         \param dirs               Set of directions                                          -- \b OUT.
+         \param poll               Type of poll (primary or secondary)                        -- \b IN.
          */
         void compute ( std::list<NOMAD::Direction> & dirs           ,
                       NOMAD::poll_type               poll           ,
-                      const NOMAD::OrthogonalMesh  & mesh            );
+                      const NOMAD::OrthogonalMesh  & mesh			);
         
         /// Compute a random direction on a N-Sphere.
         /**
-         \param random_dir                                    -- \b OUT.
+         \param random_dir								-- \b OUT.
          \return A boolean equal to \c true if the computation went well.
          */
-        bool compute_dir_on_unit_sphere ( NOMAD::Direction    & random_dir ) const;
+        bool compute_dir_on_unit_sphere (	NOMAD::Direction	& random_dir ) const;
         
         
         /// Check if Ortho-MADS directions are used.
@@ -295,7 +297,7 @@ namespace NOMAD {
     
     /// Display a NOMAD::Directions object.
     /**
-     \param out The NOMAD::Display object                    -- \b IN.
+     \param out The NOMAD::Display object -- \b IN.
      \param d   The NOMAD::Directions object to be displayed -- \b IN.
      \return    The NOMAD::Display object.
      */
diff --git a/src/Display.cpp b/src/Display.cpp
index 4cb4631..34d5b64 100644
--- a/src/Display.cpp
+++ b/src/Display.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Display.cpp
  \brief  Custom class for display (implementation)
@@ -228,6 +230,31 @@ void NOMAD::Display::extract_display_format ( std::string & s , std::string & fo
     }
 }
 
+
+/*--------------------------------------------------------*/
+/*         extract reported count value from a string     */
+/*--------------------------------------------------------*/
+/*  example: s="152+" return 152                          */
+/*--------------------------------------------------------*/
+int NOMAD::Display::extract_reported_count_value ( std::string & s )
+{
+    if ( s.empty() )
+        return 0;
+    size_t k = s.find("+");
+    size_t n = s.size();
+    size_t klast = s.find_last_of("+");
+    if ( n == 0 || k == std::string::npos || klast == std::string::npos || k != klast )
+        return 0;
+
+    int reported_count_value = 0;
+    bool success = atoi ( s.substr ( 0 , k ) , reported_count_value );
+    
+    if ( success )
+        return reported_count_value;
+    else
+        return 0;
+}
+
 /*---------------------------------------------------------*/
 /*         to display a duration with a smart format       */
 /*              (t is in seconds and integer)              */
@@ -268,8 +295,7 @@ void NOMAD::Display::display_size_of ( float size ) const
 /*-------------------------------------------------------------------*/
 /*          get the display_stats_type from a string (static)        */
 /*-------------------------------------------------------------------*/
-NOMAD::display_stats_type NOMAD::Display::get_display_stats_type
-( const std::string & s )
+NOMAD::display_stats_type NOMAD::Display::get_display_stats_type ( const std::string & s )
 {
     int         idst;
     std::string ss = s , keyword;
@@ -300,6 +326,12 @@ std::string NOMAD::Display::get_display_stats_keyword ( NOMAD::display_stats_typ
         case NOMAD::DS_OBJ:
             s = "OBJ";
             break;
+        case NOMAD::DS_CONS_H:
+            s = "CONS_H";
+            break;
+        case NOMAD::DS_SMOOTH_OBJ:
+            s = "SMOOTH_O";
+            break;
         case NOMAD::DS_MESH_INDEX:
             s = "MESH_INDEX";
             break;
@@ -381,9 +413,18 @@ std::ostream & NOMAD::operator << ( std::ostream & out , NOMAD::success_type st
 {
     switch ( st )
     {
+        case NOMAD::FULL_SUCCESS_ZOOM:
+            out << "dominating (SGTELIB)";
+            break;
+        case NOMAD::FULL_SUCCESS_STAY:
+            out << "dominating (SGTELIB)";
+            break;
         case NOMAD::FULL_SUCCESS:
             out << "dominating";
             break;
+        case NOMAD::CACHE_UPDATE_SUCCESS:
+            out << "dominating (RobustMads)";
+            break;
         case NOMAD::PARTIAL_SUCCESS:
             out << "improving";
             break;
@@ -492,13 +533,15 @@ std::ostream & NOMAD::operator << ( std::ostream & out , NOMAD::model_type mt )
         case NOMAD::QUADRATIC_MODEL:
             out << "quadratic";
             break;
+        case NOMAD::SGTELIB_MODEL:
+            out << "SGTELIB";
+            break;
         case NOMAD::NO_MODEL:
             out << "no models";
     }
     return out;
 }
 
-
 /*-----------------------------------------------------------------*/
 /*                  to display an evaluation type                  */
 /*-----------------------------------------------------------------*/
@@ -576,6 +619,9 @@ std::ostream & NOMAD::operator << ( std::ostream & out , NOMAD::stop_type st )
         case NOMAD::MAX_BB_EVAL_REACHED:
             out << "max number of blackbox evaluations";
             break;
+        case NOMAD::MAX_BLOCK_EVAL_REACHED:
+            out << "max number of block evaluations";
+            break;
         case NOMAD::MAX_SGTE_EVAL_REACHED:
             out << "max number of sgte evaluations";
             break;
diff --git a/src/Display.hpp b/src/Display.hpp
index 59ce2c2..aa42457 100644
--- a/src/Display.hpp
+++ b/src/Display.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Display.hpp
  \brief  Custom class for display (headers)
@@ -391,6 +393,15 @@ namespace NOMAD {
          \param format The format -- \b OUT.
          */
         static void extract_display_format ( std::string & s , std::string & format );
+
+        
+        /// Extract reported count value from a string.
+        /**
+         \param s      The string -- \b IN/OUT.
+         \return       The reported count value -- \b OUT.
+         */
+        static int extract_reported_count_value ( std::string & s );
+
         
         /// Get the NOMAD::display_stats_type from a string.
         /**
@@ -485,7 +496,7 @@ namespace NOMAD {
     
     /// Operator << for NOMAD::model_type.
     std::ostream & operator << ( std::ostream & , NOMAD::model_type );
-     
+ 
     /// Operator << for NOMAD::direction_type.
     std::ostream & operator << ( std::ostream & , NOMAD::direction_type );
     
diff --git a/src/Double.cpp b/src/Double.cpp
index 28b1f3c..faad258 100644
--- a/src/Double.cpp
+++ b/src/Double.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Double.cpp
  \brief  Custom class for double-precision reals (implementation)
@@ -126,7 +128,7 @@ void NOMAD::Double::set_epsilon ( double eps )
 /*-----------------------------------------------*/
 /*                  get the value                */
 /*-----------------------------------------------*/
-double NOMAD::Double::value ( void ) const
+const double & NOMAD::Double::value ( void ) const
 {
     if ( !_defined )
         throw Not_Defined ( "Double.cpp" , __LINE__ ,
@@ -487,7 +489,7 @@ void NOMAD::Double::display ( const NOMAD::Display & out    ,
         else if ( c=='d' || c=='i' ||
                  ( format2.empty() &&
                   std::floor(_value) == std::ceil(_value) && fabs(_value) < INT_MAX-1 ) )
-            out << round();
+            out << roundd();
         else
         {
             
@@ -562,7 +564,7 @@ void NOMAD::Double::display ( const NOMAD::Display & out    ,
 
 
 /*------------------------------------------*/
-/*                  round                   */
+/*                round to int              */
 /*------------------------------------------*/
 int NOMAD::Double::round ( void ) const
 {
@@ -588,14 +590,10 @@ const NOMAD::Double NOMAD::Double::roundd ( void ) const
         throw Not_Defined ( "Double.cpp" , __LINE__ ,
                            "NOMAD::Double::round(): value not defined" );
     
-    NOMAD::Double d = (_value < 0.0 ? -std::floor(.5-_value) : std::floor(.5+_value));
-    
     return (_value < 0.0 ? -std::floor(.5-_value) : std::floor(.5+_value));
-    
 }
 
 
-
 /*------------------------------------------*/
 /*                  Ceil                  */
 /*------------------------------------------*/
@@ -665,9 +663,6 @@ const NOMAD::Double NOMAD::Double::sqrt ( void ) const
 // of Computation, 39(160):563–569, 1982. doi:10.1090/S0025-5718-1982-0669649-2.
 //
 // The error will be in [0;2]
-//
-// Modified: 2014-06-07, S. Le Digabel
-//
 const NOMAD::Double NOMAD::Double::rel_err ( const Double & x ) const
 {
     if ( !_defined || !x._defined )
diff --git a/src/Double.hpp b/src/Double.hpp
index 405f786..175f1c1 100644
--- a/src/Double.hpp
+++ b/src/Double.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Double.hpp
  \brief  Custom class for double-precision reals (headers)
@@ -177,7 +179,13 @@ namespace NOMAD {
         /**
          \return The \c double value.
          */
-        double value ( void ) const;
+        const double & value ( void ) const;
+        
+        /// Access to the \c double value pointer
+        /**
+         \return The \c double value pointer.
+         */
+        const double * value_ptr (void) const { return (_defined ? &_value:NULL) ; }
         
         /// Is the value defined ?
         /**
@@ -246,11 +254,12 @@ namespace NOMAD {
             NOMAD::Double::_inf_str = inf_str;
         }
         
-        /// Rounding to int
+        /// Rounding to int.
         /**
          \return An integer with the rounding result.
          */
         int round ( void ) const;
+
         
         /// Rounding to a Double
         /**
diff --git a/src/Eval_Point.cpp b/src/Eval_Point.cpp
index f862e13..369b17f 100644
--- a/src/Eval_Point.cpp
+++ b/src/Eval_Point.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Eval_Point.cpp
  \brief  Evaluation point (implementation)
@@ -70,6 +72,7 @@ _eval_type        ( NOMAD::TRUTH                      ) ,
 _direction        ( NULL                              ) ,
 _poll_center_type ( NOMAD::UNDEFINED_POLL_CENTER_TYPE ) ,
 _eval_status      ( NOMAD::UNDEFINED_STATUS           ) ,
+_smoothing_status ( NOMAD::SMOOTHING_UNDEFINED        ) ,
 _EB_ok            ( true                              )
 {
 #ifdef MODEL_STATS
@@ -91,6 +94,7 @@ _eval_type        ( NOMAD::TRUTH                      ) ,
 _direction        ( NULL                              ) ,
 _poll_center_type ( NOMAD::UNDEFINED_POLL_CENTER_TYPE ) ,
 _eval_status      ( NOMAD::UNDEFINED_STATUS           ) ,
+_smoothing_status ( NOMAD::SMOOTHING_UNDEFINED        ) ,
 _EB_ok            ( true                              ) ,
 _bb_outputs       ( m                                 )
 {
@@ -174,6 +178,7 @@ _eval_type          ( x._eval_type                      ) ,
 _direction          ( NULL                              ) ,
 _poll_center_type   ( x._poll_center_type               ) ,
 _eval_status        ( x._eval_status                    ) ,
+_smoothing_status   ( x._smoothing_status               ) ,
 _EB_ok              ( x._EB_ok                          ) ,
 _bb_outputs         ( x.get_bb_outputs()                ) ,
 _user_eval_priority ( x._user_eval_priority             ) ,
@@ -311,6 +316,7 @@ int NOMAD::Eval_Point::size_of ( void ) const
     sizeof (_in_cache           ) +
     sizeof (_eval_type          ) +
     sizeof (_eval_status        ) +
+    sizeof (_smoothing_status   ) +
     sizeof (_EB_ok              ) +
     sizeof (_direction          ) +
     ((_direction     ) ? _direction->size_of() : 0);
@@ -470,6 +476,8 @@ void NOMAD::Eval_Point::display_eval( const NOMAD::Display & out , bool in_block
             out << "h    = " << _h << std::endl;
         if ( _f.is_defined() )
             out << "f    = " << _f << std::endl;
+        if ( _fsmooth.is_defined() )
+	    out << "fsmooth = " << _fsmooth << std::endl;
         out.close_block();
     }
     else
@@ -485,6 +493,8 @@ void NOMAD::Eval_Point::display_eval( const NOMAD::Display & out , bool in_block
             out << " h=" << _h;
         if ( _f.is_defined() )
             out << " f=" << _f;
+        if ( _fsmooth.is_defined() )
+            out << "fsmooth = " << _fsmooth << std::endl;
     }
 }
 
diff --git a/src/Eval_Point.hpp b/src/Eval_Point.hpp
index 050efca..e3580cf 100644
--- a/src/Eval_Point.hpp
+++ b/src/Eval_Point.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Eval_Point.hpp
  \brief  Evaluation point (headers)
@@ -71,16 +73,16 @@ namespace NOMAD {
         
     private:
         
-        static int         _current_tag;        ///< Current tag for all NOMAD::Eval_Point objects.
-        int                _tag;                ///< Unique tag.
+        static int         _current_tag; ///< Current tag for all NOMAD::Eval_Point objects.
+        int                _tag;         ///< Unique tag.
         
-        static int         _current_bbe;        ///< Current bbe for all NOMAD::Eval_Point objects
-        static int         _current_sgte_bbe;   ///< Current sgte_bbe for all NOMAD::Eval_Point objects  .
-        int                _bbe;                /// Recorded bbe for current NOMAD::Eval_Point object
-        int                _sgte_bbe;           /// Recorded sgte_bbe for current NOMAD::Eval_Point object
-        int                _real_time;           /// Recorded time for current NOMAD::Eval_Point object
+        static int			_current_bbe;		///< Current bbe for all NOMAD::Eval_Point objects
+        static int			_current_sgte_bbe;  ///< Current sgte_bbe for all NOMAD::Eval_Point objects  .
+        int					_bbe;				/// Recorded bbe for current NOMAD::Eval_Point object
+        int					_sgte_bbe;		    /// Recorded sgte_bbe for current NOMAD::Eval_Point object
+        int					_real_time;			/// Recorded time for current NOMAD::Eval_Point object
         
-        NOMAD::Signature * _signature;          ///< Signature of the point.
+        NOMAD::Signature * _signature;   ///< Signature of the point.
         
         /**
          \c f is explicitely computed by a NOMAD::Evaluator object
@@ -94,6 +96,11 @@ namespace NOMAD {
          */
         NOMAD::Double _h;
         
+        NOMAD::Double _P;
+        NOMAD::Double _fsmooth;
+        NOMAD::Double _smoothing_variance;
+        
+        
         /// Flag equal to \c true if this eval point is in the cache.
         mutable bool _in_cache;
         
@@ -132,6 +139,13 @@ namespace NOMAD {
          */
         NOMAD::eval_status_type _eval_status;
         
+        /// Smoothing status.
+        /**
+         Indicates if the smoothing failed, succeeded,
+         or is undefined (default).
+         */
+        NOMAD::smoothing_status_type _smoothing_status;
+        
         /// Flag equal to \c true if all EB constraints have been satisfied.
         bool _EB_ok;
         
@@ -225,6 +239,12 @@ namespace NOMAD {
          */
         NOMAD::Signature * get_signature ( void ) const;
         
+        /// Access to the i-th coordinate of a point
+        /** 
+         \return A constant reference to the value (double) of the coordinate of a point
+         */
+        const double & value (int i) const {return (*this)[i].value();}
+        
         /// Access to the number of blackbox outputs.
         /**
          \return Number of blackbox outputs.
@@ -288,6 +308,25 @@ namespace NOMAD {
          */
         const NOMAD::Double & get_h ( void ) const { return _h; }
         
+        /// Access to the smoothed objective value \c f.
+        /**
+         \return The smoothed objective value.
+         */
+        const NOMAD::Double & get_fsmooth ( void ) const { return _fsmooth; }
+        
+        /// Access to the objective weight value \c f.
+        /**
+         \return The objective weight value.
+         */
+        const NOMAD::Double & get_P ( void ) const { return _P; }
+        
+        /// Access to the variance for RobustMads kernel smoothing \c f.
+        /**
+         \return The smoothing variance associated to the eval_point.
+         */
+        const NOMAD::Double & get_smoothing_variance ( void ) const { return _smoothing_variance; }
+
+        
         /// Access to the blackbox outputs.
         /**
          \return The \c m blackblack outputs.
@@ -349,6 +388,14 @@ namespace NOMAD {
          */
         NOMAD::eval_status_type get_eval_status ( void ) const { return _eval_status; }
         
+        
+        /// Access to the smoothing status.
+        /**
+         \return The smoothing status
+         (smoothing failed, succeeded, or undefined(default)).
+         */
+        NOMAD::smoothing_status_type get_smoothing_status ( void ) const { return _smoothing_status; }
+        
         /// Access to the user evaluation priority.
         /**
          \return The user evaluation priority.
@@ -367,6 +414,7 @@ namespace NOMAD {
             return _rand_eval_priority;
         }
         
+
         /// Check the point feasibility.
         /**
          The point is feasible if \c h \c <= \c h_min.
@@ -464,6 +512,24 @@ namespace NOMAD {
          */
         void set_h ( const NOMAD::Double & h ) { _h = h; }
         
+        /// Set the smooth objective value \c f.
+        /**
+         \param f objective function value -- \b IN.
+         */
+        void set_fsmooth ( const NOMAD::Double & f ) { _fsmooth = f; }
+
+        /// Set the objective weight value \c f.
+        /**
+         \param p objective weight value -- \b IN.
+         */
+        void set_P ( const NOMAD::Double & p ) { _P = p; }
+        
+        /// Set the variance for RobustMads kernel smoothing \c f.
+        /**
+         \param v variance for RobustMads kernel smoothing-- \b IN.
+         */
+        void set_smoothing_variance ( const NOMAD::Double & v ) { _smoothing_variance = v; }
+        
         /// Set the user evaluation priority.
         /**
          \param u User evaluation priority -- \b IN.
@@ -496,6 +562,13 @@ namespace NOMAD {
          */
         void set_eval_status ( const NOMAD::eval_status_type & e ) { _eval_status = e; }
         
+        /// Set the smoothing status.
+        /**
+         \param e Smoothing status (failed, succeeded, or undefined (default))
+         -- \b IN.
+         */
+        void set_smoothing_status ( const NOMAD::smoothing_status_type & e ) { _smoothing_status = e; }
+
         /// Set if the point respects the EB constraints.
         /**
          \param e A boolean equal to \c true if the point
@@ -558,7 +631,7 @@ namespace NOMAD {
         
         /// Reset the tags and bbes
         /**
-         */        
+         */		
         static void reset_tags_and_bbes ( void ) {_current_tag = 0;_current_bbe = 0;_current_sgte_bbe = 0;}
         
 #ifdef MODEL_STATS
diff --git a/src/Evaluator.cpp b/src/Evaluator.cpp
index 278b662..5ce2b3e 100644
--- a/src/Evaluator.cpp
+++ b/src/Evaluator.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Evaluator.cpp
  \brief  Evaluation of blackbox functions (implementation)
@@ -63,9 +65,9 @@ bool NOMAD::Evaluator::_force_quit = false;
 /*    . _bb_exe includes the blackbox path                         */
 /*-----------------------------------------------------------------*/
 NOMAD::Evaluator::Evaluator ( const NOMAD::Parameters & p )
-: _p                    ( p     ) ,
-_is_multi_obj           ( false ) ,
-_is_model_evaluator     ( false )
+: _p               ( p     ) ,
+_is_multi_obj      ( false ) ,
+_is_model_evaluator( false )
 {
     NOMAD::Evaluator::_force_quit = false;
     
@@ -378,9 +380,9 @@ void NOMAD::Evaluator::compute_h ( NOMAD::Eval_Point & x ) const
 /*        (unless the output value CNT_EVAL is defined and set to 1  */
 /*         by the blackbox)                                          */
 /*-------------------------------------------------------------------*/
-bool NOMAD::Evaluator::eval_x ( NOMAD::Eval_Point    & x          ,
-                               const NOMAD::Double   & h_max      ,
-                               bool                  & count_eval   ) const
+bool NOMAD::Evaluator::eval_x ( NOMAD::Eval_Point & x          ,
+                               const NOMAD::Double & h_max      ,
+                               bool        & count_eval   ) const
 {
     count_eval = false;
     
@@ -511,7 +513,7 @@ bool NOMAD::Evaluator::eval_x ( NOMAD::Eval_Point    & x          ,
             failed          = false;
             bool is_defined = true;
             bool is_inf     = false;
-            
+
             // loop on the number of outputs for this blackbox:
             nbbok = _bb_nbo[k];
             for ( j = 0 ; j < nbbok ; ++j )
@@ -536,10 +538,11 @@ bool NOMAD::Evaluator::eval_x ( NOMAD::Eval_Point    & x          ,
                     is_inf = true;
                     break;
                 }
-                
+
                 x.set_bb_output ( ibbo++ , d );
             }
             
+            
             fin.close();
             
             // the evaluation failed:
@@ -577,9 +580,9 @@ bool NOMAD::Evaluator::eval_x ( NOMAD::Eval_Point    & x          ,
 /*-------------------------------------------------------------------*/
 /*      . evaluate the black boxes at a list of given Eval_Points  */
 /*-------------------------------------------------------------------*/
-bool NOMAD::Evaluator::eval_x ( std::list<NOMAD::Eval_Point *>    & list_eval,
-                               const NOMAD::Double                & h_max ,
-                               std::list<bool>                    & list_count_eval) const
+bool NOMAD::Evaluator::eval_x ( std::list<NOMAD::Eval_Point *>  & list_eval,
+                               const NOMAD::Double              & h_max ,
+                               std::list<bool>                  & list_count_eval) const
 {
     
     std::list<NOMAD::Eval_Point *>::iterator it;
@@ -738,9 +741,9 @@ bool NOMAD::Evaluator::eval_x ( std::list<NOMAD::Eval_Point *>    & list_eval,
             it_count=list_count_eval.begin();
             for (it=it_begin;it!=it_end;++it,++it_count)
             {
-                failed        = false;
-                is_defined    = true;
-                is_inf        = false;
+                failed      = false;
+                is_defined  = true;
+                is_inf      = false;
                 
                 // loop on the number of outputs for this blackbox:
                 nbbok = _bb_nbo[k];
diff --git a/src/Evaluator.hpp b/src/Evaluator.hpp
index 03d52a8..c51d2fd 100644
--- a/src/Evaluator.hpp
+++ b/src/Evaluator.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Evaluator.hpp
  \brief  Evaluation of blackbox functions (headers)
@@ -56,237 +58,237 @@
 #include <list>
 
 namespace NOMAD {
-    
-    // forward declarations:
-    class Barrier;
-    class Pareto_Front;
-    class Evaluator_Control;
-    
-    /// Evaluation of blackbox functions.
-    /**
+	
+	// forward declarations:
+	class Barrier;
+	class Pareto_Front;
+	class Evaluator_Control;
+	
+	/// Evaluation of blackbox functions.
+	/**
      This class allows the evaluation of one trial point.
-     */
-    class Evaluator : private NOMAD::Uncopyable {
-        
-    protected:
-        
-        /// Parameters.
-        const NOMAD::Parameters & _p;
-        
-        /// Multi-objective flag.
-        /**
-         Identifies if a NOMAD::Evaluator object refers to
-         a NOMAD::Multi_Obj_Evaluator for more than one
-         objective function.
-         */
-        bool _is_multi_obj;
-        
-        /// Model flag.
-        /**
-         Identifies if a NOMAD::Evaluator object refers to
-         a NOMAD::***_Model_Evaluator
-         */
-        bool _is_model_evaluator;
-        
-    private:
-        
-        /// Blackbox executable names.
-        /**
-         - Not the same as Parameters::_bb_exe.
-         - NOMAD::Evaluator::_bb_exe is constructed from
+	 */
+	class Evaluator : private NOMAD::Uncopyable {
+		
+	protected:
+		
+		/// Parameters.
+		const NOMAD::Parameters & _p;
+		
+		/// Multi-objective flag.
+		/**
+		 Identifies if a NOMAD::Evaluator object refers to
+		 a NOMAD::Multi_Obj_Evaluator for more than one
+		 objective function.
+		 */
+		bool _is_multi_obj;
+
+		/// Model flag.
+		/**
+		 Identifies if a NOMAD::Evaluator object refers to
+		 a NOMAD::***_Model_Evaluator
+		 */
+		bool _is_model_evaluator;
+		
+	private:
+		
+		/// Blackbox executable names.
+		/**
+		 - Not the same as Parameters::_bb_exe.
+		 - NOMAD::Evaluator::_bb_exe is constructed from
          NOMAD::Parameters::_bb_exe.
-         */
-        std::vector<std::string> _bb_exe;
-        
-        std::vector<std::string> _sgte_exe;  ///< Surrogate executable names.
-        
-        /// Number of outputs for each blackbox executable.
-        std::vector<int> _bb_nbo;
-        
-        static bool _force_quit; ///< Flag equal to \c true if ctrl-c is pressed.
-        
-        /// Check the constraints to decide if the evaluations have to be stopped.
-        /**
-         \param x     Point at which the constraints are checked -- \b IN.
-         \param h_max Maximal feasibility value \c h_max         -- \b IN.
-         \return A boolean equal to \c true if
-         the evaluations have to be stopped.
-         */
-        bool interrupt_evaluations ( const NOMAD::Eval_Point & x     ,
-                                    const NOMAD::Double     & h_max   ) const;
-        
-        /// Process a blackbox executable name.
-        /**
-         \param bb_exe Executable name -- \b IN/OUT.
-         */
-        void process_bb_exe_name ( std::string & bb_exe ) const;
-        
-    public:
-        
-        /// Constructor.
-        /**
-         \param p Parameters -- \b IN.
-         */
-        Evaluator ( const NOMAD::Parameters & p );
-        
-        /// Destructor.
-        virtual ~Evaluator ( void ) {}
-        
-        /// Force quit (called by pressing ctrl-c).
-        static void force_quit ( void )
+		 */
+		std::vector<std::string> _bb_exe;
+		
+		std::vector<std::string> _sgte_exe;  ///< Surrogate executable names.
+		
+		/// Number of outputs for each blackbox executable.
+		std::vector<int> _bb_nbo;
+		
+		static bool _force_quit; ///< Flag equal to \c true if ctrl-c is pressed.
+		
+		/// Check the constraints to decide if the evaluations have to be stopped.
+		/**
+		 \param x     Point at which the constraints are checked -- \b IN.
+		 \param h_max Maximal feasibility value \c h_max         -- \b IN.
+		 \return A boolean equal to \c true if
+		 the evaluations have to be stopped.
+		 */
+		bool interrupt_evaluations ( const NOMAD::Eval_Point & x     ,
+									const NOMAD::Double     & h_max   ) const;
+		
+		/// Process a blackbox executable name.
+		/**
+		 \param bb_exe Executable name -- \b IN/OUT.
+		 */
+		void process_bb_exe_name ( std::string & bb_exe ) const;
+		
+	public:
+		
+		/// Constructor.
+		/**
+		 \param p Parameters -- \b IN.
+		 */
+		Evaluator ( const NOMAD::Parameters & p );
+		
+		/// Destructor.
+		virtual ~Evaluator ( void ) {}
+		
+		/// Force quit (called by pressing ctrl-c).
+		static void force_quit ( void )
         {
             NOMAD::Evaluator::_force_quit = true;
         }
-        
-        /// Access to the \c force_quit flag.
-        /**
-         \return The \c force_quit flag.
-         */
-        static bool get_force_quit ( void )
+		
+		/// Access to the \c force_quit flag.
+		/**
+		 \return The \c force_quit flag.
+		 */
+		static bool get_force_quit ( void )
         {
             return NOMAD::Evaluator::_force_quit;
         }
-        
-        /// Access to the multi-objective flag.
-        /**
-         \return The multi-objective flag.
-         */
-        bool is_multi_obj ( void ) const
+		
+		/// Access to the multi-objective flag.
+		/**
+		 \return The multi-objective flag.
+		 */
+		bool is_multi_obj ( void ) const
         {
             return _is_multi_obj;
         }
-        
-        /// Access to the model evaluator flag.
-        /**
-         \return The model evaluator flag.
-         */
-        virtual bool is_model_evaluator ( void ) const
+
+		/// Access to the model evaluator flag.
+		/**
+		 \return The model evaluator flag.
+		 */
+		virtual bool is_model_evaluator ( void ) const
         {
             return _is_model_evaluator;
         }
-        
-        /// User pre-processing of a list of points.
-        /**
-         - This virtual method is called before the evaluation of a list
+		
+		/// User pre-processing of a list of points.
+		/**
+		 - This virtual method is called before the evaluation of a list
          of points.
-         - It allows the user to pre-process the points to be evaluated.
-         \param pts The list of points -- \b IN/OUT.
-         */
-        virtual void list_of_points_preprocessing
-        ( std::set<Priority_Eval_Point> & pts ) const {}
-        
-        /// User updates after a success.
-        /**
-         This virtual method is called every time a new (full) success is made.
-         \param stats Stats                 -- \b IN.
-         \param x     Last successful point -- \b IN.
-         */
-        virtual void update_success ( const NOMAD::Stats      & stats ,
-                                     const NOMAD::Eval_Point & x       ) {}
-        
-        /// User updates after an iteration.
-        /**
-         This virtual method is called every time a MADS iteration is terminated.
-         \param success      Success of the iteration              -- \b IN.
-         \param stats        Stats                                 -- \b IN.
-         \param ev_control   The NOMAD::Evaluator_Control object   -- \b IN.
-         \param true_barrier Barrier for true evaluations          -- \b IN.
-         \param sgte_barrier Barrier for surrogate evaluations     -- \b IN.
-         \param pareto_front Pareto front                          -- \b IN.
-         \param stop         Allows the user to stop the algorithm -- \b OUT.
-         */
-        virtual void update_iteration ( NOMAD::success_type              success      ,
-                                       const NOMAD::Stats             & stats        ,
-                                       const NOMAD::Evaluator_Control & ev_control   ,
-                                       const NOMAD::Barrier           & true_barrier ,
-                                       const NOMAD::Barrier           & sgte_barrier ,
-                                       const NOMAD::Pareto_Front      & pareto_front ,
-                                       bool                           & stop           ) {}
-        
-        /// Evaluate the blackbox functions at a given trial point (#1).
-        /**
-         - Const version.
-         - May be user-defined.
-         - Surrogate or true evaluation depending on the value of \c x.is_surrogate().
-         \param x          The trial point                    -- \b IN/OUT.
-         \param h_max      Maximal feasibility value \c h_max -- \b IN.
-         \param count_eval Flag indicating if the evaluation has to be counted
-         or not -- \b OUT.
-         \return A boolean equal to \c false if the evaluation failed.
-         */
-        virtual bool eval_x ( NOMAD::Eval_Point   & x          ,
-                             const NOMAD::Double & h_max      ,
-                             bool                & count_eval   ) const;
-        
-        /// Evaluate the blackbox functions at a given trial point (#2).
-        /**
-         - Non-const version.
-         - Calls the const version by default.
-         - May be user-defined.
-         - Surrogate or true evaluation depending on the value of \c x.is_surrogate().
-         \param x          The trial point                    -- \b IN/OUT.
-         \param h_max      Maximal feasibility value \c h_max -- \b IN.
-         \param count_eval Flag indicating if the evaluation has to be counted
-         or not -- \b OUT.
-         \return A boolean equal to \c false if the evaluation failed.
-         */
-        virtual bool eval_x ( NOMAD::Eval_Point   & x          ,
-                             const NOMAD::Double & h_max      ,
-                             bool                & count_eval   )
+		 - It allows the user to pre-process the points to be evaluated.
+		 \param pts The list of points -- \b IN/OUT.
+		 */
+		virtual void list_of_points_preprocessing
+		( std::set<Priority_Eval_Point> & pts ) const {}
+		
+		/// User updates after a success.
+		/**
+		 This virtual method is called every time a new (full) success is made.
+		 \param stats Stats                 -- \b IN.
+		 \param x     Last successful point -- \b IN.
+		 */
+		virtual void update_success ( const NOMAD::Stats      & stats ,
+									 const NOMAD::Eval_Point & x       ) {}
+		
+		/// User updates after an iteration.
+		/**
+		 This virtual method is called every time a MADS iteration is terminated.
+		 \param success      Success of the iteration              -- \b IN.
+		 \param stats        Stats                                 -- \b IN.
+		 \param ev_control   The NOMAD::Evaluator_Control object   -- \b IN.
+		 \param true_barrier Barrier for true evaluations          -- \b IN.
+		 \param sgte_barrier Barrier for surrogate evaluations     -- \b IN.
+		 \param pareto_front Pareto front                          -- \b IN.
+		 \param stop         Allows the user to stop the algorithm -- \b OUT.
+		 */
+		virtual void update_iteration ( NOMAD::success_type              success      ,
+									   const NOMAD::Stats             & stats        ,
+									   const NOMAD::Evaluator_Control & ev_control   ,
+									   const NOMAD::Barrier           & true_barrier ,
+									   const NOMAD::Barrier           & sgte_barrier ,
+									   const NOMAD::Pareto_Front      & pareto_front ,
+									   bool                           & stop           ) {}
+		
+		/// Evaluate the blackbox functions at a given trial point (#1).
+		/**
+		 - Const version.
+		 - May be user-defined.
+		 - Surrogate or true evaluation depending on the value of \c x.is_surrogate().
+		 \param x          The trial point                    -- \b IN/OUT.
+		 \param h_max      Maximal feasibility value \c h_max -- \b IN.
+		 \param count_eval Flag indicating if the evaluation has to be counted
+		 or not -- \b OUT.
+		 \return A boolean equal to \c false if the evaluation failed.
+		 */
+		virtual bool eval_x ( NOMAD::Eval_Point   & x          ,
+							 const NOMAD::Double & h_max      ,
+							 bool                & count_eval   ) const;
+		
+		/// Evaluate the blackbox functions at a given trial point (#2).
+		/**
+		 - Non-const version.
+		 - Calls the const version by default.
+		 - May be user-defined.
+		 - Surrogate or true evaluation depending on the value of \c x.is_surrogate().
+		 \param x          The trial point                    -- \b IN/OUT.
+		 \param h_max      Maximal feasibility value \c h_max -- \b IN.
+		 \param count_eval Flag indicating if the evaluation has to be counted
+		 or not -- \b OUT.
+		 \return A boolean equal to \c false if the evaluation failed.
+		 */
+		virtual bool eval_x ( NOMAD::Eval_Point   & x          ,
+							 const NOMAD::Double & h_max      ,
+							 bool                & count_eval   )
         {
             
             return static_cast<const Evaluator *>(this)->eval_x ( x , h_max , count_eval );
             
         }
-        
-        
-        
-        /// Evaluate the blackbox functions at a given list of trial points (#1).
-        /**
-         - Const version.
-         - May be user-defined.
-         - Surrogate or true evaluation depending on the value of \c x.is_surrogate().
-         \param x          The list of trial points          -- \b IN/OUT.
-         \param h_max      Maximal feasibility value \c h_max -- \b IN.
-         \param count_eval Number of evaluations that are counted -- \b OUT.
-         \return A boolean equal to \c false if the evaluation failed.
-         */
-        virtual bool eval_x ( std::list<NOMAD::Eval_Point *>    &x  ,
-                             const NOMAD::Double                & h_max,
-                             std::list<bool>                    & count_eval ) const;
-        
-        
-        /// Evaluate the blackbox functions at a given list of trial points (#2).
-        /**
-         - Non-Const version.
-         - May be user-defined.
-         - Surrogate or true evaluation depending on the value of \c x.is_surrogate().
-         \param x          The list of trial points                 -- \b IN/OUT.
-         \param h_max      Maximal feasibility value \c h_max       -- \b IN.
-         \param count_eval Number of evaluations that are counted   -- \b OUT.
-         \return A boolean equal to \c false if the evaluation failed.
-         */
-        virtual bool eval_x ( std::list<NOMAD::Eval_Point *>    &x  ,
-                             const NOMAD::Double                & h_max,
-                             std::list<bool>                    & count_eval )
-        {
-            return static_cast<const Evaluator *>(this)->eval_x ( x , h_max , count_eval );
-        }
-        
-        
-        
-        /// Compute the objective value \c f(x) from the blackbox outputs of a point.
-        /**
-         \param x The point -- \b IN/OUT.
-         */
-        virtual void compute_f ( NOMAD::Eval_Point & x ) const;
-        
-        /// Compute the feasibility value \c h(x) from the blackbox outputs of a point.
-        /**
-         \param x The point -- \b IN/OUT.
-         */
-        void compute_h ( NOMAD::Eval_Point & x ) const;
-    };
+		
+		
+		
+		/// Evaluate the blackbox functions at a given list of trial points (#1).
+		/**
+		 - Const version.
+		 - May be user-defined.
+		 - Surrogate or true evaluation depending on the value of \c x.is_surrogate().
+		 \param x          The list of trial points          -- \b IN/OUT.
+		 \param h_max      Maximal feasibility value \c h_max -- \b IN.
+		 \param count_eval Number of evaluations that are counted -- \b OUT.
+		 \return A boolean equal to \c false if the evaluation failed.
+		 */
+		virtual bool eval_x ( std::list<NOMAD::Eval_Point *>	&x  ,
+							 const NOMAD::Double				& h_max,
+							 std::list<bool>					& count_eval ) const;
+		
+		
+		/// Evaluate the blackbox functions at a given list of trial points (#2).
+		/**
+		 - Non-Const version.
+		 - May be user-defined.
+		 - Surrogate or true evaluation depending on the value of \c x.is_surrogate().
+		 \param x          The list of trial points          -- \b IN/OUT.
+		 \param h_max      Maximal feasibility value \c h_max -- \b IN.
+		 \param count_eval Number of evaluations that are counted -- \b OUT.
+		 \return A boolean equal to \c false if the evaluation failed.
+		 */
+		virtual bool eval_x ( std::list<NOMAD::Eval_Point *>	&x  ,
+							 const NOMAD::Double				& h_max,
+							 std::list<bool>					& count_eval )
+		{
+			return static_cast<const Evaluator *>(this)->eval_x ( x , h_max , count_eval );
+		}
+
+		
+		
+		/// Compute the objective value \c f(x) from the blackbox outputs of a point.
+		/**
+		 \param x The point -- \b IN/OUT.
+		 */
+		virtual void compute_f ( NOMAD::Eval_Point & x ) const;
+		
+		/// Compute the feasibility value \c h(x) from the blackbox outputs of a point.
+		/**
+		 \param x The point -- \b IN/OUT.
+		 */
+		void compute_h ( NOMAD::Eval_Point & x ) const;
+	};
 }
 
 #endif
diff --git a/src/Evaluator_Control.cpp b/src/Evaluator_Control.cpp
index d0873d0..da3c97c 100644
--- a/src/Evaluator_Control.cpp
+++ b/src/Evaluator_Control.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Evaluator_Control.cpp
  \brief  Control of the blackbox evaluations (implementation)
@@ -50,6 +52,10 @@
 #include "Evaluator_Control.hpp"
 #include "Multi_Obj_Quad_Model_Evaluator.hpp"
 #include "Single_Obj_Quad_Model_Evaluator.hpp"
+#include "Sgtelib_Model_Manager.hpp"
+
+
+const double PI = 3.141592654;
 
 /*-----------------------------------*/
 /*   static members initialization   */
@@ -61,30 +67,32 @@ bool NOMAD::Evaluator_Control::_force_evaluation_failure = false;
 /*---------------------------------------------------------*/
 /*                       constructor                       */
 /*---------------------------------------------------------*/
-NOMAD::Evaluator_Control::Evaluator_Control ( const NOMAD::Parameters & p          ,
+NOMAD::Evaluator_Control::Evaluator_Control ( const NOMAD::Parameters & p         ,
                                              NOMAD::Stats            & stats      ,
                                              NOMAD::Evaluator        * ev         ,   // can be NULL
                                              NOMAD::Cache            * cache      ,   // can be NULL
-                                             NOMAD::Cache            * sgte_cache   ) // can be NULL
-: _p                ( p          ) ,
-_ev               ( ev         ) ,
-_cache            ( cache      ) ,
-_sgte_cache       ( sgte_cache ) ,
-_model_eval_sort  ( true       ) ,
-_del_ev           ( false      ) ,
-_del_cache        ( false      ) ,
-_del_sgte_cache   ( false      ) ,
+                                             NOMAD::Cache            * sgte_cache  ) // can be NULL
+: _p                  ( p          ) ,
+_ev                   ( ev         ) ,
+_cache                ( cache      ) ,
+_sgte_cache           ( sgte_cache ) ,
+_best_smooth_feas_inc ( NULL   ) ,
+_model_eval_sort      ( true       ) ,
+_del_ev               ( false      ) ,
+_del_cache            ( false      ) ,
+_del_sgte_cache       ( false      ) ,
 #ifdef USE_MPI
-_eval_in_progress ( NULL       ) ,
-_nb_in_progress   ( 0          ) ,
-_elop_tag         ( 0          ) ,
-_slaves_elop_tags ( NULL       ) ,
-_slave            ( NULL       ) ,
+_eval_in_progress     ( NULL       ) ,
+_nb_in_progress       ( 0          ) ,
+_elop_tag             ( 0          ) ,
+_slaves_elop_tags     ( NULL       ) ,
+_slave                ( NULL       ) ,
 #endif
-_stats            ( stats      ) ,
-_last_stats_tag   ( -1         ) ,
-_last_stats_bbe   ( -1         ) ,
-_last_history_bbe ( -1         )
+_sgtelib_model_manager ( NULL       ) ,
+_stats                 ( stats      ) ,
+_last_stats_tag        ( -1         ) ,
+_last_stats_bbe        ( -1         ) ,
+_last_history_bbe      ( -1         )
 {
     NOMAD::Evaluator_Control::_force_quit = false;
     
@@ -299,9 +307,9 @@ NOMAD::success_type NOMAD::Evaluator_Control::process_barrier_points ( NOMAD::Ba
     b1.reset_success();
     
     NOMAD::Eval_Point                       *    modifiable_x;
-    NOMAD::success_type                          one_eval_succ;
+    NOMAD::success_type                            one_eval_succ;
     const NOMAD::Eval_Point                 *    last_success  = NULL;
-    const std::list<const NOMAD::Eval_Point *> & all_inserted  = b2.get_all_inserted();
+    const std::list<const NOMAD::Eval_Point *>    & all_inserted  = b2.get_all_inserted();
     std::list<const NOMAD::Eval_Point *>::const_iterator it , end = all_inserted.end();
     for ( it = all_inserted.begin() ; it != end ; ++it )
     {
@@ -412,22 +420,29 @@ void NOMAD::Evaluator_Control::display_stats ( bool                           he
 #endif
     }
     
-    NOMAD::Double            f;
+    NOMAD::Double            f,f_smooth,h;
     const NOMAD::Point     * sol        = NULL;
     const NOMAD::Point     * bbo        = NULL;
     const NOMAD::Signature * signature  = NULL;
     int                      bbe        = _stats.get_bb_eval();
+    int                      sgte_eval  = _stats.get_sgte_eval();
+    int                      reported_bbe_value = 0;
+    int                      reported_blk_eva_value = 0;
+    int                      reported_sgte_value = 0;
     int                      real_time  = _stats.get_real_time();
     int                      blk_bbe    = _stats.get_block_eval();
     int                      i;
+    bool                     valid_smooth = false;
     
     // this integer is used for the default width display
     // of the various stats on the number of evaluations:
     int max_bbe = _p.get_max_bb_eval();
     if ( _p.get_max_sgte_eval() > max_bbe )
         max_bbe = _p.get_max_sgte_eval();
+    
     if ( _p.get_max_sim_bb_eval() > max_bbe )
         max_bbe = _p.get_max_sim_bb_eval();
+    
     if ( _p.get_max_eval() > max_bbe )
         max_bbe = _p.get_max_eval();
     
@@ -435,8 +450,14 @@ void NOMAD::Evaluator_Control::display_stats ( bool                           he
     {
         signature       = x->get_signature();
         f               = (feasible) ? x->get_f() : NOMAD::INF;
+        if ( _p.get_robust_mads() )
+        {
+            f_smooth = x->get_fsmooth();
+            valid_smooth = ( x->get_smoothing_status() == NOMAD::SMOOTHING_OK );
+        }
         sol             = x;
         bbo             = &(x->get_bb_outputs());
+        h               = x->get_h();
         
         if (bbe < _last_stats_bbe && ! multi_obj)
             return;
@@ -447,7 +468,7 @@ void NOMAD::Evaluator_Control::display_stats ( bool                           he
     
     
     std::string s1 , format;
-    std::list<std::string>::const_iterator it , end = stats.end();
+    std::list<std::string>::const_iterator it , itP, end = stats.end();
     for ( it = stats.begin() ; it != end ; ++it )
     {
         
@@ -477,7 +498,7 @@ void NOMAD::Evaluator_Control::display_stats ( bool                           he
                 NOMAD::display_stats_type dst
                 = NOMAD::Display::get_display_stats_type ( *it );
                 
-                // some stats types are disables in the multi-objective case:
+                // some stats types are disabled in the multi-objective case:
                 if ( multi_obj &&
                     ( dst == NOMAD::DS_SIM_BBE  ||
                      dst == NOMAD::DS_BBE      ||
@@ -493,8 +514,27 @@ void NOMAD::Evaluator_Control::display_stats ( bool                           he
                 {
                     case NOMAD::DS_UNDEFINED:
                         s1 = *it;
+                        
+                        itP = it;
+                        itP++;
+                        
                         NOMAD::Display::extract_display_format ( s1 , format );
-                        out << s1;
+                        
+                        if ( itP != end && _p.get_report_bbe_value() && NOMAD::Display::get_display_stats_type ( *(itP) ) == NOMAD::DS_BBE )
+                            reported_bbe_value = NOMAD::Display::extract_reported_count_value ( s1 );
+                        
+                        if ( itP != end && _p.get_report_sgte_value() && NOMAD::Display::get_display_stats_type ( *(itP) ) == NOMAD::DS_SGTE )
+                            reported_sgte_value = NOMAD::Display::extract_reported_count_value ( s1 );
+                        
+                        
+                        if ( itP != end && _p.get_report_blk_eva_value() && NOMAD::Display::get_display_stats_type ( *(itP) ) == NOMAD::DS_BLK_EVA )
+                            reported_blk_eva_value = NOMAD::Display::extract_reported_count_value ( s1 );
+
+                        
+                        if ( reported_bbe_value == 0 && reported_blk_eva_value ==0 && reported_sgte_value == 0 )
+                            out << s1;
+
+                        
                         break;
                     case NOMAD::DS_OBJ:
                         if ( multi_obj )
@@ -513,6 +553,27 @@ void NOMAD::Evaluator_Control::display_stats ( bool                           he
                             format.clear();
                         }
                         break;
+                        case NOMAD::DS_CONS_H:
+                        {
+                            display_stats_real ( out , h , format );
+                            format.clear();
+                            break;
+                        }
+                    case NOMAD::DS_SMOOTH_OBJ:
+                    {
+                        
+                        if ( f_smooth.is_defined() && valid_smooth )
+                        {
+                            display_stats_real ( out , f_smooth , format );
+                        }
+                        else
+                            out << "0";
+                        
+                        
+                        break;
+                    }
+
+                        
                     case NOMAD::DS_MESH_INDEX:
                     {
                         
@@ -568,20 +629,33 @@ void NOMAD::Evaluator_Control::display_stats ( bool                           he
                     }
 #else
                     {
+                        if ( reported_bbe_value > 0 )
+                            bbe+=reported_bbe_value;
+                        
                         display_stats_int ( out , bbe , max_bbe , format );
+                        reported_bbe_value = 0;
+                            
                     }
 #endif
                         format.clear();
                         break;
                     case NOMAD::DS_BLK_EVA:
                     {
+                        if ( reported_blk_eva_value > 0 )
+                            blk_bbe+=reported_blk_eva_value;
+                        
                         display_stats_int ( out , blk_bbe , max_bbe , format );
+                        reported_blk_eva_value = 0;
+                        
                     }
                         format.clear();
                         break;
                         
                     case NOMAD::DS_SGTE:
-                        display_stats_int ( out , _stats.get_sgte_eval() , max_bbe , format );
+                        if ( reported_sgte_value > 0 )
+                            sgte_eval+=reported_sgte_value;
+                        display_stats_int ( out , sgte_eval , max_bbe , format );
+                        reported_sgte_value = 0;
                         format.clear();
                         break;
                     case NOMAD::DS_EVAL:
@@ -646,7 +720,7 @@ void NOMAD::Evaluator_Control::display_stats_type ( const NOMAD::Display
         case NOMAD::CONTINUOUS:
             format2 = "%0." + NOMAD::itos(DISPLAY_PRECISION_STD) + "g";
             break;
-        case NOMAD::INTEGER || NOMAD::BINARY || NOMAD::CATEGORICAL:
+        case NOMAD::INTEGER : case NOMAD::BINARY : case NOMAD::CATEGORICAL:
             format2 = "%i";
             break;
         default:
@@ -744,11 +818,11 @@ void NOMAD::Evaluator_Control::display_stats_point ( const NOMAD::Display
             
             if ( !s1.empty() )
                 out << s1;
-            if ( !s2.empty() && i < n-1  && s2.find("(VNS)")==std::string::npos && s2.find("(PhaseOne)")==std::string::npos && s2.find("(LH)")==std::string::npos && s2.find("(ExtendedPoll)")==std::string::npos )
+            if ( !s2.empty() && i < n-1  && s2.find("(VNS")==std::string::npos && s2.find("(PhaseOne")==std::string::npos && s2.find("(LH")==std::string::npos && s2.find("(ExtendedPoll")==std::string::npos )
                 out << " " << s2;
             out << " ";
         }
-        if ( !s2.empty() && (s2.find("(VNS)")!=std::string::npos || s2.find("(PhaseOne)")!=std::string::npos || s2.find("(LH)")!=std::string::npos || s2.find("(ExtendedPoll)")!=std::string::npos))
+        if ( !s2.empty() && (s2.find("(VNS")!=std::string::npos || s2.find("(PhaseOne")!=std::string::npos || s2.find("(LH")!=std::string::npos || s2.find("(ExtendedPoll")!=std::string::npos))
             out << s2;
     }
 }
@@ -769,10 +843,10 @@ void NOMAD::Evaluator_Control::write_solution_file ( const NOMAD::Eval_Point & x
 /*  or update the history file (HISTORY_FILE )  */
 /*  (private)                                   */
 /*----------------------------------------------*/
-void NOMAD::Evaluator_Control::write_sol_or_his_file ( const std::string      & file_name ,
+void NOMAD::Evaluator_Control::write_sol_or_his_file ( const std::string       & file_name ,
                                                       const NOMAD::Eval_Point & x         ,
                                                       bool                      is_sol    ,
-                                                      bool                      display_bimv ) const
+                                                      bool                        display_bimv ) const
 {
     // if is_sol == true: save the solution file
     //              else: update the history file
@@ -955,16 +1029,22 @@ bool NOMAD::Evaluator_Control::cache_check ( const NOMAD::Eval_Point *& x
     
     // first cache check:
     if ( x->is_in_cache() )
+    {
         cache_x = x;
+    }
     // second cache check:
     else
+    {
         cache_x = ( ( x->get_eval_type() == NOMAD::TRUTH ) ?
                    _cache : _sgte_cache )->find ( *x );
+    }
+    
     
     // cache hit: transfer some data from x to cache_x:
     if ( cache_x )
     {
         
+       
         if ( x_eval_type != cache_x->get_eval_type() )
             throw NOMAD::Exception ( "Evaluator_Control.cpp" , __LINE__ ,
                                     "Evaluator_Control::cache_check(): eval and cache pts have different eval_type" );
@@ -1009,6 +1089,9 @@ bool NOMAD::Evaluator_Control::cache_check ( const NOMAD::Eval_Point *& x
           cache_x->get_h().is_defined()            &&
           cache_x->get_h() < h_max                    ) ) )
     {
+        if ( display_degree == NOMAD::FULL_DISPLAY )
+            cout << "in cache but redo"<<endl;
+
         x       = cache_x;
         cache_x = NULL;
     }
@@ -1044,7 +1127,11 @@ bool NOMAD::Evaluator_Control::cache_check ( const NOMAD::Eval_Point *& x
         
         return true;
     }
-    
+    if ( display_degree == NOMAD::FULL_DISPLAY )
+    {
+        const NOMAD::Display & out = _p.out();
+        out << "not in cache"<<endl;
+    }
     return false;
 }
 
@@ -1152,6 +1239,13 @@ void NOMAD::Evaluator_Control::eval_point ( NOMAD::Eval_Point       & x
                 x.set_in_cache ( false );
         }
         
+        // Smoothing (robust mads) -->set f smooth
+        //-------------
+        // Smooth objective functions values from cache, get best solution (updated cache), update success status
+        if ( eval_ok && x.is_in_cache() && _p.get_robust_mads() )
+            private_smooth_fx ( *eval_x );
+
+        
     }
     
 }
@@ -1160,14 +1254,14 @@ void NOMAD::Evaluator_Control::eval_point ( NOMAD::Eval_Point       & x
 /*----------------------------------------------------*/
 /*                 eval points in a list (private)    */
 /*----------------------------------------------------*/
-void NOMAD::Evaluator_Control::eval_points ( std::list<NOMAD::Eval_Point *>     & list_eval         ,
-                                            NOMAD::Barrier                      & true_barrier      ,
-                                            NOMAD::Barrier                      & sgte_barrier      ,
-                                            NOMAD::Pareto_Front                 * pareto_front      ,
-                                            std::list<bool>                     & count_list_eval   ,
-                                            bool                                & stop              ,
-                                            NOMAD::stop_type                    & stop_reason       ,
-                                            const NOMAD::Double                 & h_max             )
+void NOMAD::Evaluator_Control::eval_points ( std::list<NOMAD::Eval_Point *>    & list_eval        ,
+                                            NOMAD::Barrier                    & true_barrier    ,
+                                            NOMAD::Barrier                    & sgte_barrier    ,
+                                            NOMAD::Pareto_Front             * pareto_front    ,
+                                            std::list<bool>                    & count_list_eval,
+                                            bool                            & stop            ,
+                                            NOMAD::stop_type                & stop_reason    ,
+                                            const NOMAD::Double                & h_max          )
 {
     int max_bb_eval   = _p.get_max_bb_eval();
     int max_sgte_eval = _p.get_max_sgte_eval();
@@ -1249,6 +1343,12 @@ void NOMAD::Evaluator_Control::eval_points ( std::list<NOMAD::Eval_Point *>
                 _ev->compute_f ( *(*it) );
                 _ev->compute_h ( *(*it));
                 
+                // Smoothing (robust mads) -->set f smooth
+                //-------------
+                // Smooth objective functions values from cache and from eval_lop, get best solution (updated cache), update success status
+                if ( _p.get_robust_mads() )
+                    private_smooth_fx ( *(*it) );
+                
             }
             else if (!eval_rejected)
             {
@@ -1279,7 +1379,6 @@ void NOMAD::Evaluator_Control::eval_points ( std::list<NOMAD::Eval_Point *>
                     (*it)->set_in_cache ( false );
             }
             
-            
             // count the output stats (STAT_SUM and STAT_AVG):
             if ( (_p.check_stat_sum() || _p.check_stat_avg()) && !eval_rejected)
                 count_output_stats(*(*it));
@@ -1340,6 +1439,15 @@ void NOMAD::Evaluator_Control::check_stopping_criteria
     {
         int max_bb_eval   = _p.get_max_bb_eval();
         int max_sgte_eval = _p.get_max_sgte_eval();
+        int max_block_eval  = _p.get_max_block_eval();
+
+        // stop when block eval budget is exhausted
+        if ( max_block_eval > 0 && _stats.get_block_eval() >= max_block_eval )
+        {
+            stop        = true;
+            stop_reason = NOMAD::MAX_BLOCK_EVAL_REACHED;
+        }
+
         if ( max_bb_eval > 0 && _stats.get_bb_eval() >= max_bb_eval )
         {
             stop        = true;
@@ -1503,6 +1611,14 @@ void NOMAD::Evaluator_Control::receive_eval_result ( NOMAD::search_type    searc
         
         int max_bb_eval   = _p.get_max_bb_eval();
         int max_sgte_eval = _p.get_max_sgte_eval();
+        int max_block_eval  = _p.get_max_block_eval();
+
+        // stop when block eval budget is exhausted
+        if ( max_block_eval > 0 && _stats.get_block_eval() >= max_block_eval )
+        {
+            stop        = true;
+            stop_reason = NOMAD::MAX_BLOCK_EVAL_REACHED;
+        }
         
         if ( max_bb_eval > 0 && _stats.get_bb_eval() >= max_bb_eval )
         {
@@ -1707,8 +1823,7 @@ void NOMAD::Evaluator_Control::private_eval_list_of_points ( NOMAD::search_type
     const NOMAD::Eval_Point  * x;
     NOMAD::check_failed_type   check_failed_reason;
     bool                       count_eval;
-    std::vector<const NOMAD::Eval_Point *>
-    to_be_evaluated;
+    std::vector<const NOMAD::Eval_Point *> to_be_evaluated;
     NOMAD::success_type        one_eval_success;
     bool                       one_for_luck = false;
     bool                       opp_stop     = false;
@@ -2124,6 +2239,11 @@ void NOMAD::Evaluator_Control::private_eval_list_of_points ( NOMAD::search_type
     old_feasible_incumbent   = barrier.get_best_feasible();
     old_infeasible_incumbent = barrier.get_best_infeasible();
     
+    if ( _p.get_robust_mads() && _best_smooth_feas_inc )
+    {
+        old_feasible_incumbent = _best_smooth_feas_inc;
+    }
+    
     NOMAD::Double f0;
     if ( _p.get_opportunistic_min_f_imprvmt().is_defined() &&
         old_feasible_incumbent )
@@ -2144,8 +2264,8 @@ void NOMAD::Evaluator_Control::private_eval_list_of_points ( NOMAD::search_type
     int                       k            = 0;
     int                       k_block      = 0;
     int                       nb_points    = get_nb_eval_points();
-    int                       block_size   = _p.get_bb_max_block_size();
-    int                       block_nb     = 1;
+    int                          block_size   = _p.get_bb_max_block_size();
+    int                          block_nb        = 1;
     
     // main loop (on the list of points):
     // ----------------------------------
@@ -2155,8 +2275,6 @@ void NOMAD::Evaluator_Control::private_eval_list_of_points ( NOMAD::search_type
     
     while ( !stop_evals && !stop && it != end )
     {
-        
-        
         if ( block_size > 1 && display_degree == NOMAD::FULL_DISPLAY )
         {
             std::ostringstream oss;
@@ -2221,6 +2339,7 @@ void NOMAD::Evaluator_Control::private_eval_list_of_points ( NOMAD::search_type
                     list_eval.push_back(&NOMAD::Cache::get_modifiable_point ( *x ));
                 else
                 {
+                    
                     // check stopping criteria for points in cache
                     check_stopping_criteria ( search , count_eval , *x , stop , stop_reason );
                     
@@ -2278,6 +2397,7 @@ void NOMAD::Evaluator_Control::private_eval_list_of_points ( NOMAD::search_type
             ++it;
             ++k;
         }
+        
         if ( list_eval.size() != 0 )
         {
             
@@ -2285,27 +2405,28 @@ void NOMAD::Evaluator_Control::private_eval_list_of_points ( NOMAD::search_type
             
             if (_p.eval_points_as_block())
             {
-                eval_points ( list_eval         ,
-                             true_barrier       ,
-                             sgte_barrier       ,
-                             pareto_front       ,
+                eval_points ( list_eval            ,
+                             true_barrier        ,
+                             sgte_barrier        ,
+                             pareto_front        ,
                              count_list_eval    ,
-                             stop               ,
+                             stop                ,
                              stop_reason        ,
-                             barrier.get_h_max());
+                             barrier.get_h_max() );
             }
             else
             {
                 // bool count_eval=false;
                 x=*(list_eval.begin());
-                eval_point ( NOMAD::Cache::get_modifiable_point ( *x )  ,
+                
+                eval_point ( NOMAD::Cache::get_modifiable_point ( *x )    ,
                             true_barrier                                ,
                             sgte_barrier                                ,
                             pareto_front                                ,
-                            count_list_eval.front()                     ,
+                            count_list_eval.front()                    ,
                             stop                                        ,
-                            stop_reason                                 ,
-                            barrier.get_h_max()                         );
+                            stop_reason                                ,
+                            barrier.get_h_max()                        );
                 
             }
             
@@ -2319,6 +2440,7 @@ void NOMAD::Evaluator_Control::private_eval_list_of_points ( NOMAD::search_type
         std::list<NOMAD::Eval_Point *>::iterator it_x,it_eval;
         k=k_block;
         it_eval=list_eval.begin();
+        success = NOMAD::UNSUCCESSFUL;
         for(it_x=list_x.begin();it_x!=list_x.end();++it_x)
         {
             
@@ -2331,13 +2453,40 @@ void NOMAD::Evaluator_Control::private_eval_list_of_points ( NOMAD::search_type
                                     true_barrier : sgte_barrier                   ,
                                     pareto_front                                    );
             
+            // With RobustMads smoothing, the barrier is not used to identify a success (no constraints are allowed)
+            NOMAD::success_type one_eval_success = NOMAD::UNSUCCESSFUL;
+            if ( _p.get_robust_mads() && _best_smooth_feas_inc && x->is_in_cache() )
+            {
+                if ( _best_smooth_feas_inc != old_feasible_incumbent )
+                {
+                    
+                    if ( x==_best_smooth_feas_inc )
+                    {
+                        one_eval_success = NOMAD::FULL_SUCCESS;
+                        success = NOMAD::FULL_SUCCESS;
+                    }
+                    else
+                    {
+                        one_eval_success = NOMAD::CACHE_UPDATE_SUCCESS;
+                        success = NOMAD::CACHE_UPDATE_SUCCESS;
+                    }
+                    new_feas_inc = _best_smooth_feas_inc;
+                    
+                    barrier.reset();
+                    barrier.insert( *_best_smooth_feas_inc );
+                    barrier.select_poll_center( one_eval_success );
+                
+                }
+            }
+            else
+            {
+                // success:
+                one_eval_success = barrier.get_one_eval_succ();
+                success          = barrier.get_success();
+            }
             
             
             
-            // success:
-            NOMAD::success_type one_eval_success = barrier.get_one_eval_succ();
-            success                              = barrier.get_success();
-            
             // list of processed points:
             if ( x->is_in_cache() )
                 evaluated_pts.push_back ( x );
@@ -2347,6 +2496,7 @@ void NOMAD::Evaluator_Control::private_eval_list_of_points ( NOMAD::search_type
                 // the point has not been found in the cache
                 // and it failed to be inserted.
                 one_eval_success = NOMAD::UNSUCCESSFUL;
+                
             }
             
             // displays:
@@ -2393,8 +2543,6 @@ void NOMAD::Evaluator_Control::private_eval_list_of_points ( NOMAD::search_type
                 }
             }
             
-            
-            
             // close the evaluation block:
             if ( display_degree == NOMAD::FULL_DISPLAY )
                 out << NOMAD::close_block ();
@@ -2452,13 +2600,16 @@ void NOMAD::Evaluator_Control::private_eval_list_of_points ( NOMAD::search_type
         out << std::endl << NOMAD::close_block ( "end of evaluations" )
         << std::endl;
     
-    // incumbents update:
-    const NOMAD::Eval_Point * bf = barrier.get_best_feasible  ();
-    const NOMAD::Eval_Point * bi = barrier.get_best_infeasible();
-    if ( bf && bf != old_feasible_incumbent )
-        new_feas_inc = bf;
-    if ( bi && bi != old_infeasible_incumbent )
-        new_infeas_inc = bi;
+    if ( ! _p.get_robust_mads() || _best_smooth_feas_inc==NULL )
+    {
+        const NOMAD::Eval_Point * bf = barrier.get_best_feasible  ();
+        const NOMAD::Eval_Point * bi = barrier.get_best_infeasible();
+        if ( bf && bf != old_feasible_incumbent )
+            new_feas_inc = bf;
+        if ( bi && bi != old_infeasible_incumbent )
+            new_infeas_inc = bi;
+    }
+    
     
     // the list of eval. points is deleted (only points in the cache are kept):
     clear_eval_lop();
@@ -2860,6 +3011,63 @@ void NOMAD::Evaluator_Control::quad_model_ordering ( NOMAD::dd_type display_degr
 }
 
 
+
+/*-------------------------------------------------*/
+/*            sgtelib_model model ordering (private)    */
+/*-------------------------------------------------*/
+void NOMAD::Evaluator_Control::sgtelib_model_ordering ( NOMAD::dd_type   display_degree ,
+                                                       bool           & modified_list    )
+{
+    modified_list = false;
+    
+    if ( _p.get_SGTELIB_MODEL_FORMULATION()==NOMAD::SGTELIB_MODEL_FORMULATION_EXTERN )
+    {
+        // ROBIN
+        return;
+    }
+    
+    
+    
+    if ( _sgtelib_model_manager && _sgtelib_model_manager->is_ready() ){
+        
+        NOMAD::Double h_model;
+        const NOMAD::Double h_max;
+        bool count_eval = false;
+        std::vector<NOMAD::Eval_Point *> XX;
+        const NOMAD::Eval_Point * x;
+        std::set<NOMAD::Priority_Eval_Point>::const_iterator it , end = _eval_lop.end();
+        
+        
+        for ( it = _eval_lop.begin() ; it != end ; ++it )
+        {
+            x = it->get_point();
+            XX.push_back ( &NOMAD::Cache::get_modifiable_point ( *x ) );
+        }
+        
+        int n_XX = static_cast<int>( XX.size() );
+        _eval_lop.clear();
+        
+        for ( int i = 0 ; i < n_XX ; ++i )
+        {
+            // Prediction
+            _sgtelib_model_manager->eval_x( XX[i] , h_max , count_eval );
+            // Evaluation of h & f
+            _sgtelib_model_manager->eval_h ( XX[i]->get_bb_outputs() , h_model  );
+            
+            // Add the point the eval_lop
+            add_eval_point ( XX[i]   ,
+                            display_degree  ,
+                            _p.get_snap_to_bounds(),
+                            NOMAD::Double() ,
+                            NOMAD::Double() ,
+                            XX[i]->get_f()  ,
+                            h_model         );
+        }//end for
+    }// end if
+    modified_list = true;
+}
+
+
 /*----------------------------------------------------------------------------------*/
 /*  evaluation of a list of points (public version that calls the private version)  */
 /*----------------------------------------------------------------------------------*/
@@ -2968,6 +3176,9 @@ void NOMAD::Evaluator_Control::eval_list_of_points ( NOMAD::search_type
     {
         switch ( _p.get_model_eval_sort() )
         {
+            case NOMAD::SGTELIB_MODEL:
+                sgtelib_model_ordering ( display_degree , modified_list );
+                break;
             case NOMAD::QUADRATIC_MODEL:
                 quad_model_ordering ( display_degree , modified_list );
                 break;
@@ -3126,6 +3337,9 @@ void NOMAD::Evaluator_Control::ordering_lop ( NOMAD::search_type             sea
             case NOMAD::QUADRATIC_MODEL:
                 quad_model_ordering ( display_degree , modified_list );
                 break;
+            case NOMAD::SGTELIB_MODEL:
+                sgtelib_model_ordering ( display_degree , modified_list );
+                break;
             case NOMAD::NO_MODEL:;
         }
     }
@@ -3203,7 +3417,7 @@ bool NOMAD::Evaluator_Control::stop_evaluations ( const NOMAD::Eval_Point & x
                 return true;
             }
             
-            if ( success == NOMAD::FULL_SUCCESS &&
+             if ( ( success == NOMAD::FULL_SUCCESS || success == NOMAD::CACHE_UPDATE_SUCCESS ) &&
                 check_opportunistic_criterion ( display_degree   ,
                                                one_eval_success ,
                                                init_nb_eval     ,
@@ -3222,13 +3436,13 @@ bool NOMAD::Evaluator_Control::stop_evaluations ( const NOMAD::Eval_Point & x
 /*            return true to stop the evaluations                  */
 /*            return false to continue the evaluations             */
 /*-----------------------------------------------------------------*/
-bool NOMAD::Evaluator_Control::check_opportunistic_criterion ( NOMAD::dd_type         display_degree   ,
+bool NOMAD::Evaluator_Control::check_opportunistic_criterion ( NOMAD::dd_type         display_degree  ,
                                                               NOMAD::success_type    one_eval_success ,
                                                               int                    init_nb_eval     ,
                                                               const NOMAD::Double  & f0               ,
                                                               const NOMAD::Barrier & barrier          ,
                                                               int                  & nb_success       ,
-                                                              bool                 & one_for_luck       ) const
+                                                              bool                 & one_for_luck      ) const
 {
     
     int                    min_nb_success = _p.get_opportunistic_min_nb_success();
@@ -3240,8 +3454,7 @@ bool NOMAD::Evaluator_Control::check_opportunistic_criterion ( NOMAD::dd_type
     // min_nb_success:
     if ( min_nb_success > 0 )
     {
-        
-        if ( one_eval_success == NOMAD::FULL_SUCCESS )
+        if ( one_eval_success == NOMAD::FULL_SUCCESS || one_eval_success == NOMAD::CACHE_UPDATE_SUCCESS )
             ++nb_success;
         
         if ( nb_success < min_nb_success )
@@ -3308,7 +3521,7 @@ bool NOMAD::Evaluator_Control::check_opportunistic_criterion ( NOMAD::dd_type
     }
     
     // lucky_eval:
-    if ( lucky_eval && one_eval_success == NOMAD::FULL_SUCCESS )
+    if ( lucky_eval && ( one_eval_success == NOMAD::FULL_SUCCESS || one_eval_success == NOMAD::CACHE_UPDATE_SUCCESS ) )
     {
         one_for_luck = true;
         
@@ -3456,6 +3669,7 @@ void NOMAD::Evaluator_Control::add_eval_point( NOMAD::Eval_Point  *& x
     // 2. model values for f and h:
     pep.set_f_model ( f_model );
     pep.set_h_model ( h_model );
+
     
     if ( x->get_direction() )
     {
@@ -3495,6 +3709,139 @@ void NOMAD::Evaluator_Control::add_eval_point( NOMAD::Eval_Point  *& x
     }
 }
 
+void NOMAD::Evaluator_Control::private_smooth_fx( NOMAD::Eval_Point & eval_pt )
+{
+    
+    if ( ! eval_pt.is_defined())
+        throw NOMAD::Exception ("Evaluator_Control.cpp" , __LINE__ ,"NOMAD::Evaluator_Control::private_smooth_fx ---- eval point is not defined. No smoothing is done!" );
+    
+    
+    NOMAD::Double Px,Fx,gu,Fu;
+    NOMAD::Eval_Point & ptX_1 = _cache->get_modifiable_point( eval_pt );
+    
+    if ( ptX_1.get_f().value() >= NOMAD::INF || ptX_1.get_f().value() <= -NOMAD::INF )
+    {
+        ptX_1.set_smoothing_status ( NOMAD::SMOOTHING_FAIL );
+        return;
+    }
+    
+    // Set the kernel smoothing variance of the point
+    NOMAD::Point Delta = _p.get_signature()->get_mesh()->get_Delta();
+    NOMAD::Double D = Delta[0];
+    
+    NOMAD::Double sigma =  D * _p.get_robust_mads_standard_dev_factor() ;
+    ptX_1.set_smoothing_variance( sigma * sigma );
+
+    
+    // Initialize fsmooth with eval point
+    NOMAD::Double Psmooth=private_grondd ( ptX_1 , ptX_1 );
+    NOMAD::Double fsmooth=Psmooth*ptX_1.get_f();
+    
+    // First: Update evaluated point (eval_pt)----> loop on points in cache (U first)
+    const NOMAD::Eval_Point * curU_1 = _cache->begin();
+    
+    while ( curU_1 )
+    {
+        if ( curU_1->get_eval_status() == NOMAD::EVAL_OK && curU_1->get_f() < NOMAD::INF && curU_1->get_f() > -NOMAD::INF )
+        {
+            
+            gu = private_grondd ( ptX_1 , *curU_1 );
+            Fu = curU_1->get_f();
+            
+            if ( ! gu.is_defined() ||  ! Fu.is_defined() )
+            {
+                throw NOMAD::Exception ("Evaluator_Control.cpp" , __LINE__ ,"NOMAD::Evaluator_Control::private_smooth_fx_pt ---- not enough information for smoothing fx!" );
+                
+            }
+            
+            fsmooth += gu * Fu;
+            Psmooth += gu;
+        }
+        curU_1 = _cache->next();
+    }
+    
+    fsmooth = fsmooth / Psmooth;
+    
+    if ( isnan( fsmooth.value() ) || isnan( Psmooth.value() ) )
+    {
+        ptX_1.set_smoothing_status ( NOMAD::SMOOTHING_FAIL );
+    }
+    else
+    {
+        ptX_1.set_smoothing_status ( NOMAD::SMOOTHING_OK );
+        ptX_1.set_fsmooth( fsmooth );
+        ptX_1.set_P( Psmooth );
+        
+        if ( _best_smooth_feas_inc==NULL || ( _best_smooth_feas_inc->is_defined() && ptX_1.get_fsmooth() < _best_smooth_feas_inc->get_fsmooth() ) )
+                _best_smooth_feas_inc = &eval_pt;
+
+    }
+    
+    // Second: update pts in cache
+    const NOMAD::Eval_Point * curX_2 = _cache->begin();
+    
+    while ( curX_2 )
+    {
+        if ( curX_2->get_eval_status() == NOMAD::EVAL_OK && curX_2->get_smoothing_status() == NOMAD::SMOOTHING_OK && eval_pt.get_smoothing_status () == NOMAD::SMOOTHING_OK )
+        {
+            
+            NOMAD::Eval_Point & ptX_2 = _cache->get_modifiable_point( *curX_2 );
+            
+            Psmooth=ptX_2.get_P();
+            fsmooth=Psmooth*ptX_2.get_fsmooth();
+            
+            gu = private_grondd( ptX_2 , eval_pt );
+            Fu = eval_pt.get_f();
+            
+            if ( ! gu.is_defined() ||  ! Fu.is_defined() )
+            {
+                throw NOMAD::Exception ("Evaluator_Control.cpp" , __LINE__ ,"NOMAD::Evaluator_Control::private_smooth_fx_pt ---- not enough information for smoothing fx!" );
+            }
+            
+            fsmooth += gu * Fu;
+            Psmooth += gu;
+            fsmooth = fsmooth / Psmooth;
+            
+            // Update only if fsmooth and Psmooth are valid
+            if ( ! isnan( fsmooth.value() ) && ! isnan( Psmooth.value() ) )
+            {
+                ptX_2.set_fsmooth( fsmooth );
+                ptX_2.set_P( Psmooth );
+                
+                if ( ptX_2.get_fsmooth() < _best_smooth_feas_inc->get_fsmooth() )
+                    _best_smooth_feas_inc = &ptX_2;
+            }
+        }
+        
+        curX_2=_cache->next();
+        
+    }
+    
+}
+
+NOMAD::Double NOMAD::Evaluator_Control::private_grondd  ( const NOMAD::Eval_Point & x1 , const NOMAD::Eval_Point & x2 )
+{
+
+    // Important remark: x1 and x2 may have different smoothing variance ---> order matters!
+    double var = x1.get_smoothing_variance().value();
+    
+    if ( ! x1.get_smoothing_variance().is_defined() )
+        throw NOMAD::Exception ("Evaluator_Control.cpp" , __LINE__ ,"NOMAD::Evaluator_Control::private_grondd ---- variance smoothing is not available!" );
+    
+    double g = pow( 2 * PI * var , -0.5 );
+    if ( x1 != x2 )
+    {
+        double d=0;
+        for ( int i=0; i < x1.size() ;i++ )
+        {
+            d+=( x1[i].value()-x2[i].value() ) * ( x1[i].value()-x2[i].value() ) ;
+        }
+            g *= exp( - d / (2.0 * var ) );
+    }
+    return NOMAD::Double ( g );
+    
+}
+
 #ifdef MODEL_STATS
 /*------------------------------------------------------------------*/
 /*  display stats on an evaluation for which a model has been used  */
diff --git a/src/Evaluator_Control.hpp b/src/Evaluator_Control.hpp
index 7ec88a0..f7b674a 100644
--- a/src/Evaluator_Control.hpp
+++ b/src/Evaluator_Control.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Evaluator_Control.hpp
  \brief  Control of the blackbox evaluations (headers)
@@ -64,9 +66,11 @@ extern "C" {
 
 namespace NOMAD {
     
+    class Sgtelib_Model_Manager;
+    
     /// Control of the blackbox evaluations.
     /**
-     This class allows the evaluation of a list of trial point.
+     This class allows the evaluation of a list of trial points.
      */
     class Evaluator_Control : private NOMAD::Uncopyable {
         
@@ -81,6 +85,8 @@ namespace NOMAD {
         NOMAD::Cache * _cache;       ///< Cache for true function evaluations.
         NOMAD::Cache * _sgte_cache;  ///< Cache for surrogate evaluations.
         
+        NOMAD::Eval_Point * _best_smooth_feas_inc;
+        
         /// List of points to be evaluated.
         std::set<NOMAD::Priority_Eval_Point> _eval_lop;
         
@@ -114,6 +120,10 @@ namespace NOMAD {
         
         NOMAD::Slave * _slave; // Slave object for master process
 #endif
+ 
+        
+        NOMAD::Sgtelib_Model_Manager * _sgtelib_model_manager;
+        
         
         NOMAD::Model_Stats   _model_ordering_stats; ///< Model ordering stats.
         NOMAD::Stats       & _stats;                ///< Algorithm stats.
@@ -144,11 +154,11 @@ namespace NOMAD {
         
         /// Save the solution file or update the history file.
         /**
-         \param file_name       Name of the file                        -- \b IN.
-         \param x               Lattest solution                        -- \b IN.
-         \param is_sol          Flag equal to \c true if the file is
-         a solution file; otherwise it is a history file.               -- \b IN.
-         \param display_bimv    Display best infeasible (min. viol.)(optional) if \c true
+         \param file_name		Name of the file -- \b IN.
+         \param x				Lattest solution -- \b IN.
+         \param is_sol		Flag equal to \c true if the file is
+         a solution file; otherwise it is a history file.
+         \param display_bimv	Display best infeasible (min. viol.) if \c true
          */
         void write_sol_or_his_file ( const std::string        & file_name ,
                                     const NOMAD::Eval_Point  & x         ,
@@ -233,8 +243,16 @@ namespace NOMAD {
          */
         void quad_model_ordering ( NOMAD::dd_type   display_degree ,
                                   bool           & modified_list    );
+
         
-        
+        /// Sgtelib model ordering (parameter \c MODEL_EVAL_SORT).
+        /**
+         \param display_degree Display degree                              -- \b IN.
+         \param modified_list  To indicate a change in the evaluation list -- \b OUT.
+         */
+        void sgtelib_model_ordering ( NOMAD::dd_type   display_degree ,
+                                     bool           & modified_list    );
+
         
         /// Count the output stats (STAT_SUM and STAT_AVG).
         /**
@@ -287,24 +305,24 @@ namespace NOMAD {
         
         /// Evaluate points.
         /*
-         \param list_x              The list of points                          -- \b IN/OUT.
-         \param true_barrier        Barrier for true evaluations                -- \b IN/OUT.
-         \param sgte_barrier        Barrier for surrogate evaluations           -- \b IN/OUT.
-         \param pareto_front        A pointer to the Pareto front               -- \b IN/OUT
+         \param list_x			The list of points						-- \b IN/OUT.
+         \param true_barrier		Barrier for true evaluations			-- \b IN/OUT.
+         \param sgte_barrier		Barrier for surrogate evaluations		-- \b IN/OUT.
+         \param pareto_front		A pointer to the Pareto front			-- \b IN/OUT
          (may be \c NULL).
-         \param list_count_eval     A list of bool for counted evaluations      -- \b OUT.
-         \param stop                Stop flag                                   -- \b IN/OUT.
-         \param stop_reason         Stop reason                                 -- \b OUT.
-         \param h_max               Maximal feasibility value                   -- \b IN.
+         \param list_count_eval	A list of bool for counted evaluations	-- \b OUT.
+         \param stop				Stop flag								-- \b IN/OUT.
+         \param stop_reason		Stop reason								-- \b OUT.
+         \param h_max				Maximal feasibility value				-- \b IN.
          */
-        void eval_points ( std::list<NOMAD::Eval_Point *>   & list_x            ,
-                          NOMAD::Barrier                    & true_barrier      ,
-                          NOMAD::Barrier                    & sgte_barrier      ,
-                          NOMAD::Pareto_Front               * pareto_front      ,
-                          std::list<bool>                   & list_count_eval   ,
-                          bool                              & stop              ,
-                          NOMAD::stop_type                  & stop_reason       ,
-                          const NOMAD::Double               & h_max             );
+        void eval_points ( std::list<NOMAD::Eval_Point *>	& list_x            ,
+                          NOMAD::Barrier					& true_barrier ,
+                          NOMAD::Barrier					& sgte_barrier ,
+                          NOMAD::Pareto_Front				* pareto_front ,
+                          std::list<bool>					& list_count_eval   ,
+                          bool							& stop         ,
+                          NOMAD::stop_type				& stop_reason  ,
+                          const NOMAD::Double				& h_max          );
         
         
         
@@ -393,6 +411,12 @@ namespace NOMAD {
                                           std::list<const NOMAD::Eval_Point *> & evaluated_pts    );
         
         
+        void private_smooth_fx ( NOMAD::Eval_Point & eval_pt );
+        
+        NOMAD::Double private_grondd ( const NOMAD::Eval_Point & x1 , const NOMAD::Eval_Point & x2  ) ;
+
+        
+        
 #ifdef MODEL_STATS
         /// Display stats on an evaluation for which a model has been used.
         /**
@@ -531,8 +555,8 @@ namespace NOMAD {
         
         /// Update the solution file.
         /**
-         \param x                The lattest solution                                   -- \b IN.
-         \param display_bimv    Required to display least infeasible (default=false)    -- \b IN
+         \param x				The lattest solution									-- \b IN.
+         \param display_bimv	Required to display least infeasible (default=false)	-- \b IN
          */
         void write_solution_file ( const NOMAD::Eval_Point & x , bool display_bimv=false) const;
         
@@ -605,6 +629,12 @@ namespace NOMAD {
          */
         void set_evaluator ( NOMAD::Evaluator * e ) { _ev = e; }
         
+        /// Set the sgtelib model manager.
+        /**
+         \param dtm A pointer to the sgtelib model manager -- \b IN.
+         */
+        void set_sgtelib_model_manager ( NOMAD::Sgtelib_Model_Manager * dtm ){ _sgtelib_model_manager = dtm; }
+
         
         /// Reset.
         void reset ( void );
diff --git a/src/Exception.cpp b/src/Exception.cpp
index b455c0d..afbcc02 100644
--- a/src/Exception.cpp
+++ b/src/Exception.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Exception.cpp
  \brief  custom class for exceptions (implementation)
@@ -55,7 +57,8 @@
 const char * NOMAD::Exception::what ( void ) const throw()
 {
     std::ostringstream oss;
-    oss << "NOMAD::Exception thrown (" << _file << ", " << _line << ")";
+    if ( ! _file.empty() || _line > 0 )
+        oss << "NOMAD::Exception thrown (" << _file << ", " << _line << ")";
     if ( !_what.empty() )
         oss << " " << _what;
     _what = oss.str();
diff --git a/src/Exception.hpp b/src/Exception.hpp
index 84f0c7f..13f6c3f 100644
--- a/src/Exception.hpp
+++ b/src/Exception.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Exception.hpp
  \brief  Custom class for exceptions (headers)
diff --git a/src/Extended_Poll.cpp b/src/Extended_Poll.cpp
index f09390f..c0b59a5 100644
--- a/src/Extended_Poll.cpp
+++ b/src/Extended_Poll.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Extended_Poll.cpp
  \brief  Extended poll for categorical variables (implementation)
@@ -133,8 +135,8 @@ void NOMAD::Extended_Poll::add_extended_poll_point ( NOMAD::Point     & ep ,
     // new eval point:
     // ---------------
     NOMAD::Eval_Point * pt  = new NOMAD::Eval_Point;
-    pt->set ( ep , _p.get_bb_nb_outputs() );
-    pt->set_signature ( new_s );
+    pt->set                 ( ep , _p.get_bb_nb_outputs() );
+    pt->set_signature     ( new_s                       );
     
     
     for ( int i = 0 ; i < pt->get_n() ; ++i )
@@ -313,7 +315,7 @@ void NOMAD::Extended_Poll::descent ( const NOMAD::Eval_Point  * y
         l2 = static_cast<int>((old_bi->get_signature()->get_mesh()->get_min_mesh_indices())[0].value());
     
     
-    descent_p.get_signature()->get_mesh()->set_limit_mesh_index( std::min( l1, l2) );    
+    descent_p.get_signature()->get_mesh()->set_limit_mesh_index( std::min( l1, l2) );  
     
     
     // Evaluator_Control object:
@@ -539,7 +541,7 @@ void NOMAD::Extended_Poll::set_descent_parameters ( const NOMAD::Eval_Point * y
     descent_p.set_PERIODIC_VARIABLE ( epc_signature->get_periodic_variables() );
     descent_p.set_VARIABLE_GROUP    ( epc_signature->get_var_groups()         );
     descent_p.set_BB_OUTPUT_TYPE    ( _p.get_bb_output_type() );
-    descent_p.set_DIRECTION_TYPE ( _p.get_direction_types() );
+    descent_p.set_DIRECTION_TYPE    ( _p.get_direction_types() );
     descent_p.set_SEC_POLL_DIR_TYPE ( _p.get_sec_poll_dir_types() );
     
     
@@ -574,6 +576,7 @@ void NOMAD::Extended_Poll::set_descent_parameters ( const NOMAD::Eval_Point * y
         descent_p.set_MODEL_EVAL_SORT ( _p.get_model_eval_sort());
         descent_p.set_MODEL_SEARCH (_p.has_model_search());
         
+        
     }
     
     
@@ -581,6 +584,7 @@ void NOMAD::Extended_Poll::set_descent_parameters ( const NOMAD::Eval_Point * y
     
     int bbe       = stats.get_bb_eval();
     int sgte_eval = stats.get_sgte_eval();
+    int blk_eva   = stats.get_block_eval();
     
     {
         int p_max_bbe = _p.get_max_bb_eval();
@@ -629,7 +633,7 @@ void NOMAD::Extended_Poll::set_descent_parameters ( const NOMAD::Eval_Point * y
     descent_p.set_OPPORTUNISTIC_MIN_NB_SUCCESS ( _p.get_opportunistic_min_nb_success() );
     
     if ( _p.eval_points_as_block() )
-        descent_p.set_BB_MAX_BLOCK_SIZE( _p.get_bb_max_block_size() );
+        descent_p.set_BB_MAX_BLOCK_SIZE(    _p.get_bb_max_block_size()        );
     
     
     descent_p.set_CACHE_FILE        ( _p.get_cache_file()        );
@@ -646,42 +650,101 @@ void NOMAD::Extended_Poll::set_descent_parameters ( const NOMAD::Eval_Point * y
     else
         descent_p.set_DISPLAY_DEGREE ( _p.out().get_poll_dd());
     
-    // Stats style modified
-    if ( has_sgte )
-        descent_p.set_DISPLAY_STATS ( NOMAD::itos(sgte_eval) + "+SGTE OBJ (ExtendedPoll---surrogate)" );
-    else
+    std::string s_bbe = NOMAD::itos(bbe) + "+";
+    std::string s_blk = NOMAD::itos(blk_eva) + "+";
+    std::string s_sgte = NOMAD::itos(sgte_eval) + "+";
+
+    // Display stats
     {
         std::list<std::string> ds = _p.get_display_stats();
-        std::list<std::string>::iterator       it    = ds.begin();
-        std::list<std::string>::const_iterator end   = ds.end();
-        std::string  s_bbe = NOMAD::itos(bbe) + "+";
-        while ( it != end )
+        std::list<std::string>::iterator it    = ds.begin();
+        std::list<std::string>::iterator end   = ds.end();
+        
+        if ( has_sgte )
         {
-            if (*it == "BBE")
-                ds.insert ( it , s_bbe );
-            ++it;
+            while ( it != ds.end() )
+            {
+                if ( *it == "BBE" )
+                {
+                    it = ds.erase ( it );
+                    ds.insert ( it , NOMAD::itos(bbe) );
+                }
+                if ( *it == "BLK_EVA" )
+                {
+                    it = ds.erase ( it );
+                    ds.insert ( it , NOMAD::itos(blk_eva) );
+                }
+                if ( *it == "SGTE" )
+                    ds.insert ( it , s_sgte );
+                
+                ++it;
+            }
+            ds.push_back(" ");
+            ds.push_back ( "(ExtendedPoll#" + NOMAD::itos(stats.get_nb_ext_poll()) + "--surrogate_evals)" );
+            descent_p.set_DISPLAY_STATS ( ds );
+            
+        }
+        else
+        {
+            
+            while ( it != end )
+            {
+                if ( *it == "BBE" )
+                    ds.insert ( it , s_bbe );
+                if ( *it == "BLK_EVA" )
+                    ds.insert ( it , s_blk );
+                ++it;
+            }
+            ds.push_back(" ");
+            ds.push_back ( "(ExtendedPoll#" + NOMAD::itos(stats.get_nb_ext_poll()) + ")" );
+            
+            descent_p.set_DISPLAY_STATS ( ds );
         }
-        ds.push_back ( " (ExtendedPoll)" );
-        descent_p.set_DISPLAY_STATS ( ds );
     }
     
     // STATS_FILE:
-    if ( has_sgte )
-        descent_p.set_STATS_FILE ( _p.get_stats_file_name() , NOMAD::itos(sgte_eval) + "+SGTE OBJ (ExtendedPoll---surrogate)" );
-    else
     {
         std::list<std::string>                 sf    = _p.get_stats_file();
         std::list<std::string>::iterator       it    = sf.begin();
         std::list<std::string>::const_iterator end   = sf.end();
-        std::string                            s_bbe = NOMAD::itos(bbe) + "+";
-        while ( it != end )
+        if ( has_sgte )
         {
-            if ( *it == "BBE" )
-                sf.insert ( it , s_bbe );
-            ++it;
+            while ( it != sf.end() )
+            {
+                if ( *it == "BBE" )
+                {
+                    it = sf.erase ( it );
+                    sf.insert ( it , NOMAD::itos(bbe) );
+                }
+                if ( *it == "BLK_EVA" )
+                {
+                    it = sf.erase ( it );
+                    sf.insert ( it , NOMAD::itos(blk_eva) );
+                }
+                if ( *it == "SGTE" )
+                    sf.insert ( it , s_sgte );
+                
+                ++it;
+            }
+            sf.push_back(" ");
+            sf.push_back ( "(ExtendedPoll#" + NOMAD::itos(stats.get_nb_ext_poll()) + "--surrogate_evals)" );
+            descent_p.set_STATS_FILE ( _p.get_stats_file_name() , sf );
+        }
+        else
+        {
+            
+            while ( it != end )
+            {
+                if ( *it == "BBE" )
+                    sf.insert ( it , s_bbe );
+                if ( *it == "BLK_EVA" )
+                    sf.insert ( it , s_blk );
+                ++it;
+            }
+            sf.push_back(" ");
+            sf.push_back ( "(ExtendedPoll#" + NOMAD::itos(stats.get_nb_ext_poll()) + ")" );
+            descent_p.set_STATS_FILE ( _p.get_stats_file_name() , sf );
         }
-        sf.push_back ( " (ExtendedPoll)" );
-        descent_p.set_STATS_FILE ( _p.get_stats_file_name() , sf );
     }
     
     // Mesh:
@@ -689,7 +752,8 @@ void NOMAD::Extended_Poll::set_descent_parameters ( const NOMAD::Eval_Point * y
         const OrthogonalMesh * mesh = epc_signature->get_mesh();
         descent_p.set_MIN_MESH_SIZE ( mesh->get_min_mesh_size() );
         descent_p.set_MIN_POLL_SIZE ( mesh->get_min_poll_size() );
-        descent_p.set_INITIAL_POLL_SIZE ( mesh->get_initial_poll_size() , false );        
+        descent_p.set_INITIAL_POLL_SIZE ( mesh->get_initial_poll_size() , false );
+        
     }
     
     // check the parameters:
diff --git a/src/Extended_Poll.hpp b/src/Extended_Poll.hpp
index 93df428..e11a2f8 100644
--- a/src/Extended_Poll.hpp
+++ b/src/Extended_Poll.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Extended_Poll.hpp
  \brief  Extended poll for categorical variables (headers)
diff --git a/src/Filter_Point.hpp b/src/Filter_Point.hpp
index 58de3cf..4080757 100644
--- a/src/Filter_Point.hpp
+++ b/src/Filter_Point.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
   \file   Filter_Point.hpp
   \brief  Point stored in the filter (headers)
diff --git a/src/GMesh.cpp b/src/GMesh.cpp
new file mode 100644
index 0000000..ed4be76
--- /dev/null
+++ b/src/GMesh.cpp
@@ -0,0 +1,650 @@
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
+/**
+ \file   GMesh.cpp
+ \brief  Class for the MADS xmesh (implementation)
+ \author Christophe Tribes
+ \date   2014-07
+ \see    GMesh.hpp
+ */
+#include "GMesh.hpp"
+#include <math.h>
+
+
+/*-----------------------------------------------------------*/
+/*                    init the GMesh                       */
+/*-----------------------------------------------------------*/
+void NOMAD::GMesh::init ( )
+{
+
+    if ( _limit_mesh_index > 0 )
+        throw NOMAD::Exception ( "GMesh.cpp" , __LINE__ ,
+                                "NOMAD::GMesh::GMesh(): limit mesh index must be <=0 " );
+    // Set the mesh indices
+    _r.resize( _n );
+    _r_max.resize( _n );
+    _r_min.resize( _n );
+    
+    for ( int k = 0 ; k < _n ; ++k )
+    {
+        _r[k]=0;
+        _r_max[k]=0;
+        _r_min[k]=0;
+    }
+    
+    // Set the mesh mantissas and exponents
+    init_poll_size_granular ( _Delta_0 );
+    
+    // Update mesh and poll after granular sizing
+    _Delta_0_exp = _Delta_exp ;
+    _Delta_0_mant = _Delta_mant;
+    get_Delta ( _Delta_0 );
+    get_delta ( _delta_0 );
+    
+
+    
+}
+
+
+/*-----------------------------------------------------------*/
+/* Update the provided mesh indices (the Mesh is unchanged). */
+/*-----------------------------------------------------------*/
+void NOMAD::GMesh::update ( NOMAD::success_type success ,
+                           NOMAD::Point & mesh_indices,
+                           const NOMAD::Direction *dir ) const
+{
+    
+    if ( mesh_indices.is_defined() )
+    {
+        
+        if ( dir && dir->size() != mesh_indices.size() )
+            throw NOMAD::Exception ( "GMesh.cpp" , __LINE__ ,
+                                    "NOMAD::GMesh::update(): mesh_indices and dir have different sizes" );
+        
+        for (int i=0; i < mesh_indices.size() ; i++)
+        {
+            if ( ! _fixed_variables.is_defined() && success == NOMAD::FULL_SUCCESS )
+            {
+                mesh_indices[i] ++;
+                
+                if ( mesh_indices[i] > -NOMAD::GL_LIMITS )
+                    mesh_indices[i] = -NOMAD::GL_LIMITS;
+            }
+            else if ( ! _fixed_variables.is_defined() && success == NOMAD::UNSUCCESSFUL )
+                mesh_indices[i] --;
+        }
+    }
+}
+
+
+
+/*-----------------------------------------------------------*/
+/*                    update the granular mesh                        */
+/*-----------------------------------------------------------*/
+void NOMAD::GMesh::update ( NOMAD::success_type success , const NOMAD::Direction * d )
+{
+    
+    if ( d && d->size() != _n )
+        throw NOMAD::Exception ( "GMesh.cpp" , __LINE__ ,
+                                "NOMAD::GMesh::update(): delta_0 and d have different sizes" );
+    
+    if ( success == NOMAD::FULL_SUCCESS )
+    {
+        
+        NOMAD::Double min_rho=NOMAD::INF;
+        for ( int i=0 ; i < _n ;i++ )
+        {
+            if ( _granularity[i] == 0 && !_fixed_variables[i].is_defined() )
+                min_rho=NOMAD::min ( min_rho , get_rho(i) );
+        }
+        
+        for (int i=0 ; i < _n ; i++ )
+        {
+            
+            // Test for producing anisotropic mesh + correction to prevent mesh collapsing for some variables ( ifnot )
+            if ( !_fixed_variables[i].is_defined() )
+            {
+                
+
+                if ( ! d || ! _anisotropic_mesh ||
+                     fabs((*d)[i].value())/get_delta(i).value()/get_rho(i).value() > 0.1 ||
+                    ( _granularity[i] == 0  && _Delta_exp[i] < _Delta_0_exp[i] && get_rho(i) > min_rho*min_rho ))
+                {
+                    // update the mesh index
+                    ++_r[i];
+                    _r_max[i]=NOMAD::max(_r[i],_r_max[i]);
+                    
+                    // update the mantissa and exponent
+                    if ( _Delta_mant[i] == 1 )
+                        _Delta_mant[i]= 2;
+                    else if ( _Delta_mant[i] == 2 )
+                        _Delta_mant[i]=5;
+                    else
+                    {
+                        _Delta_mant[i]=1;
+                        ++_Delta_exp[i];
+                    }
+                }
+            }
+        }
+    }
+    else if ( success == NOMAD::UNSUCCESSFUL )
+    {
+        for (int i=0 ; i < _n ; i++ )
+        {
+            if ( !_fixed_variables[i].is_defined() )
+            {
+                
+                // update the mesh index
+                --_r[i];
+                
+                // update the mesh mantissa and exponent
+                if ( _Delta_mant[i] == 1 )
+                {
+                    _Delta_mant[i]= 5;
+                    --_Delta_exp[i];
+                }
+                else if ( _Delta_mant[i] == 2 )
+                    _Delta_mant[i]=1;
+                else
+                    _Delta_mant[i]=2;
+                
+                
+                if ( _granularity[i] > 0 && _Delta_exp[i]==-1 && _Delta_mant[i]==5 )
+                {
+                    ++_r[i];
+                    _Delta_exp[i]=0;
+                    _Delta_mant[i]=1;
+                }
+            }
+            // Update the minimal mesh index reached so far
+            _r_min[i]=NOMAD::min(_r[i],_r_min[i]);
+            
+        }
+    }
+    
+    
+}
+
+
+/*-----------------------------------------------------------*/
+/*                           display                         */
+/*-----------------------------------------------------------*/
+void NOMAD::GMesh::display ( const NOMAD::Display & out ) const
+{
+    
+    out << "n                       : " << _n               << std::endl;
+    out << "minimal mesh size       : ";
+    if ( _delta_min.is_defined() )
+        out << "(" << _delta_min     << " )" << std::endl;
+    else
+        out << "none";
+    out << std::endl
+    << "minimal poll size       : ";
+    if ( _Delta_min_is_defined )
+        out << "( " << _Delta_min     << " )" << std::endl;
+    else
+        out << "none";
+    
+    out << std::endl << "initial poll size       : ";
+    if ( _Delta_0.is_defined() )
+        out <<"( " << _Delta_0     << " )" << std::endl;
+    else
+        out <<"( none )" << std::endl;
+    
+    out << std::endl << "initial mesh size       : ";
+    
+    if ( _delta_0.is_defined() )
+        out <<"( " << _delta_0     << " )" << std::endl;
+    else
+        out <<"( none )" << std::endl;
+    
+    out << std::endl;
+}
+
+
+/*----------------------------------------------------------*/
+/*  check the stopping conditions on the minimal poll size  */
+/*  and on the minimal mesh size                            */
+/*----------------------------------------------------------*/
+void NOMAD::GMesh::check_min_mesh_sizes ( bool             & stop           ,
+                                         NOMAD::stop_type & stop_reason      ) const
+{
+    if ( stop )
+        return;
+    
+    // Coarse mesh stopping criterion
+    stop=false;
+    for (int i=0;i<_n;i++)
+        if ( _r[i] > -NOMAD::GL_LIMITS )
+        {
+            stop        = true;
+            break;
+        }
+    
+    if ( stop )
+    {
+        stop_reason = NOMAD::GL_LIMITS_REACHED;
+        return;
+    }
+
+    stop=true;
+
+    // Fine mesh stopping criterion (do not apply when all variables have granularity
+    // All mesh indices must < _limit_mesh_index for all continuous variables (granularity==0) and
+    // and mesh size = granularity for all granular variables to trigger this stopping criterion
+    if ( _all_granular )
+    {
+        // Do not stop because of to fine a mesh if all variables are granular
+        stop =false;
+    }
+    else
+    {
+        for ( int i=0 ; i <_n ; i++ )
+        {
+            // Do not stop if the mesh size of a variable is strictly larger than its granularity
+            if ( _granularity[i] > 0 && ! _fixed_variables[i].is_defined() && get_delta(i) > _granularity[i] )
+            {
+                stop = false;
+                break;
+            }
+            
+            // Do not stop if the mesh of a variable is above the limit mesh index
+            if ( _granularity[i] == 0 && ! _fixed_variables[i].is_defined() && _r[i] >= _limit_mesh_index )
+            {
+                stop = false;
+                break;
+            }
+        }
+    }
+    
+    if ( stop )
+    {
+        stop_reason = NOMAD::GL_LIMITS_REACHED;
+        return;
+    }
+    
+    // 2. Delta^k (poll size) tests:
+    if ( check_min_poll_size_criterion ( ) )
+    {
+        stop        = true;
+        stop_reason = NOMAD::DELTA_P_MIN_REACHED;
+        return;
+    }
+    
+    // 3. delta^k (mesh size) tests:
+    if ( check_min_mesh_size_criterion ( ) )
+    {
+        stop        = true;
+        stop_reason = NOMAD::DELTA_M_MIN_REACHED;
+        return;
+    }
+}
+
+/*-----------------------------------------------------------*/
+/*              check the minimal poll size (private)        */
+/*-----------------------------------------------------------*/
+bool NOMAD::GMesh::check_min_poll_size_criterion ( ) const
+{
+    if ( !_Delta_min_is_defined )
+        return false;
+    
+    NOMAD::Point Delta;
+    return get_Delta ( Delta );
+}
+
+/*-----------------------------------------------------------*/
+/*              check the minimal mesh size (private)        */
+/*-----------------------------------------------------------*/
+bool NOMAD::GMesh::check_min_mesh_size_criterion ( ) const
+{
+    if ( !_delta_min.is_defined() )
+        return false;
+    
+    NOMAD::Point delta;
+    return get_delta ( delta );
+}
+
+
+/*--------------------------------------------------------------*/
+/*  get delta (mesh size parameter)                                */
+/*--------------------------------------------------------------*/
+/*  the function also returns true if ALL variables             */
+/*  with delta_min verify delta[i] < delta_min[i]               */
+/*--------------------------------------------------------------*/
+bool NOMAD::GMesh::get_delta ( NOMAD::Point & delta ) const
+{
+    delta.resize(_n);
+    
+    bool stop = true;
+    
+    // delta^k = power_of_beta * delta^0:
+    for ( int i = 0 ; i < _n ; ++i )
+    {
+        
+        delta[i] = get_delta( i );
+        
+        if ( stop && _delta_min_is_defined && ! _fixed_variables[i].is_defined() && _delta_min[i].is_defined() && delta[i] >= _delta_min[i] )
+            stop = false;
+    }
+    
+    return stop;
+}
+
+
+/*--------------------------------------------------------------*/
+/*  get delta (mesh size parameter)                                */
+/*       delta^k = 10^(b^k-|b^k-b_0^k|)                         */
+/*--------------------------------------------------------------*/
+NOMAD::Double NOMAD::GMesh::get_delta ( int i ) const
+{
+    
+    
+    NOMAD::Double delta = pow ( 10 , _Delta_exp[i].value() - std::fabs( _Delta_exp[i].value() - _Delta_0_exp[i].value() ) );
+    
+    if ( _granularity[i] > 0 )
+        delta = _granularity[i] * NOMAD::max( 1.0 , delta );
+    
+    return delta;
+    
+}
+
+/*--------------------------------------------------------------*/
+/*  get Delta_i  (poll size parameter)                          */
+/*       Delta^k = dmin * a^k *10^{b^k}                                 */
+/*--------------------------------------------------------------*/
+NOMAD::Double NOMAD::GMesh::get_Delta ( int i ) const
+{
+    
+    NOMAD::Double d_min_gran = 1.0;
+    
+    if ( _granularity[i] > 0 )
+        d_min_gran = _granularity[i];
+    
+    NOMAD::Double Delta = d_min_gran * _Delta_mant[i] * pow ( 10.0, _Delta_exp[i].value() ) ;
+    
+    return Delta;
+}
+
+
+
+/*--------------------------------------------------------------*/
+/*  get Delta (poll size parameter)                                */
+/*--------------------------------------------------------------*/
+/*  the function also returns true if all continuous variables   */
+/*  have Delta < Delta_min and all granular variables have      */
+/*  Delta <= Delta_min                                          */
+/*--------------------------------------------------------------*/
+bool NOMAD::GMesh::get_Delta ( NOMAD::Point & Delta ) const
+{
+    
+    bool stop    = true;
+    Delta.resize(_n);
+    
+    for ( int i = 0 ; i < _n ; ++i )
+    {
+        Delta[i] = get_Delta( i );
+        
+        if (  stop && ! _fixed_variables[i].is_defined() && _granularity[i] == 0 && ( !_Delta_min_is_complete  || Delta[i] >= _Delta_min[i] ) )
+            stop = false;
+        
+        if ( stop && ! _fixed_variables[i].is_defined() && _granularity[i] > 0 && ( !_Delta_min_is_complete  || Delta[i] > _Delta_min[i] ) )
+            stop = false;
+
+    }
+    
+    return stop;
+}
+
+
+/*--------------------------------------------------------------*/
+/*  get rho (ratio poll/mesh size)                                */
+/*       rho^k = 10^(b^k-|b^k-b_0^k|)                               */
+/*--------------------------------------------------------------*/
+NOMAD::Double NOMAD::GMesh::get_rho ( int i ) const
+{
+    NOMAD::Double rho ;
+    if ( _granularity[i] > 0  )
+        rho = _Delta_mant[i] * min( pow ( 10 , _Delta_exp[i].value() ) , pow ( 10 , std::fabs( _Delta_exp[i].value() - _Delta_0_exp[i].value() ) ) );
+    else
+        rho = _Delta_mant[i] * pow ( 10 , std::fabs( _Delta_exp[i].value() - _Delta_0_exp[i].value() ) );
+    
+
+    return rho;
+    
+}
+
+
+
+bool NOMAD::GMesh::is_finest ( ) const
+{
+    
+    for ( int i = 0 ; i < _n ; ++i )
+    {
+        if ( ! _fixed_variables[i].is_defined() && _r[i] > _r_min[i] )
+            return false;
+    }
+    return true;
+}
+
+
+/*-----------------------------------------------------------*/
+/*             set the mesh indices                          */
+/*-----------------------------------------------------------*/
+void NOMAD::GMesh::set_mesh_indices ( const NOMAD::Point & r )
+{
+    if ( r.size() != _n )
+        throw NOMAD::Exception ( "GMesh.cpp" , __LINE__ ,
+                                "NOMAD::GMesh::set_mesh_indices(): dimension of provided mesh indices must be consistent with their previous dimension" );
+    
+    // Set the mesh indices
+    _r=r;
+    for ( int i = 0 ; i < _n ; ++i )
+    {
+        if ( r[i] > _r_max[i] )
+            _r_max[i] = r[i];
+        if ( r[i] < _r_min[i] )
+            _r_min[i] = r[i];
+    }
+    
+    // Set the mesh mantissas and exponents according to the mesh indices
+    for ( int i = 0 ; i < _n ; ++i )
+    {
+        int shift = static_cast<int>( _r[i].value() + _pos_mant_0[i].value() );
+        int pos= ( shift + 300 )  % 3 ;
+        
+        _Delta_exp[i] = std::floor( ( shift + 300.0 )/3.0 ) - 100.0 + _Delta_0_exp[i];
+        
+        if ( pos == 0 )
+            _Delta_mant[i] = 1;
+        else if ( pos == 1 )
+            _Delta_mant[i] = 2;
+        else if ( pos == 2 )
+            _Delta_mant[i] = 5;
+        else
+            throw NOMAD::Exception ( "GMesh.cpp" , __LINE__ ,
+                                    "NOMAD::GMesh::set_mesh_indices(): something is wrong with conversion from index to mantissa and exponent" );
+    }
+    
+}
+
+
+/*-----------------------------------------------------------*/
+/*     set the limit mesh index (min value for GMesh)        */
+/*-----------------------------------------------------------*/
+void NOMAD::GMesh::set_limit_mesh_index ( int l )
+{
+    if ( l > 0 )
+        throw NOMAD::Exception ( "GMesh.cpp" , __LINE__ ,
+                                "NOMAD::GMesh::set_limit_mesh_index(): the limit mesh index must be negative or null." );
+    _limit_mesh_index=l;
+}
+
+
+
+
+/*-----------------------------------------------------------*/
+/*              scale and project on the mesh                */
+/*-----------------------------------------------------------*/
+NOMAD::Double NOMAD::GMesh::scale_and_project(int i, const NOMAD::Double & l, bool round_up) const
+{
+    
+    
+    NOMAD::Double delta = get_delta( i );
+    
+    if ( i <= _n && _Delta_mant.is_defined() && _Delta_exp.is_defined() && delta.is_defined() )
+    {
+        NOMAD::Double d = get_rho(i) * l;
+        return d.roundd() * delta;
+    }
+    else
+        
+        throw NOMAD::Exception ( "GMesh.cpp" , __LINE__ ,
+                                "NOMAD::GMesh::scale_and_project(): mesh scaling and projection cannot be performed!" );
+}
+
+
+NOMAD::Point NOMAD::GMesh::get_mesh_ratio_if_success ( void ) const
+{
+    
+    try
+    {
+        NOMAD::Point ratio( _n );
+        for (int i=0 ; i < _n ; i++)
+        {
+            NOMAD::Double power_of_tau
+            = pow ( _update_basis.value() , ( (_r[i] >= 0) ? 0 : 2*_r[i].value() )  );
+            
+            NOMAD::Double power_of_tau_if_success
+            = pow ( _update_basis.value() , ( (_r[i] + _coarsening_step >= 0) ? 0 : 2*(_r[i].value() + _coarsening_step) )  );
+            
+            ratio[i] = power_of_tau_if_success/power_of_tau;
+            
+        }
+        
+        return ratio;
+    }
+    catch ( NOMAD::Double::Invalid_Value & )
+    {
+        return NOMAD::Point( _n,-1 );
+    }
+}
+
+
+void NOMAD::GMesh::init_poll_size_granular ( NOMAD::Point & cont_init_poll_size )
+{
+    
+    
+    if ( ! cont_init_poll_size.is_defined() || cont_init_poll_size.size() != _n )
+        throw NOMAD::Exception ( "GMesh.cpp" , __LINE__ ,
+                                "NOMAD::GMesh::init_poll_size_granular(): Inconsistent dimension of the poll size!" );
+    
+    _Delta_exp.reset ( _n );
+    _Delta_mant.reset ( _n );
+    _pos_mant_0.reset ( _n );
+    
+    
+    NOMAD::Double d_min;
+    
+    for ( int i = 0 ; i < _n ; i++ )
+    {
+        
+        if ( _granularity[i].is_defined() && _granularity[i].value() > 0 )
+            d_min=_granularity[i];
+        else
+            d_min=1.0;
+        
+        int exp= (int)( std::log10( std::fabs( cont_init_poll_size[i].value()/d_min.value() )));
+        _Delta_exp[i]=exp;
+        
+        double cont_mant = cont_init_poll_size[i].value() / d_min.value() * pow ( 10.0 , -exp );
+        
+        // round to 1, 2 or 5
+        if ( cont_mant < 1.5 )
+        {
+            _Delta_mant[i]=1;
+            _pos_mant_0[i]=0;
+        }
+        else if ( cont_mant >= 1.5 && cont_mant < 3.5 )
+        {
+            _Delta_mant[i]=2;
+            _pos_mant_0[i]=1;
+        }
+        else
+        {
+            _Delta_mant[i]=5;
+            _pos_mant_0[i]=2;
+        }
+    }
+    
+}
+
+
+bool NOMAD::GMesh::is_finer_than_initial (void) const
+{
+    
+    for (int i =0; i < _n ; ++i )
+    {
+        if ( !_fixed_variables[i].is_defined() )
+        {
+            
+            // For continuous variables
+            if ( _granularity[i]==0 && ( _Delta_exp[i] > _Delta_0_exp[i] || ( _Delta_exp[i] == _Delta_0_exp[i] && _Delta_mant[i] >= _Delta_0_mant[i] ) ) )
+                return false;
+            
+            // For granular variables ( case 1 )
+            if ( _granularity[i] > 0 && ( _Delta_exp[i] > _Delta_0_exp[i] || ( _Delta_exp[i] == _Delta_0_exp[i] && _Delta_mant[i] > _Delta_0_mant[i] ) ) )
+                return false;
+            
+            // For granular variables ( case 2 )
+            if ( _granularity[i] > 0 && _Delta_exp[i] == _Delta_0_exp[i] && _Delta_mant[i] == _Delta_0_mant[i] && ( _Delta_exp[i] != 0 ||  _Delta_mant[i] != 1 ) )
+                return false;
+        }
+        
+        
+    }
+    
+    return true;
+}
diff --git a/src/GMesh.hpp b/src/GMesh.hpp
new file mode 100644
index 0000000..a871802
--- /dev/null
+++ b/src/GMesh.hpp
@@ -0,0 +1,325 @@
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
+/**
+ \file   GMesh.hpp
+ \brief  Class for the GMesh (extensible mesh) (headers)
+ \author Christophe Tribes
+ \date   2014-07
+ \see    GMesh.cpp
+ */
+#ifndef __GMESH__
+#define __GMESH__
+
+#include "OrthogonalMesh.hpp"
+
+namespace NOMAD {
+    
+    /// Class for the MADS GMesh.
+    /**
+     - The GMesh in NOMAD is defined with the basic directions and the
+     mesh size parameter delta^k for each coordinate.
+     */
+    
+    class GMesh : public NOMAD::OrthogonalMesh {
+        
+        /*--------------------------------------------------------------*/
+    private:
+                
+        NOMAD::Point	_r; // Mesh index per coordinate.
+        NOMAD::Point    _r_min;
+        NOMAD::Point    _r_max;
+        NOMAD::Point    _Delta_0_exp;
+        NOMAD::Point    _Delta_mant;
+        NOMAD::Point    _Delta_0_mant;
+        NOMAD::Point    _Delta_exp;
+        NOMAD::Point    _pos_mant_0;
+        
+        
+        /*--------------------------------------------------------------*/
+        
+        /// Private affectation operator.
+        /**
+         \param m The right-hand side object -- \b IN.
+         */
+        const GMesh & operator = ( const GMesh & m );
+        
+        /// Check the minimal poll size criterion.
+        bool check_min_poll_size_criterion ( ) const;
+        
+        /// Check the minimal mesh size criterion.
+        bool check_min_mesh_size_criterion ( ) const;
+        
+        
+        /// Access to the ratio of poll size / mesh size parameter rho^k.
+        /**
+         \return rho    The ratio poll/mesh size rho^k -- \b OUT.
+         */
+        NOMAD::Double get_rho ( int i ) const;
+        
+        /// Access to the mesh size parameter delta^k.
+        /**
+         \return delta    The mesh size parameter delta^k -- \b OUT.
+         \param  i        The index of the mesh size
+         */
+        NOMAD::Double get_delta ( int i ) const ;
+        
+        
+        /// Access to the poll size parameter Delta^k.
+        /**
+         \return Delta    The poll size parameter Delta^k -- \b OUT.
+         \param  i        The index of the poll size
+         */
+        NOMAD::Double get_Delta ( int i ) const ;
+        
+        void init ( );
+        
+        /// Initialization of granular poll size mantissa and exponent
+        /**
+         \param cont_init_poll_size        continuous initial poll size   -- \b IN.
+         */
+        void init_poll_size_granular ( NOMAD::Point & cont_init_poll_size );
+        
+        
+    public:
+        
+        /// Constructor.
+        /**
+         \param anisotropic_mesh         Use anisotropic mesh or not                     -- \b IN.
+         \param Delta_0					Initial poll size Delta^0						-- \b IN.
+         \param Delta_min				Minimal poll size Delta^min (may be undefined)	-- \b IN.
+         \param delta_min				Minimal mesh size delta^min (may be undefined)	-- \b IN.
+         \param poll_update_basis		Poll update basis (b); default=0				-- \b IN.
+         \param poll_coarsening_step	Poll coarsening step (w+); default=0			-- \b IN.
+         \param poll_refining_step		Poll refining step (w-); default=0				-- \b IN.
+         \param fixed_variables         Fixed variables                                 -- \b IN.
+         \param granularity             Granularity of variables                        -- \b IN.
+         \param limit_min_mesh_index    Limit mesh index (<0)                           -- \b IN.
+         */
+        GMesh (bool                 anisotropic_mesh,
+               const NOMAD::Point & Delta_0   ,
+               const NOMAD::Point & Delta_min ,
+               const NOMAD::Point & delta_min  ,
+               const NOMAD::Point & fixed_variables ,
+               const NOMAD::Point & granularity,
+               NOMAD::Double		poll_update_basis=0,
+               int					poll_coarsening_step=0,
+               int					poll_refining_step=0 ,
+               int                  limit_min_mesh_index=NOMAD::GL_LIMITS )
+        : NOMAD::OrthogonalMesh ( anisotropic_mesh,
+                                 Delta_0,
+                                 Delta_min,
+                                 delta_min,
+                                 fixed_variables,
+                                 granularity,
+                                 poll_update_basis,
+                                 poll_coarsening_step,
+                                 poll_refining_step ,
+                                 limit_min_mesh_index ) { init();}
+        
+        
+        
+        
+        /// Copy constructor.
+        /**
+         \param m The copied object -- \b IN.
+         */
+        GMesh ( const GMesh & m )
+        : OrthogonalMesh ( m ) ,
+        _r ( m._r ) { init(); }
+        
+        /// Destructor.
+        ~GMesh ( void ){}
+        
+        
+        /// Access to the mesh size parameter delta^k for earch coordinate.
+        /**
+         - It is a NOMAD::Point of size \c nc the number of free variables.
+         \param delta    The mesh size parameter delta^k -- \b OUT.
+         \return A boolean equal to \c true if all values are
+         strictly inferior than the associated minimal
+         mesh size delta_min (stopping criterion MIN_MESH_SIZE).
+         */
+        bool get_delta ( NOMAD::Point & delta ) const ;
+        
+        
+        /// Access to the largest mesh size for earch coordinate.
+        /**
+         \return delta_max
+         */
+        NOMAD::Point get_delta_max ( void ) const { return _delta_0;}
+        
+        
+        /// Access to the poll size Delta^k for each coordinate.
+        /**
+         - It is a NOMAD::Point of size \c nc the number of free variables.
+         \param Delta    The poll size parameter Delta^k -- \b OUT.
+         \return A boolean equal to \c true if all values are
+         strictly inferior than the associated minimal
+         poll size Delta_min
+         (stopping criterion MIN_POLL_SIZE).
+         */
+        bool get_Delta ( NOMAD::Point & Delta) const ;
+        
+        
+        /// Update the provided mesh indices (the Mesh is unchanged).
+        /**
+         \param success			Type of success of the iteration				-- \b IN.
+         \param mesh_indices	The mesh indices before and after the update	-- \b IN/OUT.
+         \param dir				The direction that is considered (opt)			-- \b IN.
+         */
+        void update ( NOMAD::success_type success , NOMAD::Point & mesh_indices, const NOMAD::Direction *dir=NULL ) const ;
+        
+        
+        /// Test if mesh finer than initial.
+        /**
+         \return True if mesh size is smaller than initial mesh size for all components; False otherwise.
+         */
+        bool is_finer_than_initial (void) const ;
+        
+        
+        /// Update the GMesh (poll and mesh sizes).
+        /**
+         \param success    Type of success of the iteration		-- \b IN.
+         \param dir        Direction of the iteration			-- \b IN.
+         */
+        void update ( NOMAD::success_type success, const NOMAD::Direction * dir=NULL);
+        
+        /// Reset the mesh to its original size (mesh indices).
+        void reset ( void ) { init() ;}
+        
+        
+        /// Display.
+        /**
+         \param out The NOMAD::Display object -- \b IN.
+         */
+        void display ( const NOMAD::Display & out ) const;
+        
+        /// Test if r < r_min so far for all coordinates.
+        /**
+         \return True if mesh is the finest so far, False otherwise.
+         */
+        bool is_finest ( void ) const;
+        
+        
+        /// Scale and project the ith component of a vector on the mesh
+        /**
+         \param i	      The vector component number           -- \b IN.
+         \param l	      The vector component value            -- \b IN.
+         \param round_up  The flag for round up                 -- \b IN.
+         \return	      The ith component of a vector after mesh scaling and projection
+         */
+        NOMAD::Double scale_and_project(int i, const NOMAD::Double & l , bool round_up=false ) const ;
+        
+        
+        /// Check the stopping conditions on the minimal poll and mesh sizes.
+        /**
+         \param stop           Stop flag                  -- \b IN/OUT.
+         \param stop_reason    Stop reason                -- \b OUT.
+         */
+        void check_min_mesh_sizes (	bool             & stop           ,
+                                   NOMAD::stop_type & stop_reason      ) const;
+        
+        /// Access to the mesh indices per coordinate.
+        /**
+         \return A point with the mesh index for each coordinate.
+         */
+        const NOMAD::Point get_mesh_indices ( void  ) const { return _r; }
+        
+        /// Access to the min mesh indices reached so far.
+        /**
+         \return A point with the mesh index for each coordinate.
+         */
+        const NOMAD::Point get_min_mesh_indices ( void  ) const { return _r_min; }
+        
+        
+        /// Access to the max mesh indices reached so far.
+        /**
+         \return A point with the mesh index for each coordinate.
+         */
+        const NOMAD::Point get_max_mesh_indices ( void  ) const { return _r_max; }
+        
+        
+        /// Manually set the mesh index.
+        /**
+         \param r  The mesh indices provided as a point -- \b IN.
+         */
+        void set_mesh_indices ( const NOMAD::Point & r );
+        
+        
+        
+        /// Manually set the limit mesh index (termination criterion).
+        /**
+         \param l  The limit mesh index for all coordinates -- \b IN.
+         */
+        void set_limit_mesh_index ( int l );
+        
+        
+        
+        /// Access to the mesh ratios after a success
+        /**
+         \return A point with the ratio for each coordinate
+         */
+        NOMAD::Point get_mesh_ratio_if_success ( void ) const;
+        
+        
+        
+    };
+    
+    /// Display a NOMAD::GMesh object.
+    /**
+     \param out The NOMAD::Display object -- \b IN.
+     \param m   The NOMAD::GMesh object to be displayed -- \b IN.
+     \return    The NOMAD::Display object.
+     */
+    inline const NOMAD::Display & operator << ( const NOMAD::Display & out ,
+                                               const NOMAD::GMesh    & m     )
+    {
+        m.display ( out );
+        return out;
+    }
+    
+}
+
+#endif
diff --git a/src/LH_Search.cpp b/src/LH_Search.cpp
index 7450155..dc5aa58 100644
--- a/src/LH_Search.cpp
+++ b/src/LH_Search.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   LH_Search.cpp
  \brief  Latin-Hypercube search (implementation)
@@ -186,9 +188,7 @@ void NOMAD::LH_Search::search ( NOMAD::Mads              & mads           ,
                 else
                 {
                     pts[i] = new NOMAD::Point ( p );
-                    
-                    // for the initial mesh: delta_m is not used and there will
-                    // be no projection on mesh:
+
                     if ( !_initial_search )
                         delta_i = delta[i];
                     
@@ -268,12 +268,12 @@ void NOMAD::LH_Search::search ( NOMAD::Mads              & mads           ,
 /*        LH search: decide p values for one variable        */
 /*-----------------------------------------------------------*/
 /*  . if no bounds, values are scaled with the largest       */
-/*    delta_m value obtained so far                          */
+/*    delta value obtained so far                            */
 /*  . private method                                         */
 /*-----------------------------------------------------------*/
 void NOMAD::LH_Search::values_for_var_i ( int                          p           ,
-                                         const NOMAD::Double        & delta_m     ,
-                                         const NOMAD::Double        & delta_m_max ,
+                                         const NOMAD::Double        & delta     ,
+                                         const NOMAD::Double        & delta_max ,
                                          const NOMAD::bb_input_type & bbit        ,
                                          const NOMAD::Double        & lb          ,
                                          const NOMAD::Double        & ub          ,
@@ -294,7 +294,7 @@ void NOMAD::LH_Search::values_for_var_i ( int                          p
     // main loop:
     for ( i = 0 ; i < p ; ++i )
     {
-        
+
         // both bounds exist:
         if ( lb_def && ub_def )
             v = lb + ( i + NOMAD::RNG::rand()/NOMAD::D_INT_MAX ) * w;
@@ -304,7 +304,7 @@ void NOMAD::LH_Search::values_for_var_i ( int                          p
             
             // lb exists, and ub not: mapping [0;1] --> [lb;+INF[
             if ( lb_def )
-                v = lb + 10 * delta_m_max * sqrt ( - log ( NOMAD::DEFAULT_EPSILON +
+                v = lb + 10 * delta_max * sqrt ( - log ( NOMAD::DEFAULT_EPSILON +
                                                           ( i + NOMAD::RNG::rand()/NOMAD::D_INT_MAX ) * w ) );
             
             // lb does not exist:
@@ -313,13 +313,13 @@ void NOMAD::LH_Search::values_for_var_i ( int                          p
                 
                 // ub exists, and lb not: mapping [0;1] --> ]-INF;ub]
                 if ( ub_def )
-                    v = ub - delta_m_max * 10 *
+                    v = ub - delta_max * 10 *
                     sqrt ( -log ( NOMAD::DEFAULT_EPSILON +
                                  ( i +NOMAD::RNG::rand()/NOMAD::D_INT_MAX ) * w ) );
                 
                 // there are no bounds: mapping [0;1] --> ]-INF;+INF[
                 else
-                    v = (NOMAD::RNG::rand()%2 ? -1.0 : 1.0) * delta_m_max * 10 *
+                    v = (NOMAD::RNG::rand()%2 ? -1.0 : 1.0) * delta_max * 10 *
                     sqrt ( - log ( NOMAD::DEFAULT_EPSILON +
                                   ( i + NOMAD::RNG::rand()/NOMAD::D_INT_MAX ) * w ) );
             }
@@ -330,7 +330,7 @@ void NOMAD::LH_Search::values_for_var_i ( int                          p
             v = v.round();
         
         // projection to mesh (with ref=0):
-        v.project_to_mesh ( 0.0 , delta_m , lb , ub );
+        v.project_to_mesh ( 0.0 , delta , lb , ub );
         
         // affectation + permutation:
         x[rp.pickup()] = v;
diff --git a/src/LH_Search.hpp b/src/LH_Search.hpp
index a3704ee..beea6fd 100644
--- a/src/LH_Search.hpp
+++ b/src/LH_Search.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   LH_Search.hpp
  \brief  Latin-Hypercube search (headers)
diff --git a/src/L_Curve.cpp b/src/L_Curve.cpp
index 369b3ae..e427543 100644
--- a/src/L_Curve.cpp
+++ b/src/L_Curve.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   L_Curve.cpp
  \brief  L_CURVE_TARGET stopping criterion (implementation)
diff --git a/src/L_Curve.hpp b/src/L_Curve.hpp
index ee5a635..ac45003 100644
--- a/src/L_Curve.hpp
+++ b/src/L_Curve.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   L_Curve.hpp
  \brief  L_CURVE_TARGET stopping criterion (headers)
diff --git a/src/Mads.cpp b/src/Mads.cpp
index 5aae7c5..9a8108d 100644
--- a/src/Mads.cpp
+++ b/src/Mads.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Mads.cpp
  \brief  MADS algorithm (implementation)
@@ -48,6 +50,7 @@
  \see    Mads.hpp
  */
 #include "Mads.hpp"
+#include "Sgtelib_Model_Manager.hpp"
 
 /*-----------------------------------*/
 /*   static members initialization   */
@@ -112,11 +115,32 @@ void NOMAD::Mads::init ( void )
     {
         if ( _p.get_model_search(1) == NOMAD::QUADRATIC_MODEL )
             _model_search1 = new Quad_Model_Search ( _p );
-        
         if ( _p.get_model_search(2) == NOMAD::QUADRATIC_MODEL )
             _model_search2 = new Quad_Model_Search ( _p );
     }
     
+    if ( _p.get_model_search(1) == NOMAD::SGTELIB_MODEL || _p.get_model_search(2) == NOMAD::SGTELIB_MODEL )
+    {
+        
+        _sgtelib_model_manager = new NOMAD::Sgtelib_Model_Manager( _p , &_ev_control ) ;
+        _ev_control.set_sgtelib_model_manager( _sgtelib_model_manager );
+        _ev_control_for_sorting.set_sgtelib_model_manager( _sgtelib_model_manager );
+        
+        if ( _p.has_model_search() )
+        {
+            if ( _p.get_model_search(1) == NOMAD::SGTELIB_MODEL )
+            {
+                _model_search1 = new Sgtelib_Model_Search ( _p );
+                static_cast<NOMAD::Sgtelib_Model_Search *>(_model_search1)->set_sgtelib_model_manager(_sgtelib_model_manager);
+            }
+            if ( _p.get_model_search(2) == NOMAD::SGTELIB_MODEL )
+            {
+                _model_search2 = new Sgtelib_Model_Search ( _p );
+                static_cast<NOMAD::Sgtelib_Model_Search *>(_model_search2)->set_sgtelib_model_manager(_sgtelib_model_manager);
+            }
+        }
+    }
+    
     // VNS search initialization:
     if ( _p.get_VNS_search() )
         _VNS_search = new VNS_Search ( _p );
@@ -143,7 +167,12 @@ NOMAD::Mads::~Mads ( void )
     delete _cache_search;
     delete _L_curve;
     
-    if ( _extended_poll && !_user_ext_poll)
+    if ( _sgtelib_model_manager )
+    {
+        delete _sgtelib_model_manager;
+    }
+        
+    if ( _extended_poll && !_user_ext_poll )
         delete _extended_poll;
 }
 
@@ -155,7 +184,6 @@ NOMAD::Mads::~Mads ( void )
 /*-------------------------------------------------------------*/
 void NOMAD::Mads::reset ( bool keep_barriers , bool keep_stats )
 {
-    
     // user search:
     _user_search = NULL;
     
@@ -165,7 +193,15 @@ void NOMAD::Mads::reset ( bool keep_barriers , bool keep_stats )
         if ( _model_search1 )
             _model_search1->reset();
         else
-            _model_search1 = new Quad_Model_Search ( _p );
+        {
+            if ( _p.get_model_search(1) == NOMAD::SGTELIB_MODEL )
+            {
+                _model_search1 = new Sgtelib_Model_Search  ( _p ) ;
+                static_cast<NOMAD::Sgtelib_Model_Search *> ( _model_search1 )->set_sgtelib_model_manager( _sgtelib_model_manager );
+            }
+            else
+                _model_search1 = new Quad_Model_Search ( _p );
+        }
     }
     else
     {
@@ -179,7 +215,16 @@ void NOMAD::Mads::reset ( bool keep_barriers , bool keep_stats )
         if ( _model_search2 )
             _model_search2->reset();
         else
-            _model_search2 = new Quad_Model_Search ( _p );
+        {
+            if ( _p.get_model_search(2) == NOMAD::SGTELIB_MODEL )
+            {
+                _model_search2 = new Sgtelib_Model_Search  ( _p ) ;
+                static_cast<NOMAD::Sgtelib_Model_Search *>( _model_search2 )->set_sgtelib_model_manager( _sgtelib_model_manager );
+            }
+            else
+                
+                _model_search2 = new Quad_Model_Search ( _p );
+        }
     }
     else
     {
@@ -478,7 +523,7 @@ NOMAD::stop_type NOMAD::Mads::run ( void )
         
         // final displays:
         const NOMAD::Eval_Point * bf = get_best_feasible();
-        bool write_stats =  bf &&
+        bool write_stats =    bf &&
         ( bf->get_tag()     != _ev_control.get_last_stats_tag() ||
          _stats.get_bb_eval() != _ev_control.get_last_stats_bbe()    );
         
@@ -796,6 +841,7 @@ NOMAD::stop_type NOMAD::Mads::multi_run ( void )
         return stop_reason;
     }
     
+    
 #endif
     
     try {
@@ -1225,8 +1271,9 @@ NOMAD::stop_type NOMAD::Mads::multi_run ( void )
     
     // stop the slaves:
 #ifdef USE_MPI
+
     if ( NOMAD::Slave::are_running() && stop_slaves_here )
-        NOMAD::Slave::stop_slaves ( out );
+        NOMAD::Slave::stop_slaves ( out );    
 #endif
     
     return stop_reason;
@@ -1271,7 +1318,7 @@ void NOMAD::Mads::iteration ( bool                     & stop           ,
     
     // POLL:
     // -----
-    if ( success != NOMAD::FULL_SUCCESS )
+    if ( success != NOMAD::FULL_SUCCESS && success != NOMAD::CACHE_UPDATE_SUCCESS )
         poll ( stop                  ,
               stop_reason           ,
               success               ,
@@ -1411,7 +1458,7 @@ void NOMAD::Mads::iteration ( bool                     & stop           ,
 /*---------------------------------------------------------*/
 /*                       the poll (private)                */
 /*---------------------------------------------------------*/
-void NOMAD::Mads::poll ( bool         & stop                  ,
+void NOMAD::Mads::poll ( bool                    & stop                  ,
                         NOMAD::stop_type         & stop_reason           ,
                         NOMAD::success_type      & success               ,
                         const NOMAD::Eval_Point *& new_feas_inc          ,
@@ -1543,9 +1590,13 @@ void NOMAD::Mads::poll ( bool         & stop                  ,
             set_poll_trial_points(dirs[i_pc],offset,*poll_center,stop,stop_reason,false);
             offset = dirs[i_pc].size();
             
-            if ( ( _p.get_intensification_type() ==  NOMAD::POLL_ONLY || _p.get_intensification_type() == NOMAD::POLL_AND_SEARCH )  && i_pc == NOMAD::PRIMARY )
+
+            // Intensification only after secondary (or if there is no secondary), but based on primary data
+            if ( ( _p.get_intensification_type() ==  NOMAD::POLL_ONLY || _p.get_intensification_type() == NOMAD::POLL_AND_SEARCH ) 
+                && (  (i_pc == NOMAD::SECONDARY) || (! poll_centers[NOMAD::SECONDARY]) ) )
             {
-                set_poll_intensification_points( *poll_center, offset, stop, stop_reason );
+                size_t offset2 = dirs[NOMAD::PRIMARY].size();
+                set_poll_intensification_points( *poll_centers[NOMAD::PRIMARY], offset2, stop, stop_reason );
             }
             
             if ( !reducePollToNDir )
@@ -1575,7 +1626,6 @@ void NOMAD::Mads::poll ( bool         & stop                  ,
     }
     
     
-    // display the re-ordered list of poll trial points:
     if ( display_degree == NOMAD::FULL_DISPLAY && !stop )
     {
         const std::set<NOMAD::Priority_Eval_Point> & poll_pts = _ev_control.get_eval_lop();
@@ -1627,7 +1677,7 @@ void NOMAD::Mads::poll ( bool         & stop                  ,
     
     
     // If ortho mads n+1, complete poll with additional evaluations obtained dynamically
-    if (!stop && success !=NOMAD::FULL_SUCCESS && _p.has_dynamic_direction())
+    if ( !stop && success != NOMAD::FULL_SUCCESS && success != NOMAD::CACHE_UPDATE_SUCCESS && _p.has_dynamic_direction() )
     {
         _ev_control.reset();
         
@@ -1729,8 +1779,8 @@ void NOMAD::Mads::poll ( bool         & stop                  ,
                                          new_infeas_inc ,
                                          success        );
         
-        if (success==NOMAD::FULL_SUCCESS)
-            _stats.add_nb_success_dyn_dir();
+        if ( success == NOMAD::FULL_SUCCESS )
+            _stats.add_nb_success_dyn_dir ();
         
     }
     
@@ -1793,6 +1843,8 @@ void NOMAD::Mads::poll ( bool         & stop                  ,
                              new_feas_inc    ,
                              new_infeas_inc    );
         
+        
+        
         // stats updates:
         _stats.add_ext_poll_pts ( nb_ext_poll_pts );
         if ( success == NOMAD::FULL_SUCCESS )
@@ -1805,7 +1857,7 @@ void NOMAD::Mads::poll ( bool         & stop                  ,
     }
     
     // stats updates:
-    if ( success == NOMAD::FULL_SUCCESS )
+    if ( success == NOMAD::FULL_SUCCESS || success == NOMAD::CACHE_UPDATE_SUCCESS )
         _stats.add_poll_success();
     
     _stats.add_nb_poll_searches();
@@ -1838,8 +1890,8 @@ void NOMAD::Mads::poll ( bool         & stop                  ,
 /*---------------------------------------------------------*/
 // A direction group corresponds to a variable group having directions.
 // A variable group of categorical variables does not possess directions.
-bool NOMAD::Mads::set_reduced_poll_to_n_directions(std::list<NOMAD::Direction>  & dirs,
-                                                   const NOMAD::Eval_Point      & poll_center)
+bool NOMAD::Mads::set_reduced_poll_to_n_directions(std::list<NOMAD::Direction>    & dirs,
+                                                   const NOMAD::Eval_Point        & poll_center)
 {
     
     // get the number of free variables using the signature (because of extended poll and changing signature)
@@ -1874,8 +1926,8 @@ bool NOMAD::Mads::set_reduced_poll_to_n_directions(std::list<NOMAD::Direction>
         // Get all poll directions with a given direction group index + Get a vector of unique indices for those directions
         std::vector<NOMAD::Direction> pollDirs;
         std::vector<int> pollDirIndices;
-        bool containsOrthoMads = false;
-        for ( itDirs=TmpDirs.begin() ; itDirs != TmpDirs.end() ; ++itDirs)
+        bool containsOrthoMads=false;
+        for (itDirs=TmpDirs.begin();itDirs!=TmpDirs.end() ; ++itDirs)
         {
             if ( static_cast<size_t>((*itDirs).get_dir_group_index()) == dgi )
             {
@@ -1889,6 +1941,7 @@ bool NOMAD::Mads::set_reduced_poll_to_n_directions(std::list<NOMAD::Direction>
         
         std::list<NOMAD::Direction> sortedDirs;
         std::list<NOMAD::Direction>::iterator itSortedDirs;
+        
         // Sort the directions only if mesh is not finest
         if ( !_mesh->is_finest() )
         {
@@ -2499,7 +2552,15 @@ void NOMAD::Mads::set_poll_intensification_points ( const NOMAD::Eval_Point
     int n_max_size_poll_set = cur_signature->get_max_size_poll_set();
     int n_eval_tot = std::min( n_max_size_poll_set , _p.get_max_eval_intensification() );
     int n_extra = n_eval_tot - n_eval_sub ;
-    
+
+    // if n_extra is negative, and intensification > 1, then increase n_extra
+    // Note that here, I assume that max_block_size and max_eval_intensification are equal.
+    if (_p.get_max_eval_intensification()>1)
+    {
+      while (n_extra<0) n_extra += _p.get_max_eval_intensification();
+    }
+
+
     if ( display_degree == NOMAD::FULL_DISPLAY && n_extra > 0 )
     {
         out << std::endl << NOMAD::open_block ( "Poll intensification: " )<< std::endl;
@@ -2522,7 +2583,10 @@ void NOMAD::Mads::set_poll_intensification_points ( const NOMAD::Eval_Point
     size_t k = offset;
     int n_tries = 0;
     int n_eval_cur = _ev_control.get_nb_eval_points();
-    while (  n_eval_cur < n_eval_tot && n_tries < 2 * n_extra )
+
+
+    // replace n_eval_tot with n_eval_sub+n_extra
+    while (  (n_eval_cur < n_eval_sub+n_extra) && (n_tries < 2 * n_extra) )
     {
         
         NOMAD::Direction dir( n, 0.0, NOMAD::UNDEFINED_DIRECTION );
@@ -2536,7 +2600,7 @@ void NOMAD::Mads::set_poll_intensification_points ( const NOMAD::Eval_Point
         if ( dir.is_complete() )
         {
             dir.set_type( NOMAD::ORTHO_1 );
-            dir.set_index ( static_cast<int>(k++) );
+            dir.set_index ( static_cast<int>( k++ ) );
             
             offset++;
             
@@ -2567,8 +2631,8 @@ void NOMAD::Mads::set_poll_intensification_points ( const NOMAD::Eval_Point
             n_eval_cur = n_eval_tmp;
     }
     
-    if ( _ev_control.get_nb_eval_points() < n_eval_tot )
-        out << " cannot reached the target number of points" <<std::endl;
+    if ( _ev_control.get_nb_eval_points() < n_eval_tot && display_degree == NOMAD::FULL_DISPLAY )
+        out << "cannot reach the target number of points" <<std::endl;
     
     if ( display_degree == NOMAD::FULL_DISPLAY )
         out.close_block();
@@ -2650,6 +2714,9 @@ void NOMAD::Mads::set_poll_trial_points (std::list<NOMAD::Direction> &dirs,
         for (int i = 0 ; i < n ; ++i )
             (*pt)[i] =    ( bbit[i]==NOMAD::BINARY && (*dir)[i]==1.0 && (poll_center)[i]==1.0 ) ? 0.0 : (*pt)[i] = (poll_center)[i] + (*dir)[i];
         
+        // we check that the new poll trial point is different than the poll center
+        // (this happens when the mesh size becomes too small):
+        
         if ( pt->Point::operator == ( poll_center ) )
             delete pt;
         else
@@ -2657,7 +2724,7 @@ void NOMAD::Mads::set_poll_trial_points (std::list<NOMAD::Direction> &dirs,
             pt->set_signature        ( cur_signature );
             pt->set_direction        ( dir           );
             pt->set_poll_center_type ( pc_type       );
-            pt->set_poll_center      ( &poll_center );
+            pt->set_poll_center      ( &poll_center  );
             
             // random direction?
             if ( NOMAD::dir_is_random ( dir->get_type() ) )
@@ -2706,9 +2773,9 @@ void NOMAD::Mads::set_poll_trial_points (std::list<NOMAD::Direction> &dirs,
 /*-------------------------------------------------------------*/
 /*     compute the poll directions dynamically  (private)       */
 /*-------------------------------------------------------------*/
-bool NOMAD::Mads::get_dynamic_directions (const std::list<NOMAD::Direction> &   dirs        ,
-                                          std::list<NOMAD::Direction>       &   newDirs     ,
-                                          const NOMAD::Eval_Point           &   poll_center )
+bool NOMAD::Mads::get_dynamic_directions (const std::list<NOMAD::Direction>    &    dirs,
+                                          std::list<NOMAD::Direction>            &    newDirs,
+                                          const NOMAD::Eval_Point                &    poll_center   )
 {
     
     const NOMAD::Signature * cur_signature=poll_center.get_signature();
@@ -2790,15 +2857,15 @@ bool NOMAD::Mads::get_dynamic_directions (const std::list<NOMAD::Direction> &
 
 
 /*------------------------------------------------------------------------------*/
-/*     get a single dynamic direction from incomplete poll                      */
-/*     directions by optimization of a quad model or sum of negative (private)  */
+/*     get a single dynamic direction from incomplete poll                        */
+/*     directions by optimization of a quad model or sum of negative (private)    */
 /*------------------------------------------------------------------------------*/
 /*  The new direction calculation is described in paper from      */
 /*  Audet, Ianni, Le Digabel and Tribes : Reducing the number of  */
 /*  function evaluations in Mesh Adaptive Direct Search Algorithms*/
 /*----------------------------------------------------------------*/
-NOMAD::Direction NOMAD::Mads::get_single_dynamic_direction (const std::list<NOMAD::Direction>   &   dirs,
-                                                            const NOMAD::Eval_Point             &   poll_center)
+NOMAD::Direction NOMAD::Mads::get_single_dynamic_direction (const std::list<NOMAD::Direction>    &    dirs,
+                                                            const NOMAD::Eval_Point            &    poll_center)
 {
     const NOMAD::Signature * cur_signature=poll_center.get_signature();
     int n=cur_signature->get_n();
@@ -2827,29 +2894,32 @@ NOMAD::Direction NOMAD::Mads::get_single_dynamic_direction (const std::list<NOMA
     // New direction obtained by quad model optimization or negative sum of directions
     NOMAD::Point prospect_point;
     bool success=false;
-    if (dir_from_model_opt(dirs))
-        success=optimize_quad_model(poll_center,dirs,prospect_point);
+    if ( dir_from_model_opt(dirs) )
+        success=optimize_quad_model( poll_center, dirs, prospect_point );
     for (int i=0; i<n; i++)
     {
-        if (success)
-            V[i]=prospect_point[i].value()-poll_center[i].value();
+        if ( success )
+            V[i] = prospect_point[i].value() - poll_center[i].value();
         else
-            V[i]=Vb1[i];  // use -sum(d^i) if model optimization unsucessfull or no dynamic direction requested
+            V[i] = Vb1[i];  // use -sum(d^i) if model optimization unsucessfull or no dynamic direction requested
     }
     
     // Update the new directions depending on the input_types
     const std::vector<NOMAD::bb_input_type> & input_types=cur_signature->get_input_types();
     
-    NOMAD::Point delta,Delta;
-    _mesh->get_delta ( delta );
-    _mesh->get_Delta ( Delta );
+    NOMAD::Point delta = cur_signature->get_mesh()->get_delta ( );
+    NOMAD::Point Delta = cur_signature->get_mesh()->get_Delta ( );
     bool isZero=true;
     for (int i=0; i<n; ++i)
     {
         NOMAD::Double v=V[i].value(),vb1=Vb1[i].value(),dm=delta[i].value(),dp=Delta[i].value();
         
-        // Continous variables  ---> rounding towards mesh node.
-        if (input_types[i]==NOMAD::CONTINUOUS)
+        // categorical variables: set direction=0:
+        if ( input_types[i] == NOMAD::CATEGORICAL )
+            V[i] = 0.0;
+        // Continous variables or GMesh+granularity  ---> rounding towards mesh node.
+        // If GMesh and variable is binary --> it is considered as an integer (ordered) with bounds [0;1] (snap to bound done later)
+        else if ( input_types[i] == NOMAD::CONTINUOUS || ( _p.get_mesh_type()==NOMAD::GMESH && (_p.get_granularity())[i] != 0.0 ) )
         {
             NOMAD::Double d1 = vb1/dm;
             NOMAD::Double d2 = v/dm;
@@ -2868,23 +2938,20 @@ NOMAD::Direction NOMAD::Mads::get_single_dynamic_direction (const std::list<NOMA
             else if ( v <= -dp/3.0 )
                 V[i] =  v.floor();
             else
-                V[i] =  v.round();
+                V[i] =  v.roundd();
         }
         // binary variables:
         else if ( input_types[i] == NOMAD::BINARY )
         {
-            if ( v != 0.0 )
+            if ( v != 0.0 )  // ---> this will almost always generate a change (not sure about that)
                 V[i] = 1.0;
         }
-        // categorical variables: set direction=0:
-        else if ( input_types[i] == NOMAD::CATEGORICAL )
-            V[i] = 0.0;
         
-        if ( V[i]!=0 )
+        if ( V[i] != 0 )
             isZero=false;
     }
     
-    if (isZero )
+    if ( isZero )
     {
         NOMAD::Direction Vzero( n , 0.0 ,NOMAD::UNDEFINED_DIRECTION);
         return Vzero;
@@ -3050,6 +3117,7 @@ void NOMAD::Mads::search ( bool                     & stop           ,
         // update stats:
         if ( success == NOMAD::FULL_SUCCESS )
             _stats.add_usr_srch_success();
+        
         if ( count_search )
             _stats.add_nb_usr_searches();
         _stats.add_usr_srch_pts ( nb_search_pts );
@@ -3080,6 +3148,7 @@ void NOMAD::Mads::search ( bool                     & stop           ,
         // update stats:
         if ( success == NOMAD::FULL_SUCCESS )
             _stats.add_CS_success();
+        
         if ( count_search )
             _stats.add_nb_cache_searches();
         _stats.add_CS_pts ( nb_search_pts );
@@ -3142,6 +3211,7 @@ void NOMAD::Mads::search ( bool                     & stop           ,
                                     count_search   ,
                                     new_feas_inc   ,
                                     new_infeas_inc   );
+            
         }
     }
     
@@ -3340,13 +3410,15 @@ void NOMAD::Mads::eval_x0 ( bool             & stop        ,
         // x0 cache file and the algorithm's cache file are the same:
         else
         {
-            
-            
             x = cache.begin();
+            
+            int npts=0;
             while ( x )
             {
                 pt = &NOMAD::Cache::get_modifiable_point ( *x );
                 
+                npts++;
+                
                 if ( x->get_signature() )
                     pt->set_signature ( x->get_signature() );
                 else if ( x->size() == n )
@@ -3612,7 +3684,10 @@ void NOMAD::Mads::display ( const NOMAD::Display & out ) const
                 out << "( ";
                 bf->Point::display ( out , " " , -1 , -1 );
                 out << " ) h=" << bf->get_h()
-                << " f="  << bf->get_f() << std::endl;
+                << " f="  << bf->get_f() ;
+                if ( _p.get_robust_mads() )
+                    out << " f_smooth=" << bf->get_fsmooth() ; // Smoothing available only for unconstrained problems
+                out << std::endl;
             }
             else
                 out << "no feasible solution has been found" << std::endl;
@@ -3670,7 +3745,10 @@ void NOMAD::Mads::display ( const NOMAD::Display & out ) const
                     out << "( ";
                     bf->Point::display ( out , " " , -1 , -1 );
                     out << " ) h=" << bf->get_h()
-                    << " f="  << bf->get_f() << std::endl;
+                    << " f="  << bf->get_f() ;
+                    if ( _p.get_robust_mads() )
+                        out << " f_smooth=" << bf->get_fsmooth() ; // Smoothing available only for unconstrained problems
+                    out << std::endl;
                 }
                 else
                     out << "no feasible solution has been found" << std::endl;
diff --git a/src/Mads.hpp b/src/Mads.hpp
index f3b0b26..5ba635c 100644
--- a/src/Mads.hpp
+++ b/src/Mads.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Mads.hpp
  \brief  MADS algorithm (headers)
@@ -58,10 +60,8 @@
 #include "Phase_One_Search.hpp"
 #include "L_Curve.hpp"
 #include "Extended_Poll.hpp"
-
-#include "XMesh.hpp"
-#include "SMesh.hpp"
-
+#include "Sgtelib_Model_Manager.hpp"
+#include "Sgtelib_Model_Search.hpp"
 
 namespace NOMAD {
     
@@ -99,6 +99,7 @@ namespace NOMAD {
         NOMAD::L_Curve       * _L_curve;        ///< L-curve target.
         NOMAD::Extended_Poll * _extended_poll;  ///< Extended poll for categorical variables.
         bool                   _user_ext_poll;  ///< Flag for user-defined extended poll.
+        NOMAD::Sgtelib_Model_Manager * _sgtelib_model_manager;
         
         // MADS flags (these are not parameters as users do not modify them):
         
@@ -160,12 +161,12 @@ namespace NOMAD {
          size stopping criterion has to be
          disabled for integer variables -- \b OUT.
          */
-        void poll ( bool                    & stop          ,
-                   NOMAD::stop_type         & stop_reason   ,
-                   NOMAD::success_type      & success       ,
-                   const NOMAD::Eval_Point *& new_feas_inc  ,
+        void poll ( bool					& stop,
+                   NOMAD::stop_type		& stop_reason,
+                   NOMAD::success_type		& success,
+                   const NOMAD::Eval_Point *& new_feas_inc,
                    const NOMAD::Eval_Point *& new_infeas_inc,
-                   bool                     & forbid_poll_size_stop   );
+                   bool					& forbid_poll_size_stop   );
         
         /// Sets the poll trial points from poll direction, poll center and mesh size
         /**
@@ -176,12 +177,12 @@ namespace NOMAD {
          \param  offset        Dir index offset for primary and sec. poll center -- \b IN.
          \param  sorting       If true than the points are for sorting           -- \b IN.
          */
-        void set_poll_trial_points (  std::list<NOMAD::Direction>   & dirs          ,
-                                    size_t                            offset        ,
-                                    const NOMAD::Eval_Point         & poll_center   ,
-                                    bool                            & stop          ,
-                                    NOMAD::stop_type                & stop_reason   ,
-                                    bool                              sorting       );
+        void set_poll_trial_points (  std::list<NOMAD::Direction> & dirs,
+                                    size_t                           offset,
+                                    const NOMAD::Eval_Point     &  poll_center,
+                                    bool					    	& stop,
+                                    NOMAD::stop_type				&stop_reason,
+                                    bool							sorting);
         
         
         /// Compute a prospect point by optimization on quadratic models.
@@ -191,19 +192,19 @@ namespace NOMAD {
          \param  prospect_point  The prospect point  -- \b OUT.
          \return A flag equal to \c true if the prospect direction has been computed.
          */
-        bool optimize_quad_model ( const NOMAD::Eval_Point          & poll_center   ,
-                                  const std::list<NOMAD::Direction> & dirs          ,
-                                  NOMAD::Point                      & prospect_point)  ;
+        bool optimize_quad_model ( const NOMAD::Eval_Point         & poll_center ,
+                                  const std::list<NOMAD::Direction> & dirs    ,
+                                  NOMAD::Point                    & prospect_point    )  ;
         
         
         /// Sets the poll directions from signature, poll center and mesh size
         /**
-         \param dirs            List of directions for the poll                     -- \b OUT.
-         \param i_pc            Poll type                                           -- \b IN.
-         \param offset          Dir index offset for primary and sec. poll center   -- \b IN.
-         \param poll_center     The poll center                                     -- \b IN.
-         \param stop            Stop flag, true if cannot get direction             -- \b IN/OUT.
-         \param stop_reason     Stop type                                           -- \b OUT.
+         \param dirs			List of directions for the poll			          -- \b OUT.
+         \param i_pc			Poll type                                         -- \b IN.
+         \param offset          Dir index offset for primary and sec. poll center -- \b IN.
+         \param poll_center     The poll center                                   -- \b IN.
+         \param stop 			Stop flag, true if cannot get direction   		  -- \b IN/OUT.
+         \param stop_reason	Stop type										  -- \b OUT.
          */
         void set_poll_directions ( std::list<NOMAD::Direction> & dirs        ,
                                   NOMAD::poll_type              i_pc        ,
@@ -215,24 +216,24 @@ namespace NOMAD {
         
         /// Sets the poll intensification points from signature, poll center and mesh size
         /**
-         \param poll_center     The poll center                                 -- \b IN.
-         \param offset          Dir index offset for intensification            -- \b IN.
-         \param stop            Stop flag, true if cannot get direction         -- \b IN/OUT.
-         \param stop_reason     Stop type                                       -- \b OUT.
+         \param poll_center     The poll center                                   -- \b IN.
+         \param offset          Dir index offset for intensification              -- \b IN.
+         \param stop            Stop flag, true if cannot get direction   		  -- \b IN/OUT.
+         \param stop_reason     Stop type										  -- \b OUT.
          */
-        void set_poll_intensification_points ( const NOMAD::Eval_Point    & poll_center ,
-                                              size_t                      & offset      ,
+        void set_poll_intensification_points ( const NOMAD::Eval_Point     & poll_center,
+                                              size_t  &                      offset      ,
                                               bool                        & stop        ,
-                                              NOMAD::stop_type            & stop_reason );
+                                              NOMAD::stop_type            & stop_reason   );
         
         /// Reduce the number of poll directions -> n
         /**
-         \param dirs            List of directions for the poll        -- \b IN/OUT.
-         \param  poll_center    The poll center                         -- \b IN.
+         \param dirs			List of directions for the poll			-- \b IN/OUT.
+         \param  poll_center   the poll center                         -- \b IN.
          \return success for this step.
          */
-        bool set_reduced_poll_to_n_directions(std::list<NOMAD::Direction>   & dirs,
-                                              const NOMAD::Eval_Point       & poll_center);
+        bool set_reduced_poll_to_n_directions(std::list<NOMAD::Direction>	& dirs,
+                                              const NOMAD::Eval_Point		& poll_center);
         
         /// Compute the rank of a list of directions
         /**
@@ -319,13 +320,13 @@ namespace NOMAD {
         /**
          - The computed opposite directions already include Delta^k_m.
          \param dirs          List of existing directions (no snap to bounds) -- \b IN.
-         \param newDirs       New dynamic directions              -- \b OUT.
+         \param newDirs		New dynamic directions              -- \b OUT.
          \param poll_center   Poll center                         -- \b IN.
          \return true if new dynamic direction generated false otherwise
          */
-        bool get_dynamic_directions (const std::list<NOMAD::Direction> & dirs,
-                                     std::list<NOMAD::Direction>       & newDirs,
-                                     const NOMAD::Eval_Point           & poll_center) ;
+        bool get_dynamic_directions (const std::list<NOMAD::Direction>	&	dirs,
+                                     std::list<NOMAD::Direction>			&	newDirs,
+                                     const NOMAD::Eval_Point				&	poll_center) ;
         
         
         
@@ -349,12 +350,12 @@ namespace NOMAD {
         
         /// get a single direction using quad model optimization or sum of negatives
         /**
-         \param dirs           Reduced poll directions (no snap to bounds)    -- \b IN.
-         \param poll_center    Poll center                                    -- \b IN.
+         \param dirs			Reduced poll directions	(no snap to bounds)	-- \b IN.
+         \param poll_center	Poll center								    -- \b IN.
          \return new direction
          */
-        NOMAD::Direction get_single_dynamic_direction (const std::list<NOMAD::Direction>  & dirs,
-                                                       const NOMAD::Eval_Point            & poll_center) ;
+        NOMAD::Direction get_single_dynamic_direction (const std::list<NOMAD::Direction>	&	dirs,
+                                                       const NOMAD::Eval_Point			&	poll_center) ;
         
         
         /*-----------------------------------------------------------------------------*/
@@ -375,7 +376,7 @@ namespace NOMAD {
         _ev_control_for_sorting( p , _stats , _ev_control.get_evaluator() , &(_ev_control.get_cache()) , &(_ev_control.get_sgte_cache()) ) ,
         _true_barrier          ( p , NOMAD::TRUTH              ) ,
         _sgte_barrier          ( p , NOMAD::SGTE               ) ,
-        _mesh                  ( p.get_signature()->get_mesh() ) ,
+        _mesh				   ( p.get_signature()->get_mesh() ) ,
         _pareto_front          ( NULL                          ) ,
         _user_search           ( NULL                          ) ,
         _model_search1         ( NULL                          ) ,
@@ -384,7 +385,8 @@ namespace NOMAD {
         _cache_search          ( NULL                          ) ,
         _L_curve               ( NULL                          ) ,
         _extended_poll         ( NULL                          ) ,
-        _user_ext_poll         ( false                         )   { init(); }
+        _user_ext_poll         ( false                         ) ,
+        _sgtelib_model_manager ( NULL                          ) { init(); }
         
         /// Constructor #2.
         /**
@@ -408,7 +410,7 @@ namespace NOMAD {
         _ev_control_for_sorting( p , _stats , _ev_control.get_evaluator() , cache , sgte_cache ) ,
         _true_barrier          ( p , NOMAD::TRUTH                     ) ,
         _sgte_barrier          ( p , NOMAD::SGTE                      ) ,
-        _mesh                  ( p.get_signature()->get_mesh()        ) ,
+        _mesh                  ( p.get_signature()->get_mesh()		  ) ,
         _pareto_front          ( NULL                                 ) ,
         _user_search           ( NULL                                 ) ,
         _model_search1         ( NULL                                 ) ,
@@ -417,7 +419,8 @@ namespace NOMAD {
         _cache_search          ( NULL                                 ) ,
         _L_curve               ( NULL                                 ) ,
         _extended_poll         ( extended_poll                        ) ,
-        _user_ext_poll         ( (extended_poll!=NULL)                )   { init(); }
+        _user_ext_poll         ( (extended_poll!=NULL)                ) ,
+        _sgtelib_model_manager ( NULL                                 ) { init(); }
         
         /// Destructor.
         virtual ~Mads ( void );
diff --git a/src/Makefile.am b/src/Makefile.am
index bb5d4aa..31bee86 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -9,7 +9,10 @@ libnomad_a_SOURCES = Barrier.cpp Cache.cpp Cache_File_Point.cpp Cache_Point.cpp\
 	Phase_One_Search.cpp Point.cpp Priority_Eval_Point.cpp Quad_Model.cpp\
 	Quad_Model_Evaluator.cpp Quad_Model_Search.cpp Random_Pickup.cpp\
 	RNG.cpp Signature.cpp Slave.cpp Speculative_Search.cpp Stats.cpp\
-	utils.cpp Variable_Group.cpp VNS_Search.cpp OrthogonalMesh.cpp
+	utils.cpp Variable_Group.cpp VNS_Search.cpp OrthogonalMesh.cpp \
+	GMesh.cpp Sgtelib_Model_Evaluator.cpp Sgtelib_Model_Manager.cpp \
+	Sgtelib_Model_Search.cpp
+
 
 libnomadmpi_a_SOURCES = Barrier.cpp Cache.cpp Cache_File_Point.cpp Cache_Point.cpp\
 	Cache_Search.cpp Clock.cpp Direction.cpp Directions.cpp Display.cpp\
@@ -21,8 +24,10 @@ libnomadmpi_a_SOURCES = Barrier.cpp Cache.cpp Cache_File_Point.cpp Cache_Point.c
 	Phase_One_Search.cpp Point.cpp Priority_Eval_Point.cpp Quad_Model.cpp\
 	Quad_Model_Evaluator.cpp Quad_Model_Search.cpp Random_Pickup.cpp\
 	RNG.cpp Signature.cpp Slave.cpp Speculative_Search.cpp Stats.cpp\
-	utils.cpp Variable_Group.cpp VNS_Search.cpp OrthogonalMesh.cpp
-	
+	utils.cpp Variable_Group.cpp VNS_Search.cpp OrthogonalMesh.cpp \
+	GMesh.cpp Sgtelib_Model_Evaluator.cpp Sgtelib_Model_Manager.cpp \
+	Sgtelib_Model_Search.cpp
+
 pkginclude_HEADERS = Cache_File_Point.hpp Cache.hpp Cache_Point.hpp\
 	Cache_Search.hpp Clock.hpp defines.hpp Direction.hpp Directions.hpp\
 	Display.hpp Double.hpp Eval_Point.hpp Evaluator_Control.hpp\
@@ -37,7 +42,9 @@ pkginclude_HEADERS = Cache_File_Point.hpp Cache.hpp Cache_Point.hpp\
 	Set_Element.hpp Signature_Element.hpp Signature.hpp\
 	Single_Obj_Quad_Model_Evaluator.hpp Slave.hpp Speculative_Search.hpp\
 	Stats.hpp Uncopyable.hpp utils.hpp Variable_Group.hpp\
-	VNS_Search.hpp Barrier.hpp OrthogonalMesh.hpp
+	VNS_Search.hpp Barrier.hpp OrthogonalMesh.hpp \
+	GMesh.hpp Sgtelib_Model_Evaluator.hpp Sgtelib_Model_Manager.hpp \
+	Sgtelib_Model_Search.hpp
 
 bin_PROGRAMS = nomad
 nomad_SOURCES = nomad.cpp
diff --git a/src/Makefile.in b/src/Makefile.in
new file mode 100644
index 0000000..1a59aae
--- /dev/null
+++ b/src/Makefile.in
@@ -0,0 +1,1575 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+
+
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+bin_PROGRAMS = nomad$(EXEEXT) $(am__EXEEXT_1)
+@MPI_ENABLED_TRUE@am__append_1 = libnomadmpi.a
+@MPI_ENABLED_TRUE@am__append_2 = ../nomadmpi.pc
+@MPI_ENABLED_TRUE@am__append_3 = nomad.mpi
+subdir = src
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/lx_find_mpi.m4 \
+	$(top_srcdir)/m4/nomad.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(pkginclude_HEADERS) \
+	$(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \
+	"$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(pkgincludedir)"
+LIBRARIES = $(lib_LIBRARIES)
+AR = ar
+ARFLAGS = cru
+AM_V_AR = $(am__v_AR_@AM_V@)
+am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
+am__v_AR_0 = @echo "  AR      " $@;
+am__v_AR_1 = 
+libnomad_a_AR = $(AR) $(ARFLAGS)
+libnomad_a_LIBADD =
+am_libnomad_a_OBJECTS = Barrier.$(OBJEXT) Cache.$(OBJEXT) \
+	Cache_File_Point.$(OBJEXT) Cache_Point.$(OBJEXT) \
+	Cache_Search.$(OBJEXT) Clock.$(OBJEXT) Direction.$(OBJEXT) \
+	Directions.$(OBJEXT) Display.$(OBJEXT) Double.$(OBJEXT) \
+	Eval_Point.$(OBJEXT) Evaluator_Control.$(OBJEXT) \
+	Evaluator.$(OBJEXT) Exception.$(OBJEXT) \
+	Extended_Poll.$(OBJEXT) L_Curve.$(OBJEXT) LH_Search.$(OBJEXT) \
+	Mads.$(OBJEXT) SMesh.$(OBJEXT) XMesh.$(OBJEXT) \
+	Model_Sorted_Point.$(OBJEXT) Model_Stats.$(OBJEXT) \
+	Multi_Obj_Evaluator.$(OBJEXT) Parameter_Entries.$(OBJEXT) \
+	Parameter_Entry.$(OBJEXT) Parameters.$(OBJEXT) \
+	Pareto_Front.$(OBJEXT) Pareto_Point.$(OBJEXT) \
+	Phase_One_Evaluator.$(OBJEXT) Phase_One_Search.$(OBJEXT) \
+	Point.$(OBJEXT) Priority_Eval_Point.$(OBJEXT) \
+	Quad_Model.$(OBJEXT) Quad_Model_Evaluator.$(OBJEXT) \
+	Quad_Model_Search.$(OBJEXT) Random_Pickup.$(OBJEXT) \
+	RNG.$(OBJEXT) Signature.$(OBJEXT) Slave.$(OBJEXT) \
+	Speculative_Search.$(OBJEXT) Stats.$(OBJEXT) utils.$(OBJEXT) \
+	Variable_Group.$(OBJEXT) VNS_Search.$(OBJEXT) \
+	OrthogonalMesh.$(OBJEXT)
+libnomad_a_OBJECTS = $(am_libnomad_a_OBJECTS)
+libnomadmpi_a_AR = $(AR) $(ARFLAGS)
+libnomadmpi_a_LIBADD =
+am_libnomadmpi_a_OBJECTS = libnomadmpi_a-Barrier.$(OBJEXT) \
+	libnomadmpi_a-Cache.$(OBJEXT) \
+	libnomadmpi_a-Cache_File_Point.$(OBJEXT) \
+	libnomadmpi_a-Cache_Point.$(OBJEXT) \
+	libnomadmpi_a-Cache_Search.$(OBJEXT) \
+	libnomadmpi_a-Clock.$(OBJEXT) \
+	libnomadmpi_a-Direction.$(OBJEXT) \
+	libnomadmpi_a-Directions.$(OBJEXT) \
+	libnomadmpi_a-Display.$(OBJEXT) libnomadmpi_a-Double.$(OBJEXT) \
+	libnomadmpi_a-Eval_Point.$(OBJEXT) \
+	libnomadmpi_a-Evaluator_Control.$(OBJEXT) \
+	libnomadmpi_a-Evaluator.$(OBJEXT) \
+	libnomadmpi_a-Exception.$(OBJEXT) \
+	libnomadmpi_a-Extended_Poll.$(OBJEXT) \
+	libnomadmpi_a-L_Curve.$(OBJEXT) \
+	libnomadmpi_a-LH_Search.$(OBJEXT) libnomadmpi_a-Mads.$(OBJEXT) \
+	libnomadmpi_a-SMesh.$(OBJEXT) libnomadmpi_a-XMesh.$(OBJEXT) \
+	libnomadmpi_a-Model_Sorted_Point.$(OBJEXT) \
+	libnomadmpi_a-Model_Stats.$(OBJEXT) \
+	libnomadmpi_a-Multi_Obj_Evaluator.$(OBJEXT) \
+	libnomadmpi_a-Parameter_Entries.$(OBJEXT) \
+	libnomadmpi_a-Parameter_Entry.$(OBJEXT) \
+	libnomadmpi_a-Parameters.$(OBJEXT) \
+	libnomadmpi_a-Pareto_Front.$(OBJEXT) \
+	libnomadmpi_a-Pareto_Point.$(OBJEXT) \
+	libnomadmpi_a-Phase_One_Evaluator.$(OBJEXT) \
+	libnomadmpi_a-Phase_One_Search.$(OBJEXT) \
+	libnomadmpi_a-Point.$(OBJEXT) \
+	libnomadmpi_a-Priority_Eval_Point.$(OBJEXT) \
+	libnomadmpi_a-Quad_Model.$(OBJEXT) \
+	libnomadmpi_a-Quad_Model_Evaluator.$(OBJEXT) \
+	libnomadmpi_a-Quad_Model_Search.$(OBJEXT) \
+	libnomadmpi_a-Random_Pickup.$(OBJEXT) \
+	libnomadmpi_a-RNG.$(OBJEXT) libnomadmpi_a-Signature.$(OBJEXT) \
+	libnomadmpi_a-Slave.$(OBJEXT) \
+	libnomadmpi_a-Speculative_Search.$(OBJEXT) \
+	libnomadmpi_a-Stats.$(OBJEXT) libnomadmpi_a-utils.$(OBJEXT) \
+	libnomadmpi_a-Variable_Group.$(OBJEXT) \
+	libnomadmpi_a-VNS_Search.$(OBJEXT) \
+	libnomadmpi_a-OrthogonalMesh.$(OBJEXT)
+libnomadmpi_a_OBJECTS = $(am_libnomadmpi_a_OBJECTS)
+@MPI_ENABLED_TRUE@am__EXEEXT_1 = nomad.mpi$(EXEEXT)
+PROGRAMS = $(bin_PROGRAMS)
+am_nomad_OBJECTS = nomad.$(OBJEXT)
+nomad_OBJECTS = $(am_nomad_OBJECTS)
+nomad_DEPENDENCIES = libnomad.a
+am__nomad_mpi_SOURCES_DIST = nomad.cpp
+@MPI_ENABLED_TRUE@am_nomad_mpi_OBJECTS = nomad_mpi-nomad.$(OBJEXT)
+nomad_mpi_OBJECTS = $(am_nomad_mpi_OBJECTS)
+@MPI_ENABLED_TRUE@nomad_mpi_DEPENDENCIES = libnomadmpi.a
+nomad_mpi_LINK = $(CXXLD) $(nomad_mpi_CXXFLAGS) $(CXXFLAGS) \
+	$(nomad_mpi_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 = 
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_@AM_V@)
+am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
+am__v_CXX_0 = @echo "  CXX     " $@;
+am__v_CXX_1 = 
+CXXLD = $(CXX)
+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+	-o $@
+AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
+am__v_CXXLD_0 = @echo "  CXXLD   " $@;
+am__v_CXXLD_1 = 
+SOURCES = $(libnomad_a_SOURCES) $(libnomadmpi_a_SOURCES) \
+	$(nomad_SOURCES) $(nomad_mpi_SOURCES)
+DIST_SOURCES = $(libnomad_a_SOURCES) $(libnomadmpi_a_SOURCES) \
+	$(nomad_SOURCES) $(am__nomad_mpi_SOURCES_DIST)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+DATA = $(nodist_pkgconfig_DATA)
+HEADERS = $(pkginclude_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MPICXX = @MPICXX@
+MPI_CXXFLAGS = @MPI_CXXFLAGS@
+MPI_CXXLDFLAGS = @MPI_CXXLDFLAGS@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build_alias = @build_alias@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+lib_LIBRARIES = libnomad.a $(am__append_1)
+libnomad_a_SOURCES = Barrier.cpp Cache.cpp Cache_File_Point.cpp Cache_Point.cpp\
+	Cache_Search.cpp Clock.cpp Direction.cpp Directions.cpp Display.cpp\
+	Double.cpp Eval_Point.cpp Evaluator_Control.cpp Evaluator.cpp\
+	Exception.cpp Extended_Poll.cpp L_Curve.cpp LH_Search.cpp Mads.cpp\
+	SMesh.cpp XMesh.cpp Model_Sorted_Point.cpp Model_Stats.cpp Multi_Obj_Evaluator.cpp\
+	Parameter_Entries.cpp Parameter_Entry.cpp Parameters.cpp\
+	Pareto_Front.cpp Pareto_Point.cpp Phase_One_Evaluator.cpp\
+	Phase_One_Search.cpp Point.cpp Priority_Eval_Point.cpp Quad_Model.cpp\
+	Quad_Model_Evaluator.cpp Quad_Model_Search.cpp Random_Pickup.cpp\
+	RNG.cpp Signature.cpp Slave.cpp Speculative_Search.cpp Stats.cpp\
+	utils.cpp Variable_Group.cpp VNS_Search.cpp OrthogonalMesh.cpp
+
+libnomadmpi_a_SOURCES = Barrier.cpp Cache.cpp Cache_File_Point.cpp Cache_Point.cpp\
+	Cache_Search.cpp Clock.cpp Direction.cpp Directions.cpp Display.cpp\
+	Double.cpp Eval_Point.cpp Evaluator_Control.cpp Evaluator.cpp\
+	Exception.cpp Extended_Poll.cpp L_Curve.cpp LH_Search.cpp Mads.cpp\
+	SMesh.cpp XMesh.cpp Model_Sorted_Point.cpp Model_Stats.cpp Multi_Obj_Evaluator.cpp\
+	Parameter_Entries.cpp Parameter_Entry.cpp Parameters.cpp\
+	Pareto_Front.cpp Pareto_Point.cpp Phase_One_Evaluator.cpp\
+	Phase_One_Search.cpp Point.cpp Priority_Eval_Point.cpp Quad_Model.cpp\
+	Quad_Model_Evaluator.cpp Quad_Model_Search.cpp Random_Pickup.cpp\
+	RNG.cpp Signature.cpp Slave.cpp Speculative_Search.cpp Stats.cpp\
+	utils.cpp Variable_Group.cpp VNS_Search.cpp OrthogonalMesh.cpp
+
+pkginclude_HEADERS = Cache_File_Point.hpp Cache.hpp Cache_Point.hpp\
+	Cache_Search.hpp Clock.hpp defines.hpp Direction.hpp Directions.hpp\
+	Display.hpp Double.hpp Eval_Point.hpp Evaluator_Control.hpp\
+	Evaluator.hpp Exception.hpp Extended_Poll.hpp Filter_Point.hpp\
+	L_Curve.hpp LH_Search.hpp Mads.hpp SMesh.hpp XMesh.hpp Model_Sorted_Point.hpp\
+	Model_Stats.hpp Multi_Obj_Evaluator.hpp\
+	Multi_Obj_Quad_Model_Evaluator.hpp nomad.hpp Parameter_Entries.hpp\
+	Parameter_Entry.hpp Parameters.hpp Pareto_Front.hpp Pareto_Point.hpp\
+	Phase_One_Evaluator.hpp Phase_One_Search.hpp Point.hpp\
+	Priority_Eval_Point.hpp Quad_Model_Evaluator.hpp Quad_Model.hpp\
+	Quad_Model_Search.hpp Random_Pickup.hpp RNG.hpp Search.hpp\
+	Set_Element.hpp Signature_Element.hpp Signature.hpp\
+	Single_Obj_Quad_Model_Evaluator.hpp Slave.hpp Speculative_Search.hpp\
+	Stats.hpp Uncopyable.hpp utils.hpp Variable_Group.hpp\
+	VNS_Search.hpp Barrier.hpp OrthogonalMesh.hpp
+
+nomad_SOURCES = nomad.cpp
+nomad_LDADD = libnomad.a
+pkgconfigdir = $(libdir)/pkgconfig
+nodist_pkgconfig_DATA = ../nomad.pc $(am__append_2)
+@MPI_ENABLED_TRUE@libnomadmpi_a_CXXFLAGS = -DUSE_MPI $(MPI_LDFLAGS) $(MPI_CXXFLAGS) $(AM_CXXFLAGS)
+@MPI_ENABLED_TRUE@nomad_mpi_SOURCES = nomad.cpp
+@MPI_ENABLED_TRUE@nomad_mpi_LDADD = libnomadmpi.a
+@MPI_ENABLED_TRUE@nomad_mpi_CXXFLAGS = -DUSE_MPI $(MPI_CXXFLAGS) $(AM_CXXFLAGS)
+@MPI_ENABLED_TRUE@nomad_mpi_LDFLAGS = $(MPI_CXXLDFLAGS) $(AM_CXXLDFLAGS)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu src/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+install-libLIBRARIES: $(lib_LIBRARIES)
+	@$(NORMAL_INSTALL)
+	@list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \
+	list2=; for p in $$list; do \
+	  if test -f $$p; then \
+	    list2="$$list2 $$p"; \
+	  else :; fi; \
+	done; \
+	test -z "$$list2" || { \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
+	  echo " $(INSTALL_DATA) $$list2 '$(DESTDIR)$(libdir)'"; \
+	  $(INSTALL_DATA) $$list2 "$(DESTDIR)$(libdir)" || exit $$?; }
+	@$(POST_INSTALL)
+	@list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \
+	for p in $$list; do \
+	  if test -f $$p; then \
+	    $(am__strip_dir) \
+	    echo " ( cd '$(DESTDIR)$(libdir)' && $(RANLIB) $$f )"; \
+	    ( cd "$(DESTDIR)$(libdir)" && $(RANLIB) $$f ) || exit $$?; \
+	  else :; fi; \
+	done
+
+uninstall-libLIBRARIES:
+	@$(NORMAL_UNINSTALL)
+	@list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	dir='$(DESTDIR)$(libdir)'; $(am__uninstall_files_from_dir)
+
+clean-libLIBRARIES:
+	-test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES)
+
+libnomad.a: $(libnomad_a_OBJECTS) $(libnomad_a_DEPENDENCIES) $(EXTRA_libnomad_a_DEPENDENCIES) 
+	$(AM_V_at)-rm -f libnomad.a
+	$(AM_V_AR)$(libnomad_a_AR) libnomad.a $(libnomad_a_OBJECTS) $(libnomad_a_LIBADD)
+	$(AM_V_at)$(RANLIB) libnomad.a
+
+libnomadmpi.a: $(libnomadmpi_a_OBJECTS) $(libnomadmpi_a_DEPENDENCIES) $(EXTRA_libnomadmpi_a_DEPENDENCIES) 
+	$(AM_V_at)-rm -f libnomadmpi.a
+	$(AM_V_AR)$(libnomadmpi_a_AR) libnomadmpi.a $(libnomadmpi_a_OBJECTS) $(libnomadmpi_a_LIBADD)
+	$(AM_V_at)$(RANLIB) libnomadmpi.a
+install-binPROGRAMS: $(bin_PROGRAMS)
+	@$(NORMAL_INSTALL)
+	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+	fi; \
+	for p in $$list; do echo "$$p $$p"; done | \
+	sed 's/$(EXEEXT)$$//' | \
+	while read p p1; do if test -f $$p \
+	  ; then echo "$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n;h' \
+	    -e 's|.*|.|' \
+	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+	sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
+	    else { print "f", $$3 "/" $$4, $$1; } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	    test -z "$$files" || { \
+	      echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+	      $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+	    } \
+	; done
+
+uninstall-binPROGRAMS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+	      -e 's/$$/$(EXEEXT)/' \
+	`; \
+	test -n "$$list" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(bindir)" && rm -f $$files
+
+clean-binPROGRAMS:
+	-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+
+nomad$(EXEEXT): $(nomad_OBJECTS) $(nomad_DEPENDENCIES) $(EXTRA_nomad_DEPENDENCIES) 
+	@rm -f nomad$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(nomad_OBJECTS) $(nomad_LDADD) $(LIBS)
+
+nomad.mpi$(EXEEXT): $(nomad_mpi_OBJECTS) $(nomad_mpi_DEPENDENCIES) $(EXTRA_nomad_mpi_DEPENDENCIES) 
+	@rm -f nomad.mpi$(EXEEXT)
+	$(AM_V_CXXLD)$(nomad_mpi_LINK) $(nomad_mpi_OBJECTS) $(nomad_mpi_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Barrier.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Cache.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Cache_File_Point.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Cache_Point.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Cache_Search.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Clock.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Direction.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Directions.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Display.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Double.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Eval_Point.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Evaluator.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Evaluator_Control.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Exception.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Extended_Poll.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LH_Search.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/L_Curve.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Mads.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Model_Sorted_Point.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Model_Stats.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Multi_Obj_Evaluator.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OrthogonalMesh.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Parameter_Entries.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Parameter_Entry.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Parameters.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Pareto_Front.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Pareto_Point.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Phase_One_Evaluator.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Phase_One_Search.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Point.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Priority_Eval_Point.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Quad_Model.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Quad_Model_Evaluator.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Quad_Model_Search.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RNG.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Random_Pickup.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SMesh.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Signature.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Slave.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Speculative_Search.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Stats.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/VNS_Search.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Variable_Group.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XMesh.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Barrier.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Cache.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Cache_File_Point.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Cache_Point.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Cache_Search.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Clock.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Direction.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Directions.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Display.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Double.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Eval_Point.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Evaluator.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Evaluator_Control.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Exception.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Extended_Poll.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-LH_Search.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-L_Curve.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Mads.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Model_Sorted_Point.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Model_Stats.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Multi_Obj_Evaluator.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-OrthogonalMesh.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Parameter_Entries.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Parameter_Entry.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Parameters.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Pareto_Front.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Pareto_Point.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Phase_One_Evaluator.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Phase_One_Search.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Point.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Priority_Eval_Point.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Quad_Model.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Quad_Model_Evaluator.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Quad_Model_Search.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-RNG.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Random_Pickup.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-SMesh.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Signature.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Slave.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Speculative_Search.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Stats.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-VNS_Search.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-Variable_Group.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-XMesh.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnomadmpi_a-utils.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nomad.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nomad_mpi-nomad.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utils.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+libnomadmpi_a-Barrier.o: Barrier.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Barrier.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Barrier.Tpo -c -o libnomadmpi_a-Barrier.o `test -f 'Barrier.cpp' || echo '$(srcdir)/'`Barrier.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Barrier.Tpo $(DEPDIR)/libnomadmpi_a-Barrier.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Barrier.cpp' object='libnomadmpi_a-Barrier.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Barrier.o `test -f 'Barrier.cpp' || echo '$(srcdir)/'`Barrier.cpp
+
+libnomadmpi_a-Barrier.obj: Barrier.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Barrier.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Barrier.Tpo -c -o libnomadmpi_a-Barrier.obj `if test -f 'Barrier.cpp'; then $(CYGPATH_W) 'Barrier.cpp'; else $(CYGPATH_W) '$(srcdir)/Barrier.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Barrier.Tpo $(DEPDIR)/libnomadmpi_a-Barrier.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Barrier.cpp' object='libnomadmpi_a-Barrier.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Barrier.obj `if test -f 'Barrier.cpp'; then $(CYGPATH_W) 'Barrier.cpp'; else $(CYGPATH_W) '$(srcdir)/Barrier.cpp'; fi`
+
+libnomadmpi_a-Cache.o: Cache.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Cache.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Cache.Tpo -c -o libnomadmpi_a-Cache.o `test -f 'Cache.cpp' || echo '$(srcdir)/'`Cache.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Cache.Tpo $(DEPDIR)/libnomadmpi_a-Cache.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Cache.cpp' object='libnomadmpi_a-Cache.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Cache.o `test -f 'Cache.cpp' || echo '$(srcdir)/'`Cache.cpp
+
+libnomadmpi_a-Cache.obj: Cache.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Cache.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Cache.Tpo -c -o libnomadmpi_a-Cache.obj `if test -f 'Cache.cpp'; then $(CYGPATH_W) 'Cache.cpp'; else $(CYGPATH_W) '$(srcdir)/Cache.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Cache.Tpo $(DEPDIR)/libnomadmpi_a-Cache.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Cache.cpp' object='libnomadmpi_a-Cache.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Cache.obj `if test -f 'Cache.cpp'; then $(CYGPATH_W) 'Cache.cpp'; else $(CYGPATH_W) '$(srcdir)/Cache.cpp'; fi`
+
+libnomadmpi_a-Cache_File_Point.o: Cache_File_Point.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Cache_File_Point.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Cache_File_Point.Tpo -c -o libnomadmpi_a-Cache_File_Point.o `test -f 'Cache_File_Point.cpp' || echo '$(srcdir)/'`Cache_File_Point.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Cache_File_Point.Tpo $(DEPDIR)/libnomadmpi_a-Cache_File_Point.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Cache_File_Point.cpp' object='libnomadmpi_a-Cache_File_Point.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Cache_File_Point.o `test -f 'Cache_File_Point.cpp' || echo '$(srcdir)/'`Cache_File_Point.cpp
+
+libnomadmpi_a-Cache_File_Point.obj: Cache_File_Point.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Cache_File_Point.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Cache_File_Point.Tpo -c -o libnomadmpi_a-Cache_File_Point.obj `if test -f 'Cache_File_Point.cpp'; then $(CYGPATH_W) 'Cache_File_Point.cpp'; else $(CYGPATH_W) '$(srcdir)/Cache_File_Point.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Cache_File_Point.Tpo $(DEPDIR)/libnomadmpi_a-Cache_File_Point.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Cache_File_Point.cpp' object='libnomadmpi_a-Cache_File_Point.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Cache_File_Point.obj `if test -f 'Cache_File_Point.cpp'; then $(CYGPATH_W) 'Cache_File_Point.cpp'; else $(CYGPATH_W) '$(srcdir)/Cache_File_Point.cpp'; fi`
+
+libnomadmpi_a-Cache_Point.o: Cache_Point.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Cache_Point.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Cache_Point.Tpo -c -o libnomadmpi_a-Cache_Point.o `test -f 'Cache_Point.cpp' || echo '$(srcdir)/'`Cache_Point.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Cache_Point.Tpo $(DEPDIR)/libnomadmpi_a-Cache_Point.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Cache_Point.cpp' object='libnomadmpi_a-Cache_Point.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Cache_Point.o `test -f 'Cache_Point.cpp' || echo '$(srcdir)/'`Cache_Point.cpp
+
+libnomadmpi_a-Cache_Point.obj: Cache_Point.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Cache_Point.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Cache_Point.Tpo -c -o libnomadmpi_a-Cache_Point.obj `if test -f 'Cache_Point.cpp'; then $(CYGPATH_W) 'Cache_Point.cpp'; else $(CYGPATH_W) '$(srcdir)/Cache_Point.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Cache_Point.Tpo $(DEPDIR)/libnomadmpi_a-Cache_Point.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Cache_Point.cpp' object='libnomadmpi_a-Cache_Point.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Cache_Point.obj `if test -f 'Cache_Point.cpp'; then $(CYGPATH_W) 'Cache_Point.cpp'; else $(CYGPATH_W) '$(srcdir)/Cache_Point.cpp'; fi`
+
+libnomadmpi_a-Cache_Search.o: Cache_Search.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Cache_Search.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Cache_Search.Tpo -c -o libnomadmpi_a-Cache_Search.o `test -f 'Cache_Search.cpp' || echo '$(srcdir)/'`Cache_Search.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Cache_Search.Tpo $(DEPDIR)/libnomadmpi_a-Cache_Search.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Cache_Search.cpp' object='libnomadmpi_a-Cache_Search.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Cache_Search.o `test -f 'Cache_Search.cpp' || echo '$(srcdir)/'`Cache_Search.cpp
+
+libnomadmpi_a-Cache_Search.obj: Cache_Search.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Cache_Search.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Cache_Search.Tpo -c -o libnomadmpi_a-Cache_Search.obj `if test -f 'Cache_Search.cpp'; then $(CYGPATH_W) 'Cache_Search.cpp'; else $(CYGPATH_W) '$(srcdir)/Cache_Search.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Cache_Search.Tpo $(DEPDIR)/libnomadmpi_a-Cache_Search.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Cache_Search.cpp' object='libnomadmpi_a-Cache_Search.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Cache_Search.obj `if test -f 'Cache_Search.cpp'; then $(CYGPATH_W) 'Cache_Search.cpp'; else $(CYGPATH_W) '$(srcdir)/Cache_Search.cpp'; fi`
+
+libnomadmpi_a-Clock.o: Clock.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Clock.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Clock.Tpo -c -o libnomadmpi_a-Clock.o `test -f 'Clock.cpp' || echo '$(srcdir)/'`Clock.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Clock.Tpo $(DEPDIR)/libnomadmpi_a-Clock.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Clock.cpp' object='libnomadmpi_a-Clock.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Clock.o `test -f 'Clock.cpp' || echo '$(srcdir)/'`Clock.cpp
+
+libnomadmpi_a-Clock.obj: Clock.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Clock.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Clock.Tpo -c -o libnomadmpi_a-Clock.obj `if test -f 'Clock.cpp'; then $(CYGPATH_W) 'Clock.cpp'; else $(CYGPATH_W) '$(srcdir)/Clock.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Clock.Tpo $(DEPDIR)/libnomadmpi_a-Clock.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Clock.cpp' object='libnomadmpi_a-Clock.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Clock.obj `if test -f 'Clock.cpp'; then $(CYGPATH_W) 'Clock.cpp'; else $(CYGPATH_W) '$(srcdir)/Clock.cpp'; fi`
+
+libnomadmpi_a-Direction.o: Direction.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Direction.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Direction.Tpo -c -o libnomadmpi_a-Direction.o `test -f 'Direction.cpp' || echo '$(srcdir)/'`Direction.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Direction.Tpo $(DEPDIR)/libnomadmpi_a-Direction.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Direction.cpp' object='libnomadmpi_a-Direction.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Direction.o `test -f 'Direction.cpp' || echo '$(srcdir)/'`Direction.cpp
+
+libnomadmpi_a-Direction.obj: Direction.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Direction.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Direction.Tpo -c -o libnomadmpi_a-Direction.obj `if test -f 'Direction.cpp'; then $(CYGPATH_W) 'Direction.cpp'; else $(CYGPATH_W) '$(srcdir)/Direction.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Direction.Tpo $(DEPDIR)/libnomadmpi_a-Direction.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Direction.cpp' object='libnomadmpi_a-Direction.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Direction.obj `if test -f 'Direction.cpp'; then $(CYGPATH_W) 'Direction.cpp'; else $(CYGPATH_W) '$(srcdir)/Direction.cpp'; fi`
+
+libnomadmpi_a-Directions.o: Directions.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Directions.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Directions.Tpo -c -o libnomadmpi_a-Directions.o `test -f 'Directions.cpp' || echo '$(srcdir)/'`Directions.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Directions.Tpo $(DEPDIR)/libnomadmpi_a-Directions.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Directions.cpp' object='libnomadmpi_a-Directions.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Directions.o `test -f 'Directions.cpp' || echo '$(srcdir)/'`Directions.cpp
+
+libnomadmpi_a-Directions.obj: Directions.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Directions.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Directions.Tpo -c -o libnomadmpi_a-Directions.obj `if test -f 'Directions.cpp'; then $(CYGPATH_W) 'Directions.cpp'; else $(CYGPATH_W) '$(srcdir)/Directions.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Directions.Tpo $(DEPDIR)/libnomadmpi_a-Directions.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Directions.cpp' object='libnomadmpi_a-Directions.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Directions.obj `if test -f 'Directions.cpp'; then $(CYGPATH_W) 'Directions.cpp'; else $(CYGPATH_W) '$(srcdir)/Directions.cpp'; fi`
+
+libnomadmpi_a-Display.o: Display.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Display.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Display.Tpo -c -o libnomadmpi_a-Display.o `test -f 'Display.cpp' || echo '$(srcdir)/'`Display.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Display.Tpo $(DEPDIR)/libnomadmpi_a-Display.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Display.cpp' object='libnomadmpi_a-Display.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Display.o `test -f 'Display.cpp' || echo '$(srcdir)/'`Display.cpp
+
+libnomadmpi_a-Display.obj: Display.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Display.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Display.Tpo -c -o libnomadmpi_a-Display.obj `if test -f 'Display.cpp'; then $(CYGPATH_W) 'Display.cpp'; else $(CYGPATH_W) '$(srcdir)/Display.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Display.Tpo $(DEPDIR)/libnomadmpi_a-Display.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Display.cpp' object='libnomadmpi_a-Display.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Display.obj `if test -f 'Display.cpp'; then $(CYGPATH_W) 'Display.cpp'; else $(CYGPATH_W) '$(srcdir)/Display.cpp'; fi`
+
+libnomadmpi_a-Double.o: Double.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Double.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Double.Tpo -c -o libnomadmpi_a-Double.o `test -f 'Double.cpp' || echo '$(srcdir)/'`Double.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Double.Tpo $(DEPDIR)/libnomadmpi_a-Double.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Double.cpp' object='libnomadmpi_a-Double.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Double.o `test -f 'Double.cpp' || echo '$(srcdir)/'`Double.cpp
+
+libnomadmpi_a-Double.obj: Double.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Double.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Double.Tpo -c -o libnomadmpi_a-Double.obj `if test -f 'Double.cpp'; then $(CYGPATH_W) 'Double.cpp'; else $(CYGPATH_W) '$(srcdir)/Double.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Double.Tpo $(DEPDIR)/libnomadmpi_a-Double.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Double.cpp' object='libnomadmpi_a-Double.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Double.obj `if test -f 'Double.cpp'; then $(CYGPATH_W) 'Double.cpp'; else $(CYGPATH_W) '$(srcdir)/Double.cpp'; fi`
+
+libnomadmpi_a-Eval_Point.o: Eval_Point.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Eval_Point.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Eval_Point.Tpo -c -o libnomadmpi_a-Eval_Point.o `test -f 'Eval_Point.cpp' || echo '$(srcdir)/'`Eval_Point.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Eval_Point.Tpo $(DEPDIR)/libnomadmpi_a-Eval_Point.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Eval_Point.cpp' object='libnomadmpi_a-Eval_Point.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Eval_Point.o `test -f 'Eval_Point.cpp' || echo '$(srcdir)/'`Eval_Point.cpp
+
+libnomadmpi_a-Eval_Point.obj: Eval_Point.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Eval_Point.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Eval_Point.Tpo -c -o libnomadmpi_a-Eval_Point.obj `if test -f 'Eval_Point.cpp'; then $(CYGPATH_W) 'Eval_Point.cpp'; else $(CYGPATH_W) '$(srcdir)/Eval_Point.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Eval_Point.Tpo $(DEPDIR)/libnomadmpi_a-Eval_Point.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Eval_Point.cpp' object='libnomadmpi_a-Eval_Point.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Eval_Point.obj `if test -f 'Eval_Point.cpp'; then $(CYGPATH_W) 'Eval_Point.cpp'; else $(CYGPATH_W) '$(srcdir)/Eval_Point.cpp'; fi`
+
+libnomadmpi_a-Evaluator_Control.o: Evaluator_Control.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Evaluator_Control.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Evaluator_Control.Tpo -c -o libnomadmpi_a-Evaluator_Control.o `test -f 'Evaluator_Control.cpp' || echo '$(srcdir)/'`Evaluator_Control.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Evaluator_Control.Tpo $(DEPDIR)/libnomadmpi_a-Evaluator_Control.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Evaluator_Control.cpp' object='libnomadmpi_a-Evaluator_Control.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Evaluator_Control.o `test -f 'Evaluator_Control.cpp' || echo '$(srcdir)/'`Evaluator_Control.cpp
+
+libnomadmpi_a-Evaluator_Control.obj: Evaluator_Control.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Evaluator_Control.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Evaluator_Control.Tpo -c -o libnomadmpi_a-Evaluator_Control.obj `if test -f 'Evaluator_Control.cpp'; then $(CYGPATH_W) 'Evaluator_Control.cpp'; else $(CYGPATH_W) '$(srcdir)/Evaluator_Control.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Evaluator_Control.Tpo $(DEPDIR)/libnomadmpi_a-Evaluator_Control.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Evaluator_Control.cpp' object='libnomadmpi_a-Evaluator_Control.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Evaluator_Control.obj `if test -f 'Evaluator_Control.cpp'; then $(CYGPATH_W) 'Evaluator_Control.cpp'; else $(CYGPATH_W) '$(srcdir)/Evaluator_Control.cpp'; fi`
+
+libnomadmpi_a-Evaluator.o: Evaluator.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Evaluator.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Evaluator.Tpo -c -o libnomadmpi_a-Evaluator.o `test -f 'Evaluator.cpp' || echo '$(srcdir)/'`Evaluator.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Evaluator.Tpo $(DEPDIR)/libnomadmpi_a-Evaluator.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Evaluator.cpp' object='libnomadmpi_a-Evaluator.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Evaluator.o `test -f 'Evaluator.cpp' || echo '$(srcdir)/'`Evaluator.cpp
+
+libnomadmpi_a-Evaluator.obj: Evaluator.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Evaluator.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Evaluator.Tpo -c -o libnomadmpi_a-Evaluator.obj `if test -f 'Evaluator.cpp'; then $(CYGPATH_W) 'Evaluator.cpp'; else $(CYGPATH_W) '$(srcdir)/Evaluator.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Evaluator.Tpo $(DEPDIR)/libnomadmpi_a-Evaluator.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Evaluator.cpp' object='libnomadmpi_a-Evaluator.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Evaluator.obj `if test -f 'Evaluator.cpp'; then $(CYGPATH_W) 'Evaluator.cpp'; else $(CYGPATH_W) '$(srcdir)/Evaluator.cpp'; fi`
+
+libnomadmpi_a-Exception.o: Exception.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Exception.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Exception.Tpo -c -o libnomadmpi_a-Exception.o `test -f 'Exception.cpp' || echo '$(srcdir)/'`Exception.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Exception.Tpo $(DEPDIR)/libnomadmpi_a-Exception.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Exception.cpp' object='libnomadmpi_a-Exception.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Exception.o `test -f 'Exception.cpp' || echo '$(srcdir)/'`Exception.cpp
+
+libnomadmpi_a-Exception.obj: Exception.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Exception.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Exception.Tpo -c -o libnomadmpi_a-Exception.obj `if test -f 'Exception.cpp'; then $(CYGPATH_W) 'Exception.cpp'; else $(CYGPATH_W) '$(srcdir)/Exception.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Exception.Tpo $(DEPDIR)/libnomadmpi_a-Exception.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Exception.cpp' object='libnomadmpi_a-Exception.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Exception.obj `if test -f 'Exception.cpp'; then $(CYGPATH_W) 'Exception.cpp'; else $(CYGPATH_W) '$(srcdir)/Exception.cpp'; fi`
+
+libnomadmpi_a-Extended_Poll.o: Extended_Poll.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Extended_Poll.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Extended_Poll.Tpo -c -o libnomadmpi_a-Extended_Poll.o `test -f 'Extended_Poll.cpp' || echo '$(srcdir)/'`Extended_Poll.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Extended_Poll.Tpo $(DEPDIR)/libnomadmpi_a-Extended_Poll.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Extended_Poll.cpp' object='libnomadmpi_a-Extended_Poll.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Extended_Poll.o `test -f 'Extended_Poll.cpp' || echo '$(srcdir)/'`Extended_Poll.cpp
+
+libnomadmpi_a-Extended_Poll.obj: Extended_Poll.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Extended_Poll.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Extended_Poll.Tpo -c -o libnomadmpi_a-Extended_Poll.obj `if test -f 'Extended_Poll.cpp'; then $(CYGPATH_W) 'Extended_Poll.cpp'; else $(CYGPATH_W) '$(srcdir)/Extended_Poll.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Extended_Poll.Tpo $(DEPDIR)/libnomadmpi_a-Extended_Poll.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Extended_Poll.cpp' object='libnomadmpi_a-Extended_Poll.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Extended_Poll.obj `if test -f 'Extended_Poll.cpp'; then $(CYGPATH_W) 'Extended_Poll.cpp'; else $(CYGPATH_W) '$(srcdir)/Extended_Poll.cpp'; fi`
+
+libnomadmpi_a-L_Curve.o: L_Curve.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-L_Curve.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-L_Curve.Tpo -c -o libnomadmpi_a-L_Curve.o `test -f 'L_Curve.cpp' || echo '$(srcdir)/'`L_Curve.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-L_Curve.Tpo $(DEPDIR)/libnomadmpi_a-L_Curve.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='L_Curve.cpp' object='libnomadmpi_a-L_Curve.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-L_Curve.o `test -f 'L_Curve.cpp' || echo '$(srcdir)/'`L_Curve.cpp
+
+libnomadmpi_a-L_Curve.obj: L_Curve.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-L_Curve.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-L_Curve.Tpo -c -o libnomadmpi_a-L_Curve.obj `if test -f 'L_Curve.cpp'; then $(CYGPATH_W) 'L_Curve.cpp'; else $(CYGPATH_W) '$(srcdir)/L_Curve.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-L_Curve.Tpo $(DEPDIR)/libnomadmpi_a-L_Curve.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='L_Curve.cpp' object='libnomadmpi_a-L_Curve.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-L_Curve.obj `if test -f 'L_Curve.cpp'; then $(CYGPATH_W) 'L_Curve.cpp'; else $(CYGPATH_W) '$(srcdir)/L_Curve.cpp'; fi`
+
+libnomadmpi_a-LH_Search.o: LH_Search.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-LH_Search.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-LH_Search.Tpo -c -o libnomadmpi_a-LH_Search.o `test -f 'LH_Search.cpp' || echo '$(srcdir)/'`LH_Search.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-LH_Search.Tpo $(DEPDIR)/libnomadmpi_a-LH_Search.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='LH_Search.cpp' object='libnomadmpi_a-LH_Search.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-LH_Search.o `test -f 'LH_Search.cpp' || echo '$(srcdir)/'`LH_Search.cpp
+
+libnomadmpi_a-LH_Search.obj: LH_Search.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-LH_Search.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-LH_Search.Tpo -c -o libnomadmpi_a-LH_Search.obj `if test -f 'LH_Search.cpp'; then $(CYGPATH_W) 'LH_Search.cpp'; else $(CYGPATH_W) '$(srcdir)/LH_Search.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-LH_Search.Tpo $(DEPDIR)/libnomadmpi_a-LH_Search.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='LH_Search.cpp' object='libnomadmpi_a-LH_Search.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-LH_Search.obj `if test -f 'LH_Search.cpp'; then $(CYGPATH_W) 'LH_Search.cpp'; else $(CYGPATH_W) '$(srcdir)/LH_Search.cpp'; fi`
+
+libnomadmpi_a-Mads.o: Mads.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Mads.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Mads.Tpo -c -o libnomadmpi_a-Mads.o `test -f 'Mads.cpp' || echo '$(srcdir)/'`Mads.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Mads.Tpo $(DEPDIR)/libnomadmpi_a-Mads.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Mads.cpp' object='libnomadmpi_a-Mads.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Mads.o `test -f 'Mads.cpp' || echo '$(srcdir)/'`Mads.cpp
+
+libnomadmpi_a-Mads.obj: Mads.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Mads.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Mads.Tpo -c -o libnomadmpi_a-Mads.obj `if test -f 'Mads.cpp'; then $(CYGPATH_W) 'Mads.cpp'; else $(CYGPATH_W) '$(srcdir)/Mads.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Mads.Tpo $(DEPDIR)/libnomadmpi_a-Mads.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Mads.cpp' object='libnomadmpi_a-Mads.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Mads.obj `if test -f 'Mads.cpp'; then $(CYGPATH_W) 'Mads.cpp'; else $(CYGPATH_W) '$(srcdir)/Mads.cpp'; fi`
+
+libnomadmpi_a-SMesh.o: SMesh.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-SMesh.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-SMesh.Tpo -c -o libnomadmpi_a-SMesh.o `test -f 'SMesh.cpp' || echo '$(srcdir)/'`SMesh.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-SMesh.Tpo $(DEPDIR)/libnomadmpi_a-SMesh.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='SMesh.cpp' object='libnomadmpi_a-SMesh.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-SMesh.o `test -f 'SMesh.cpp' || echo '$(srcdir)/'`SMesh.cpp
+
+libnomadmpi_a-SMesh.obj: SMesh.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-SMesh.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-SMesh.Tpo -c -o libnomadmpi_a-SMesh.obj `if test -f 'SMesh.cpp'; then $(CYGPATH_W) 'SMesh.cpp'; else $(CYGPATH_W) '$(srcdir)/SMesh.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-SMesh.Tpo $(DEPDIR)/libnomadmpi_a-SMesh.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='SMesh.cpp' object='libnomadmpi_a-SMesh.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-SMesh.obj `if test -f 'SMesh.cpp'; then $(CYGPATH_W) 'SMesh.cpp'; else $(CYGPATH_W) '$(srcdir)/SMesh.cpp'; fi`
+
+libnomadmpi_a-XMesh.o: XMesh.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-XMesh.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-XMesh.Tpo -c -o libnomadmpi_a-XMesh.o `test -f 'XMesh.cpp' || echo '$(srcdir)/'`XMesh.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-XMesh.Tpo $(DEPDIR)/libnomadmpi_a-XMesh.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='XMesh.cpp' object='libnomadmpi_a-XMesh.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-XMesh.o `test -f 'XMesh.cpp' || echo '$(srcdir)/'`XMesh.cpp
+
+libnomadmpi_a-XMesh.obj: XMesh.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-XMesh.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-XMesh.Tpo -c -o libnomadmpi_a-XMesh.obj `if test -f 'XMesh.cpp'; then $(CYGPATH_W) 'XMesh.cpp'; else $(CYGPATH_W) '$(srcdir)/XMesh.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-XMesh.Tpo $(DEPDIR)/libnomadmpi_a-XMesh.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='XMesh.cpp' object='libnomadmpi_a-XMesh.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-XMesh.obj `if test -f 'XMesh.cpp'; then $(CYGPATH_W) 'XMesh.cpp'; else $(CYGPATH_W) '$(srcdir)/XMesh.cpp'; fi`
+
+libnomadmpi_a-Model_Sorted_Point.o: Model_Sorted_Point.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Model_Sorted_Point.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Model_Sorted_Point.Tpo -c -o libnomadmpi_a-Model_Sorted_Point.o `test -f 'Model_Sorted_Point.cpp' || echo '$(srcdir)/'`Model_Sorted_Point.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Model_Sorted_Point.Tpo $(DEPDIR)/libnomadmpi_a-Model_Sorted_Point.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Model_Sorted_Point.cpp' object='libnomadmpi_a-Model_Sorted_Point.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Model_Sorted_Point.o `test -f 'Model_Sorted_Point.cpp' || echo '$(srcdir)/'`Model_Sorted_Point.cpp
+
+libnomadmpi_a-Model_Sorted_Point.obj: Model_Sorted_Point.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Model_Sorted_Point.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Model_Sorted_Point.Tpo -c -o libnomadmpi_a-Model_Sorted_Point.obj `if test -f 'Model_Sorted_Point.cpp'; then $(CYGPATH_W) 'Model_Sorted_Point.cpp'; else $(CYGPATH_W) '$(srcdir)/Model_Sorted_Point.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Model_Sorted_Point.Tpo $(DEPDIR)/libnomadmpi_a-Model_Sorted_Point.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Model_Sorted_Point.cpp' object='libnomadmpi_a-Model_Sorted_Point.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Model_Sorted_Point.obj `if test -f 'Model_Sorted_Point.cpp'; then $(CYGPATH_W) 'Model_Sorted_Point.cpp'; else $(CYGPATH_W) '$(srcdir)/Model_Sorted_Point.cpp'; fi`
+
+libnomadmpi_a-Model_Stats.o: Model_Stats.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Model_Stats.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Model_Stats.Tpo -c -o libnomadmpi_a-Model_Stats.o `test -f 'Model_Stats.cpp' || echo '$(srcdir)/'`Model_Stats.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Model_Stats.Tpo $(DEPDIR)/libnomadmpi_a-Model_Stats.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Model_Stats.cpp' object='libnomadmpi_a-Model_Stats.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Model_Stats.o `test -f 'Model_Stats.cpp' || echo '$(srcdir)/'`Model_Stats.cpp
+
+libnomadmpi_a-Model_Stats.obj: Model_Stats.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Model_Stats.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Model_Stats.Tpo -c -o libnomadmpi_a-Model_Stats.obj `if test -f 'Model_Stats.cpp'; then $(CYGPATH_W) 'Model_Stats.cpp'; else $(CYGPATH_W) '$(srcdir)/Model_Stats.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Model_Stats.Tpo $(DEPDIR)/libnomadmpi_a-Model_Stats.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Model_Stats.cpp' object='libnomadmpi_a-Model_Stats.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Model_Stats.obj `if test -f 'Model_Stats.cpp'; then $(CYGPATH_W) 'Model_Stats.cpp'; else $(CYGPATH_W) '$(srcdir)/Model_Stats.cpp'; fi`
+
+libnomadmpi_a-Multi_Obj_Evaluator.o: Multi_Obj_Evaluator.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Multi_Obj_Evaluator.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Multi_Obj_Evaluator.Tpo -c -o libnomadmpi_a-Multi_Obj_Evaluator.o `test -f 'Multi_Obj_Evaluator.cpp' || echo '$(srcdir)/'`Multi_Obj_Evaluator.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Multi_Obj_Evaluator.Tpo $(DEPDIR)/libnomadmpi_a-Multi_Obj_Evaluator.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Multi_Obj_Evaluator.cpp' object='libnomadmpi_a-Multi_Obj_Evaluator.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Multi_Obj_Evaluator.o `test -f 'Multi_Obj_Evaluator.cpp' || echo '$(srcdir)/'`Multi_Obj_Evaluator.cpp
+
+libnomadmpi_a-Multi_Obj_Evaluator.obj: Multi_Obj_Evaluator.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Multi_Obj_Evaluator.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Multi_Obj_Evaluator.Tpo -c -o libnomadmpi_a-Multi_Obj_Evaluator.obj `if test -f 'Multi_Obj_Evaluator.cpp'; then $(CYGPATH_W) 'Multi_Obj_Evaluator.cpp'; else $(CYGPATH_W) '$(srcdir)/Multi_Obj_Evaluator.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Multi_Obj_Evaluator.Tpo $(DEPDIR)/libnomadmpi_a-Multi_Obj_Evaluator.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Multi_Obj_Evaluator.cpp' object='libnomadmpi_a-Multi_Obj_Evaluator.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Multi_Obj_Evaluator.obj `if test -f 'Multi_Obj_Evaluator.cpp'; then $(CYGPATH_W) 'Multi_Obj_Evaluator.cpp'; else $(CYGPATH_W) '$(srcdir)/Multi_Obj_Evaluator.cpp'; fi`
+
+libnomadmpi_a-Parameter_Entries.o: Parameter_Entries.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Parameter_Entries.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Parameter_Entries.Tpo -c -o libnomadmpi_a-Parameter_Entries.o `test -f 'Parameter_Entries.cpp' || echo '$(srcdir)/'`Parameter_Entries.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Parameter_Entries.Tpo $(DEPDIR)/libnomadmpi_a-Parameter_Entries.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Parameter_Entries.cpp' object='libnomadmpi_a-Parameter_Entries.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Parameter_Entries.o `test -f 'Parameter_Entries.cpp' || echo '$(srcdir)/'`Parameter_Entries.cpp
+
+libnomadmpi_a-Parameter_Entries.obj: Parameter_Entries.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Parameter_Entries.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Parameter_Entries.Tpo -c -o libnomadmpi_a-Parameter_Entries.obj `if test -f 'Parameter_Entries.cpp'; then $(CYGPATH_W) 'Parameter_Entries.cpp'; else $(CYGPATH_W) '$(srcdir)/Parameter_Entries.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Parameter_Entries.Tpo $(DEPDIR)/libnomadmpi_a-Parameter_Entries.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Parameter_Entries.cpp' object='libnomadmpi_a-Parameter_Entries.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Parameter_Entries.obj `if test -f 'Parameter_Entries.cpp'; then $(CYGPATH_W) 'Parameter_Entries.cpp'; else $(CYGPATH_W) '$(srcdir)/Parameter_Entries.cpp'; fi`
+
+libnomadmpi_a-Parameter_Entry.o: Parameter_Entry.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Parameter_Entry.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Parameter_Entry.Tpo -c -o libnomadmpi_a-Parameter_Entry.o `test -f 'Parameter_Entry.cpp' || echo '$(srcdir)/'`Parameter_Entry.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Parameter_Entry.Tpo $(DEPDIR)/libnomadmpi_a-Parameter_Entry.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Parameter_Entry.cpp' object='libnomadmpi_a-Parameter_Entry.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Parameter_Entry.o `test -f 'Parameter_Entry.cpp' || echo '$(srcdir)/'`Parameter_Entry.cpp
+
+libnomadmpi_a-Parameter_Entry.obj: Parameter_Entry.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Parameter_Entry.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Parameter_Entry.Tpo -c -o libnomadmpi_a-Parameter_Entry.obj `if test -f 'Parameter_Entry.cpp'; then $(CYGPATH_W) 'Parameter_Entry.cpp'; else $(CYGPATH_W) '$(srcdir)/Parameter_Entry.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Parameter_Entry.Tpo $(DEPDIR)/libnomadmpi_a-Parameter_Entry.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Parameter_Entry.cpp' object='libnomadmpi_a-Parameter_Entry.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Parameter_Entry.obj `if test -f 'Parameter_Entry.cpp'; then $(CYGPATH_W) 'Parameter_Entry.cpp'; else $(CYGPATH_W) '$(srcdir)/Parameter_Entry.cpp'; fi`
+
+libnomadmpi_a-Parameters.o: Parameters.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Parameters.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Parameters.Tpo -c -o libnomadmpi_a-Parameters.o `test -f 'Parameters.cpp' || echo '$(srcdir)/'`Parameters.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Parameters.Tpo $(DEPDIR)/libnomadmpi_a-Parameters.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Parameters.cpp' object='libnomadmpi_a-Parameters.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Parameters.o `test -f 'Parameters.cpp' || echo '$(srcdir)/'`Parameters.cpp
+
+libnomadmpi_a-Parameters.obj: Parameters.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Parameters.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Parameters.Tpo -c -o libnomadmpi_a-Parameters.obj `if test -f 'Parameters.cpp'; then $(CYGPATH_W) 'Parameters.cpp'; else $(CYGPATH_W) '$(srcdir)/Parameters.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Parameters.Tpo $(DEPDIR)/libnomadmpi_a-Parameters.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Parameters.cpp' object='libnomadmpi_a-Parameters.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Parameters.obj `if test -f 'Parameters.cpp'; then $(CYGPATH_W) 'Parameters.cpp'; else $(CYGPATH_W) '$(srcdir)/Parameters.cpp'; fi`
+
+libnomadmpi_a-Pareto_Front.o: Pareto_Front.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Pareto_Front.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Pareto_Front.Tpo -c -o libnomadmpi_a-Pareto_Front.o `test -f 'Pareto_Front.cpp' || echo '$(srcdir)/'`Pareto_Front.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Pareto_Front.Tpo $(DEPDIR)/libnomadmpi_a-Pareto_Front.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Pareto_Front.cpp' object='libnomadmpi_a-Pareto_Front.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Pareto_Front.o `test -f 'Pareto_Front.cpp' || echo '$(srcdir)/'`Pareto_Front.cpp
+
+libnomadmpi_a-Pareto_Front.obj: Pareto_Front.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Pareto_Front.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Pareto_Front.Tpo -c -o libnomadmpi_a-Pareto_Front.obj `if test -f 'Pareto_Front.cpp'; then $(CYGPATH_W) 'Pareto_Front.cpp'; else $(CYGPATH_W) '$(srcdir)/Pareto_Front.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Pareto_Front.Tpo $(DEPDIR)/libnomadmpi_a-Pareto_Front.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Pareto_Front.cpp' object='libnomadmpi_a-Pareto_Front.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Pareto_Front.obj `if test -f 'Pareto_Front.cpp'; then $(CYGPATH_W) 'Pareto_Front.cpp'; else $(CYGPATH_W) '$(srcdir)/Pareto_Front.cpp'; fi`
+
+libnomadmpi_a-Pareto_Point.o: Pareto_Point.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Pareto_Point.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Pareto_Point.Tpo -c -o libnomadmpi_a-Pareto_Point.o `test -f 'Pareto_Point.cpp' || echo '$(srcdir)/'`Pareto_Point.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Pareto_Point.Tpo $(DEPDIR)/libnomadmpi_a-Pareto_Point.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Pareto_Point.cpp' object='libnomadmpi_a-Pareto_Point.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Pareto_Point.o `test -f 'Pareto_Point.cpp' || echo '$(srcdir)/'`Pareto_Point.cpp
+
+libnomadmpi_a-Pareto_Point.obj: Pareto_Point.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Pareto_Point.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Pareto_Point.Tpo -c -o libnomadmpi_a-Pareto_Point.obj `if test -f 'Pareto_Point.cpp'; then $(CYGPATH_W) 'Pareto_Point.cpp'; else $(CYGPATH_W) '$(srcdir)/Pareto_Point.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Pareto_Point.Tpo $(DEPDIR)/libnomadmpi_a-Pareto_Point.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Pareto_Point.cpp' object='libnomadmpi_a-Pareto_Point.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Pareto_Point.obj `if test -f 'Pareto_Point.cpp'; then $(CYGPATH_W) 'Pareto_Point.cpp'; else $(CYGPATH_W) '$(srcdir)/Pareto_Point.cpp'; fi`
+
+libnomadmpi_a-Phase_One_Evaluator.o: Phase_One_Evaluator.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Phase_One_Evaluator.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Phase_One_Evaluator.Tpo -c -o libnomadmpi_a-Phase_One_Evaluator.o `test -f 'Phase_One_Evaluator.cpp' || echo '$(srcdir)/'`Phase_One_Evaluator.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Phase_One_Evaluator.Tpo $(DEPDIR)/libnomadmpi_a-Phase_One_Evaluator.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Phase_One_Evaluator.cpp' object='libnomadmpi_a-Phase_One_Evaluator.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Phase_One_Evaluator.o `test -f 'Phase_One_Evaluator.cpp' || echo '$(srcdir)/'`Phase_One_Evaluator.cpp
+
+libnomadmpi_a-Phase_One_Evaluator.obj: Phase_One_Evaluator.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Phase_One_Evaluator.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Phase_One_Evaluator.Tpo -c -o libnomadmpi_a-Phase_One_Evaluator.obj `if test -f 'Phase_One_Evaluator.cpp'; then $(CYGPATH_W) 'Phase_One_Evaluator.cpp'; else $(CYGPATH_W) '$(srcdir)/Phase_One_Evaluator.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Phase_One_Evaluator.Tpo $(DEPDIR)/libnomadmpi_a-Phase_One_Evaluator.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Phase_One_Evaluator.cpp' object='libnomadmpi_a-Phase_One_Evaluator.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Phase_One_Evaluator.obj `if test -f 'Phase_One_Evaluator.cpp'; then $(CYGPATH_W) 'Phase_One_Evaluator.cpp'; else $(CYGPATH_W) '$(srcdir)/Phase_One_Evaluator.cpp'; fi`
+
+libnomadmpi_a-Phase_One_Search.o: Phase_One_Search.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Phase_One_Search.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Phase_One_Search.Tpo -c -o libnomadmpi_a-Phase_One_Search.o `test -f 'Phase_One_Search.cpp' || echo '$(srcdir)/'`Phase_One_Search.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Phase_One_Search.Tpo $(DEPDIR)/libnomadmpi_a-Phase_One_Search.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Phase_One_Search.cpp' object='libnomadmpi_a-Phase_One_Search.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Phase_One_Search.o `test -f 'Phase_One_Search.cpp' || echo '$(srcdir)/'`Phase_One_Search.cpp
+
+libnomadmpi_a-Phase_One_Search.obj: Phase_One_Search.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Phase_One_Search.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Phase_One_Search.Tpo -c -o libnomadmpi_a-Phase_One_Search.obj `if test -f 'Phase_One_Search.cpp'; then $(CYGPATH_W) 'Phase_One_Search.cpp'; else $(CYGPATH_W) '$(srcdir)/Phase_One_Search.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Phase_One_Search.Tpo $(DEPDIR)/libnomadmpi_a-Phase_One_Search.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Phase_One_Search.cpp' object='libnomadmpi_a-Phase_One_Search.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Phase_One_Search.obj `if test -f 'Phase_One_Search.cpp'; then $(CYGPATH_W) 'Phase_One_Search.cpp'; else $(CYGPATH_W) '$(srcdir)/Phase_One_Search.cpp'; fi`
+
+libnomadmpi_a-Point.o: Point.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Point.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Point.Tpo -c -o libnomadmpi_a-Point.o `test -f 'Point.cpp' || echo '$(srcdir)/'`Point.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Point.Tpo $(DEPDIR)/libnomadmpi_a-Point.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Point.cpp' object='libnomadmpi_a-Point.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Point.o `test -f 'Point.cpp' || echo '$(srcdir)/'`Point.cpp
+
+libnomadmpi_a-Point.obj: Point.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Point.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Point.Tpo -c -o libnomadmpi_a-Point.obj `if test -f 'Point.cpp'; then $(CYGPATH_W) 'Point.cpp'; else $(CYGPATH_W) '$(srcdir)/Point.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Point.Tpo $(DEPDIR)/libnomadmpi_a-Point.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Point.cpp' object='libnomadmpi_a-Point.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Point.obj `if test -f 'Point.cpp'; then $(CYGPATH_W) 'Point.cpp'; else $(CYGPATH_W) '$(srcdir)/Point.cpp'; fi`
+
+libnomadmpi_a-Priority_Eval_Point.o: Priority_Eval_Point.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Priority_Eval_Point.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Priority_Eval_Point.Tpo -c -o libnomadmpi_a-Priority_Eval_Point.o `test -f 'Priority_Eval_Point.cpp' || echo '$(srcdir)/'`Priority_Eval_Point.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Priority_Eval_Point.Tpo $(DEPDIR)/libnomadmpi_a-Priority_Eval_Point.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Priority_Eval_Point.cpp' object='libnomadmpi_a-Priority_Eval_Point.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Priority_Eval_Point.o `test -f 'Priority_Eval_Point.cpp' || echo '$(srcdir)/'`Priority_Eval_Point.cpp
+
+libnomadmpi_a-Priority_Eval_Point.obj: Priority_Eval_Point.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Priority_Eval_Point.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Priority_Eval_Point.Tpo -c -o libnomadmpi_a-Priority_Eval_Point.obj `if test -f 'Priority_Eval_Point.cpp'; then $(CYGPATH_W) 'Priority_Eval_Point.cpp'; else $(CYGPATH_W) '$(srcdir)/Priority_Eval_Point.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Priority_Eval_Point.Tpo $(DEPDIR)/libnomadmpi_a-Priority_Eval_Point.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Priority_Eval_Point.cpp' object='libnomadmpi_a-Priority_Eval_Point.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Priority_Eval_Point.obj `if test -f 'Priority_Eval_Point.cpp'; then $(CYGPATH_W) 'Priority_Eval_Point.cpp'; else $(CYGPATH_W) '$(srcdir)/Priority_Eval_Point.cpp'; fi`
+
+libnomadmpi_a-Quad_Model.o: Quad_Model.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Quad_Model.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Quad_Model.Tpo -c -o libnomadmpi_a-Quad_Model.o `test -f 'Quad_Model.cpp' || echo '$(srcdir)/'`Quad_Model.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Quad_Model.Tpo $(DEPDIR)/libnomadmpi_a-Quad_Model.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Quad_Model.cpp' object='libnomadmpi_a-Quad_Model.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Quad_Model.o `test -f 'Quad_Model.cpp' || echo '$(srcdir)/'`Quad_Model.cpp
+
+libnomadmpi_a-Quad_Model.obj: Quad_Model.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Quad_Model.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Quad_Model.Tpo -c -o libnomadmpi_a-Quad_Model.obj `if test -f 'Quad_Model.cpp'; then $(CYGPATH_W) 'Quad_Model.cpp'; else $(CYGPATH_W) '$(srcdir)/Quad_Model.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Quad_Model.Tpo $(DEPDIR)/libnomadmpi_a-Quad_Model.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Quad_Model.cpp' object='libnomadmpi_a-Quad_Model.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Quad_Model.obj `if test -f 'Quad_Model.cpp'; then $(CYGPATH_W) 'Quad_Model.cpp'; else $(CYGPATH_W) '$(srcdir)/Quad_Model.cpp'; fi`
+
+libnomadmpi_a-Quad_Model_Evaluator.o: Quad_Model_Evaluator.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Quad_Model_Evaluator.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Quad_Model_Evaluator.Tpo -c -o libnomadmpi_a-Quad_Model_Evaluator.o `test -f 'Quad_Model_Evaluator.cpp' || echo '$(srcdir)/'`Quad_Model_Evaluator.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Quad_Model_Evaluator.Tpo $(DEPDIR)/libnomadmpi_a-Quad_Model_Evaluator.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Quad_Model_Evaluator.cpp' object='libnomadmpi_a-Quad_Model_Evaluator.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Quad_Model_Evaluator.o `test -f 'Quad_Model_Evaluator.cpp' || echo '$(srcdir)/'`Quad_Model_Evaluator.cpp
+
+libnomadmpi_a-Quad_Model_Evaluator.obj: Quad_Model_Evaluator.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Quad_Model_Evaluator.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Quad_Model_Evaluator.Tpo -c -o libnomadmpi_a-Quad_Model_Evaluator.obj `if test -f 'Quad_Model_Evaluator.cpp'; then $(CYGPATH_W) 'Quad_Model_Evaluator.cpp'; else $(CYGPATH_W) '$(srcdir)/Quad_Model_Evaluator.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Quad_Model_Evaluator.Tpo $(DEPDIR)/libnomadmpi_a-Quad_Model_Evaluator.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Quad_Model_Evaluator.cpp' object='libnomadmpi_a-Quad_Model_Evaluator.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Quad_Model_Evaluator.obj `if test -f 'Quad_Model_Evaluator.cpp'; then $(CYGPATH_W) 'Quad_Model_Evaluator.cpp'; else $(CYGPATH_W) '$(srcdir)/Quad_Model_Evaluator.cpp'; fi`
+
+libnomadmpi_a-Quad_Model_Search.o: Quad_Model_Search.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Quad_Model_Search.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Quad_Model_Search.Tpo -c -o libnomadmpi_a-Quad_Model_Search.o `test -f 'Quad_Model_Search.cpp' || echo '$(srcdir)/'`Quad_Model_Search.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Quad_Model_Search.Tpo $(DEPDIR)/libnomadmpi_a-Quad_Model_Search.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Quad_Model_Search.cpp' object='libnomadmpi_a-Quad_Model_Search.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Quad_Model_Search.o `test -f 'Quad_Model_Search.cpp' || echo '$(srcdir)/'`Quad_Model_Search.cpp
+
+libnomadmpi_a-Quad_Model_Search.obj: Quad_Model_Search.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Quad_Model_Search.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Quad_Model_Search.Tpo -c -o libnomadmpi_a-Quad_Model_Search.obj `if test -f 'Quad_Model_Search.cpp'; then $(CYGPATH_W) 'Quad_Model_Search.cpp'; else $(CYGPATH_W) '$(srcdir)/Quad_Model_Search.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Quad_Model_Search.Tpo $(DEPDIR)/libnomadmpi_a-Quad_Model_Search.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Quad_Model_Search.cpp' object='libnomadmpi_a-Quad_Model_Search.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Quad_Model_Search.obj `if test -f 'Quad_Model_Search.cpp'; then $(CYGPATH_W) 'Quad_Model_Search.cpp'; else $(CYGPATH_W) '$(srcdir)/Quad_Model_Search.cpp'; fi`
+
+libnomadmpi_a-Random_Pickup.o: Random_Pickup.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Random_Pickup.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Random_Pickup.Tpo -c -o libnomadmpi_a-Random_Pickup.o `test -f 'Random_Pickup.cpp' || echo '$(srcdir)/'`Random_Pickup.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Random_Pickup.Tpo $(DEPDIR)/libnomadmpi_a-Random_Pickup.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Random_Pickup.cpp' object='libnomadmpi_a-Random_Pickup.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Random_Pickup.o `test -f 'Random_Pickup.cpp' || echo '$(srcdir)/'`Random_Pickup.cpp
+
+libnomadmpi_a-Random_Pickup.obj: Random_Pickup.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Random_Pickup.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Random_Pickup.Tpo -c -o libnomadmpi_a-Random_Pickup.obj `if test -f 'Random_Pickup.cpp'; then $(CYGPATH_W) 'Random_Pickup.cpp'; else $(CYGPATH_W) '$(srcdir)/Random_Pickup.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Random_Pickup.Tpo $(DEPDIR)/libnomadmpi_a-Random_Pickup.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Random_Pickup.cpp' object='libnomadmpi_a-Random_Pickup.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Random_Pickup.obj `if test -f 'Random_Pickup.cpp'; then $(CYGPATH_W) 'Random_Pickup.cpp'; else $(CYGPATH_W) '$(srcdir)/Random_Pickup.cpp'; fi`
+
+libnomadmpi_a-RNG.o: RNG.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-RNG.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-RNG.Tpo -c -o libnomadmpi_a-RNG.o `test -f 'RNG.cpp' || echo '$(srcdir)/'`RNG.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-RNG.Tpo $(DEPDIR)/libnomadmpi_a-RNG.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='RNG.cpp' object='libnomadmpi_a-RNG.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-RNG.o `test -f 'RNG.cpp' || echo '$(srcdir)/'`RNG.cpp
+
+libnomadmpi_a-RNG.obj: RNG.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-RNG.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-RNG.Tpo -c -o libnomadmpi_a-RNG.obj `if test -f 'RNG.cpp'; then $(CYGPATH_W) 'RNG.cpp'; else $(CYGPATH_W) '$(srcdir)/RNG.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-RNG.Tpo $(DEPDIR)/libnomadmpi_a-RNG.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='RNG.cpp' object='libnomadmpi_a-RNG.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-RNG.obj `if test -f 'RNG.cpp'; then $(CYGPATH_W) 'RNG.cpp'; else $(CYGPATH_W) '$(srcdir)/RNG.cpp'; fi`
+
+libnomadmpi_a-Signature.o: Signature.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Signature.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Signature.Tpo -c -o libnomadmpi_a-Signature.o `test -f 'Signature.cpp' || echo '$(srcdir)/'`Signature.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Signature.Tpo $(DEPDIR)/libnomadmpi_a-Signature.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Signature.cpp' object='libnomadmpi_a-Signature.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Signature.o `test -f 'Signature.cpp' || echo '$(srcdir)/'`Signature.cpp
+
+libnomadmpi_a-Signature.obj: Signature.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Signature.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Signature.Tpo -c -o libnomadmpi_a-Signature.obj `if test -f 'Signature.cpp'; then $(CYGPATH_W) 'Signature.cpp'; else $(CYGPATH_W) '$(srcdir)/Signature.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Signature.Tpo $(DEPDIR)/libnomadmpi_a-Signature.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Signature.cpp' object='libnomadmpi_a-Signature.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Signature.obj `if test -f 'Signature.cpp'; then $(CYGPATH_W) 'Signature.cpp'; else $(CYGPATH_W) '$(srcdir)/Signature.cpp'; fi`
+
+libnomadmpi_a-Slave.o: Slave.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Slave.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Slave.Tpo -c -o libnomadmpi_a-Slave.o `test -f 'Slave.cpp' || echo '$(srcdir)/'`Slave.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Slave.Tpo $(DEPDIR)/libnomadmpi_a-Slave.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Slave.cpp' object='libnomadmpi_a-Slave.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Slave.o `test -f 'Slave.cpp' || echo '$(srcdir)/'`Slave.cpp
+
+libnomadmpi_a-Slave.obj: Slave.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Slave.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Slave.Tpo -c -o libnomadmpi_a-Slave.obj `if test -f 'Slave.cpp'; then $(CYGPATH_W) 'Slave.cpp'; else $(CYGPATH_W) '$(srcdir)/Slave.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Slave.Tpo $(DEPDIR)/libnomadmpi_a-Slave.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Slave.cpp' object='libnomadmpi_a-Slave.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Slave.obj `if test -f 'Slave.cpp'; then $(CYGPATH_W) 'Slave.cpp'; else $(CYGPATH_W) '$(srcdir)/Slave.cpp'; fi`
+
+libnomadmpi_a-Speculative_Search.o: Speculative_Search.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Speculative_Search.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Speculative_Search.Tpo -c -o libnomadmpi_a-Speculative_Search.o `test -f 'Speculative_Search.cpp' || echo '$(srcdir)/'`Speculative_Search.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Speculative_Search.Tpo $(DEPDIR)/libnomadmpi_a-Speculative_Search.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Speculative_Search.cpp' object='libnomadmpi_a-Speculative_Search.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Speculative_Search.o `test -f 'Speculative_Search.cpp' || echo '$(srcdir)/'`Speculative_Search.cpp
+
+libnomadmpi_a-Speculative_Search.obj: Speculative_Search.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Speculative_Search.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Speculative_Search.Tpo -c -o libnomadmpi_a-Speculative_Search.obj `if test -f 'Speculative_Search.cpp'; then $(CYGPATH_W) 'Speculative_Search.cpp'; else $(CYGPATH_W) '$(srcdir)/Speculative_Search.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Speculative_Search.Tpo $(DEPDIR)/libnomadmpi_a-Speculative_Search.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Speculative_Search.cpp' object='libnomadmpi_a-Speculative_Search.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Speculative_Search.obj `if test -f 'Speculative_Search.cpp'; then $(CYGPATH_W) 'Speculative_Search.cpp'; else $(CYGPATH_W) '$(srcdir)/Speculative_Search.cpp'; fi`
+
+libnomadmpi_a-Stats.o: Stats.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Stats.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Stats.Tpo -c -o libnomadmpi_a-Stats.o `test -f 'Stats.cpp' || echo '$(srcdir)/'`Stats.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Stats.Tpo $(DEPDIR)/libnomadmpi_a-Stats.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Stats.cpp' object='libnomadmpi_a-Stats.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Stats.o `test -f 'Stats.cpp' || echo '$(srcdir)/'`Stats.cpp
+
+libnomadmpi_a-Stats.obj: Stats.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Stats.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Stats.Tpo -c -o libnomadmpi_a-Stats.obj `if test -f 'Stats.cpp'; then $(CYGPATH_W) 'Stats.cpp'; else $(CYGPATH_W) '$(srcdir)/Stats.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Stats.Tpo $(DEPDIR)/libnomadmpi_a-Stats.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Stats.cpp' object='libnomadmpi_a-Stats.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Stats.obj `if test -f 'Stats.cpp'; then $(CYGPATH_W) 'Stats.cpp'; else $(CYGPATH_W) '$(srcdir)/Stats.cpp'; fi`
+
+libnomadmpi_a-utils.o: utils.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-utils.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-utils.Tpo -c -o libnomadmpi_a-utils.o `test -f 'utils.cpp' || echo '$(srcdir)/'`utils.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-utils.Tpo $(DEPDIR)/libnomadmpi_a-utils.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='utils.cpp' object='libnomadmpi_a-utils.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-utils.o `test -f 'utils.cpp' || echo '$(srcdir)/'`utils.cpp
+
+libnomadmpi_a-utils.obj: utils.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-utils.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-utils.Tpo -c -o libnomadmpi_a-utils.obj `if test -f 'utils.cpp'; then $(CYGPATH_W) 'utils.cpp'; else $(CYGPATH_W) '$(srcdir)/utils.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-utils.Tpo $(DEPDIR)/libnomadmpi_a-utils.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='utils.cpp' object='libnomadmpi_a-utils.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-utils.obj `if test -f 'utils.cpp'; then $(CYGPATH_W) 'utils.cpp'; else $(CYGPATH_W) '$(srcdir)/utils.cpp'; fi`
+
+libnomadmpi_a-Variable_Group.o: Variable_Group.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Variable_Group.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Variable_Group.Tpo -c -o libnomadmpi_a-Variable_Group.o `test -f 'Variable_Group.cpp' || echo '$(srcdir)/'`Variable_Group.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Variable_Group.Tpo $(DEPDIR)/libnomadmpi_a-Variable_Group.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Variable_Group.cpp' object='libnomadmpi_a-Variable_Group.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Variable_Group.o `test -f 'Variable_Group.cpp' || echo '$(srcdir)/'`Variable_Group.cpp
+
+libnomadmpi_a-Variable_Group.obj: Variable_Group.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-Variable_Group.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-Variable_Group.Tpo -c -o libnomadmpi_a-Variable_Group.obj `if test -f 'Variable_Group.cpp'; then $(CYGPATH_W) 'Variable_Group.cpp'; else $(CYGPATH_W) '$(srcdir)/Variable_Group.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-Variable_Group.Tpo $(DEPDIR)/libnomadmpi_a-Variable_Group.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Variable_Group.cpp' object='libnomadmpi_a-Variable_Group.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-Variable_Group.obj `if test -f 'Variable_Group.cpp'; then $(CYGPATH_W) 'Variable_Group.cpp'; else $(CYGPATH_W) '$(srcdir)/Variable_Group.cpp'; fi`
+
+libnomadmpi_a-VNS_Search.o: VNS_Search.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-VNS_Search.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-VNS_Search.Tpo -c -o libnomadmpi_a-VNS_Search.o `test -f 'VNS_Search.cpp' || echo '$(srcdir)/'`VNS_Search.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-VNS_Search.Tpo $(DEPDIR)/libnomadmpi_a-VNS_Search.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='VNS_Search.cpp' object='libnomadmpi_a-VNS_Search.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-VNS_Search.o `test -f 'VNS_Search.cpp' || echo '$(srcdir)/'`VNS_Search.cpp
+
+libnomadmpi_a-VNS_Search.obj: VNS_Search.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-VNS_Search.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-VNS_Search.Tpo -c -o libnomadmpi_a-VNS_Search.obj `if test -f 'VNS_Search.cpp'; then $(CYGPATH_W) 'VNS_Search.cpp'; else $(CYGPATH_W) '$(srcdir)/VNS_Search.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-VNS_Search.Tpo $(DEPDIR)/libnomadmpi_a-VNS_Search.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='VNS_Search.cpp' object='libnomadmpi_a-VNS_Search.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-VNS_Search.obj `if test -f 'VNS_Search.cpp'; then $(CYGPATH_W) 'VNS_Search.cpp'; else $(CYGPATH_W) '$(srcdir)/VNS_Search.cpp'; fi`
+
+libnomadmpi_a-OrthogonalMesh.o: OrthogonalMesh.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-OrthogonalMesh.o -MD -MP -MF $(DEPDIR)/libnomadmpi_a-OrthogonalMesh.Tpo -c -o libnomadmpi_a-OrthogonalMesh.o `test -f 'OrthogonalMesh.cpp' || echo '$(srcdir)/'`OrthogonalMesh.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-OrthogonalMesh.Tpo $(DEPDIR)/libnomadmpi_a-OrthogonalMesh.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='OrthogonalMesh.cpp' object='libnomadmpi_a-OrthogonalMesh.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-OrthogonalMesh.o `test -f 'OrthogonalMesh.cpp' || echo '$(srcdir)/'`OrthogonalMesh.cpp
+
+libnomadmpi_a-OrthogonalMesh.obj: OrthogonalMesh.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -MT libnomadmpi_a-OrthogonalMesh.obj -MD -MP -MF $(DEPDIR)/libnomadmpi_a-OrthogonalMesh.Tpo -c -o libnomadmpi_a-OrthogonalMesh.obj `if test -f 'OrthogonalMesh.cpp'; then $(CYGPATH_W) 'OrthogonalMesh.cpp'; else $(CYGPATH_W) '$(srcdir)/OrthogonalMesh.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libnomadmpi_a-OrthogonalMesh.Tpo $(DEPDIR)/libnomadmpi_a-OrthogonalMesh.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='OrthogonalMesh.cpp' object='libnomadmpi_a-OrthogonalMesh.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnomadmpi_a_CXXFLAGS) $(CXXFLAGS) -c -o libnomadmpi_a-OrthogonalMesh.obj `if test -f 'OrthogonalMesh.cpp'; then $(CYGPATH_W) 'OrthogonalMesh.cpp'; else $(CYGPATH_W) '$(srcdir)/OrthogonalMesh.cpp'; fi`
+
+nomad_mpi-nomad.o: nomad.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nomad_mpi_CXXFLAGS) $(CXXFLAGS) -MT nomad_mpi-nomad.o -MD -MP -MF $(DEPDIR)/nomad_mpi-nomad.Tpo -c -o nomad_mpi-nomad.o `test -f 'nomad.cpp' || echo '$(srcdir)/'`nomad.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nomad_mpi-nomad.Tpo $(DEPDIR)/nomad_mpi-nomad.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='nomad.cpp' object='nomad_mpi-nomad.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nomad_mpi_CXXFLAGS) $(CXXFLAGS) -c -o nomad_mpi-nomad.o `test -f 'nomad.cpp' || echo '$(srcdir)/'`nomad.cpp
+
+nomad_mpi-nomad.obj: nomad.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nomad_mpi_CXXFLAGS) $(CXXFLAGS) -MT nomad_mpi-nomad.obj -MD -MP -MF $(DEPDIR)/nomad_mpi-nomad.Tpo -c -o nomad_mpi-nomad.obj `if test -f 'nomad.cpp'; then $(CYGPATH_W) 'nomad.cpp'; else $(CYGPATH_W) '$(srcdir)/nomad.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nomad_mpi-nomad.Tpo $(DEPDIR)/nomad_mpi-nomad.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='nomad.cpp' object='nomad_mpi-nomad.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nomad_mpi_CXXFLAGS) $(CXXFLAGS) -c -o nomad_mpi-nomad.obj `if test -f 'nomad.cpp'; then $(CYGPATH_W) 'nomad.cpp'; else $(CYGPATH_W) '$(srcdir)/nomad.cpp'; fi`
+install-nodist_pkgconfigDATA: $(nodist_pkgconfig_DATA)
+	@$(NORMAL_INSTALL)
+	@list='$(nodist_pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
+	fi; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
+	done
+
+uninstall-nodist_pkgconfigDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(nodist_pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
+install-pkgincludeHEADERS: $(pkginclude_HEADERS)
+	@$(NORMAL_INSTALL)
+	@list='$(pkginclude_HEADERS)'; test -n "$(pkgincludedir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(pkgincludedir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(pkgincludedir)" || exit 1; \
+	fi; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(pkgincludedir)'"; \
+	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(pkgincludedir)" || exit $$?; \
+	done
+
+uninstall-pkgincludeHEADERS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(pkginclude_HEADERS)'; test -n "$(pkgincludedir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	dir='$(DESTDIR)$(pkgincludedir)'; $(am__uninstall_files_from_dir)
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(DATA) $(HEADERS)
+installdirs:
+	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(pkgincludedir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libLIBRARIES \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-nodist_pkgconfigDATA \
+	install-pkgincludeHEADERS
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-binPROGRAMS install-libLIBRARIES
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-libLIBRARIES \
+	uninstall-nodist_pkgconfigDATA uninstall-pkgincludeHEADERS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
+	clean-binPROGRAMS clean-generic clean-libLIBRARIES \
+	cscopelist-am ctags ctags-am distclean distclean-compile \
+	distclean-generic distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-binPROGRAMS \
+	install-data install-data-am install-dvi install-dvi-am \
+	install-exec install-exec-am install-html install-html-am \
+	install-info install-info-am install-libLIBRARIES install-man \
+	install-nodist_pkgconfigDATA install-pdf install-pdf-am \
+	install-pkgincludeHEADERS install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
+	tags tags-am uninstall uninstall-am uninstall-binPROGRAMS \
+	uninstall-libLIBRARIES uninstall-nodist_pkgconfigDATA \
+	uninstall-pkgincludeHEADERS
+
+.PRECIOUS: Makefile
+
+nomad.pc: ../nomad.pc.in
+@MPI_ENABLED_TRUE@nomadmpi.pc: ../nomadmpi.pc.in
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/src/Model_Sorted_Point.cpp b/src/Model_Sorted_Point.cpp
index a37d68f..f8214d5 100644
--- a/src/Model_Sorted_Point.cpp
+++ b/src/Model_Sorted_Point.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Model_Sorted_Point.cpp
  \brief  Interpolation point with distance to model center (implementation)
diff --git a/src/Model_Sorted_Point.hpp b/src/Model_Sorted_Point.hpp
index 1cd2e08..8344e3f 100644
--- a/src/Model_Sorted_Point.hpp
+++ b/src/Model_Sorted_Point.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Model_Sorted_Point.hpp
  \brief  Interpolation point with distance to model center (headers)
diff --git a/src/Model_Stats.cpp b/src/Model_Stats.cpp
index c71aadd..01ec29e 100644
--- a/src/Model_Stats.cpp
+++ b/src/Model_Stats.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Model_Stats.cpp
  \brief  Model stats (implementation)
@@ -271,7 +273,7 @@ void NOMAD::Model_Stats::display ( const NOMAD::Display & out ) const
         << "number of points inside radius: " << _ES_nb_inside_radius
         << " (";
         NOMAD::Double(_ES_nb_inside_radius*100.0/_ES_nb_pts).display ( out , "%.0f" );
-        out << "%)" << std::endl
+        out    << "%)" << std::endl
         << NOMAD::close_block();
     }
 }
diff --git a/src/Model_Stats.hpp b/src/Model_Stats.hpp
index 9799969..234912b 100644
--- a/src/Model_Stats.hpp
+++ b/src/Model_Stats.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Model_Stats.hpp
  \brief  Model stats (headers)
@@ -208,7 +210,7 @@ namespace NOMAD {
         
         /// Add \c 1 to stat \c _nb_regression.
         void add_nb_regression ( void ) { ++_nb_regression; }
-        
+ 
         /// Add \c 1 to stat \c _not_enough_pts.
         void add_not_enough_pts ( void ) { ++_not_enough_pts; }
         
diff --git a/src/Multi_Obj_Evaluator.cpp b/src/Multi_Obj_Evaluator.cpp
index 9fdcf13..3967d9e 100644
--- a/src/Multi_Obj_Evaluator.cpp
+++ b/src/Multi_Obj_Evaluator.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Multi_Obj_Evaluator.cpp
  \brief  NOMAD::Evaluator subclass for multiobjective optimization (implementation)
diff --git a/src/Multi_Obj_Evaluator.hpp b/src/Multi_Obj_Evaluator.hpp
index 155be5e..bd967dc 100644
--- a/src/Multi_Obj_Evaluator.hpp
+++ b/src/Multi_Obj_Evaluator.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Multi_Obj_Evaluator.hpp
  \brief  NOMAD::Evaluator subclass for multiobjective optimization (headers)
diff --git a/src/Multi_Obj_Quad_Model_Evaluator.hpp b/src/Multi_Obj_Quad_Model_Evaluator.hpp
index c59b5f4..fc59312 100644
--- a/src/Multi_Obj_Quad_Model_Evaluator.hpp
+++ b/src/Multi_Obj_Quad_Model_Evaluator.hpp
@@ -1,43 +1,51 @@
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
 
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3  */
-/*                                                                                     */
-/*  Copyright (C) 2001-2015  Mark Abramson        - Brigham Young University, Provo    */
-/*                           Charles Audet        - Ecole Polytechnique, Montreal      */
-/*                           Gilles Couture       - Ecole Polytechnique, Montreal      */
-/*                           John Dennis          - Rice University, Houston           */
-/*                           Sebastien Le Digabel - Ecole Polytechnique, Montreal      */
-/*                           Christophe Tribes    - Ecole Polytechnique, Montreal      */
-/*                                                                                     */
-/*  funded in part by AFOSR and Exxon Mobil                                            */
-/*                                                                                     */
-/*  Author: Sebastien Le Digabel                                                       */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
 /**
  \file   Multi_Obj_Quad_Model_Evaluator.hpp
- \brief  NOMAD::Mulit_Obj_Evaluator subclass for quadratic model optimization (headers)
- \author Christophe Tribes
+ \brief  NOMAD::Multi_Obj_Evaluator subclass for quadratic model optimization (headers)
+ \author Christophe Tribes 
  \date   2014-06-19
  \see    Multi_Obj_Quad_Model_Evaluator.cpp
  */
@@ -48,36 +56,36 @@
 #include "Multi_Obj_Evaluator.hpp"
 
 namespace NOMAD {
-    
-    /// Bi-objective NOMAD::Evaluator subclass for quadratic model.
-    class Multi_Obj_Quad_Model_Evaluator : public NOMAD::Quad_Model_Evaluator, public NOMAD::Multi_Obj_Evaluator {
-    public:
-        
-        /// Constructor.
-        /**
-         \param p     Parameters -- \b IN.
-         \param model Model      -- \b IN.
-         */
-        Multi_Obj_Quad_Model_Evaluator ( const NOMAD::Parameters & p     ,
-                                        const NOMAD::Quad_Model & model   ) : NOMAD::Quad_Model_Evaluator(p,model),NOMAD::Multi_Obj_Evaluator(p) {_is_model_evaluator=true;}
-        
-        /// Destructor.
-        virtual ~Multi_Obj_Quad_Model_Evaluator ( void ){;}
-        
-        
-        ///  Evaluate the blackboxes quad model at a given trial point
-        /**
-         \param x          point to evaluate     -- \b IN/OUT.
-         \param h_max      h_max for barrier     -- \b IN.
-         \param count_eval Count eval if true    -- \b IN.
-         \return A boolean equal to \c false if the evaluation failed.
-         */
-        virtual bool eval_x ( NOMAD::Eval_Point   & x          ,
-                             const NOMAD::Double & h_max      ,
-                             bool                & count_eval   ) const {return Quad_Model_Evaluator::eval_x(x,h_max,count_eval);}
-        
-        
-    };
+	
+	/// Bi-objective NOMAD::Evaluator subclass for quadratic model.
+	class Multi_Obj_Quad_Model_Evaluator : public NOMAD::Quad_Model_Evaluator, public NOMAD::Multi_Obj_Evaluator {     		
+	public:
+		
+		/// Constructor.
+		/**
+		 \param p     Parameters -- \b IN.
+		 \param model Model      -- \b IN.
+		 */
+		Multi_Obj_Quad_Model_Evaluator ( const NOMAD::Parameters & p     ,
+										const NOMAD::Quad_Model & model   ) : NOMAD::Quad_Model_Evaluator(p,model),NOMAD::Multi_Obj_Evaluator(p) {_is_model_evaluator=true;}
+		
+		/// Destructor.
+		virtual ~Multi_Obj_Quad_Model_Evaluator ( void ){;}
+		
+		
+		///  Evaluate the blackboxes quad model at a given trial point
+		/**
+		 \param x          point to evaluate     -- \b IN/OUT.
+		 \param h_max      h_max for barrier     -- \b IN.
+		 \param count_eval Count eval if true    -- \b IN.
+		 \return A boolean equal to \c false if the evaluation failed.
+		 */	
+		virtual bool eval_x ( NOMAD::Eval_Point   & x          ,
+							 const NOMAD::Double & h_max      ,
+							 bool                & count_eval   ) const {return Quad_Model_Evaluator::eval_x(x,h_max,count_eval);}
+		
+		
+	};
 }
 
 #endif
diff --git a/src/OrthogonalMesh.cpp b/src/OrthogonalMesh.cpp
index d0a0e60..96d9d01 100644
--- a/src/OrthogonalMesh.cpp
+++ b/src/OrthogonalMesh.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   OrthogonalMesh.hpp
  \brief  implementation
@@ -51,23 +53,23 @@
 #include "OrthogonalMesh.hpp"
 
 /// Constructor (called only by derived objects).
-NOMAD::OrthogonalMesh::OrthogonalMesh (bool                    anisotropic_mesh ,
-                                       const NOMAD::Point    & Delta_0          ,
-                                       const NOMAD::Point    & Delta_min        ,
-                                       const NOMAD::Point    & delta_min        ,
-                                       const NOMAD::Point    & fixed_variables  ,
-                                       const NOMAD::Point    & granularity      ,
-                                       NOMAD::Double           update_basis     ,
-                                       int                     coarsening_step  ,
-                                       int                     refining_step    ,
-                                       int                     limit_mesh_index ) :
+NOMAD::OrthogonalMesh::OrthogonalMesh (bool                   anisotropic_mesh ,
+                                       const NOMAD::Point    & Delta_0   ,
+                                       const NOMAD::Point    & Delta_min ,
+                                       const NOMAD::Point    & delta_min ,
+                                       const NOMAD::Point   & fixed_variables ,
+                                       const NOMAD::Point   & granularity ,
+                                       NOMAD::Double            update_basis,
+                                       int                     coarsening_step,
+                                       int                     refining_step,
+                                       int                   limit_mesh_index ) :
+_anisotropic_mesh   ( anisotropic_mesh ),
 _delta_0            ( Delta_0 ),
 _Delta_0            ( Delta_0 ),
 _Delta_min          ( Delta_min ),
 _delta_min          ( delta_min ),
 _fixed_variables    ( fixed_variables ),
 _granularity        ( granularity ),
-_anisotropic_mesh   ( anisotropic_mesh ),
 _update_basis       ( update_basis ),
 _coarsening_step    ( coarsening_step ),
 _refining_step      ( refining_step ),
@@ -107,9 +109,9 @@ _limit_mesh_index   ( limit_mesh_index )
     for ( int k = 0 ; k < _n ; ++k )
     {
         // we check that Delta_min <= Delta_0 and that delta_min <= delta_0:
-        if ( _delta_min_is_defined      &&
-            _delta_min[k].is_defined()  &&
-            _delta_0[k] < _delta_min[k] )
+        if ( _delta_min_is_defined &&
+            _delta_min[k].is_defined()                        &&
+            _delta_0[k] < _delta_min[k]        )
         {
             error = "NOMAD::OrthogonalMesh::OrthogonalMesh(): delta_0 < delta_min";
             break;
@@ -139,7 +141,7 @@ bool NOMAD::OrthogonalMesh::is_finer_than_initial (void) const
     get_delta(delta);
     
     for (int i =0; i < _n ; ++i )
-        if ( delta[i] >= _delta_0[i] )
+        if ( !_fixed_variables[i].is_defined() && delta[i] >= _delta_0[i] )
             return false;
     
     return true;
@@ -179,17 +181,11 @@ void NOMAD::OrthogonalMesh::set_min_mesh_sizes ( const NOMAD::Point & delta_min
     {
         
         // we check that Delta_min <= Delta_0 and that delta_min <= delta_0:
-        if ( delta_min[k].is_defined()    &&
-            _delta_0[k] < delta_min[k]    )
-        {
+        if ( delta_min[k].is_defined() && _delta_0[k] < delta_min[k] )
             _delta_min[k]=_delta_0[k];
-        }
-        if ( delta_min[k].is_defined()    &&
-            _Delta_0[k] < delta_min[k]     )
-        {
-            _delta_min[k]=_Delta_0[k];
-        }
         
+        if ( delta_min[k].is_defined() && _Delta_0[k] < delta_min[k] )
+            _delta_min[k]=_Delta_0[k];
     }
     
     if ( !error.empty() )
diff --git a/src/OrthogonalMesh.hpp b/src/OrthogonalMesh.hpp
index 92887d9..50ce94a 100644
--- a/src/OrthogonalMesh.hpp
+++ b/src/OrthogonalMesh.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   OrthogonalMesh.hpp
  \brief  Virtual class for the MADS orthogonal meshes (headers)
@@ -83,6 +85,7 @@ namespace NOMAD {
         /*--------------------------------------------------------------*/
     protected:
         
+        bool            _anisotropic_mesh;
         
         NOMAD::Point    _delta_0;
         NOMAD::Point    _Delta_0;
@@ -91,7 +94,6 @@ namespace NOMAD {
         NOMAD::Point    _fixed_variables;
         NOMAD::Point    _granularity;
         
-        bool            _anisotropic_mesh;
         bool            _all_granular;
         
         bool            _Delta_min_is_defined;
@@ -100,38 +102,38 @@ namespace NOMAD {
         bool            _delta_min_is_complete;
         
         
-        NOMAD::Double   _update_basis;
-        int             _coarsening_step;
-        int             _refining_step  ;
+        NOMAD::Double	_update_basis;
+        int				_coarsening_step;
+        int				_refining_step  ;
         
-        int             _n;
+        int				_n;
         int             _n_free_variables;
         
         int             _limit_mesh_index;   // Limit max or min of the mesh index for fine mesh (SMesh->max, XMesh->min)
         
         /// Constructor (called only by derived objects).
         /**
-         \param anisotropic_mesh            Anisotropy of the mesh (true or false)           -- \b IN.
-         \param Delta_0                     Initial poll size Delta_0                        -- \b IN.
-         \param Delta_min                   Minimal poll size Delta_min (may be undefined)   -- \b IN.
-         \param delta_min                   Minimal mesh size delta_min (may be undefined)   -- \b IN.
-         \param fixed_variables             Fixed variables                                  -- \b IN.
-         \param granularity                 Granularity of variables                         -- \b IN.
-         \param update_basis                Mesh/poll update basis       (tau)               -- \b IN.
-         \param coarsening_step             Mesh/poll coarsening exponent (w+)               -- \b IN.
-         \param refining_step               Mesh/poll refining exponent   (w-)               -- \b IN.
-         \param limit_mesh_index            Limit mesh index to trigger stopping criterion   -- \b IN.
-         */
-        OrthogonalMesh (bool                    anisotropic_mesh ,
-                        const NOMAD::Point    & Delta_0   ,
-                        const NOMAD::Point    & Delta_min ,
-                        const NOMAD::Point    & delta_min ,
-                        const NOMAD::Point    & fixed_variables ,
-                        const NOMAD::Point    & granularity ,
-                        NOMAD::Double           update_basis,
-                        int                     coarsening_step,
-                        int                     refining_step,
-                        int                     limit_mesh_index ) ;
+         \param anisotropic_mesh			Anisotropy of the mesh (true or false)   		-- \b IN.
+         \param Delta_0						Initial poll size Delta_0						-- \b IN.
+         \param Delta_min					Minimal poll size Delta_min (may be undefined)	-- \b IN.
+         \param delta_min					Minimal mesh size delta_min (may be undefined)	-- \b IN.
+         \param fixed_variables				Fixed variables                                 -- \b IN.
+         \param granularity				    Granularity of variables                        -- \b IN.
+         \param update_basis				Mesh/poll update basis       (tau)				-- \b IN.
+         \param coarsening_step				Mesh/poll coarsening exponent (w+)				-- \b IN.
+         \param refining_step				Mesh/poll refining exponent   (w-)				-- \b IN.
+         \param limit_mesh_index            Limit mesh index to trigger stopping criterion  -- \b IN.
+         */
+        OrthogonalMesh (bool                  anisotropic_mesh ,
+                        const NOMAD::Point	& Delta_0   ,
+                        const NOMAD::Point	& Delta_min ,
+                        const NOMAD::Point	& delta_min ,
+                        const NOMAD::Point  & fixed_variables ,
+                        const NOMAD::Point  & granularity ,
+                        NOMAD::Double		  update_basis,
+                        int					  coarsening_step,
+                        int					  refining_step,
+                        int                   limit_mesh_index ) ;
         
         
         /// Copy constructor (called only by derived objects).
@@ -140,23 +142,23 @@ namespace NOMAD {
          */
         OrthogonalMesh ( const OrthogonalMesh & m )
         :
-        _delta_0                ( m._delta_0                ),
-        _Delta_0                ( m._Delta_0                ),
-        _Delta_min              ( m._Delta_min              ),
-        _delta_min              ( m._delta_min              ),
-        _fixed_variables        ( m._fixed_variables        ),
-        _granularity            ( m._granularity            ),
-        _anisotropic_mesh       ( m._anisotropic_mesh       ),
-        _Delta_min_is_defined   ( m._Delta_min_is_defined   ),
-        _Delta_min_is_complete  ( m._Delta_min_is_complete  ),
-        _delta_min_is_defined   ( m._delta_min_is_defined   ),
-        _delta_min_is_complete  ( m._delta_min_is_complete  ),
-        _update_basis           ( m._update_basis           ),
-        _coarsening_step        ( m._coarsening_step        ),
-        _refining_step          ( m._refining_step          ),
-        _n                      ( m._n                      ),
-        _n_free_variables       ( m._n_free_variables       ),
-        _limit_mesh_index       ( m._limit_mesh_index       ){}
+        _anisotropic_mesh       ( m._anisotropic_mesh   ),
+        _delta_0			    ( m._delta_0			),
+        _Delta_0				( m._Delta_0			),
+        _Delta_min				( m._Delta_min			),
+        _delta_min				( m._delta_min		   	),
+        _fixed_variables        ( m._fixed_variables     ),
+        _granularity            ( m._granularity         ),
+        _Delta_min_is_defined   ( m._Delta_min_is_defined ),
+        _Delta_min_is_complete  ( m._Delta_min_is_complete ),
+        _delta_min_is_defined   ( m._delta_min_is_defined ),
+        _delta_min_is_complete  ( m._delta_min_is_complete ),
+        _update_basis			( m._update_basis		),
+        _coarsening_step		( m._coarsening_step	),
+        _refining_step			( m._refining_step		),
+        _n						( m._n					),
+        _n_free_variables       ( m._n_free_variables   ),
+        _limit_mesh_index       ( m._limit_mesh_index){}
         
         
         /*--------------------------------------------------------------*/
@@ -169,17 +171,17 @@ namespace NOMAD {
         
         /// Update the Mesh (poll and mesh sizes).
         /**
-         \param success    Type of success of the iteration         -- \b IN.
-         \param dir        Direction of the iteration (optional)    -- \b IN.
+         \param success    Type of success of the iteration			-- \b IN.
+         \param dir        Direction of the iteration (optional)	-- \b IN.
          */
         virtual void update ( NOMAD::success_type success, const NOMAD::Direction * dir=NULL) = 0;
         
         
         /// Update the provided mesh indices (the Mesh is unchanged).
         /**
-         \param success         Type of success of the iteration         -- \b IN.
-         \param mesh_indices    Provided mesh indices for update         -- \b IN/OUT.
-         \param dir             Direction of the iteration (optional)    -- \b IN.
+         \param success			Type of success of the iteration			-- \b IN.
+         \param mesh_indices	Provided mesh indices for update			-- \b IN/OUT.
+         \param dir				Direction of the iteration (optional)		-- \b IN.
          */
         virtual void update ( NOMAD::success_type success, NOMAD::Point & mesh_indices,
                              const NOMAD::Direction * dir=NULL ) const = 0;
@@ -320,8 +322,8 @@ namespace NOMAD {
          \param stop           Stop flag                  -- \b IN/OUT.
          \param stop_reason    Stop reason                -- \b OUT.
          */
-        virtual void check_min_mesh_sizes ( bool             & stop             ,
-                                            NOMAD::stop_type & stop_reason      ) const = 0;
+        virtual void check_min_mesh_sizes (	bool             & stop           ,
+                                           NOMAD::stop_type & stop_reason      ) const = 0;
         
         /// Access to the mesh indices per coordinate.
         /**
@@ -390,10 +392,10 @@ namespace NOMAD {
         
         /// Scale and project the ith component of a vector on the mesh
         /**
-         \param i           The vector component number                         -- \b IN.
-         \param l           The vector component value                          -- \b IN.
-         \param round_up    The flag to perform or not rounding up (optional)   -- \b IN.
-         \return            The ith component of a vector after mesh scaling and projection
+         \param i	        The vector component number         -- \b IN.
+         \param l	        The vector component value          -- \b IN.
+         \param round_up	Flag to round up                    -- \b IN.
+         \return	        The ith component of a vector after mesh scaling and projection
          */
         virtual NOMAD::Double scale_and_project(int i,
                                                 const NOMAD::Double & l,
@@ -404,7 +406,7 @@ namespace NOMAD {
     
     /// Display a NOMAD::OrthogonalMesh object.
     /**
-     \param out The NOMAD::Display object -- \b IN.
+     \param out The NOMAD::Display object                        -- \b IN.
      \param m   The NOMAD::OrthogonalMesh object to be displayed -- \b IN.
      \return    The NOMAD::Display object.
      */
diff --git a/src/Parameter_Entries.cpp b/src/Parameter_Entries.cpp
index d2ef0d3..edca792 100644
--- a/src/Parameter_Entries.cpp
+++ b/src/Parameter_Entries.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Parameter_Entries.cpp
  \brief  Parameter entries (implementation)
diff --git a/src/Parameter_Entries.hpp b/src/Parameter_Entries.hpp
index d2682bf..93104a6 100644
--- a/src/Parameter_Entries.hpp
+++ b/src/Parameter_Entries.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Parameter_Entries.hpp
  \brief  Parameter entries (headers)
diff --git a/src/Parameter_Entry.cpp b/src/Parameter_Entry.cpp
index 198d80b..2d22f1f 100644
--- a/src/Parameter_Entry.cpp
+++ b/src/Parameter_Entry.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Parameter_Entry.cpp
  \brief  Parameter entry (implementation)
@@ -55,7 +57,7 @@
 /*-----------------------------------*/
 NOMAD::Parameter_Entry::Parameter_Entry ( const std::string & entry           ,
                                          bool                remove_comments   )
-: _ok                   ( false ) ,
+: _ok                 ( false ) ,
 _unique               ( true  ) ,
 _next                 ( NULL  ) ,
 _has_been_interpreted ( false )
diff --git a/src/Parameter_Entry.hpp b/src/Parameter_Entry.hpp
index 85bfe40..63d3c39 100644
--- a/src/Parameter_Entry.hpp
+++ b/src/Parameter_Entry.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
   \file   Parameter_Entry.hpp
   \brief  Parameter entry (headers)
@@ -81,7 +83,7 @@ namespace NOMAD {
        \param entry           A string describing the parameter entry -- \b IN.
        \param remove_comments A boolean equal to \c true if entries after
                               \c '#' are ignored -- \b IN
-                  -- \b optional (default = \c true).
+			      -- \b optional (default = \c true).
     */
     Parameter_Entry ( const std::string & entry , bool remove_comments = true );
 
@@ -196,7 +198,7 @@ namespace NOMAD {
      \return    The NOMAD::Display object.
   */
   inline const NOMAD::Display & operator << ( const NOMAD::Display         & out ,
-                                              const NOMAD::Parameter_Entry & e     )
+					      const NOMAD::Parameter_Entry & e     ) 
   {
     e.display ( out );
     return out;
diff --git a/src/Parameters.cpp b/src/Parameters.cpp
index 5e89b82..ef07b9e 100644
--- a/src/Parameters.cpp
+++ b/src/Parameters.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Parameters.cpp
  \brief  NOMAD parameters (implementation)
@@ -50,11 +52,13 @@
 #include "Parameters.hpp"
 #include "Slave.hpp"
 #include "XMesh.hpp"
+#include "GMesh.hpp"
 #include "SMesh.hpp"
 
 bool NOMAD::Parameters::_warning_has_been_displayed=false;
 
 
+
 /*----------------------------------------*/
 /*                destructor              */
 /*----------------------------------------*/
@@ -76,6 +80,7 @@ void NOMAD::Parameters::init ( void )
     _max_eval           = -1;
     _max_sim_bb_eval    = -1;
     _max_bb_eval        = -1;
+    _max_block_eval     = -1;
     _max_bbe_decided    = false;
     _max_time           = -1;
     _max_iterations     = -1;
@@ -86,6 +91,9 @@ void NOMAD::Parameters::init ( void )
     _stop_if_feasible   = false;
     _user_calls_enabled = true;
     _asynchronous       = true;
+    _report_bbe_value   = true;
+    _report_blk_eva_value= true;
+    _report_sgte_value  = true;
     _stat_sum_target.clear();
     _L_curve_target.clear();
     _cache_file.clear();
@@ -106,16 +114,14 @@ void NOMAD::Parameters::init ( void )
     set_INF_STR   ( NOMAD::DEFAULT_INF_STR   );
     
     // Mesh:
-    _anisotropic_mesh           = true;
-    _mesh_type                  = NOMAD::XMESH;
-    
+    _anisotropic_mesh          = true;
+    _mesh_type                = NOMAD::GMESH;
     _mesh_update_basis          = 4;
     _poll_update_basis          = 2;
-    _mesh_coarsening_exponent   = 1;
-    _mesh_refining_exponent     =-1;
-    _initial_mesh_index         = 0;
-    _limit_mesh_index           = NOMAD::XL_LIMITS;
-    _min_poll_size_defined      = false;
+    _mesh_coarsening_exponent = 1;
+    _mesh_refining_exponent   =-1;
+    _initial_mesh_index       = 0;
+    _min_poll_size_defined    = false;
     _initial_mesh_size.clear();
     _initial_poll_size.clear();
     _min_mesh_size.clear();
@@ -226,12 +232,12 @@ void NOMAD::Parameters::init ( void )
     _opp_CS_is_defined          = false;
     
     // opportunistic strategy:
-    _bb_max_block_size              = 1;
+    _bb_max_block_size                = 1;
     _eval_points_as_block           = false;
-    _opportunistic_eval             = true;
-    _opportunistic_min_nb_success   = -1;
-    _opportunistic_min_eval         = -1;
-    _opportunistic_lucky_eval       = false;
+    _opportunistic_eval                = true;
+    _opportunistic_min_nb_success    = -1;
+    _opportunistic_min_eval            = -1;
+    _opportunistic_lucky_eval        = false;
     _opportunistic_min_f_imprvmt.clear();
     
     // display:
@@ -250,6 +256,30 @@ void NOMAD::Parameters::init ( void )
     
     _display_all_eval = false;
     
+    
+    // SGTELIB
+    // Nb of model evaluation in the solving of the surrogate problem
+    _sgtelib_model_eval_nb = 10000;
+    // Nb of candidates returned at each search.
+    // If -1, then the nb will be the block size.
+    _sgtelib_model_candidates_nb = -1;
+    
+    
+    _sgtelib_model_trials = 1;
+
+    _sgtelib_model_diversification = 0.0;
+    _sgtelib_model_exclusion_area = 0.0;
+    _sgtelib_model_definition = "TYPE LOWESS DEGREE 1 KERNEL_SHAPE OPTIM KERNEL_COEF OPTIM RIDGE 0 METRIC AOECV";
+    _sgtelib_model_formulation = NOMAD::SGTELIB_MODEL_FORMULATION_FS;
+    _sgtelib_model_feasibility = NOMAD::SGTELIB_MODEL_FEASIBILITY_C;
+    _sgtelib_model_display = "";
+    _sgtelib_model_filter = "2345"; // Use step 2345
+    
+    // RobustMads
+    _robust_mads = false;
+    _robust_mads_standard_dev_factor = 1.0;
+    
+    
 }
 
 /*------------------------------------------------------------------*/
@@ -2321,6 +2351,24 @@ void NOMAD::Parameters::read ( const NOMAD::Parameter_Entries & entries )
             set_MAX_BB_EVAL (i);
         }
     }
+
+
+    // MAX_BLOCK_EVAL:
+    // ------------
+    {
+        pe = entries.find ( "MAX_BLOCK_EVAL" );
+        if ( pe )
+        {
+            if ( !pe->is_unique() )
+                throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
+                                         "invalid parameter: MAX_BLOCK_EVAL not unique" );
+            if ( pe->get_nb_values() != 1 || !NOMAD::atoi (*(pe->get_values().begin()) , i) )
+                throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
+                                         "invalid parameter: MAX_BLOCK_EVAL" );
+            pe->set_has_been_interpreted();
+            set_MAX_BLOCK_EVAL (i);
+        }
+    }
     
     // MAX_SIM_BB_EVAL:
     // ----------------
@@ -2845,9 +2893,9 @@ void NOMAD::Parameters::read ( const NOMAD::Parameter_Entries & entries )
     interpret_mesh_sizes ( entries , "MIN_POLL_SIZE"     );
     
     
-    // GRANULARITY  ---> for the next release!
+    // GRANULARITY
     //--------------------
-    // interpret_granularity( entries , "GRANULARITY");
+    interpret_granularity( entries , "GRANULARITY");
     
     
     // BB_OUTPUT_TYPE:
@@ -3129,6 +3177,55 @@ void NOMAD::Parameters::read ( const NOMAD::Parameter_Entries & entries )
         }
     }
     
+
+    // ROBUST_MADS:
+    // -----
+    {
+        pe = entries.find ( "ROBUST_MADS" );
+        
+        if ( pe )
+        {
+            
+            if ( !pe->is_unique() )
+                throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
+                                         "invalid parameter: ROBUST_MADS not unique" );
+            
+            i = NOMAD::string_to_bool ( *(pe->get_values().begin() ) );
+            if ( pe->get_nb_values() != 1 ||  i == -1 )
+                throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
+                                         "invalid parameter: ROBUST_MADS" );
+            set_ROBUST_MADS ( i == 1 );
+            pe->set_has_been_interpreted();
+        }
+        
+        pe = entries.find ( "ROBUST_MADS_STANDARD_DEV_FACTOR" );
+        
+        if ( pe )
+        {
+            
+            if ( !pe->is_unique() )
+                throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
+                                         "invalid parameter: ROBUST_MADS_STANDARD_DEV_FACTOR not unique" );
+            
+            if ( pe->get_nb_values() != 1 )
+                throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
+                                         "invalid parameter: ROBUST_MADS_STANDARD_DEV_FACTOR" );
+        
+            NOMAD::Double v;
+            
+            if ( !v.atof ( *pe->get_values().begin() ) )
+            {
+                err = "invalid parameter: ROBUST_MADS_STANDARD_DEV_FACTOR";
+                throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ , err );
+            }
+            set_ROBUST_MADS_STANDARD_DEV_FACTOR(v);
+            pe->set_has_been_interpreted();
+            
+        }
+        
+    }
+
+    
     // SEED:
     // -----
     {
@@ -3158,6 +3255,231 @@ void NOMAD::Parameters::read ( const NOMAD::Parameter_Entries & entries )
             
         }
     }
+
+
+    
+    // SGTELIB_MODEL_DEFINITION:
+    // --------------------------------
+    {
+        pe = entries.find ( "SGTELIB_MODEL_DEFINITION" );
+        if ( pe )
+        {
+            if ( !pe->is_unique() )
+                throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
+                                         "invalid parameter: SGTELIB_MODEL_DEFINITION not unique" );
+            
+            string md = "";
+            std::list<std::string>::const_iterator it;
+            for ( it=pe->get_values().begin() ; it!=pe->get_values().end() ; ++it)
+            {
+                md = md + " " + *it;
+            }
+            md.erase(0, 1);
+            //toupper(md); // modified to handle extern sgte
+            set_SGTELIB_MODEL_DEFINITION ( md );
+            pe->set_has_been_interpreted();
+        }
+    }
+    
+    // SGTELIB_MODEL_DISPLAY:
+    // --------------------------------
+    {
+        pe = entries.find ( "SGTELIB_MODEL_DISPLAY" );
+        if ( pe )
+        {
+            if ( !pe->is_unique() )
+                throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
+                                         "invalid parameter: SGTELIB_MODEL_DISPLAY not unique" );
+            
+            string md = "";
+            std::list<std::string>::const_iterator it;
+            for ( it=pe->get_values().begin() ; it!=pe->get_values().end() ; ++it)
+            {
+                md = md + " " + *it;
+            }
+            md.erase(0, 1);
+            toupper(md);
+            set_SGTELIB_MODEL_DISPLAY ( md );
+            pe->set_has_been_interpreted();
+        }
+    }
+
+    // SGTELIB_MODEL_EVAL_NB:
+    // -----------------------
+    {
+        pe = entries.find ( "SGTELIB_MODEL_EVAL_NB" );
+        if ( pe )
+        {
+            if ( !pe->is_unique() )
+                throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
+                                         "invalid parameter: SGTELIB_MODEL_EVAL_NB not unique" );
+            if ( pe->get_nb_values() != 1 || !NOMAD::atoi (*(pe->get_values().begin()) , i) )
+                throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
+                                         "invalid parameter: SGTELIB_MODEL_EVAL_NB" );
+            pe->set_has_been_interpreted();
+            set_SGTELIB_MODEL_EVAL_NB (i);
+        }
+    }
+    
+    
+    // SGTELIB_MODEL_DIVERSIFICATION:
+    // ----------------------
+    {
+        pe = entries.find ( "SGTELIB_MODEL_DIVERSIFICATION" );
+        if ( pe )
+        {
+            if ( !pe->is_unique() )
+                throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
+                                         "invalid parameter: SGTELIB_MODEL_DIVERSIFICATION not unique" );
+            NOMAD::Double v;
+            if ( pe->get_nb_values() != 1 || !v.atof (*(pe->get_values().begin()) ) )
+                throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
+                                         "invalid parameter: SGTELIB_MODEL_DIVERSIFICATION" );
+            pe->set_has_been_interpreted();
+            set_SGTELIB_MODEL_DIVERSIFICATION (v);
+        }
+    }
+    
+    // SGTELIB_MODEL_EXCLUSION_AREA:
+    // --------------------------
+    {
+        pe = entries.find ( "SGTELIB_MODEL_EXCLUSION_AREA" );
+        if ( pe )
+        {
+            if ( !pe->is_unique() )
+                throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
+                                         "invalid parameter: SGTELIB_MODEL_EXCLUSION_AREA not unique" );
+            NOMAD::Double v;
+            if ( pe->get_nb_values() != 1 || !v.atof (*(pe->get_values().begin()) ) )
+                throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
+                                         "invalid parameter: SGTELIB_MODEL_EXCLUSION_AREA" );
+            if ( (v>1) || (v<0) )
+                throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
+                                         "invalid parameter: SGTELIB_MODEL_EXCLUSION_AREA (must be in [0 ; 1])" );
+            pe->set_has_been_interpreted();
+            set_SGTELIB_MODEL_EXCLUSION_AREA (v);
+        }
+    }
+    
+    // SGTELIB_MODEL_CANDIDATES:
+    // -----------------------
+    {
+        pe = entries.find ( "SGTELIB_MODEL_CANDIDATES_NB" );
+        if ( pe )
+        {
+            if ( !pe->is_unique() )
+                throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
+                                         "invalid parameter: SGTELIB_MODEL_CANDIDATES_NB not unique" );
+            if ( pe->get_nb_values() != 1 || !NOMAD::atoi (*(pe->get_values().begin()) , i) )
+                throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
+                                         "invalid parameter: SGTELIB_MODEL_CANDIDATES_NB" );
+            pe->set_has_been_interpreted();
+            set_SGTELIB_MODEL_CANDIDATES_NB (i);
+        }
+    }
+    
+
+    
+    // SGTELIB_MODEL_TRIALS:
+    // -----------------------
+    {
+        pe = entries.find ( "SGTELIB_MODEL_TRIALS" );
+        if ( pe )
+        {
+            if ( !pe->is_unique() )
+                throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
+                                         "invalid parameter: SGTELIB_MODEL_TRIALS not unique" );
+            if ( pe->get_nb_values() != 1 )
+                throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
+                                         "invalid parameter: SGTELIB_MODEL_TRIALS" );
+            string str_trials = *(pe->get_values().begin());
+            NOMAD::toupper(str_trials);
+            if (str_trials=="N")
+                i = _dimension;
+            else if (str_trials=="S")
+                i = _dimension+1;
+            else if ( !NOMAD::atoi (*(pe->get_values().begin()) , i) )
+                throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
+                                         "invalid parameter: SGTELIB_MODEL_TRIALS" );
+            pe->set_has_been_interpreted();
+            set_SGTELIB_MODEL_TRIALS (i);
+        }
+    }
+
+   
+   // SGTELIB_MODEL_FILTER:
+    // --------------------------------
+    {
+        pe = entries.find ( "SGTELIB_MODEL_FILTER" );
+        if ( pe )
+        {
+            if ( !pe->is_unique() )
+                throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
+                                         "invalid parameter: SGTELIB_MODEL_FILTER not unique" );
+            
+            string md = "";
+            std::list<std::string>::const_iterator it;
+            for ( it=pe->get_values().begin() ; it!=pe->get_values().end() ; ++it)
+            {
+                md = md + " " + *it;
+            }
+            md.erase(0, 1);
+            toupper(md);
+            set_SGTELIB_MODEL_FILTER ( md );
+            pe->set_has_been_interpreted();
+        }
+    }
+
+    
+    // SGTELIB_MODEL_FORMULATION:
+    // ---------------------
+    {
+        pe = entries.find ( "SGTELIB_MODEL_FORMULATION" );
+        if ( pe )
+        {
+            if ( !pe->is_unique() )
+                throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
+                                         "invalid parameter: SGTELIB_MODEL_FORMULATION not unique" );
+            if ( pe->get_nb_values() != 1 )
+                throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
+                                         "invalid parameter: SGTELIB_MODEL_FORMULATION" );
+            
+            NOMAD::sgtelib_model_formulation_type dft;
+            std::string       sdf = *(pe->get_values().begin());
+            
+            if ( !NOMAD::string_to_sgtelib_model_formulation_type ( sdf , dft ) )
+                throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
+                                         "invalid parameter: SGTELIB_MODEL_FORMULATION" );
+            set_SGTELIB_MODEL_FORMULATION ( dft );
+            
+            pe->set_has_been_interpreted();
+        }
+    }
+    
+    // SGTELIB_MODEL_FEASIBILITY:
+    // ----------------------------
+    {
+        pe = entries.find ( "SGTELIB_MODEL_FEASIBILITY" );
+        if ( pe )
+        {
+            if ( !pe->is_unique() )
+                throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
+                                         "invalid parameter: SGTELIB_MODEL_FEASIBILITY not unique" );
+            if ( pe->get_nb_values() != 1 )
+                throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
+                                         "invalid parameter: SGTELIB_MODEL_FEASIBILITY" );
+            
+            NOMAD::sgtelib_model_feasibility_type dft ;
+            std::string       sdfm = *(pe->get_values().begin());
+            
+            if ( !NOMAD::string_to_sgtelib_model_feasibility_type ( sdfm , dft  ) )
+                throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
+                                         "invalid parameter: SGTELIB_MODEL_FEASIBILITY" );
+            set_SGTELIB_MODEL_FEASIBILITY ( dft  );
+            
+            pe->set_has_been_interpreted();
+        }
+    }
     
     
     // VARIABLE_GROUP:
@@ -3556,6 +3878,14 @@ void NOMAD::Parameters::display ( const NOMAD::Display & out ) const
                 out << NOMAD::open_block ( "xmesh (isotropic)" );
             out << "poll update basis      : " << std::setw(3) << _poll_update_basis << std::endl;
         }
+        else if ( _mesh_type == NOMAD::GMESH )
+        {
+            if ( get_anisotropic_mesh() )
+                out << NOMAD::open_block ( "gmesh (anisotropic)" );
+            else
+                out << NOMAD::open_block ( "gmesh (isotropic)" );
+            out << "granularity      : " << std::setw(3) << _granularity << std::endl;
+        }
         
         out << "coarsening exponent    : " << std::setw(3) << _mesh_coarsening_exponent
         << std::endl
@@ -3703,6 +4033,7 @@ void NOMAD::Parameters::display ( const NOMAD::Display & out ) const
                 << "max Y size   : " << _model_params.quad_max_Y_size
                 << std::endl << NOMAD::close_block();
             }
+            
             out.close_block();
         }
         else
@@ -3878,6 +4209,29 @@ void NOMAD::Parameters::display ( const NOMAD::Display & out ) const
         out << std::endl;
     }
     
+    
+    // SGTELIB
+    if ( _model_params.eval_sort == NOMAD::SGTELIB_MODEL ||
+        _model_params.search1   == NOMAD::SGTELIB_MODEL ||
+        _model_params.search2   == NOMAD::SGTELIB_MODEL    )
+    {
+        out << NOMAD::open_block ( "sgtelib_model" );
+        out << "Formulation: "
+        << sgtelib_model_formulation_type_to_string( _sgtelib_model_formulation )
+        << std::endl;
+        
+        out << "Feasibility: "
+        << sgtelib_model_feasibility_type_to_string( _sgtelib_model_feasibility )
+        << std::endl;
+        
+        out << "eval nb: "    << _sgtelib_model_eval_nb << std::endl;
+        out << "diversification: "     << _sgtelib_model_diversification << std::endl;
+        out << "exclusion_area: "      << _sgtelib_model_exclusion_area << std::endl;
+        out << "definition: " << _sgtelib_model_definition << std::endl;
+        out << "display: " << _sgtelib_model_display << std::endl;
+        out << "filter: " << _sgtelib_model_filter << std::endl;
+        out << NOMAD::close_block();
+    }
 }
 
 /*---------------------------------------*/
@@ -4018,7 +4372,11 @@ void NOMAD::Parameters::check ( bool remove_history_file  ,
                                      "invalid parameter: UPPER_BOUND" );
         if ( _ub.size() < _dimension )
             _ub.resize ( _dimension );
-        
+     
+        bool warning_once_lb_var_type = false;
+        bool warning_once_ub_var_type = false;
+        bool warning_once_lb_gran = false;
+        bool warning_once_ub_gran = false;
         for ( i = 0 ; i < _dimension ; ++i )
         {
             if ( _lb[i].is_defined() && _ub[i].is_defined() )
@@ -4030,22 +4388,23 @@ void NOMAD::Parameters::check ( bool remove_history_file  ,
                     set_FIXED_VARIABLE ( i , _lb[i] );
                 
             }
+            
             // Check that x0s are within bounds when defined
-            if(_lb[i].is_defined())
+            if( _lb[i].is_defined() )
             {
                 std::vector<NOMAD::Point *>::iterator it;
-                for(it=_x0s.begin();it<_x0s.end();it++)
+                for( it = _x0s.begin() ; it < _x0s.end() ; it++ )
                 {
                     // Compare values only if dimension is the same
-                    if ( (*it)->size()==_lb.size() && (**it)[i] < _lb[i] )
+                    if ( (*it)->size() == _lb.size() && (**it)[i] < _lb[i] )
                         throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
                                                  "invalid parameter: x0 < LOWER_BOUND " );
                 }
             }
-            if(_ub[i].is_defined())
+            if( _ub[i].is_defined() )
             {
                 std::vector<NOMAD::Point *>::iterator it;
-                for(it=_x0s.begin();it<_x0s.end();it++)
+                for( it = _x0s.begin() ; it < _x0s.end() ; it++ )
                 {
                     // Compare values only if dimension is the same
                     if ( (*it)->size()==_ub.size() && (**it)[i] > _ub[i] )
@@ -4067,9 +4426,69 @@ void NOMAD::Parameters::check ( bool remove_history_file  ,
                 else
                 {
                     if ( _lb[i].is_defined() )
-                        _lb[i] = ceil(_lb[i].value());
+                    {
+                        // _lb[i] = ceil( _lb[i].value() );
+                        NOMAD::Double lb = ceil( _lb[i].value() );
+                        if ( lb != _lb[i] )
+                        {
+                            _lb[i] = lb;
+                            if ( _out.get_gen_dd() >= NOMAD::NORMAL_DISPLAY && !_warning_has_been_displayed && ! warning_once_lb_var_type )
+                            {
+                                _out << NOMAD::open_block("Warning:")
+                                << "A lower bound has been ajusted according to variable type." << std::endl
+                                << NOMAD::close_block();
+                                warning_once_lb_var_type = true;
+                            }
+                        }
+                    }
                     if ( _ub[i].is_defined() )
-                        _ub[i] = floor(_ub[i].value());
+                    {
+                        // _ub[i] = floor( _ub[i].value() );
+                        NOMAD::Double ub = floor( _ub[i].value() );
+                        if ( ub != _ub[i] )
+                        {
+                            _ub[i] = ub;
+                            if ( _out.get_gen_dd() >= NOMAD::NORMAL_DISPLAY && !_warning_has_been_displayed && ! warning_once_ub_var_type )
+                            {
+                                _out << NOMAD::open_block("Warning:")
+                                << "A upper bound has been ajusted according to variable type." << std::endl
+                                << NOMAD::close_block();
+                                warning_once_ub_var_type = true;
+                            }
+                        }
+                    }
+                }
+            }
+            
+            if ( _granularity.is_defined() )
+            {
+                if ( _lb[i].is_defined() && _granularity[i] > 0.0 )
+                {
+                    NOMAD::Double lb = ceil( _lb[i].value() / _granularity[i].value() ) * _granularity[i];
+                    if ( lb != _lb[i] )
+                    {
+                        if ( _out.get_gen_dd() >= NOMAD::NORMAL_DISPLAY && !_warning_has_been_displayed && ! warning_once_lb_gran )
+                        {
+                            _out << NOMAD::open_block("Warning:")
+                            << "A lower bound has been ajusted according to granularity." << std::endl
+                            << NOMAD::close_block();
+                            warning_once_lb_gran = true;
+                        }
+                    }
+                }
+                if ( _ub[i].is_defined() && _granularity[i] > 0.0 )
+                {
+                    NOMAD::Double ub = floor( _ub[i].value() / _granularity[i].value() ) * _granularity[i];
+                    if ( ub != _ub[i] )
+                    {
+                        if ( _out.get_gen_dd() >= NOMAD::NORMAL_DISPLAY && !_warning_has_been_displayed && ! warning_once_ub_gran )
+                        {
+                            _out << NOMAD::open_block("Warning:")
+                            << "An upper bound has been ajusted according to granularity." << std::endl
+                            << NOMAD::close_block();
+                            warning_once_ub_gran = true ;
+                        }
+                    }
                 }
             }
         }
@@ -4143,36 +4562,6 @@ void NOMAD::Parameters::check ( bool remove_history_file  ,
         }
         
         
-        // limit mesh index:
-        // --------------------------------
-        {
-            if ( _mesh_type == NOMAD::SMESH && _limit_mesh_index > NOMAD::L_LIMITS )
-                if ( !_warning_has_been_displayed )
-                    _out << NOMAD::open_block("Warning:")
-                    << "A limit mesh index that is greater than the defaut limit of " << NOMAD::L_LIMITS << " is provided. This convergence criterion can be difficult to meet due to nomad precision" << std::endl
-                    << NOMAD::close_block();
-            
-            if ( _mesh_type == NOMAD::SMESH && _limit_mesh_index == NOMAD::XL_LIMITS )
-                _limit_mesh_index = NOMAD::L_LIMITS;
-            
-            if ( ( _mesh_type == NOMAD::XMESH ) && _limit_mesh_index < NOMAD::XL_LIMITS )
-                if ( !_warning_has_been_displayed )
-                    _out << NOMAD::open_block("Warning:")
-                    << "A limit mesh index that is smaller than the defaut limit of " << NOMAD::L_LIMITS << " is provided. This convergence criterion can be difficult to meet due to nomad precision" << std::endl
-                    << NOMAD::close_block();
-            
-            if ( _mesh_type == NOMAD::SMESH && _limit_mesh_index <= _initial_mesh_index  )
-                throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
-                                         "invalid parameter: LIMIT_MESH_INDEX must be larger than INITIAL_MESH_INDEX (SMESH)" );
-            
-            if ( ( _mesh_type == NOMAD::XMESH ) && _limit_mesh_index >= _initial_mesh_index  )
-                throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
-                                         "invalid parameter: LIMIT_MESH_INDEX must be smaller than INITIAL_MESH_INDEX (XMESH)" );
-            
-            
-        }
-        
-        
         // initial mesh size or poll size:
         // --------------------------------
         bool use_x0 = !_x0s.empty() && _x0s[0]->size() == _dimension;
@@ -4183,10 +4572,8 @@ void NOMAD::Parameters::check ( bool remove_history_file  ,
             // ---------------------
             if ( _bb_input_type[i] == NOMAD::CONTINUOUS )
             {
-                
                 if ( _initial_mesh_size[i].is_defined() )
-                    _initial_poll_size[i]=_initial_mesh_size[i]*pow(_dimension,0.5);
-                
+                    _initial_poll_size[i]=_initial_mesh_size[i]*pow(_nb_free_variables,0.5);
                 
                 // default value for initial mesh size
                 if ( !_initial_poll_size[i].is_defined() )
@@ -4224,16 +4611,15 @@ void NOMAD::Parameters::check ( bool remove_history_file  ,
                         }
                     }
                 }
-                
+
                 else if ( !_fixed_variables[i].is_defined() &&
-                         ( _initial_poll_size[i].value() <  NOMAD::Double::get_epsilon() ||
-                          _initial_poll_size[i].value() <= 0.0                             ) )
+                          _initial_poll_size[i].value() <= 0.0                             )
                     throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
                                              "invalid parameter: INITIAL_MESH_SIZE" );
                 
                 // Determine _initial_mesh_size from _initial_poll_size (this will disappear in future version)
                 if ( !_initial_mesh_size[i].is_defined() )
-                    _initial_mesh_size[i]=_initial_poll_size[i]*pow(_dimension,-0.5);
+                    _initial_mesh_size[i] = _initial_poll_size[i] * pow( _nb_free_variables , -0.5 );
                 
             }
             
@@ -4254,7 +4640,7 @@ void NOMAD::Parameters::check ( bool remove_history_file  ,
             {
                 // Determine mesh size from poll size
                 if ( _initial_poll_size[i].is_defined() )
-                    _initial_mesh_size[i]=_initial_poll_size[i]*pow(_dimension,-0.5);
+                    _initial_mesh_size[i]=_initial_poll_size[i]*pow(_nb_free_variables,-0.5);
                 
                 
                 if ( _initial_mesh_size[i].is_defined() )
@@ -4280,8 +4666,7 @@ void NOMAD::Parameters::check ( bool remove_history_file  ,
                         
                     }
                 }
-                // Determine the initial poll size from mesh size
-                _initial_poll_size[i] = _initial_mesh_size[i] * pow(_dimension,0.5);
+                _initial_poll_size[i] = _initial_mesh_size[i] * pow(_nb_free_variables,0.5);
                 
             }
         }
@@ -4346,19 +4731,40 @@ void NOMAD::Parameters::check ( bool remove_history_file  ,
     
     
     {
-        // Granularity --> this will be used in the next version in which granular variabtesles will be handled
+        // Granularity
         //-------------------
         if ( _granularity.is_defined () && _granularity.size () != _dimension )
             throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
                                      "invalid parameters: granularity (size must be equal to dimension)" );
         
+
         if ( ! _granularity.is_defined() )
+        {
             _granularity = NOMAD::Point ( _dimension ,0 );
+            
+            // For GMesh, the granularity must be set according to bb_input_type
+            if ( _mesh_type == NOMAD::GMESH )
+            {
+                for ( i = 0 ; i < _dimension ; ++i )
+                {
+                    if ( _bb_input_type[i] == NOMAD::INTEGER || _bb_input_type[i] == NOMAD::BINARY )
+                        _granularity[i] = 1.0;
+                }
+                
+            }
+        }
         else
         {
             double inpart;
+            bool has_categorical = false;
+            bool force_change_to_gmesh = false;
+            bool warning_once_int_bin_gran = false;
             for ( i = 0 ; i < _dimension ; ++i )
             {
+                if ( !_fixed_variables[i].is_defined() && _bb_input_type[i] == NOMAD::CATEGORICAL )
+                {
+                    has_categorical=true;
+                }
                 
                 if ( _granularity[i].is_defined() && _granularity[i] < 0 )
                     throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
@@ -4368,35 +4774,38 @@ void NOMAD::Parameters::check ( bool remove_history_file  ,
                     throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
                                              "invalid parameters: granular variables are not supported when mesh_type = smesh " );
                 
-                // Exception if a granularity is not supported by xmesh is given
-                if ( _granularity[i].is_defined() && _granularity[i] != 0.0 && _granularity[i] != 1.0 )
-                    throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
-                                             "invalid parameters: granularity must be 0 (continuous) or 1 (integer). " );
-                
-                //from  bb_input_type --> _granularity. No granularity is required for categorical variables (different variable group + no mesh )
-                if ( _bb_input_type[i] == NOMAD::CONTINUOUS )
-                {
-                    if ( _granularity[i].is_defined() && _granularity[i] != 0.0 && _out.get_gen_dd()>=NOMAD::NORMAL_DISPLAY && !_warning_has_been_displayed )
-                        _out << NOMAD::open_block("Warning:")
-                        << " The granularity of the continuous variable " << i << " is changed to 0." << std::endl
-                        << NOMAD::close_block();
-                    _granularity[i] = 0.0;
-                }
+                // Force to use gmesh if a granularity not supported by xmesh or gmesh is given
+                if ( _granularity[i].is_defined() && _granularity[i] != 0.0 && _granularity[i] != 1.0 && _mesh_type != NOMAD::GMESH )
+                    force_change_to_gmesh = true;
                 
                 if ( _bb_input_type[i] == NOMAD::INTEGER || _bb_input_type[i] == NOMAD::BINARY )
                 {
                     
-                    if ( _granularity[i].is_defined() && _granularity[i] != 1.0 && _out.get_gen_dd() >= NOMAD::NORMAL_DISPLAY && !_warning_has_been_displayed )
+                    if ( _granularity[i].is_defined() && _granularity[i] != 1.0 && _out.get_gen_dd() >= NOMAD::NORMAL_DISPLAY && !_warning_has_been_displayed && ! warning_once_int_bin_gran )
+                    {
                         _out << NOMAD::open_block("Warning:")
-                        << " The granularity of the integer/binary variable " << i << " is changed to 1." << std::endl
+                        << " The granularity of an integer/binary variable has been changed to 1." << std::endl
                         << NOMAD::close_block();
+                        warning_once_int_bin_gran = true;
+                    }
                     _granularity[i] = 1.0;
                 }
                 
-                if ( !_x0s.empty() && _granularity[i].is_defined() && _granularity[i] > 0.0
-                    && std::modf ( (*_x0s[0])[i].value() / _granularity[i].value() , &inpart ) != 0 )
-                    throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
-                                             "NOMAD::Parameters::check : invalid granularity of variables vs initial value" );
+                if ( !_x0s.empty() && _granularity[i].is_defined() && _granularity[i] > 0.0 )
+                    for ( int j = 0 ; j < static_cast<int>(_x0s.size()) ; j++ )
+                        if ( std::modf ( (*_x0s[j])[i].value() / _granularity[i].value() , &inpart ) != 0 )
+                            throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ , " invalid granularity of variables vs initial value" );
+                
+            }
+            
+            
+            if ( !has_categorical && force_change_to_gmesh )
+            {
+                _mesh_type = NOMAD::GMESH;
+                if ( _out.get_gen_dd()>=NOMAD::NORMAL_DISPLAY && !_warning_has_been_displayed )
+                    _out << NOMAD::open_block("Warning:")
+                    << " The mesh type is changed to gmesh to support the granularity of at least one variable." << std::endl
+                    << NOMAD::close_block();
             }
             
         }
@@ -4677,10 +5086,12 @@ void NOMAD::Parameters::check ( bool remove_history_file  ,
     /*      intensification       */
     /*----------------------------*/
     if ( _max_eval_intensification > 0 )
-        _intensification_type = NOMAD::POLL_AND_SEARCH;
+        _intensification_type = NOMAD::POLL_ONLY;
     else
         _intensification_type = NOMAD::NO_INTENSIFICATION;
     
+    
+    
     /*----------------------------*/
     /*      periodic variables    */
     /*----------------------------*/
@@ -4712,16 +5123,16 @@ void NOMAD::Parameters::check ( bool remove_history_file  ,
     {
         
         // disable models upon request
-        if ( _disable_models)
+        if ( _disable_models )
         {
             _model_params.search1 = _model_params.search2 = _model_params.eval_sort    = NOMAD::NO_MODEL;
-            if (_out.get_gen_dd()>NOMAD::MINIMAL_DISPLAY && !_warning_has_been_displayed)
+            if ( _out.get_gen_dd() > NOMAD::MINIMAL_DISPLAY && !_warning_has_been_displayed )
             {
                 _out << NOMAD::open_block("Warning:")
                 << "Model use is forcefully disabled." << std::endl
                 << NOMAD::close_block();
                 
-                if (has_direction_type(NOMAD::ORTHO_NP1_QUAD))
+                if ( has_direction_type ( NOMAD::ORTHO_NP1_QUAD ) )
                 {
                     _out << NOMAD::open_block("Warning:")
                     << "Model use is disabled for direction type. Direction types ORTHO N+1 QUAD are changed to ORTHO N+1 NEG." << std::endl
@@ -4808,16 +5219,16 @@ void NOMAD::Parameters::check ( bool remove_history_file  ,
 #ifdef USE_MPI
         _model_params.search1 = _model_params.search2 = _model_params.eval_sort = NOMAD::NO_MODEL;
         set_DIRECTION_TYPE_NO_MODEL();
-        if (_out.get_gen_dd()>NOMAD::MINIMAL_DISPLAY && !_warning_has_been_displayed)
+        if ( _out.get_gen_dd() > NOMAD::MINIMAL_DISPLAY && !_warning_has_been_displayed )
             _out << NOMAD::open_block("Warning:")
             << "Model use is disabled in parallel mode (MPI)." << std::endl
             << NOMAD::close_block();
         
         
-        if ((has_direction_type(NOMAD::ORTHO_NP1_QUAD) || has_direction_type(NOMAD::ORTHO_NP1_NEG)) && _asynchronous)
+        if ( ( has_direction_type ( NOMAD::ORTHO_NP1_QUAD ) || has_direction_type ( NOMAD::ORTHO_NP1_NEG ) ) && _asynchronous )
         {
             set_ASYNCHRONOUS(false);
-            if (_out.get_gen_dd()>NOMAD::MINIMAL_DISPLAY && !_warning_has_been_displayed)
+            if ( _out.get_gen_dd() > NOMAD::MINIMAL_DISPLAY && !_warning_has_been_displayed )
                 _out << NOMAD::open_block("Warning:")
                 << "Asynchronous mode is disabled in parallel mode (MPI) when dynamic directions (ortho n+1) are used." << std::endl
                 << NOMAD::close_block();
@@ -4853,6 +5264,8 @@ void NOMAD::Parameters::check ( bool remove_history_file  ,
             throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
                                      "invalid parameter: MODEL_SEARCH_MAX_TRIAL_PTS (must be >= 1)" );
         
+        if ( _sgtelib_model_formulation == NOMAD::SGTELIB_MODEL_FORMULATION_FS || _sgtelib_model_formulation == NOMAD::SGTELIB_MODEL_FORMULATION_EIS )
+            _sgtelib_model_feasibility = NOMAD::SGTELIB_MODEL_FEASIBILITY_C;
         
     }
     
@@ -5031,18 +5444,18 @@ void NOMAD::Parameters::check ( bool remove_history_file  ,
     if ( !_opp_CS_is_defined )
         _opportunistic_cache_search = false;
     
-    if (_bb_max_block_size<=0)
+    if ( _bb_max_block_size <= 0 )
         throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
                                  "Parameters::check(): invalid block size for list evaluation (>0)" );
     
-    if (_out.get_gen_dd()>NOMAD::MINIMAL_DISPLAY && !_warning_has_been_displayed && _bb_max_block_size > 1 && (_max_bb_eval>0 || _max_sim_bb_eval>0 || _max_eval>0))
+    if ( _out.get_gen_dd () > NOMAD::MINIMAL_DISPLAY && !_warning_has_been_displayed && _bb_max_block_size > 1 && ( _max_bb_eval > 0 || _max_sim_bb_eval > 0 || _max_eval > 0 ) )
         _out << NOMAD::open_block("Warning:")
         << "The maximum number of evaluations may be exceeded when BB_MAX_BLOCK_SIZE>1." << std::endl
         << NOMAD::close_block();
     
     
 #ifdef USE_MPI
-    if (_bb_max_block_size >1)
+    if ( _bb_max_block_size > 1 )
         throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ ,
                                  "Parameters::check(): List evaluation by block of size > 1 are not allowed when using MPI." );
 #endif
@@ -5090,26 +5503,25 @@ void NOMAD::Parameters::check ( bool remove_history_file  ,
     /*----------------------------------*/
     /*  signature (standard or extern)  */
     /*----------------------------------*/
-    NOMAD::Signature * new_s = new NOMAD::Signature ( _dimension         ,
-                                                     _bb_input_type      ,
-                                                     _lb                 ,
-                                                     _ub                 ,
-                                                     _mesh_type          ,
-                                                     _anisotropic_mesh   ,
-                                                     _granularity ,
-                                                     _initial_poll_size  ,
-                                                     _min_poll_size      ,
-                                                     _min_mesh_size      ,
-                                                     _mesh_update_basis  ,
-                                                     _poll_update_basis  ,
+    NOMAD::Signature * new_s = new NOMAD::Signature ( _dimension              ,
+                                                     _bb_input_type           ,
+                                                     _lb                      ,
+                                                     _ub                      ,
+                                                     _mesh_type               ,
+                                                     _anisotropic_mesh        ,
+                                                     _granularity             ,
+                                                     _initial_poll_size       ,
+                                                     _min_poll_size           ,
+                                                     _min_mesh_size           ,
+                                                     _mesh_update_basis       ,
+                                                     _poll_update_basis       ,
                                                      _mesh_coarsening_exponent,
-                                                     _mesh_refining_exponent,
-                                                     _initial_mesh_index ,
-                                                     _limit_mesh_index   ,
-                                                     _scaling            ,
-                                                     _fixed_variables    ,
-                                                     _periodic_variables ,
-                                                     _var_groups           );
+                                                     _mesh_refining_exponent  ,
+                                                     _initial_mesh_index      ,
+                                                     _scaling                 ,
+                                                     _fixed_variables         ,
+                                                     _periodic_variables      ,
+                                                     _var_groups              );
     
     // extern signature:
     if ( _extern_signature )
@@ -5192,6 +5604,32 @@ void NOMAD::Parameters::check ( bool remove_history_file  ,
                                      "invalid parameter: x0 and sgte cache file are the same" );
     }
     
+    /*----------------------------*/
+    /*       Robust mads          */
+    /*----------------------------*/
+    {
+        
+        if ( _robust_mads && ( _has_constraints || nb_obj > 1 ))
+           throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ , "NOMAD::Parameters::check : the algorithm RobustMads can be used only when the blackbox returns a single objective without constraints" );
+        
+        if ( _robust_mads && _anisotropic_mesh )
+            throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ , "NOMAD::Parameters::check : the algorithm RobustMads cannot be used when the mesh is anisotropic" );
+            
+        
+        if ( _robust_mads && has_categorical )
+            throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ , "NOMAD::Parameters::check : the algorithm RobustMads cannot be used with categorical variables" );
+        
+        if ( _robust_mads && _VNS_search )
+            throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ , "NOMAD::Parameters::check : the algorithm RobustMads cannot be used vns search" );
+        
+        if ( _robust_mads && ! _robust_mads_standard_dev_factor.is_defined() )
+            throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ , "NOMAD::Parameters::check : a robust mads standard dev factor (beta) > 0 must be provided" );
+        
+        
+        if ( _robust_mads && _robust_mads_standard_dev_factor.is_defined() && _robust_mads_standard_dev_factor < 0 )
+            throw Invalid_Parameter ( "Parameters.cpp" , __LINE__ , "NOMAD::Parameters::check : robust mads standard dev factor (beta) must be > 0" );
+    }
+    
     
     /*----------------------*/
     
@@ -5522,7 +5960,7 @@ bool NOMAD::Parameters::get_anisotropic_mesh ( void ) const
     return _anisotropic_mesh;
 }
 
-// mesh_type:
+
 const NOMAD::mesh_type & NOMAD::Parameters::get_mesh_type ( void ) const
 {
     if ( _to_be_checked )
@@ -5678,6 +6116,34 @@ bool NOMAD::Parameters::get_asynchronous ( void ) const
     return _asynchronous;
 }
 
+// get_report_bbe_value:
+bool NOMAD::Parameters::get_report_bbe_value ( void ) const
+{
+    if ( _to_be_checked )
+        throw Bad_Access ( "Parameters.cpp" , __LINE__ ,
+                          "Parameters::get_report_bbe_value(), Parameters::check() must be invoked" );
+    return _report_bbe_value;
+}
+
+// get_report_sgte_value:
+bool NOMAD::Parameters::get_report_sgte_value ( void ) const
+{
+    if ( _to_be_checked )
+        throw Bad_Access ( "Parameters.cpp" , __LINE__ ,
+                          "Parameters::get_report_sgte_value(), Parameters::check() must be invoked" );
+    return _report_sgte_value;
+}
+
+
+// get_report_blk_eva_value:
+bool NOMAD::Parameters::get_report_blk_eva_value ( void ) const
+{
+    if ( _to_be_checked )
+        throw Bad_Access ( "Parameters.cpp" , __LINE__ ,
+                          "Parameters::get_report_blk_eva_value(), Parameters::check() must be invoked" );
+    return _report_blk_eva_value;
+}
+
 // get_x0s:
 const std::vector<NOMAD::Point *> & NOMAD::Parameters::get_x0s ( void ) const
 {
@@ -5984,6 +6450,16 @@ int NOMAD::Parameters::get_max_bb_eval ( void ) const
     return _max_bb_eval;
 }
 
+// get_max_block_eval:
+int NOMAD::Parameters::get_max_block_eval ( void ) const
+{
+    if ( _to_be_checked )
+        throw Bad_Access ( "Parameters.cpp" , __LINE__ ,
+                          "Parameters::get_max_block_eval(), Parameters::check() must be invoked" );
+    return _max_block_eval;
+}
+
+
 // get_max_sim_bb_eval:
 int NOMAD::Parameters::get_max_sim_bb_eval ( void ) const
 {
@@ -6652,6 +7128,7 @@ void NOMAD::Parameters::set_MODEL_NP1_QUAD_EPSILON ( const NOMAD::Double & d )
     _model_params.model_np1_quad_epsilon = d;
 }
 
+
 // set_MODEL_SEARCH_MAX_TRIAL_PTS:
 void NOMAD::Parameters::set_MODEL_SEARCH_MAX_TRIAL_PTS ( int s )
 {
@@ -6727,8 +7204,8 @@ void NOMAD::Parameters::set_DIRECTION_TYPE_NO_MODEL ( void )
     while (it != end)
     {
         _direction_types.erase(it);
-        _direction_types.insert(NOMAD::ORTHO_NP1_NEG);
-        it=_direction_types.find(NOMAD::ORTHO_NP1_QUAD);
+        _direction_types.insert( NOMAD::ORTHO_NP1_NEG );
+        it=_direction_types.find( NOMAD::ORTHO_NP1_QUAD );
     }
 }
 
@@ -7510,8 +7987,17 @@ void NOMAD::Parameters::set_MAX_BB_EVAL ( int bbe )
     _max_bb_eval     = ( bbe < 0 ) ? -1 : bbe;
 }
 
+// set_MAX_BLOCK_EVAL:
+void NOMAD::Parameters::set_MAX_BLOCK_EVAL ( int blk )
+{
+    _to_be_checked   = true;
+    _max_bbe_decided = true;
+    _max_block_eval  = ( blk <= 0 ) ? -1 : blk;
+}
 
-// set_MAX_BB_EVAL:
+
+
+// set_MAX_EVAL_INTENSIFICATION:
 void NOMAD::Parameters::set_MAX_EVAL_INTENSIFICATION ( int bbe )
 {
     _to_be_checked   = true;
@@ -7606,7 +8092,7 @@ void NOMAD::Parameters::set_L_CURVE_TARGET ( const NOMAD::Double & lct )
 // set_ANISOTROPIC_MESH:
 void NOMAD::Parameters::set_ANISOTROPIC_MESH ( bool anis )
 {
-    _to_be_checked       = true;
+    _to_be_checked        = true;
     _anisotropic_mesh    = anis;
 }
 
@@ -7913,12 +8399,6 @@ void NOMAD::Parameters::set_MIN_POLL_SIZE ( const NOMAD::Double & d , bool relat
         _min_poll_size = NOMAD::Point ( _dimension , d );
 }
 
-void NOMAD::Parameters::set_LIMIT_MESH_INDEX ( const int & lmi )
-{
-    _to_be_checked = true;
-    _limit_mesh_index = lmi;
-}
-
 // set_NEIGHBORS_EXE:
 void NOMAD::Parameters::set_NEIGHBORS_EXE ( const std::string & ne )
 {
@@ -8166,6 +8646,124 @@ void NOMAD::Parameters::set_VARIABLE_GROUP
 }
 
 
+// SGTELIB
+// set & get DIVERSIFICATION
+void NOMAD::Parameters::set_SGTELIB_MODEL_DIVERSIFICATION( const NOMAD::Double diversification )
+{
+    _sgtelib_model_diversification = diversification;
+}
+
+NOMAD::Double NOMAD::Parameters::get_SGTELIB_MODEL_DIVERSIFICATION( void ) const
+{
+    return _sgtelib_model_diversification;
+}
+
+// set & get EXCLUSION_AREA
+void NOMAD::Parameters::set_SGTELIB_MODEL_EXCLUSION_AREA( const NOMAD::Double tc )
+{
+    _sgtelib_model_exclusion_area = tc;
+}
+
+NOMAD::Double NOMAD::Parameters::get_SGTELIB_MODEL_EXCLUSION_AREA( void ) const
+{
+    return _sgtelib_model_exclusion_area;
+}
+
+// set & get SGTELIB_MODEL_EVAL_NB
+void NOMAD::Parameters::set_SGTELIB_MODEL_EVAL_NB( const int me )
+{
+    _sgtelib_model_eval_nb = me;
+}
+
+int NOMAD::Parameters::get_SGTELIB_MODEL_EVAL_NB( void ) const
+{
+    return _sgtelib_model_eval_nb;
+}
+
+// set & get SGTELIB_MODEL_CANDIDATES
+void NOMAD::Parameters::set_SGTELIB_MODEL_CANDIDATES_NB( const int cn )
+{
+    _sgtelib_model_candidates_nb = cn;
+}
+
+int NOMAD::Parameters::get_SGTELIB_MODEL_CANDIDATES_NB( void ) const
+{
+    return _sgtelib_model_candidates_nb;
+}
+
+
+// set & get SGTELIB_MODEL_TRIALS
+void NOMAD::Parameters::set_SGTELIB_MODEL_TRIALS( const int me )
+{
+    if (me==-1)
+        _sgtelib_model_trials = _dimension;
+    else if (me==-2)
+        _sgtelib_model_trials = _dimension+1;
+    else
+        _sgtelib_model_trials = me;
+}
+
+int NOMAD::Parameters::get_SGTELIB_MODEL_TRIALS( void ) const
+{
+    return _sgtelib_model_trials;
+}
+
+// set & get SGTELIB_MODEL_DEFINITION
+void NOMAD::Parameters::set_SGTELIB_MODEL_DEFINITION( const std::string & md )
+{
+    _sgtelib_model_definition = md;
+}
+
+std::string NOMAD::Parameters::get_SGTELIB_MODEL_DEFINITION( void ) const
+{
+    return _sgtelib_model_definition;
+}
+
+// set & get SGTELIB_MODEL_DISPLAY
+void NOMAD::Parameters::set_SGTELIB_MODEL_DISPLAY( const std::string & md )
+{
+    _sgtelib_model_display = md;
+}
+
+std::string NOMAD::Parameters::get_SGTELIB_MODEL_DISPLAY( void ) const
+{
+    return _sgtelib_model_display;
+}
+
+// set & get SGTELIB_MODEL_FILTER
+void NOMAD::Parameters::set_SGTELIB_MODEL_FILTER( const std::string & mf )
+{
+    _sgtelib_model_filter = mf;
+}
+
+std::string NOMAD::Parameters::get_SGTELIB_MODEL_FILTER( void ) const
+{
+    return _sgtelib_model_filter;
+}
+
+// set & get SGTELIB_MODEL_FORMULATION
+void NOMAD::Parameters::set_SGTELIB_MODEL_FORMULATION( const NOMAD::sgtelib_model_formulation_type dft )
+{
+    _sgtelib_model_formulation = dft;
+}
+
+NOMAD::sgtelib_model_formulation_type NOMAD::Parameters::get_SGTELIB_MODEL_FORMULATION (void) const
+{
+    return _sgtelib_model_formulation;
+}
+
+// set & get SGTELIB_MODEL_FEASIBILITY
+void NOMAD::Parameters::set_SGTELIB_MODEL_FEASIBILITY( const NOMAD::sgtelib_model_feasibility_type dft  )
+{
+    _sgtelib_model_feasibility = dft ;
+}
+
+NOMAD::sgtelib_model_feasibility_type NOMAD::Parameters::get_SGTELIB_MODEL_FEASIBILITY (void) const
+{
+    return _sgtelib_model_feasibility;
+}
+
+
 void NOMAD::Parameters::reset_granulary ( void )
 {
     _to_be_checked = true;
@@ -8290,8 +8888,8 @@ void NOMAD::Parameters::help ( const std::list<std::string> & pnames,bool develo
     
     
     const char registered_key_basic[]="2N ANGLES AVG BARRIER BASIC BASIC BB_EXE BB_INPUT_TYPE BB_OUTPUT_TYPE BI-MADS BI-OBJECTIVES BIMADS \
-    BINARY BIOBJECTIVES BLACK-BOXES BLACKBOXES BOUNDS CACHE BBEVAL CACHE_FILE CNT_EVAL CONSTRAINTS CONTINUOUS COUNT DEBUG DELTA_0 DIMENSION \
-    DIRECTION_TYPE DIRECTION_TYPES DIRECTIONS DIRECTIONS_TYPES DIRECTORY DISPLAY_ALL_EVAL DISPLAY_DEGREES DISPLAY_STATS EVALUATIONS \
+    BINARY BIOBJECTIVES BLACK-BOXES    BLACKBOXES BOUNDS CACHE BBEVAL CACHE_FILE CNT_EVAL CONSTRAINTS CONTINUOUS COUNT DEBUG DELTA_0 DIMENSION \
+    DIRECTION_TYPE DIRECTION_TYPES DIRECTIONS DIRECTIONS_TYPES DIRECTORY DISPLAY_ALL_EVAL DISPLAY_DEGREES DISPLAY_STATS    EVALUATIONS \
     EXECUTABLE F_TARGET FILES FILTER FORMAT GPS h(x) HISTORY_FILE INITIAL_MESH_SIZE INTEGER LATEX LATIN-HYPERCUBE LB LH_SEARCH LOWER_BOUND \
     LT LT-MADS LTMADS MADS MAX_BB_EVAL MAX_TIME MAXIMUM MINIMIZE MODEL MODELS MULTI-OBJECTIVE MULTIOBJECTIVES N+1 NUMBER OPTIMIZE ORTHO \
     ORTHO-MADS ORTHOMADS OUTPUTS PATH PB PEB POINT POLL PROGRESSIVE-BARRIER RANDOM SAMPLING SCREEN SCREEN SOLUTION_FILE STARTING STATIC \
@@ -8312,7 +8910,8 @@ void NOMAD::Parameters::help ( const std::list<std::string> & pnames,bool develo
     POLL POLL_UPDATE_BASIS PRECISION PROGRESSIVE-BARRIER PROJECTION PSD-MADS PSDMADS QUAD QUADRATIC RAM RANDOM REALS REGRESSION RHO SAMPLING SCALE SCALING \
     SEARCH SEED SGTE_CACHE_FILE SGTE_COST SGTE_EVAL_SORT SGTE_EXE SGTE_ORDERING SGTES SIMULATED SNAP_TO_BOUNDS SPECULATIVE_SEARCH \
     STAT_SUM_TARGET STATS STOP_IF_FEASIBLE SUCCESSES SURF SURROGATES TABULATIONS TAU TERMINATES TERMINATION TRIGGER \
-    UB UNDEF_STR UNDEFINED USER_CALLS_DISABLED USER_CALLS_ENABLED VARIABLE_GROUP VARIABLES VNS_SEARCH W- W+ ";
+    UB UNDEF_STR UNDEFINED USER_CALLS_DISABLED USER_CALLS_ENABLED VARIABLE_GROUP VARIABLES VNS_SEARCH W- W+ \
+    SGTELIB SGTELIB_MODEL_DEFINITION SGTELIB_MODEL_DIVERSIFICATION SGTELIB_MODEL_SEARCH SGTELIB_MODEL_DISPLAY SGTELIB_MODEL_EVAL_NB SGTELIB_MODEL_CANDIDATES_NB";
     
     const char registered_key_developer[]="BI-MADS BI-OBJECTIVES BIMADS BIOBJECTIVES BLACK-BOXES BLACK-BOXES COMPARISONS DEVELOPER \
     DIRECTIONS EPSILON EVALUATIONS FROBENIUS INITIAL_MESH_INDEX IMPROVEMENT INTERPOLATION L_CURVE_TARGET MADS MFN MODEL MODEL_EVAL_SORT_CAUTIOUS MODEL_ORDERING \
@@ -8320,8 +8919,7 @@ void NOMAD::Parameters::help ( const std::list<std::string> & pnames,bool develo
     MODEL_SEARCH_PROJ_TO_MESH MODELS MULTI_FORMULATION MULTI_USE_DELTA_CRITERION MULTI-OBJECTIVES \
     MULTIOBJECTIVES N+1 NP1 OBJECTIVE OPPORTUNISTIC_LUCKY_EVAL OPPORTUNISTIC_MIN_F_IMPRVMT OPPORTUNISTIC_MIN_NB_SUCCESSES OPT_ONLY_SGTES \
     ORTHO PARETO PB PEB POLL PRECISION PROGRESSIVE-BARRIER PROJECTION QUAD QUADRATIC REALS REGRESSION SEC_POLL_DIR_TYPES SGTES STOPPING \
-    SUCCESSES SURROGATES TERMINATES TERMINATION MESH_TYPE WELL-POISEDNESS " ;
-    
+    SUCCESSES SURROGATES TERMINATES TERMINATION MESH_TYPE WELL-POISEDNESS SGTELIB SGTELIB_MODEL_FORMULATION SGTELIB_MODEL_FILTER SGTELIB_MODEL_CANDIDATES_NB SGTELIB_MODEL_TRIALS SGTELIB_MODEL_EXCLUSION_AREA SGTELIB_MODEL_FEASIBILITY ";
     
     
     if ( display_all || NOMAD::string_find ( registered_key_basic, param_names ) )
@@ -8485,7 +9083,7 @@ void NOMAD::Parameters::help ( const std::list<std::string> & pnames,bool develo
                                             param_names ) )
     {
         _out << std::endl
-        << NOMAD::open_block ( "DIRECTION_TYPE (basic)" )              << std::endl
+        << NOMAD::open_block ( "DIRECTION_TYPE (basic)" )                << std::endl
         << ". types of directions used in the poll step"               << std::endl
         << ". arguments: direction types (see user"                    << std::endl
         << "             guide for available types)"                   << std::endl
@@ -8493,10 +9091,14 @@ void NOMAD::Parameters::help ( const std::list<std::string> & pnames,bool develo
         << " (n+1)th dir)."                                            << std::endl
         << ". several direction types can be defined"                  << std::endl
         << "    at the same time (one direction per line)"             << std::endl
-        << ". " << NOMAD::open_block ( "examples" )                    << std::endl
+        << ". in the examples below the directions with "              << std::endl
+        << "   the (*) are available only when using a parameter "     << std::endl
+        << "   file but not when using the set_DIRECTION_TYPE   "      << std::endl
+        << "   command in library mode "                               << std::endl
+        << ". " << NOMAD::open_block ( "examples" )                      << std::endl
         << "DIRECTION_TYPE ORTHO 1                  #  OrthoMADS, 1"   << std::endl
         << "DIRECTION_TYPE ORTHO 2                  #  OrthoMADS, 2"   << std::endl
-        << "DIRECTION_TYPE ORTHO N+1                #  OrthoMADS, n+1" << std::endl
+        << "DIRECTION_TYPE ORTHO N+1                #(*) OrthoMADS, n+1" << std::endl
         << "                                        # (QUAD model used"<< std::endl
         << "                                        # for (n+1)th dir)"<< std::endl
         << "DIRECTION_TYPE ORTHO N+1 QUAD           #  OrthoMADS, n+1" << std::endl
@@ -8510,15 +9112,15 @@ void NOMAD::Parameters::help ( const std::list<std::string> & pnames,bool develo
         << "                                        # uniform "        << std::endl
         << "                                        # distribution of" << std::endl
         << "                                        # dirs)"           << std::endl
-        << "DIRECTION_TYPE ORTHO                    #  OrthoMADS, n+1 QUAD "  << std::endl
+        << "DIRECTION_TYPE ORTHO                    #(*) OrthoMADS, n+1 QUAD "  << std::endl
         << "DIRECTION_TYPE ORTHO 2N                 #  OrthoMADS, 2n"  << std::endl
         << "DIRECTION_TYPE LT    1                  #  LT-MADS, 1"     << std::endl
         << "DIRECTION_TYPE LT    2                  #  LT-MADS, 2"     << std::endl
         << "DIRECTION_TYPE LT    N+1                #  LT-MADS, n+1"   << std::endl
-        << "DIRECTION_TYPE LT                       #  LT-MADS, 2n"    << std::endl
+        << "DIRECTION_TYPE LT                       #(*) LT-MADS, 2n"    << std::endl
         << "DIRECTION_TYPE LT    2N                 #  LT-MADS, 2n"    << std::endl
         << "DIRECTION_TYPE GPS   BINARY or BIN      #  GPS, bin var"   << std::endl
-        << "DIRECTION_TYPE GPS   N+1                #  GPS, n+1,"      << std::endl
+        << "DIRECTION_TYPE GPS   N+1                #(*) GPS, n+1,"      << std::endl
         << "                                        #  static"         << std::endl
         << "DIRECTION_TYPE GPS   N+1 STATIC         #  GPS, n+1,"      << std::endl
         << "                                        #  static"         << std::endl
@@ -8528,7 +9130,7 @@ void NOMAD::Parameters::help ( const std::list<std::string> & pnames,bool develo
         << "                                        #  rand"           << std::endl
         << "DIRECTION_TYPE GPS   N+1 RAND   UNIFORM #  GPS, n+1,"      << std::endl
         << "                                        #  rand, unif"     << std::endl
-        << "DIRECTION_TYPE GPS                      #  GPS, 2n,"       << std::endl
+        << "DIRECTION_TYPE GPS                      #(*) GPS, 2n,"       << std::endl
         << "                                        #  static"         << std::endl
         << "DIRECTION_TYPE GPS   2N                 #  GPS, 2n,"       << std::endl
         << "                                        #  static"         << std::endl
@@ -9120,7 +9722,7 @@ void NOMAD::Parameters::help ( const std::list<std::string> & pnames,bool develo
     if ( display_all || NOMAD::string_find ( "MODEL DISABLE MODELS DISABLE_MODELS \
                                             MODEL_EVAL_SORT ADVANCED \
                                             EVAL_SORT \
-                                            ORTHO N+1 QUAD QUADRATIC MODEL_SEARCH" ,
+                                            ORTHO N+1 QUAD QUADRATIC MODEL_SEARCH SGTELIB" ,
                                             param_names ) )
     {
         _out << std::endl
@@ -9145,6 +9747,230 @@ void NOMAD::Parameters::help ( const std::list<std::string> & pnames,bool develo
     }
     
     
+    
+    // SGTELIB_MODEL_DIVERSIFICATION:
+    // -----------------
+    if ( display_all || NOMAD::string_find ( "SGTELIB_MODEL_DIVERSIFICATION DIVERSIFICATION LAMBDA MODEL SGTELIB MODEL_SEARCH ADVANCED" , param_names ) )
+    {
+        _out << std::endl
+        << NOMAD::open_block ( "SGTELIB_MODEL_DIVERSIFICATION (advanced)" ) << std::endl
+        << ". coefficient of the exploration term in the "     << std::endl
+        << "    surrogate problem."                            << std::endl
+        << ". argument: one positive real"                     << std::endl
+        << ". default: 0.01"                                 << std::endl
+        << ". example: SGTELIB_MODEL_DIVERSIFICATION 0    # no exploration" << std::endl
+        << "           SGTELIB_MODEL_DIVERSIFICATION 0.01 # light exploration" << std::endl
+        << "           SGTELIB_MODEL_DIVERSIFICATION 0.1  # medium exploration" << std::endl
+        << "           SGTELIB_MODEL_DIVERSIFICATION 1    # strong exploration" << std::endl
+        << NOMAD::close_block();
+        chk = true;
+    }
+    
+    // SGTELIB_MODEL_TRIALS:
+    // -----------------------
+    if ( display_all || NOMAD::string_find ( "SGTELIB_MODEL_TRIALS MODEL SGTELIB MODEL_SEARCH ADVANCED" , param_names ) )
+    {
+        _out << std::endl
+        << NOMAD::open_block ( "SGTELIB_MODEL_TRIALS (advanced)" ) << std::endl
+        << ". max number of sgtelib model trials for each search." << std::endl
+        << ". argument: one integer > 0"                           << std::endl
+        << ". default: 1"                                          << std::endl
+        << ". example: SGTELIB_MODEL_TRIALS 5000 " << std::endl
+        << NOMAD::close_block();
+        chk = true;
+    }
+
+    // SGTELIB_MODEL_DEFINITION:
+    // --------------------------------
+    if ( display_all || NOMAD::string_find ( "SGTELIB_MODEL_DEFINITION SGTELIB SEARCH MODEL_SEARCH MODEL MODELS INTERPOLATION REGRESSION ADVANCED" , param_names ) )
+    {
+        _out << std::endl
+        << NOMAD::open_block ( "SGTELIB_MODEL_DEFINITION (advanced)" ) << std::endl
+        << ". definition of the surrogate model."     << std::endl
+        << ". argument: Sgtelib model definition. See sgtelib manual."                     << std::endl
+        << ". default: TYPE LOWESS DEGREE 1 KERNEL_SHAPE OPTIM KERNEL_COEF OPTIM RIDGE 0 METRIC AOECV" << std::endl
+        << ". example: TYPE PRS DEGREE 1 # builds a linear model" << std::endl
+        << ".          TYPE PRS DEGREE 2 # builds a quadratic model" << std::endl
+        << ".          TYPE RBF          # builds an RBF model" << std::endl
+        << ".          TYPE ENSEMBLE     # builds an ensemble of models " << std::endl
+        << ".          TYPE LOWESS DEGREE 1 KERNEL_COEF OPTIM # builds a lowess model with  " << std::endl
+        << "                                                    local linear regression " << std::endl
+        << "                                                    and optimized kernel shape" << std::endl
+        << NOMAD::close_block();
+        chk = true;
+    }
+    
+    // SGTELIB_MODEL_DISPLAY:
+    // --------------------------------
+    if ( display_all || NOMAD::string_find ( "SGTELIB_MODEL_DISPLAY ADVANCED SGTELIB DISPLAY SEARCH MODEL_SEARCH" , param_names ) )
+    {
+        _out << std::endl
+        << NOMAD::open_block ( "SGTELIB_MODEL_DISPLAY (advanced)" ) << std::endl
+        << ". control the display of the sgtelib model search" << std::endl
+        << ". arguments: a string containing one or several of the following letters " << std::endl
+        << ". \"S\": General information on the sgtelib model search"                  << std::endl
+        << ". \"F\": Details of the filter step"                                       << std::endl
+        << ". \"O\": Details of the models optimization"                               << std::endl
+        << ". \"P\": Details of the projection"                                        << std::endl
+        << ". \"U\": Details of the model update"                                      << std::endl
+        << ". \"I\": Advancement of the model optimization"                            << std::endl
+        << ". \"X\": Display of all of the model evaluations"                          << std::endl
+        << ". default: empty string (no display)" << std::endl
+        << ". example: SGTELIB_MODEL_DISPLAY SPF # display the general information on the search " << std::endl
+        << "                                       and on the filter and projection steps        " << std::endl
+        << NOMAD::close_block();
+        chk = true;
+    }
+
+
+
+
+
+
+    
+
+    // SGTELIB_MODEL_CANDIDATES_NB:
+    // -----------------------
+    if ( developer && (display_all || NOMAD::string_find ( "SGTELIB_MODEL_CANDIDATES_NB MODEL SGTELIB MODEL_SEARCH DEVELOPER" , param_names ) ) )
+    {
+        _out << std::endl
+        << NOMAD::open_block ( "SGTELIB_MODEL_CANDIDATES_NB (advanced)" ) << std::endl
+        << ". number of candidates returned by the sgtelib model search." << std::endl
+        << ". argument: one integer"                                      << std::endl
+        << ". if smaller or equal to 0, then the number of candidates"    << std::endl
+        << "    will be the MAX_BLOCK_SIZE "                              << std::endl
+        << ". default: -1"                                                << std::endl
+        << ". example: SGTELIB_MODEL_CANDIDATES_NB 8"                     << std::endl
+        << NOMAD::close_block();
+        chk = true;
+    }
+    
+    
+    // SGTELIB_MODEL_TRIALS:
+    // -----------------------
+    if ( developer && (display_all || NOMAD::string_find ( "SGTELIB_MODEL_TRIALS TRIALS DEVELOPER SGTELIB MODEL SEARCH" , param_names ) ) )
+    {
+        _out << std::endl
+        << NOMAD::open_block ( "SGTELIB_MODEL_TRIALS (advanced)" ) << std::endl
+        << ". max number of sgtelib model search failures before going to the poll step."   << std::endl
+        << ". argument: one integer > 0 or 'N' (==> dim trials) or 'S' (==> dim+1 trials"          << std::endl
+        << ". default: 1"                         << std::endl
+        << ". example: SGTELIB_MODEL_TRIALS 5 " << std::endl
+        << NOMAD::close_block();
+        chk = true;
+    }
+
+
+    // SGTELIB_MODEL_FORMULATION:
+    // ---------------
+    if ( developer && (display_all || NOMAD::string_find ( "SGTELIB_MODEL_FORMULATION SURROGATE_PROBLEM PROBLEM EXPECTED_IMPROVEMENT EXPECTED IMPROVEMENT FS EI EFI LAMBDA DIVERSIFICATION MODEL SGTELIB MODEL_SEARCH DEVELOPER" , param_names ) ) )
+    {
+        _out << std::endl
+        << NOMAD::open_block ( "SGTELIB_MODEL_FORMULATION (advanced)" ) << std::endl
+        << ". formulation of the surrogate problem. "     << std::endl
+        << ". argument: one string in {\'FS\', \'EIS\', \'FSP\'," << std::endl
+        << "                           \'EFI\', \'EFIS\',\'EFIM\',\'EFIC\'," << std::endl
+        << "                           \'PFI\'," << std::endl
+        << "                           \'D\'," << std::endl
+        << "                           \'EXTERN\'}" << std::endl
+        << ". description of the surrogate problem formulations : " << std::endl
+        << "    (FS)   min f    -d.sigma_f               " << std::endl
+        << "           st  c_j  -d.sigma_j <= 0          " << std::endl
+        << "                                             " << std::endl
+        << "    (EIS)  min -EI  -d.sigma_f               " << std::endl
+        << "           st  c_j  -d.sigma_j <= 0          " << std::endl
+        << "                                             " << std::endl
+        << "    (FSP)  min f    -d.sigma_f               " << std::endl
+        << "           st  P >= 1/2                      " << std::endl
+        << "                                             " << std::endl
+        << "    (EFI)  min -EFI                          " << std::endl
+        << "                                             " << std::endl
+        << "    (EFIS) min -EFI -d.sigma_f               " << std::endl
+        << "                                             " << std::endl
+        << "    (EFIM) min -EFI -d.sigma_f.mu            " << std::endl
+        << "                                             " << std::endl
+        << "    (EFIM) min -EFI -d.(EI.mu+P.sigma_f)     " << std::endl
+        << "                                             " << std::endl
+        << "    (PFI)  min -PFI                          " << std::endl
+        << "                                             " << std::endl
+        << "    (D)    min -distance_to_closest          " << std::endl
+        << "                                             " << std::endl
+        << ". default: FS                                " << std::endl
+        << ". example: SGTELIB_MODEL_FORMULATION EFI" << std::endl
+        << NOMAD::close_block();
+        chk = true;
+    }
+
+
+    // SGTELIB_MODEL_FILTER:
+    // --------------------------------
+    if ( developer && (display_all || NOMAD::string_find ( "SGTELIB_MODEL_FILTER DEVELOPER SGTELIB FILTER SEARCH MODEL_SEARCH" , param_names ) ) )
+    {
+        _out << std::endl
+        << NOMAD::open_block ( "SGTELIB_MODEL_FILTER (advanced)" ) << std::endl
+        << ". methods used in the sgtelib search filter to return several" << std::endl
+        << "    search candidates"                                         << std::endl
+        << ". arguments: a string containing several integers from 0 to 5" << std::endl
+        << ". default: 2345"                                               << std::endl
+        << ". method 0: Select the best candidate"                         << std::endl
+        << ". method 1: Select the most remote candidate"                  << std::endl
+        << ". method 2: Select the best candidate, "                       << std::endl
+        << "            with minimal distance to the cache"                << std::endl
+        << ". method 3: Select the best candidate, "                       << std::endl
+        << "            with minimal margin in feasibility"                << std::endl
+        << ". method 4: Select the candidate with the best"                << std::endl
+        << "            isolation number"                                  << std::endl
+        << ". method 5: Select the candidate with the best"                << std::endl
+        << "            density number"                                    << std::endl
+        << ". example: SGTELIB_MODEL_FILTER 0    # Only method 0 will be used" << std::endl
+        << "           SGTELIB_MODEL_FILTER 01   # Alternate between method 0 and 1" << std::endl
+        << "           SGTELIB_MODEL_FILTER 2345 # Cycle through methods 2, 3, 4 and 5" << std::endl
+        << NOMAD::close_block();
+        chk = true;
+    } 
+    
+
+
+    // SGTELIB_MODEL_EXCLUSION_AREA:
+    // --------------------------------
+    if ( developer && (display_all || NOMAD::string_find ( "SGTELIB_MODEL_FILTER DEVELOPER SGTELIB EXCLUSION SEARCH MODEL_SEARCH" , param_names ) ) )
+    {
+        _out << std::endl
+        << NOMAD::open_block ( "SGTELIB_MODEL_EXCLUSION_AREA (advanced)" ) << std::endl
+        << ". defines an exclusion area for the sgtelib model search"      << std::endl
+        << "    around points of the cache"                                << std::endl
+        << ". arguments: one real number in [0;1/2]"                       << std::endl
+        << ". default: 0"                                                  << std::endl
+        << ". example: SGTELIB_MODEL_EXCLUSION_AREA 0 # no exclusion area" << std::endl
+        << "           SGTELIB_MODEL_EXCLUSION_AREA 0.1 # small exclusion area" << std::endl
+        << "           SGTELIB_MODEL_EXCLUSION_AREA 0.5 # large exclusion area" << std::endl
+        << NOMAD::close_block();
+        chk = true;
+    } 
+
+
+    
+    // SGTELIB_MODEL_FEASIBILITY:
+    // ---------------------------
+    if ( developer && (display_all || NOMAD::string_find ( "SGTELIB_MODEL_FEASIBILITY FEASIBILITY CONSTRAINTS \
+                                                          SGTELIB_MODEL_SEARCH DT SGTELIB MODEL_SEARCH \
+                                                          MODEL MODELS \
+                                                          INTERPOLATION REGRESSION DEVELOPER" , param_names ) ) )
+    {
+        _out << std::endl
+        << NOMAD::open_block ( "SGTELIB_MODEL_FEASIBILITY (advanced)" )     << std::endl
+        << ". method used to model the feasibility of a points."            << std::endl
+        << ". arguments: one character in {\'C\', \'H\', \'M\', \'P\'}"     << std::endl
+        << ". default: C"                                                   << std::endl
+        << ". example: SGTELIB_MODEL_FEASIBILITY C  # 1 model per constraint" << std::endl
+        << "           SGTELIB_MODEL_FEASIBILITY H  # 1 model of the aggregate constraint" << std::endl
+        << "           SGTELIB_MODEL_FEASIBILITY M  # 1 model of the max of the constraints" << std::endl
+        << "           SGTELIB_MODEL_FEASIBILITY B  # 1 binary model of the feasibility" << std::endl
+        << NOMAD::close_block();
+        chk = true;
+    }
+    
+    
     // BB_MAX_BLOCK_SIZE
     //-----------
     if ( display_all || NOMAD::string_find ( "EVAL LIST MAX BLOCK SIZE BB BLACKBOX \
@@ -9152,20 +9978,20 @@ void NOMAD::Parameters::help ( const std::list<std::string> & pnames,bool develo
                                             param_names ) )
     {
         _out << std::endl
-        << NOMAD::open_block ( "BB_MAX_BLOCK_SIZE (advanced)" )                 << std::endl
-        << ". maximum size of a block of evaluations send to the blackbox"      << std::endl
-        << " executable at once. Blackbox executable can manage parallel"       << std::endl
-        << " evaluations on its own. Opportunistic strategies may apply after"  << std::endl
+        << NOMAD::open_block ( "BB_MAX_BLOCK_SIZE (advanced)" )                    << std::endl
+        << ". maximum size of a block of evaluations send to the blackbox"        << std::endl
+        << " executable at once. Blackbox executable can manage parallel"        << std::endl
+        << " evaluations on its own. Opportunistic strategies may apply after"    << std::endl
         << " each block of evaluations."                                        << std::endl
         << " Depending on the algorithm phase, the blackbox executable will"    << std::endl
-        << " receive at most BB_MAX_BLOCK_SIZE points to evaluate."             << std::endl
+        << " receive at most BB_MAX_BLOCK_SIZE points to evaluate."                << std::endl
         << " When this parameter is greater than one, the number of evaluations"<< std::endl
         << " may exceed the MAX_BB_EVAL stopping criterion."                    << std::endl
         << ". argument: integer > 0"                                            << std::endl
         << ". example: BB_MAX_BLOCK_SIZE 3,"                                    << std::endl
         << "             The blackbox executable receives blocks of"            << std::endl
-        << "             at most 3 points for evaluation."                      << std::endl
-        << ". default: 1"                                                       << std::endl
+        << "             at most 3 points for evaluation."                        << std::endl
+        << ". default: 1"                                                        << std::endl
         << NOMAD::close_block();
         chk = true;
     }
@@ -9306,7 +10132,7 @@ void NOMAD::Parameters::help ( const std::list<std::string> & pnames,bool develo
     // HAS_SGTE:
     // ---------
     if ( display_all || NOMAD::string_find ( "HAS_SGTE SGTE_EXE ADVANCED SURROGATES \
-                                            BLACK-BOXES BLACKBOXES \
+                                            BLACK-BOXES    BLACKBOXES \
                                             SGTES" , param_names ) )
     {
         _out << std::endl
@@ -9362,7 +10188,7 @@ void NOMAD::Parameters::help ( const std::list<std::string> & pnames,bool develo
     // MAX_CONSECUTIVE_FAILED_ITERATIONS:
     // ----------------------------------
     if ( display_all || NOMAD::string_find ( "MAX_CONSECUTIVE_FAILED_ITERATIONS ADVANCED \
-                                            TERMINATION STOPPING TERMINATES" , param_names ) )
+                                            TERMINATION    STOPPING TERMINATES" , param_names ) )
     {
         _out << std::endl
         << NOMAD::open_block ( "MAX_CONSECUTIVE_FAILED_ITERATIONS (advanced)" ) << std::endl
@@ -9459,8 +10285,8 @@ void NOMAD::Parameters::help ( const std::list<std::string> & pnames,bool develo
     {
         _out << std::endl
         << NOMAD::open_block ( "MESH_COARSENING_EXPONENT (advanced)" )  << std::endl
-        << ". mesh coarsening exponent w^+ used to update the mesh"     << std::endl
-        << "  after successes (\\Delta^m_{k+1}=\\tau^{w^+}\\Delta^m_k)" << std::endl
+        << ". mesh coarsening exponent w^+ used to update the xmesh or gmesh"     << std::endl
+        << "  after successes (\\delta_{k+1}=\\tau^{w^+}\\delta_k)" << std::endl
         << ". argument: one nonnegative integer"                        << std::endl
         << ". default: 1"                                               << std::endl
         << ". example: MESH_COARSENING_EXPONENT 0 # the mesh size is"   << std::endl
@@ -9477,8 +10303,8 @@ void NOMAD::Parameters::help ( const std::list<std::string> & pnames,bool develo
     {
         _out << std::endl
         << NOMAD::open_block ( "MESH_REFINING_EXPONENT (advanced)" )       << std::endl
-        << ". mesh refining exponent w^- used to update the mesh"          << std::endl
-        << "    after failures (\\Delta^m_{k+1} = \\tau^{w^-}\\Delta^m_k)" << std::endl
+        << ". mesh refining exponent w^- used to update the xmesh or smesh"          << std::endl
+        << "    after failures (\\delta_{k+1} = \\tau^{w^-}\\delta_k)" << std::endl
         << ". argument: one negative"                                      << std::endl
         << ". default: -1"                                                 << std::endl
         << ". example: MESH_REFINING_EXPONENT -2"                          << std::endl
@@ -9486,6 +10312,23 @@ void NOMAD::Parameters::help ( const std::list<std::string> & pnames,bool develo
         chk = true;
     }
     
+    // MESH_TYPE:
+    // -------------------
+    if ( display_all || NOMAD::string_find ( "MESH_TYPE XMESH GMESH SMESH MESH ADVANCED \
+                                              ANISO" , param_names ) )
+    {
+        
+        _out << std::endl
+        << NOMAD::open_block ( "MESH_TYPE (advanced)" )                         << std::endl
+        << ". forces the use of a specific type of mesh (xmesh, gmesh, smesh))"  << std::endl
+        << ". arguments: XMESH, GMESH or SMESH"                                              << std::endl
+        << ". default: GMESH"                                                        << std::endl
+        << ". example: MESH_TYPE GMESH "                                             << std::endl
+        << NOMAD::close_block();
+        chk = true;
+    }
+
+    
     // MESH_UPDATE_BASIS:
     // ------------------
     if ( display_all || NOMAD::string_find ( "MESH_UPDATE_BASIS ADVANCED \
@@ -9542,18 +10385,19 @@ void NOMAD::Parameters::help ( const std::list<std::string> & pnames,bool develo
     // ----------------
     if ( display_all || NOMAD::string_find ( "MODEL_ORDERING MODEL_EVAL_SORT ADVANCED \
                                             MODELS INTERPOLATION REGRESSION \
-                                            MFN FROBENIUS QUADRATIC" , param_names ) )
+                                            MFN FROBENIUS QUADRATIC SGTELIB" , param_names ) )
     {
         _out << std::endl
-        << NOMAD::open_block ( "MODEL_EVAL_SORT (advanced)" )   << std::endl
+        << NOMAD::open_block ( "MODEL_EVAL_SORT (advanced)" )      << std::endl
         << ". if models are used to sort the trial points"      << std::endl
         << ". disabled for more than 50 variables"              << std::endl
         << ". disabled with categorical variables"              << std::endl
         << ". argument: one boolean (\'yes\' or \'no\')"        << std::endl
-        << "         or one string in {\'QUADRATIC\'}"          << std::endl
+        << "         or one string in {\'QUADRATIC\', \'SGTELIB\'}" << std::endl
         << ". default: \'QUADRATIC\'"                           << std::endl
         << ". examples: MODEL_EVAL_SORT quadratic"              << std::endl
-        << "        MODEL_EVAL_SORT yes # quadratic is used"    << std::endl
+        << "        MODEL_EVAL_SORT yes # quadratic is used"      << std::endl
+        << "            MODEL_EVAL_SORT SGTELIB"                << std::endl
         << "            MODEL_EVAL_SORT no  # no MES"           << std::endl
         << NOMAD::close_block();
         chk = true;
@@ -9564,7 +10408,7 @@ void NOMAD::Parameters::help ( const std::list<std::string> & pnames,bool develo
     // -------------
     if ( display_all || NOMAD::string_find ( "MODEL_SEARCH ADVANCED CATEGORICAL \
                                             MODELS INTERPOLATION REGRESSION \
-                                            MFN FROBENIUS QUADRATIC PARALLEL" , param_names ) )
+                                            MFN FROBENIUS QUADRATIC PARALLEL SGTELIB" , param_names ) )
     {
         _out << std::endl
         << NOMAD::open_block ( "MODEL_SEARCH (advanced)" )             << std::endl
@@ -9574,9 +10418,10 @@ void NOMAD::Parameters::help ( const std::list<std::string> & pnames,bool develo
         << ". disabled with categorical variables"                  << std::endl
         << ". disabled in parallel mode"                            << std::endl
         << ". argument: one boolean (\'yes\' or \'no\')"            << std::endl
-        << "    or one string in {\'QUADRATIC\'}"                   << std::endl
+        << "    or one string in {\'QUADRATIC\', \'SGTELIB\'}"          << std::endl
         << ". default: \'QUADRATIC\'"                               << std::endl
         << ". example: MODEL_SEARCH QUADRATIC"                      << std::endl
+        << "           MODEL_SEARCH SGTELIB"                        << std::endl
         << NOMAD::close_block();
         chk = true;
     }
@@ -9587,8 +10432,8 @@ void NOMAD::Parameters::help ( const std::list<std::string> & pnames,bool develo
     // ------------------------
     if ( display_all || NOMAD::string_find ( "MODEL_SEARCH_OPTIMISTIC ADVANCED \
                                             MODELS INTERPOLATION REGRESSION \
-                                            MFN FROBENIUS QUADRATIC "
-                                            , param_names ) )
+                                            MFN FROBENIUS QUADRATIC \
+                                            SGTELIB" , param_names ) )
     {
         _out << std::endl
         << NOMAD::open_block ( "MODEL_SEARCH_OPTIMISTIC (advanced)" ) << std::endl
@@ -9837,7 +10682,7 @@ void NOMAD::Parameters::help ( const std::list<std::string> & pnames,bool develo
     // RHO:
     // ----
     if ( display_all || NOMAD::string_find ( "RHO ADVANCED MADS CONSTRAINTS \
-                                            PROGRESSIVE-BARRIER PB PEB \
+                                            PROGRESSIVE-BARRIER PB PEB    \
                                             FILTER TRIGGER" , param_names ) )
     {
         _out << std::endl
@@ -10315,8 +11160,8 @@ void NOMAD::Parameters::help ( const std::list<std::string> & pnames,bool develo
     // --------------------------
     if ( developer && ( display_all || NOMAD::string_find ( "MODEL_SEARCH_PROJ_TO_MESH DEVELOPER \
                                                            MODELS INTERPOLATION REGRESSION \
-                                                           MFN FROBENIUS QUADRATIC PROJECTION " ,
-                                                           param_names ) ) )
+                                                           MFN FROBENIUS QUADRATIC PROJECTION \
+                                                           SGTELIB" , param_names ) ) )
     {
         _out << std::endl
         << NOMAD::open_block ( "MODEL_SEARCH_PROJ_TO_MESH (developer)" ) << std::endl
@@ -10360,7 +11205,7 @@ void NOMAD::Parameters::help ( const std::list<std::string> & pnames,bool develo
         << "   (n+1)-th direction is determined within a truncated "             << std::endl
         << "   unit hypercube ]epsilon;1[^n defined by the first "               << std::endl
         << "   n-th directions. The truncation is on lower limit "               << std::endl
-        << "   and is defined with a single argument (epsilon)."                 << std::endl
+        << "   and is defined with a single argument (epsilon)."                  << std::endl
         << ". argument: real in ]0;1["                                           << std::endl
         << ". default: 0.01"                                                     << std::endl
         << NOMAD::close_block();
@@ -10467,7 +11312,7 @@ void NOMAD::Parameters::help ( const std::list<std::string> & pnames,bool develo
     // OPT_ONLY_SGTE:
     // --------------
     if (developer && ( display_all || NOMAD::string_find ( "OPT_ONLY_SGTES DEVELOPER SURROGATES \
-                                                          BLACK-BOXES BLACKBOXES \
+                                                          BLACK-BOXES    BLACKBOXES \
                                                           SGTES" , param_names ) ) )
     {
         
@@ -10498,23 +11343,38 @@ void NOMAD::Parameters::help ( const std::list<std::string> & pnames,bool develo
         << NOMAD::close_block();
         chk = true;
     }
-    
-    // MESH_TYPE:
+      
+    // ROBUST_MADS
     // -------------------
-    if ( developer && ( display_all || NOMAD::string_find ( "MESH_TYPE XMESH SMESH MESH \
-                                                           ANISO" , param_names ) ) )
+    if ( developer && ( display_all || NOMAD::string_find ( "ROBUST_MADS ROBUST SMOOTHING" , param_names ) ) )
     {
         
         _out << std::endl
-        << NOMAD::open_block ( "MESH_TYPE (developer)" )                         << std::endl
-        << ". forces the use of a specific type of mesh (xmesh, smesh))"         << std::endl
-        << ". arguments: X or S"                                                 << std::endl
-        << ". default: X"                                                        << std::endl
-        << ". example: MESH_TYPE X "                                             << std::endl
+        << NOMAD::open_block ( "ROBUST_MADS (developer)" )                         << std::endl
+        << ". use the robust mads algorithm for smoothing the objective function"  << std::endl
+        << ". on new evaluated points and cache points."                           << std::endl
+        << ". the algorihtm works only on single objective w/o constraints"        << std::endl
+        << ". default: false"                                                      << std::endl
+        << ". example: ROBUST_MADS true "                                          << std::endl
         << NOMAD::close_block();
         chk = true;
     }
     
+    // ROBUST_MADS_STANDARD_DEV_FACTOR
+    // -------------------
+    if ( developer && ( display_all || NOMAD::string_find ( "ROBUST_MADS_STANDARD_DEV_FACTOR STANDARD_DEV SMOOTHING ROBUST" , param_names ) ) )
+    {
+        
+        _out << std::endl
+        << NOMAD::open_block ( "ROBUST_MADS_STANDARD_DEV_FACTOR (developer)" )        << std::endl
+        << ". the standard deviation factor in the robust mads algorithm "            << std::endl
+        << ". controls the weight of the points in the objective function smoothing." << std::endl
+        << ". default: 2"                                                             << std::endl
+        << ". example: ROBUST_MADS_STANDARD_DEV_FACTOR 2 "                            << std::endl
+        << NOMAD::close_block();
+        chk = true;
+    }
+
     
     // last display:
     if ( !chk && developer)
diff --git a/src/Parameters.hpp b/src/Parameters.hpp
index cf8e370..8fba004 100644
--- a/src/Parameters.hpp
+++ b/src/Parameters.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Parameters.hpp
  \brief  NOMAD Parameters (headers)
@@ -171,8 +173,6 @@ namespace NOMAD {
                                            const std::string & s_seed    ,
                                            std::string       & file_name   );
         
-        
-        
         /// Check if a specified direction type is set.
         /**
          \param dt The specified direction type -- \b IN.
@@ -252,8 +252,8 @@ namespace NOMAD {
         /// Display parameter help.
         /**
          For a list of parameters.
-         \param param_names_list    List of parameter names                         -- \b IN.
-         \param developer           Bool to request developer help (defaut=false)   -- \b IN.
+         \param param_names_list	List of parameter names              -- \b IN.
+         \param developer			Bool to request developer help (defaut=false) -- \b IN.
          */
         void help ( const std::list<std::string> & param_names_list , bool developer=false) const;
         
@@ -307,6 +307,13 @@ namespace NOMAD {
          */
         void display ( void ) const { display ( _out ); }
         
+        /// Reset the display for warning.
+        /**
+         \return void.
+         */
+        static void reset_display_warning ( ){ _warning_has_been_displayed = false ;}
+        
+        
         /*--------------------------------------------------------------*/
         /*           Attributes and methods listed by categories        */
         /*--------------------------------------------------------------*/
@@ -319,6 +326,21 @@ namespace NOMAD {
         int                    _seed;          ///< Seed.
         int                    _max_eval;      ///< Maximum number of evaluations.
         int                    _max_bb_eval;   ///< Maximum number of blackbox evaluations.
+
+        // Report blackbox evaluation number for sub-algos (VNS,ExtendedPoll) on display stat
+        // (if false the number of eval is not reported and a symbol "+" is displayed
+        bool                   _report_bbe_value; ///< Parameter \c REPORT_BBE_VALUE
+
+        // Report surrogate evaluation number for sub-algos (VNS,ExtendedPoll) on display stat
+        // (if false the number of eval is not reported and a symbol "+" is displayed
+        bool                   _report_sgte_value; ///< Parameter \c REPORT_SGTE_VALUE
+
+        
+        // Report block evaluation number for sub-algos (VNS, ExtendedPoll) on display stat
+        // (if false the number of eval is not reported and a symbol "+" is displayed
+        bool                   _report_blk_eva_value; ///< Parameter \c REPORT_BLK_EVA_VALUE
+        
+        int                    _max_block_eval;  ///< Maximum number of block evaluations.
         
         std::list<std::string> _display_stats;    ///< Stats keywords for \c DISPLAY_STATS.
         bool                   _display_all_eval; ///< Parameter \c DISPLAY_ALL_EVAL
@@ -419,6 +441,12 @@ namespace NOMAD {
          */
         int get_max_bb_eval ( void ) const;
         
+        /// Access to the \c MAX_BLOCk_EVAL parameter.
+        /**
+         \return The \c MAX_BLOCK_EVAL parameter.
+         */
+        int get_max_block_eval ( void ) const;        
+
         /// Access to the \c INTENSITIFICATION_TYPE parameter.
         /**
          \return The \c INTENSIFICATION_TYPE parameter.
@@ -431,7 +459,6 @@ namespace NOMAD {
          */
         int get_max_eval_intensification ( void ) const { return _max_eval_intensification ; }
         
-        
         /// Access to the \c MAX_TIME parameter.
         /**
          \return The \c MAX_TIME parameter.
@@ -510,6 +537,27 @@ namespace NOMAD {
          */
         bool get_asynchronous ( void ) const;
         
+        
+        /// Access to the \c REPORT_BBE_VALUE parameter.
+        /**
+         \return The \c REPORT_BBE_VALUE parameter.
+         */
+        bool get_report_bbe_value ( void ) const;
+        
+        /// Access to the \c REPORT_SGTE_VALUE parameter.
+        /**
+         \return The \c REPORT_SGTE_VALUE parameter.
+         */
+        bool get_report_sgte_value ( void ) const;
+        
+        
+        /// Access to the \c REPORT_BLK_EVA_VALUE parameter.
+        /**
+         \return The \c REPORT_BLK_EVA_VALUE parameter.
+         */
+        bool get_report_blk_eva_value ( void ) const;
+
+        
         /// Set the \c POINT_DISPLAY_LIMIT parameter.
         /**
          \param dl The \c POINT_DISPLAY_LIMIT parameter -- \b IN.
@@ -600,6 +648,12 @@ namespace NOMAD {
          */
         void set_MAX_BB_EVAL ( int bbe );
         
+        /// Set the \c MAX_BLOCK_EVAL parameter.
+        /**
+         \param blk The \c MAX_BLOCK__EVAL parameter -- \b IN.
+         */
+        void set_MAX_BLOCK_EVAL ( int blk );
+
         /// Set the \c MAX_EVAL_INTENSIFICATION parameter.
         /**
          \param bbe The \c MAX_EVAL_INTENSIFICATION parameter -- \b IN.
@@ -1167,14 +1221,13 @@ namespace NOMAD {
         // -----
     private:
         
-        NOMAD::mesh_type _mesh_type;            ///< The type of mesh used (xmesh [D], smesh [old] )
-        bool          _anisotropic_mesh;        ///< Anisotropic mesh (xmesh only)
+        NOMAD::mesh_type _mesh_type;            ///< The type of mesh used (xmesh [D], gmesh, smesh [old] )
+        bool		  _anisotropic_mesh;		///< Anisotropic mesh (gmesh, xmesh only)
         NOMAD::Double _mesh_update_basis;        ///< Mesh update basis (tau).
         NOMAD::Double _poll_update_basis;        ///< Poll update basis (beta).
         int           _mesh_coarsening_exponent; ///< Mesh coarsening exponent.
         int           _mesh_refining_exponent;   ///< Mesh refining exponent.
         int           _initial_mesh_index;       ///< Initial mesh index (ell_0).
-        int           _limit_mesh_index;         ///< Limit value of mesh index.
         NOMAD::Point  _initial_mesh_size; ///< Initial (absolute) mesh size (delta^0).
         NOMAD::Point  _min_mesh_size;     ///< Minimal (absolute) mesh size (delta_min).
         NOMAD::Point  _initial_poll_size; ///< Initial (absolute) poll size (delta^0).
@@ -1190,7 +1243,6 @@ namespace NOMAD {
          */
         bool get_anisotropic_mesh ( void ) const;
         
-        
         /// Access to the \c MESH_TYPE parameter.
         /**
          \return The \c MESH_TYPE parameter -- \b IN.
@@ -1418,20 +1470,12 @@ namespace NOMAD {
          */
         void set_INITIAL_POLL_SIZE ( const NOMAD::Point & ims , bool relative = false );
         
-        
-        /// Set the \c LIMIT_MESH_INDEX parameter.
-        /**
-         \param lmi      Limit mesh index   -- \b IN.
-         */
-        void set_LIMIT_MESH_INDEX ( const int & lmi );
-        
-        
-        
+
         // Granular variables:
         // -------------------
     private:
         
-        NOMAD::Point _granularity; ///< Granularity.
+        NOMAD::Point _granularity;      ///< Granularity.
         
     public:
         
@@ -2654,6 +2698,206 @@ namespace NOMAD {
          */
         void set_OPPORTUNISTIC_LUCKY_EVAL ( bool opp_lucky_eval );
         
+        // RobustMads parameters
+        // ----------------------------------
+    private:
+        bool _robust_mads;                      ///< Run robust mads or regular mads
+        NOMAD::Double _robust_mads_standard_dev_factor;    ///< Parameter for smoothing in robust mads
+        
+    public:
+        /// Access to the \c _robust_mads parameter.
+        /**
+         \return The \c robust_mads parameter.
+         */
+        bool get_robust_mads ( void ) const
+        {
+            return _robust_mads;
+        }
+        
+        /// Set the \c ROBUST_MADS parameter.
+        /**
+         \param robust_mads The \c ROBUST_MADS parameter -- \b IN.
+         */
+        void set_ROBUST_MADS ( bool robust_mads )
+        {
+            _robust_mads = robust_mads;
+        }
+        
+        /// Access to the \c _robust_mads_variance parameter.
+        /**
+         \return The \c robust_mads_variance parameter.
+         */
+        NOMAD::Double get_robust_mads_standard_dev_factor ( void ) const
+        {
+            return _robust_mads_standard_dev_factor;
+        }
+        
+        /// Set the \c ROBUST_MADS_STANDARD_DEV_FACTOR parameter.
+        /**
+         \param beta The \c ROBUST_MADS_STANDARD_DEV_FACTOR parameter -- \b IN.
+         */
+        void set_ROBUST_MADS_STANDARD_DEV_FACTOR ( NOMAD::Double beta )
+        {
+            _robust_mads_standard_dev_factor = beta;
+        }
+        
+        
+        
+    // SGTELIB parameters
+    // ----------------------------------
+    private:
+        
+        /// Number of evaluation of the model during each sgtelib_model-search step.
+        int _sgtelib_model_eval_nb;
+        int _sgtelib_model_candidates_nb;
+        int _sgtelib_model_trials;
+        
+        std::string _sgtelib_model_definition;
+        
+        std::string _sgtelib_model_display;
+        std::string _sgtelib_model_filter;
+        
+        /// Coefficient of the diversification term in the surrogate problem.
+        NOMAD::Double _sgtelib_model_diversification;
+        
+        /// Coeff to avoid existing points
+        NOMAD::Double _sgtelib_model_exclusion_area;
+        
+        /// Formulation of the surrogate problem in the sgtelib_model search.
+        NOMAD::sgtelib_model_formulation_type _sgtelib_model_formulation;
+        
+        /// Method to compute the probability of feasibility with sgtelib_model.
+        NOMAD::sgtelib_model_feasibility_type _sgtelib_model_feasibility;
+        
+        
+    public:
+        /// Set the \c SGTELIB_MODEL_EVAL_NB parameter.
+        /**
+         \param me The \c SGTELIB_MODEL_EVAL_NB parameter -- \b IN.
+         */
+        void set_SGTELIB_MODEL_EVAL_NB ( const int me );
+        
+        /// Access to the \c SGTELIB_MODEL_EVAL_NB parameter.
+        /**
+         \return The \c SGTELIB_MODEL_EVAL_NB parameter.
+         */
+        int	get_SGTELIB_MODEL_EVAL_NB ( void ) const;
+        
+        
+        /// Set the \c SGTELIB_MODEL_TRIALS parameter.
+        /**
+         \param cn The \c SGTELIB_MODEL_TRIALS parameter -- \b IN.
+         */
+        void set_SGTELIB_MODEL_TRIALS ( const int cn );
+        
+        /// Access to the \c SGTELIB_MODEL_TRIALS parameter.
+        /**
+         \return The \c SGTELIB_MODEL_TRIALS parameter.
+         */
+        int	get_SGTELIB_MODEL_TRIALS ( void ) const;
+
+        
+        /// Set the \c SGTELIB_MODEL_CANDIDATES_NB parameter.
+        /**
+         \param me The \c SGTELIB_MODEL_CANDIDATES_NB parameter -- \b IN.
+         */
+        void set_SGTELIB_MODEL_CANDIDATES_NB ( const int me );
+        
+        /// Access to the \c SGTELIB_MODEL_CANDIDATES_NB parameter.
+        /**
+         \return The \c SGTELIB_MODEL_CANDIDATES_NB parameter.
+         */
+        int	get_SGTELIB_MODEL_CANDIDATES_NB ( void ) const;
+
+
+        /// Set the \c SGTELIB_MODEL_DEFINITION parameter.
+        /**
+         \param s The \c SGTELIB_MODEL_DEFINITION parameter -- \b IN.
+         */
+        void set_SGTELIB_MODEL_DEFINITION( const std::string & s );
+        
+        /// Access to the \c SGTELIB_MODEL_DEFINITION parameter.
+        /**
+         \return The \c SGTELIB_MODEL_DEFINITION parameter.
+         */
+        std::string	get_SGTELIB_MODEL_DEFINITION ( void ) const;
+        
+        
+        /// Set the \c SGTELIB_MODEL_DISPLAY parameter.
+        /**
+         \param s The \c SGTELIB_MODEL_DISPLAY parameter -- \b IN.
+         */
+        void set_SGTELIB_MODEL_DISPLAY( const std::string & s );
+        
+        /// Access to the \c SGTELIB_MODEL_DISPLAY parameter.
+        /**
+         \return The \c SGTELIB_MODEL_DISPLAY parameter.
+         */
+        std::string	get_SGTELIB_MODEL_DISPLAY ( void ) const;
+        
+        
+        /// Set the \c SGTELIB_MODEL_FILTER parameter.
+        /**
+         \param s The \c SGTELIB_MODEL_FILTER parameter -- \b IN.
+         */
+        void set_SGTELIB_MODEL_FILTER( const std::string & s );
+        
+        /// Access to the \c SGTELIB_MODEL_FILTER parameter.
+        /**
+         \return The \c SGTELIB_MODEL_FILTER parameter.
+         */
+        std::string	get_SGTELIB_MODEL_FILTER ( void ) const;
+        
+
+        /// Set the \c SGTELIB_MODEL_DIVERSIFICATION parameter.
+        /**
+         \param dsw The \c SGTELIB_MODEL_DIVERSIFICATION parameter -- \b IN.
+         */
+        void set_SGTELIB_MODEL_DIVERSIFICATION ( const NOMAD::Double dsw );
+        
+        /// Access to the \c SGTELIB_MODEL_DIVERSIFICATION parameter.
+        /**
+         \return The \c SGTELIB_MODEL_DIVERSIFICATION parameter.
+         */
+        NOMAD::Double get_SGTELIB_MODEL_DIVERSIFICATION ( void ) const;
+        
+        /// Set the \c SGTELIB_MODEL_EXCLUSION_AREA parameter.
+        /**
+         \param tc The \c SGTELIB_MODEL_EXCLUSION_AREA parameter -- \b IN.
+         */
+        void set_SGTELIB_MODEL_EXCLUSION_AREA ( const NOMAD::Double tc );
+        
+        /// Access to the \c SGTELIB_MODEL_EXCLUSION_AREA parameter.
+        /**
+         \return The \c SGTELIB_MODEL_EXCLUSION_AREA parameter.
+         */
+        NOMAD::Double get_SGTELIB_MODEL_EXCLUSION_AREA ( void ) const;
+        
+        
+        /// Set the \c SGTELIB_MODEL_FORMULATION parameter.
+        /**
+         \param dft The \c SGTELIB_MODEL_FORMULATION parameter -- \b IN.
+         */
+        void set_SGTELIB_MODEL_FORMULATION ( const NOMAD::sgtelib_model_formulation_type dft );
+        
+        /// Access to the \c SGTELIB_MODEL_FORMULATION parameter.
+        /**
+         \return The \c SGTELIB_MODEL_FORMULATION parameter.
+         */
+        NOMAD::sgtelib_model_formulation_type get_SGTELIB_MODEL_FORMULATION (void) const;
+        
+        /// Set the \c SGTELIB_MODEL_FEASIBILITY parameter.
+        /**
+         \param dft The \c SGTELIB_MODEL_FEASIBILITY parameter -- \b IN.
+         */
+        void set_SGTELIB_MODEL_FEASIBILITY ( const NOMAD::sgtelib_model_feasibility_type dft  );
+        
+        /// Access to the \c SGTELIB_MODEL_FEASIBILITY parameter.
+        /**
+         \return The \c SGTELIB_MODEL_FEASIBILITY parameter.
+         */
+        NOMAD::sgtelib_model_feasibility_type get_SGTELIB_MODEL_FEASIBILITY (void) const;
+        
         
         
     };
@@ -2674,4 +2918,13 @@ namespace NOMAD {
     }
 }
 
+typedef NOMAD::Parameters * Params;
+
+extern "C" Params NewParameters(void);
+typedef Params (* Params_creator)(void);
+
+extern "C" void DeleteParameters(Params p);
+typedef void (* Params_disposer)(Params);
+
+
 #endif
diff --git a/src/Pareto_Front.cpp b/src/Pareto_Front.cpp
index c6dc902..25d40fc 100644
--- a/src/Pareto_Front.cpp
+++ b/src/Pareto_Front.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Pareto_Front.cpp
  \brief  Pareto front (implementation)
diff --git a/src/Pareto_Front.hpp b/src/Pareto_Front.hpp
index 2c33263..3223bd8 100644
--- a/src/Pareto_Front.hpp
+++ b/src/Pareto_Front.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Pareto_Front.hpp
  \brief  Pareto front (headers)
diff --git a/src/Pareto_Point.cpp b/src/Pareto_Point.cpp
index 985d367..31c6a75 100644
--- a/src/Pareto_Point.cpp
+++ b/src/Pareto_Point.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Pareto_Point.cpp
  \brief  Pareto point (implementation)
diff --git a/src/Pareto_Point.hpp b/src/Pareto_Point.hpp
index 9503fbb..5f84d2b 100644
--- a/src/Pareto_Point.hpp
+++ b/src/Pareto_Point.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Pareto_Point.hpp
  \brief  Pareto point (headers)
diff --git a/src/Phase_One_Evaluator.cpp b/src/Phase_One_Evaluator.cpp
index ba014d5..1ec7278 100644
--- a/src/Phase_One_Evaluator.cpp
+++ b/src/Phase_One_Evaluator.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Phase_One_Evaluator.cpp
  \brief  NOMAD::Evaluator subclass for the phase one (implementation)
diff --git a/src/Phase_One_Evaluator.hpp b/src/Phase_One_Evaluator.hpp
index 0446b24..782168a 100644
--- a/src/Phase_One_Evaluator.hpp
+++ b/src/Phase_One_Evaluator.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Phase_One_Evaluator.hpp
  \brief  NOMAD::Evaluator subclass for the phase one (headers)
diff --git a/src/Phase_One_Search.cpp b/src/Phase_One_Search.cpp
index 19b3fd6..92ca4a2 100644
--- a/src/Phase_One_Search.cpp
+++ b/src/Phase_One_Search.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Phase_One_Search.cpp
  \brief  NOMAD::Search subclass for the phase one (implementation)
@@ -92,16 +94,17 @@ void NOMAD::Phase_One_Search::search ( NOMAD::Mads              & mads
     // save and modify parameters:
     std::string old_display_degree;
     _p.out().get_display_degree ( old_display_degree );
-    const std::list<std::string>              old_ds = _p.get_display_stats();
-    const std::string           old_stats_file_name = _p.get_stats_file_name();
-    const std::string                  old_sol_file = _p.get_solution_file();
-    const std::list<std::string>      old_stats_file = _p.get_stats_file();
-    const NOMAD::Point                 old_f_target = _p.get_f_target();
-    NOMAD::Double                           old_lct = _p.get_L_curve_target();
-    bool                                  old_sif = _p.get_stop_if_feasible();
+    const std::list<std::string>         old_ds = _p.get_display_stats();
+    NOMAD::Double                     old_VNS_trigger = _p.get_VNS_trigger();
+    const std::string             old_stats_file_name = _p.get_stats_file_name();
+    const std::string                    old_sol_file = _p.get_solution_file();
+    const std::list<std::string>       old_stats_file = _p.get_stats_file();
+    const NOMAD::Point                   old_f_target = _p.get_f_target();
+    NOMAD::Double                             old_lct = _p.get_L_curve_target();
+    bool                                      old_sif = _p.get_stop_if_feasible();
     const std::vector<NOMAD::bb_output_type> old_bbot = _p.get_bb_output_type();
     std::vector<NOMAD::bb_output_type>        p1_bbot = old_bbot;
-    
+
     NOMAD::multi_formulation_type old_multi_formulation = _p.get_multi_formulation() ;
     int                    old_multi_nb_mads_runs = _p.get_multi_nb_mads_runs();
     
@@ -133,13 +136,12 @@ void NOMAD::Phase_One_Search::search ( NOMAD::Mads              & mads
         return;
     }
     
-
     if ( cnt > 1 )
     {
-        // _p.set_LH_SEARCH(100, 0);
         _p.set_MULTI_FORMULATION( NOMAD::DIST_LINF );
         _p.set_MULTI_NB_MADS_RUNS( 1 );
     }
+
     
     _p.set_F_TARGET         ( NOMAD::Point ( cnt , 0.0 ) );
     _p.set_L_CURVE_TARGET   ( NOMAD::Double()            );
@@ -190,7 +192,7 @@ void NOMAD::Phase_One_Search::search ( NOMAD::Mads              & mads
     NOMAD::Mads::set_flag_reset_mesh     ( false );
     NOMAD::Mads::set_flag_p1_active      ( true  );
     NOMAD::Mads::set_flag_reset_barriers ( true  );
-
+       
     // run:
     stop_reason = mads.run();
     
@@ -245,6 +247,7 @@ void NOMAD::Phase_One_Search::search ( NOMAD::Mads              & mads
     
     _p.set_MULTI_NB_MADS_RUNS( old_multi_nb_mads_runs );
     _p.set_MULTI_FORMULATION( old_multi_formulation );
+
     
     _p.check ( false ,    // remove_history_file  = false
               true  ,    // remove_solution_file = true
diff --git a/src/Phase_One_Search.hpp b/src/Phase_One_Search.hpp
index f82c450..ac5e230 100644
--- a/src/Phase_One_Search.hpp
+++ b/src/Phase_One_Search.hpp
@@ -1,52 +1,54 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
- \file   Phase_One_Search.hpp
- \brief  NOMAD::Search subclass for the phase one (headers)
- \author Sebastien Le Digabel
- \date   2010-04-09
- \see    Phase_One_Search.cpp
- */
+  \file   Phase_One_Search.hpp
+  \brief  NOMAD::Search subclass for the phase one (headers)
+  \author Sebastien Le Digabel
+  \date   2010-04-09
+  \see    Phase_One_Search.cpp
+*/
 #ifndef __PHASE_ONE_SEARCH__
 #define __PHASE_ONE_SEARCH__
 
@@ -54,47 +56,47 @@
 #include "Mads.hpp"
 
 namespace NOMAD {
-    
-    /// NOMAD::Search subclass for the phase one.
-    /**
+
+  /// NOMAD::Search subclass for the phase one.
+  /**
      - The phase one occurs when no feasible starting point has been given.
      - It consists in minimizing the constraint violations and it stops
-     as soon as a feasible point is found.
-     */
-    class Phase_One_Search : public NOMAD::Search , private NOMAD::Uncopyable {
-        
-    public:
-        
-        /// Constructor.
-        /**
-         \param p Parameters -- \b IN.
-         */
-        Phase_One_Search ( NOMAD::Parameters & p )
-        : NOMAD::Search ( p , NOMAD::P1_SEARCH ) {}
-        
-        /// Destructor.
-        virtual ~Phase_One_Search ( void ) {}
-        
-        /// The phase one search.
-        /**
-         \param mads           NOMAD::Mads object invoking this search -- \b IN/OUT.
-         \param nb_search_pts  Number of generated search points       -- \b OUT.
-         \param stop           Stop flag                               -- \b IN/OUT.
-         \param stop_reason    Stop reason                             -- \b OUT.
-         \param success        Type of success                         -- \b OUT.
-         \param count_search   Count or not the search                 -- \b OUT.
-         \param new_feas_inc   New feasible incumbent                  -- \b IN/OUT.
-         \param new_infeas_inc New infeasible incumbent                -- \b IN/OUT.
-         */
-        virtual void search ( NOMAD::Mads              & mads           ,
-                             int                      & nb_search_pts  ,
-                             bool                     & stop           ,
-                             NOMAD::stop_type         & stop_reason    ,
-                             NOMAD::success_type      & success        ,
-                             bool                     & count_search   ,
-                             const NOMAD::Eval_Point *& new_feas_inc   ,
-                             const NOMAD::Eval_Point *& new_infeas_inc   );
-    };
+       as soon as a feasible point is found.
+  */
+  class Phase_One_Search : public NOMAD::Search , private NOMAD::Uncopyable {
+
+  public:
+
+    /// Constructor.
+    /**
+       \param p Parameters -- \b IN.
+    */
+    Phase_One_Search ( NOMAD::Parameters & p )
+      : NOMAD::Search ( p , NOMAD::P1_SEARCH ) {}
+  
+    /// Destructor.
+    virtual ~Phase_One_Search ( void ) {}
+
+    /// The phase one search.
+    /**
+       \param mads           NOMAD::Mads object invoking this search -- \b IN/OUT.
+       \param nb_search_pts  Number of generated search points       -- \b OUT.
+       \param stop           Stop flag                               -- \b IN/OUT.
+       \param stop_reason    Stop reason                             -- \b OUT.
+       \param success        Type of success                         -- \b OUT.
+       \param count_search   Count or not the search                 -- \b OUT.
+       \param new_feas_inc   New feasible incumbent                  -- \b IN/OUT.
+       \param new_infeas_inc New infeasible incumbent                -- \b IN/OUT.
+    */
+    virtual void search ( NOMAD::Mads              & mads           ,
+			  int                      & nb_search_pts  ,
+			  bool                     & stop           ,
+			  NOMAD::stop_type         & stop_reason    ,
+			  NOMAD::success_type      & success        ,
+			  bool                     & count_search   ,
+			  const NOMAD::Eval_Point *& new_feas_inc   ,
+			  const NOMAD::Eval_Point *& new_infeas_inc   );
+  };
 }
 
 #endif
diff --git a/src/Point.cpp b/src/Point.cpp
index fd2ac13..59f81ab 100644
--- a/src/Point.cpp
+++ b/src/Point.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Point.cpp
  \brief  Custom class for points (implementation)
@@ -599,7 +601,7 @@ const NOMAD::Double NOMAD::Point::get_coord (int i) const
     return _coords[i];
 }
 
-
+// SGTELIB
 /*-----------------------------------------------------------*/
 /*  Set the coordinate j to value v                          */
 /*-----------------------------------------------------------*/
diff --git a/src/Point.hpp b/src/Point.hpp
index 0a565ae..70c65f9 100644
--- a/src/Point.hpp
+++ b/src/Point.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Point.hpp
  \brief  Custom class for points (headers)
@@ -47,6 +49,12 @@
  \date   2010-04-05
  \see    Point.cpp
  */
+
+// CASE Visual Studio C++ compiler
+#ifdef _MSC_VER
+#pragma warning(disable:4996)
+#endif
+
 #ifndef __POINT__
 #define __POINT__
 
@@ -305,6 +313,22 @@ namespace NOMAD {
                                     NOMAD::Double(0.0) ,
                                     squared_norm_op()    );
         }
+
+        /// Squared norm of the point.
+        /**
+         \return A NOMAD::Double with the squared norm of the point.
+         */
+        const NOMAD::Double infinite_norm ( void ) const
+        {
+            Double cur = (*_coords).abs();
+            Double * coord = _coords;
+            for (; coord != _coords + _n ; ++coord)
+            {
+                cur = max(cur, (*_coords).abs() );
+            }
+            return cur;
+        }
+
         
         /// Norm of the point.
         /**
@@ -441,6 +465,7 @@ namespace NOMAD {
                               int                    lim = -1    ) const;
         
         
+        // SGTELIB
         /// Set the coordinate j with a specific value.
         /**
          \param j Coordinate to be set -- \b IN.
@@ -448,6 +473,7 @@ namespace NOMAD {
          */
         void set_coord ( int j , const NOMAD::Double v );
         
+        // SGTELIB
         /// get i^th coordinate of the point.
         /**
          \param i The index of the coordinate -- \b IN.
diff --git a/src/Priority_Eval_Point.cpp b/src/Priority_Eval_Point.cpp
index 014a0bf..2fc414c 100644
--- a/src/Priority_Eval_Point.cpp
+++ b/src/Priority_Eval_Point.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Priority_Eval_Point.cpp
  \brief  Evaluation point with a priority (implementation)
@@ -62,13 +64,16 @@ bool NOMAD::Priority_Eval_Point::dominates ( const NOMAD::Set_Element<NOMAD::Eva
 {
     if ( this == &x )
         return false;
+    
     const NOMAD::Eval_Point * x1 = get_element();
     const NOMAD::Eval_Point * x2 = x.get_element();
     
     // criterion 0: lexicographic order
-    if (_lexicographic_order)
+    // ------------
+    if ( _lexicographic_order )
         return NOMAD::Point(*x1) < NOMAD::Point(*x2);
-        
+    
+    
     // criterion 1: user criterion:
     // ------------
     const NOMAD::Double uep1 = x1->get_user_eval_priority();
diff --git a/src/Priority_Eval_Point.hpp b/src/Priority_Eval_Point.hpp
index 0e98618..2dd859c 100644
--- a/src/Priority_Eval_Point.hpp
+++ b/src/Priority_Eval_Point.hpp
@@ -1,52 +1,54 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
- \file   Priority_Eval_Point.hpp
- \brief  Evaluation point with a priority (headers)
- \author Sebastien Le Digabel
- \date   2010-04-22
- \see    Priority_Eval_Point.cpp
- */
+  \file   Priority_Eval_Point.hpp
+  \brief  Evaluation point with a priority (headers)
+  \author Sebastien Le Digabel
+  \date   2010-04-22
+  \see    Priority_Eval_Point.cpp
+*/
 #ifndef __PRIORITY_EVAL_POINT__
 #define __PRIORITY_EVAL_POINT__
 
@@ -54,181 +56,181 @@
 #include "Eval_Point.hpp"
 
 namespace NOMAD {
-    
-    /// Evaluation point with a priority.
-    class Priority_Eval_Point : public NOMAD::Set_Element<NOMAD::Eval_Point> {
-        
-    private:
-        
-        NOMAD::Double _h_min;              ///< \c h_min value for comparison operator.
-        NOMAD::Double _f_sgte;             ///< Objective surrogate value.
-        NOMAD::Double _h_sgte;             ///< Feasibility surrogate value.
-        NOMAD::Double _f_model;            ///< Objective model value.
-        NOMAD::Double _h_model;            ///< Feasibility model value.
-        NOMAD::Double _angle_success_dir;  ///< Angle with last successful direction.
-        NOMAD::Double _angle_simplex_grad; ///< Angle with simplex gradient.
-        static bool   _lexicographic_order; ///< Use lexicographic order for comparison
-        
-        /// Affectation operator.
-        /**
-         \param x The right-hand side object -- \b IN.
-         */
-        Priority_Eval_Point & operator = ( const Priority_Eval_Point & x );
-        
-        /// Compare the \c h values of two points.
-        /**
-         The two points to compare are \c x1 and \c x2.
-         \param hx1 \c h(x1) -- \b IN.
-         \param hx2 \c h(x2) -- \b IN.
-         \return \c h(x1) \c < \c h(x2)
-         with the following format:
-         -  1: \c x1 best than \c x2.
-         - -1: \c x2 best than \c x1.
-         -  0: undetermined.
-         */
-        int compare_h_values ( const NOMAD::Double & hx1 ,
-                              const NOMAD::Double & hx2   ) const;
-        
-        /// Compare the \c h and \c f values of two points.
-        /**
-         The two points to compare are \c x1 and \c x2.
-         \param hx1 \c h(x1) -- \b IN.
-         \param fx1 \c f(x1) -- \b IN.
-         \param hx2 \c h(x2) -- \b IN.
-         \param fx2 \c f(x2) -- \b IN.
-         \return \c (h(x1),f(x1)) \c < \c (h(x2),f(x2))
-         with the following format:
-         -  1: \c x1 best than \c x2.
-         - -1: \c x2 best than \c x1.
-         -  0: undetermined.
-         */
-        int compare_hf_values ( const NOMAD::Double & hx1 ,
-                               const NOMAD::Double & fx1 ,
-                               const NOMAD::Double & hx2 ,
-                               const NOMAD::Double & fx2   ) const;
-    public:
-        
-        /// Constructor.
-        /**
-         \param x A pointer to the evaluation point -- \b IN.
-         \param h_min \c h_min value                -- \b IN.
-         */
-        explicit Priority_Eval_Point ( const NOMAD::Eval_Point * x     ,
-                                      const NOMAD::Double     & h_min   )
-        : NOMAD::Set_Element<NOMAD::Eval_Point> ( x     ) ,
-        _h_min                                ( h_min )  {}
-        
-        /// Copy constructor.
-        /**
-         \param pep The copied object -- \b IN.
-         */
-        explicit Priority_Eval_Point ( const Priority_Eval_Point & pep )
-        : NOMAD::Set_Element<NOMAD::Eval_Point> ( pep.get_element()       ) ,
-        _h_min                                ( pep._h_min              ) ,
-        _f_sgte                               ( pep._f_sgte             ) ,
-        _h_sgte                               ( pep._h_sgte             ) ,
-        _f_model                              ( pep._f_model            ) ,
-        _h_model                              ( pep._h_model            ) ,
-        _angle_success_dir                    ( pep._angle_success_dir  ) ,
-        _angle_simplex_grad                   ( pep._angle_simplex_grad )   {}
-        
-        /// Destructor.
-        virtual ~Priority_Eval_Point ( void ) {}
-        
-        /// Access to specific elements of comparison.
-        /**
-         - This method is defined virtual in NOMAD::Set_Element so that
+	
+	/// Evaluation point with a priority.
+	class Priority_Eval_Point : public NOMAD::Set_Element<NOMAD::Eval_Point> {
+		
+	private:
+		
+		NOMAD::Double _h_min;              ///< \c h_min value for comparison operator.
+		NOMAD::Double _f_sgte;             ///< Objective surrogate value.
+		NOMAD::Double _h_sgte;             ///< Feasibility surrogate value.
+		NOMAD::Double _f_model;            ///< Objective model value.
+		NOMAD::Double _h_model;            ///< Feasibility model value.
+		NOMAD::Double _angle_success_dir;  ///< Angle with last successful direction.
+		NOMAD::Double _angle_simplex_grad; ///< Angle with simplex gradient.
+		static bool	  _lexicographic_order; ///< Use lexicographic order for comparison 
+		
+		/// Affectation operator.
+		/**
+		 \param x The right-hand side object -- \b IN.
+		 */
+		Priority_Eval_Point & operator = ( const Priority_Eval_Point & x );
+		
+		/// Compare the \c h values of two points.
+		/**
+		 The two points to compare are \c x1 and \c x2.
+		 \param hx1 \c h(x1) -- \b IN.
+		 \param hx2 \c h(x2) -- \b IN.
+		 \return \c h(x1) \c < \c h(x2)
+		 with the following format:
+		 -  1: \c x1 best than \c x2.
+		 - -1: \c x2 best than \c x1.
+		 -  0: undetermined.
+		 */
+		int compare_h_values ( const NOMAD::Double & hx1 ,
+							  const NOMAD::Double & hx2   ) const;
+		
+		/// Compare the \c h and \c f values of two points.
+		/**
+		 The two points to compare are \c x1 and \c x2.
+		 \param hx1 \c h(x1) -- \b IN.
+		 \param fx1 \c f(x1) -- \b IN.
+		 \param hx2 \c h(x2) -- \b IN.
+		 \param fx2 \c f(x2) -- \b IN.
+		 \return \c (h(x1),f(x1)) \c < \c (h(x2),f(x2))
+		 with the following format:
+		 -  1: \c x1 best than \c x2.
+		 - -1: \c x2 best than \c x1.
+		 -  0: undetermined.
+		 */
+		int compare_hf_values ( const NOMAD::Double & hx1 ,
+							   const NOMAD::Double & fx1 ,
+							   const NOMAD::Double & hx2 ,
+							   const NOMAD::Double & fx2   ) const;
+	public:
+		
+		/// Constructor.
+		/**
+		 \param x A pointer to the evaluation point -- \b IN.
+		 \param h_min \c h_min value                -- \b IN.
+		 */
+		explicit Priority_Eval_Point ( const NOMAD::Eval_Point * x     ,
+									  const NOMAD::Double     & h_min   )
+		: NOMAD::Set_Element<NOMAD::Eval_Point> ( x     ) ,
+		_h_min                                ( h_min )  {}
+		
+		/// Copy constructor.
+		/**
+		 \param pep The copied object -- \b IN.
+		 */
+		explicit Priority_Eval_Point ( const Priority_Eval_Point & pep )
+		: NOMAD::Set_Element<NOMAD::Eval_Point> ( pep.get_element()       ) ,
+		_h_min                                ( pep._h_min              ) ,
+		_f_sgte                               ( pep._f_sgte             ) ,
+		_h_sgte                               ( pep._h_sgte             ) ,
+		_f_model                              ( pep._f_model            ) ,
+		_h_model                              ( pep._h_model            ) ,
+		_angle_success_dir                    ( pep._angle_success_dir  ) ,
+		_angle_simplex_grad                   ( pep._angle_simplex_grad )   {}
+		
+		/// Destructor.
+		virtual ~Priority_Eval_Point ( void ) {}
+		
+		/// Access to specific elements of comparison.
+		/**
+		 - This method is defined virtual in NOMAD::Set_Element so that
          \c operator \c < \c (Set_Element x) can invoke
          it on \c x (which is in fact a \c Priority_Eval_Point).
-         - This avoids an expensive downcast in \c operator \c < .
-         \param f_sgte              Objective surrogate value            -- \b OUT.
-         \param h_sgte              Feasibility surrogate value          -- \b OUT.
-         \param f_model             Objective model value                -- \b OUT.
-         \param h_model             Feasibility model value              -- \b OUT.
-         \param angle_success_dir   Angle with last successful direction -- \b OUT.
-         \param angle_simplex_grad  Angle with simplex gradient          -- \b OUT.
-         */
-        virtual void get_priority_criteria ( NOMAD::Double & f_sgte             ,
-                                            NOMAD::Double & h_sgte             ,
-                                            NOMAD::Double & f_model            ,
-                                            NOMAD::Double & h_model            ,
-                                            NOMAD::Double & angle_success_dir  ,
-                                            NOMAD::Double & angle_simplex_grad   ) const
-        {
-            f_sgte             = _f_sgte;
-            h_sgte             = _h_sgte;
-            f_model            = _f_model;
-            h_model            = _h_model;
-            angle_success_dir  = _angle_success_dir;
-            angle_simplex_grad = _angle_simplex_grad;
-        }
-        
-        /// Comparison operator.
-        /**
-         This virtual function directly call \c dominates().
-         \param x The right-hand side object -- \b IN.
-         \return A boolean equal to \c true if \c *this \c < \c x.
-         */
-        virtual bool operator < ( const NOMAD::Set_Element<NOMAD::Eval_Point> & x ) const
-        { return dominates ( x ); }
-        
-        /// Comparison operator.
-        /**
-         \param x The right-hand side object -- \b IN.
-         \return A boolean equal to \c true if \c *this \c < \c x.
-         */
-        bool dominates ( const NOMAD::Set_Element<NOMAD::Eval_Point> & x ) const;
-        
-        /// Access to the evaluation point.
-        /**
-         \return A pointer to the evaluation point.
-         */
-        const NOMAD::Eval_Point * get_point ( void ) const { return get_element(); }
-        
-        /// Set the angle with last successful direction.
-        /**
-         \param a The angle with last successful direction -- \b IN.
-         */
-        void set_angle_success_dir ( const NOMAD::Double & a ) { _angle_success_dir = a; }
-        
-        /// Set the angle with simplex gradient .
-        /**
-         \param a The angle with simplex gradient -- \b IN.
-         */
-        void set_angle_simplex_grad ( const NOMAD::Double & a ) { _angle_simplex_grad = a; }
-        
-        
-        /// Set the objective surrogate value.
-        /**
-         \param f The objective surrogate value -- \b IN.
-         */
-        void set_f_sgte ( const NOMAD::Double & f ) { _f_sgte = f; }
-        
-        /// Set the feasibility surrogate value.
-        /**
-         \param h The feasibility surrogate value -- \b IN.
-         */
-        void set_h_sgte ( const NOMAD::Double & h ) { _h_sgte = h; }
-        
-        /// Set the objective model value.
-        /**
-         \param f The objective model value -- \b IN.
-         */
-        void set_f_model ( const NOMAD::Double & f ) { _f_model = f; }
-        
-        /// Set the feasibility model value.
-        /**
-         \param h The feasibility model value -- \b IN.
-         */
-        void set_h_model ( const NOMAD::Double & h ) { _h_model = h; }
-        
-        /// Set the lexicographic order for sorting.
-        /**
-         */
-        static void set_lexicographic_order ( bool order ) { _lexicographic_order = order; }
-        
-        
-    };
+		 - This avoids an expensive downcast in \c operator \c < .
+		 \param f_sgte              Objective surrogate value            -- \b OUT.
+		 \param h_sgte              Feasibility surrogate value          -- \b OUT.
+		 \param f_model             Objective model value                -- \b OUT.
+		 \param h_model             Feasibility model value              -- \b OUT.
+		 \param angle_success_dir   Angle with last successful direction -- \b OUT.
+		 \param angle_simplex_grad  Angle with simplex gradient          -- \b OUT.
+		 */
+		virtual void get_priority_criteria ( NOMAD::Double & f_sgte             ,
+											NOMAD::Double & h_sgte             ,
+											NOMAD::Double & f_model            ,
+											NOMAD::Double & h_model            ,
+											NOMAD::Double & angle_success_dir  ,
+											NOMAD::Double & angle_simplex_grad   ) const
+		{
+			f_sgte             = _f_sgte;
+			h_sgte             = _h_sgte;
+			f_model            = _f_model;
+			h_model            = _h_model;
+			angle_success_dir  = _angle_success_dir;
+			angle_simplex_grad = _angle_simplex_grad;
+		}
+		
+		/// Comparison operator.
+		/**
+		 This virtual function directly call \c dominates().
+		 \param x The right-hand side object -- \b IN.
+		 \return A boolean equal to \c true if \c *this \c < \c x.
+		 */
+		virtual bool operator < ( const NOMAD::Set_Element<NOMAD::Eval_Point> & x ) const
+		{ return dominates ( x ); }
+		
+		/// Comparison operator.
+		/**
+		 \param x The right-hand side object -- \b IN.
+		 \return A boolean equal to \c true if \c *this \c < \c x.
+		 */
+		bool dominates ( const NOMAD::Set_Element<NOMAD::Eval_Point> & x ) const;
+		
+		/// Access to the evaluation point.
+		/**
+		 \return A pointer to the evaluation point.
+		 */
+		const NOMAD::Eval_Point * get_point ( void ) const { return get_element(); }
+		
+		/// Set the angle with last successful direction.
+		/**
+		 \param a The angle with last successful direction -- \b IN.
+		 */
+		void set_angle_success_dir ( const NOMAD::Double & a ) { _angle_success_dir = a; }
+		
+		/// Set the angle with simplex gradient .
+		/**
+		 \param a The angle with simplex gradient -- \b IN.
+		 */
+		void set_angle_simplex_grad ( const NOMAD::Double & a ) { _angle_simplex_grad = a; }
+		
+		
+		/// Set the objective surrogate value.
+		/**
+		 \param f The objective surrogate value -- \b IN.
+		 */
+		void set_f_sgte ( const NOMAD::Double & f ) { _f_sgte = f; }
+		
+		/// Set the feasibility surrogate value.
+		/**
+		 \param h The feasibility surrogate value -- \b IN.
+		 */
+		void set_h_sgte ( const NOMAD::Double & h ) { _h_sgte = h; }
+		
+		/// Set the objective model value.
+		/**
+		 \param f The objective model value -- \b IN.
+		 */
+		void set_f_model ( const NOMAD::Double & f ) { _f_model = f; }
+		
+		/// Set the feasibility model value.
+		/**
+		 \param h The feasibility model value -- \b IN.
+		 */
+		void set_h_model ( const NOMAD::Double & h ) { _h_model = h; }
+		
+		/// Set the lexicographic order for sorting.
+		/**
+		 */
+		static void set_lexicographic_order ( bool order ) { _lexicographic_order = order; }
+		
+		
+	};
 }
 
 #endif
diff --git a/src/Quad_Model.cpp b/src/Quad_Model.cpp
index 1650b8e..e325cf6 100644
--- a/src/Quad_Model.cpp
+++ b/src/Quad_Model.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Quad_Model.cpp
  \brief  Quadratic regression or MFN interpolation model (implementation)
@@ -1260,7 +1262,7 @@ void NOMAD::Quad_Model::solve_regression_system ( double      ** M         ,
                                                  double      ** V         ,
                                                  int            bbo_index ,
                                                  NOMAD::Point & alpha     ,
-                                                 double         eps       ) const
+                                                 double         eps          ) const
 {
     // resize the alpha vector:
     if ( alpha.size() != _n_alpha )
@@ -1496,12 +1498,12 @@ bool NOMAD::Quad_Model::construct_MFN_model ( double eps        ,
 /*  resolution of system F.[mu alpha_L]'=[f(Y) 0]'  */
 /*  for MFN interpolation (private)                 */
 /*--------------------------------------------------*/
-void NOMAD::Quad_Model::solve_MFN_system ( double      ** F        ,
+void NOMAD::Quad_Model::solve_MFN_system ( double      ** F         ,
                                           double       * W         ,
                                           double      ** V         ,
                                           int            bbo_index ,
                                           NOMAD::Point & alpha     ,
-                                          double         eps        ) const
+                                          double         eps          ) const
 {
     // resize the alpha vector:
     if ( alpha.size() != _n_alpha )
diff --git a/src/Quad_Model.hpp b/src/Quad_Model.hpp
index da0edf9..0f9235a 100644
--- a/src/Quad_Model.hpp
+++ b/src/Quad_Model.hpp
@@ -1,52 +1,54 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
- \file   Quad_Model.hpp
- \brief  Quadratic regression or MFN interpolation model (headers)
- \author Sebastien Le Digabel
- \date   2010-08-31
- \see    Quad_Model.cpp
- */
+  \file   Quad_Model.hpp
+  \brief  Quadratic regression or MFN interpolation model (headers)
+  \author Sebastien Le Digabel
+  \date   2010-08-31
+  \see    Quad_Model.cpp
+*/
 #ifndef __QUAD_MODEL__
 #define __QUAD_MODEL__
 
@@ -55,405 +57,405 @@
 #include "Evaluator.hpp"
 
 namespace NOMAD {
-    
-    /// Class for quadratic regression or MFN interpolation model.
-    class Quad_Model : private NOMAD::Uncopyable {
-        
-        /*-------------------------------------------------------------------------*/
-    private:
-        
-        const NOMAD::Display                     & _out;  ///< Display.
-        
-        std::vector<NOMAD::Eval_Point *>           _Y;    ///< Interpolation points.
-        
-        const std::vector<NOMAD::bb_output_type> & _bbot; ///< Blackbox output types.
-        
-        NOMAD::interpolation_type _interpolation_type;    ///< Interpolation type.
-        
-        int                       _n;                     ///< Dimension.
-        int                       _nfree;                 ///< Number of free variables.
-        int                       _n_alpha;               ///< Number of model coefficients.
-        bool                    * _fixed_vars;            ///< Fixed variables.
-        int                     * _index;                 ///< Var. indexes with fixed var.
-        NOMAD::Point           ** _alpha;                 ///< Model coefficients.
-        NOMAD::Point              _center;                ///< Model center.
-        NOMAD::Point              _ref;                   ///< Reference for scaling.
-        NOMAD::Point              _scaling;               ///< Scaling.
-        const NOMAD::Cache      & _cache;                 ///< Cache.
-        const NOMAD::Signature  & _signature;             ///< Signature.
-        bool                      _error_flag;            ///< Error flag.
-        std::list<NOMAD::Direction>  _dirP;               ///< Directions used for scaling (may be empty)
-        NOMAD::Point _delta_m;                           ///< Mesh size used for scaling
-        NOMAD::Double _epsilon;                           ///< Offset for direction scaling
-        
-        
-        NOMAD::Double             _cond;                  ///< Condition number.
-        
-        /// Initialize alpha (model parameters).
-        void init_alpha ( void );
-        
-        /// Check if an unscaled point is in \c B(center,radius) for a given radius.
-        /**
-         \param x      The unscaled point -- \b IN.
-         \param radius The radius         -- \b IN.
-         \return \c true is \c x is in \c B(center,radius).
-         */
-        bool is_within_radius ( const NOMAD::Point & x      ,
-                               const NOMAD::Point & radius   ) const;
-        
-        /// Check the interpolation set \c Y.
-        /**
-         \return \c true if the interpolation set is valid.
-         */
-        bool check_Y ( void ) const;
-        
-        /// Check outputs before the integration into \c Y.
-        /**
-         \param bbo The outputs       -- \b IN.
-         \param m   Number of outputs -- \b IN.
-         return \c true if the \c m outputs are valid.
-         */
-        bool check_outputs ( const NOMAD::Point & bbo , int m ) const;
-        
-        /// Reduce the number of interpolation points.
-        /**
-         The points are sorted accorded to their distance to the model center.
-         \param center      Center of the model                -- \b IN.
-         \param max_Y_size  Max number of interpolation points -- \b IN.
-         */
-        void reduce_Y  ( const NOMAD::Point & center , int max_Y_size );
-        
-        /// Compute condition number.
-        /**
-         \param W   Matrix W given as a vector -- \b IN.
-         \param n   Size of \c W               -- \b IN
-         \param eps Epsilon                    -- \b IN.
-         */
-        void compute_cond ( const double * W , int n , double eps );
-        
-        /// Compute the cumulated error of a model for one output.
-        /**
-         The errors are computed on the interpolation set \c Y.
-         \param bbo_index   Blackbox output index  -- \b IN.
-         \param error       Cumulated error        -- \b OUT.
-         \param min_rel_err Min relative error     -- \b OUT.
-         \param max_rel_err Max relative error     -- \b OUT.
-         \param avg_rel_err Average relative error -- \b OUT.
-         */
-        void compute_model_error ( int             bbo_index   ,
-                                  NOMAD::Double & error       ,
-                                  NOMAD::Double & min_rel_err ,
-                                  NOMAD::Double & max_rel_err ,
-                                  NOMAD::Double & avg_rel_err   ) const;
-        
-        /// Compute the maximal relative error of a model.
-        /**
-         The error is computed for the interpolation set \c Y.
-         \return The maximal relative error.
-         */
-        NOMAD::Double compute_max_rel_err ( void ) const;
-        
-        /// Compute the element \c (i,j) of the interpolation matrix \c M(phi,Y).
-        /**
-         \param i Row index    -- \b IN.
-         \param j Column index -- \b IN.
-         */
-        double compute_M ( int i , int j ) const;
-        
-        /// Construct Minimum Frobenius Norm (MFN) model.
-        /**
-         - This occurs when \c p+1 \c < \c (n+1)(n+2)/2.
-         \param eps        Epsilon                               -- \b IN.
-         \param max_mpn    Maximum \c m+n value for SVD matrices -- \b IN.
-         \param max_Y_size Maximum number of elements in \c Y    -- \b IN.
-         \return \c true if the construction succeeded
-         */
-        bool construct_MFN_model ( double eps , int max_mpn , int max_Y_size );
-        
-        /// Construct regression model.
-        /**
-         - This occurs when \c p+1 \c >= \c (n+1)(n+2)/2.
-         \param eps        Epsilon                               -- \b IN.
-         \param max_mpn    Maximum \c m+n value for SVD matrices -- \b IN.
-         \param max_Y_size Maximum number of elements in \c Y    -- \b IN.
-         \return \c true if the construction succeeded
-         */
-        bool construct_regression_model ( double eps        ,
-                                         int    max_mpn    ,
-                                         int    max_Y_size   );
-        
-        /// Construct well-poised (WP) model.
-        /**
-         \param max_Y_size Maximum number of elements in \c Y -- \b IN.
-         \return \c true if the construction succeeded
-         */
-        bool construct_WP_model ( int max_Y_size );
-        
-        /// Find interpolation point with max Lagrange polynomial value.
-        /**
-         \param  li      Lagrange polynomial             -- \b IN.
-         \param  Y       Interpolation points candidates -- \b IN.
-         \param  i1      Initial index in \c Y           -- \b IN.
-         \param  i2      Final index in \c Y             -- \b IN.
-         \param  max_lix Absolute value of the max value -- \b OUT.
-         \return Index of interpolation point.
-         */
-        int find_max_lix ( const NOMAD::Point                     & li      ,
-                          const std::vector<NOMAD::Eval_Point *> & Y       ,
-                          int                                      i1      ,
-                          int                                      i2      ,
-                          NOMAD::Double                          & max_lix   ) const;
-        
-        /// Resolution of system \c F.[mu alpha_L]'=[f(Y) 0]' for MFN interpolation.
-        /**
-         \param U         Matrix \c F=U from the SVD decomposition \c U.W.V' -- \b IN.
-         \param W         Matrix \c W from the SVD decomposition \c U.W.V'   -- \b IN.
-         \param V         Matrix \c V from the SVD decomposition \c U.W.V'   -- \b IN.
-         \param bbo_index Blackbox output index                              -- \b IN.
-         \param alpha     Model parameters                                   -- \b IN.
-         \param eps       Epsilon                                            -- \b IN.
-         */
-        void solve_MFN_system ( double      ** U         ,
-                               double       * W         ,
-                               double      ** V         ,
-                               int            bbo_index ,
-                               NOMAD::Point & alpha     ,
-                               double         eps          ) const;
-        
-        /// Resolution of system \c F.alpha=M'.f(Y) for the regression.
-        /**
-         \param M         Matrix \c M                                        -- \b IN.
-         \param U         Matrix \c F=U from the SVD decomposition \c U.W.V' -- \b IN.
-         \param W         Matrix \c W from the SVD decomposition \c U.W.V'   -- \b IN.
-         \param V         Matrix \c V from the SVD decomposition \c U.W.V'   -- \b IN.
-         \param bbo_index Blackbox output index                              -- \b IN.
-         \param alpha     Model parameters                                   -- \b IN.
-         \param eps       Epsilon                                            -- \b IN.
-         */
-        void solve_regression_system ( double      ** M         ,
-                                      double      ** U         ,
-                                      double       * W         ,
-                                      double      ** V         ,
-                                      int            bbo_index ,
-                                      NOMAD::Point & alpha     ,
-                                      double         eps          ) const;
-        
-        /// Display Lagrange polynomials.
-        /**
-         \param l Lagrange polynomials -- \b IN.
-         \param Y Interpolation set    -- \b IN.
-         */
-        void display_lagrange_polynomials
-        ( const std::vector<NOMAD::Point      *> & l ,
-         const std::vector<NOMAD::Eval_Point *> & Y   ) const;
-        
+
+  /// Class for quadratic regression or MFN interpolation model.
+  class Quad_Model : private NOMAD::Uncopyable {
+
+    /*-------------------------------------------------------------------------*/
+  private:
+
+    const NOMAD::Display                     & _out;  ///< Display.
+
+    std::vector<NOMAD::Eval_Point *>           _Y;    ///< Interpolation points.
+
+    const std::vector<NOMAD::bb_output_type> & _bbot; ///< Blackbox output types.
+
+    NOMAD::interpolation_type _interpolation_type;    ///< Interpolation type.
+
+    int                       _n;                     ///< Dimension.
+    int                       _nfree;                 ///< Number of free variables.
+    int                       _n_alpha;               ///< Number of model coefficients.
+    bool                    * _fixed_vars;            ///< Fixed variables.
+    int                     * _index;                 ///< Var. indexes with fixed var.
+    NOMAD::Point           ** _alpha;                 ///< Model coefficients.
+    NOMAD::Point              _center;                ///< Model center.
+    NOMAD::Point              _ref;                   ///< Reference for scaling.
+    NOMAD::Point              _scaling;               ///< Scaling.
+    const NOMAD::Cache      & _cache;                 ///< Cache.
+    const NOMAD::Signature  & _signature;             ///< Signature.
+    bool                      _error_flag;            ///< Error flag.
+	std::list<NOMAD::Direction>  _dirP;               ///< Directions used for scaling (may be empty)
+	NOMAD::Point _delta_m;                           ///< Mesh size used for scaling 
+	NOMAD::Double _epsilon;                           ///< Offset for direction scaling 
+	  
+	  
+    NOMAD::Double             _cond;                  ///< Condition number.
+
+    /// Initialize alpha (model parameters).
+    void init_alpha ( void );
+
+    /// Check if an unscaled point is in \c B(center,radius) for a given radius.
+    /**
+       \param x      The unscaled point -- \b IN.
+       \param radius The radius         -- \b IN.
+       \return \c true is \c x is in \c B(center,radius).
+    */
+    bool is_within_radius ( const NOMAD::Point & x      ,
+			    const NOMAD::Point & radius   ) const;
+
+    /// Check the interpolation set \c Y.
+    /**
+       \return \c true if the interpolation set is valid.
+    */
+    bool check_Y ( void ) const;
+
+    /// Check outputs before the integration into \c Y.
+    /**
+       \param bbo The outputs       -- \b IN.
+       \param m   Number of outputs -- \b IN.
+       return \c true if the \c m outputs are valid.
+    */
+    bool check_outputs ( const NOMAD::Point & bbo , int m ) const;
+
+    /// Reduce the number of interpolation points.
+    /**
+       The points are sorted accorded to their distance to the model center.
+       \param center      Center of the model                -- \b IN.
+       \param max_Y_size  Max number of interpolation points -- \b IN.
+    */
+    void reduce_Y  ( const NOMAD::Point & center , int max_Y_size );
+
+    /// Compute condition number.
+    /**
+       \param W   Matrix W given as a vector -- \b IN.
+       \param n   Size of \c W               -- \b IN
+       \param eps Epsilon                    -- \b IN.
+    */
+    void compute_cond ( const double * W , int n , double eps );
+
+    /// Compute the cumulated error of a model for one output.
+    /**
+       The errors are computed on the interpolation set \c Y.
+       \param bbo_index   Blackbox output index  -- \b IN.
+       \param error       Cumulated error        -- \b OUT. 
+       \param min_rel_err Min relative error     -- \b OUT.
+       \param max_rel_err Max relative error     -- \b OUT.
+       \param avg_rel_err Average relative error -- \b OUT.
+    */
+    void compute_model_error ( int             bbo_index   ,
+			       NOMAD::Double & error       ,
+			       NOMAD::Double & min_rel_err ,
+			       NOMAD::Double & max_rel_err ,
+			       NOMAD::Double & avg_rel_err   ) const;
+
+    /// Compute the maximal relative error of a model.
+    /**
+       The error is computed for the interpolation set \c Y.
+       \return The maximal relative error.
+    */
+    NOMAD::Double compute_max_rel_err ( void ) const;
+
+    /// Compute the element \c (i,j) of the interpolation matrix \c M(phi,Y).
+    /**
+       \param i Row index    -- \b IN.
+       \param j Column index -- \b IN.
+    */
+    double compute_M ( int i , int j ) const;
+
+    /// Construct Minimum Frobenius Norm (MFN) model.
+    /**
+       - This occurs when \c p+1 \c < \c (n+1)(n+2)/2.
+       \param eps        Epsilon                               -- \b IN.
+       \param max_mpn    Maximum \c m+n value for SVD matrices -- \b IN.
+       \param max_Y_size Maximum number of elements in \c Y    -- \b IN.
+       \return \c true if the construction succeeded
+    */
+    bool construct_MFN_model ( double eps , int max_mpn , int max_Y_size );
+
+    /// Construct regression model.
+    /**
+       - This occurs when \c p+1 \c >= \c (n+1)(n+2)/2.
+       \param eps        Epsilon                               -- \b IN.
+       \param max_mpn    Maximum \c m+n value for SVD matrices -- \b IN.
+       \param max_Y_size Maximum number of elements in \c Y    -- \b IN.
+       \return \c true if the construction succeeded
+    */
+    bool construct_regression_model ( double eps        ,
+				      int    max_mpn    ,
+				      int    max_Y_size   );
+
+    /// Construct well-poised (WP) model.
+    /**
+       \param max_Y_size Maximum number of elements in \c Y -- \b IN.
+       \return \c true if the construction succeeded
+    */
+    bool construct_WP_model ( int max_Y_size );
+
+    /// Find interpolation point with max Lagrange polynomial value.
+    /**
+       \param  li      Lagrange polynomial             -- \b IN.
+       \param  Y       Interpolation points candidates -- \b IN.
+       \param  i1      Initial index in \c Y           -- \b IN.
+       \param  i2      Final index in \c Y             -- \b IN.
+       \param  max_lix Absolute value of the max value -- \b OUT.
+       \return Index of interpolation point.
+    */
+    int find_max_lix ( const NOMAD::Point                     & li      ,
+		       const std::vector<NOMAD::Eval_Point *> & Y       ,
+		       int                                      i1      ,
+		       int                                      i2      ,
+		       NOMAD::Double                          & max_lix   ) const;
+
+    /// Resolution of system \c F.[mu alpha_L]'=[f(Y) 0]' for MFN interpolation.
+    /**
+       \param U         Matrix \c F=U from the SVD decomposition \c U.W.V' -- \b IN.
+       \param W         Matrix \c W from the SVD decomposition \c U.W.V'   -- \b IN.
+       \param V         Matrix \c V from the SVD decomposition \c U.W.V'   -- \b IN.
+       \param bbo_index Blackbox output index                              -- \b IN.
+       \param alpha     Model parameters                                   -- \b IN.
+       \param eps       Epsilon                                            -- \b IN.
+    */
+    void solve_MFN_system ( double      ** U         ,
+			    double       * W         , 
+			    double      ** V         ,
+			    int            bbo_index ,
+			    NOMAD::Point & alpha     ,
+			    double         eps	      ) const;
+
+    /// Resolution of system \c F.alpha=M'.f(Y) for the regression.
+    /**
+       \param M         Matrix \c M                                        -- \b IN.
+       \param U         Matrix \c F=U from the SVD decomposition \c U.W.V' -- \b IN.
+       \param W         Matrix \c W from the SVD decomposition \c U.W.V'   -- \b IN.
+       \param V         Matrix \c V from the SVD decomposition \c U.W.V'   -- \b IN.
+       \param bbo_index Blackbox output index                              -- \b IN.
+       \param alpha     Model parameters                                   -- \b IN.
+       \param eps       Epsilon                                            -- \b IN.
+    */
+    void solve_regression_system ( double      ** M         ,
+				   double      ** U         ,
+				   double       * W         , 
+				   double      ** V         ,
+				   int            bbo_index ,
+				   NOMAD::Point & alpha     ,
+				   double         eps	      ) const;
+
+    /// Display Lagrange polynomials.
+    /**
+       \param l Lagrange polynomials -- \b IN.
+       \param Y Interpolation set    -- \b IN.
+    */
+    void display_lagrange_polynomials 
+    ( const std::vector<NOMAD::Point      *> & l ,
+      const std::vector<NOMAD::Eval_Point *> & Y   ) const;
+
 #ifdef MODEL_STATS
-        mutable NOMAD::Double _Yw; ///< Width of the interpolation set \c Y.
-        
-    public:
-        
-        /// Access to the width of the interpolation set \c X (or \c Y).
-        /**
-         \return The width of the interpolation set.
-         */
-        const NOMAD::Double & get_Yw ( void ) const { return _Yw; }
+    mutable NOMAD::Double _Yw; ///< Width of the interpolation set \c Y.
+
+  public:
+
+    /// Access to the width of the interpolation set \c X (or \c Y).
+    /**
+       \return The width of the interpolation set.
+    */
+    const NOMAD::Double & get_Yw ( void ) const { return _Yw; }
 #endif
-        
-        /*-------------------------------------------------------------------------*/
-    public:
-        
-        /// Constructor.
-        /**
-         \param out           The NOMAD::Display object   -- \b IN.
-         \param bbot          Output types                -- \b IN.
-         \param cache         Cache                       -- \b IN.
-         \param signature     Signature                   -- \b IN.
-         */
-        Quad_Model ( const NOMAD::Display                     & out       ,
-                    const std::vector<NOMAD::bb_output_type> & bbot      ,
-                    const NOMAD::Cache                       & cache     ,
-                    const NOMAD::Signature                   & signature   );
-        
-        /// Destructor.
-        virtual ~Quad_Model ( void );
-        
-        /// Evaluate a model at a given point.
-        /**
-         \param x     The point        -- \b IN.
-         \param alpha Model parameters -- \b IN.
-         \return Model value.
-         */
-        NOMAD::Double eval ( const NOMAD::Point & x     ,
-                            const NOMAD::Point & alpha   ) const;
-        
-        /// Compute model \c h and \c f values at a point.
-        /**
-         \param x      The point                 -- \b IN.
-         \param h_min  Value of \c h_min         -- \b IN..
-         \param h_norm Norm used to compute \c h -- \b IN..
-         \param h      Value of \c h             -- \b OUT.
-         \param f      Value of \c f             -- \b OUT.
-         */
-        void eval_hf ( const NOMAD::Point  & x      ,
-                      const NOMAD::Double & h_min  ,
-                      NOMAD::hnorm_type     h_norm ,
-                      NOMAD::Double       & h      ,
-                      NOMAD::Double       & f        ) const;
-        
-        
-        /// Access to the interpolation type.
-        /**
-         \return The interpolation type.
-         */
-        const NOMAD::interpolation_type & get_interpolation_type ( void ) const
-        {
-            return _interpolation_type;
-        }
-        
-        /// Access to the center of the model.
-        /**
-         \return The center.
-         */
-        const NOMAD::Point & get_center ( void ) const { return _center; }
-        
-        /// Access to the dimension.
-        /**
-         \return The dimension \c n.
-         */
-        int get_n ( void ) const { return _n; }
-        
-        /// Access to the number of free variables.
-        /**
-         \return The number of free variables \c n.
-         */
-        int get_nfree ( void ) const { return _nfree; }
-        
-        /// Access to the model parameters.
-        /**
-         \return The model parameters \c alpha.
-         */
-        NOMAD::Point ** get_alpha ( void ) const { return _alpha; }
-        
-        /// Check if the model is ready for evaluations.
-        /**
-         \return A boolean equal to \c true if the model is ready.
-         */
-        bool check ( void ) const;
-        
-        /// Access to the fixed variables.
-        /**
-         \param i Variable index -- \b IN.
-         \return \c true if variable \c i is fixed.
-         */
-        bool variable_is_fixed ( int i ) const { return _fixed_vars[i]; }
-        
-        /// Access to the number of interpolation points.
-        /**
-         \return The number of interpolation points \c nY=p+1.
-         */
-        int get_nY ( void ) const { return static_cast<int> ( _Y.size() ); }
-        
-        /// Access to the condition number.
-        /**
-         \return The condition number.
-         */
-        const NOMAD::Double & get_cond ( void ) const { return _cond; }
-        
-        /// Access to the error flag.
-        /**
-         \return The error flag.
-         */
-        bool get_error_flag ( void ) const { return _error_flag; }
-        
-        /// Construct the interpolation set \c Y.
-        /**
-         \param center               Model center                       -- \b IN.
-         \param interpolation_radius Interpolation radius               -- \b IN.
-         \param max_Y_size           Maximum number of elements in \c Y -- \b IN.
-         */
-        void construct_Y ( const NOMAD::Point & center               ,
-                          const NOMAD::Point & interpolation_radius ,
-                          int                  max_Y_size             );
-        
-        /// Construct \c m models (one by output).
-        /**
-         \param use_WP     Use or not well-poisedness            -- \b IN.
-         \param eps        Epsilon                               -- \b IN.
-         \param max_mpn    Maximum \c m+n value for SVD matrices -- \b IN.
-         \param max_Y_size Maximum number of elements in \c Y    -- \b IN.
-         */
-        void construct ( bool   use_WP     ,
-                        double eps        ,
-                        int    max_mpn    ,
-                        int    max_Y_size   );
-        
-        /// Define scaling to put all coordinates centered in \c [-r;r].
-        /**
-         - Looks also for fixed variables.
-         \param r The \c r parameter corresponds to \c MODEL_RADIUS_FACTOR -- \b IN.
-         */
-        void define_scaling ( const NOMAD::Double & r );
-        
-        /// Define scaling based on directions. See paper: Reducing the number of function evaluations in Mesh Adaptive Direct Search algorithms, Audet, Ianni, LeDigabel, Tribes, 2014
-        /**
-         - Looks also for fixed variables.
-         \param dirP    The \c dirP parameter corresponds to set of directions formin a hyper-cube centered on poll center -- \b IN.
-         \param delta_m The \c delta_m parameter is the dimension of the mesh -- \b IN.
-         \param epsilon The \c epsilon parameter is the hyper-cube offset from the poll center -- \b IN.
-         */
-        void define_scaling_by_directions ( const std::list<NOMAD::Direction> & dirP, const NOMAD::Point & delta_m, const NOMAD::Double &epsilon  );
-        
-        
-        /// Scale a point.
-        /**
-         \param x The point to scale -- \b IN/OUT.
-         \return \c true if the scaling worked.
-         */
-        bool scale ( NOMAD::Point & x ) const;
-        
-        /// Unscale a point.
-        /**
-         \param x The point to unscale -- \b IN/OUT.
-         \return \c true if the unscaling worked.
-         */
-        bool unscale ( NOMAD::Point & x ) const;
-        
-        /// Unscale the gradient at a point.
-        /**
-         \param x The grad to unscale -- \b IN/OUT.
-         \return \c true if the unscaling worked.
-         */
-        bool unscale_grad ( NOMAD::Point & x ) const;
-        
-        
-        /// Check if a caled point is inside the trust radius.
-        /**
-         \param x The scaled point -- \b IN.
-         \return  \c true is \c x is in the trust radius.
-         */
-        bool is_within_trust_radius ( const NOMAD::Point & x ) const;
-        
-        /// Display the model coefficients.
-        /**
-         \param out   The NOMAD::Display object -- \b IN.
-         */
-        void display_model_coeffs ( const NOMAD::Display & out ) const;
-        
-        /// Display the interpolation set \c Y.
-        /**
-         \param out   The NOMAD::Display object  -- \b IN.
-         \param title Title of the display block -- \b IN
-         --\b optional (default="interpolation set Y").
-         */
-        void display_Y ( const NOMAD::Display & out ,
-                        const std::string    & title = "interpolation set Y" ) const;
-        
-        /// Display cumulated error on the interpolation points.
-        /**
-         \param out   The NOMAD::Display object -- \b IN.
-         */
-        void display_Y_error ( const NOMAD::Display & out ) const;
-    };
+
+    /*-------------------------------------------------------------------------*/
+  public:
+
+    /// Constructor.
+    /**
+       \param out           The NOMAD::Display object   -- \b IN.
+       \param bbot          Output types                -- \b IN.
+       \param cache         Cache                       -- \b IN.
+       \param signature     Signature                   -- \b IN.
+    */
+    Quad_Model ( const NOMAD::Display                     & out       ,
+		 const std::vector<NOMAD::bb_output_type> & bbot      ,
+		 const NOMAD::Cache                       & cache     ,
+		 const NOMAD::Signature                   & signature   );
+
+    /// Destructor.
+    virtual ~Quad_Model ( void );
+
+    /// Evaluate a model at a given point.
+    /**
+       \param x     The point        -- \b IN.
+       \param alpha Model parameters -- \b IN.
+       \return Model value.
+    */
+    NOMAD::Double eval ( const NOMAD::Point & x     ,
+			 const NOMAD::Point & alpha   ) const;
+
+	  /// Compute model \c h and \c f values at a point.
+    /**
+       \param x      The point                 -- \b IN.
+       \param h_min  Value of \c h_min         -- \b IN..
+       \param h_norm Norm used to compute \c h -- \b IN..
+       \param h      Value of \c h             -- \b OUT.
+       \param f      Value of \c f             -- \b OUT.
+    */
+    void eval_hf ( const NOMAD::Point  & x      ,
+		   const NOMAD::Double & h_min  ,
+		   NOMAD::hnorm_type     h_norm ,
+		   NOMAD::Double       & h      ,
+		   NOMAD::Double       & f        ) const;
+
+	  
+    /// Access to the interpolation type.
+    /**
+       \return The interpolation type.
+    */
+    const NOMAD::interpolation_type & get_interpolation_type ( void ) const
+    {
+      return _interpolation_type;
+    }
+
+    /// Access to the center of the model.
+    /**
+       \return The center.
+    */
+    const NOMAD::Point & get_center ( void ) const { return _center; }
+
+    /// Access to the dimension.
+    /**
+       \return The dimension \c n.
+    */
+    int get_n ( void ) const { return _n; }
+
+    /// Access to the number of free variables.
+    /**
+       \return The number of free variables \c n.
+    */
+    int get_nfree ( void ) const { return _nfree; }
+
+    /// Access to the model parameters.
+    /**
+       \return The model parameters \c alpha.
+    */
+    NOMAD::Point ** get_alpha ( void ) const { return _alpha; }
+
+    /// Check if the model is ready for evaluations.
+    /**
+       \return A boolean equal to \c true if the model is ready.
+    */
+    bool check ( void ) const;
+
+    /// Access to the fixed variables.
+    /**
+       \param i Variable index -- \b IN.
+       \return \c true if variable \c i is fixed.
+    */
+    bool variable_is_fixed ( int i ) const { return _fixed_vars[i]; }
+
+    /// Access to the number of interpolation points.
+    /**
+       \return The number of interpolation points \c nY=p+1.
+    */
+    int get_nY ( void ) const { return static_cast<int> ( _Y.size() ); }
+
+    /// Access to the condition number.
+    /**
+       \return The condition number.
+    */
+    const NOMAD::Double & get_cond ( void ) const { return _cond; }
+
+    /// Access to the error flag.
+    /**
+       \return The error flag.
+    */
+    bool get_error_flag ( void ) const { return _error_flag; }
+
+    /// Construct the interpolation set \c Y.
+    /**
+       \param center               Model center                       -- \b IN.
+       \param interpolation_radius Interpolation radius               -- \b IN.
+       \param max_Y_size           Maximum number of elements in \c Y -- \b IN.
+    */
+    void construct_Y ( const NOMAD::Point & center               ,
+		       const NOMAD::Point & interpolation_radius ,
+		       int                  max_Y_size             );
+
+    /// Construct \c m models (one by output).
+    /**
+       \param use_WP     Use or not well-poisedness            -- \b IN.
+       \param eps        Epsilon                               -- \b IN.
+       \param max_mpn    Maximum \c m+n value for SVD matrices -- \b IN.
+       \param max_Y_size Maximum number of elements in \c Y    -- \b IN.
+    */
+    void construct ( bool   use_WP     ,
+		     double eps        ,
+		     int    max_mpn    ,
+		     int    max_Y_size   );
+
+    /// Define scaling to put all coordinates centered in \c [-r;r].
+    /**
+       - Looks also for fixed variables.
+       \param r The \c r parameter corresponds to \c MODEL_RADIUS_FACTOR -- \b IN.
+    */
+    void define_scaling ( const NOMAD::Double & r );
+
+	  /// Define scaling based on directions. See paper: Reducing the number of function evaluations in Mesh Adaptive Direct Search algorithms, Audet, Ianni, LeDigabel, Tribes, 2014     
+	  /**
+       - Looks also for fixed variables.
+       \param dirP    The \c dirP parameter corresponds to set of directions formin a hyper-cube centered on poll center -- \b IN.
+	   \param delta_m The \c delta_m parameter is the dimension of the mesh -- \b IN.
+	   \param epsilon The \c epsilon parameter is the hyper-cube offset from the poll center -- \b IN.
+	   */	  
+	void define_scaling_by_directions ( const std::list<NOMAD::Direction> & dirP, const NOMAD::Point & delta_m, const NOMAD::Double &epsilon  );
+
+	  
+    /// Scale a point.
+    /**
+       \param x The point to scale -- \b IN/OUT.
+       \return \c true if the scaling worked.
+    */
+    bool scale ( NOMAD::Point & x ) const;
+
+    /// Unscale a point.
+    /**
+       \param x The point to unscale -- \b IN/OUT.
+       \return \c true if the unscaling worked.
+    */
+    bool unscale ( NOMAD::Point & x ) const;
+	  
+	  /// Unscale the gradient at a point.
+	  /**
+       \param x The grad to unscale -- \b IN/OUT.
+       \return \c true if the unscaling worked.
+	   */
+	  bool unscale_grad ( NOMAD::Point & x ) const;	  
+	  
+
+    /// Check if a caled point is inside the trust radius.
+    /**
+       \param x The scaled point -- \b IN.
+       \return  \c true is \c x is in the trust radius.
+    */
+    bool is_within_trust_radius ( const NOMAD::Point & x ) const;
+
+    /// Display the model coefficients.
+    /**
+       \param out   The NOMAD::Display object -- \b IN.
+    */
+    void display_model_coeffs ( const NOMAD::Display & out ) const;
+
+    /// Display the interpolation set \c Y.
+    /**
+       \param out   The NOMAD::Display object  -- \b IN.
+       \param title Title of the display block -- \b IN
+                    --\b optional (default="interpolation set Y").
+    */
+    void display_Y ( const NOMAD::Display & out ,
+		     const std::string    & title = "interpolation set Y" ) const;
+
+    /// Display cumulated error on the interpolation points.
+    /**
+       \param out   The NOMAD::Display object -- \b IN.
+    */
+    void display_Y_error ( const NOMAD::Display & out ) const;
+  };
 }
 
 #endif
diff --git a/src/Quad_Model_Evaluator.cpp b/src/Quad_Model_Evaluator.cpp
index 1738031..16497f2 100644
--- a/src/Quad_Model_Evaluator.cpp
+++ b/src/Quad_Model_Evaluator.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Quad_Model_Evaluator.cpp
  \brief  NOMAD::Evaluator subclass for quadratic model optimization (implementation)
@@ -54,12 +56,12 @@
 /*-----------------------------*/
 NOMAD::Quad_Model_Evaluator::Quad_Model_Evaluator ( const NOMAD::Parameters & p     ,
                                                    const NOMAD::Quad_Model & model   ) :
-_n              ( model.get_n()         ) ,
-_nm1            ( _n-1                  ) ,
-_m              ( p.get_bb_nb_outputs() ) ,
-_x              ( NULL                  ) ,
-_alpha          ( NULL                  ) ,
-_model_ready    ( model.check()         )
+_n                  ( model.get_n()         ) ,
+_nm1                ( _n-1                  ) ,
+_m                  ( p.get_bb_nb_outputs() ) ,
+_x                  ( NULL                  ) ,
+_alpha              ( NULL                  ) ,
+_model_ready        ( model.check()         )
 {
     if ( _model_ready )
     {
@@ -174,14 +176,6 @@ bool NOMAD::Quad_Model_Evaluator::eval_x ( NOMAD::Eval_Point   & x          ,
                     z += alpha[++k] * _x[i] * _x[j];
             
             
-            // SLD special rounding to 8 decimals in order to improve numerical stability:
-            // {
-            //   long double prec = 1e-8;
-            //   z = ( z < 0.0 ?
-            //              -floor(-z/prec + .5) :
-            //            floor( z/prec + .5)   ) * prec;
-            // }
-            
             x.set_bb_output ( oi , z );
         }
         
diff --git a/src/Quad_Model_Evaluator.hpp b/src/Quad_Model_Evaluator.hpp
index c99ffe0..ad7cae2 100644
--- a/src/Quad_Model_Evaluator.hpp
+++ b/src/Quad_Model_Evaluator.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Quad_Model_Evaluator.hpp
  \brief  NOMAD::Evaluator subclass for quadratic model optimization (headers)
diff --git a/src/Quad_Model_Search.cpp b/src/Quad_Model_Search.cpp
index b4560f0..694d80b 100644
--- a/src/Quad_Model_Search.cpp
+++ b/src/Quad_Model_Search.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Quad_Model_Search.cpp
  \brief  Quadratic Model search (implementation)
@@ -60,7 +62,7 @@
 /*                                                                */
 /*  . MODEL_SEARCH_OPTIMISTIC: if true, the direction from the    */
 /*                             model center to the trial point    */
-/*                             is computed and prossibly used     */
+/*                             is computed and possibly used      */
 /*                             in the speculative search          */
 /*                             default=yes                        */
 /*                                                                */
@@ -567,7 +569,7 @@ void NOMAD::Quad_Model_Search::create_trial_point ( NOMAD::Evaluator_Control & e
     }
     
     
-    // Round for integer and variables:
+    // Round for integer and binary variables:
     bool has_integer=false;
     bool has_binary=false;
     for (int i=0;i<n;i++)
@@ -836,7 +838,7 @@ bool NOMAD::Quad_Model_Search::optimize_model ( const NOMAD::Quad_Model  & model
                             flag_reset_barriers ,
                             flag_p1_active        );
     
-    NOMAD::Mads::set_flag_check_bimads   ( false );
+    NOMAD::Mads::set_flag_check_bimads  (false  );        
     NOMAD::Mads::set_flag_reset_mesh     ( true  );
     NOMAD::Mads::set_flag_reset_barriers ( true  );
     NOMAD::Mads::set_flag_p1_active      ( false );
diff --git a/src/Quad_Model_Search.hpp b/src/Quad_Model_Search.hpp
index a00dda5..4f5bd3d 100644
--- a/src/Quad_Model_Search.hpp
+++ b/src/Quad_Model_Search.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Quad_Model_Search.hpp
  \brief  Quadratic Model search (headers)
@@ -93,7 +95,7 @@ namespace NOMAD {
          \param model          The model                           -- \b IN.
          \param signature      Signature                           -- \b IN.
          \param mesh_indices   Mesh indic                          -- \b IN.
-         \param delta          Mesh size parameter                 -- \b IN.
+         \param delta			 Mesh size parameter                 -- \b IN.
          \param display_degree Display degree                      -- \b IN.
          \param out            The NOMAD::Display object           -- \b IN.
          */
diff --git a/src/RNG.cpp b/src/RNG.cpp
index 6010f3e..3a08b5e 100644
--- a/src/RNG.cpp
+++ b/src/RNG.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   RNG.cpp
  \brief  Custom class for random number generator (implementation)
@@ -72,7 +74,7 @@ void NOMAD::RNG::set_seed(int s)
         throw NOMAD::Exception ( "RNG.cpp" , __LINE__ ,
                                 "NOMAD::RNG::set_seed(): invalid seed. Seed should be in [0,INT_MAX]" );
     
-    reset_seed_to_default();
+    reset_private_seed_to_default();
     for ( int i=0 ; i<_s ; i++)
         NOMAD::RNG::rand();
     
diff --git a/src/RNG.hpp b/src/RNG.hpp
index bc3e897..8678cb9 100644
--- a/src/RNG.hpp
+++ b/src/RNG.hpp
@@ -1,50 +1,51 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
 
 /**
  \file   RNG.hpp
  \brief  Custom class for random number generator
- \author Christophe Tribes and Sebastien Le Digabel
+ \author Christophe Tribes and Sebastien Le Digabel 
  \date   2011-09-28
  \see    RNG.cpp
  */
@@ -58,84 +59,89 @@
 using namespace std;
 
 namespace NOMAD {
-    
+
     
     /// Class for random number generator
-    /**
+	/**
      This class is used to set a seed for the random number generator and
      get a random integer or a random double between two values.
-     */
-    class RNG {
+	 */
+	class RNG {
+		
+	public:
         
-    public:
         
-        /// Get current seed
-        /*
-         /return An integer in [0,UINT32_MAX].
-         */
+ 		/// Get current seed
+		/*
+		 /return An integer in [0,UINT32_MAX].
+		 */
         static int get_seed ( void )
         {
             return static_cast<int>(_s);
         }
         
-        /// Reset seed to its default value
-        static void reset_seed_to_default ( void )
-        {
-            _x=x_def;
-            _y=y_def;
-            _z=z_def;
-        }
-        
-        /// Set seed
-        /*
-         /param s The seed -- \b IN.
-         */
-        static void set_seed(int s);
-        
-        
-        /// Get a random integer as uint32
-        /** This function serves to obtain a random number \c
-         /return An integer in the interval [0,UINT32_MAX].
-         */
-        static uint32_t rand();
-        
+		/// Set seed
+		/*
+		 /param s The seed -- \b IN.
+		 */
+		static void set_seed(int s);
+    
+		
+		/// Get a random integer as uint32
+		/** This function serves to obtain a random number \c
+		 /return An integer in the interval [0,UINT32_MAX].
+		 */
+		static uint32_t rand();
         
-        /// Get a random number having a normal distribution as double
-        /*
+		
+		/// Get a random number having a normal distribution as double
+		/*
          /param a Lower bound  -- \b IN.
          /param b Upper bound  -- \b IN.
          /return A double in the interval [a,b].
-         */
-        static double rand(double a, double b)
+		 */
+		static double rand(double a, double b)
         {
             return a+((b-a)*NOMAD::RNG::rand())/UINT32_MAX;
         }
-        
-        /// Get a random number approaching a normal distribution (N(0,Var)) as double
-        //  A series of Nsample random numbers Xi in the interval [-sqrt(3*Var);+sqrt(3*Var)] is used -> E[Xi]=0, Var(Xi)=var
-        // see http://en.wikipedia.org/wiki/Central_limit_theorem
-        /*
-         /param Nsample    Number of samples for averaging                -- \b IN.
-         /param Var        Variance of the target normal distribution     -- \b IN.
+		
+		/// Get a random number approaching a normal distribution (N(0,Var)) as double
+		//  A series of Nsample random numbers Xi in the interval [-sqrt(3*Var);+sqrt(3*Var)] is used -> E[Xi]=0, Var(Xi)=var
+		// see http://en.wikipedia.org/wiki/Central_limit_theorem
+		/*
+         /param Nsample	Number of samples for averaging				-- \b IN.
+         /param Var		Variance of the target normal distribution	-- \b IN.
          /return A double in the interval [-sqrt(3*Var);+sqrt(3*Var)].
-         */
-        static double normal_rand_mean_0( double Var=1 , int Nsample=12 ) ;
+		 */
+		static double normal_rand_mean_0( double Var=1 , int Nsample=12 ) ;
         
         
         /// Get a random number approaching a normal distribution ( N(Mean,Var) ) as double
-        /*
-         /param Mean    Mean of the target normal distribution          -- \b IN.
-         /param Var        Variance of the target normal distribution   -- \b IN.
+		/*
+         /param Mean	Mean of the target normal distribution		-- \b IN.
+         /param Var		Variance of the target normal distribution	-- \b IN.
          /return A random number.
-         */
+		 */
         static double normal_rand( double Mean=0 , double Var=1 ) ;
         
+        /// Reset seed to its default value
+        static void reset_private_seed_to_default ( void )
+        {
+            _x=x_def;
+            _y=y_def;
+            _z=z_def;
+        }
+
+        
         
-    private:
+	private:
         
         static uint32_t x_def,y_def,z_def,_x,_y,_z;  ///< Default parameter value for the random number generator (_s used as the seed).
+        
         static int _s;
-    };
+        
+
+	};
 }
 
 
diff --git a/src/Random_Pickup.cpp b/src/Random_Pickup.cpp
index 1c26f83..4e4800c 100644
--- a/src/Random_Pickup.cpp
+++ b/src/Random_Pickup.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Random_Pickup.cpp
  \brief  Class for randomly pick up integers (implementation)
diff --git a/src/Random_Pickup.hpp b/src/Random_Pickup.hpp
index 859d61b..3918c27 100644
--- a/src/Random_Pickup.hpp
+++ b/src/Random_Pickup.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
   \file   Random_Pickup.hpp
   \brief  Class for randomly pick up integers (headers)
diff --git a/src/SMesh.cpp b/src/SMesh.cpp
index 3fefbfc..a459f03 100644
--- a/src/SMesh.cpp
+++ b/src/SMesh.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   SMesh.cpp
  \brief  Class for the MADS mesh (implementation)
@@ -108,7 +110,7 @@ void NOMAD::SMesh::update ( NOMAD::success_type success ,
 /*-----------------------------------------------------------*/
 void NOMAD::SMesh::set_mesh_indices ( const NOMAD::Point & r )
 {
-    if ( !r.is_defined() )
+    if (!r.is_defined())
         _mesh_index=0;
     else
         _mesh_index=r[0].NOMAD::Double::round(); // Warning no need to check that the double will convert nicely to an int because mesh_index will range [-50;50]
@@ -126,9 +128,7 @@ void NOMAD::SMesh::set_mesh_indices ( const NOMAD::Point & r )
 /*-----------------------------------------------------------*/
 void NOMAD::SMesh::set_limit_mesh_index ( int l )
 {
-    
     _limit_mesh_index=l;
-    
 }
 
 
@@ -213,8 +213,8 @@ bool NOMAD::SMesh::check_min_mesh_size_criterion ( ) const
 }
 
 /*----------------------------------------------------------------*/
-/*  get delta (mesh size parameter)                             */
-/*       delta^k = delta^0 \tau^{ell_0^+ - ell_k^+}           */
+/*  get delta (mesh size parameter)                               */
+/*       delta^k = delta^0 \tau^{ell_0^+ - ell_k^+}               */
 /*----------------------------------------------------------------*/
 /*  the function also returns true if one value is < delta_min    */
 /*  (stopping criterion MIN_MESH_SIZE)                            */
@@ -246,8 +246,8 @@ bool NOMAD::SMesh::get_delta ( NOMAD::Point & delta ) const
 }
 
 /*----------------------------------------------------------------*/
-/*  get delta (mesh size parameter)                             */
-/*       delta^k = delta^0 \tau^{ell_0^+ - ell_k^+}           */
+/*  get delta (mesh size parameter)                               */
+/*       delta^k = delta^0 \tau^{ell_0^+ - ell_k^+}               */
 /*----------------------------------------------------------------*/
 NOMAD::Double NOMAD::SMesh::get_delta ( int i ) const
 {
@@ -267,7 +267,7 @@ NOMAD::Double NOMAD::SMesh::get_delta ( int i ) const
 
 
 /*----------------------------------------------------------------*/
-/*  get delta_max (the larget mesh size)                             */
+/*  get delta_max (the larget mesh size)                          */
 /*----------------------------------------------------------------*/
 NOMAD::Point NOMAD::SMesh::get_delta_max ( ) const
 {
@@ -289,11 +289,11 @@ NOMAD::Point NOMAD::SMesh::get_delta_max ( ) const
 
 
 /*-------------------------------------------------------------------*/
-/*  get Delta (poll size parameter)                                */
-/*       Delta^k = Delta^m_k \tau^{ |ell_k|/2 }                    */
-/*                 = delta^0 \tau^{ell_0^+ - ell_k^+ + |ell_k|/2}  */
+/*  get Delta (poll size parameter)                                  */
+/*       Delta^k = Delta^m_k \tau^{ |ell_k|/2 }                      */
+/*                 = delta^0 \tau^{ell_0^+ - ell_k^+ + |ell_k|/2}    */
 /*-------------------------------------------------------------------*/
-/*  the function also returns true if all values are < Delta_min   */
+/*  the function also returns true if all values are < Delta_min     */
 /*  (stopping criterion MIN_POLL_SIZE)                               */
 /*-------------------------------------------------------------------*/
 bool NOMAD::SMesh::get_Delta ( NOMAD::Point & Delta ) const
@@ -324,12 +324,12 @@ bool NOMAD::SMesh::get_Delta ( NOMAD::Point & Delta ) const
 }
 
 /*-------------------------------------------------------------------*/
-/*  get Delta (poll size parameter)                                */
-/*       Delta^k = Delta^m_k \tau^{ |ell_k|/2 }                    */
-/*                 = delta^0 \tau^{ell_0^+ - ell_k^+ + |ell_k|/2}  */
-/*--------------------------------------------------------------*/
-/*  the function returns Delta >= Delta_min                     */
-/*--------------------------------------------------------------*/
+/*  get Delta (poll size parameter)                                  */
+/*       Delta^k = Delta^m_k \tau^{ |ell_k|/2 }                      */
+/*                 = delta^0 \tau^{ell_0^+ - ell_k^+ + |ell_k|/2}    */
+/*-------------------------------------------------------------------*/
+/*  the function returns Delta >= Delta_min                          */
+/*-------------------------------------------------------------------*/
 NOMAD::Double NOMAD::SMesh::get_Delta ( int i ) const
 {
     
diff --git a/src/SMesh.hpp b/src/SMesh.hpp
index ed18f21..ddfd0d4 100644
--- a/src/SMesh.hpp
+++ b/src/SMesh.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   SMesh.hpp
  \brief  Class for the static orthogonal MADS mesh (headers)
@@ -72,29 +74,29 @@ namespace NOMAD {
      (one value for each variable). The scaling is done once based on initial mesh size.
      - See the MADS papers for more details on the mesh.
      */
-    
-    class SMesh : public NOMAD::OrthogonalMesh {
-        
-    private:
-        
-        int _initial_mesh_index;
-        int _mesh_index;
-        int _min_mesh_index;           ///< Minimal value reached by the mesh index
-        int _max_mesh_index;           ///< Maximal value reached by the mesh index
-        
-        /*--------------------------------------------------------------*/
-        
-        /// Private affectation operator.
-        /**
-         \param m The right-hand side object -- \b IN.
-         */
-        const SMesh & operator = ( const SMesh & m );
-        
-        /// Check the minimal poll size criterion.
-        bool check_min_poll_size_criterion ( ) const;
-        
-        /// Check the minimal mesh size criterion.
-        bool check_min_mesh_size_criterion ( ) const;
+	
+	class SMesh : public NOMAD::OrthogonalMesh {
+		
+	private:
+		
+		int _initial_mesh_index;
+		int	_mesh_index;
+		int	_min_mesh_index;           ///< Minimal value reached by the mesh index
+		int	_max_mesh_index;           ///< Maximal value reached by the mesh index
+		
+		/*--------------------------------------------------------------*/
+		
+		/// Private affectation operator.
+		/**
+		 \param m The right-hand side object -- \b IN.
+		 */
+		const SMesh & operator = ( const SMesh & m );
+		
+		/// Check the minimal poll size criterion.
+		bool check_min_poll_size_criterion ( ) const;
+		
+		/// Check the minimal mesh size criterion.
+		bool check_min_mesh_size_criterion ( ) const;
         
         /// Access to the mesh size parameter delta^k.
         /**
@@ -111,42 +113,42 @@ namespace NOMAD {
          */
         NOMAD::Double get_Delta ( int i ) const ;
         
-        
-        
-        /*--------------------------------------------------------------*/
-        
-    public:
-        
-        /// Constructor.
-        /**
-         \param delta_0                 Initial mesh size delta_0                      -- \b IN.
-         \param Delta_min               Minimal poll size Delta_min (may be undefined) -- \b IN.
-         \param delta_min               Minimal mesh size delta_min (may be undefined) -- \b IN.
-         \param mesh_update_basis       Mesh update basis (tau), default=4             -- \b IN.
-         \param mesh_coarsening_step    Mesh coarsening step (w+), default=1           -- \b IN.
-         \param mesh_refining_step      Mesh refining step (w-), default=-1            -- \b IN.
-         \param initial_mesh_index      Initial mesh index ell_0, default=0            -- \b IN.
-         \param limit_max_mesh_index    Limit max of the mesh index, default=L_LIMITS  -- \b IN.
+
+		
+		/*--------------------------------------------------------------*/
+		
+	public:
+		
+		/// Constructor.
+		/**
+		 \param delta_0					Initial mesh size delta_0                      -- \b IN.
+		 \param Delta_min				Minimal poll size Delta_min (may be undefined) -- \b IN.
+		 \param delta_min				Minimal mesh size delta_min (may be undefined) -- \b IN.
          \param fixed_variables         Fixed variables                                -- \b IN.
-         */
-        SMesh ( const NOMAD::Point& delta_0   ,
-               const NOMAD::Point & Delta_min ,
-               const NOMAD::Point & delta_min ,
+		 \param mesh_update_basis		Mesh update basis (tau), default=4             -- \b IN.
+		 \param mesh_coarsening_step	Mesh coarsening step (w+), default=1		   -- \b IN.
+		 \param mesh_refining_step		Mesh refining step (w-), default=-1			   -- \b IN.
+		 \param initial_mesh_index		Initial mesh index ell_0, default=0			   -- \b IN.
+		 \param limit_max_mesh_index	Limit max of the mesh index, default=L_LIMITS  -- \b IN.
+		 */
+		SMesh ( const NOMAD::Point & delta_0   ,
+			   const NOMAD::Point & Delta_min ,
+			   const NOMAD::Point & delta_min ,
                const NOMAD::Point & fixed_variables ,
-               NOMAD::Double        mesh_update_basis=4.0,
-               int                  mesh_coarsening_step=1,
-               int                  mesh_refining_step=-1,
-               int                  initial_mesh_index=0,
+			   NOMAD::Double		mesh_update_basis=4.0,
+			   int					mesh_coarsening_step=1,
+			   int					mesh_refining_step=-1,
+			   int					initial_mesh_index=0,
                int                  limit_max_mesh_index=NOMAD::L_LIMITS)
-        : NOMAD::OrthogonalMesh ( false,
+		: NOMAD::OrthogonalMesh ( false,
                                  delta_0,
-                                 Delta_min,
-                                 delta_min,
+								 Delta_min,
+								 delta_min,
                                  fixed_variables,
                                  NOMAD::Point(),
-                                 mesh_update_basis,
-                                 mesh_coarsening_step,
-                                 mesh_refining_step ,
+								 mesh_update_basis,
+								 mesh_coarsening_step,
+								 mesh_refining_step ,
                                  limit_max_mesh_index ),
         _initial_mesh_index ( initial_mesh_index ),
         _mesh_index ( _initial_mesh_index ),
@@ -154,19 +156,19 @@ namespace NOMAD {
         _max_mesh_index ( initial_mesh_index )  {}
         
         
-        /// Copy constructor.
-        /**
-         \param m The copied object -- \b IN.
-         */
-        SMesh ( const SMesh & m )
-        : OrthogonalMesh(m) ,
-        _initial_mesh_index ( m._initial_mesh_index ),
-        _mesh_index ( m._initial_mesh_index ),
-        _min_mesh_index( m._initial_mesh_index ),
-        _max_mesh_index ( m._initial_mesh_index ) {}
-        
-        /// Destructor.
-        virtual ~SMesh ( void )
+		/// Copy constructor.
+		/**
+		 \param m The copied object -- \b IN.
+		 */
+		SMesh ( const SMesh & m )
+		: OrthogonalMesh(m) ,
+		_initial_mesh_index ( m._initial_mesh_index ),
+		_mesh_index ( m._initial_mesh_index ),
+		_min_mesh_index( m._initial_mesh_index ),
+		_max_mesh_index ( m._initial_mesh_index ) {}
+		
+		/// Destructor.
+		virtual ~SMesh ( void )
         {
             _delta_0.clear();
             _Delta_0.clear();
@@ -174,146 +176,146 @@ namespace NOMAD {
             _Delta_min.clear();
         }
         
-        
-        /// Access to the mesh index.
-        /**
-         \return A Point with the mesh index.
-         */
-        const NOMAD::Point get_mesh_indices ( void  ) const
+		
+		/// Access to the mesh index.
+		/**
+		 \return A Point with the mesh index.
+		 */
+		const NOMAD::Point get_mesh_indices ( void  ) const
         {
             return NOMAD::Point( 1 , NOMAD::Double(_mesh_index) );
         }
         
-        /// Access to the min mesh index reached so far.
-        /**
-         \return A Point with the mesh index.
-         */
-        const NOMAD::Point get_min_mesh_indices ( void  ) const
+		/// Access to the min mesh index reached so far.
+		/**
+		 \return A Point with the mesh index.
+		 */
+		const NOMAD::Point get_min_mesh_indices ( void  ) const
         {
             return NOMAD::Point( 1 , NOMAD::Double(_min_mesh_index) );
         }
+		
         
-        
-        /// Access to the max mesh index reached so far.
-        /**
-         \return A Point with the mesh index.
-         */
-        const NOMAD::Point get_max_mesh_indices ( void  ) const
+		/// Access to the max mesh index reached so far.
+		/**
+		 \return A Point with the mesh index.
+		 */
+		const NOMAD::Point get_max_mesh_indices ( void  ) const
         {
             return NOMAD::Point( 1 , NOMAD::Double(_max_mesh_index) );
         }
+		
+		
+		/// Manually set the mesh index using a point. (set_mesh_indices for consistency with XMesh)
+		/**
+		 \param r   The mesh index provided as a point -- \b IN.
+		 */
+		void set_mesh_indices ( const NOMAD::Point & r );
         
-        
-        /// Manually set the mesh index using a point. (set_mesh_indices for consistency with XMesh)
-        /**
-         \param r   The mesh index provided as a point -- \b IN.
-         */
-        void set_mesh_indices ( const NOMAD::Point & r );
-        
-        
+		
         
         /// Manually set the limit mesh index used for termination criterion (max value for SMesh).
-        /**
-         \param l   The limit mesh index for all coordinates -- \b IN.
-         */
-        void set_limit_mesh_index ( int l );
-        
-        
-        
-        /// Test if finest mesh so far.
-        /**
-         \return True if mesh index greater or equal to the maximal mesh index; False otherwise.
-         */
-        bool is_finest(void) const {return _mesh_index >= _max_mesh_index;  }
-        
-        
-        /// Access to the mesh ratios after a success
-        /**
-         \return A point with the ratio for each coordinate
-         */
-        NOMAD::Point get_mesh_ratio_if_success( void ) const;
-        
-        
-        /// Update the provided mesh indices (the Mesh is unchanged).
-        /**
-         \param success         Type of success of the iteration                -- \b IN.
-         \param mesh_indices    The mesh indices before and after the update    -- \b IN/OUT.
-         \param dir             The direction that is considered (opt)          -- \b IN.
-         */
-        void update ( NOMAD::success_type success , NOMAD::Point & mesh_indices, const NOMAD::Direction *dir=NULL ) const ;
-        
-        
-        /// Update the Mesh.
-        /**
-         \param success         Type of success of the iteration         -- \b IN.
-         \param dir             The direction that is considered (opt)   -- \b IN.
-         */
-        void update ( NOMAD::success_type success , const NOMAD::Direction *dir=NULL);
-        
-        
-        /// Reset the mesh to its original size (mesh indices).
-        void reset ( void )
+		/**
+		 \param l   The limit mesh index for all coordinates -- \b IN.
+		 */
+		void set_limit_mesh_index ( int l );
+        
+        
+        
+		/// Test if finest mesh so far.
+		/**
+		 \return True if mesh index greater or equal to the maximal mesh index; False otherwise.
+		 */
+		bool is_finest(void) const {return _mesh_index >= _max_mesh_index;  }
+        
+		
+		/// Access to the mesh ratios after a success
+		/**
+		 \return A point with the ratio for each coordinate
+		 */
+		NOMAD::Point get_mesh_ratio_if_success( void ) const;
+		
+        
+		/// Update the provided mesh indices (the Mesh is unchanged).
+		/**
+		 \param success			Type of success of the iteration				-- \b IN.
+		 \param mesh_indices	The mesh indices before and after the update	-- \b IN/OUT.
+		 \param dir				The direction that is considered (opt)			-- \b IN.
+		 */
+		void update ( NOMAD::success_type success , NOMAD::Point & mesh_indices, const NOMAD::Direction *dir=NULL ) const ;
+		
+        
+		/// Update the Mesh.
+		/**
+		 \param success			Type of success of the iteration				-- \b IN.
+		 \param dir				The direction that is considered (opt)			-- \b IN.
+		 */
+		void update ( NOMAD::success_type success , const NOMAD::Direction *dir=NULL);
+        
+		
+		/// Reset the mesh to its original size (mesh indices).
+		void reset ( void )
         {
             set_mesh_indices( NOMAD::Point(1,NOMAD::Double(_initial_mesh_index))) ;
-            _min_mesh_index=_initial_mesh_index ;
-            _max_mesh_index=_initial_mesh_index;
+			_min_mesh_index=_initial_mesh_index ;
+			_max_mesh_index=_initial_mesh_index;
         }
-        
-        /// Access to the mesh size parameter delta^k.
-        /**
-         \param delta    The mesh size parameter delta^k -- \b OUT.
-         \return A boolean equal to \c true if all values are
-         strictly inferior than the associated minimal
-         mesh size delta_min
-         (stopping criterion MIN_MESH_SIZE).
-         */
-        virtual bool get_delta ( NOMAD::Point & delta ) const ;
-        
-        
+		
+		/// Access to the mesh size parameter delta^k.
+		/**
+		 \param delta    The mesh size parameter delta^k -- \b OUT.
+		 \return A boolean equal to \c true if all values are
+		 strictly inferior than the associated minimal
+		 mesh size delta_min
+		 (stopping criterion MIN_MESH_SIZE).
+		 */
+		virtual bool get_delta ( NOMAD::Point & delta ) const ;
+
+
         
         
-        /// Access to the larget mesh size so far.
-        /**
-         \return delta_max    The largest mesh size reached so far -- \b OUT.
-         */
+		/// Access to the larget mesh size so far.
+		/**
+		 \return delta_max    The largest mesh size reached so far -- \b OUT.
+		 */
         NOMAD::Point get_delta_max ( void ) const ;
+		
+		/// Access to the poll size parameter Delta^k.
+		/**
+		 \param Delta    The poll size parameter Delta^k -- \b OUT.
+		 \return A boolean equal to \c true if all values are
+		 strictly inferior than the associated minimal
+		 mesh size Delta_min
+		 (stopping criterion MIN_POLL_SIZE).
+		 */
+		virtual bool get_Delta ( NOMAD::Point & Delta ) const ;
+
         
-        /// Access to the poll size parameter Delta^k.
-        /**
-         \param Delta    The poll size parameter Delta^k -- \b OUT.
-         \return A boolean equal to \c true if all values are
-         strictly inferior than the associated minimal
-         mesh size Delta_min
-         (stopping criterion MIN_POLL_SIZE).
-         */
-        virtual bool get_Delta ( NOMAD::Point & Delta ) const ;
-        
-        
-        /// Check the stopping conditions on the minimal poll and mesh sizes.
-        /**
-         \param stop           Stop flag                  -- \b IN/OUT.
-         \param stop_reason    Stop reason                -- \b OUT.
-         */
-        void check_min_mesh_sizes ( bool             & stop           ,
+		/// Check the stopping conditions on the minimal poll and mesh sizes.
+		/**
+		 \param stop           Stop flag                  -- \b IN/OUT.
+		 \param stop_reason    Stop reason                -- \b OUT.
+		 */
+		void check_min_mesh_sizes (	bool             & stop           ,
                                    NOMAD::stop_type & stop_reason      ) const;
-        /// Display.
-        /**
-         \param out The NOMAD::Display object -- \b IN.
-         */
-        void display ( const NOMAD::Display & out ) const;
-        
-        
+		/// Display.
+		/**
+		 \param out The NOMAD::Display object -- \b IN.
+		 */
+		void display ( const NOMAD::Display & out ) const;
+		
+		
         /// Scale and project the ith component of a vector on the mesh
         /**
-         \param i           The vector component number            -- \b IN.
-         \param l           The vector component value             -- \b IN.
-         \param round_up    Flag for rounding up                   -- \b IN.
-         \return    The ith component of a vector after mesh scaling and projection
+         \param i	      The vector component number           -- \b IN.
+         \param l	      The vector component value            -- \b IN.
+         \param round_up  The flag for round up                 -- \b IN.
+         \return	      The ith component of a vector after mesh scaling and projection
          */
-        NOMAD::Double scale_and_project(int i, const NOMAD::Double & l, bool round_up ) const ;
-        
+		NOMAD::Double scale_and_project(int i, const NOMAD::Double & l, bool round_up ) const ;
         
-    };
+		
+	};
 }
 
 #endif
diff --git a/src/Search.hpp b/src/Search.hpp
index 034aed1..c9e9284 100644
--- a/src/Search.hpp
+++ b/src/Search.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Search.hpp
  \brief  Generic class for search strategies (headers)
diff --git a/src/Set_Element.hpp b/src/Set_Element.hpp
index 510dcf7..bf8c043 100644
--- a/src/Set_Element.hpp
+++ b/src/Set_Element.hpp
@@ -1,172 +1,174 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
- \file   Set_Element.hpp
- \brief  Element of a set (headers)
- \author Sebastien Le Digabel
- \date   2010-04-12
- */
+  \file   Set_Element.hpp
+  \brief  Element of a set (headers)
+  \author Sebastien Le Digabel
+  \date   2010-04-12
+*/
 #ifndef __SET_ELEMENT__
 #define __SET_ELEMENT__
 
 namespace NOMAD {
-    
-    // forward declarations:
-    class Double;
-    class Eval_Point;
-    
-    /// Generic class for elements of a \c std::set.
-    /**
+
+  // forward declarations:
+  class Double;
+  class Eval_Point;
+
+  /// Generic class for elements of a \c std::set.
+  /**
      This is an abstract class (it is not possible to create NOMAD::Set_Element objects).
-     */
-    template <class T>
-    class Set_Element {
-        
-    private:
-        
-#ifdef MEMORY_DEBUG
-        static int _cardinality;     ///< Number of NOMAD::Set_Element objects in memory.
-        static int _max_cardinality; ///< Max number of NOMAd::Set_Element objects in memory.
-#endif
-        
-        const T * _el; ///< A pointer to the element.
-        
-        /// Affectation operator.
-        /**
-         \param se The right-hand side object -- \b IN.
-         */
-        Set_Element & operator = ( const Set_Element & se );
-        
-        /// Copy constructor.
-        /**
-         \param se The copied object -- \b IN.
-         */
-        Set_Element ( const Set_Element & se );
-        
-    public:
-        
-        /// Constructor.
-        /**
-         \param el A pointer on the element -- \b IN.
-         */
-        explicit Set_Element ( const T * el ) : _el ( el )
-        {
+  */
+  template <class T>
+  class Set_Element {
+
+  private:
+
 #ifdef MEMORY_DEBUG
-            ++Set_Element::_cardinality;
-            if ( Set_Element::_cardinality > Set_Element::_max_cardinality )
-                ++Set_Element::_max_cardinality;
+    static int _cardinality;     ///< Number of NOMAD::Set_Element objects in memory.
+    static int _max_cardinality; ///< Max number of NOMAd::Set_Element objects in memory.
 #endif
-        }
-        
-        /// Destructor.
-        virtual ~Set_Element ( void )
-        {
+
+    const T * _el; ///< A pointer to the element.
+
+    /// Affectation operator.
+    /**
+       \param se The right-hand side object -- \b IN.
+    */
+    Set_Element & operator = ( const Set_Element & se );
+
+    /// Copy constructor.
+    /**
+       \param se The copied object -- \b IN.
+    */
+    Set_Element ( const Set_Element & se );
+
+  public:
+  
+    /// Constructor.
+    /**
+       \param el A pointer on the element -- \b IN.
+    */
+    explicit Set_Element ( const T * el ) : _el ( el )
+    {
 #ifdef MEMORY_DEBUG
-            --Set_Element::_cardinality;
+      ++Set_Element::_cardinality;
+      if ( Set_Element::_cardinality > Set_Element::_max_cardinality )
+	++Set_Element::_max_cardinality;
 #endif
-        }
-        
-        /// Specific NOMAD::Priority_Eval_Point elements of comparison.
-        /**
-         - Only NOMAD::Priority_Eval_Point::get_priority_criteria() does something.
-         - \see Priority_Eval_Point.hpp .
-         \param c1 A real -- \b IN.
-         \param c2 A real -- \b IN.
-         \param c3 A real -- \b IN.
-         \param c4 A real -- \b IN.
-         \param c5 A real -- \b IN.
-         \param c6 A real -- \b IN.
-         */
-        virtual void get_priority_criteria ( NOMAD::Double & c1 ,
-                                            NOMAD::Double & c2 ,
-                                            NOMAD::Double & c3 ,
-                                            NOMAD::Double & c4 ,
-                                            NOMAD::Double & c5 ,
-                                            NOMAD::Double & c6   ) const {}
-        /// Comparison operator.
-        /**
-         - Has to be implemented by every NOMAD::Set_Element subclass.
-         - Pure virtual method.
-         \param se The right-hand side object -- \b IN.
-         */
-        virtual bool operator < ( const Set_Element & se ) const = 0;
-        
-        /// Access to the element.
-        /**
-         \return A pointer to the element.
-         */
-        const T * get_element ( void ) const { return _el; }
-        
-        /// Set an element.
-        /**
-         \param el A pointer to the element -- \b IN.
-         */
-        void set_element ( const T * el ) { _el = el; }
-        
+    }
+
+    /// Destructor.
+    virtual ~Set_Element ( void )
+    {
 #ifdef MEMORY_DEBUG
-        
-        /// Access to the number of NOMAD::Set_Element objects in memory.
-        /**
-         \return Number of NOMAD::Set_Element objects in memory.
-         */
-        static int get_cardinality ( void ) { return Set_Element::_cardinality; }
-        
-        /// Access to the max number of NOMAD::Set_Element objects in memory.
-        /**
-         \return Max number of NOMAD::Set_Element objects in memory.
-         */
-        static int get_max_cardinality ( void ) { return Set_Element::_max_cardinality; }
-        
+      --Set_Element::_cardinality;
 #endif
-    };
+    }
+
+    /// Specific NOMAD::Priority_Eval_Point elements of comparison.
+    /**
+       - Only NOMAD::Priority_Eval_Point::get_priority_criteria() does something.
+       - \see Priority_Eval_Point.hpp .
+       \param c1 A real -- \b IN.
+       \param c2 A real -- \b IN.
+       \param c3 A real -- \b IN.
+       \param c4 A real -- \b IN.
+       \param c5 A real -- \b IN.
+       \param c6 A real -- \b IN.
+    */
+    virtual void get_priority_criteria ( NOMAD::Double & c1 ,
+					 NOMAD::Double & c2 ,
+					 NOMAD::Double & c3 ,
+					 NOMAD::Double & c4 ,
+					 NOMAD::Double & c5 ,
+					 NOMAD::Double & c6   ) const {}
+    /// Comparison operator.
+    /**
+       - Has to be implemented by every NOMAD::Set_Element subclass.
+       - Pure virtual method.
+       \param se The right-hand side object -- \b IN.
+    */
+    virtual bool operator < ( const Set_Element & se ) const = 0;
     
-#ifdef MEMORY_DEBUG
+    /// Access to the element.
+    /**
+       \return A pointer to the element.
+    */
+    const T * get_element ( void ) const { return _el; }
+    
+    /// Set an element.
+    /**
+       \param el A pointer to the element -- \b IN.
+    */
+    void set_element ( const T * el ) { _el = el; }
     
-    /// Initialization of _cardinality.
-    template<class T> int NOMAD::Set_Element<T>::_cardinality = 0;
+#ifdef MEMORY_DEBUG
+
+    /// Access to the number of NOMAD::Set_Element objects in memory.
+    /**
+       \return Number of NOMAD::Set_Element objects in memory.
+    */
+    static int get_cardinality ( void ) { return Set_Element::_cardinality; }
+
+    /// Access to the max number of NOMAD::Set_Element objects in memory.
+    /**
+       \return Max number of NOMAD::Set_Element objects in memory.
+    */
+    static int get_max_cardinality ( void ) { return Set_Element::_max_cardinality; }
     
-    /// Initialization of _max_cardinality.
-    template<class T> int NOMAD::Set_Element<T>::_max_cardinality = 0;
+#endif
+  };
+
+#ifdef MEMORY_DEBUG
+
+  /// Initialization of _cardinality.
+  template<class T> int NOMAD::Set_Element<T>::_cardinality = 0;
+
+  /// Initialization of _max_cardinality.
+  template<class T> int NOMAD::Set_Element<T>::_max_cardinality = 0;
 #endif
 }
 
diff --git a/src/Sgtelib_Model_Evaluator.cpp b/src/Sgtelib_Model_Evaluator.cpp
new file mode 100644
index 0000000..96374f6
--- /dev/null
+++ b/src/Sgtelib_Model_Evaluator.cpp
@@ -0,0 +1,48 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2016  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+/**
+ \file   Sgtelib_Model_Evaluator.cpp
+ \brief  Interface between nomad evaluator and Sgtelib_Model_Manager.
+ \author Bastien Talgorn
+ \date   2013-04-25
+ \see    Sgtelib_Model_Manager.cpp
+ */
+
+#include "Sgtelib_Model_Evaluator.hpp"
+
+
+/*------------------------------------------------------------------------*/
+/*                evaluate the sgtelib_model model at a given trial point */
+/*------------------------------------------------------------------------*/
+bool NOMAD::Sgtelib_Model_Evaluator::eval_x ( NOMAD::Eval_Point   & x          ,
+                                             const NOMAD::Double & h_max      ,
+                                             bool                & count_eval   ) const
+{
+    return _sgtelib_model_manager->eval_x( &x         ,
+                                          h_max      ,
+                                          count_eval );
+}
+
+
diff --git a/src/Sgtelib_Model_Evaluator.hpp b/src/Sgtelib_Model_Evaluator.hpp
new file mode 100644
index 0000000..4daf5ff
--- /dev/null
+++ b/src/Sgtelib_Model_Evaluator.hpp
@@ -0,0 +1,73 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2016  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+/**
+ \file   Sgtelib_Model_Evaluator.hpp
+ \brief  Interface between nomad evaluator and Sgtelib_Model_Manager.
+ \author Bastien Talgorn
+ \date   2013-04-25
+ \see    Sgtelib_Model_Manager.cpp
+ */
+
+#ifndef __SGTELIB_MODEL_EVALUATOR__
+#define __SGTELIB_MODEL_EVALUATOR__
+
+
+#include "Sgtelib_Model_Manager.hpp"
+#include "Search.hpp"
+#include "Evaluator.hpp"
+
+
+namespace NOMAD {
+    
+    /// NOMAD::Evaluator subclass for quadratic model optimization.
+    class Sgtelib_Model_Evaluator : public NOMAD::Evaluator {
+        
+    private:
+        
+        NOMAD::Sgtelib_Model_Manager * _sgtelib_model_manager; ///< The sgtelib_model model.
+        
+    public:
+        
+        /// Constructor.
+        Sgtelib_Model_Evaluator (  const NOMAD::Parameters &      p ,
+                                 NOMAD::Sgtelib_Model_Manager * sgtelib_model_manager )
+        : NOMAD::Evaluator     ( p                     ) ,
+        _sgtelib_model_manager ( sgtelib_model_manager ) {}
+        
+        
+        /// Destructor.
+        virtual ~Sgtelib_Model_Evaluator ( void ) {}
+        
+        /// Evaluate the blackboxes at a given trial point.
+        virtual bool eval_x ( NOMAD::Eval_Point   & x          ,
+                             const NOMAD::Double & h_max      ,
+                             bool                & count_eval   ) const;
+        
+    };
+}
+
+#endif
+
+// #endif
diff --git a/src/Sgtelib_Model_Manager.cpp b/src/Sgtelib_Model_Manager.cpp
new file mode 100644
index 0000000..8d206b4
--- /dev/null
+++ b/src/Sgtelib_Model_Manager.cpp
@@ -0,0 +1,997 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2016  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+/**
+ \file   Sgtelib_Model_Manager.cpp
+ \brief  Handle the sgtelib_model model for the search and the eval_sort.
+ \author Bastien Talgorn
+ \date   2013-04-25
+ \see    Sgtelib_Model_Search.cpp
+ */
+#include "Sgtelib_Model_Manager.hpp"
+#include "Evaluator_Control.hpp"
+
+
+/*---------------------------------------------------------------*/
+/*                    constructor                                */
+/*---------------------------------------------------------------*/
+NOMAD::Sgtelib_Model_Manager::Sgtelib_Model_Manager ( NOMAD::Parameters & p ,
+                                                     NOMAD::Evaluator_Control * ev_control ) :
+_p            ( p           ),
+_ev_control   ( ev_control  ),
+_highest_tag  ( -1          ),
+_ready        ( false       )
+{
+    
+    
+    // Initialization of model bounds
+    _model_lb = NOMAD::Point( _p.get_dimension(),+NOMAD::INF );
+    _model_ub = NOMAD::Point( _p.get_dimension(),-NOMAD::INF );
+    
+    // Initialisation of best objective
+    _found_feasible = false;
+    
+    // Initialization of statistics
+    _search_pfi_max = 0.0;
+    _search_efi_max = 0.0;
+    _search_obj_min = +NOMAD::INF;
+    
+    
+    // EXTERN SGTE
+    if ( _p.get_SGTELIB_MODEL_FORMULATION()==NOMAD::SGTELIB_MODEL_FORMULATION_EXTERN )
+        return;
+    
+    // Check
+    if ( (_p.get_SGTELIB_MODEL_FORMULATION()==NOMAD::SGTELIB_MODEL_FORMULATION_FS) ||
+        (_p.get_SGTELIB_MODEL_FORMULATION()==NOMAD::SGTELIB_MODEL_FORMULATION_EIS) )
+    {
+        if ( ! (_p.get_SGTELIB_MODEL_FEASIBILITY() == NOMAD::SGTELIB_MODEL_FEASIBILITY_C) )
+        {
+            std::cout << "ERROR : Formulations FS and EIS can only be used with FeasibilityMethod C" << std::endl;
+            throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+                                      "Sgtelib_Model_Manager: SGTELIB_MODEL_FEASIBILITY not valid." );
+        }
+    }
+    
+    // Count the number of constraints
+    int nb_constraints = 0;
+    const std::vector<NOMAD::bb_output_type> bbot = _p.get_bb_output_type();
+    for ( int j=0 ; j<_p.get_bb_nb_outputs() ; j++)
+    {
+        if ( bbot_is_constraint(bbot[j]) )
+            nb_constraints++;
+    }
+    
+    // Define how many models to build
+    switch ( _p.get_SGTELIB_MODEL_FEASIBILITY() )
+    {
+        case NOMAD::SGTELIB_MODEL_FEASIBILITY_C:
+            _nb_models = 1+nb_constraints;
+            break;
+        case NOMAD::SGTELIB_MODEL_FEASIBILITY_H:
+        case NOMAD::SGTELIB_MODEL_FEASIBILITY_B:
+        case NOMAD::SGTELIB_MODEL_FEASIBILITY_M:
+            _nb_models = 2;
+            break;
+        case NOMAD::SGTELIB_MODEL_FEASIBILITY_UNDEFINED:
+            std::cout<< "UNDEFINED_SGTELIB_MODEL_FEASIBILITY" << std::endl;
+            break;
+    }
+    
+    // Init the TrainingSet
+    SGTELIB::Matrix empty_X ( "empty_X" , 0 , _p.get_dimension() );
+    SGTELIB::Matrix empty_Z ( "empty_Z" , 0 , _nb_models );
+    _trainingset = new SGTELIB::TrainingSet( empty_X , empty_Z );
+    
+    // Build the Sgtelib Model
+    std::string model_definition = _p.get_SGTELIB_MODEL_DEFINITION();
+    _model = SGTELIB::Surrogate_Factory( *_trainingset , model_definition );
+    
+}// end of constructor
+
+
+
+
+
+/*---------------------------------------------------------------*/
+/*                    reset                                      */
+/*---------------------------------------------------------------*/
+void NOMAD::Sgtelib_Model_Manager::reset(void)
+{
+    _highest_tag = -1;
+    
+    if ( _model )
+    {
+        SGTELIB::surrogate_delete( _model );
+        _model = NULL;
+    }
+    
+    if ( _trainingset )
+    {
+        delete _trainingset;
+        _trainingset = NULL;
+    }
+    
+    _ready = false;
+}
+
+/*---------------------------------------------------------------*/
+/*                      is_ready                                 */
+/* Return a boolean to know if the sgtelib_model model has been  */
+/* build and can be called for predictions.                      */
+/*---------------------------------------------------------------*/
+bool NOMAD::Sgtelib_Model_Manager::is_ready(void)
+{
+    
+    if ( _ready ) 
+        return true;
+    
+    // EXTERN SGTE
+    if ( _p.get_SGTELIB_MODEL_FORMULATION()==NOMAD::SGTELIB_MODEL_FORMULATION_EXTERN )
+    {
+        _ready = true;
+        return _ready;
+    }
+    if ( !_trainingset )
+        throw NOMAD::Exception ( __FILE__ , __LINE__ ,
+                                "Sgtelib_Model_Manager::is_ready : no training set!" );
+    
+    if ( ! _trainingset->is_ready() )
+        return false;
+    
+    const int pvar = _trainingset->get_pvar();
+    _ready = ( ( _highest_tag != -1 ) && ( _model->is_ready() ) && ( pvar > 10 ) );
+    return _ready;
+}
+
+
+/*---------------------------------------------------------------*/
+/*               Reset Search Stats                              */
+/*---------------------------------------------------------------*/
+void NOMAD::Sgtelib_Model_Manager::reset_search_stats(void)
+{
+    _search_pfi_max = 0;
+    _search_efi_max = 0;
+    _search_obj_min = NOMAD::INF;
+}//
+
+void NOMAD::Sgtelib_Model_Manager::write_search_stats(void) const
+{
+    // Write the point in memory file
+    ofstream memory;
+    memory.open ("memory.txt", ios::app );
+    if ( memory.is_open() )
+    {
+        memory.precision(24);
+        memory << "#SEARCH_STATS" << std::endl;
+        memory << _search_pfi_max << " "
+        << _search_efi_max << " "
+        << _search_obj_min << std::endl;
+        memory.close();
+    }
+}//
+
+
+
+/*---------------------------------------------------------------*/
+/*                   info                                        */
+/*---------------------------------------------------------------*/
+void NOMAD::Sgtelib_Model_Manager::info(void)
+{
+    std::cout << "  #===================================================== #" << std::endl;
+    std::cout << "Sgtelib_Model_Manager::info" << std::endl ;
+    std::cout << "Sgtelib_Model_Manager : " << this << std::endl;
+    std::cout << "ev_control : " << _ev_control << std::endl;
+    std::cout << "Model : " << _model << std::endl;
+    std::cout << "highest_tag : " << _highest_tag << std::endl;
+    
+    NOMAD::Cache & cache = _ev_control->get_cache();
+    std::cout << "Cache size : " << cache.size() << std::endl;
+    std::cout << "found_feasible : " << _found_feasible << std::endl; 
+    
+    // Display of the model's bounds.
+    int i;
+    int n = _p.get_dimension();
+    std::cout << "Model Bounds, lb : ( ";
+    for  ( i=0 ; i<n ; i++ )
+        std::cout << _model_lb.get_coord(i) << " ";
+    
+    std::cout << ") , ub : ( ";
+    for  ( i=0 ; i<n ; i++ )
+        std::cout << _model_ub.get_coord(i) << " ";
+    
+    std::cout << ")" << std::endl;
+    
+    std::cout << "Model Ext Bounds, lb : ( ";
+    NOMAD::Point ext_lb = get_extended_lb();
+    for  ( i=0 ; i<n ; i++ )
+        std::cout << ext_lb.get_coord(i) << " ";
+    
+    std::cout << ") , ub : ( ";
+    NOMAD::Point ext_ub = get_extended_ub();
+    for  ( i=0 ; i<n ; i++ )
+        std::cout << ext_ub.get_coord(i) << " ";
+    
+    std::cout << ")" << std::endl;
+    
+    if ( _ready )
+        std::cout << "sgtelib_model model is ready" << std::endl;
+    else
+        std::cout << "sgtelib_model model is NOT ready" << std::endl;
+    
+    
+    std::cout << "  #===================================================== #" << std::endl;
+}
+
+
+
+
+/*------------------------------------------------------------------*/
+/*                          MODEL UPDATE                            */
+/*------------------------------------------------------------------*/
+void NOMAD::Sgtelib_Model_Manager::update(void)
+{
+    const NOMAD::Display & out = _p.out();    
+    const bool display_update = string_find( _p.get_SGTELIB_MODEL_DISPLAY(),"U") ;
+    
+    if ( display_update )
+        out.open_block("Update sgtelib model");
+    
+    // EXTERN SGTE
+    if ( _p.get_SGTELIB_MODEL_FORMULATION() == NOMAD::SGTELIB_MODEL_FORMULATION_EXTERN )
+    {
+        if ( display_update ) out << "FORMULATION: EXTERN." << std::endl;
+        return;
+    }
+    
+    NOMAD::Cache & cache = _ev_control->get_cache();
+    const std::vector<NOMAD::bb_output_type> bbot = _p.get_bb_output_type();
+    // row_X et row_Z sont les matrices à une seule ligne
+    // permettant de stocker le point courant
+    SGTELIB::Matrix row_X ( "row_X" , 1 , _p.get_dimension() );
+    SGTELIB::Matrix row_Z ( "row_Z" , 1 , _nb_models );
+    
+    // Matrices permettant de stocker tous les points à envoyer vers le model
+    SGTELIB::Matrix add_X ( "add_X" , 0 , _p.get_dimension() );
+    SGTELIB::Matrix add_Z ( "add_Z" , 0 , _nb_models );
+    
+    if ( display_update )
+        out << "Review of the cache" << std::endl;
+    
+    // Parcours des points de la cache
+    int k;
+    NOMAD::Double v;
+    int next_highest_tag = _highest_tag;
+    const NOMAD::Eval_Point * cur = cache.begin();
+    int tag;
+    bool valid_point;
+    // Parcours de la cache
+    while ( cur )
+    {
+        tag = cur->get_tag() ;
+        if ( tag > _highest_tag )
+        {
+            if ( display_update )
+            {
+                out << "New Tag : " << tag << std::endl;
+                out << "xNew = ( ";
+                for ( int i = 0 ; i < _p.get_dimension() ; i++ )
+                {
+                    out << cur->get_coord(i).value() << " ";
+                }
+                out << ")";
+            }
+            
+            // Vérification que le point est valide (pas de Nan, pas d'échec, toutes les sorties définies et la fonction cout disponible )
+            valid_point = true;
+            for ( int j=0 ; j < _p.get_bb_nb_outputs() ; j++)
+            {
+                if ( ( !cur->get_bb_outputs()[j].is_defined() ) || ( isnan(cur->get_bb_outputs()[j].value()) ) || !cur->is_eval_ok() || !cur->get_f().is_defined() )
+                    valid_point = false;
+            }
+            
+            if ( display_update )
+            {
+                if ( !valid_point ) out << " (not valid) ";
+            }
+            
+            if ( valid_point )
+            {
+                // X
+                for ( int j=0 ; j < _p.get_dimension() ; j++ )
+                    row_X.set( 0, j, cur->get_coord(j).value()  );
+                
+                add_X.add_rows(row_X);
+                
+                // Objective
+                row_Z.set(0,0,cur->get_f().value()); // 1st column: constraint model
+                
+                // Constraints
+                switch ( _p.get_SGTELIB_MODEL_FEASIBILITY() )
+                {
+                    case NOMAD::SGTELIB_MODEL_FEASIBILITY_C:
+                        k=1;
+                        for ( int j = 0 ; j < _p.get_bb_nb_outputs() ; j++ )
+                        {
+                            if ( bbot_is_constraint(bbot[j]) )
+                            {
+                                row_Z.set( 0, k, cur->get_bb_outputs()[j].value() );
+                                k++;
+                            }
+                        }
+                        break;
+                        
+                    case NOMAD::SGTELIB_MODEL_FEASIBILITY_H:
+                        eval_h(cur->get_bb_outputs(),v);
+                        row_Z.set(0,1,v.value()); // 2nd column: constraint model
+                        break;
+                        
+                    case NOMAD::SGTELIB_MODEL_FEASIBILITY_B:
+                        row_Z.set(0,1,cur->is_feasible(0.)); // 2nd column: constraint model
+                        break;
+                        
+                    case NOMAD::SGTELIB_MODEL_FEASIBILITY_M:
+                        v = -NOMAD::INF;
+                        for ( int j=0 ; j < _p.get_bb_nb_outputs() ; j++)
+                        {
+                            if ( bbot_is_constraint( bbot[j]) )
+                            {
+                                v = max(v,cur->get_bb_outputs()[j]);
+                            }
+                        }
+                        row_Z.set(0,1,v.value());// 2nd column: constraint model
+                        break;
+                        
+                    case NOMAD::SGTELIB_MODEL_FEASIBILITY_UNDEFINED:
+                        out << "UNDEFINED";
+                        break;
+                }// end switch
+                
+                add_Z.add_rows(row_Z);
+                
+                if ( cur->is_feasible(0.) )
+                {
+                    if ( display_update && (!_found_feasible) ) out << " (feasible!)";
+                    _found_feasible = true;
+                }
+                
+                
+            }// end if valid_point
+            next_highest_tag = std::max(next_highest_tag,tag);
+            
+            if ( display_update )
+                out << std::endl;
+
+        }// end if tag
+        cur = cache.next();
+    }// end boucle cache
+    
+    _highest_tag = next_highest_tag;
+    
+    if ( display_update )
+    {
+        out << "next_highest_tag: " << next_highest_tag << std::endl;
+        out << "Current nb of points: " << _trainingset->get_nb_points() << std::endl;
+    }
+    
+    
+    if ( add_X.get_nb_rows() > 0 )
+    {
+        // Build the model
+        if ( display_update )
+            out << "Add points...";
+
+        _trainingset->add_points( add_X , add_Z );
+
+        if ( display_update )
+            out << " OK" << std::endl << "Build_model...";
+
+        _model->build();
+        
+        if ( display_update )
+            out << " OK." << std::endl;
+    }
+    
+    // Check if the model is ready
+    _ready = _model->is_ready();
+    
+    if ( display_update )
+    {
+        out << "New nb of points: " << _trainingset->get_nb_points() << std::endl;
+        out << "Ready: " << _ready << std::endl;
+    }
+    
+    // Update the bounds of the model
+    _set_model_bounds(&add_X);
+    
+    if ( display_update )
+        out.close_block();
+    
+}// Fin de la methode
+
+
+
+/*------------------------------------------------------------------------*/
+/*       During the update of the sgtelib_model model,                    */
+/*           update the bounds of the model                               */
+/*------------------------------------------------------------------------*/
+void NOMAD::Sgtelib_Model_Manager::_set_model_bounds (SGTELIB::Matrix * X)
+{
+    if ( _p.get_dimension() != X->get_nb_cols() )
+    {
+        throw NOMAD::Exception ( __FILE__ , __LINE__ ,
+                                "Sgtelib_Model_Manager::_set_model_bounds() dimension does not match" );
+    }
+    
+    int nb_dim = X->get_nb_cols();
+    int nb_points = X->get_nb_rows();
+    
+    // Build model bounds
+    NOMAD::Double lb;
+    NOMAD::Double ub;
+    
+    for ( int j=0 ; j<nb_dim ; j++)
+    {
+        lb = _model_lb.get_coord(j);
+        ub = _model_ub.get_coord(j);
+        for ( int p=0 ; p<nb_points ; p++ )
+        {
+            lb = min( lb , NOMAD::Double(X->get(p,j)) );
+            ub = max( ub , NOMAD::Double(X->get(p,j)) );
+        }
+        _model_lb.set_coord(j,lb);
+        _model_ub.set_coord(j,ub);
+    }
+}
+
+
+
+/*------------------------------------------------------------------------*/
+/*                          Extended Bounds                               */
+/*------------------------------------------------------------------------*/
+
+NOMAD::Point NOMAD::Sgtelib_Model_Manager::get_extended_lb(void)
+{
+    NOMAD::Point ext_lb = _p.get_lower_bound();
+    NOMAD::Double vi;
+    for ( int i=0 ; i < _p.get_dimension() ; i++ )
+    {
+        vi = _p.get_lower_bound().get_coord(i);
+        if ( ( ! vi.is_defined() ) || ( isnan(vi.value() ) ) )
+            ext_lb[i] = _model_lb[i] - max(Double(10.0),_model_ub[i]-_model_lb[i]);
+    }
+    return ext_lb;
+}//
+
+NOMAD::Point NOMAD::Sgtelib_Model_Manager::get_extended_ub(void)
+{
+    NOMAD::Point ext_ub = _p.get_upper_bound();
+    NOMAD::Double vi;
+    for ( int i = 0 ; i < _p.get_dimension() ; i++ )
+    {
+        vi = _p.get_upper_bound().get_coord(i);
+        if ( (!vi.is_defined()) || (isnan(vi.value())) )
+            ext_ub[i] = _model_ub[i] + max(Double(10.0),_model_ub[i]-_model_lb[i]);
+    }
+    return ext_ub;
+}//
+
+
+/*----------------------------------------------------------------*/
+/*     compute model h and f values given one blackbox output     */
+/*----------------------------------------------------------------*/
+void NOMAD::Sgtelib_Model_Manager::eval_h  ( const NOMAD::Point  & bbo    ,
+                                            NOMAD::Double       & h       ) const
+{
+    const NOMAD::Double h_min = _p.get_h_min();
+    const NOMAD::hnorm_type h_norm =_p.get_h_norm();
+    
+    h = 0.0;
+    const int m = bbo.size();
+    const std::vector<NOMAD::bb_output_type> bbot = _p.get_bb_output_type();
+    
+    if ( m != static_cast<int>(bbot.size()) )
+    {
+        std::cout << "Sgtelib_Model_Manager::eval_h() called with an invalid bbo argument" << std::endl;
+        throw NOMAD::Exception ( __FILE__ , __LINE__ ,
+                                "Sgtelib_Model_Manager::eval_h() called with an invalid bbo argument" );
+    }
+    NOMAD::Double bboi;
+    for ( int i = 0 ; i < m ; ++i )
+    {
+        bboi = bbo[i];
+        if ( bboi.is_defined() )
+        {
+            if ( bbot[i] == NOMAD::EB || bbot[i] == NOMAD::PEB_E )
+            {
+                if ( bboi > h_min )
+                {
+                    h = +INF;
+                    return;
+                }
+            }
+            else if ( ( bbot[i] == NOMAD::FILTER ||
+                       bbot[i] == NOMAD::PB     ||
+                       bbot[i] == NOMAD::PEB_P     ) )
+            {
+                if ( bboi > h_min )
+                {
+                    switch ( h_norm )
+                    {
+                        case NOMAD::L1:
+                            h += bboi;
+                            break;
+                        case NOMAD::L2:
+                            h += bboi * bboi;
+                            break;
+                        case NOMAD::LINF:
+                            if ( bboi > h )
+                                h = bboi;
+                            break;
+                    }
+                }
+            }
+            
+        }
+    }
+    if ( h_norm == NOMAD::L2 )
+        h = h.sqrt();
+    
+}// Fin de la methode
+
+
+
+/*------------------------------------------------------------------------*/
+/*          Compute which formulation must be used in the eval_x          */
+/*------------------------------------------------------------------------*/
+const NOMAD::sgtelib_model_formulation_type NOMAD::Sgtelib_Model_Manager::get_formulation( void )
+{
+    
+    NOMAD::sgtelib_model_formulation_type formulation = _p.get_SGTELIB_MODEL_FORMULATION();
+    //std::cout << __FILE__ << __LINE__ << " ready = " << _ready ;
+    if ( (formulation != NOMAD::SGTELIB_MODEL_FORMULATION_EXTERN) && ( ! _ready) ){
+        formulation = NOMAD::SGTELIB_MODEL_FORMULATION_D;
+      //std::cout << " ... use formulation D";
+    }
+    //std::cout << std::endl;
+    
+    return formulation;
+}
+
+/*------------------------------------------------------------------------*/
+/*          Check that h & f are defined, and if not, correct it          */
+/*------------------------------------------------------------------------*/
+void NOMAD::Sgtelib_Model_Manager::check_hf ( NOMAD::Eval_Point   * x )
+{
+    
+    NOMAD::Double f = x->get_f();
+    NOMAD::Double h = x->get_h();
+    
+    if ( ! f.is_defined() )
+        f = x->get_bb_outputs().get_coord(_p.get_index_obj().front());
+    
+    if ( ! h.is_defined() )
+        eval_h ( x->get_bb_outputs() , h );
+    
+    if ( ( ! f.is_defined()) || ( ! h.is_defined()) )
+    {
+        f = INF;
+        h = INF;
+    }
+    x->set_f(f);
+    x->set_h(h);
+    
+}
+
+
+/*------------------------------------------------------------------------*/
+/*                evaluate the sgtelib_model model at a given point       */
+/*------------------------------------------------------------------------*/
+bool NOMAD::Sgtelib_Model_Manager::eval_x ( NOMAD::Eval_Point   * x          ,
+	                                          const NOMAD::Double & h_max      ,
+                                          	bool                & count_eval )
+{
+    int i;
+    const int dim = _p.get_dimension();
+    const int nbbo = _p.get_bb_nb_outputs();
+    const NOMAD::Double diversification = _p.get_SGTELIB_MODEL_DIVERSIFICATION();
+    const NOMAD::Display & out = _p.out();    
+
+    const bool bool_display = (string_find(_p.get_SGTELIB_MODEL_DISPLAY(),"X"));
+    
+    if ( bool_display )
+    {
+        out.open_block("Model evaluation");
+        out << "X = (";
+        for ( i = 0 ; i < dim ; i++ )
+        {
+            std::cout << x->get_coord(i).value() << " ";
+        }
+        out << ")" << std::endl;
+    }
+    
+    
+    // --------------------- //
+    // In/Out Initialisation //
+    // --------------------- //
+    
+    // Creation of matrix for input / output of SGTELIB model
+    SGTELIB::Matrix X_predict   ( "X_predict"   , 1 , dim );
+    
+    // Set the input matrix
+    for ( i = 0 ; i < dim ; i++ )
+    {
+        X_predict.set(0,i, x->get_coord(i).value()   );
+    }
+    // reset point outputs:
+    // Par défaut, on met tout à -1
+    for ( i = 0 ; i < nbbo ; ++i )
+        x->set_bb_output ( i , NOMAD::Double(-1) );
+    
+    
+    // ------------------------- //
+    //   Objective Prediction    //
+    // ------------------------- //
+    
+    
+    // Declaration of the stastistical measurements
+    NOMAD::Double pf = 1; // P[x]
+    NOMAD::Double f = 0; // predicted mean of the objective
+    NOMAD::Double sigma_f = 0; // predicted variance of the objective
+    NOMAD::Double pi = 0; // probability of improvement
+    NOMAD::Double ei = 0; // expected improvement
+    NOMAD::Double efi = 0; // expected feasible improvement
+    NOMAD::Double pfi = 0; // probability of feasible improvement
+    NOMAD::Double mu = 0; // uncertainty on the feasibility
+    NOMAD::Double penalty = 0; // exclusion area penalty
+    NOMAD::Double d = 0; // Distance to closest point of the cache
+    NOMAD::Double h = 0; // Constraint violation
+    
+    // FORMULATION USED IN THIS EVAL_X
+    const NOMAD::sgtelib_model_formulation_type formulation = get_formulation();
+    
+    
+    // Shall we compute statistical criterias
+    bool use_statistical_criteria = false;
+    switch (formulation)
+    {
+        case NOMAD::SGTELIB_MODEL_FORMULATION_FS:
+            use_statistical_criteria = (diversification != 0);
+            break;
+        case NOMAD::SGTELIB_MODEL_FORMULATION_FSP:
+        case NOMAD::SGTELIB_MODEL_FORMULATION_EIS:
+        case NOMAD::SGTELIB_MODEL_FORMULATION_EFI:
+        case NOMAD::SGTELIB_MODEL_FORMULATION_EFIS:
+        case NOMAD::SGTELIB_MODEL_FORMULATION_EFIM:
+        case NOMAD::SGTELIB_MODEL_FORMULATION_EFIC:
+        case NOMAD::SGTELIB_MODEL_FORMULATION_PFI:
+            use_statistical_criteria = true;
+            break;
+        case NOMAD::SGTELIB_MODEL_FORMULATION_D:
+            use_statistical_criteria = false;
+            break;
+        case NOMAD::SGTELIB_MODEL_FORMULATION_EXTERN:
+        case NOMAD::SGTELIB_MODEL_FORMULATION_UNDEFINED:
+            throw SGTELIB::Exception ( __FILE__ , __LINE__ , "Forbiden formulation" );
+            break;
+    }
+    if ( bool_display )
+    {
+        out << "Formulation: "
+        << sgtelib_model_formulation_type_to_string ( formulation )
+        << "; compute stat: " << use_statistical_criteria
+        << "; found_feasible : " << _found_feasible << std::endl;
+    }
+    
+    
+    // Init the matrices for prediction
+    SGTELIB::Matrix   M_predict (   "M_predict" , 1 , _nb_models );
+    SGTELIB::Matrix STD_predict ( "STD_predict" , 1 , _nb_models );
+    SGTELIB::Matrix CDF_predict ( "CDF_predict" , 1 , _nb_models );
+    SGTELIB::Matrix  EI_predict (  "EI_predict" , 1 , _nb_models );
+    
+    // Prediction
+    if ( formulation == NOMAD::SGTELIB_MODEL_FORMULATION_D )
+    {
+        d = _trainingset->get_distance_to_closest(X_predict).get(0,0);
+        if ( bool_display )
+        {
+            out << "d = " << d << std::endl;
+        }
+    }
+    else if ( formulation == NOMAD::SGTELIB_MODEL_FORMULATION_EXTERN )
+    {
+        throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+                                  "Sgtelib_Model_Manager::eval_x: Formulation Extern should not been called in this context." );
+    }
+    else
+    {
+        if ( bool_display )
+        {
+            out << "Predict... ";
+        }
+        _model->build();
+        _model->check_ready(__FILE__,__FUNCTION__,__LINE__);
+        if (use_statistical_criteria)
+            _model->predict( X_predict , &M_predict , &STD_predict , &EI_predict , &CDF_predict );
+        else
+            _model->predict(X_predict,&M_predict);
+        
+        if ( bool_display )
+            out << "ok" << std::endl;
+    }
+    
+    // Get the prediction from the matrices
+    f = M_predict.get(0,0);
+    
+    if ( use_statistical_criteria )
+    {
+        // If no feasible points is found so far, then sigma_f, ei and pi are bypassed.
+        if ( _found_feasible )
+        {
+            sigma_f = STD_predict.get(0,0);
+            pi      = CDF_predict.get(0,0);
+            ei      = EI_predict.get(0,0);
+        }
+        else
+        {
+            sigma_f = 1.0; // This inhibits the exploration term in regard to the objective
+            pi      = 1.0; // This implies that pfi = pf
+            ei      = 1.0; // This implies that efi = pf
+        }
+        if ( bool_display )
+            out << "F = " << f << " +/- " << sigma_f << std::endl;
+        
+    }
+    else
+    {
+        if ( bool_display )
+            out << "F = " << f << std::endl;
+    }
+    
+    
+    // ====================================== //
+    // Constraints display                    //
+    // ====================================== //
+    
+    if ( bool_display )
+    {
+        switch ( _p.get_SGTELIB_MODEL_FEASIBILITY() )
+        {
+            case NOMAD::SGTELIB_MODEL_FEASIBILITY_C:
+                if (use_statistical_criteria){
+                  for ( i = 1 ; i < _nb_models ; i++ )
+                  {
+                      out << "C" << i << " = " << M_predict.get(0,i)
+                      << " +/- "    << STD_predict.get(0,i)
+                      << " (CDF : " << CDF_predict.get(0,i) << ")" << std::endl;
+                  }
+                }
+                else{
+                  out << "C = [ ";
+                  for ( i = 1 ; i < _nb_models ; i++ ) out << M_predict.get(0,i) << " ";
+                  out << " ]" << std::endl;
+                }
+                break;
+            case NOMAD::SGTELIB_MODEL_FEASIBILITY_H:
+                out << "Feasibility_Method : H (Aggregate prediction)" << std::endl;
+                out << "H = " << M_predict.get(0,1) << " +/- " << STD_predict.get(0,1) << " (CDF : " << CDF_predict.get(0,1) << ")" << std::endl;
+                break;
+            case NOMAD::SGTELIB_MODEL_FEASIBILITY_B:
+                out << "Feasibility_Method : B (binary prediction)" << std::endl;
+                out << "B = " << M_predict.get(0,1)  << " (CDF : " << CDF_predict.get(0,1) << ")" << std::endl;
+                break;
+            case NOMAD::SGTELIB_MODEL_FEASIBILITY_M:
+                out << "Feasibility_Method : M (Biggest constraint prediction)" << std::endl;
+                out << "M = " << M_predict.get(0,1) << " +/- " << STD_predict.get(0,1) << " (CDF : " << CDF_predict.get(0,1) << ")" << std::endl;
+                break;
+            case NOMAD::SGTELIB_MODEL_FEASIBILITY_UNDEFINED:
+                out << "SGTELIB_MODEL_FEASIBILITY_UNDEFINED" << std::endl;
+                break;
+        }
+    }
+    
+    
+    
+    
+    // ====================================== //
+    // Computation of statistical criteria    //
+    // ====================================== //
+    if ( use_statistical_criteria )
+    {
+        pf = 1; // General probability of feasibility
+        NOMAD::Double pfj; // Probability of feasibility for constrait cj
+        NOMAD::Double L2 = 0;
+        if ( _p.has_constraints() )
+        {
+            // Use the CDF of each output in C
+            // If there is only one output in C (models B, H and M) then pf = CDF)
+            for ( i = 1 ; i < _nb_models ; i++ )
+            {
+                pfj = CDF_predict.get(0,i);
+                L2 += max( 0 , M_predict.get(0,i)).pow2();
+                pf *= pfj;
+            }
+        } // end (if constraints)
+        if ( ( !_found_feasible ) && (pf == 0) )
+        {
+            pf = 1.0/(1.0+L2);
+            if ( bool_display )
+            {
+                out << "pf = 0 and L2 = " << L2 << " => pF = " << pf << std::endl;
+            }
+        }
+        pfi = pi*pf;
+        efi = ei*pf;
+        mu = 4*pf*(1-pf);
+    }
+    
+    // ====================================== //
+    // Application of the formulation         //
+    // ====================================== //
+    const std::vector<NOMAD::bb_output_type> bbot = _p.get_bb_output_type();
+    NOMAD::Double obj;
+    int obj_index = _p.get_index_obj().front();
+    int k;
+    switch ( formulation )
+    {
+      case NOMAD::SGTELIB_MODEL_FORMULATION_FS:
+          // Define obj
+          obj = f - diversification*sigma_f;
+          // Set constraints
+          k = 0;
+          for ( i = 0 ; i < nbbo ; i++ )
+          {
+            if ( bbot[i] != NOMAD::OBJ )
+            {
+                x->set_bb_output( i , M_predict.get(0,k+1) - diversification*STD_predict.get(0,k+1) );
+                k++;
+            }
+          }
+          break;
+      case NOMAD::SGTELIB_MODEL_FORMULATION_FSP:
+          // Define obj
+          obj = f - diversification*sigma_f;
+          // Set constraints
+          for ( i = 0 ; i < nbbo ; i++ )
+          {
+              if ( bbot[i] != NOMAD::OBJ )
+                  x->set_bb_output( i , 0.5 - pf );
+          }
+          break;
+      case NOMAD::SGTELIB_MODEL_FORMULATION_EIS:
+          // Define obj
+          obj = - ei - diversification*sigma_f;
+          // Set constraints
+          k = 0;
+          for ( i = 0 ; i < nbbo ; i++ )
+          {
+              if ( bbot[i] != NOMAD::OBJ )
+              {
+                  x->set_bb_output( i , M_predict.get(0,k+1) - diversification*STD_predict.get(0,k+1) );
+                  k++;
+              }
+          }
+          break;
+      case NOMAD::SGTELIB_MODEL_FORMULATION_EFI:
+          obj = -efi;
+          break;
+      case NOMAD::SGTELIB_MODEL_FORMULATION_EFIS:
+          obj = -efi - diversification*sigma_f;
+          break;
+      case NOMAD::SGTELIB_MODEL_FORMULATION_EFIM:
+          obj = -efi - diversification*sigma_f*mu;
+          break;
+      case NOMAD::SGTELIB_MODEL_FORMULATION_EFIC:
+          obj = -efi - diversification*( ei*mu + pf*sigma_f);
+          break;
+      case NOMAD::SGTELIB_MODEL_FORMULATION_PFI:
+          obj = -pfi;
+          break;
+      case NOMAD::SGTELIB_MODEL_FORMULATION_D:
+          obj = -d;
+          break;
+      case NOMAD::SGTELIB_MODEL_FORMULATION_EXTERN:
+          out<< "SGTELIB_MODEL_FORMULATION_EXTERN" << std::endl;
+          break;
+      case NOMAD::SGTELIB_MODEL_FORMULATION_UNDEFINED:
+          out<< "SGTELIB_MODEL_FORMULATION_UNDEFINED" << std::endl;
+          break;
+    }
+    
+    // ------------------------- //
+    //   exclusion area          //
+    // ------------------------- //
+    
+    double tc = _p.get_SGTELIB_MODEL_EXCLUSION_AREA().value();
+    if ( tc > 0.0 )
+    {
+        penalty = _model->get_exclusion_area_penalty ( X_predict,tc ).get(0,0);
+        obj += penalty;
+    }
+    
+    
+    
+    // ------------------------- //
+    //   Set obj                 //
+    // ------------------------- //
+    x->set_bb_output( obj_index , obj );
+    eval_h ( x->get_bb_outputs() , h );
+    x->set_f ( obj );
+    x->set_h ( h );
+    
+    // ================== //
+    //       DISPLAY      //
+    // ================== //
+    if ( bool_display )
+    {
+        if ( use_statistical_criteria )
+        {
+            out << "f_min                    f_min = " << _trainingset->get_f_min() << std::endl;
+            out << "Probability of Feasibility PF  = " << pf << std::endl;
+            out << "Feasibility Uncertainty    mu  = " << mu << std::endl;
+            out << "Probability Improvement    PI  = " << pi << std::endl;
+            out << "Exptected Improvement      EI  = " << ei << std::endl;
+            out << "Proba. of Feasible Imp.    PFI = " << pfi << std::endl;
+            out << "Expected Feasible Imp.     EFI = " << efi << std::endl;
+        }
+        out << "Exclusion area penalty = " << penalty << std::endl;
+        out << "Model Output = (" << x->get_bb_outputs() << ")" << std::endl;
+        if ( isnan( pf.value() ) || isnan( pi.value() ) )
+        {
+            throw SGTELIB::Exception ( __FILE__ , __LINE__ ,
+                                      "Sgtelib_Model_Manager::eval_x: nan values in pi or pf." );
+        }
+        out.close_block();
+    }
+    
+    
+    // ================== //
+    // Statut de sortie   //
+    // ================== //
+    count_eval = true;
+    x->set_eval_status ( NOMAD::EVAL_OK );
+    return true;
+    
+    
+}// Fin de la methode
+
+
+/*------------------------------------------------------------------------*/
+/*         get fmin from the training set                                 */
+/*------------------------------------------------------------------------*/
+NOMAD::Double NOMAD::Sgtelib_Model_Manager::get_f_min (void)
+{
+    if ( _trainingset->is_ready() )
+    {
+        std::cout << "(get_f_min : is ready!, " << _trainingset->get_nb_points() << ")" << std::endl;
+        return _trainingset->get_f_min();
+    }
+    else
+    {
+        std::cout << "(get_f_min : NOT ready!)" << std::endl;
+        return NaN;
+    }
+}//
+
diff --git a/src/Sgtelib_Model_Manager.hpp b/src/Sgtelib_Model_Manager.hpp
new file mode 100644
index 0000000..67b7d41
--- /dev/null
+++ b/src/Sgtelib_Model_Manager.hpp
@@ -0,0 +1,126 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2016  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+/**
+ \file   Sgtelib_Model_Manager.hpp
+ \brief  Handle the sgtelib_model model for the search and the eval_sort.
+ \author Bastien Talgorn
+ \date   2013-04-25
+ \see    Sgtelib_Model_Search.cpp
+ */
+
+#ifndef __SGTELIB_MODEL_MANAGER__
+#define __SGTELIB_MODEL_MANAGER__
+
+#include "Parameters.hpp"
+#include "Evaluator_Control.hpp"
+
+#include "sgtelib.hpp"
+
+
+
+namespace NOMAD {
+    
+    
+    // This class handle the Sgtelib_Model, the calls to this model, the predictions
+    // and the various parameters (formulation, lambda, etc...)
+    class Sgtelib_Model_Manager {
+        
+    private:
+        
+        // General data
+        const NOMAD::Parameters  & _p;  ///< Parameters.
+        NOMAD::Evaluator_Control * _ev_control; ///< Evaluator control.
+        
+        // MODEL
+        SGTELIB::TrainingSet * _trainingset;
+        SGTELIB::Surrogate   * _model;
+        
+        // the number of models
+        int _nb_models;
+        
+        int _highest_tag; // Plus haut tag actuellement contenu dans la cache
+        bool _ready;
+        bool _found_feasible; // True if a feasible point has been found
+        NOMAD::Point _model_lb; // lower bound
+        NOMAD::Point _model_ub; // upper bound
+        
+        // information sur la search
+        NOMAD::Double _search_pfi_max;
+        NOMAD::Double _search_efi_max;
+        NOMAD::Double _search_obj_min;
+        
+        //void _initialisation(void);
+        void _set_model_bounds (SGTELIB::Matrix * X);
+        
+    public:
+        
+        // Constructor
+        Sgtelib_Model_Manager ( NOMAD::Parameters & p , NOMAD::Evaluator_Control * ev_control );
+        
+        // Destructor.
+        ~Sgtelib_Model_Manager ( void ) { reset(); };
+        
+        bool is_ready(void);
+        void update(void);
+        void reset(void);
+        void info(void);
+        
+        // search_stats
+        void reset_search_stats(void);
+        void write_search_stats(void) const;
+        void update_search_stats( const NOMAD::Double & pfi,
+                                 const NOMAD::Double & efi,
+                                 const NOMAD::Double & obj);
+        
+        // Compute stats measurements from sgtelib_model outputs
+        
+        void eval_h (  const NOMAD::Point  & bbo    ,
+                     NOMAD::Double       & h      ) const;
+        
+        bool eval_x (  NOMAD::Eval_Point   * x          ,
+                     const NOMAD::Double & h_max      ,
+                     bool                & count_eval );
+        
+        const sgtelib_model_formulation_type get_formulation( void );
+        
+        void check_hf ( NOMAD::Eval_Point   * x );
+        
+        SGTELIB::Surrogate * get_model(void){return _model;}
+        
+        NOMAD::Evaluator_Control * get_evaluator_control(void){ return _ev_control;}
+        
+        NOMAD::Point get_extended_lb(void);
+        NOMAD::Point get_extended_ub(void);
+        
+        NOMAD::Double get_f_min (void);
+        
+        
+        
+    };// End of class
+}// End of Namespace
+
+#endif
+// #endif
+
diff --git a/src/Sgtelib_Model_Search.cpp b/src/Sgtelib_Model_Search.cpp
new file mode 100644
index 0000000..29d17a9
--- /dev/null
+++ b/src/Sgtelib_Model_Search.cpp
@@ -0,0 +1,1913 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2016  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+/**
+ \file   Sgtelib_Model_Search.cpp
+ \brief  Model search using the sgtelib_model surrogate library.
+ \author Bastien Talgorn
+ \date   2013-04-25
+ \see    Sgtelib_Model_Manager.cpp
+ */
+
+#include "Sgtelib_Model_Search.hpp"
+
+/*-----------------------------------*/
+/*           reset (virtual)         */
+/*-----------------------------------*/
+void NOMAD::Sgtelib_Model_Search::reset ( void )
+{
+    delete _start_point_1;
+    delete _start_point_2;
+}
+
+/*--------------------------------------------------------*/
+/*  delete a list of points: one version for points, and  */
+/*  one version for evaluation points (static, private)   */
+/*--------------------------------------------------------*/
+void NOMAD::Sgtelib_Model_Search::clear_pts ( std::vector<NOMAD::Point *> & pts )
+{
+    size_t k , n = pts.size();
+    for ( k = 0 ; k < n ; ++k )
+        delete pts[k];
+    pts.clear();
+}//
+
+void NOMAD::Sgtelib_Model_Search::clear_pts ( std::vector<NOMAD::Eval_Point *> & pts )
+{
+    size_t k , n = pts.size();
+    for ( k = 0 ; k < n ; ++k )
+        delete pts[k];
+    pts.clear();
+}//
+
+
+/*------------------------------------------------------------------*/
+/*                             the search                           */
+/*------------------------------------------------------------------*/
+/* Search parameters:                                               */
+/* ------------------                                               */
+/*                                                                  */
+/*  . MODEL_SEARCH: flag to activate the model search (MS)          */
+/*                  (here its value is NOMAD::Sgtelib_Model)        */
+/*                                                                  */
+/*  . MODEL_SEARCH_OPTIMISTIC: if true, the direction from the      */
+/*                             model center to the trial point      */
+/*                             is computed and possibly  used       */
+/*                             in the speculative search            */
+/*                             default=yes                          */
+/*                                                                  */
+/*  . MODEL_SEARCH_PROJ_TO_MESH: project or not to mesh             */
+/*                               default=yes                        */
+/*                                                                  */
+/*  . MODEL_SEARCH_MAX_TRIAL_PTS: limit on the number of trial      */
+/*                                points for one search             */
+/*                                default=10                        */
+/*                                                                  */
+/*------------------------------------------------------------------*/
+void NOMAD::Sgtelib_Model_Search::search ( NOMAD::Mads              & mads           ,
+                                          int                      & nb_search_pts  ,
+                                          bool                     & stop           ,
+                                          NOMAD::stop_type         & stop_reason    ,
+                                          NOMAD::success_type      & success        ,
+                                          bool                     & count_search   ,
+                                          const NOMAD::Eval_Point *& new_feas_inc   ,
+                                          const NOMAD::Eval_Point *& new_infeas_inc   )
+{
+    new_feas_inc  = new_infeas_inc = NULL;
+    nb_search_pts = 0;
+    success       = NOMAD::UNSUCCESSFUL;
+    count_search  = false;
+    const NOMAD::Display    & out = _p.out();
+    const NOMAD::dd_type display_degree = out.get_search_dd();
+    //const bool bool_display = ( string_find(_p.get_SGTELIB_MODEL_DISPLAY(),"S") or (display_degree == NOMAD::FULL_DISPLAY) );
+    const bool bool_display = ( _p.get_SGTELIB_MODEL_DISPLAY().size() || (display_degree == NOMAD::FULL_DISPLAY) );
+    
+    // initial displays:
+    if ( bool_display )
+    {
+        std::ostringstream oss;
+        oss << NOMAD::MODEL_SEARCH << " #"
+        << _all_searches_stats.get_MS_nb_searches();
+        out << std::endl;
+        out.open_block ( oss.str() );
+    }
+    
+    
+    
+    NOMAD::Double fmin_old;
+    if (mads.get_best_feasible())
+        fmin_old = mads.get_best_feasible()->get_f();
+    else
+        fmin_old = NOMAD::INF;
+    
+    _one_search_stats.reset();
+    
+    
+    int display_lim = 15;
+    
+    if ( stop )
+    {
+        if ( bool_display )
+            out << "Sgtelib_Model_Search::search(): not performed (stop flag is active)"
+            << std::endl;
+        return;
+    }
+    
+    // active cache (we accept only true function evaluations):
+    const NOMAD::Cache & cache = mads.get_cache();
+    if ( cache.get_eval_type() != NOMAD::TRUTH )
+    {
+        if ( bool_display )
+            out << "Sgtelib_Model_Search::search(): not performed on surrogates"
+            << std::endl;
+        return;
+    }
+    
+    // check that there is one objective exactly:
+    const std::list<int> & index_obj_list = _p.get_index_obj();
+    if ( index_obj_list.empty() )
+    {
+        if ( bool_display )
+            out << "Sgtelib_Model_Search::search(): not performed with no objective function"
+            << std::endl;
+        return;
+    }
+    if ( index_obj_list.size() > 1 )
+    {
+        if ( bool_display )
+            out << "Sgtelib_Model_Search::search(): not performed with biobjective"
+            << std::endl;
+        return;
+    }
+    
+    // active barrier:
+    const NOMAD::Barrier & barrier = mads.get_true_barrier();
+    
+    // get the incumbent:
+    const NOMAD::Eval_Point * incumbent = barrier.get_best_feasible();
+    if ( !incumbent )
+        incumbent = barrier.get_best_infeasible();
+    if ( !incumbent )
+    {
+        if ( bool_display )
+            out << "Sgtelib_Model_Search::search(): no incumbent"
+            << std::endl;
+        return;
+    }
+    
+    // get and check the signature, and compute the dimension:
+    NOMAD::Signature * signature = incumbent->get_signature();
+    
+    if ( !signature )
+    {
+        if ( bool_display )
+            out << "Sgtelib_Model_Search::search(): no signature"
+            << std::endl;
+        return;
+    }
+    
+    int n = signature->get_n();
+    
+    if ( n != incumbent->size() )
+    {
+        if ( bool_display )
+            out << "Sgtelib_Model_Search::search(): incompatible signature"
+            << std::endl;
+        return;
+    }
+    
+    
+    
+    // from this point the search is counted:
+    count_search = true;
+    _one_search_stats.add_MS_nb_searches();
+    
+    // mesh:
+    NOMAD::Point delta_m;
+    signature->get_mesh()->get_delta(delta_m);
+    
+    // initial displays:
+    if ( bool_display )
+    {
+        out << "number of cache points: " << cache.size()    << std::endl;
+        out << "mesh size parameter: ( " << delta_m << " )" << std::endl;
+        out << "incumbent: ( ";
+        incumbent->NOMAD::Point::display( out , " " , 2 , NOMAD::Point::get_display_limit() );
+        out << " )" << std::endl;
+    }
+    
+    // Get mads & ev_ctrl
+    NOMAD::Stats & stats = mads.get_stats();
+    NOMAD::Evaluator_Control * ev_control = _sgtelib_model_manager->get_evaluator_control();
+    
+    const int kkmax = _p.get_SGTELIB_MODEL_TRIALS();
+    
+    // MULTIPLE_SEARCH
+    for (int kk=0 ; kk<kkmax ; kk++)
+    {
+        
+        /*----------------*/
+        /*  Model update  */
+        /*----------------*/
+        _sgtelib_model_manager->update();
+        
+        /*----------------*/
+        /*  oracle points */
+        /*----------------*/
+        
+        std::vector<NOMAD::Point *> oracle_pts;
+        if ( ! create_oracle_pts ( mads          ,
+                                  *incumbent     ,
+                                  delta_m        ,
+                                  out            ,
+                                  display_degree ,
+                                  display_lim    ,
+                                  oracle_pts     ,
+                                  stop           ,
+                                  stop_reason      ) && stop )
+        {
+            
+            if ( bool_display )
+                out << "fail: create_oracle_pts" << std::endl;
+            
+            
+            // delete oracle_pts:
+            NOMAD::Sgtelib_Model_Search::clear_pts ( oracle_pts );
+            
+            // quit:
+            if ( bool_display )
+                out << NOMAD::close_block ( "algorithm stop" ) << std::endl;
+            
+            return;
+        }
+        
+        /*------------------*/
+        /*  Register points */
+        /*------------------*/
+        
+        // add the trial points to the evaluator control for evaluation:
+        int i , nop = static_cast<int>(oracle_pts.size());
+        
+        for ( i = 0 ; i < nop ; ++i )
+            register_point ( *oracle_pts[i] ,
+                            *signature     ,
+                            *incumbent     ,
+                            display_degree );
+        
+        // display the evaluator control list of points:
+        if ( bool_display )
+        {
+            out.open_block ( "list of trial points" );
+            const std::set<NOMAD::Priority_Eval_Point> & lop = ev_control->get_eval_lop();
+            std::set<NOMAD::Priority_Eval_Point>::const_iterator it , end = lop.end();
+            nop = static_cast<int>(lop.size());
+            for ( it = lop.begin() , i = 0 ; it != end ; ++it , ++i )
+            {
+                out << "#";
+                out.display_int_w ( i , nop );
+                out << " x=( ";
+                it->get_point()->NOMAD::Point::display ( out , " " , 15 , -1 );
+                out << " )" << std::endl;
+            }
+            out.close_block();
+        }
+        
+        // delete the trial points
+        NOMAD::Sgtelib_Model_Search::clear_pts ( oracle_pts   );
+        
+        nb_search_pts = ev_control->get_nb_eval_points();
+        
+        
+        /*---------------------------*/
+        /* Evaluate the trial points */
+        /*---------------------------*/
+        bool cache_hit = false;
+        if ( nb_search_pts == 0 )
+        {
+            if ( bool_display )
+                out << std::endl << "no trial point" << std::endl;
+        }
+        else
+        {
+            _one_search_stats.update_MS_max_search_pts ( nb_search_pts );
+            int bbe        = stats.get_bb_eval();
+            int sgte_eval  = stats.get_sgte_eval ();
+            int cache_hits = stats.get_cache_hits();
+            
+            new_feas_inc = new_infeas_inc = NULL;
+            
+            ev_control->disable_model_eval_sort();
+            
+            std::list<const NOMAD::Eval_Point *> * evaluated_pts = NULL;
+            if ( bool_display )
+                evaluated_pts = new std::list<const NOMAD::Eval_Point *>;
+            
+            ev_control->eval_list_of_points ( _type                  ,
+                                             mads.get_true_barrier() ,
+                                             mads.get_sgte_barrier() ,
+                                             mads.get_pareto_front() ,
+                                             stop                    ,
+                                             stop_reason             ,
+                                             new_feas_inc            ,
+                                             new_infeas_inc          ,
+                                             success                 ,
+                                             evaluated_pts             );
+            ev_control->enable_model_eval_sort();
+        
+            delete evaluated_pts;
+            
+            cache_hit = (cache_hits<stats.get_cache_hits());
+            
+            // update stats:
+            _one_search_stats.add_MS_bb_eval    ( stats.get_bb_eval   () - bbe        );
+            _one_search_stats.add_MS_sgte_eval  ( stats.get_sgte_eval () - sgte_eval  );
+            _one_search_stats.add_MS_cache_hits ( stats.get_cache_hits() - cache_hits );
+            _one_search_stats.add_MS_pts ( nb_search_pts );
+            
+            // Success ??
+            if ( success >= NOMAD::FULL_SUCCESS )
+            {
+                success = NOMAD::FULL_SUCCESS_STAY;
+                _one_search_stats.add_MS_success();
+                break;
+            }
+        }
+        if ( bool_display )
+        {
+            out << "Trial outcome: ";
+            if ( cache_hit )
+                out << "=> Cache hit" << std::endl;
+            else if ( nb_search_pts == 0 )
+                out << "=> No trial point" << std::endl;
+            else
+                out << "=> " << success << std::endl;
+        }
+        
+    } // end loop kk
+    
+    // update stats objects:
+    stats.update_model_stats   ( _one_search_stats );
+    _all_searches_stats.update ( _one_search_stats );
+    
+    // final display:
+    if ( bool_display )
+    {
+        const NOMAD::Eval_Point * bf = mads.get_best_feasible();
+        
+        out << "Sgtelib model search: " << success << std::endl;
+        if ( ( success >= NOMAD::FULL_SUCCESS ) && (bf) )
+        {
+            const double fmin_new = bf->get_f().value();
+            out << "fmin (old-->new): " << fmin_old << " --> " << fmin_new << std::endl;
+            out << "Improvement: " << fmin_old-fmin_new << std::endl;
+        }
+        // Close block
+        std::ostringstream oss;
+        oss << "end of " << NOMAD::MODEL_SEARCH << " (" << success << ")";
+        out << NOMAD::close_block ( oss.str() ) << std::endl;
+    }
+    
+}// end search
+
+
+
+
+
+
+
+/*-------------------------------------------------------------------*/
+/*  create a list of oracle points, given by the model optimization  */
+/*  (private)                                                        */
+/*-------------------------------------------------------------------*/
+bool NOMAD::Sgtelib_Model_Search::create_oracle_pts
+( const NOMAD::Mads                     & mads          ,
+ const NOMAD::Point                     & incumbent      ,
+ const NOMAD::Point                     & delta_m        ,
+ const NOMAD::Display                   & out            ,
+ NOMAD::dd_type                           display_degree ,
+ int                                      display_lim    ,
+ std::vector<NOMAD::Point *>            & oracle_pts     ,
+ bool                                   & stop           ,
+ NOMAD::stop_type                       & stop_reason      )
+{
+    int i;
+    const NOMAD::Cache & cache = mads.get_cache();
+    const bool bool_display = (display_degree == NOMAD::FULL_DISPLAY) ;
+    
+    
+    // starting points selection:
+    //---------------------------
+    const NOMAD::Eval_Point * x0s[4];
+    x0s[0] = x0s[1] = x0s[2] = x0s[3] = NULL;
+    
+    i = 0;
+    if ( mads.get_best_feasible() )
+    {
+        x0s[i] = new NOMAD::Eval_Point( *mads.get_best_feasible() );
+        i++;
+    }
+    if ( mads.get_best_infeasible() )
+    {
+        x0s[i] = new NOMAD::Eval_Point( *mads.get_best_infeasible() );
+        i++;
+    }
+    if ( _start_point_1 )
+    {
+        const int m = _p.get_bb_nb_outputs();
+        x0s[i] = new NOMAD::Eval_Point( *_start_point_1 , m );
+        i++;
+    }
+    if ( _start_point_2 )
+    {
+        const int m = _p.get_bb_nb_outputs();
+        x0s[i] = new NOMAD::Eval_Point( *_start_point_2 , m );
+        i++;
+    }
+    
+    if ( bool_display ) out.open_block ( "oracle points construction" );
+    
+    // reset oracle points:
+    NOMAD::Sgtelib_Model_Search::clear_pts ( oracle_pts );
+    NOMAD::Double         f_model , h_model;
+    
+    if ( !x0s[0] && !x0s[1] && !x0s[2] && !x0s[3] )
+    {
+        if ( bool_display )
+            out << std::endl
+            << NOMAD::close_block ( "oracle points error: no model starting point" )
+            << std::endl;
+        return false;
+    }
+    
+    // optimize model:
+    // ---------------
+    NOMAD::Clock clock;
+    
+    // CALLERXXX
+    bool optimization_ok = optimize_model ( cache          ,
+                                           incumbent      ,
+                                           delta_m        ,
+                                           x0s            ,
+                                           out            ,
+                                           display_degree ,
+                                           oracle_pts     ,
+                                           stop           ,
+                                           stop_reason    );
+    
+    
+    
+    
+    _one_search_stats.add_optimization_time ( clock.get_CPU_time() );
+    
+    
+    // Check for errors:
+    // -----------------
+    if ( stop || ! optimization_ok || oracle_pts.size()==0 )
+    {
+        std::string error_str;
+        if ( oracle_pts.size()==0 )
+            error_str = "no model optimization solution";
+        else
+        {
+            error_str = ( stop ) ? "algorithm stop" : "model optimization error";
+        }
+        if ( bool_display )
+            out << std::endl << NOMAD::close_block ( "oracle points error: " + error_str ) << std::endl;
+        return false;
+    }
+    
+    
+    // Display:
+    //---------
+    if ( bool_display )
+    {
+        out << std::endl
+        << NOMAD::close_block ( "end of oracle points construction" )
+        << std::endl;
+    }
+    
+    // Delete x0s
+    for ( i = 0 ; i < 4 ; i++)
+        if ( x0s[i] )
+            delete x0s[i];
+    
+    return true;
+}// end create_oracle_points
+
+
+/*------------------------------------------------------*/
+/*  filter cache                                        */
+/*------------------------------------------------------*/
+bool NOMAD::Sgtelib_Model_Search::filter_cache (  const NOMAD::Display & out            ,
+                                                const NOMAD::Cache   & cache          ,
+                                                const NOMAD::Cache   & cache_surrogate,
+                                                const int            & nb_candidates,
+                                                const double         & delta_m_norm,
+                                                std::vector<NOMAD::Point *> & oracle_pts )
+{
+    const bool bool_display = (string_find(_p.get_SGTELIB_MODEL_DISPLAY(),"F"));
+    const int pp = cache_surrogate.size();
+    const int n = _p.get_dimension();
+    int i,j,k;
+    double d,v;
+    const NOMAD::sgtelib_model_formulation_type formulation = _sgtelib_model_manager->get_formulation();
+    
+    //===========================================
+    // Compute objective, aggregate constraint,
+    // distance to main cache, and copy the search cache.
+    // ==========================================
+    // Objective function (prediction)
+    double * f = new double [pp];
+    // Aggregate constraint (prediction)
+    double * h = new double [pp];
+    // Feasibility value (max of cj)
+    double * hmax = new double [pp];
+    // Distance to main cache.
+    double * DX = new double [pp];
+    // Copy of the search point position.
+    double ** S = new double * [pp];
+    
+    const NOMAD::Eval_Point * cur1;
+    const NOMAD::Eval_Point * cur2;
+    NOMAD::Point bbo;
+    const std::vector<NOMAD::bb_output_type> bbot = _p.get_bb_output_type();
+    const int nbbo = _p.get_bb_nb_outputs();
+    
+    cur1 = cache_surrogate.begin();
+    i = 0;
+    
+    while ( cur1 )
+    {
+        NOMAD::Eval_Point * x = new NOMAD::Eval_Point(*cur1);
+        _sgtelib_model_manager->check_hf(x);
+        f[i] = x->get_f().value();
+        h[i] = x->get_h().value();
+        
+        if ( x->check_nan() )
+        {
+            f[i] = +INF;
+            h[i] = +INF;
+        }
+        
+        // hmax(x) = max_j c_j(x)
+        hmax[i] = -INF;
+        bbo = x->get_bb_outputs();
+        for ( j=0 ; j<nbbo ; j++)
+        {
+            if ( bbot_is_constraint(bbot[j]) )
+                hmax[i] = std::max(hmax[i],bbo[j].value());
+        }
+        
+        
+        // Compute distance to main cache
+        d = +INF;
+        cur2 = cache.begin();
+        while ( cur2 )
+        {
+            d = std::min(d,((*cur1)-(*cur2)).squared_norm().value());
+            cur2 = cache.next();
+        }
+        DX[i] = sqrt(d);
+        // Copy coordinates in S
+        S[i] = new double [n];
+        for (j=0 ; j<n ; j++) S[i][j] = cur1->get_coord(j).value();
+        // Move to next point
+        cur1 = cache_surrogate.next();
+        i++;
+    }
+    
+    
+    
+    //=======================================================
+    // Compute the distance between each pair of points of S
+    //=======================================================
+    if ( bool_display ){
+        out << "Compute distances" << std::endl;
+    }
+    // Allocate DSS
+    double ** DSS = new double * [pp];
+    for (i=0 ; i<pp ; i++) DSS[i] = new double [pp];
+    // Compute the distance between each pair of points
+    for (i=0 ; i<pp ; i++)
+    {
+        DSS[i][i] = 0;
+        for (j=i+1 ; j<pp ; j++)
+        {
+            d = 0;
+            for (k=0 ; k<n ; k++)
+            {
+                v = S[i][k]-S[j][k];
+                d += v*v;
+            }
+            DSS[i][j] = sqrt(d);
+            DSS[j][i] = DSS[i][j];
+        }
+    }
+    // delete S
+    for (i=0 ; i<pp ; i++)
+        delete [] S[i];
+    delete [] S;
+    
+    
+    
+    //=======================================================
+    // Compute initial isolation distances
+    // The isolation of a point i of the surrogate cache,
+    // is the distance to the closest point that is better than i.
+    //=======================================================
+    if ( bool_display )
+    {
+        out << "Compute isolations" << std::endl;
+    }
+    double * d_isolation = new double [pp];
+    for (i=0 ; i<pp ; i++)
+    {
+        d = +INF;
+        for (j=0 ; j<pp ; j++)
+        {
+            // If the point j is better than i
+            if ( (h[j]<h[i])||( (h[j]==h[i]) && (f[j]<f[i]) ) )
+            {
+                d = std::min(d,DSS[i][j]);
+            }
+        }
+        d_isolation[i] = d;
+    }
+    
+    //====================================================
+    // Greedy selection
+    //===================================================
+    
+    // Boolean for storing the indexes of selected points
+    bool * keep = new bool [pp];
+    int nkeep = 0;
+    
+    // Distance between search points and selected points
+    double * DT  = new double [pp];
+    double * DTX = new double [pp];
+    int * n_isolation  = new int [pp];
+    int * n_density = new int [pp];
+    // Init these values
+    for (i=0 ; i<pp ; i++)
+    {
+        keep[i] = false;
+        DT[i] = +INF;
+        DTX[i] = DX[i];
+        n_isolation[i] = -1;
+        n_density[i] = -1;
+    }
+    
+    
+    // Boolean array of size 10 indicating for each method of index 0 to 9,
+    // if the method should be used.
+    const int NB_METHODMAX = 10;
+    bool use_method[NB_METHODMAX];
+    int nb_methods = 0;
+    for (i=0 ; i<10 ; i++)
+    {
+        use_method[i] = (string_find(_p.get_SGTELIB_MODEL_FILTER(),itos(i)));
+        if (use_method[i])
+        {
+            nb_methods++;
+        }
+    }
+    
+    if ( bool_display )
+    {
+        out << "Used method: " ;
+        
+        // Select method
+        if ( formulation == NOMAD::SGTELIB_MODEL_FORMULATION_D )
+        {
+            out << "Method override. Use method 1" << std::endl;
+        }
+        else
+        {
+            for (i=0 ; i<10 ; i++)
+            {
+                if (use_method[i])
+                {
+                    out << i << " ";
+                }
+            }
+            out << "(total nb methods = " << nb_methods << ")" << std::endl;
+        }
+    }
+    
+    if (nb_methods==0)
+        throw NOMAD::Exception ( "Sgtelib_Model_Search.cpp" ,
+                                 __LINE__ ,"method index non valid" );
+    
+    
+    
+    
+    
+    
+    int failure = 0;
+    int ni, nmax, iselect;
+    double fmin, hmin, dmax;
+    int method = 0;
+    
+    // initial dmin, for method 2
+    double dmin = 0;
+    // Compute hmax threshold for method 3
+    // (Largest strictly negative value of hmax)
+    double hmax_threshold = -INF;
+    for (i=0 ; i<pp ; i++)
+    {
+        if (hmax[i]<0)
+            hmax_threshold = std::max(hmax_threshold,hmax[i]);
+    }
+    
+    
+    
+    if ( bool_display )
+    {
+        out << "Filter: Start greedy selection" << std::endl;
+    }
+    
+    
+    while ((nkeep<nb_candidates) && (failure<2*nb_methods))
+    {
+        
+        // Selected point
+        iselect = -1;
+        
+        // Select method
+        if ( formulation == NOMAD::SGTELIB_MODEL_FORMULATION_D ){
+            method = 1;
+        }
+        else
+        {
+            // Otherwise, cycle through all the methods
+            while (true)
+            {
+                method++;
+                if (method==NB_METHODMAX)
+                    method = 0;
+                if (use_method[method])
+                    break;
+            }
+        }
+        if ( bool_display )
+        {
+            out << "Method " << method;
+        }
+        
+        switch (method)
+        {
+                
+                
+                
+                //----------------------------------------
+            case 0:
+            {
+                // Method 0 : selects the best point
+                
+                // Select
+                fmin = +INF;
+                hmin = +INF;
+                for (i=0 ; i<pp ; i++)
+                {
+                    if ((!keep[i]) && (DTX[i]>0))
+                    {
+                        // Check if i is better than iselect
+                        bool bool1 = ( h[i]<hmin );
+                        bool bool2 = ( (h[i]==hmin) && (f[i]<fmin) );
+                        if ( bool1||bool2 )
+                        {
+                            hmin = h[i];
+                            fmin = f[i];
+                            iselect = i;
+                        }
+                    }
+                }
+            }
+                break;
+                
+                //----------------------------------------
+                // Special case for formulation D
+            case 1:
+            {
+                // Method 1 : selects the most distance point
+                dmax = 0;
+                for (i=0 ; i<pp ; i++)
+                {
+                    if ( ( ! keep[i]) && (DTX[i]>=dmax) )
+                    {
+                        dmax = DTX[i];
+                        iselect = i;
+                    }
+                }
+            }
+                break;
+                
+                
+                
+                //----------------------------------------
+            case 2:
+            {
+                // Method 2, selects the best point but with a minimum distance to points already selected
+                
+                // Distance threashold
+                if ( bool_display )
+                {
+                    out << ", dmin = " << dmin << std::endl;
+                }
+                
+                // Select
+                fmin = +INF;
+                hmin = +INF;
+                for (i=0 ; i<pp ; i++)
+                {
+                    if ( ( ! keep[i] ) && ( DTX[i] >= dmin ) )
+                    {
+                        // Check if i is better than iselect
+                        bool bool1 = ( h[i]<hmin );
+                        bool bool2 = ( (h[i]==hmin) && (f[i]<fmin) );
+                        if ( bool1||bool2 )
+                        {
+                            hmin = h[i];
+                            fmin = f[i];
+                            iselect = i;
+                        }
+                    }
+                }
+                if ( bool_display && (iselect != -1) )
+                {
+                    out << "d = " << DTX[iselect] << std::endl;
+                    out << "h select = " << hmin << std::endl;
+                }
+                if (iselect!=-1)
+                {
+                    dmin =  DTX[iselect] + delta_m_norm;
+                }
+                
+            }
+                break;
+                //----------------------------------------
+            case 3:
+            {
+                // Select the best points with a good enough value of hmax
+                
+                // Select
+                fmin = +INF;
+                for (i=0 ; i<pp ; i++)
+                {
+                    if ( (!keep[i]) && (hmax[i]<=hmax_threshold) && (f[i]<fmin) && (DTX[i]>delta_m_norm) )
+                    {
+                        fmin = f[i];
+                        iselect = i;
+                    }
+                }
+                if ( iselect == -1)
+                    hmax_threshold *= 0.5;
+                else
+                    hmax_threshold = 2.0*hmax[iselect];
+            }
+                break;
+                //----------------------------------------
+            case 4:
+            {
+                // Select point with highest isolation number
+                
+                nmax = 0;
+                for (i=0 ; i<pp ; i++)
+                {
+                    
+                    if ( ( ! keep[i]) && (d_isolation[i]>0) )
+                    {
+                        ni = n_isolation[i];
+                        // If criteria undef, then compute.
+                        if (ni==-1)
+                        {
+                            ni = 0;
+                            for (j=0 ; j<pp ; j++)
+                            {
+                                if ( DSS[i][j]<=d_isolation[i] ) ni++;
+                            }
+                            n_isolation[i] = ni;
+                        }
+                        // Keep biggest
+                        if (ni>nmax)
+                        {
+                            nmax = ni;
+                            iselect = i;
+                        }
+                    }
+                    
+                }// End for
+            }
+                break;
+                //----------------------------------------
+            case 5:
+            {
+                // Select point with highest density number
+                
+                nmax = 0;
+                for (i=0 ; i<pp ; i++)
+                {
+                    if ( ( ! keep[i]) && (DTX[i]>0) )
+                    {
+                        ni = n_density[i];
+                        // If criteria undef, then compute.
+                        if (ni==-1)
+                        {
+                            ni = 0;
+                            for (j=0 ; j<pp ; j++)
+                            {
+                                if ( DSS[i][j]<=DTX[i] ) ni++;
+                            }
+                            n_density[i] = ni;
+                        }
+                        // Keep biggest
+                        if (ni>nmax)
+                        {
+                            nmax = ni;
+                            iselect = i;
+                        }
+                    }
+                }// End for
+            }
+                break;
+                //----------------------------------------
+            default:
+                throw NOMAD::Exception ( "Sgtelib_Model_Search.cpp" ,
+                                        __LINE__ ,"method index non valid" );
+                //----------------------------------------
+        }// End switch
+        
+        // If a point was selected,
+        if ( (iselect>-1) & (!keep[iselect]) )
+        {
+            
+            if ( bool_display ){
+                out << "--> Selection of search point "<< iselect << std::endl;
+            }
+            // Note as selected
+            keep[iselect] = true;
+            nkeep++;
+            failure = 0;
+            
+            // Update DT and d_isolation and, if needed, reset n_isolation.
+            for (i=0 ; i<pp ; i++)
+            {
+                if (DT[i]>DSS[i][iselect])
+                {
+                    // Update DT
+                    DT[i] = DSS[i][iselect];
+                    DTX[i] = std::min(DTX[i],DT[i]);
+                    n_density[i] = -1;
+                    // Update delta
+                    if (d_isolation[i]>DT[i])
+                    {
+                        // If d_isolation is updated, then n_isolation is reset
+                        d_isolation[i] = DT[i];
+                        n_isolation[i] = -1;
+                    }
+                }
+            }
+        }
+        else
+        {
+            if ( bool_display ){
+                out << "!! Method " << method << " did not return a point." << std::endl;
+            }
+            failure++;
+        }
+        
+    }// End while
+    
+    
+    // Free space
+    delete [] d_isolation;
+    delete [] n_isolation;
+    delete [] n_density;
+    delete [] DX;
+    delete [] DT;
+    delete [] DTX;
+    for (i=0 ; i<pp ; i++) delete [] DSS[i];
+    delete [] DSS;
+    
+    // Delete f and h
+    delete [] f;
+    delete [] h;
+    
+    //=============================================
+    // Add the selected points
+    //=============================================
+    i = 0;
+    NOMAD::Eval_Point * x;
+    const NOMAD::Eval_Point * cur;
+    cur = cache_surrogate.begin();
+    while ( cur )
+    {
+        if ( keep[i] )
+        {
+            //out << "Selected point : " << *cur << std::endl;
+            x = new NOMAD::Eval_Point (*cur);
+            oracle_pts.push_back(x);
+        }
+        if (static_cast<int>(oracle_pts.size())>=nb_candidates)
+            break;
+        i++;
+        cur = cache_surrogate.next();
+    }
+    delete [] keep;
+    
+    
+    return true;
+    
+}//
+
+
+
+
+
+/*------------------------------------------------------*/
+/*  project and accept or reject an oracle trial point  */
+/*  (private)                                           */
+/*------------------------------------------------------*/
+bool NOMAD::Sgtelib_Model_Search::check_oracle_point  ( const NOMAD::Cache   & cache          ,
+                                                       const NOMAD::Point   & incumbent      ,
+                                                       const NOMAD::Point   & delta_m        ,
+                                                       const NOMAD::Display & out            ,
+                                                       NOMAD::dd_type         display_degree ,
+                                                       NOMAD::Point         & x                )
+{
+    bool proj_to_mesh = _p.get_model_search_proj_to_mesh();
+    
+    if ( display_degree == NOMAD::FULL_DISPLAY )
+    {
+        out << std::endl << "oracle candidate";
+        if ( proj_to_mesh )
+            out << " (before projection)";
+        out << ": ( " << x << " )" << std::endl;
+    }
+    
+    // projection to mesh:
+    if ( proj_to_mesh )
+    {
+        x.project_to_mesh ( incumbent , delta_m , _p.get_lb() , _p.get_ub() );
+        if ( display_degree == NOMAD::FULL_DISPLAY )
+            out << "oracle candidate (after projection): ( " << x << " )" << std::endl;
+    }
+    
+    // compare x and incumbent coordinates:
+    if ( x == incumbent )
+    {
+        if ( display_degree == NOMAD::FULL_DISPLAY )
+            out << "oracle candidate rejected (candidate==incumbent)" << std::endl;
+        return false;
+    }
+    
+    // two evaluations points are created in order to:
+    //   1. check if the candidate is in cache
+    //   2. have a prediction at x and at the incumbent:
+    int n = x.size() , m = _p.get_bb_nb_outputs();
+    
+    NOMAD::Eval_Point * tk = new NOMAD::Eval_Point ( n , m ); // trial point
+    tk->Point::operator = ( x );
+    
+    // check if the point is in cache:
+    if ( cache.find ( *tk ) )
+    {
+        if ( display_degree == NOMAD::FULL_DISPLAY )
+            out << "oracle candidate rejected (found in cache)" << std::endl;
+        delete tk;
+        return false;
+    }
+    else
+    {
+        if ( display_degree == NOMAD::FULL_DISPLAY )
+            out << "oracle candidate is not in cache" << std::endl;
+        return true;
+    }
+    
+} // end check_oracle_points
+
+
+
+
+
+
+
+/*--------------------------------------------------------*/
+/*  insert a trial point in the evaluator control object  */
+/*  (private)                                             */
+/*--------------------------------------------------------*/
+void NOMAD::Sgtelib_Model_Search::register_point
+( NOMAD::Point               x              ,
+ NOMAD::Signature         & signature      ,
+ const NOMAD::Point       & incumbent      ,
+ NOMAD::dd_type             display_degree ) const
+{
+    int n = x.size();
+    
+    NOMAD::Eval_Point * tk = new NOMAD::Eval_Point ( n , _p.get_bb_nb_outputs() );
+    NOMAD::Evaluator_Control * ev_control = _sgtelib_model_manager->get_evaluator_control();
+    
+    // if the search is optimistic, a direction is computed (this
+    // will be used in case of success in the speculative search):
+    if ( _p.get_model_search_optimistic() )
+    {
+        NOMAD::Direction dir ( n , 0.0 , NOMAD::MODEL_SEARCH_DIR );
+        dir.Point::operator = ( x - incumbent );
+        tk->set_direction  ( &dir );
+    }
+    
+    tk->set_signature  ( &signature  );
+    tk->Point::operator = ( x );
+    
+    if ( tk->get_bb_outputs().is_defined() )
+    {
+        throw NOMAD::Exception ( "Sgtelib_Model_Search.cpp" , __LINE__ ,
+                                "register_point: point should not have defined bbo" );
+    }
+    
+    // add the new point to the list of search trial points:
+    ev_control->add_eval_point ( tk                      ,
+                                display_degree          ,
+                                _p.get_snap_to_bounds() ,
+                                NOMAD::Double()         ,
+                                NOMAD::Double()         ,
+                                NOMAD::Double()         ,
+                                NOMAD::Double()           );
+    
+}
+
+
+/*---------------------------------------------------------------*/
+/*                    optimize a model (private)                 */
+/*---------------------------------------------------------------*/
+bool NOMAD::Sgtelib_Model_Search::optimize_model ( const NOMAD::Cache      & cache          ,
+                                                  const NOMAD::Point      & incumbent      ,
+                                                  const NOMAD::Point      & delta_m        ,
+                                                  const NOMAD::Eval_Point * x0s[4]         ,
+                                                  const NOMAD::Display    & out            ,
+                                                  NOMAD::dd_type            display_degree ,
+                                                  std::vector<NOMAD::Point *>  & oracle_pts,
+                                                  bool                    & stop           ,
+                                                  NOMAD::stop_type        & stop_reason    )
+{
+    
+    const bool bool_display = ( (string_find(_p.get_SGTELIB_MODEL_DISPLAY(),"O")) || (display_degree == NOMAD::FULL_DISPLAY) );
+    
+    std::string error_str;
+    bool        error = false;
+    int         i , n = _p.get_dimension();
+    int clock_start = static_cast<int>(std::clock());
+    if ( bool_display )
+    {
+        out.open_block("Sgtelib_Model_Search::optimize_model");
+        // Model evaluation budget
+        out << "MAX_BB_EVAL: " << _p.get_SGTELIB_MODEL_EVAL_NB() << std::endl;
+        // blackbox outputs:
+        out << "BBOT: ";
+        for ( i = 0 ; i < _p.get_bb_nb_outputs() ; i++ )
+            out << _p.get_bb_output_type()[i] << " ";
+        out << std::endl;
+        // Formulation
+        out << "Formulation: "
+        << sgtelib_model_formulation_type_to_string ( _sgtelib_model_manager->get_formulation() )
+        << std::endl;
+    }
+    // Reset stats
+    _sgtelib_model_manager->reset_search_stats();
+    
+    // parameters creation:
+    NOMAD::Parameters model_param ( out );
+    
+    // random seed:
+    model_param.set_SEED ( _p.get_seed() + 10 * _all_searches_stats.get_MS_nb_searches() );
+    // number of variables:
+    model_param.set_DIMENSION ( n );
+    
+    
+    model_param.set_BB_OUTPUT_TYPE ( _p.get_bb_output_type() );
+    // blackbox inputs:
+    model_param.set_BB_INPUT_TYPE ( _p.get_bb_input_type() );
+    
+    // barrier parameters:
+    model_param.set_H_MIN  ( _p.get_h_min () );
+    model_param.set_H_NORM ( _p.get_h_norm() );
+    
+    model_param.set_DISPLAY_ALL_EVAL (false);
+    
+    // starting points:
+    for ( i = 0 ; i < 4 ; ++i )
+        if ( x0s[i] )
+            model_param.set_X0 ( *x0s[i] );
+    
+    // fixed variables:
+    for ( i = 0 ; i < n ; ++i )
+        if ( _p.variable_is_fixed(i) )
+            model_param.set_FIXED_VARIABLE(i);
+    
+    // no model
+    model_param.set_DISABLE_MODELS();
+    
+    // display:
+    if (string_find(_p.get_SGTELIB_MODEL_DISPLAY(),"I"))
+    {
+        model_param.set_DISPLAY_DEGREE ( NOMAD::NORMAL_DISPLAY );
+        model_param.set_DISPLAY_STATS ("model_opt: BBE OBJ");
+    }
+    else
+    {
+        model_param.set_DISPLAY_DEGREE ( NOMAD::NO_DISPLAY );
+    }
+    
+    // mesh: use isotropic mesh
+    model_param.set_ANISOTROPIC_MESH ( false );
+    model_param.set_MESH_UPDATE_BASIS ( 4.0 );
+    model_param.set_MESH_COARSENING_EXPONENT ( 1 );
+    model_param.set_MESH_REFINING_EXPONENT ( -1 );
+    
+    NOMAD::Point init_mesh_indices = _p.get_signature()->get_mesh()->get_mesh_indices();
+    NOMAD::Point init_Delta = _p.get_signature()->get_mesh()->get_Delta();
+    NOMAD::Point init_delta = _p.get_signature()->get_mesh()->get_delta();
+    
+    model_param.set_INITIAL_POLL_SIZE ( init_Delta , false );
+    model_param.set_INITIAL_MESH_SIZE ( init_delta , false );
+    
+    
+    
+    //  model_param.set_INITIAL_MESH_INDEX ( 0 );
+    
+    // searches:
+    model_param.set_LH_SEARCH ( int(_p.get_SGTELIB_MODEL_EVAL_NB()*0.3) , 0 );
+    model_param.set_OPPORTUNISTIC_LH ( false );
+    model_param.set_VNS_SEARCH ( true );
+    model_param.set_SNAP_TO_BOUNDS ( true );
+    
+    // disable user calls:
+    model_param.set_USER_CALLS_ENABLED ( false );
+    
+    // set flags:
+    bool flag_check_bimads , flag_reset_mesh , flag_reset_barriers , flag_p1_active;
+    NOMAD::Mads::get_flags ( flag_check_bimads   ,
+                            flag_reset_mesh     ,
+                            flag_reset_barriers ,
+                            flag_p1_active        );
+    
+    NOMAD::Mads::set_flag_check_bimads   ( true  );
+    NOMAD::Mads::set_flag_reset_mesh     ( true  );
+    NOMAD::Mads::set_flag_reset_barriers ( true  );
+    NOMAD::Mads::set_flag_p1_active      ( false );
+    
+    // bounds:
+    model_param.set_LOWER_BOUND ( _sgtelib_model_manager->get_extended_lb() );
+    model_param.set_UPPER_BOUND ( _sgtelib_model_manager->get_extended_ub() );
+    
+    //out << "Bounds : " << std::endl;
+    //out << _sgtelib_model_manager->get_extended_lb() << std::endl;
+    //out << _sgtelib_model_manager->get_extended_ub() << std::endl;
+    
+    
+    // Max eval
+    model_param.set_MAX_BB_EVAL ( _p.get_SGTELIB_MODEL_EVAL_NB() );
+    
+    // EXTERN SGTE
+    if ( _p.get_SGTELIB_MODEL_FORMULATION() == NOMAD::SGTELIB_MODEL_FORMULATION_EXTERN )
+        model_param.set_BB_EXE( _p.get_SGTELIB_MODEL_DEFINITION() );
+    
+    // Declaration of the evaluator
+    NOMAD::Evaluator * ev = NULL;
+    
+    // Declaration of the inner instance of mads
+    NOMAD::Mads * mads_surrogate;
+    
+    // Best feasible/infeasible
+    const NOMAD::Eval_Point * best_feas;
+    const NOMAD::Eval_Point * best_infeas;
+    
+    
+    //=============================
+    // OPTIMIZATION OF THE MODEL
+    //=============================
+    try
+    {
+        // parameters validation:
+        model_param.check();
+        // model evaluator creation:
+        if ( _p.get_SGTELIB_MODEL_FORMULATION() == NOMAD::SGTELIB_MODEL_FORMULATION_EXTERN )
+            ev = new NOMAD::Evaluator ( model_param );
+        else
+            ev = new NOMAD::Sgtelib_Model_Evaluator ( model_param , _sgtelib_model_manager );
+        // algorithm creation and execution:
+        mads_surrogate = new NOMAD::Mads( model_param , ev );
+        NOMAD::stop_type st = mads_surrogate->run();
+        // check the stopping criterion:
+        if ( st == NOMAD::CTRL_C || st == NOMAD::MAX_CACHE_MEMORY_REACHED )
+        {
+            std::ostringstream oss;
+            oss << "model optimization: " << st;
+            error_str   = oss.str();
+            error       = true;
+            stop        = true;
+            stop_reason = st;
+        }
+        else if ( st == NOMAD::MAX_BB_EVAL_REACHED )
+            _one_search_stats.add_MS_max_bbe();
+        
+        
+        // update the stats on the number of model evaluations:
+        _one_search_stats.update_MS_model_opt ( mads_surrogate->get_stats().get_bb_eval() );
+        
+        
+        // get the solution(s):
+        best_feas = mads_surrogate->get_best_feasible  ();
+        best_infeas = mads_surrogate->get_best_infeasible();
+        if ( bool_display )
+        {
+            out << "End of Model Optimization" << std::endl;
+            if ( best_feas )
+            {
+                out << "Best feasible:";
+                out << std::endl;
+                out << "("<< (NOMAD::Point) *best_feas << ")" << std::endl;
+                out << "f=" << best_feas->get_f() << " ; h=" << best_feas->get_h() << std::endl;
+            }
+            else if ( best_infeas )
+            {
+                out << "Best infeasible: ";
+                out << std::endl;
+                out << "("<< (NOMAD::Point) *best_infeas << ")" << std::endl;
+                out << "f=" << best_infeas->get_f() << " ; h=" << best_infeas->get_h() << std::endl;
+            }
+        }
+        
+        
+        
+    }
+    catch ( std::exception & e )
+    {
+        error     = true;
+        error_str = std::string ( "optimization error: " ) + e.what();
+        // out << error_str << std::endl;
+        return false;
+    }
+    
+    // reset flags:
+    NOMAD::Mads::set_flag_check_bimads   ( flag_check_bimads   );
+    NOMAD::Mads::set_flag_reset_mesh     ( flag_reset_mesh     );
+    NOMAD::Mads::set_flag_reset_barriers ( flag_reset_barriers );
+    NOMAD::Mads::set_flag_p1_active      ( flag_p1_active      );
+    
+    
+    
+    // Check existence of best feasible and best infeasible
+    NOMAD::Point * xf = NULL , * xi = NULL;
+    if ( best_feas )
+    {
+        xf = new NOMAD::Point ( *best_feas );
+        delete _start_point_1;
+        _start_point_1 = new NOMAD::Point ( *best_feas );
+    }
+    else if ( best_infeas )
+    {
+        xi = new NOMAD::Point ( *best_infeas );
+    }
+    if ( best_infeas )
+    {
+        delete _start_point_2;
+        _start_point_2 = new NOMAD::Point ( *best_infeas );
+    }
+    if ( !xf && !xi )
+    {
+        error     = true;
+        error_str = "optimization error: no solution";
+        // out << error_str << std::endl;
+        return false;
+    }
+    
+    //======================================
+    // SELECT CANDIDATES OUT OF THE CACHE
+    //======================================
+    
+    i = _p.get_SGTELIB_MODEL_CANDIDATES_NB();
+    const int nb_candidates = (i<=0) ? _p.get_bb_max_block_size() : i;
+    
+    
+    if ( nb_candidates==1 )
+    {
+        if ( xf )
+            oracle_pts.push_back(xf);
+        else if ( xi )
+            oracle_pts.push_back(xi);
+    }
+    else
+    {
+        if ( bool_display )
+            out.open_block("Search filter");
+        
+        // Filter Cache_surrogate
+        const double delta_m_norm = delta_m.norm().value();
+        bool filter_ok = filter_cache ( out,
+                                       cache,
+                                       mads_surrogate->get_cache(),
+                                       nb_candidates,
+                                       delta_m_norm,
+                                       oracle_pts );
+        
+        if ( bool_display )
+        {
+            out << "End of filter" << std::endl;
+            out.close_block();
+        }
+        
+        if ( ! filter_ok )
+            throw NOMAD::Exception ( "Sgtelib_Model_Search.cpp" , __LINE__ ,"filter_cache failed." );
+    }
+    
+    //==============================
+    // PROJECTION
+    //==============================
+    if ( _p.get_model_search_proj_to_mesh() )
+    {
+        if ( bool_display && !string_find(_p.get_SGTELIB_MODEL_DISPLAY(),"P") )
+            out << "Projection of search candidates" << std::endl;
+        
+        std::vector<NOMAD::Point *>::iterator it;
+        try {
+            for (it = oracle_pts.begin() ; it != oracle_pts.end(); ++it){
+                get_best_projection( cache         ,
+                                    incumbent      ,
+                                    delta_m        ,
+                                    out            ,
+                                    display_degree ,
+                                    *ev            ,
+                                    *it            );
+            }
+            
+        }
+        catch ( std::exception & e )
+        {
+            error     = true;
+            error_str = std::string ( "get_best_projection error: " ) + e.what();
+            out << error_str << std::endl;
+        }
+        
+        
+    }
+    if ( ev )
+        delete ev;
+    if ( mads_surrogate )
+        delete mads_surrogate;
+    
+    if ( bool_display )
+    {
+        out << "Error: " << error << std::endl;
+        out << "Clock: " << double(std::clock() - clock_start)/double(CLOCKS_PER_SEC) << "sec" << std::endl;
+        out.close_block();
+    }
+    
+    return !error;
+}
+
+
+
+
+
+
+/*------------------------------------------------------*/
+/*  get best projection                                 */
+/*------------------------------------------------------*/
+void NOMAD::Sgtelib_Model_Search::get_best_projection ( const NOMAD::Cache   & cache          ,
+                                                       const NOMAD::Point   & incumbent      ,
+                                                       const NOMAD::Point   & delta_m        ,
+                                                       const NOMAD::Display & out            ,
+                                                       NOMAD::dd_type         display_degree ,
+                                                       NOMAD::Evaluator     & ev             ,
+                                                       NOMAD::Point         * x             )
+{
+    if ( !x ) return;
+    
+    const bool bool_display = (string_find(_p.get_SGTELIB_MODEL_DISPLAY(),"P"));
+    
+    if (bool_display)
+        out.open_block("Projection");
+    
+    const int n = x->size();
+    const int m = _p.get_bb_nb_outputs();
+    int i,j;
+    
+    
+    
+    // Copy of the mesh size
+    double * dm = new double[n];
+    for (j=0 ; j<n ; j++)
+        dm[j] = delta_m.get_coord(j).value();
+    
+    
+    // Build the set of trying points
+    NOMAD::Eval_Point * x_try; // Projection Trial point
+    NOMAD::Eval_Point * x_best; // Best Trial poin
+    NOMAD::Double h, f, h_best, f_best;
+    double dmj; // component i of delta_m;
+    bool ce;
+    
+    
+    // Non projected point
+    //--------------------
+    x_try = new NOMAD::Eval_Point ( n , m ); // trial point
+    x_try->Point::operator = ( *x );
+    ev.eval_x( *x_try , 0.0 , ce);
+    _sgtelib_model_manager->check_hf(x_try);
+    f = x_try->get_f();
+    h = x_try->get_h();
+    
+    if ( bool_display )
+    {
+        out << "Non projected point:" << std::endl;
+        out << "(" << (NOMAD::Point) *x_try << ")" << std::endl;
+        out << "f=" << f << " ; h=" << h << std::endl;
+    }
+    
+    delete x_try;
+    x_try = NULL;
+    
+    
+    // STD projected point
+    //----------------
+    x_try = new NOMAD::Eval_Point ( n , m );
+    x_try->Point::operator = ( *x );
+    // Project the point on the mesh
+    x_try->project_to_mesh ( incumbent , delta_m , _p.get_lb() , _p.get_ub() );
+    ev.eval_x( *x_try , 0.0 , ce);
+    _sgtelib_model_manager->check_hf(x_try);
+    f = x_try->get_f();
+    h = x_try->get_h();
+    
+    if ( bool_display )
+    {
+        out << "Standard projected point:" << std::endl;
+        out << "(" << (NOMAD::Point) *x_try << ")" << std::endl;
+        out << "f=" << f << " ; h=" << h << std::endl;
+    }
+    
+    x_best = x_try;
+    f_best = f;
+    h_best = h;
+    x_try = NULL;
+    
+    
+    // set of indexes for neighboors creation
+    //----------------------------------------
+    std::set<unsigned int> set_index;
+    const int nb_voisins = static_cast<int>(pow(2.0,n));
+    const int nb_proj_trial = 100*n;
+    // Build the set of indexes
+    if ( nb_proj_trial < nb_voisins*1.3 )
+    {
+        // Select randomly nb_proj_trial indexes
+        for (i=0 ; i<nb_proj_trial ; i++)
+            set_index.insert(NOMAD::RNG::rand()%nb_voisins);
+    }
+    else
+    {
+        // Use all indexes
+        for (i=0 ; i<nb_voisins ; i++)
+            set_index.insert(i);
+    }
+    
+    
+    
+    // Build the set of neighboors
+    //----------------------------
+    
+    std::set<NOMAD::Point> set_try;
+    set_try.clear();
+    
+    if ( bool_display )
+    {
+        out.open_block("Projection candidates");
+    }
+    
+    std::set<unsigned int>::iterator it_index; // Iterator in the set of indexes
+    unsigned int index; // Index of the neighboor
+    NOMAD::Point perturbation(x->size()); // Perturbation point
+    
+    
+    // Try pertubation
+    // ----------------------------
+    for ( it_index=set_index.begin() ; it_index!=set_index.end() ; it_index++ )
+    {
+        
+        // Compute perturbation
+        index = *it_index;
+        for ( j=0 ; j<x->size() ; j++ )
+        {
+            
+            dmj = dm[j]; // Get the value of delta_m
+            // Added 22 octobre 2015 to handle integer variables
+            if ( (_p.get_bb_input_type())[j] == NOMAD::INTEGER  || (_p.get_bb_input_type())[j] == NOMAD::BINARY )
+                dmj = 1.0;
+            
+            if ( index & 1 )
+                dmj *= -1; // Inverse dmi depending on parity of index
+            
+            perturbation.set_coord(j,dmj); // Set perturbation
+            index = (index >> 1); // Right shift (ie: divide by 2);
+            
+        }// End of the construction of the perturbation
+        
+        
+        
+        
+        // Loop on points of the cache
+        // ----------------------------
+        const NOMAD::Eval_Point * xref = cache.begin();
+        while ( xref )
+        {
+            
+            // Build projection trial point
+            // trial point
+            
+            NOMAD::Point * y = new NOMAD::Point ( n );
+            y->Point::operator = ( *x+perturbation );
+            y->project_to_mesh ( *xref , delta_m , _p.get_lb() , _p.get_ub() );
+            
+            
+            
+            // Rounding for integer and binary...
+            for ( i=0 ; i<y->size() ; i++ )
+            {
+                if (  (_p.get_bb_input_type())[i] == NOMAD::INTEGER  )
+                    (*y)[i] = (*y)[i].roundd();
+                
+                if (  (_p.get_bb_input_type())[i] == NOMAD::BINARY  )
+                    (*y)[i] = ((*y)[i]>0.5)?1:0;
+                
+            }
+            
+            
+            set_try.insert(*y);
+            delete y;
+            
+            xref = cache.next();
+            
+        }// End of loop on the cache
+        
+    }// End of the construction of set_try
+    
+    
+    
+    
+    if ( bool_display )
+    {
+        out << set_index.size() << " perturbation vectors" << std::endl;
+        out << cache.size() << " cache pts" << std::endl;
+        out << set_try.size() << " projection candidates!" << std::endl;
+    }
+    
+    
+    
+    
+    // Greedy selection
+    //--------------------------------
+    const int p = static_cast<int>( set_try.size() );
+    bool * keep = new bool [p];
+    
+    if ( p<=nb_proj_trial )
+    {
+        // Not needed
+        for ( i=0 ; i < p ; i++ )
+            keep[i] = true;
+    }
+    else
+    {
+        // DO the greedy selection
+        int inew;
+        double * xnew_d;
+        double * xref_d = new double [n];
+        for ( j = 0 ; j < n ; j++ )
+            xref_d[j] = x->get_coord(j).value();
+        
+        // Convert set of trial candidates into an array
+        //--------------------------------
+        double ** X = new double * [p];
+        
+        std::set<NOMAD::Point>::const_iterator it; // Iterator in the set of indexes
+        i = 0;
+        for ( it = set_try.begin() ; it != set_try.end() ; it++ )
+        {
+            X[i] = new double [n];
+            for (j=0 ; j<n ; j++)
+                X[i][j] = it->get_coord(j).value();
+            
+            i++;
+        }
+        
+        // Distance to xref
+        double * Dr  = new double [p];
+        // Distance to the set of selected (or kept) points
+        double * Ds  = new double [p];
+        double * Ds2 = new double [p]; // Square of Ds
+        
+        // First selected point
+        inew = 0;
+        xnew_d = X[inew];
+        double lambda = 3;
+        
+        // Buffer for dxj
+        double dxj;
+        
+        
+        // Initialise the distances
+        //--------------------------------------
+        for ( i = 0 ; i < p ; i++ )
+        {
+            // Compute distance between each point of the set and the point xref
+            // and also between each point of the set and the selected point xnew
+            Dr[i] = 0;
+            Ds[i] = 0;
+            for ( j = 0 ; j < n ; j++ )
+            {
+                dxj = (xref_d[j]-X[i][j])/dm[j];
+                Dr[i] += dxj*dxj;
+                dxj = (xnew_d[j]-X[i][j])/dm[j];
+                Ds[i] += dxj*dxj;
+            }
+            Dr[i]  = sqrt(Dr[i]);
+            Ds2[i] = Ds[i];
+            Ds[i]  = sqrt(Ds[i]);
+            // Init keep
+            keep[i] = false;
+        }
+        
+        // Note that we selected the first point
+        int nb_keep = 1;
+        keep[inew] = true;
+        
+        // Greedy selection
+        //---------------------------
+        
+        // Q is the selection criteria: Q = Ds-lambda*Dr
+        double Q_max, Q;
+        // d is a buffer
+        double d;
+        
+        while ( nb_keep < nb_proj_trial )
+        {
+            // Find the index that maximizes Ds-lambda*Dr
+            Q_max = -INF;
+            inew = 1;
+            for ( i = 0 ; i < p ; i++ )
+            {
+                Q = Ds[i]-lambda*Dr[i];
+                if ( Q > Q_max )
+                {
+                    inew = i;
+                    Q_max = Q;
+                }
+            }
+            
+            if ( Ds[inew] == 0 )
+            {
+                // If the point is already in the set, then reduce lambda
+                lambda*=0.9;
+                if (lambda<1e-6)
+                    break;
+                
+            }
+            else
+            {
+                //Otherwise, add the point to the set
+                keep[inew] = true;
+                nb_keep++;
+                xnew_d = X[inew];
+                // Update its distance to the set
+                Ds[inew] = 0;
+                // Update the other distances to the set
+                for ( i = 0 ; i < p ; i++ )
+                {
+                    if ( Ds[i] > 0 )
+                    {
+                        // Compute distance between each point of the set and the point xref
+                        // and also between each point of the set and the selected point xnew
+                        d = 0;
+                        for ( j = 0 ; j < n ; j++ )
+                        {
+                            dxj = (xnew_d[j]-X[i][j])/dm[j];
+                            d += dxj*dxj;
+                        }
+                        if ( Ds2[i] > d )
+                        {
+                            Ds2[i]=d;
+                            Ds[i] = sqrt(d);
+                        }
+                    }
+                }
+            }
+        }// End while
+        
+        
+        if ( bool_display )
+        {
+            out << nb_keep << " projection candidates (after greedy selection)" << std::endl;
+        }
+        
+        delete [] xref_d;
+        delete [] Ds;
+        delete [] Ds2;
+        delete [] Dr;
+        for ( i = 0 ; i < p ; i++ )
+            delete [] X[i];
+        delete [] X;
+    }// End selection
+    
+    delete [] dm;
+    
+    
+    // Evaluate projection trial points
+    // in the surrogate model
+    //-----------------------------------------
+    std::set<NOMAD::Point>::const_iterator it_try; // Iterator in the set of indexes
+    i = 0;
+    for ( it_try = set_try.begin() ; it_try != set_try.end() ; it_try++ )
+    {
+        if ( keep[i] )
+        {
+            x_try = new NOMAD::Eval_Point ( n , m ); 
+            x_try->Point::operator = ( *it_try );
+            
+            // Eval (with the same evaluator as for the model optimization)
+            ev.eval_x( *x_try , 0.0 , ce);
+            _sgtelib_model_manager->check_hf(x_try);
+            f = x_try->get_f();
+            h = x_try->get_h();
+            
+            if ( ( (h>0) && (h<h_best) ) || ( (h==0) && (f<f_best) ) )
+            {
+                
+                if ( bool_display )
+                {
+                    out << "( " << x_try->get_bb_outputs() << " )" << std::endl;
+                    out << "f =" << f << " ; h =" << h << " (new best projection)" << std::endl;
+                }
+                
+                delete x_best;
+                x_best = x_try;
+                f_best = f;
+                h_best = h;
+                
+            }
+            else
+                delete x_try;
+            x_try = NULL;
+        }
+        i++;
+    }
+    
+    
+    
+    x->Point::operator = ( *x_best );
+    if ( bool_display )
+    {
+        out.close_block();
+        out << "Selected candidate:  " << std::endl;
+        out << "(" << (NOMAD::Point) *x << ")" << std::endl;
+        out << "f=" << f_best << " ; h=" << h_best << std::endl;
+        out << "( " << x_best->get_bb_outputs() << " )" << std::endl;
+        out.close_block();
+        
+    }
+    
+    set_index.clear();
+    set_try.clear();
+    if ( x_best )
+        delete x_best;
+    if ( x_try )
+        delete x_try;
+    delete [] keep;
+    
+}//
+
+
+
+
+
+// #endif
diff --git a/src/Sgtelib_Model_Search.hpp b/src/Sgtelib_Model_Search.hpp
new file mode 100644
index 0000000..3610b8a
--- /dev/null
+++ b/src/Sgtelib_Model_Search.hpp
@@ -0,0 +1,262 @@
+/*-------------------------------------------------------------------------------------*/
+/*  sgtelib - A surrogate model library for derivative-free optimization               */
+/*  Version 2.0.1                                                                      */
+/*                                                                                     */
+/*  Copyright (C) 2012-2016  Sebastien Le Digabel - Ecole Polytechnique, Montreal      */ 
+/*                           Bastien Talgorn - McGill University, Montreal             */
+/*                                                                                     */
+/*  Author: Bastien Talgorn                                                            */
+/*  email: bastientalgorn@fastmail.com                                                 */
+/*                                                                                     */
+/*  This program is free software: you can redistribute it and/or modify it under the  */
+/*  terms of the GNU Lesser General Public License as published by the Free Software   */
+/*  Foundation, either version 3 of the License, or (at your option) any later         */
+/*  version.                                                                           */
+/*                                                                                     */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
+/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
+/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
+/*                                                                                     */
+/*  You should have received a copy of the GNU Lesser General Public License along     */
+/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
+/*                                                                                     */
+/*  You can find information on sgtelib at https://github.com/bastientalgorn/sgtelib   */
+/*-------------------------------------------------------------------------------------*/
+/**
+ \file   Sgtelib_Model_Search.cpp
+ \brief  Model search using the sgtelib_model surrogate library.
+ \author Bastien Talgorn
+ \date   2013-04-25
+ \see    Sgtelib_Model_Manager.cpp
+ */
+
+#ifndef __SGTELIB_MODEL_SEARCH__
+#define __SGTELIB_MODEL_SEARCH__
+
+#include "LH_Search.hpp"
+#include "Sgtelib_Model_Evaluator.hpp"
+#include "Sgtelib_Model_Manager.hpp"
+#include <time.h>
+
+namespace NOMAD {
+    
+    /// Model search.
+    class Sgtelib_Model_Search : public NOMAD::Search , private NOMAD::Uncopyable {
+        
+    private:
+        
+        NOMAD::Model_Stats _one_search_stats;   ///< Stats for one search.
+        NOMAD::Model_Stats _all_searches_stats; ///< Stats for all searches.
+        
+        NOMAD::Sgtelib_Model_Manager * _sgtelib_model_manager;
+        
+        std::vector<NOMAD::bb_output_type> _bbot; ///< Blackbox output types.
+        
+        NOMAD::Point * _start_point_1;
+        NOMAD::Point * _start_point_2;
+        /// The non projected result of a surrogate model optimization
+        // is memorized and used as ONE of the starting points in the next surrogate model optim.
+        
+        /// Delete a list of points.
+        /**
+         \param pts The points -- \b IN/OUT.
+         */
+        static void clear_pts ( std::vector<NOMAD::Point *> & pts );
+        
+        /// Delete a list of evaluation points.
+        /**
+         \param pts The points -- \b IN/OUT.
+         */
+        static void clear_pts ( std::vector<NOMAD::Eval_Point *> & pts );
+        
+        /// Create oracle points by optimizing the model.
+        /**
+         \param  mads           The mads instance                         -- \b IN.
+         \param  incumbent      The incumbent                             -- \b IN.
+         \param  delta_m        Mesh size parameter                       -- \b IN.
+         \param  out            The NOMAD::Display object                 -- \b IN.
+         \param  display_degree Display degree                            -- \b IN.
+         \param  display_lim    Max number of pts when sets are displayed -- \b IN.
+         \param  oracle_pts     Oracle candidates points                  -- \b OUT.
+         \param  stop           Stop flag                                 -- \b OUT.
+         \param  stop_reason    Stop reason                               -- \b OUT.
+         \return A boolean equal to \c true if oracle points are proposed.
+         */
+        bool create_oracle_pts
+        (
+         const NOMAD::Mads                      & mads           ,
+         const NOMAD::Point                     & incumbent      ,
+         const NOMAD::Point                     & delta_m        ,
+         const NOMAD::Display                   & out            ,
+         NOMAD::dd_type                           display_degree ,
+         int                                      display_lim    ,
+         std::vector<NOMAD::Point *>            & oracle_pts     ,
+         bool                                   & stop           ,
+         NOMAD::stop_type                       & stop_reason      );
+        
+        /// Model optimization.
+        /**
+         \param cache          The cache of points       -- \b IN.
+         \param incumbent      The current incumbent     -- \b IN.
+         \param delta_m        Mesh size parameter       -- \b IN.
+         \param x0s            The three starting points -- \b IN.
+         \param out            The NOMAD::Display object -- \b IN.
+         \param display_degree Display degree            -- \b IN.
+         \param oracle_pts     Oracle candidates points  -- \b OUT.
+         \param stop           Stop flag                 -- \b OUT.
+         \param stop_reason    Stop reason               -- \b OUT.
+         \return A boolean equal to \c true if oracle points are proposed.
+         */
+        bool optimize_model
+        (
+         const NOMAD::Cache            & cache          ,
+         const NOMAD::Point            & incumbent      ,
+         const NOMAD::Point            & delta_m        ,
+         const NOMAD::Eval_Point       * x0s[3]         ,
+         const NOMAD::Display          & out            ,
+         NOMAD::dd_type                 display_degree  ,
+         std::vector<NOMAD::Point *>   & oracle_pts     ,
+         bool                          & stop           ,
+         NOMAD::stop_type              & stop_reason      );
+        
+        /// Cache filtering.
+        /**
+         \param cache           The cache of points                 -- \b IN.
+         \param cache_surrogate The cache of surrogate points       -- \b IN.
+         \param out             The NOMAD::Display object           -- \b IN.
+         \param nb_candidates   The number of candidates            -- \b IN.
+         \param delta_m_norm    The distance for filtering          -- \b IN.
+         \param oracle_pts      Oracle candidates points            -- \b OUT.
+         \return A boolean equal to \c true if oracle points are proposed.
+         */
+        bool filter_cache
+        (
+         const NOMAD::Display        & out             ,
+         const NOMAD::Cache          & cache           ,
+         const NOMAD::Cache          & cache_surrogate ,
+         const int                   & nb_candidates   ,
+         const double                & delta_m_norm    ,
+         std::vector<NOMAD::Point *> & oracle_pts      );
+        
+        
+        /// Get best projection
+        /**
+         \param  cache          Cache of true evaluations -- \b IN.
+         \param  incumbent      The incumbent             -- \b IN.
+         \param  delta_m        Mesh size parameter       -- \b IN.
+         \param  out            The NOMAD::Display object -- \b IN.
+         \param  display_degree Display degree            -- \b IN.
+         \param  ev             The Evaluator             -- \b IN.
+         \param  x              The oracle point          -- \b IN/OUT.
+         */
+        void get_best_projection
+        (
+         const NOMAD::Cache   & cache           ,
+         const NOMAD::Point   & incumbent       ,
+         const NOMAD::Point   & delta_m         ,
+         const NOMAD::Display & out             ,
+         NOMAD::dd_type         display_degree  ,
+         NOMAD::Evaluator     & ev              ,
+         NOMAD::Point         * x                );
+        
+        
+        /// Project and accept or reject an oracle trial point.
+        /**
+         \param  cache          Cache of true evaluations -- \b IN.
+         \param  incumbent      The incumbent             -- \b IN.
+         \param  delta_m        Mesh size parameter       -- \b IN.
+         \param  out            The NOMAD::Display object -- \b IN.
+         \param  display_degree Display degree            -- \b IN.
+         \param  x              The oracle point         -- \b IN/OUT.
+         \return A boolean equal to \c true if the point is accepted.
+         */
+        bool check_oracle_point
+        (
+         const NOMAD::Cache   & cache          ,
+         const NOMAD::Point   & incumbent      ,
+         const NOMAD::Point   & delta_m        ,
+         const NOMAD::Display & out            ,
+         NOMAD::dd_type         display_degree ,
+         NOMAD::Point         & x                );
+        
+        
+        /// Insert a trial point in the evaluator control object.
+        /**
+         \param x              The point coordinates               -- \b IN.
+         \param signature      Signature                           -- \b IN.
+         \param incumbent      The incumbent                       -- \b IN.
+         \param display_degree Display degree                      -- \b IN.
+         */
+        void register_point
+        (
+         NOMAD::Point               x              ,
+         NOMAD::Signature         & signature      ,
+         const NOMAD::Point       & incumbent      ,
+         NOMAD::dd_type             display_degree ) const;
+        
+        /*----------------------------------------------------------------------*/
+        
+    public:
+        
+        /// Constructor.
+        /**
+         \param p Parameters -- \b IN.
+         */
+        Sgtelib_Model_Search ( NOMAD::Parameters & p )
+        : NOMAD::Search ( p , NOMAD::MODEL_SEARCH ) , _sgtelib_model_manager (NULL)
+        {
+            _bbot = p.get_bb_output_type();
+            
+        }
+        
+        /// Destructor.
+        virtual ~Sgtelib_Model_Search ( void ) { reset(); }
+        
+        /// Reset.
+        virtual void reset ( void );
+        
+        /// Give a link to ev_control
+        void set_sgtelib_model_manager ( NOMAD::Sgtelib_Model_Manager * sgtelib_model_manager )
+        {
+            _sgtelib_model_manager = sgtelib_model_manager;
+            _start_point_1 = NULL;
+            _start_point_2 = NULL;
+        }
+        
+        
+        /// The sgtelib_model model search.
+        /**
+         Based on quadratic regression/MFN interpolation models.
+         \param mads           NOMAD::Mads object invoking this search -- \b IN/OUT.
+         \param nb_search_pts  Number of generated search points       -- \b OUT.
+         \param stop           Stop flag                               -- \b IN/OUT.
+         \param stop_reason    Stop reason                             -- \b OUT.
+         \param success        Type of success                         -- \b OUT.
+         \param count_search   Count or not the search                 -- \b OUT.
+         \param new_feas_inc   New feasible incumbent                  -- \b IN/OUT.
+         \param new_infeas_inc New infeasible incumbent                -- \b IN/OUT.
+         */
+        virtual void search
+        ( NOMAD::Mads              & mads           ,
+         int                      & nb_search_pts  ,
+         bool                     & stop           ,
+         NOMAD::stop_type         & stop_reason    ,
+         NOMAD::success_type      & success        ,
+         bool                     & count_search   ,
+         const NOMAD::Eval_Point *& new_feas_inc   ,
+         const NOMAD::Eval_Point *& new_infeas_inc   );
+        
+        
+        //// Display stats.
+        /**
+         \param out The NOMAD::Display object -- \b IN.
+         */
+        virtual void display ( const NOMAD::Display & out ) const
+        {
+            out << _all_searches_stats;
+        }
+    };
+}
+
+#endif
+// #endif
diff --git a/src/Signature.cpp b/src/Signature.cpp
index e2c9288..233a8fb 100644
--- a/src/Signature.cpp
+++ b/src/Signature.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Signature.cpp
  \brief  Evaluation point signature (implementation)
@@ -50,6 +52,7 @@
 #include "Signature.hpp"
 #include "SMesh.hpp"
 #include "XMesh.hpp"
+#include "GMesh.hpp"
 
 /*-----------------------------------*/
 /*   static members initialization   */
@@ -64,46 +67,55 @@ bool NOMAD::Signature::_warning_has_been_displayed=false;
 /*--------------------------------------------------*/
 /*                    constructor 1                 */
 /*--------------------------------------------------*/
-NOMAD::Signature::Signature ( int                                                 n                         ,
-                             const std::vector<NOMAD::bb_input_type>            & input_types               ,
-                             const NOMAD::Point                                 & lb                        ,
-                             const NOMAD::Point                                 & ub                        ,
-                             const NOMAD::mesh_type                             & mesh_type                 ,
-                             bool                                                 anisotropic_mesh          ,
-                             const NOMAD::Point                                 & granularity               ,
-                             const NOMAD::Point                                 & initial_poll_size         ,
-                             const NOMAD::Point                                 & min_poll_size             ,
-                             const NOMAD::Point                                 & min_mesh_size             ,
-                             NOMAD::Double                                      & mesh_update_basis         ,
-                             NOMAD::Double                                      & poll_update_basis         ,
-                             int                                                & mesh_coarsening_exponent  ,
-                             int                                                & mesh_refining_exponent    ,
-                             int                                                  initial_mesh_index        ,
-                             int                                                  limit_mesh_index          ,
-                             const NOMAD::Point                                 & scaling                   ,
-                             const NOMAD::Point                                 & fixed_variables           ,
-                             const std::vector<bool>                            & periodic_variables        ,
-                             std::set<NOMAD::Variable_Group*,NOMAD::VG_Comp>    & var_groups                ,
-                             const NOMAD::Display                               & out                       )
+NOMAD::Signature::Signature ( int                                                n                       ,
+                             const std::vector<NOMAD::bb_input_type>           & input_types             ,
+                             const NOMAD::Point                                & lb                      ,
+                             const NOMAD::Point                                & ub                      ,
+                             const NOMAD::mesh_type                            & mesh_type               ,
+                             bool                                                anisotropic_mesh        ,
+                             const NOMAD::Point                                & granularity             ,
+                             const NOMAD::Point                                & initial_poll_size       ,
+                             const NOMAD::Point                                & min_poll_size           ,
+                             const NOMAD::Point                                & min_mesh_size           ,
+                             NOMAD::Double                                     & mesh_update_basis       ,
+                             NOMAD::Double                                     & poll_update_basis       ,
+                             int                                               & mesh_coarsening_exponent,
+                             int                                               & mesh_refining_exponent  ,
+                             int                                                 initial_mesh_index      ,
+                             const NOMAD::Point                                & scaling                 ,
+                             const NOMAD::Point                                & fixed_variables         ,
+                             const std::vector<bool>                           & periodic_variables      ,
+                             std::set<NOMAD::Variable_Group*,NOMAD::VG_Comp>   & var_groups              ,
+                             const NOMAD::Display                              & out )
 :  _std  ( false ) ,
 _out ( out )
 {
-    // Mesh index starts at 0 for xmesh and decreases as the mesh size decreases
+    // Mesh index starts at 0 for (x/g)mesh and decreases as the mesh size decreases
     // The mesh index is reset to 0 as the mesh is reset.
     
-    if ( mesh_type == NOMAD::XMESH )
+    if ( mesh_type == NOMAD::GMESH )
+        _mesh= new NOMAD::GMesh(anisotropic_mesh,
+                                initial_poll_size,
+                                min_poll_size,
+                                min_mesh_size,
+                                fixed_variables,
+                                granularity,
+                                poll_update_basis,  // poll update basis and the 2 other parameters are not needed
+                                mesh_coarsening_exponent,
+                                mesh_refining_exponent);
+        
+    else if ( mesh_type == NOMAD::XMESH )
         _mesh=new NOMAD::XMesh( anisotropic_mesh,
-                               initial_poll_size,
-                               min_poll_size,
-                               min_mesh_size,
-                               fixed_variables,
-                               poll_update_basis,  // XMesh sets poll update basis (default 2)
-                               mesh_coarsening_exponent,
-                               mesh_refining_exponent ,
-                               limit_mesh_index       );
-    
+                                initial_poll_size,
+                                min_poll_size,
+                                min_mesh_size,
+                                fixed_variables,
+                                poll_update_basis,  // XMesh sets poll update basis (default 2)
+                                mesh_coarsening_exponent,
+                                mesh_refining_exponent);
+        
     else if ( mesh_type == NOMAD::SMESH )
-        // Mesh index can be provided for isotropic smesh and increases as the mesh size decreases
+    // Mesh index can be provided for isotropic smesh and increases as the mesh size decreases
         _mesh=new NOMAD::SMesh(initial_poll_size,   // WARNING THIS IS NOT AN ERROR     new initial_poll_size ~ old initial mesh size
                                min_poll_size,
                                min_mesh_size,
@@ -111,8 +123,7 @@ _out ( out )
                                mesh_update_basis, // SMesh set mesh update basis (default 4)
                                mesh_coarsening_exponent,
                                mesh_refining_exponent,
-                               initial_mesh_index ,
-                               limit_mesh_index );
+                               initial_mesh_index );
     else
         throw NOMAD::Signature::Signature_Error ( "Signature.cpp" , __LINE__ , *this ,
                                                  "NOMAD::Signature::Signature(): a valid mesh type must be given" );
@@ -137,7 +148,7 @@ _out ( out )
 /*--------------------------------------------------*/
 /*                    constructor 2                 */
 /*--------------------------------------------------*/
-NOMAD::Signature::Signature ( int                                       n                 ,
+NOMAD::Signature::Signature ( int                                      n                  ,
                              const std::vector<NOMAD::bb_input_type> & input_types        ,
                              const NOMAD::Point                      & initial_poll_size  ,
                              const NOMAD::Point                      & lb                 ,
@@ -152,8 +163,8 @@ _out  ( out )
         throw NOMAD::Signature::Signature_Error ( "Signature.cpp" , __LINE__ , *this ,
                                                  "NOMAD::Signature::Signature(): bad argument: input_types" );
     
-    // For this constructor, the default mesh is isotropic xmesh
-    //------------------------------------------
+    // Default mesh is isotropic xmesh for this constructor
+    //-----------------------------------------------------
     _mesh=new NOMAD::XMesh (false,
                             initial_poll_size,
                             NOMAD::Point(),
@@ -222,18 +233,18 @@ _out  ( out )
 /*--------------------------------------------------*/
 NOMAD::Signature::Signature ( const NOMAD::Signature & s )
 :  _lb                 ( s._lb                     ) ,
-_ub                 ( s._ub                     ) ,
-_scaling            ( s._scaling                ) ,
-_fixed_variables    ( s._fixed_variables        ) ,
-_granularity        ( s._granularity            ) ,
-_input_types        ( s._input_types            ) ,
-_all_continuous     ( s._all_continuous         ) ,
-_has_categorical    ( s._has_categorical        ) ,
-_periodic_variables ( s._periodic_variables     ) ,
-_std                ( false                     ) ,
-_feas_success_dir   ( s._feas_success_dir       ) ,
-_infeas_success_dir ( s._infeas_success_dir     ) ,
-_out (s._out)
+   _ub                 ( s._ub                     ) ,
+   _scaling            ( s._scaling                ) ,
+   _fixed_variables    ( s._fixed_variables        ) ,
+   _granularity        ( s._granularity            ) ,
+   _input_types        ( s._input_types            ) ,
+   _all_continuous     ( s._all_continuous         ) ,
+   _has_categorical    ( s._has_categorical        ) ,
+   _periodic_variables ( s._periodic_variables     ) ,
+   _std                ( false                     ) ,
+   _feas_success_dir   ( s._feas_success_dir       ) ,
+   _infeas_success_dir ( s._infeas_success_dir     ) ,
+  _out (s._out)
 {
     
     
@@ -241,6 +252,8 @@ _out (s._out)
         _mesh = new NOMAD::SMesh (*(static_cast<NOMAD::SMesh*>(s._mesh)));
     else if ( dynamic_cast<NOMAD::XMesh*> (s._mesh) )
         _mesh = new NOMAD::XMesh (*(static_cast<NOMAD::XMesh*>(s._mesh)));
+    else if ( dynamic_cast<NOMAD::GMesh*> (s._mesh) )
+        _mesh = new NOMAD::GMesh (*(static_cast<NOMAD::GMesh*>(s._mesh)));
     else
         throw NOMAD::Signature::Signature_Error ( "Signature.cpp" , __LINE__ , *this ,
                                                  "NOMAD::Signature::Signature(): copy constructor needs a valid mesh_type in the copied object" );
@@ -294,7 +307,7 @@ void NOMAD::Signature::clear ( void )
 /*--------------------------------------------------*/
 void NOMAD::Signature::set_feas_success_dir ( const NOMAD::Direction & d )
 {
-    if ( d.size() != static_cast<int>(_input_types.size()) )
+    if ( d.size() != static_cast<int>( _input_types.size() ) )
         throw NOMAD::Signature::Signature_Error ( "Signature.cpp" , __LINE__ , *this ,
                                                  "NOMAD::Signature::set_feas_success_dir(): bad direction" );
     _feas_success_dir = d;
@@ -305,7 +318,7 @@ void NOMAD::Signature::set_feas_success_dir ( const NOMAD::Direction & d )
 /*--------------------------------------------------*/
 void NOMAD::Signature::set_infeas_success_dir ( const NOMAD::Direction & d )
 {
-    if ( d.size() != static_cast<int>(_input_types.size()) )
+    if ( d.size() != static_cast<int>( _input_types.size() ) )
         throw NOMAD::Signature::Signature_Error ( "Signature.cpp" , __LINE__ , *this ,
                                                  "NOMAD::Signature::set_infeas_success_dir(): bad direction" );
     _infeas_success_dir = d;
@@ -315,7 +328,7 @@ void NOMAD::Signature::set_infeas_success_dir ( const NOMAD::Direction & d )
 /*--------------------------------------------------*/
 /*               initializations (private)          */
 /*--------------------------------------------------*/
-void NOMAD::Signature::init ( int                                       n                  ,
+void NOMAD::Signature::init ( int                                       n                 ,
                              const std::vector<NOMAD::bb_input_type> & input_types        ,
                              const NOMAD::Point                      & lb                 ,
                              const NOMAD::Point                      & ub                 ,
@@ -372,14 +385,14 @@ void NOMAD::Signature::init ( int                                       n
     else
         throw NOMAD::Signature::Signature_Error ( "Signature.cpp" , __LINE__ , *this ,
                                                  "NOMAD::Signature::init(): bad argument: fixed_variables" );
-    
+    // Granularity:
     if ( granularity.empty() )
         _granularity.reset(n,0) ;
     else if ( granularity.size() == n )
         _granularity = granularity;
     else
         throw NOMAD::Signature::Signature_Error ( "Signature.cpp" , __LINE__ , *this ,
-                                                 "NOMAD::Signature::init(): bad argument: granularity" );
+                                             "NOMAD::Signature::init(): bad argument: granular_variables" );
     
     // periodic variables:
     _periodic_variables = periodic_variables;
@@ -554,7 +567,7 @@ int NOMAD::Signature::get_max_size_poll_set ( void ) const
 /*--------------------------------------------------*/
 /*                       reset                      */
 /*--------------------------------------------------*/
-void NOMAD::Signature::reset ( int                                       n                        ,
+void NOMAD::Signature::reset ( int                                       n                       ,
                               const std::vector<NOMAD::bb_input_type> & input_types              ,
                               const NOMAD::Point                      & lb                       ,
                               const NOMAD::Point                      & ub                       ,
@@ -605,9 +618,9 @@ bool NOMAD::Signature::is_compatible ( const NOMAD::Point & x ) const
 /*-----------------------------------------------------*/
 /*     compute the directions                          */
 /*-----------------------------------------------------*/
-void NOMAD::Signature::get_directions ( std::list<NOMAD::Direction>  & dirs     ,
-                                       NOMAD::poll_type                poll       ,
-                                       const NOMAD::Point            & poll_center   )
+void NOMAD::Signature::get_directions ( std::list<NOMAD::Direction>    & dirs         ,
+                                                 NOMAD::poll_type        poll         ,
+                                                 const NOMAD::Point    & poll_center   )
 {
     
     NOMAD::Direction                          * pd;
@@ -621,7 +634,7 @@ void NOMAD::Signature::get_directions ( std::list<NOMAD::Direction>  & dirs
     
     
     // Reset dir_group_index.
-    // For each signature, a variable_group has a  unique set of directions generated and a unique dir_group_index starting by zero (-1 if no dirs)
+    //    For each signature, a variable_group has a  unique set of directions generated and a unique dir_group_index starting by zero (-1 if no dirs)
     _dir_group_index=-1;
     
     // loop on variable groups:
@@ -653,7 +666,7 @@ void NOMAD::Signature::get_directions ( std::list<NOMAD::Direction>  & dirs
             NOMAD::Double normInfPoint=0;
             for ( it_vi = var_indexes.begin() ; it_vi != end_vi ; ++it_vi ,++i )
             {
-                normInfPoint = std::max( normInfPoint.value() , std::fabs( (*it_dir)[i].value() ) );
+                normInfPoint = NOMAD::max( normInfPoint , (*it_dir)[i].abs() );
             }
             
             
@@ -672,9 +685,18 @@ void NOMAD::Signature::get_directions ( std::list<NOMAD::Direction>  & dirs
                     (*pd)[*it_vi] = 0.0;
                 else
                 {
+                
+                    if ( dynamic_cast<NOMAD::GMesh *>(_mesh) )
                     {
+                        if ( normInfPoint==0 )
+                            throw NOMAD::Signature::Signature_Error ( "Signature.cpp" , __LINE__ , *this ,
+                                                                     "NOMAD::Signature::set_poll_directions: cannot handle an infinite norm of zero" );
                         
-                        // Pickup 0, -1, 1 for the integer variable when Delta < 1.0
+                        (*pd)[*it_vi] = _mesh->scale_and_project(*it_vi,(*it_dir)[i]  / normInfPoint );
+                    }
+                    else
+                    {
+                        // Case other than Gmesh:
                         if ( _input_types[*it_vi] == NOMAD::INTEGER && Delta[i] < 1.0 )
                         {
                             if ( (*it_dir)[i] > 1.0/3.0 )
@@ -698,26 +720,25 @@ void NOMAD::Signature::get_directions ( std::list<NOMAD::Direction>  & dirs
                                 else if ( (*pd)[*it_vi] <= -Delta[*it_vi]/3.0 )
                                     (*pd)[*it_vi] =  (*pd)[*it_vi].floor();
                                 else
-                                    (*pd)[*it_vi] =  (*pd)[*it_vi].round();
+                                    (*pd)[*it_vi] =  (*pd)[*it_vi].roundd();
                             }
                         }
                     }
                 }
-                
             }
-            
         }
     }
 }
 
 
 /*-----------------------------------------------------------------------------------*/
-/*     compute one ORTHO 1 direction for a random group of variable                  */
+/*     compute one ORTHO 1 direction for a random group of variable                          */
 /*-----------------------------------------------------------------------------------*/
-void NOMAD::Signature::get_variable_group_direction ( NOMAD::Direction   & dir           ,
-                                                     const NOMAD::Point  & poll_center   )
+void NOMAD::Signature::get_variable_group_direction ( NOMAD::Direction          & dir        ,
+                                                     const NOMAD::Point         & poll_center   )
 {
     
+    int                                         i=0;
     std::set<int>::const_iterator               it_vi  , end_vi;
     
     NOMAD::Point delta=_mesh->get_delta ( );
@@ -725,7 +746,7 @@ void NOMAD::Signature::get_variable_group_direction ( NOMAD::Direction   & dir
     
     
     // Reset dir_group_index.
-    // For each signature, a variable_group has a  unique set of directions generated and a unique dir_group_index starting by zero (-1 if no dirs)
+    //    For each signature, a variable_group has a  unique set of directions generated and a unique dir_group_index starting by zero (-1 if no dirs)
     _dir_group_index=1;
     
     size_t n_vg=_var_groups.size();
@@ -755,16 +776,18 @@ void NOMAD::Signature::get_variable_group_direction ( NOMAD::Direction   & dir
             s=NOMAD::RNG::rand(0,1);
         
         NOMAD::Double normInfPoint=0;
-        for ( int i=0; i < static_cast<int>(var_indexes.size()) ; ++i )
+        for ( int j=0; j < static_cast<int>(var_indexes.size()) ; ++j )
         {
-            normInfPoint = std::max( normInfPoint.value() , std::fabs( (dir_nc)[i].value() ) );
+            normInfPoint = NOMAD::max( normInfPoint , (dir_nc)[i].abs() );
         }
         
+        
+        
+        
         end_vi = var_indexes.end();
-        int i = 0;
+        i = 0;
         for ( it_vi = var_indexes.begin() ; it_vi != end_vi ; ++it_vi ,++i)
         {
-            
             if ( _input_types[*it_vi] == NOMAD::BINARY )
             {
                 if ( dir_nc[i] < 0 )
@@ -779,9 +802,19 @@ void NOMAD::Signature::get_variable_group_direction ( NOMAD::Direction   & dir
             {
                 
                 // Scaling and projection on the mesh ---> round up to prevent getting the current incumbent (0<s<=1)
+                
+                if ( dynamic_cast<NOMAD::GMesh *>(_mesh) )
                 {
+                    if ( normInfPoint==0 )
+                        throw NOMAD::Signature::Signature_Error ( "Signature.cpp" , __LINE__ , *this ,
+                                                                 "NOMAD::Signature::set_poll_directions: cannot handle an infinite norm of zero" );
                     
-                    // Pickup 0, -1, 1 for the integer variable when Delta < 1.0
+                    dir[*it_vi] = _mesh->scale_and_project(*it_vi,dir_nc[i] * s / normInfPoint );
+                }
+                else
+                {
+                    
+                    // Case other than Gmesh:
                     if ( _input_types[*it_vi] == NOMAD::INTEGER && Delta[i] < 1.0 )
                     {
                         if ( dir_nc[i] > 1.0/3.0 )
@@ -819,8 +852,9 @@ void NOMAD::Signature::get_variable_group_direction ( NOMAD::Direction   & dir
 /*----------------------------------------------------------------*/
 /*  get just one direction for a given mesh (used by VNS search)  */
 /*----------------------------------------------------------------*/
-void NOMAD::Signature::get_one_direction ( NOMAD::Direction & dir , int ell)
+void NOMAD::Signature::get_one_direction ( NOMAD::Direction & dir , int ell) 
 {
+    int                           i=0;
     std::set<int>::const_iterator it_vi  , end_vi;
     
     // get delta_m (mesh size parameter):
@@ -848,21 +882,19 @@ void NOMAD::Signature::get_one_direction ( NOMAD::Direction & dir , int ell)
         // get a direction on a unit nc-sphere
         if ( (*it_vg)->get_one_direction ( dir_nc ) )
         {
-            
-            
+    
             NOMAD::Double normInfPoint=0;
-            for ( int i=0; i < static_cast<int>(var_indexes.size()) ; ++i )
+            for ( int j=0; j < static_cast<int>(var_indexes.size()) ; ++j )
             {
-                normInfPoint = std::max( normInfPoint.value() , std::fabs( (dir_nc)[i].value() ) );
+                normInfPoint = NOMAD::max( normInfPoint , (dir_nc[j]).abs() );
             }
-            
+
             
             // scale with delta and round integer and binary variables:
             end_vi = var_indexes.end();
-            int i      = 0;
+            i      = 0;
             for ( it_vi = var_indexes.begin() ; it_vi != end_vi ; ++it_vi, ++i )
             {
-                
                 if ( _input_types[*it_vi] == NOMAD::BINARY )
                 {
                     if ( dir_nc[i] < 0 )
@@ -875,8 +907,16 @@ void NOMAD::Signature::get_one_direction ( NOMAD::Direction & dir , int ell)
                     dir[*it_vi] = 0.0;
                 else
                 {
+                    if ( dynamic_cast<NOMAD::GMesh *>(_mesh) )
                     {
-                        // Pickup 0, -1, 1 for the integer variable when Delta < 1.0
+                        if ( normInfPoint==0 )
+                            throw NOMAD::Signature::Signature_Error ( "Signature.cpp" , __LINE__ , *this ,                                                          "NOMAD::Signature::set_poll_directions: cannot handle an infinite norm of zero" );
+                        
+                        dir[*it_vi] = _mesh->scale_and_project(*it_vi , dir_nc[i] / normInfPoint );
+                    }
+                    else
+                    {
+                        // Case other than Gmesh:
                         if ( _input_types[*it_vi] == NOMAD::INTEGER && Delta[i] < 1.0 )
                         {
                             if ( dir_nc[i] > 1.0/3.0 )
@@ -1001,7 +1041,7 @@ bool NOMAD::Signature::snap_to_bounds ( NOMAD::Point & x , NOMAD::Direction * di
 /*             treat the periodic variables         */
 /*         returns true if x has been modified      */
 /*--------------------------------------------------*/
-bool NOMAD::Signature::treat_periodic_variables ( NOMAD::Point            & x       ,
+bool NOMAD::Signature::treat_periodic_variables ( NOMAD::Point          &  x       ,
                                                  const NOMAD::Direction *  old_dir ,
                                                  NOMAD::Direction       *& new_dir   )
 {
@@ -1277,7 +1317,7 @@ bool NOMAD::Signature::operator < ( const NOMAD::Signature & s ) const
             return true;
         if ( s._granularity[i].comp_with_undef ( _granularity[i] ) )
             return false;
-        
+
         
         // mesh:
         // -----
diff --git a/src/Signature.hpp b/src/Signature.hpp
index a779202..6ca6ba0 100644
--- a/src/Signature.hpp
+++ b/src/Signature.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Signature.hpp
  \brief  Evaluation point signature (headers)
@@ -57,7 +59,7 @@ namespace NOMAD {
     /// Evaluation point signature.
     class Signature {
         
-    private:
+        private:
         
 #ifdef MEMORY_DEBUG
         static int _cardinality;     ///< Number of NOMAD::Signature objects in memory.
@@ -125,7 +127,7 @@ namespace NOMAD {
          \param ub                 Upper bounds           -- \b IN.
          \param scaling            Scaling                -- \b IN.
          \param fixed_variables    Fixed variables        -- \b IN.
-         \param granularity        Min granularity of var -- \b IN.
+         \param granularity        Granularity            -- \b IN.
          \param periodic_variables Periodic variables     -- \b IN.
          \param var_groups         Groups of variables    -- \b IN.
          */
@@ -154,13 +156,13 @@ namespace NOMAD {
          */
         const Signature & operator = ( const Signature & s );
         
-    public:
+        public:
         
         /*---------------------------------------------------------------------------*/
         
         /// Exception class for an invalid signature.
         class Signature_Error : public NOMAD::Exception {
-        public:
+            public:
             /// Constructor.
             Signature_Error ( const std::string & file ,
                              int                 line ,
@@ -174,49 +176,47 @@ namespace NOMAD {
         /// Constructor #1.
         /**
          Advanced version.
-         \param n                            Number of variables             -- \b IN.
-         \param input_types                  Types of the variables          -- \b IN.
-         \param mesh_type                    Type of mesh (SMesh,XMesh,GMesh)-- \b IN.
-         \param anisotropic_mesh             Anisotropy of mesh (XMesh)      -- \b IN.
-         \param granularity                  Gramularity of variables        -- \b IN.
-         \param initial_poll_size            Initial poll size               -- \b IN.
-         \param min_poll_size                Minimum poll size               -- \b IN.
-         \param min_mesh_size                Minimim mesh size               -- \b IN.
-         \param mesh_update_basis            Mesh update basis               -- \b IN.
-         \param poll_update_basis            Poll update basis               -- \b IN.
-         \param mesh_coarsening_exponent     Mesh coarsening exponent        -- \b IN.
-         \param mesh_refining_exponent       Mesh refining exponent          -- \b IN.
-         \param initial_mesh_index           Initial mesh index              -- \b IN.
-         \param limit_mesh_index             Limit mesh index                -- \b IN.
-         \param lb                           Lower bounds                    -- \b IN.
-         \param ub                           Upper bounds                    -- \b IN.
-         \param scaling                      Scaling                         -- \b IN.
-         \param fixed_variables              Fixed variables                 -- \b IN.
-         \param periodic_variables           Periodic variables              -- \b IN.
-         \param var_groups                   Groups of variables             -- \b IN.
-         \param out                          Display                         -- \b IN.
-         */
-        Signature ( int                                               n                 ,
-                   const std::vector<NOMAD::bb_input_type>          & input_types       ,
-                   const NOMAD::Point                               & lb                ,
-                   const NOMAD::Point                               & ub                ,
-                   const NOMAD::mesh_type                           & mesh_type         ,
-                   bool                                               anisotropic_mesh  ,
-                   const NOMAD::Point                               & granularity       ,
-                   const NOMAD::Point                               & initial_poll_size ,
-                   const NOMAD::Point                               & min_poll_size     ,
-                   const NOMAD::Point                               & min_mesh_size     ,
-                   NOMAD::Double                                    & mesh_update_basis ,
-                   NOMAD::Double                                    & poll_update_basis ,
-                   int                                              & mesh_coarsening_exponent,
-                   int                                              & mesh_refining_exponent,
-                   int                                                initial_mesh_index,
-                   int                                                limit_mesh_index  ,
-                   const NOMAD::Point                               & scaling           ,
-                   const NOMAD::Point                               & fixed_variables   ,
-                   const std::vector<bool>                          & periodic_variables,
-                   std::set<NOMAD::Variable_Group*,NOMAD::VG_Comp>  & var_groups        ,
-                   const NOMAD::Display                             & out=NOMAD::Display() );
+         \param n							Number of variables			-- \b IN.
+         \param input_types					Types of the variables		-- \b IN.
+         \param mesh_type                   Type of mesh (SMesh,XMesh,GMesh)-- \b IN.
+         \param anisotropic_mesh			Anisotropy of mesh (XMesh)	-- \b IN.
+         \param granularity      			Gramularity of variables   	-- \b IN.
+         \param initial_poll_size			Initial poll size			-- \b IN.
+         \param min_poll_size				Minimum poll size			-- \b IN.
+         \param min_mesh_size				Minimim mesh size			-- \b IN.
+         \param mesh_update_basis			Mesh update basis			-- \b IN.
+         \param poll_update_basis			Poll update basis			-- \b IN.
+         \param mesh_coarsening_exponent	Mesh coarsening exponent	-- \b IN.
+         \param mesh_refining_exponent		Mesh refining exponent		-- \b IN.
+         \param initial_mesh_index			Initial mesh index			-- \b IN.
+         \param lb							Lower bounds				-- \b IN.
+         \param ub							Upper bounds				-- \b IN.
+         \param scaling						Scaling						-- \b IN.
+         \param fixed_variables				Fixed variables				-- \b IN.
+         \param periodic_variables			Periodic variables			-- \b IN.
+         \param var_groups					Groups of variables			-- \b IN.
+         \param out							Display                     -- \b IN.
+         */
+        Signature ( int													  n                  ,
+                   const std::vector<NOMAD::bb_input_type>				& input_types        ,
+                   const NOMAD::Point									& lb                 ,
+                   const NOMAD::Point									& ub                 ,
+                   const NOMAD::mesh_type                               & mesh_type         ,
+                   bool													  anisotropic_mesh	,
+                   const NOMAD::Point									& granularity       ,
+                   const NOMAD::Point									& initial_poll_size	,
+                   const NOMAD::Point									& min_poll_size		,
+                   const NOMAD::Point									& min_mesh_size		,
+                   NOMAD::Double										& mesh_update_basis	,
+                   NOMAD::Double										& poll_update_basis	,
+                   int													& mesh_coarsening_exponent,
+                   int													& mesh_refining_exponent,
+                   int													  initial_mesh_index	,
+                   const NOMAD::Point									& scaling           ,
+                   const NOMAD::Point									& fixed_variables   ,
+                   const std::vector<bool>								& periodic_variables,
+                   std::set<NOMAD::Variable_Group*,NOMAD::VG_Comp>		& var_groups         ,
+                   const NOMAD::Display									& out=NOMAD::Display() );
         
         /// Constructor #2.
         /**
@@ -230,9 +230,9 @@ namespace NOMAD {
          \param sec_poll_dir_types Types of directions for secondary poll -- \b IN.
          \param out                Display                                -- \b IN.
          */
-        Signature ( int                                      n                  ,
+        Signature ( int                                       n                  ,
                    const std::vector<NOMAD::bb_input_type> & input_types        ,
-                   const NOMAD::Point                      & initial_poll_size  ,
+                   const NOMAD::Point					   & initial_poll_size	,
                    const NOMAD::Point                      & lb                 ,
                    const NOMAD::Point                      & ub                 ,
                    const std::set<NOMAD::direction_type>   & direction_types    ,
@@ -256,8 +256,8 @@ namespace NOMAD {
          \param ub                 Upper bounds           -- \b IN.
          \param scaling            Scaling                -- \b IN.
          \param fixed_variables    Fixed variables        -- \b IN.
-         \param granularity        Gramularity of var     -- \b IN.
          \param periodic_variables Periodic variables     -- \b IN.
+         \param granularity        Granularity            -- \b IN.
          \param var_groups         Groups of variables    -- \b IN.
          */
         void reset ( int                                                    n                  ,
@@ -268,7 +268,7 @@ namespace NOMAD {
                     const NOMAD::Point                                    & fixed_variables    ,
                     const NOMAD::Point                                    & granularity        ,
                     const std::vector<bool>                               & periodic_variables ,
-                    std::set<NOMAD::Variable_Group*,NOMAD::VG_Comp>       & var_groups );
+                    std::set<NOMAD::Variable_Group*,NOMAD::VG_Comp>	      & var_groups );
         
         /// Define a signature to be standard.
         void set_std ( void ) { _std = true; }
@@ -348,7 +348,6 @@ namespace NOMAD {
          */
         const NOMAD::Point & get_granularity ( void ) const { return _granularity; }
         
-        
         /// Access to the mesh.
         /**
          \return The orthogonal mesh.
@@ -358,8 +357,8 @@ namespace NOMAD {
         
         /// Update the Mesh (poll and mesh sizes).
         /**
-         \param success    Type of success of the iteration      -- \b IN.
-         \param dir        Direction of the iteration (optional) -- \b IN.
+         \param success    Type of success of the iteration			-- \b IN.
+         \param dir        Direction of the iteration (optional)	-- \b IN.
          */
         void update_mesh ( NOMAD::success_type success, const NOMAD::Direction * dir=NULL )
         {
@@ -399,7 +398,7 @@ namespace NOMAD {
          */
         int get_nb_fixed_variables ( void ) const;
         
-        
+
         /// Access to the maximum number points in the poll set.
         /**
          \return The maximum number of points in the poll set.
@@ -468,6 +467,7 @@ namespace NOMAD {
         {
             return _input_types;
         }
+
         
         /// Access to the groups of variables.
         /**
@@ -497,9 +497,9 @@ namespace NOMAD {
          \param poll              Type of poll (primary or secondary)     -- \b IN.
          \param poll_center       Poll center                             -- \b IN.
          */
-        void get_directions ( std::list<NOMAD::Direction>    & dirs          ,
-                             NOMAD::poll_type                  poll          ,
-                             const NOMAD::Point              & poll_center   );
+        void get_directions ( std::list<NOMAD::Direction>	& dirs			,
+                             NOMAD::poll_type				  poll			,
+                             const NOMAD::Point				& poll_center	);
         
         
         /// Access to a direction for a random variable group.
@@ -508,8 +508,8 @@ namespace NOMAD {
          \param dir            The direction  -- \b OUT.
          \param poll_center    Poll center    -- \b IN.
          */
-        void get_variable_group_direction ( NOMAD::Direction   & dir          ,
-                                           const NOMAD::Point  & poll_center  );
+        void get_variable_group_direction ( NOMAD::Direction        & dir				,
+                                           const NOMAD::Point		& poll_center	);
         
         /// Access to one direction for a given mesh.
         /**
@@ -517,8 +517,8 @@ namespace NOMAD {
          \param dir          The direction  -- \b OUT.
          \param mesh_index   Mesh index ell -- \b IN.
          */
-        void get_one_direction ( NOMAD::Direction & dir        ,
-                                int                 mesh_index ) ;
+        void get_one_direction ( NOMAD::Direction & dir				,
+                                int                 mesh_index		) ;
         
         
         /// Comparison operator \c < .
diff --git a/src/Signature_Element.hpp b/src/Signature_Element.hpp
index c6e1a03..1d14b26 100644
--- a/src/Signature_Element.hpp
+++ b/src/Signature_Element.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
   \file   Signature_Element.hpp
   \brief  Signature inside a set (headers)
diff --git a/src/Single_Obj_Quad_Model_Evaluator.hpp b/src/Single_Obj_Quad_Model_Evaluator.hpp
index af4d429..162f059 100644
--- a/src/Single_Obj_Quad_Model_Evaluator.hpp
+++ b/src/Single_Obj_Quad_Model_Evaluator.hpp
@@ -1,43 +1,51 @@
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
 
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3  */
-/*                                                                                     */
-/*  Copyright (C) 2001-2015  Mark Abramson        - Brigham Young University, Provo    */
-/*                           Charles Audet        - Ecole Polytechnique, Montreal      */
-/*                           Gilles Couture       - Ecole Polytechnique, Montreal      */
-/*                           John Dennis          - Rice University, Houston           */
-/*                           Sebastien Le Digabel - Ecole Polytechnique, Montreal      */
-/*                           Christophe Tribes    - Ecole Polytechnique, Montreal      */
-/*                                                                                     */
-/*  funded in part by AFOSR and Exxon Mobil                                            */
-/*                                                                                     */
-/*  Author: Sebastien Le Digabel                                                       */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
 /**
  \file   Single_Obj_Quad_Model_Evaluator.hpp
  \brief  NOMAD::Evaluator subclass for quadratic model optimization (headers)
- \author Christophe Tribes
+ \author Christophe Tribes 
  \date   2014-06-19
  \see    Single_Obj_Quad_Model_Evaluator.cpp
  */
@@ -48,37 +56,37 @@
 #include "Evaluator.hpp"
 
 namespace NOMAD {
-    
-    /// Single objective NOMAD::Evaluator subclass for quadratic model.
-    class Single_Obj_Quad_Model_Evaluator : public NOMAD::Quad_Model_Evaluator, public NOMAD::Evaluator {
-        
-    public:
-        
-        /// Constructor.
-        /**
-         \param p     Parameters -- \b IN.
-         \param model Model      -- \b IN.
-         */
-        Single_Obj_Quad_Model_Evaluator ( const NOMAD::Parameters & p     ,
-                                         const NOMAD::Quad_Model & model   ) : NOMAD::Quad_Model_Evaluator(p,model),NOMAD::Evaluator(p){_is_model_evaluator=true;}
-        
-        /// Destructor.
-        virtual ~Single_Obj_Quad_Model_Evaluator ( void ){;}
-        
-        
-        ///  Evaluate the blackboxes quad model at a given trial point
-        /**
-         \param x          point to evaluate     -- \b IN/OUT.
-         \param h_max      h_max for barrier     -- \b IN.
-         \param count_eval Count eval if true    -- \b IN.
-         */
-        virtual bool eval_x ( NOMAD::Eval_Point   & x          ,
-                             const NOMAD::Double & h_max      ,
-                             bool                & count_eval   ) const {return Quad_Model_Evaluator::eval_x(x,h_max,count_eval);}
-        
-        
-        
-    };
+	
+	/// Single objective NOMAD::Evaluator subclass for quadratic model.
+	class Single_Obj_Quad_Model_Evaluator : public NOMAD::Quad_Model_Evaluator, public NOMAD::Evaluator {     
+				
+	public:
+		
+		/// Constructor.
+		/**
+		 \param p     Parameters -- \b IN.
+		 \param model Model      -- \b IN.
+		 */
+		Single_Obj_Quad_Model_Evaluator ( const NOMAD::Parameters & p     ,
+										 const NOMAD::Quad_Model & model   ) : NOMAD::Quad_Model_Evaluator(p,model),NOMAD::Evaluator(p){_is_model_evaluator=true;}
+		
+		/// Destructor.
+		virtual ~Single_Obj_Quad_Model_Evaluator ( void ){;}
+		
+		
+		///  Evaluate the blackboxes quad model at a given trial point
+		/**
+		 \param x          point to evaluate     -- \b IN/OUT.
+		 \param h_max      h_max for barrier     -- \b IN.
+		 \param count_eval Count eval if true    -- \b IN.
+		 */		
+		virtual bool eval_x ( NOMAD::Eval_Point   & x          ,
+							 const NOMAD::Double & h_max      ,
+							 bool                & count_eval   ) const {return Quad_Model_Evaluator::eval_x(x,h_max,count_eval);}
+		
+				
+		
+	};
 }
 
 #endif
diff --git a/src/Slave.cpp b/src/Slave.cpp
index b9c2799..01c7700 100644
--- a/src/Slave.cpp
+++ b/src/Slave.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Slave.cpp
  \brief  Slave process (implementation)
@@ -322,6 +324,7 @@ void NOMAD::Slave::stop_slaves ( const NOMAD::Display & out )
         NOMAD::Slave::receive_data ( &signal , 1 , MPI_CHAR , source ,  req[source] );
         if ( display_degree == NOMAD::FULL_DISPLAY )
             out << "." << std::endl;
+        
     }
     
     // 2. test requests (with a maximal delay of MAX_REQ_WAIT):
diff --git a/src/Slave.hpp b/src/Slave.hpp
index 62a9d6d..f0f8e81 100644
--- a/src/Slave.hpp
+++ b/src/Slave.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Slave.hpp
  \brief  Slave process (headers)
diff --git a/src/Speculative_Search.cpp b/src/Speculative_Search.cpp
index bf9a6f8..3918acb 100644
--- a/src/Speculative_Search.cpp
+++ b/src/Speculative_Search.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Speculative_Search.cpp
  \brief  Speculative search (implementation)
@@ -49,6 +51,10 @@
  */
 #include "Speculative_Search.hpp"
 
+#include "XMesh.hpp"
+#include "GMesh.hpp"
+#include "SMesh.hpp"
+
 /*-------------------------------------------------------------*/
 /*                     MADS speculative search                 */
 /*-------------------------------------------------------------*/
@@ -131,7 +137,7 @@ void NOMAD::Speculative_Search::search ( NOMAD::Mads              & mads
                         if ( factor[k] == 1 )
                         {
                             // factor determined based on mesh type ( default is 4 = mesh_update_basis = 2* poll_update_basis )
-                            if ( dynamic_cast<NOMAD::XMesh *> (signature->get_mesh()) )
+                            if ( dynamic_cast<NOMAD::XMesh *> (signature->get_mesh()) ||  dynamic_cast<NOMAD::GMesh *> (signature->get_mesh()) )
                                 factor[k] = signature->get_mesh()->get_update_basis()*2.0;
                             else
                                 factor[k] = signature->get_mesh()->get_update_basis();
@@ -152,7 +158,7 @@ void NOMAD::Speculative_Search::search ( NOMAD::Mads              & mads
                         factor[k]=0;
                     
                 }
-                
+
                 NOMAD::Point mesh_indices_k( x[i]->get_signature()->get_mesh()->get_mesh_indices() );
                 signature->get_mesh()->update( NOMAD::FULL_SUCCESS, mesh_indices_k , dir );
                 
diff --git a/src/Speculative_Search.hpp b/src/Speculative_Search.hpp
index af9946e..947c96d 100644
--- a/src/Speculative_Search.hpp
+++ b/src/Speculative_Search.hpp
@@ -1,52 +1,54 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
- \file   Speculative_Search.hpp
- \brief  Speculative search (headers)
- \author Sebastien Le Digabel
- \date   2010-04-12
- \see    Speculative.cpp
- */
+  \file   Speculative_Search.hpp
+  \brief  Speculative search (headers)
+  \author Sebastien Le Digabel
+  \date   2010-04-12
+  \see    Speculative.cpp
+*/
 #ifndef __SPECULATIVE_SEARCH__
 #define __SPECULATIVE_SEARCH__
 
@@ -54,57 +56,57 @@
 #include "Mads.hpp"
 
 namespace NOMAD {
-    
-    /// Speculative search.
-    /**
+
+  /// Speculative search.
+  /**
      The speculative search consists in looking further away along
      the successful direction after an improvement.
-     */
-    class Speculative_Search : public NOMAD::Search , private NOMAD::Uncopyable {
-        
-    public:
-        
-        /// Constructor.
-        /**
-         \param p Parameters -- \b IN.
-         */
-        Speculative_Search ( NOMAD::Parameters & p )
-        : NOMAD::Search ( p , NOMAD::SPEC_SEARCH ) {}
-        
-        /// Destructor.
-        virtual ~Speculative_Search ( void ) {}
-        
-        /// The speculative search.
-        /**
-         - x_k = x_{k-1} + Delta^m_{k-1} d \n
+  */
+  class Speculative_Search : public NOMAD::Search , private NOMAD::Uncopyable {
+
+  public:
+
+    /// Constructor.
+    /**
+       \param p Parameters -- \b IN.
+    */
+    Speculative_Search ( NOMAD::Parameters & p )
+      : NOMAD::Search ( p , NOMAD::SPEC_SEARCH ) {}
+    
+    /// Destructor.
+    virtual ~Speculative_Search ( void ) {}
+
+    /// The speculative search.
+    /**
+       - x_k = x_{k-1} + Delta^m_{k-1} d \n
          s_k = x_{k-1} +        Delta^m_{k-1} d  if ell_{k-1} > 0 \n
-         or    tau * Delta^m_{k-1} d  otherwise.
-         - The directions that we use already contain Delta^m:
+                    or    tau * Delta^m_{k-1} d  otherwise.
+       - The directions that we use already contain Delta^m:
          direction = Delta^m_{k-1} d
-         - The following test
+       - The following test
          \code
-         if ( new_feas_inc || new_infeas_inc )
+          if ( new_feas_inc || new_infeas_inc )
          \endcode
-         is equal to \c true and has already been made in \c Mads.cpp.
-         
-         \param mads           NOMAD::Mads object invoking this search -- \b IN/OUT.
-         \param nb_search_pts  Number of generated search points       -- \b OUT.
-         \param stop           Stop flag                               -- \b IN/OUT.
-         \param stop_reason    Stop reason                             -- \b OUT.
-         \param success        Type of success                         -- \b OUT.
-         \param count_search   Count or not the search                 -- \b OUT.
-         \param new_feas_inc   New feasible incumbent                  -- \b IN/OUT.
-         \param new_infeas_inc New infeasible incumbent                -- \b IN/OUT.
-         */
-        virtual void search ( NOMAD::Mads              & mads           ,
-                             int                      & nb_search_pts  ,
-                             bool                     & stop           ,
-                             NOMAD::stop_type         & stop_reason    ,
-                             NOMAD::success_type      & success        ,
-                             bool                     & count_search   ,
-                             const NOMAD::Eval_Point *& new_feas_inc   ,
-                             const NOMAD::Eval_Point *& new_infeas_inc   );
-    };
+	 is equal to \c true and has already been made in \c Mads.cpp.
+
+      \param mads           NOMAD::Mads object invoking this search -- \b IN/OUT.
+      \param nb_search_pts  Number of generated search points       -- \b OUT.
+      \param stop           Stop flag                               -- \b IN/OUT.
+      \param stop_reason    Stop reason                             -- \b OUT.
+      \param success        Type of success                         -- \b OUT.
+      \param count_search   Count or not the search                 -- \b OUT.
+      \param new_feas_inc   New feasible incumbent                  -- \b IN/OUT.
+      \param new_infeas_inc New infeasible incumbent                -- \b IN/OUT.
+    */
+    virtual void search ( NOMAD::Mads              & mads           ,
+			  int                      & nb_search_pts  ,
+			  bool                     & stop           ,
+			  NOMAD::stop_type         & stop_reason    ,
+			  NOMAD::success_type      & success        ,
+			  bool                     & count_search   ,
+			  const NOMAD::Eval_Point *& new_feas_inc   ,
+			  const NOMAD::Eval_Point *& new_infeas_inc   );
+  };
 }
 
 #endif
diff --git a/src/Stats.cpp b/src/Stats.cpp
index 1984376..8df6010 100644
--- a/src/Stats.cpp
+++ b/src/Stats.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Stats.cpp
  \brief  Algorithm stats (implementation)
@@ -374,3 +376,5 @@ void NOMAD::Stats::display ( const NOMAD::Display & out ) const
     if ( _stat_avg.is_defined() )
         out << "stat avg                        : " << get_stat_avg()       << std::endl;
 }
+
+
diff --git a/src/Stats.hpp b/src/Stats.hpp
index f26323d..651541f 100644
--- a/src/Stats.hpp
+++ b/src/Stats.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Stats.hpp
  \brief  Algorithm stats (headers)
@@ -76,7 +78,7 @@ namespace NOMAD {
         int           _sgte_eval;        ///< Number of surrogate evaluations.
         int           _sgte_cost;        ///< Surrogate cost.
         int           _bb_eval;          ///< Number of blackbox evaluations.
-        int           _block_eval;    ///< Number of block of evaluations.
+        int           _block_eval;       ///< Number of block of evaluations.
         int           _failed_eval;      ///< Number of failed evaluations.
         int           _cache_hits;       ///< Number of cache hits.
         int           _interrupted_eval; ///< Number of interrupted sequence of evaluations.
@@ -137,7 +139,7 @@ namespace NOMAD {
         int           _usr_srch_success;  ///< Number of user search successes.
         
         // Dynamic management of poll directions
-        int           _nb_success_dyn_dir;  ///< Number of successfull polling in the direction added dynamically
+        int				_nb_success_dyn_dir;  ///< Number of successfull polling in the direction added dynamically
         
         
     public:
@@ -158,7 +160,7 @@ namespace NOMAD {
         _sgte_eval            ( s._sgte_eval            ) ,
         _sgte_cost            ( s._sgte_cost            ) ,
         _bb_eval              ( s._bb_eval              ) ,
-        _block_eval        ( s._block_eval        ) ,
+        _block_eval           ( s._block_eval        ) ,
         _failed_eval          ( s._failed_eval          ) ,
         _cache_hits           ( s._cache_hits           ) ,
         _interrupted_eval     ( s._interrupted_eval     ) ,
@@ -472,6 +474,12 @@ namespace NOMAD {
          */
         int get_VNS_bb_eval ( void ) const { return _VNS_bb_eval; }
         
+        /// Access to the stat \c _nb_VNS_SEARCHES.
+        /**
+         \return The stat \c _nb_VNS_SEARCHES.
+         */
+        int get_nb_VNS_SEARCHES ( void ) const { return _nb_VNS_searches; }
+        
         /// Access to the stat \c _VNS_sgte_eval.
         /**
          \return The stat \c _VNS_sgte_eval.
@@ -507,7 +515,10 @@ namespace NOMAD {
         /**
          \return The \c sum stat.
          */
-        NOMAD::Double get_stat_sum ( void ) const { return _stat_sum; }
+        NOMAD::Double get_stat_sum ( void ) const
+        {
+            return _stat_sum;
+        }
         
         /// Access to the \c avg stat.
         /**
@@ -518,6 +529,15 @@ namespace NOMAD {
             return ( _cnt_avg > 0 ) ? _stat_avg/_cnt_avg : NOMAD::Double();
         }
         
+        /// Access to the stat \c _nb_ext_polls.
+        /**
+         \return The stat \c _nb_ext_polls.
+         */
+        int get_nb_ext_poll ( void ) const
+        {
+            return _nb_ext_polls;
+        }
+        
         /// Access to the model stats.
         /**
          \return The model stats.
diff --git a/src/Uncopyable.hpp b/src/Uncopyable.hpp
index 5b2dc86..0dcb56e 100644
--- a/src/Uncopyable.hpp
+++ b/src/Uncopyable.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
   \file   Uncopyable.hpp
   \brief  Base class for uncopyable classes (headers)
diff --git a/src/VNS_Search.cpp b/src/VNS_Search.cpp
index 647dd6c..c84b276 100644
--- a/src/VNS_Search.cpp
+++ b/src/VNS_Search.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   VNS_Search.cpp
  \brief  VNS search (implementation)
@@ -136,7 +138,7 @@ void NOMAD::VNS_Search::search ( NOMAD::Mads              & mads           ,
             out.close_block ( "end of VNS search (no signature)" );
         return;
     }
-        
+    
     int n = signature->get_n();
     if ( n != x->size() )
     {
@@ -150,11 +152,10 @@ void NOMAD::VNS_Search::search ( NOMAD::Mads              & mads           ,
     
     signature->get_one_direction ( dir , _k - 1);
     
+    // shaking: construct x':
     NOMAD::Point xp(n);
     for (int i = 0 ; i < n ; ++i )
         xp[i] = ( (_p.get_bb_input_type())[i]==NOMAD::BINARY && dir[i]==1.0 && (*x)[i]==1.0 ) ? 0.0 : xp[i] = (*x)[i] + dir[i];
-
-    
     
     // shaking: the perturbation is tried twice with dir and -dir
     //          (in case x == x + dir after snapping)
@@ -192,8 +193,6 @@ void NOMAD::VNS_Search::search ( NOMAD::Mads              & mads           ,
     const NOMAD::Point            old_delta_min = signature->get_mesh()->get_min_mesh_size();
     // Current min poll size
     const NOMAD::Point            old_Delta_min = signature->get_mesh()->get_min_poll_size();
-
-    
     
     // stats:
     NOMAD::Stats & stats = mads.get_stats();
@@ -209,17 +208,17 @@ void NOMAD::VNS_Search::search ( NOMAD::Mads              & mads           ,
     if ( display_degree == NOMAD::FULL_DISPLAY )
     {
         out << "        it = " << mads_iterations << std::endl
-            << "       bbe = " << bbe << std::endl
-            << "   blk_eva = " << blk_eva << std::endl;
+        << "       bbe = " << bbe << std::endl
+        << "   blk_eva = " << blk_eva << std::endl;
         if ( has_sgte )
             out << " sgte_eval = " << sgte_eval << std::endl;
         out << "mesh_indices = ( " << old_mesh_indices << " ) " << std::endl
-            << "         k = " << _k << std::endl
-            << "      kmax = " << _k_max << std::endl
-            << "         x = ( ";
+        << "         k = " << _k << std::endl
+        << "      kmax = " << _k_max << std::endl
+        << "         x = ( ";
         x->Point::display ( out , " " , 5 , _p.get_point_display_limit() );
         out << " ) f=" << x->get_f() << " h=" << x->get_h() << std::endl
-            << "       dir = ( ";
+        << "       dir = ( ";
         dir.Point::display ( out , " " , 5 , _p.get_point_display_limit() );
         out << " ) |dir|=";
         NOMAD::Double norm = dir.norm();
@@ -228,7 +227,7 @@ void NOMAD::VNS_Search::search ( NOMAD::Mads              & mads           ,
         xp.display ( out , " " , 5 , _p.get_point_display_limit() );
         out << " )" << std::endl << std::endl;
         out << "bb_eval (before+VNS only) objective_value"
-            << std::endl << std::endl;
+        << std::endl << std::endl;
     }
     
     // save parameters that are going to be modified:
@@ -236,6 +235,7 @@ void NOMAD::VNS_Search::search ( NOMAD::Mads              & mads           ,
     std::string old_display_degree;
     _p.out().get_display_degree ( old_display_degree );
     
+    
     NOMAD::model_params_type old_mp;
     _p.get_model_parameters ( old_mp );
     
@@ -281,7 +281,7 @@ void NOMAD::VNS_Search::search ( NOMAD::Mads              & mads           ,
         _p.set_DISPLAY_DEGREE ( NOMAD::NORMAL_DISPLAY );
     else if ( _p.get_display_degree() == NOMAD::NORMAL_DISPLAY )
         _p.set_DISPLAY_DEGREE ( NOMAD::MINIMAL_DISPLAY );
-
+    
     
     // modify parameters:
     // ------------------
@@ -305,17 +305,42 @@ void NOMAD::VNS_Search::search ( NOMAD::Mads              & mads           ,
     _p.set_USER_CALLS_ENABLED    ( false );
     _p.set_EXTENDED_POLL_ENABLED ( false );
     
+    
+    std::string                            s_bbe = NOMAD::itos(bbe) + "+";
+    std::string                            s_blk = NOMAD::itos(blk_eva) + "+";
+    std::string                            s_sgte = NOMAD::itos(sgte_eval) + "+";
     // DISPLAY_STATS:
     {
+        std::list<std::string> ds    = old_ds;
+        std::list<std::string>::iterator       it    = ds.begin();
+        std::list<std::string>::const_iterator end   = ds.end();
+        
         if ( has_sgte )
-            _p.set_DISPLAY_STATS ( NOMAD::itos(sgte_eval) + "+SGTE OBJ (VNS--surrogate)" );
+        {
+            while ( it != ds.end() )
+            {
+                if ( *it == "BBE" )
+                {
+                    it = ds.erase ( it );
+                    ds.insert ( it , NOMAD::itos(bbe) );
+                }
+                if ( *it == "BLK_EVA" )
+                {
+                    it = ds.erase ( it );
+                    ds.insert ( it , NOMAD::itos(blk_eva) );
+                }
+                if ( *it == "SGTE" )
+                    ds.insert ( it , s_sgte );
+
+                ++it;
+            }
+            ds.push_back(" ");
+            ds.push_back ( "(VNS#" + NOMAD::itos(stats.get_nb_VNS_SEARCHES()) + "--surrogate_evals)" );
+            _p.set_DISPLAY_STATS ( ds );
+        }
         else
         {
-            std::list<std::string> ds    = old_ds;
-            std::list<std::string>::iterator       it    = ds.begin();
-            std::list<std::string>::const_iterator end   = ds.end();
-            std::string                            s_bbe = NOMAD::itos(bbe) + "+";
-            std::string                            s_blk = NOMAD::itos(blk_eva) + "+";
+
             while ( it != end )
             {
                 if ( *it == "BBE" )
@@ -324,7 +349,8 @@ void NOMAD::VNS_Search::search ( NOMAD::Mads              & mads           ,
                     ds.insert ( it , s_blk );
                 ++it;
             }
-            ds.push_back ( " (VNS)" );
+            ds.push_back(" ");
+            ds.push_back ( "(VNS#" + NOMAD::itos(stats.get_nb_VNS_SEARCHES()) + ")" );
             _p.set_DISPLAY_STATS ( ds );
         }
     }
@@ -334,18 +360,44 @@ void NOMAD::VNS_Search::search ( NOMAD::Mads              & mads           ,
         std::list<std::string>                 sf    = old_stats_file;
         std::list<std::string>::iterator       it    = sf.begin();
         std::list<std::string>::const_iterator end   = sf.end();
-        std::string                            s_bbe = NOMAD::itos(bbe) + "+";
-        std::string                            s_blk = NOMAD::itos(blk_eva) + "+";
-        while ( it != end )
+        if ( has_sgte )
         {
-            if ( *it == "BBE" )
-                sf.insert ( it , s_bbe );
-            if ( *it == "BLK_EVA" )
-                sf.insert ( it , s_blk );
-            ++it;
+            while ( it != sf.end() )
+            {
+                if ( *it == "BBE" )
+                {
+                    it = sf.erase ( it );
+                    sf.insert ( it , NOMAD::itos(bbe) );
+                }
+                if ( *it == "BLK_EVA" )
+                {
+                    it = sf.erase ( it );
+                    sf.insert ( it , NOMAD::itos(blk_eva) );
+                }
+                if ( *it == "SGTE" )
+                    sf.insert ( it , s_sgte );
+                
+                ++it;
+            }
+            sf.push_back(" ");
+            sf.push_back ( "(VNS#" + NOMAD::itos(stats.get_nb_VNS_SEARCHES()) + "--surrogate_evals)" );
+            _p.set_STATS_FILE ( old_stats_file_name , sf );
+        }
+        else
+        {
+            
+            while ( it != end )
+            {
+                if ( *it == "BBE" )
+                    sf.insert ( it , s_bbe );
+                if ( *it == "BLK_EVA" )
+                    sf.insert ( it , s_blk );
+                ++it;
+            }
+            sf.push_back(" ");
+            sf.push_back ( "(VNS#" + NOMAD::itos(stats.get_nb_VNS_SEARCHES()) + ")" );
+            _p.set_STATS_FILE ( old_stats_file_name , sf );
         }
-        sf.push_back ( " (VNS)" );
-        _p.set_STATS_FILE ( old_stats_file_name , sf );
     }
     
     // X0:
@@ -378,7 +430,13 @@ void NOMAD::VNS_Search::search ( NOMAD::Mads              & mads           ,
     
     // STAT_SUM_TARGET:
     if ( old_sst.is_defined() )
-        _p.set_STAT_SUM_TARGET ( old_sst - stats.get_stat_sum() );
+    {
+        if ( ! stats.get_stat_sum().is_defined() )
+            stats.update_stat_sum( Double(0) );
+        _p.set_STAT_SUM_TARGET ( old_sst - stats.get_stat_sum()  );
+
+    }
+    
     
     // MAX_TIME:
     if ( old_max_time > 0 )
@@ -411,7 +469,7 @@ void NOMAD::VNS_Search::search ( NOMAD::Mads              & mads           ,
     
     // Modified dimension after extern signature is set
     int modified_dimension = _p.get_dimension();
-
+    
     
     // Evaluator_Control:
     NOMAD::Evaluator_Control & ev_control = mads.get_evaluator_control();
@@ -518,7 +576,7 @@ void NOMAD::VNS_Search::search ( NOMAD::Mads              & mads           ,
     
     // Needed because mesh reinitialized during p.check()
     signature->get_mesh()->set_min_mesh_sizes( old_delta_min );
-    signature->get_mesh()->set_min_poll_sizes( old_Delta_min ); 
+    signature->get_mesh()->set_min_poll_sizes( old_Delta_min );
     signature->get_mesh()->set_mesh_indices( old_mesh_indices );
     
     // surrogate evaluations: perform only one true evaluation:
@@ -605,7 +663,7 @@ void NOMAD::VNS_Search::search ( NOMAD::Mads              & mads           ,
     }
     
     // true evaluations (or surrogate evaluations if opt_only_sgte==true):
-    else 
+    else
     {
         
         // for the update of new_feas_inc and new_infeas_inc (1/2):
@@ -650,7 +708,7 @@ void NOMAD::VNS_Search::search ( NOMAD::Mads              & mads           ,
             nb_search_pts = VNS_mads.get_stats().get_sgte_eval();
             success       = sgte_succ;
         }
-        else 
+        else
         {
             nb_search_pts = VNS_mads.get_stats().get_eval();
             success       = true_succ;
@@ -665,7 +723,7 @@ void NOMAD::VNS_Search::search ( NOMAD::Mads              & mads           ,
         if ( new_feas_inc && display_degree > NOMAD::NO_DISPLAY && display_degree < NOMAD::FULL_DISPLAY )
         {
             std::list<std::string> ds    = old_ds;
-            ds.push_back ( " (VNS)" );
+            ds.push_back ( " (VNS#" + NOMAD::itos(stats.get_nb_VNS_SEARCHES()) + ")" );
             ev_control.display_stats(false, out, ds , new_feas_inc , true , NULL );
         }
     }
diff --git a/src/VNS_Search.hpp b/src/VNS_Search.hpp
index e966c3f..bc4f2e3 100644
--- a/src/VNS_Search.hpp
+++ b/src/VNS_Search.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   VNS_Search.hpp
  \brief  VNS search (headers)
diff --git a/src/Variable_Group.cpp b/src/Variable_Group.cpp
index 6c198f1..37fad37 100644
--- a/src/Variable_Group.cpp
+++ b/src/Variable_Group.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Variable_Group.cpp
  \brief  Group of variables (implementation)
@@ -147,13 +149,13 @@ bool NOMAD::Variable_Group::check( const NOMAD::Point                      & fix
 /*---------------------------------------------------------*/
 /*                compute the directions                   */
 /*---------------------------------------------------------*/
-void NOMAD::Variable_Group::get_directions ( std::list<NOMAD::Direction>    & dirs  ,
-                                            NOMAD::poll_type                  poll  ,
-                                            const NOMAD::OrthogonalMesh     & mesh  )
+void NOMAD::Variable_Group::get_directions ( std::list<NOMAD::Direction>    & dirs        ,
+                                            NOMAD::poll_type                poll        ,
+                                            const NOMAD::OrthogonalMesh        & mesh        )
 {
     // vectors are of size nc :
     // ------------------------
-    _directions->compute ( dirs   ,
+    _directions->compute ( dirs    ,
                           poll    ,
                           mesh );
     return;
diff --git a/src/Variable_Group.hpp b/src/Variable_Group.hpp
index beee305..a2d857e 100644
--- a/src/Variable_Group.hpp
+++ b/src/Variable_Group.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   Variable_Group.hpp
  \brief  Group of variables (headers)
@@ -125,7 +127,7 @@ namespace NOMAD {
         bool check ( const NOMAD::Point                      & fixed_vars ,
                     const std::vector<NOMAD::bb_input_type> & bbit       ,
                     std::vector<bool>                       * in_group   ,
-                    bool                                      & mod            );
+                    bool 									 & mod            );
         
         /// Check if the directions are Ortho-MADS directions.
         /**
@@ -160,13 +162,13 @@ namespace NOMAD {
         
         /// Access to the directions.
         /**
-         \param dirs                List of directions                      -- \b OUT.
-         \param poll                Type of poll (primary or secondary)     -- \b IN.
-         \param mesh                Mesh                                    -- \b IN.
+         \param dirs				List of directions                      -- \b OUT.
+         \param poll				Type of poll (primary or secondary)     -- \b IN.
+         \param mesh				Mesh									-- \b IN.
          */
-        void get_directions ( std::list<NOMAD::Direction>    & dirs        ,
-                             NOMAD::poll_type                  poll        ,
-                             const NOMAD::OrthogonalMesh     & mesh        );
+        void get_directions ( std::list<NOMAD::Direction>	& dirs			,
+                             NOMAD::poll_type				  poll			,
+                             const NOMAD::OrthogonalMesh	& mesh			);
         
         
         /// Access to one direction for a given mesh.
diff --git a/src/XMesh.cpp b/src/XMesh.cpp
index f19078d..fffb25f 100644
--- a/src/XMesh.cpp
+++ b/src/XMesh.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   XMesh.cpp
  \brief  Class for the MADS xmesh (implementation)
@@ -52,7 +54,7 @@
 
 
 /*-----------------------------------------------------------*/
-/*                    init the XMesh                       */
+/*                    init the XMesh                         */
 /*-----------------------------------------------------------*/
 void NOMAD::XMesh::init ( )
 {
@@ -75,7 +77,6 @@ void NOMAD::XMesh::init ( )
         _r[k]=0;
         _r_max[k]=0;
         _r_min[k]=0;
-
     }
     
     
@@ -119,7 +120,7 @@ void NOMAD::XMesh::update ( NOMAD::success_type success ,
 /*-----------------------------------------------------------*/
 /*                    update the XMesh                       */
 /*-----------------------------------------------------------*/
-void NOMAD::XMesh::update ( NOMAD::success_type success , const NOMAD::Direction * dir) // , const NOMAD::OrthogonalMesh *mesh )
+void NOMAD::XMesh::update ( NOMAD::success_type success , const NOMAD::Direction * dir)
 {
     // defaults:
     //  full success: r^k_j = r^k_j + 1 if (dir_k != 0 and anistropic_mesh) and r^k_j remains the same if dir_k=0
@@ -199,8 +200,8 @@ void NOMAD::XMesh::update ( NOMAD::success_type success , const NOMAD::Direction
 /*-----------------------------------------------------------*/
 void NOMAD::XMesh::display ( const NOMAD::Display & out ) const
 {
-    out << "n                   : " << _n               << std::endl
-    << "tau                     : " << _update_basis << std::endl
+    out << "n                       : " << _n               << std::endl
+    << "tau                        : " << _update_basis    << std::endl
     << "poll coarsening exponent: " << _coarsening_step << std::endl
     << "poll refining exponent  : " << _refining_step   << std::endl;
     out << "minimal mesh size       : ";
@@ -327,12 +328,12 @@ bool NOMAD::XMesh::get_delta ( NOMAD::Point & delta ) const
     delta.resize(_n);
     
     bool delta_min_is_defined=_delta_min.is_defined();
-    
     bool stop    = true;
     
     // delta^k = power_of_beta * delta^0:
     for ( int i = 0 ; i < _n ; ++i )
     {
+
         delta[i] = get_delta( i );
         
         if ( stop && delta_min_is_defined && _delta_min[i].is_defined() && delta[i] >= _delta_min[i] )
@@ -390,9 +391,8 @@ bool NOMAD::XMesh::get_Delta ( NOMAD::Point & Delta ) const
 NOMAD::Double NOMAD::XMesh::get_Delta ( int i ) const
 {
     NOMAD::Double Delta = _Delta_0[i] * pow( _update_basis.value() , _r[i].value() );
-    
-    return Delta;
 
+    return Delta;
 }
 
 
@@ -433,7 +433,6 @@ void NOMAD::XMesh::set_mesh_indices ( const NOMAD::Point & r )
 /*-----------------------------------------------------------*/
 void NOMAD::XMesh::set_limit_mesh_index ( int l )
 {
-    
     _limit_mesh_index=l;
 }
 
@@ -445,7 +444,6 @@ void NOMAD::XMesh::set_limit_mesh_index ( int l )
 /*-----------------------------------------------------------*/
 NOMAD::Double NOMAD::XMesh::scale_and_project(int i, const NOMAD::Double & l, bool round_up) const
 {
-
     NOMAD::Double delta = get_delta( i );
     NOMAD::Double Delta = get_Delta( i );
     
diff --git a/src/XMesh.hpp b/src/XMesh.hpp
index f3450fe..044adb9 100644
--- a/src/XMesh.hpp
+++ b/src/XMesh.hpp
@@ -1,38 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3    */
-/*                                                                                     */
-/*  Copyright (C) 2001-2015  Mark Abramson        - Brigham Young University, Provo    */
-/*                           Charles Audet        - Ecole Polytechnique, Montreal      */
-/*                           Gilles Couture       - Ecole Polytechnique, Montreal      */
-/*                           John Dennis          - Rice University, Houston           */
-/*                           Sebastien Le Digabel - Ecole Polytechnique, Montreal      */
-/*                           Christophe Tribes    - Ecole Polytechnique, Montreal      */
-/*                                                                                     */
-/*  funded in part by AFOSR and Exxon Mobil                                            */
-/*                                                                                     */
-/*  Author: Christophe Tribes                                                          */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   XMesh.hpp
  \brief  Class for the xmesh (extensible mesh) (headers)
@@ -58,11 +67,12 @@ namespace NOMAD {
         /*--------------------------------------------------------------*/
     private:
         
-        NOMAD::Point    _r; // Mesh index per coordinate.
-        NOMAD::Point    _r_min;
-        NOMAD::Point    _r_max;
+        NOMAD::Point	_r; // Mesh index per coordinate.
+        NOMAD::Point	_r_min;
+        NOMAD::Point	_r_max;
         
-         /*--------------------------------------------------------------*/
+        
+        /*--------------------------------------------------------------*/
         
         /// Private affectation operator.
         /**
@@ -98,13 +108,13 @@ namespace NOMAD {
         
         /// Constructor.
         /**
-         \param anisotropic_mesh         Use anisotropic mesh or not                     -- \b IN.
-         \param Delta_0                 Initial poll size Delta^0                       -- \b IN.
-         \param Delta_min               Minimal poll size Delta^min (may be undefined)  -- \b IN.
-         \param delta_min               Minimal mesh size delta^min (may be undefined)  -- \b IN.
-         \param poll_update_basis       Poll update basis (b); default=2                -- \b IN.
-         \param poll_coarsening_step    Poll coarsening step (w+); default=1            -- \b IN.
-         \param poll_refining_step      Poll refining step (w-); default=-1             -- \b IN.
+         \param anisotropic_mesh        Use anisotropic mesh or not                     -- \b IN.
+         \param Delta_0					Initial poll size Delta^0						-- \b IN.
+         \param Delta_min				Minimal poll size Delta^min (may be undefined)	-- \b IN.
+         \param delta_min				Minimal mesh size delta^min (may be undefined)	-- \b IN.
+         \param poll_update_basis		Poll update basis (b); default=2				-- \b IN.
+         \param poll_coarsening_step	Poll coarsening step (w+); default=1			-- \b IN.
+         \param poll_refining_step		Poll refining step (w-); default=-1				-- \b IN.
          \param fixed_variables         Fixed variables                                 -- \b IN.
          \param limit_min_mesh_index    Limit mesh index (<0)                           -- \b IN.
          */
@@ -113,9 +123,9 @@ namespace NOMAD {
                const NOMAD::Point & Delta_min ,
                const NOMAD::Point & delta_min  ,
                const NOMAD::Point & fixed_variables,
-               NOMAD::Double        poll_update_basis=2.0,
-               int                  poll_coarsening_step=1,
-               int                  poll_refining_step=-1 ,
+               NOMAD::Double		poll_update_basis=2.0,
+               int					poll_coarsening_step=1,
+               int					poll_refining_step=-1 ,
                int                  limit_min_mesh_index=NOMAD::XL_LIMITS )
         : NOMAD::OrthogonalMesh ( anisotropic_mesh,
                                  Delta_0,
@@ -137,9 +147,9 @@ namespace NOMAD {
          */
         XMesh ( const XMesh & m )
         : OrthogonalMesh ( m ) ,
-        _r        ( m._r ),
-        _r_min    ( m._r_min ),
-        _r_max    ( m._r_max ) { init(); }
+        _r			( m._r ),
+        _r_min		( m._r_min ),
+        _r_max		( m._r_max ) { init(); }
         
         /// Destructor.
         ~XMesh ( void )
@@ -183,17 +193,17 @@ namespace NOMAD {
         
         /// Update the provided mesh indices (the Mesh is unchanged).
         /**
-         \param success         Type of success of the iteration                -- \b IN.
-         \param mesh_indices    The mesh indices before and after the update    -- \b IN/OUT.
-         \param dir             The direction that is considered (opt)          -- \b IN.
+         \param success			Type of success of the iteration				-- \b IN.
+         \param mesh_indices	The mesh indices before and after the update	-- \b IN/OUT.
+         \param dir				The direction that is considered (opt)			-- \b IN.
          */
         void update ( NOMAD::success_type success , NOMAD::Point & mesh_indices, const NOMAD::Direction *dir=NULL ) const ;
         
         
         /// Update the XMesh (poll and mesh sizes).
         /**
-         \param success    Type of success of the iteration    -- \b IN.
-         \param dir        Direction of the iteration          -- \b IN.
+         \param success    Type of success of the iteration		-- \b IN.
+         \param dir        Direction of the iteration			-- \b IN.
          */
         void update ( NOMAD::success_type success, const NOMAD::Direction * dir=NULL);
         
@@ -216,10 +226,10 @@ namespace NOMAD {
         
         /// Scale and project the ith component of a vector on the mesh
         /**
-         \param i         The vector component number            -- \b IN.
-         \param l         The vector component value             -- \b IN.
-         \param round_up  A flag to round or not                 -- \b IN.
-         \return     The ith component of a vector after mesh scaling and projection
+         \param i        The vector component number        -- \b IN.
+         \param l        The vector component value         -- \b IN.
+         \param round_up The flag for round-up              -- \b IN.
+         \return	The ith component of a vector after mesh scaling and projection
          */
         NOMAD::Double scale_and_project(int i, const NOMAD::Double & l , bool round_up ) const ;
         
@@ -229,8 +239,8 @@ namespace NOMAD {
          \param stop           Stop flag                  -- \b IN/OUT.
          \param stop_reason    Stop reason                -- \b OUT.
          */
-        void check_min_mesh_sizes ( bool             & stop           ,
-                                   NOMAD::stop_type  & stop_reason      ) const;
+        void check_min_mesh_sizes (	bool             & stop           ,
+                                   NOMAD::stop_type & stop_reason      ) const;
         
         /// Access to the mesh indices per coordinate.
         /**
diff --git a/src/defines.hpp b/src/defines.hpp
index d1078f3..4fbb467 100644
--- a/src/defines.hpp
+++ b/src/defines.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   defines.hpp
  \brief  Definitions
@@ -105,7 +107,7 @@
 // For NOMAD random number generator 
 #if !defined(UINT32_MAX)
 typedef unsigned int uint32_t;
-#define UINT32_MAX    0xffffffff
+#define UINT32_MAX	0xffffffff
 #endif
 
 // to display model stats for each evaluation at
@@ -123,222 +125,231 @@ typedef unsigned int uint32_t;
 // #define MODEL_STATS
 
 namespace NOMAD {
-    
-    /// Current version:
-    const std::string BASE_VERSION = "3.7.3";
-    
+	
+	/// Current version:
+	const std::string BASE_VERSION = "3.8.1";
+	
 #ifdef R_VERSION
-    const std::string VERSION = BASE_VERSION + ".R";
+	const std::string VERSION = BASE_VERSION + ".R";
 #else
 #ifdef USE_MPI
-    const std::string VERSION = BASE_VERSION + ".MPI";
+	const std::string VERSION = BASE_VERSION + ".MPI";
 #else
-    const std::string VERSION = BASE_VERSION;
+	const std::string VERSION = BASE_VERSION;
 #endif
 #endif
-    
-    // Directory separator, plus LGPL and user guide files
+	
+	// Directory separator, plus LGPL and user guide files
 #ifdef WINDOWS
-    const char        DIR_SEP = '\\';           ///< Directory separator
-    const std::string HOME    = "%NOMAD_HOME%"; ///< Home directory
+	const char        DIR_SEP = '\\';           ///< Directory separator
+	const std::string HOME    = "%NOMAD_HOME%"; ///< Home directory
 #else
-    const char        DIR_SEP = '/';            ///< Directory separator
-    const std::string HOME    = "$NOMAD_HOME";  ///< Home directory
+	const char        DIR_SEP = '/';            ///< Directory separator
+	const std::string HOME    = "$NOMAD_HOME";  ///< Home directory
 #endif
-    
-    /// Licence file
-    const std::string LGPL_FILE = HOME+DIR_SEP+"src"+DIR_SEP+"lgpl.txt";
-    
-    /// User guide file
-    const std::string USER_GUIDE_FILE = HOME+DIR_SEP+"doc"+DIR_SEP+"user_guide.pdf";
-    
-    /// Examples directory
-    const std::string EXAMPLES_DIR = HOME+DIR_SEP+"examples";
-    
-    /// Tools directory
-    const std::string TOOLS_DIR = HOME+DIR_SEP+"tools";
-    
-    /// Tag for valid cache files
+	
+	/// Licence file
+	const std::string LGPL_FILE = HOME+DIR_SEP+"src"+DIR_SEP+"lgpl.txt";
+	
+	/// User guide file
+	const std::string USER_GUIDE_FILE = HOME+DIR_SEP+"doc"+DIR_SEP+"user_guide.pdf";
+	
+	/// Examples directory
+	const std::string EXAMPLES_DIR = HOME+DIR_SEP+"examples";
+	
+	/// Tools directory
+	const std::string TOOLS_DIR = HOME+DIR_SEP+"tools";
+	
+	/// Tag for valid cache files
 #ifdef GCC_X
-    const int CACHE_FILE_ID = 77041301;
+	const int CACHE_FILE_ID = 77041301;
 #else
 #ifdef GCC_WINDOWS
-    const int CACHE_FILE_ID = 77041302;
+	const int CACHE_FILE_ID = 77041302;
 #else
 #ifdef _MSC_VER
-    const int CACHE_FILE_ID = 77041303;
+	const int CACHE_FILE_ID = 77041303;
 #else
-    const int CACHE_FILE_ID = 77041304;
+	const int CACHE_FILE_ID = 77041304;
 #endif
 #endif
 #endif
-    
+	
 #ifdef USE_MPI
-    // MPI constants
-    const int   MAX_REQ_WAIT =  3 ;  ///< Maximum time to wait for a request
-    const char   STOP_SIGNAL = 'S';  ///< Stop signal
-    const char   EVAL_SIGNAL = 'X';  ///< Evaluation signal
-    const char  READY_SIGNAL = 'R';  ///< Ready signal
-    const char RESULT_SIGNAL = 'O';  ///< Result signal
-    const char   WAIT_SIGNAL = 'W';  ///< Wait signal
+	// MPI constants
+	const int   MAX_REQ_WAIT =  3 ;  ///< Maximum time to wait for a request
+	const char   STOP_SIGNAL = 'S';  ///< Stop signal
+	const char   EVAL_SIGNAL = 'X';  ///< Evaluation signal
+	const char  READY_SIGNAL = 'R';  ///< Ready signal
+	const char RESULT_SIGNAL = 'O';  ///< Result signal
+	const char   WAIT_SIGNAL = 'W';  ///< Wait signal
 #endif
-    
-    /// Maximum number of variables.
-    const int MAX_DIMENSION = 1000;
-    
-    // Old static Mesh index constants
-    const int L_LIMITS    = 50;         ///< Limits for the smesh index values
-    const int UNDEFINED_L = L_LIMITS+1;  ///< Undefined value for the smesh index
+	
+	/// Maximum number of variables.
+	const int MAX_DIMENSION = 1000;
+	
+	// Old static Mesh index constants
+	const int L_LIMITS    = 50;         ///< Limits for the smesh index values
+	const int UNDEFINED_L = L_LIMITS+1;  ///< Undefined value for the smesh index
 
     // xmesh index constants
     const int XL_LIMITS    = -50;         ///< Limits for the xmesh index values
-    const int UNDEFINED_XL = XL_LIMITS-1;  ///< Undefined value for the xmesh index
+	const int UNDEFINED_XL = XL_LIMITS-1;  ///< Undefined value for the xmesh index
     
-    /// Default epsilon used by NOMAD::Double
-    /** Use Parameters::set_EPSILON(), or parameter EPSILON,
-     or NOMAD::Double::set_epsilon() to change it
-     */
-    const double DEFAULT_EPSILON = 1e-13;
-    
-    /// Maximal output value for points used for models.
-    const double MODEL_MAX_OUTPUT = 1e10;
-    
-    /// Default infinity string used by NOMAD::Double
-    /** Use Parameters::set_INF_STR(), or parameter INF_STR,
-     or NOMAD::Double::set_inf_str() to change it
-     */
-    const std::string DEFAULT_INF_STR = "inf";
-    
-    /// Default undefined value string used by NOMAD::Double
-    /** Use Parameters::set_UNDEF_STR(), or parameter UNDEF_STR,
-     or NOMAD::Double::set_undef_str() to change it
-     */
-    const std::string DEFAULT_UNDEF_STR = "NaN";
-    
-    /// log(10) (for display widths.)
-    const double LOG10 = 2.30258509299;
-    
-    const double INF = std::numeric_limits<double>::max(); ///< Infinity
+    // gmesh index constants
+    const int GL_LIMITS    = -50;         ///< Limits for the gmesh index values
+    const int UNDEFINED_GL = GL_LIMITS-1;  ///< Undefined value for the gmesh index
+
+   
+    
+	/// Default epsilon used by NOMAD::Double
+	/** Use Parameters::set_EPSILON(), or parameter EPSILON,
+	 or NOMAD::Double::set_epsilon() to change it
+	 */
+	const double DEFAULT_EPSILON = 1e-13;
+	
+	/// Maximal output value for points used for models.
+	const double MODEL_MAX_OUTPUT = 1e10;
+	
+	/// Default infinity string used by NOMAD::Double
+	/** Use Parameters::set_INF_STR(), or parameter INF_STR,
+	 or NOMAD::Double::set_inf_str() to change it
+	 */
+	const std::string DEFAULT_INF_STR = "inf";
+	
+	/// Default undefined value string used by NOMAD::Double
+	/** Use Parameters::set_UNDEF_STR(), or parameter UNDEF_STR,
+	 or NOMAD::Double::set_undef_str() to change it
+	 */
+	const std::string DEFAULT_UNDEF_STR = "NaN";
+    
+	/// log(10) (for display widths.)
+	const double LOG10 = 2.30258509299;
+	
+    const double NaN = std::numeric_limits<double>::quiet_NaN(); ///< Quiet Not-A-Number
+	const double INF = std::numeric_limits<double>::max(); ///< Infinity
     const double P_INF_INT = std::numeric_limits<int>::max(); ///< plus infinity for int
     const double M_INF_INT = std::numeric_limits<int>::min(); ///< minus infinity for int
 
-    
-    const double D_INT_MAX = UINT32_MAX; ///< The UINT32_MAX constant as a \c double
-    
-    // Singular Value Decomposition (SVD) constants:
-    const double SVD_EPS      = 1e-13;      ///< Epsilon for SVD
-    const int    SVD_MAX_MPN  = 1500;       ///< Matrix maximal size (\c m+n )
-    const double SVD_MAX_COND = NOMAD::INF; ///< Max. acceptable cond. number
-        
-    /// Default value for parameter POINT_DISPLAY_LIMIT
-    /** Use Parameters::set_POINT_DISPLAY_LIMIT() or parameter POINT_DISPLAY_LIMIT
-     or Point::set_display_limit() to change it */
-    const int DEFAULT_POINT_DISPLAY_LIMIT = 20;
-    
-    // Display precisions.
-    const int DISPLAY_PRECISION_STD = 10;  ///< Standard display precision
-    const int DISPLAY_PRECISION_BB  = 15;  ///< Display precision for blackboxes
-    
-    /// Constant for blackbox files #1.
-    const std::string BLACKBOX_INPUT_FILE_PREFIX = "nomad"; 
-    
-    /// Constant for blackbox files #2.
-    const std::string BLACKBOX_INPUT_FILE_EXT = "input";
-    
-    /// Constant for blackbox files #3.
-    const std::string BLACKBOX_OUTPUT_FILE_PREFIX = "nomad";
-    
-    /// Constant for blackbox files #4.
-    const std::string BLACKBOX_OUTPUT_FILE_EXT = "output";
-    
-    /// Display degree type.
-    enum dd_type
+	
+	const double D_INT_MAX = UINT32_MAX; ///< The UINT32_MAX constant as a \c double
+	
+	// Singular Value Decomposition (SVD) constants:
+	const double SVD_EPS      = 1e-13;      ///< Epsilon for SVD
+	const int    SVD_MAX_MPN  = 1500;       ///< Matrix maximal size (\c m+n )
+	const double SVD_MAX_COND = NOMAD::INF; ///< Max. acceptable cond. number
+		
+	/// Default value for parameter POINT_DISPLAY_LIMIT
+	/** Use Parameters::set_POINT_DISPLAY_LIMIT() or parameter POINT_DISPLAY_LIMIT
+	 or Point::set_display_limit() to change it */
+	const int DEFAULT_POINT_DISPLAY_LIMIT = 20;
+	
+	// Display precisions.
+	const int DISPLAY_PRECISION_STD = 10;  ///< Standard display precision
+	const int DISPLAY_PRECISION_BB  = 15;  ///< Display precision for blackboxes
+	
+	/// Constant for blackbox files #1.
+	const std::string BLACKBOX_INPUT_FILE_PREFIX = "nomad"; 
+	
+	/// Constant for blackbox files #2.
+	const std::string BLACKBOX_INPUT_FILE_EXT = "input";
+	
+	/// Constant for blackbox files #3.
+	const std::string BLACKBOX_OUTPUT_FILE_PREFIX = "nomad";
+	
+	/// Constant for blackbox files #4.
+	const std::string BLACKBOX_OUTPUT_FILE_EXT = "output";
+	
+	/// Display degree type.
+	enum dd_type
     {
-        NO_DISPLAY     , ///< No display
-        MINIMAL_DISPLAY, ///< Minimal dispay        
-        NORMAL_DISPLAY , ///< Normal display
-        FULL_DISPLAY     ///< Full display
+		NO_DISPLAY     , ///< No display
+		MINIMAL_DISPLAY, ///< Minimal dispay    	
+		NORMAL_DISPLAY , ///< Normal display
+		FULL_DISPLAY     ///< Full display
     };
-    
+	
     /// Types of the variables
-    //  (do not modify this order)
-    enum bb_input_type
+	//  (do not modify this order)
+	enum bb_input_type
     {
-        CONTINUOUS  ,     ///< Continuous variable (default) (R)
-        INTEGER     ,     ///< Integer variable              (I)
-        CATEGORICAL ,     ///< Categorical variable          (C)
-        BINARY            ///< Binary variable               (B)
+		CONTINUOUS  ,     ///< Continuous variable (default) (R)
+		INTEGER     ,     ///< Integer variable              (I)
+		CATEGORICAL ,     ///< Categorical variable          (C)
+		BINARY            ///< Binary variable               (B)
     };
-    
-    /// Blackbox outputs type
-    enum bb_output_type
+	
+	/// Blackbox outputs type
+	enum bb_output_type
     {
-        OBJ         ,    ///< Objective value
-        EB          ,    ///< Extreme barrier constraint
-        PB          ,    ///< progressive barrier constraint
-        // PEB           ///< PB constraint that becomes EB once satisfied
-        PEB_P       ,    ///< PEB constraint, state P (PB)
-        PEB_E       ,    ///< PEB constraint, state E (EB)
-        FILTER      ,    ///< Filter constraint
-        CNT_EVAL    ,    ///< Output set to 0 or 1 to specify to count or not the
-        ///<   blackbox evaluation
-        STAT_AVG    ,    ///< Stat (average)
-        STAT_SUM    ,    ///< Stat (sum)
-        UNDEFINED_BBO    ///< Ignored output
+		OBJ         ,    ///< Objective value
+		EB          ,    ///< Extreme barrier constraint
+		PB          ,    ///< progressive barrier constraint
+		// PEB           ///< PB constraint that becomes EB once satisfied
+		PEB_P       ,    ///< PEB constraint, state P (PB)
+		PEB_E       ,    ///< PEB constraint, state E (EB)
+		FILTER      ,    ///< Filter constraint
+		CNT_EVAL    ,    ///< Output set to 0 or 1 to specify to count or not the
+		///<   blackbox evaluation
+		STAT_AVG    ,    ///< Stat (average)
+		STAT_SUM    ,    ///< Stat (sum)
+		UNDEFINED_BBO    ///< Ignored output
     };
-    
-    /// Formulation for multi-objective optimization
-    enum multi_formulation_type
+	
+	/// Formulation for multi-objective optimization
+	enum multi_formulation_type
     {
-        NORMALIZED            , ///< Normalized formulation
-        PRODUCT               , ///< Product formulation
-        DIST_L1               , ///< Distance formulation with norm L1
-        DIST_L2               , ///< Distance formulation with norm L2
-        DIST_LINF             , ///< Distance formulation with norm Linf
-        UNDEFINED_FORMULATION   ///< Undefined formulation
+		NORMALIZED            , ///< Normalized formulation
+		PRODUCT               , ///< Product formulation
+		DIST_L1               , ///< Distance formulation with norm L1
+		DIST_L2               , ///< Distance formulation with norm L2
+		DIST_LINF             , ///< Distance formulation with norm Linf
+		UNDEFINED_FORMULATION   ///< Undefined formulation
     };
-    
-    /// Poll type
-    enum poll_type
+	
+	/// Poll type
+	enum poll_type
     {
-        PRIMARY   , ///< Primary poll
-        SECONDARY   ///< Secondary poll
+		PRIMARY   , ///< Primary poll
+		SECONDARY   ///< Secondary poll
     };
-    
-    /// Poll center feasibility type
-    enum poll_center_type
+	
+	/// Poll center feasibility type
+	enum poll_center_type
     {
-        FEASIBLE                   , ///< Feasible poll center type
-        INFEASIBLE                 , ///< Infeasible poll center type
-        UNDEFINED_POLL_CENTER_TYPE   ///< Undefined poll center type
+		FEASIBLE                   , ///< Feasible poll center type
+		INFEASIBLE                 , ///< Infeasible poll center type
+		UNDEFINED_POLL_CENTER_TYPE   ///< Undefined poll center type
     };
-    
-    /// Search type
-    enum search_type
+	
+	/// Search type
+	enum search_type
     {
-        X0_EVAL          , ///< Starting point evaluation
-        POLL             , ///< Poll
-        EXTENDED_POLL    , ///< Extended poll
-        SEARCH           , ///< Generic search
-        CACHE_SEARCH     , ///< Cache search (does not require evals)
-        SPEC_SEARCH      , ///< MADS speculative search (dynamic order in GPS)
-        LH_SEARCH        , ///< Latin Hypercube (LH) search
-        LH_SEARCH_P1     , ///< Latin Hypercube (LH) search during phase one
-        MODEL_SEARCH     , ///< Model search
-        VNS_SEARCH       , ///< VNS search
-        P1_SEARCH        , ///< Phase one search
-        ASYNCHRONOUS     , ///< Parallel asynchronous final evaluations
-        USER_SEARCH      , ///< User search
-        UNDEFINED_SEARCH   ///< Undefined search
+		X0_EVAL          , ///< Starting point evaluation
+		POLL             , ///< Poll
+		EXTENDED_POLL    , ///< Extended poll
+		SEARCH           , ///< Generic search
+		CACHE_SEARCH     , ///< Cache search (does not require evals)
+		SPEC_SEARCH      , ///< MADS speculative search (dynamic order in GPS)
+		LH_SEARCH        , ///< Latin Hypercube (LH) search
+		LH_SEARCH_P1     , ///< Latin Hypercube (LH) search during phase one
+		MODEL_SEARCH     , ///< Model search
+		VNS_SEARCH       , ///< VNS search
+		P1_SEARCH        , ///< Phase one search
+		ASYNCHRONOUS     , ///< Parallel asynchronous final evaluations
+		USER_SEARCH      , ///< User search
+		UNDEFINED_SEARCH   ///< Undefined search
     };
-    
-    /// Model type
-    enum model_type
+	
+	/// Model type
+	enum model_type
     {
-        QUADRATIC_MODEL , ///< Quadratic model
-        NO_MODEL          ///< No models
+		QUADRATIC_MODEL , ///< Quadratic model
+        SGTELIB_MODEL   , ///< SGTELIB model
+		NO_MODEL          ///< No models
     };
     
+    /// intensification type
     enum intensification_type
     {
         NO_INTENSIFICATION ,
@@ -347,167 +358,209 @@ namespace NOMAD {
         POLL_AND_SEARCH
     };
     
-    /// Success type of an iteration
-    // (do not modify this order)
-    enum success_type
+	/// Success type of an iteration
+	// (do not modify this order)
+	enum success_type
     {
-        UNSUCCESSFUL    ,  ///< Failure
-        PARTIAL_SUCCESS ,  ///< Partial success (improving)
-        FULL_SUCCESS       ///< Full success (dominating)
+		UNSUCCESSFUL    ,  ///< Failure
+		PARTIAL_SUCCESS ,  ///< Partial success (improving)
+        CACHE_UPDATE_SUCCESS, ///< Cache update success (RobustMads only) (dominating)
+		FULL_SUCCESS,       ///< Full success (dominating)
+        FULL_SUCCESS_ZOOM, ///< Full success (dominating)
+        FULL_SUCCESS_STAY  ///< Full success (dominating)
     };
-    
-    /// Quadratic interpolation type
-    enum interpolation_type
+	
+	/// Quadratic interpolation type
+	enum interpolation_type
     {
-        MFN                          , ///< Minimum Frobenius Norm interpolation.
-        REGRESSION                   , ///< Regression.
-        WP_REGRESSION                , ///< Well-poised regression.
-        UNDEFINED_INTERPOLATION_TYPE   ///< Undefined.
+		MFN                          , ///< Minimum Frobenius Norm interpolation.
+		REGRESSION                   , ///< Regression.
+		WP_REGRESSION                , ///< Well-poised regression.
+		UNDEFINED_INTERPOLATION_TYPE   ///< Undefined.
     };
-    
-    /// Stopping criteria
-    enum stop_type
+	
+	/// Stopping criteria
+	enum stop_type
     {
-        NO_STOP                    ,  ///< No stop
-        ERROR                      ,  ///< Error
-        UNKNOWN_STOP_REASON        ,  ///< Unknown
-        CTRL_C                     ,  ///< Ctrl-C
-        USER_STOPPED               ,  ///< User-stopped in Evaluator::update_iteration()
-        MESH_PREC_REACHED          ,  ///< Mesh minimum precision reached
-        X0_FAIL                    ,  ///< Problem with starting point evaluation
-        P1_FAIL                    ,  ///< Problem with phase one
-        DELTA_M_MIN_REACHED        ,  ///< Min mesh size
-        DELTA_P_MIN_REACHED        ,  ///< Min poll size
-        L_MAX_REACHED              ,  ///< Max mesh index
+		NO_STOP                    ,  ///< No stop
+		ERROR                      ,  ///< Error
+		UNKNOWN_STOP_REASON        ,  ///< Unknown
+		CTRL_C                     ,  ///< Ctrl-C
+		USER_STOPPED               ,  ///< User-stopped in Evaluator::update_iteration()
+		MESH_PREC_REACHED          ,  ///< Mesh minimum precision reached
+		X0_FAIL                    ,  ///< Problem with starting point evaluation
+		P1_FAIL                    ,  ///< Problem with phase one
+		DELTA_M_MIN_REACHED        ,  ///< Min mesh size
+		DELTA_P_MIN_REACHED        ,  ///< Min poll size
+		L_MAX_REACHED              ,  ///< Max mesh index
         L_MIN_REACHED              ,  ///< Min mesh index
-        L_LIMITS_REACHED           ,  ///< Mesh index limits
-        XL_LIMITS_REACHED          ,  ///< Mesh index limits
-           GL_LIMITS_REACHED          ,  ///< Mesh index limits
-        MAX_TIME_REACHED           ,  ///< Max time
-        MAX_BB_EVAL_REACHED        ,  ///< Max number of blackbox evaluations
-        MAX_SGTE_EVAL_REACHED      ,  ///< Max number of surrogate evaluations
-        MAX_EVAL_REACHED           ,  ///< Max number of evaluations
-        MAX_SIM_BB_EVAL_REACHED    ,  ///< Max number of sim bb evaluations
-        MAX_ITER_REACHED           ,  ///< Max number of iterations
-        MAX_CONS_FAILED_ITER       ,  ///< Max number of consecutive failed iterations
-        FEAS_REACHED               ,  ///< Feasibility
-        F_TARGET_REACHED           ,  ///< F_TARGET
-        STAT_SUM_TARGET_REACHED    ,  ///< STAT_SUM_TARGET
-        L_CURVE_TARGET_REACHED     ,  ///< L_CURVE_TARGET
-        MULTI_MAX_BB_REACHED       ,  ///< Max number of blackbox evaluations (multi obj.)
-        MULTI_NB_MADS_RUNS_REACHED ,  ///< Max number of MADS runs (multi obj.)
-        MULTI_STAGNATION           ,  ///< Stagnation criterion (multi obj.)
-        MULTI_NO_PARETO_PTS        ,  ///< No Pareto points (multi obj.)
-        MAX_CACHE_MEMORY_REACHED      ///< Max cache memory
+		L_LIMITS_REACHED           ,  ///< Mesh index limits
+		XL_LIMITS_REACHED          ,  ///< Mesh index limits
+   		GL_LIMITS_REACHED          ,  ///< Mesh index limits
+		MAX_TIME_REACHED           ,  ///< Max time
+		MAX_BB_EVAL_REACHED        ,  ///< Max number of blackbox evaluations
+		MAX_BLOCK_EVAL_REACHED     ,  ///< Max number of block evaluations
+		MAX_SGTE_EVAL_REACHED      ,  ///< Max number of surrogate evaluations
+		MAX_EVAL_REACHED           ,  ///< Max number of evaluations
+		MAX_SIM_BB_EVAL_REACHED    ,  ///< Max number of sim bb evaluations
+		MAX_ITER_REACHED           ,  ///< Max number of iterations
+		MAX_CONS_FAILED_ITER       ,  ///< Max number of consecutive failed iterations
+		FEAS_REACHED               ,  ///< Feasibility
+		F_TARGET_REACHED           ,  ///< F_TARGET
+		STAT_SUM_TARGET_REACHED    ,  ///< STAT_SUM_TARGET
+		L_CURVE_TARGET_REACHED     ,  ///< L_CURVE_TARGET
+		MULTI_MAX_BB_REACHED       ,  ///< Max number of blackbox evaluations (multi obj.)
+		MULTI_NB_MADS_RUNS_REACHED ,  ///< Max number of MADS runs (multi obj.)
+		MULTI_STAGNATION           ,  ///< Stagnation criterion (multi obj.)
+		MULTI_NO_PARETO_PTS        ,  ///< No Pareto points (multi obj.)
+		MAX_CACHE_MEMORY_REACHED      ///< Max cache memory
     };
-    
-    /// Type of norm used for the computation of h
-    enum hnorm_type
+	
+	/// Type of norm used for the computation of h
+	enum hnorm_type
     {
-        L1   ,  ///< norm L1
-        L2   ,  ///< norm L2
-        LINF    ///< norm Linf
+		L1   ,  ///< norm L1
+		L2   ,  ///< norm L2
+		LINF    ///< norm Linf
     };
-    
-    /// Types of directions
-    // (do not modify this order)
-    enum direction_type
+	
+	/// Types of directions
+	// (do not modify this order)
+	enum direction_type
     {
-        UNDEFINED_DIRECTION    , ///< Undefined direction
-        MODEL_SEARCH_DIR       , ///< Model search direction
-        NO_DIRECTION           , ///< No direction
-        ORTHO_1                , ///< OrthoMADS 1
-        ORTHO_2                , ///< OrthoMADS 2
-        ORTHO_NP1_QUAD         , ///< OrthoMADS n+1 use Quad model to determine n+1-th direction 
-        ORTHO_NP1_NEG          , ///< OrthoMADS n+1 use negative sum of n first directions to determine n+1-th direction
+		UNDEFINED_DIRECTION    , ///< Undefined direction
+		MODEL_SEARCH_DIR       , ///< Model search direction
+		NO_DIRECTION           , ///< No direction
+		ORTHO_1                , ///< OrthoMADS 1
+		ORTHO_2                , ///< OrthoMADS 2
+		ORTHO_NP1_QUAD         , ///< OrthoMADS n+1 use Quad model to determine n+1-th direction 
+		ORTHO_NP1_NEG          , ///< OrthoMADS n+1 use negative sum of n first directions to determine n+1-th direction
         ORTHO_NP1_UNI          , ///< OrthoMADS n+1 uniform directions
-        DYN_ADDED              , ///< Dynamic addition (n+1-th direction added for ORTHO n+1)
-        ORTHO_2N               , ///< OrthoMADS 2n
-        LT_1                   , ///< LT-MADS 1
-        LT_2                   , ///< LT-MADS 2
-        LT_2N                  , ///< LT-MADS 2n
-        LT_NP1                 , ///< LT-MADS n+1
-        GPS_BINARY             , ///< GPS for binary variables
-        GPS_2N_STATIC          , ///< GPS 2n static (classic coordinate search)
-        GPS_2N_RAND            , ///< GPS 2n random
-        GPS_NP1_STATIC_UNIFORM , ///< GPS n+1 static uniform
-        GPS_NP1_STATIC         , ///< GPS n+1 static
-        GPS_NP1_RAND_UNIFORM   , ///< GPS n+1 random uniform
-        GPS_NP1_RAND           ,  ///< GPS n+1
-        PROSPECT_DIR            ///< Prospect direction
+		DYN_ADDED              , ///< Dynamic addition (n+1-th direction added for ORTHO n+1)
+		ORTHO_2N               , ///< OrthoMADS 2n
+		LT_1                   , ///< LT-MADS 1
+		LT_2                   , ///< LT-MADS 2
+		LT_2N                  , ///< LT-MADS 2n
+		LT_NP1                 , ///< LT-MADS n+1
+		GPS_BINARY             , ///< GPS for binary variables
+		GPS_2N_STATIC          , ///< GPS 2n static (classic coordinate search)
+		GPS_2N_RAND            , ///< GPS 2n random
+		GPS_NP1_STATIC_UNIFORM , ///< GPS n+1 static uniform
+		GPS_NP1_STATIC         , ///< GPS n+1 static
+		GPS_NP1_RAND_UNIFORM   , ///< GPS n+1 random uniform
+		GPS_NP1_RAND           ,  ///< GPS n+1
+		PROSPECT_DIR            ///< Prospect direction
     };
-    
-    /// Type for Eval_Point::check() failures
-    enum check_failed_type
+	
+	/// Type for Eval_Point::check() failures
+	enum check_failed_type
     {
-        CHECK_OK     ,  ///< Correct check
-        LB_FAIL      ,  ///< LB failure
-        UB_FAIL      ,  ///< UB failure
-        FIX_VAR_FAIL ,  ///< Fixed variables failure
-        BIN_FAIL     ,  ///< Binary failure
-        CAT_FAIL     ,  ///< Categorical failure
-        INT_FAIL        ///< Integer failure
+		CHECK_OK     ,  ///< Correct check
+		LB_FAIL      ,  ///< LB failure
+		UB_FAIL      ,  ///< UB failure
+		FIX_VAR_FAIL ,  ///< Fixed variables failure
+		BIN_FAIL     ,  ///< Binary failure
+		CAT_FAIL     ,  ///< Categorical failure
+		INT_FAIL        ///< Integer failure
     };
-    
-    /// Type for cache indexes in Cache:
-    enum cache_index_type
+	
+	/// Type for cache indexes in Cache:
+	enum cache_index_type
+    {
+		CACHE_1         ,  ///< Cache index #1
+		CACHE_2         ,  ///< Cache index #2
+		CACHE_3         ,  ///< Cache index #3
+		UNDEFINED_CACHE    ///< Undefined cache index
+    };
+	
+	/// Type for DISPLAY_STATS parameter
+	// (do not modify this order):
+	enum display_stats_type
+    {
+		DS_OBJ        ,    ///< Objective (f) value
+		//   (keep in first position)
+        DS_CONS_H     ,    ///< Infeasibility (h) value
+        DS_SMOOTH_OBJ ,    ///< Smoothed objective value (f~)
+		DS_SIM_BBE    ,    ///< Number of simulated bb evaluations
+		DS_BBE        ,    ///< Number of bb evaluations
+		DS_BLK_EVA	  ,    ///< Number of block evaluation calls	
+		DS_SGTE       ,    ///< Number of surrogate evaluations
+		DS_BBO        ,    ///< All blackbox outputs
+		DS_EVAL       ,    ///< Number of evaluations
+		DS_TIME       ,    ///< Wall-clock time
+		DS_MESH_INDEX ,    ///< Mesh index
+		DS_MESH_SIZE  ,    ///< Mesh size parameter Delta^m_k
+		DS_DELTA_M    ,    ///< Same as \c DS_MESH_SIZE
+		DS_POLL_SIZE  ,    ///< Poll size parameter Delta^p_k
+		DS_DELTA_P    ,    ///< Same as \c DS_POLL_SIZE
+		DS_SOL        ,    ///< Solution vector
+		DS_VAR        ,    ///< One variable
+		DS_STAT_SUM   ,    ///< Stat sum
+		DS_STAT_AVG   ,    ///< Stat avg
+		DS_UNDEFINED       ///< Und efined value
+		//   (keep in last position)
+    };
+	
+	/// Type for evaluation
+	enum eval_type
+    {
+		TRUTH , ///< Truth
+		SGTE    ///< Surrogate
+    };
+	
+	/// Type for an evaluation status
+	enum eval_status_type
     {
-        CACHE_1         ,  ///< Cache index #1
-        CACHE_2         ,  ///< Cache index #2
-        CACHE_3         ,  ///< Cache index #3
-        UNDEFINED_CACHE    ///< Undefined cache index
+		EVAL_FAIL        ,  ///< Evaluation failure
+		EVAL_USER_REJECT ,  ///< Evaluation was rejected by user (not failure -> may submitted again)
+        EVAL_OK          ,  ///< Correct evaluation
+		EVAL_IN_PROGRESS ,  ///< Evaluation in progress
+		UNDEFINED_STATUS    ///< Undefined evaluation status
     };
     
-    /// Type for DISPLAY_STATS parameter
-    // (do not modify this order):
-    enum display_stats_type
+    enum smoothing_status_type
     {
-        DS_OBJ        ,    ///< Objective (f) value
-        //   (keep in first position)
-        DS_SIM_BBE    ,    ///< Number of simulated bb evaluations
-        DS_BBE        ,    ///< Number of bb evaluations
-        DS_BLK_EVA      ,    ///< Number of block evaluation calls    
-        DS_SGTE       ,    ///< Number of surrogate evaluations
-        DS_BBO        ,    ///< All blackbox outputs
-        DS_EVAL       ,    ///< Number of evaluations
-        DS_TIME       ,    ///< Wall-clock time
-        DS_MESH_INDEX ,    ///< Mesh index
-        DS_MESH_SIZE  ,    ///< Mesh size parameter Delta^m_k
-        DS_DELTA_M    ,    ///< Same as \c DS_MESH_SIZE
-        DS_POLL_SIZE  ,    ///< Poll size parameter Delta^p_k
-        DS_DELTA_P    ,    ///< Same as \c DS_POLL_SIZE
-        DS_SOL        ,    ///< Solution vector
-        DS_VAR        ,    ///< One variable
-        DS_STAT_SUM   ,    ///< Stat sum
-        DS_STAT_AVG   ,    ///< Stat avg
-        DS_UNDEFINED       ///< Undefined value
-        //   (keep in last position)
+        SMOOTHING_FAIL   ,   ///< Smoothing failure
+        SMOOTHING_OK     ,   ///< Smoothing success
+        SMOOTHING_UNDEFINED  ///< Undefined smoothing status
     };
     
-    /// Type for evaluation
-    enum eval_type
+    // SGTELIB
+    /// Formulations for sgtelib_model model Search
+    enum sgtelib_model_formulation_type
     {
-        TRUTH , ///< Truth
-        SGTE    ///< Surrogate
+        SGTELIB_MODEL_FORMULATION_FS    ,  /// min f-lambda*sigma, st c-lambda*sigma < 0
+        SGTELIB_MODEL_FORMULATION_FSP   ,  /// min f-lambda*sigma, st P(x) > 1/2
+        SGTELIB_MODEL_FORMULATION_EIS   ,  /// min -EI-lambda*sigma, st c-lambda*sigma < 0
+        SGTELIB_MODEL_FORMULATION_EFI   ,  /// min -EFI
+        SGTELIB_MODEL_FORMULATION_EFIS  ,  /// min -EFI-lambda*sigma
+        SGTELIB_MODEL_FORMULATION_EFIM  ,  /// min -EFI-lambda*sigma*mu
+        SGTELIB_MODEL_FORMULATION_EFIC  ,  /// min -EFI-lambda*(EI*sigma+P*mu)
+        SGTELIB_MODEL_FORMULATION_PFI   ,  /// min -PFI
+        SGTELIB_MODEL_FORMULATION_D     ,  /// min -distance_to_closest
+        SGTELIB_MODEL_FORMULATION_EXTERN,  /// min f, st c, with extern sgte.exe model
+        SGTELIB_MODEL_FORMULATION_UNDEFINED /// Undefined
     };
     
-    /// Type for an evaluation status
-    enum eval_status_type
+    // SGTELIB
+    /// Formulations for sgtelib_model model Search
+    enum sgtelib_model_feasibility_type
     {
-        EVAL_FAIL        ,  ///< Evaluation failure
-        EVAL_USER_REJECT ,  ///< Evaluation was rejected by user (not failure -> may submitted again)
-        EVAL_OK          ,  ///< Correct evaluation
-        EVAL_IN_PROGRESS ,  ///< Evaluation in progress
-        UNDEFINED_STATUS    ///< Undefined evaluation status
+        SGTELIB_MODEL_FEASIBILITY_C         , /// one model for each constraint
+        SGTELIB_MODEL_FEASIBILITY_H         , /// one model for H
+        SGTELIB_MODEL_FEASIBILITY_B         , /// one binary model
+        SGTELIB_MODEL_FEASIBILITY_M         , /// one model of the max of (c_j)
+        SGTELIB_MODEL_FEASIBILITY_UNDEFINED   /// Undefined
     };
     
     enum mesh_type
     {
         XMESH , /// Anisotropic (eXtensible) mesh
-        SMESH , /// Isotropic Standard mesh
+        GMESH , /// Anisotropic Granular mesh
+        SMESH ,  /// Isotropic Standard mesh
         NO_MESH_TYPE
     };
-    
+	
 }
 
 #endif
diff --git a/src/lgpl.txt b/src/lgpl.txt
index cca7fc2..e8bec28 100644
--- a/src/lgpl.txt
+++ b/src/lgpl.txt
@@ -1,165 +1,165 @@
-		   GNU LESSER GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-
-  This version of the GNU Lesser General Public License incorporates
-the terms and conditions of version 3 of the GNU General Public
-License, supplemented by the additional permissions listed below.
-
-  0. Additional Definitions.
-
-  As used herein, "this License" refers to version 3 of the GNU Lesser
-General Public License, and the "GNU GPL" refers to version 3 of the GNU
-General Public License.
-
-  "The Library" refers to a covered work governed by this License,
-other than an Application or a Combined Work as defined below.
-
-  An "Application" is any work that makes use of an interface provided
-by the Library, but which is not otherwise based on the Library.
-Defining a subclass of a class defined by the Library is deemed a mode
-of using an interface provided by the Library.
-
-  A "Combined Work" is a work produced by combining or linking an
-Application with the Library.  The particular version of the Library
-with which the Combined Work was made is also called the "Linked
-Version".
-
-  The "Minimal Corresponding Source" for a Combined Work means the
-Corresponding Source for the Combined Work, excluding any source code
-for portions of the Combined Work that, considered in isolation, are
-based on the Application, and not on the Linked Version.
-
-  The "Corresponding Application Code" for a Combined Work means the
-object code and/or source code for the Application, including any data
-and utility programs needed for reproducing the Combined Work from the
-Application, but excluding the System Libraries of the Combined Work.
-
-  1. Exception to Section 3 of the GNU GPL.
-
-  You may convey a covered work under sections 3 and 4 of this License
-without being bound by section 3 of the GNU GPL.
-
-  2. Conveying Modified Versions.
-
-  If you modify a copy of the Library, and, in your modifications, a
-facility refers to a function or data to be supplied by an Application
-that uses the facility (other than as an argument passed when the
-facility is invoked), then you may convey a copy of the modified
-version:
-
-   a) under this License, provided that you make a good faith effort to
-   ensure that, in the event an Application does not supply the
-   function or data, the facility still operates, and performs
-   whatever part of its purpose remains meaningful, or
-
-   b) under the GNU GPL, with none of the additional permissions of
-   this License applicable to that copy.
-
-  3. Object Code Incorporating Material from Library Header Files.
-
-  The object code form of an Application may incorporate material from
-a header file that is part of the Library.  You may convey such object
-code under terms of your choice, provided that, if the incorporated
-material is not limited to numerical parameters, data structure
-layouts and accessors, or small macros, inline functions and templates
-(ten or fewer lines in length), you do both of the following:
-
-   a) Give prominent notice with each copy of the object code that the
-   Library is used in it and that the Library and its use are
-   covered by this License.
-
-   b) Accompany the object code with a copy of the GNU GPL and this license
-   document.
-
-  4. Combined Works.
-
-  You may convey a Combined Work under terms of your choice that,
-taken together, effectively do not restrict modification of the
-portions of the Library contained in the Combined Work and reverse
-engineering for debugging such modifications, if you also do each of
-the following:
-
-   a) Give prominent notice with each copy of the Combined Work that
-   the Library is used in it and that the Library and its use are
-   covered by this License.
-
-   b) Accompany the Combined Work with a copy of the GNU GPL and this license
-   document.
-
-   c) For a Combined Work that displays copyright notices during
-   execution, include the copyright notice for the Library among
-   these notices, as well as a reference directing the user to the
-   copies of the GNU GPL and this license document.
-
-   d) Do one of the following:
-
-       0) Convey the Minimal Corresponding Source under the terms of this
-       License, and the Corresponding Application Code in a form
-       suitable for, and under terms that permit, the user to
-       recombine or relink the Application with a modified version of
-       the Linked Version to produce a modified Combined Work, in the
-       manner specified by section 6 of the GNU GPL for conveying
-       Corresponding Source.
-
-       1) Use a suitable shared library mechanism for linking with the
-       Library.  A suitable mechanism is one that (a) uses at run time
-       a copy of the Library already present on the user's computer
-       system, and (b) will operate properly with a modified version
-       of the Library that is interface-compatible with the Linked
-       Version.
-
-   e) Provide Installation Information, but only if you would otherwise
-   be required to provide such information under section 6 of the
-   GNU GPL, and only to the extent that such information is
-   necessary to install and execute a modified version of the
-   Combined Work produced by recombining or relinking the
-   Application with a modified version of the Linked Version. (If
-   you use option 4d0, the Installation Information must accompany
-   the Minimal Corresponding Source and Corresponding Application
-   Code. If you use option 4d1, you must provide the Installation
-   Information in the manner specified by section 6 of the GNU GPL
-   for conveying Corresponding Source.)
-
-  5. Combined Libraries.
-
-  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 that are not Applications and are not covered by this
-License, and convey such a combined library under terms of your
-choice, if you do both of the following:
-
-   a) Accompany the combined library with a copy of the same work based
-   on the Library, uncombined with any other library facilities,
-   conveyed under the terms of this License.
-
-   b) Give prominent notice with the combined library that part of it
-   is a work based on the Library, and explaining where to find the
-   accompanying uncombined form of the same work.
-
-  6. Revised Versions of the GNU Lesser General Public License.
-
-  The Free Software Foundation may publish revised and/or new versions
-of the GNU Lesser 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 as you received it specifies that a certain numbered version
-of the GNU Lesser General Public License "or any later version"
-applies to it, you have the option of following the terms and
-conditions either of that published version or of any later version
-published by the Free Software Foundation. If the Library as you
-received it does not specify a version number of the GNU Lesser
-General Public License, you may choose any version of the GNU Lesser
-General Public License ever published by the Free Software Foundation.
-
-  If the Library as you received it specifies that a proxy can decide
-whether future versions of the GNU Lesser General Public License shall
-apply, that proxy's public statement of acceptance of any version is
-permanent authorization for you to choose that version for the
-Library.
+		   GNU LESSER GENERAL PUBLIC LICENSE
+                       Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+  This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+  0. Additional Definitions.
+
+  As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+  "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+  An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+  A "Combined Work" is a work produced by combining or linking an
+Application with the Library.  The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+  The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+  The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+  1. Exception to Section 3 of the GNU GPL.
+
+  You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+  2. Conveying Modified Versions.
+
+  If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+   a) under this License, provided that you make a good faith effort to
+   ensure that, in the event an Application does not supply the
+   function or data, the facility still operates, and performs
+   whatever part of its purpose remains meaningful, or
+
+   b) under the GNU GPL, with none of the additional permissions of
+   this License applicable to that copy.
+
+  3. Object Code Incorporating Material from Library Header Files.
+
+  The object code form of an Application may incorporate material from
+a header file that is part of the Library.  You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+   a) Give prominent notice with each copy of the object code that the
+   Library is used in it and that the Library and its use are
+   covered by this License.
+
+   b) Accompany the object code with a copy of the GNU GPL and this license
+   document.
+
+  4. Combined Works.
+
+  You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+   a) Give prominent notice with each copy of the Combined Work that
+   the Library is used in it and that the Library and its use are
+   covered by this License.
+
+   b) Accompany the Combined Work with a copy of the GNU GPL and this license
+   document.
+
+   c) For a Combined Work that displays copyright notices during
+   execution, include the copyright notice for the Library among
+   these notices, as well as a reference directing the user to the
+   copies of the GNU GPL and this license document.
+
+   d) Do one of the following:
+
+       0) Convey the Minimal Corresponding Source under the terms of this
+       License, and the Corresponding Application Code in a form
+       suitable for, and under terms that permit, the user to
+       recombine or relink the Application with a modified version of
+       the Linked Version to produce a modified Combined Work, in the
+       manner specified by section 6 of the GNU GPL for conveying
+       Corresponding Source.
+
+       1) Use a suitable shared library mechanism for linking with the
+       Library.  A suitable mechanism is one that (a) uses at run time
+       a copy of the Library already present on the user's computer
+       system, and (b) will operate properly with a modified version
+       of the Library that is interface-compatible with the Linked
+       Version.
+
+   e) Provide Installation Information, but only if you would otherwise
+   be required to provide such information under section 6 of the
+   GNU GPL, and only to the extent that such information is
+   necessary to install and execute a modified version of the
+   Combined Work produced by recombining or relinking the
+   Application with a modified version of the Linked Version. (If
+   you use option 4d0, the Installation Information must accompany
+   the Minimal Corresponding Source and Corresponding Application
+   Code. If you use option 4d1, you must provide the Installation
+   Information in the manner specified by section 6 of the GNU GPL
+   for conveying Corresponding Source.)
+
+  5. Combined Libraries.
+
+  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 that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+   a) Accompany the combined library with a copy of the same work based
+   on the Library, uncombined with any other library facilities,
+   conveyed under the terms of this License.
+
+   b) Give prominent notice with the combined library that part of it
+   is a work based on the Library, and explaining where to find the
+   accompanying uncombined form of the same work.
+
+  6. Revised Versions of the GNU Lesser General Public License.
+
+  The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser 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 as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+  If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
diff --git a/src/nomad.cpp b/src/nomad.cpp
index e97307c..ceb8eb5 100644
--- a/src/nomad.cpp
+++ b/src/nomad.cpp
@@ -1,43 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   nomad.cpp
  \brief  NOMAD main file
@@ -71,12 +75,11 @@ int main ( int argc , char ** argv )
         }
         
         // parameters file:
-        std::string param_file_name = argv[1];
-        std::string opt             = param_file_name;
+        std::string opt             = argv[1];
         NOMAD::toupper ( opt );
         
-        // display version if option '-v' has been specified:
-        if ( opt == "-U" )
+        // display usage if option '-u' has been specified:
+        if ( opt == "-U" || opt == "-USAGE" || opt == "--USAGE" )
         {
             NOMAD::display_usage ( argv[0], out );
             NOMAD::end();
@@ -85,7 +88,7 @@ int main ( int argc , char ** argv )
         
         
         // display version if option '-v' has been specified:
-        if ( opt == "-V" || opt =="-VERSION")
+        if ( opt == "-V" || opt == "-VERSION" || opt == "--VERSION" )
         {
             NOMAD::display_version ( out );
             NOMAD::end();
@@ -93,7 +96,7 @@ int main ( int argc , char ** argv )
         }
         
         // display info if option '-i' has been specified:
-        if ( opt == "-I" || opt == "-INFO" )
+        if ( opt == "-I" || opt == "-INFO" || opt == "--INFO" )
         {
             NOMAD::display_info  ( out );
             NOMAD::display_usage ( argv[0], out );
@@ -105,7 +108,7 @@ int main ( int argc , char ** argv )
         NOMAD::Parameters p ( out );
         
         // display help on parameters if option '-h' has been specified:
-        if ( opt == "-H" || opt == "-HELP" )
+        if ( opt == "-H" || opt == "-HELP" || opt == "--HELP" )
         {
             p.help ( argc , argv );
             NOMAD::end();
@@ -113,19 +116,42 @@ int main ( int argc , char ** argv )
         }
         
         // display developer help on parameters if option '-d' has been specified:
-        if ( opt == "-D" )
+        if ( opt == "-D" || opt == "-DEVELOPER" || opt == "--DEVELOPER" )
         {
             p.help ( argc , argv,true );
             NOMAD::end();
             return EXIT_SUCCESS;
         }
         
+        if ( opt[0] == '-' )
+        {
+            // Unrecognized flag. Display usage and exit gracefully.
+            error = std::string("ERROR: Unrecognized option ") + argv[1];
+            std::cerr << std::endl << error << std::endl << std::endl;
+            NOMAD::display_usage ( argv[0], out );
+            NOMAD::end();
+            return EXIT_FAILURE;
+        }
+
+        std::string param_file_name = argv[1];
+
+        // Verify the argument is a file name 
+        if ( !NOMAD::check_read_file(param_file_name) )
+        {
+            // Could not read input file. Display usage and exit gracefully.
+            error = std::string("ERROR: Could not read file \"") + argv[1] + "\"";
+            std::cerr << std::endl << error << std::endl << std::endl;
+            NOMAD::display_usage ( argv[0], out );
+            NOMAD::end();
+            return EXIT_FAILURE;
+        }
         
         // check the number of processess:
 #ifdef USE_MPI
         if ( NOMAD::Slave::get_nb_processes() < 2 )
         {
-            std::cerr << "ERROR: Incorrect command to run with MPI." << std::endl;
+            error = std::string("ERROR: Incorrect command to run with MPI.");
+            std::cerr << std::endl << error << std::endl << std::endl;
             NOMAD::display_usage ( argv[0], std::cerr );
             NOMAD::end();
             return EXIT_FAILURE;
@@ -133,19 +159,17 @@ int main ( int argc , char ** argv )
 #endif
         
         try {
-            
-            
+
             // read parameters file:
             p.read ( param_file_name );
             
             // parameters check:
             p.check();
             
-            // display NOMAD info:
+            // display NOMAD info and Seed:
             if ( p.get_display_degree() > NOMAD::MINIMAL_DISPLAY)
                 NOMAD::display_info ( out );
             
-            
             // parameters display:
             if ( NOMAD::Slave::is_master() &&
                 p.get_display_degree() == NOMAD::FULL_DISPLAY )
@@ -161,6 +185,7 @@ int main ( int argc , char ** argv )
             else
                 mads.multi_run();
             
+            
 #ifdef MODEL_STATS
             mads.display_model_stats ( out );
 #endif
@@ -170,13 +195,15 @@ int main ( int argc , char ** argv )
         {
             if ( NOMAD::Slave::is_master() )
             {
-                error = std::string ( "NOMAD has been interrupted: " ) + e.what();
+                error = std::string ( "ERROR: " ) + e.what();
                 std::cerr << std::endl << error << std::endl << std::endl;
             }
         }
         
+        
         NOMAD::Slave::stop_slaves ( out );
         NOMAD::end();
+        
     }
     
 #ifdef MEMORY_DEBUG
@@ -305,10 +332,14 @@ void NOMAD::display_info ( const NOMAD::Display & out )
     << "Sebastien Le Digabel - Ecole Polytechnique de Montreal" << std::endl
     << "Christophe Tribes    - Ecole Polytechnique de Montreal" << std::endl
     << NOMAD::close_block()
-    << std::endl << "NOMAD version 3 is a new version of Nomad v1 and v2, it has been funded by AFOSR and Exxon Mobil." << std::endl
-    << "Nomad v1 and v2 were created and developed by Mark A. Abramson from The Boeing Company, Charles Audet and Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from Rice University, and were funded by AFOSR and Exxon Mobil." << std::endl
     << std::endl
-    << "Download  : www.gerad.ca/nomad" << std::endl
+    << "NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto and " << std::endl
+    << "IVADO." << std::endl
+    << std::endl
+    << "NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created" << std::endl
+    << "and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E." << std::endl
+    << "Dennis Jr., and were funded by AFOSR and Exxon Mobil." << std::endl
+    << std::endl
     << "License   : \'" << NOMAD::LGPL_FILE       << "\'" << std::endl
     << "User guide: \'" << NOMAD::USER_GUIDE_FILE << "\'" << std::endl
     << "Examples  : \'" << NOMAD::EXAMPLES_DIR    << "\'" << std::endl
@@ -316,15 +347,7 @@ void NOMAD::display_info ( const NOMAD::Display & out )
     << std::endl
     << "Please report bugs to nomad@gerad.ca"
     << std::endl;
-    out << endl << "Seed: "<< NOMAD::RNG::get_seed()<<endl;
-}
-
-
-
-
-
-
-
+    out << endl << "Seed: "<< NOMAD::RNG::get_seed()<<endl;}
 
 /*------------------------------------------*/
 /*             display NOMAD usage          */
@@ -341,7 +364,7 @@ void NOMAD::display_usage ( char* exeName, const NOMAD::Display & out )
     << "Developer help : " << exeName << " -d keyword(s) (or 'all')"     << std::endl
     << "Version        : " << exeName << " -v"                           << std::endl
     << "Usage          : " << exeName << " -u"                          << std::endl
-    << std::endl;
+    << std::endl;  
 #else
     out << std::endl
     << "Run NOMAD      : " << exeName << " parameters_file"          << std::endl
@@ -350,6 +373,6 @@ void NOMAD::display_usage ( char* exeName, const NOMAD::Display & out )
     << "Developer help : " << exeName << " -d keyword(s) (or 'all')" << std::endl
     << "Version        : " << exeName << " -v"                       << std::endl
     << "Usage          : " << exeName << " -u"                       << std::endl
-    << std::endl;
+    << std::endl; 
 #endif
 }
diff --git a/src/nomad.hpp b/src/nomad.hpp
index 6b6f968..a38f312 100644
--- a/src/nomad.hpp
+++ b/src/nomad.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
   \file   nomad.hpp
   \brief  NOMAD header file
@@ -72,7 +74,7 @@ namespace NOMAD {
      \param out A NOMAD::Display object -- \b IN.
   */
   void display_usage ( char* exeName, const NOMAD::Display & out );
-  void display_usage ( const NOMAD::Display & out );
+  void display_usage ( const NOMAD::Display & out );	
 
 #ifdef MEMORY_DEBUG
   /// Display NOMAD most important structures in memory.
diff --git a/src/utils.cpp b/src/utils.cpp
index 1392dfe..f92a81b 100644
--- a/src/utils.cpp
+++ b/src/utils.cpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   utils.cpp
  \brief  Utility functions
@@ -171,6 +173,7 @@ std::string NOMAD::itos ( size_t i )
 }
 
 
+// SGTELIB
 /*-----------------------------------------------------------------*/
 /*                         NOMAD::deblank                          */
 /*-----------------------------------------------------------------*/
@@ -775,12 +778,16 @@ bool NOMAD::string_to_model_type ( const std::string & s  ,
 {
     std::string ss = s;
     NOMAD::toupper ( ss );
-
     if ( ss=="QUADRATIC" || ss=="QUADRATIC_MODEL" )
     {
         mt = NOMAD::QUADRATIC_MODEL;
         return true;
     }
+    if ( ss=="SGTELIB" || ss=="SGTELIB_MODEL" )
+    {
+        mt = NOMAD::SGTELIB_MODEL;
+        return true;
+    }
     
     
     mt = NOMAD::NO_MODEL;
@@ -800,6 +807,11 @@ bool NOMAD::string_to_mesh_type ( const std::string & s  ,
         mt = NOMAD::XMESH;
         return true;
     }
+    if ( ss=="GMESH" || ss=="G" )
+    {
+        mt = NOMAD::GMESH;
+        return true;
+    }
     if ( ss=="SMESH" || ss=="S" )
     {
         mt = NOMAD::SMESH;
@@ -1009,7 +1021,7 @@ bool NOMAD::SVD_decomposition ( std::string & error_msg ,
     int      nm1   = n - 1;
     
     bool   flag;
-    int    i , j , k , l , its , jj , nm = 0;
+    int    i , j , k , l = 0, its , jj , nm = 0;
     double s , f , h , tmp , c , x , y , z , absf , absg , absh;
     
     const int NITER = 30;
@@ -1090,7 +1102,6 @@ bool NOMAD::SVD_decomposition ( std::string & error_msg ,
     }
     
     // accumulation of right-hand transformations:
-    l=0;
     for ( i = nm1 ; i >= 0 ; --i )
     {
         if ( i < nm1 )
@@ -1286,3 +1297,145 @@ bool NOMAD::SVD_decomposition ( std::string & error_msg ,
     delete [] rv1;
     return true;
 }
+
+
+
+// SGTELIB
+/*-----------------------------------------------------------------*/
+/*            convert a string into a sgtelib_model_formulation_type    */
+/*-----------------------------------------------------------------*/
+bool NOMAD::string_to_sgtelib_model_formulation_type ( const std::string & s  ,
+                                                      NOMAD::sgtelib_model_formulation_type & dft   )
+{
+    std::string ss = s;
+    NOMAD::toupper ( ss );
+    if ( ss=="FS" )
+    {
+        dft = NOMAD::SGTELIB_MODEL_FORMULATION_FS;
+        return true;
+    }
+    if ( ss=="FSP" )
+    {
+        dft = NOMAD::SGTELIB_MODEL_FORMULATION_FSP;
+        return true;
+    }
+    if ( ss=="EIS" )
+    {
+        dft = NOMAD::SGTELIB_MODEL_FORMULATION_EIS;
+        return true;
+    }
+    if ( ss=="EFI" )
+    {
+        dft = NOMAD::SGTELIB_MODEL_FORMULATION_EFI;
+        return true;
+    }
+    if ( ss=="EFIS" )
+    {
+        dft = NOMAD::SGTELIB_MODEL_FORMULATION_EFIS;
+        return true;
+    }
+    if ( ss=="EFIM" )
+    {
+        dft = NOMAD::SGTELIB_MODEL_FORMULATION_EFIM;
+        return true;
+    }
+    if ( ss=="EFIC" )
+    {
+        dft = NOMAD::SGTELIB_MODEL_FORMULATION_EFIC;
+        return true;
+    }
+    if ( ss=="PFI" )
+    {
+        dft = NOMAD::SGTELIB_MODEL_FORMULATION_PFI;
+        return true;
+    }
+    if ( ss=="D" )
+    {
+        dft = NOMAD::SGTELIB_MODEL_FORMULATION_PFI;
+        return true;
+    }
+    if ( ss=="EXTERN" )
+    {
+        dft = NOMAD::SGTELIB_MODEL_FORMULATION_EXTERN;
+        return true;
+    }
+    dft = NOMAD::SGTELIB_MODEL_FORMULATION_UNDEFINED;
+    return false;
+}
+
+// SGTELIB
+/*-----------------------------------------------------------------*/
+/*       convert a string into a sgtelib_model_feasibility       */
+/*-----------------------------------------------------------------*/
+bool NOMAD::string_to_sgtelib_model_feasibility_type ( const std::string & s  ,
+                                                      NOMAD::sgtelib_model_feasibility_type & dft    )
+{
+    std::string ss = s;
+    NOMAD::toupper ( ss );
+    if ( ss=="C"  )
+    {
+        dft  = NOMAD::SGTELIB_MODEL_FEASIBILITY_C;
+        return true;
+    }
+    if ( ss=="H"  )
+    {
+        dft  = NOMAD::SGTELIB_MODEL_FEASIBILITY_H;
+        return true;
+    }
+    if ( ss=="B"  )
+    {
+        dft  = NOMAD::SGTELIB_MODEL_FEASIBILITY_B;
+        return true;
+    }
+    if ( ss=="M"  )
+    {
+        dft  = NOMAD::SGTELIB_MODEL_FEASIBILITY_M;
+        return true;
+    }
+    dft  = NOMAD::SGTELIB_MODEL_FEASIBILITY_UNDEFINED;
+    return false;
+}
+
+
+
+// SGTELIB
+/*-----------------------------------------------------------------*/
+/*       convert a sgtelib_model_formulation_type into a string    */
+/*-----------------------------------------------------------------*/
+std::string NOMAD::sgtelib_model_feasibility_type_to_string ( const NOMAD::sgtelib_model_feasibility_type dft )
+{
+    switch (dft)
+    {
+        case NOMAD::SGTELIB_MODEL_FEASIBILITY_C: return "C";
+        case NOMAD::SGTELIB_MODEL_FEASIBILITY_H: return "H";
+        case NOMAD::SGTELIB_MODEL_FEASIBILITY_B: return "B";
+        case NOMAD::SGTELIB_MODEL_FEASIBILITY_M: return "M";
+        case NOMAD::SGTELIB_MODEL_FEASIBILITY_UNDEFINED: return "UNDEFINED";
+        default: return "UNDEFINED";
+    }
+}
+
+// SGTELIB
+/*-----------------------------------------------------------------*/
+/*       convert a sgtelib_model_formulation_type into a string    */
+/*-----------------------------------------------------------------*/
+std::string NOMAD::sgtelib_model_formulation_type_to_string ( const NOMAD::sgtelib_model_formulation_type dft )
+{
+    switch (dft)
+    {
+        case NOMAD::SGTELIB_MODEL_FORMULATION_FS:   return "FS";
+        case NOMAD::SGTELIB_MODEL_FORMULATION_FSP:  return "FSP";
+        case NOMAD::SGTELIB_MODEL_FORMULATION_EIS:  return "EIS";
+        case NOMAD::SGTELIB_MODEL_FORMULATION_EFI:  return "EFI";
+        case NOMAD::SGTELIB_MODEL_FORMULATION_EFIS: return "EFIS";
+        case NOMAD::SGTELIB_MODEL_FORMULATION_EFIM: return "EFIM";
+        case NOMAD::SGTELIB_MODEL_FORMULATION_EFIC: return "EFIC";
+        case NOMAD::SGTELIB_MODEL_FORMULATION_PFI:  return "PFI";
+        case NOMAD::SGTELIB_MODEL_FORMULATION_D:    return "D";
+        case NOMAD::SGTELIB_MODEL_FORMULATION_EXTERN:  return "EXTERN";
+        case NOMAD::SGTELIB_MODEL_FORMULATION_UNDEFINED:  return "UNDEFINED";
+        default: return "UNDEFINED";
+    }
+}
+
+
diff --git a/src/utils.hpp b/src/utils.hpp
index 8496a70..1bc2960 100644
--- a/src/utils.hpp
+++ b/src/utils.hpp
@@ -1,45 +1,47 @@
-/*-------------------------------------------------------------------------------------*/
-/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search - version 3.7.3      */
-/*                                                                                     */
-/*                                                                                     */
-/*  NOMAD - version 3.7.3 has been created by                                          */
-/*                 Charles Audet        - Ecole Polytechnique de Montreal              */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  The copyright of NOMAD - version 3.7.3 is owned by                                 */
-/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal              */
-/*                 Christophe Tribes    - Ecole Polytechnique de Montreal              */
-/*                                                                                     */
-/*  NOMAD v3 has been funded by AFOSR and Exxon Mobil.                                 */
-/*                                                                                     */
-/*  NOMAD v3 is a new version of Nomad v1 and v2. Nomad v1 and v2 were created and     */
-/*  developed by Mark A. Abramson from The Boeing Company, Charles Audet and           */
-/*  Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from   */
-/*  Rice University, and were funded by AFOSR and Exxon Mobil.                         */
-/*                                                                                     */
-/*                                                                                     */
-/*  Contact information:                                                               */
-/*    Ecole Polytechnique de Montreal - GERAD                                          */
-/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada                  */
-/*    e-mail: nomad@gerad.ca                                                           */
-/*    phone : 1-514-340-6053 #6928                                                     */
-/*    fax   : 1-514-340-5665                                                           */
-/*                                                                                     */
-/*  This program is free software: you can redistribute it and/or modify it under the  */
-/*  terms of the GNU Lesser General Public License as published by the Free Software   */
-/*  Foundation, either version 3 of the License, or (at your option) any later         */
-/*  version.                                                                           */
-/*                                                                                     */
-/*  This program is distributed in the hope that it will be useful, but WITHOUT ANY    */
-/*  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A    */
-/*  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.   */
-/*                                                                                     */
-/*  You should have received a copy of the GNU Lesser General Public License along     */
-/*  with this program. If not, see <http://www.gnu.org/licenses/>.                     */
-/*                                                                                     */
-/*  You can find information on the NOMAD software at www.gerad.ca/nomad               */
-/*-------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------*/
+/*  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct search -             */
+/*          version 3.8.1                                                       */
+/*                                                                              */
+/*  NOMAD - version 3.8.1 has been created by                                   */
+/*                 Charles Audet        - Ecole Polytechnique de Montreal       */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  The copyright of NOMAD - version 3.8.1 is owned by                          */
+/*                 Sebastien Le Digabel - Ecole Polytechnique de Montreal       */
+/*                 Christophe Tribes    - Ecole Polytechnique de Montreal       */
+/*                                                                              */
+/*  NOMAD v3 has been funded by AFOSR, Exxon Mobil, Hydro Québec, Rio Tinto     */
+/*  and IVADO.                                                                  */
+/*                                                                              */
+/*  NOMAD v3 is a new version of NOMAD v1 and v2. NOMAD v1 and v2 were created  */
+/*  and developed by Mark Abramson, Charles Audet, Gilles Couture, and John E.  */
+/*  Dennis Jr., and were funded by AFOSR and Exxon Mobil.                       */
+/*                                                                              */
+/*  Contact information:                                                        */
+/*    Ecole Polytechnique de Montreal - GERAD                                   */
+/*    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada           */
+/*    e-mail: nomad@gerad.ca                                                    */
+/*    phone : 1-514-340-6053 #6928                                              */
+/*    fax   : 1-514-340-5665                                                    */
+/*                                                                              */
+/*  This program is free software: you can redistribute it and/or modify it     */
+/*  under the terms of the GNU Lesser General Public License as published by    */
+/*  the Free Software Foundation, either version 3 of the License, or (at your  */
+/*  option) any later version.                                                  */
+/*                                                                              */
+/*  This program is distributed in the hope that it will be useful, but WITHOUT */
+/*  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       */
+/*  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License */
+/*  for more details.                                                           */
+/*                                                                              */
+/*  You should have received a copy of the GNU Lesser General Public License    */
+/*  along with this program. If not, see <http://www.gnu.org/licenses/>.        */
+/*                                                                              */
+/*  You can find information on the NOMAD software at www.gerad.ca/nomad        */
+/*------------------------------------------------------------------------------*/
+
+
 /**
  \file   utils.hpp
  \brief  Utility functions (headers)
@@ -97,7 +99,7 @@ namespace NOMAD {
      \return    A boolean equal to \c true if the conversion was possible.
      */
     bool string_to_hnorm_type ( const std::string & s , NOMAD::hnorm_type & hn );
-        
+    
     /// Convert a string into a multi_formulation_type.
     /**
      \param  s   The string                        -- \b IN.
@@ -126,7 +128,7 @@ namespace NOMAD {
                                 int               * n           = NULL ,
                                 bool                check_order = true   );
     
-    /// Convert a string in {"QUADRATIC"} to a \c NOMAD::model_type.
+    /// Convert a string in {"QUADRATIC","SGTELIB"} to a \c NOMAD::model_type.
     /**
      \param  s  The string            -- \b IN.
      \param  mt The NOMAD::model_type -- \b OUT.
@@ -134,8 +136,7 @@ namespace NOMAD {
      */
     bool string_to_model_type ( const std::string & s , NOMAD::model_type & mt );
     
-
-    /// Convert a string in {"XMESH","SMESH"} to a \c NOMAD::mesh_type.
+    /// Convert a string in {"XMESH","GMESH","SMESH"} to a \c NOMAD::mesh_type.
     /**
      \param  s  The string            -- \b IN.
      \param  mt The NOMAD::mesh_type -- \b OUT.
@@ -301,14 +302,13 @@ namespace NOMAD {
      */
     std::string itos ( size_t i );
     
+    // SGTELIB
     /// Remove leading, trailing and double spaces in a string.
     /**
      \param s The string -- \b IN/OUT.
      */
     void deblank ( std::string & s );
-    
-    
-    
+
     
     /// Put a string into upper cases.
     /**
@@ -388,7 +388,7 @@ namespace NOMAD {
     // Get rank of a matrix  using SVD decomposition
     /**
      - The \c mxn \c M matrix is decomposed into \c M=U.W.V'. The rank equals the size of W
-     \param M         The input \c mxn matrix                             -- \b IN.
+     \param M         The input \c mxn matrix								-- \b IN.
      \param m         Number of rows in M                                 -- \b IN.
      \param n         Number of columns in M                              -- \b IN.
      \return The rank>0 if the decomposition worked else 0.
@@ -397,6 +397,46 @@ namespace NOMAD {
                  size_t m,
                  size_t n);
     
+    
+    // SGTELIB
+    /// Convert a string into a sgtelib_model_formulation_type.
+    /**
+     \param  s   The string -- \b IN.
+     \param  dft The NOMAD::sgtelib_model_formulation_type -- \b OUT.
+     \return     A boolean equal to \c true if the conversion was possible.
+     */
+    bool string_to_sgtelib_model_formulation_type ( const std::string & s  ,
+                                                   NOMAD::sgtelib_model_formulation_type & dft  );
+    
+    // SGTELIB
+    /// Convert a string into a sgtelib_model_feasibility_type.
+    /**
+     \param  s    The string -- \b IN.
+     \param  dft  The NOMAD::sgtelib_model_feasibility_type -- \b OUT.
+     \return      A boolean equal to \c true if the conversion was possible.
+     */
+    bool string_to_sgtelib_model_feasibility_type ( const std::string & s  ,
+                                                   NOMAD::sgtelib_model_feasibility_type & dft  );
+    
+    // SGTELIB
+    /// Convert a sgtelib_model_feasibility_type into a string.
+    /**
+     \param  dft  The NOMAD::sgtelib_model_feasibility_type -- \b IN.
+     \return      A string.
+     */
+    std::string sgtelib_model_feasibility_type_to_string ( const NOMAD::sgtelib_model_feasibility_type dft );
+    
+    // SGTELIB
+    /// Convert a sgtelib_model_formulation_type into a string.
+    /**
+     \param  dft  The NOMAD::sgtelib_model_formulation_type -- \b IN.
+     \return      A string.
+     */
+    std::string sgtelib_model_formulation_type_to_string ( const NOMAD::sgtelib_model_formulation_type dft );
+    
+    
+    
+    
 }
 
 #endif
diff --git a/tools/COOP-MADS/makefile b/tools/COOP-MADS/makefile
index 0c3c6f0..f838982 100644
--- a/tools/COOP-MADS/makefile
+++ b/tools/COOP-MADS/makefile
@@ -16,7 +16,7 @@ endif
 
 LDLIBS                 = -lm -lnomad -lmpi
 
-INCLUDE                = -I$(NOMAD_HOME)/src -I.
+INCLUDE                = -I$(NOMAD_HOME)/src -I$(NOMAD_HOME)/ext/sgtelib/src -I.
 COMPILE                = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
 OBJS                   = main.o Cache_Server.o
 
diff --git a/tools/COOP-MADS/problems/RHEOLOGY/x0.txt b/tools/COOP-MADS/problems/RHEOLOGY/x0.txt
index 51fdf04..6597ade 100644
--- a/tools/COOP-MADS/problems/RHEOLOGY/x0.txt
+++ b/tools/COOP-MADS/problems/RHEOLOGY/x0.txt
@@ -1,3 +1,3 @@
-10
-10
-10
+10
+10
+10
diff --git a/tools/PSD-MADS/Cache_Server.cpp b/tools/PSD-MADS/Cache_Server.cpp
index 96d4ff9..0155539 100644
--- a/tools/PSD-MADS/Cache_Server.cpp
+++ b/tools/PSD-MADS/Cache_Server.cpp
@@ -30,862 +30,973 @@ char       Cache_Server::BF_SIGNAL     = 'B';
 /*            constructor            */
 /*-----------------------------------*/
 Cache_Server::Cache_Server ( const Display & out                  ,
-			     int             rank                 ,
-			     int             np                   ,
-			     const Double  & h_min                ,
-			     int             max_bbe              ,
-			     bool            allow_multiple_evals ,
-			     bool            debug                  )
-  : Cache             ( out , TRUTH ) ,
-    _rank             ( rank        ) ,
-    _np               ( np          ) ,
-    _debug            ( debug       ) ,
-    _h_min            ( h_min       ) ,
-    _max_bbe          ( max_bbe     ) ,
-    _bf               ( NULL        ) ,
-    _bi1              ( NULL        ) ,
-    _bi2              ( NULL        ) ,
-    _multiple_evals   ( 0           ) ,
-    _cache_hits       ( 0           ) ,
-    _cache_search_pts ( 0           ) ,
-    _waited_pts       ( NULL        ) ,
-    _clients_ext_pts  ( NULL        )   {
-
-  // cache server:
-  if ( _rank == _np - 1 ) {
-
-    _clients_ext_pts = new list<const Eval_Point*> [_np];
+                            int             rank                 ,
+                            int             np                   ,
+                            const Double  & h_min                ,
+                            int             max_bbe              ,
+                            const string  & history_file         ,
+                            bool            allow_multiple_evals ,
+                            bool            debug                  )
+: Cache             ( out , TRUTH ) ,
+_rank             ( rank        ) ,
+_np               ( np          ) ,
+_debug            ( debug       ) ,
+_h_min            ( h_min       ) ,
+_max_bbe          ( max_bbe     ) ,
+_history_file     ( history_file) ,
+_bf               ( NULL        ) ,
+_bi1              ( NULL        ) ,
+_bi2              ( NULL        ) ,
+_multiple_evals   ( 0           ) ,
+_cache_hits       ( 0           ) ,
+_cache_search_pts ( 0           ) ,
+_waited_pts       ( NULL        ) ,
+_clients_ext_pts  ( NULL        )
+{
     
-    if ( !allow_multiple_evals ) {
-      _waited_pts = new Point * [_np];
-      for ( int i = 0 ; i < _np ; ++i )
-	_waited_pts[i] = NULL;
+    // cache server:
+    if ( _rank == _np - 1 )
+    {
+        
+        _clients_ext_pts = new list<const Eval_Point*> [_np];
+        
+        if ( !allow_multiple_evals )
+        {
+            _waited_pts = new Point * [_np];
+            for ( int i = 0 ; i < _np ; ++i )
+                _waited_pts[i] = NULL;
+        }
+        
     }
-  }
 }
 
 /*-----------------------------------*/
 /*             destructor            */
 /*-----------------------------------*/
-Cache_Server::~Cache_Server ( void ) {
-  if ( _waited_pts ) {
-    for ( int i = 0 ; i < _np ; ++i )
-      if ( _waited_pts[i] )
-	delete _waited_pts;
-    delete [] _waited_pts;
-  }
-
-  if ( _clients_ext_pts )
-    delete [] _clients_ext_pts;
+Cache_Server::~Cache_Server ( void )
+{
+    if ( _waited_pts )
+    {
+        for ( int i = 0 ; i < _np ; ++i )
+            if ( _waited_pts[i] )
+                delete _waited_pts;
+        delete [] _waited_pts;
+    }
+    
+    if ( _clients_ext_pts )
+        delete [] _clients_ext_pts;
 }
 
 /*-----------------------------------*/
 /*  start the server (process np-1)  */
 /*-----------------------------------*/
-void Cache_Server::start ( void ) {
-
-  int npm1 = _np-1;
-
-  if ( _rank != npm1 )
-    return;
-
-  MPI_Status status;
-  int        nb_stops = 0;
-  int        source;
-  char       signal;
-  
-  /*-------------*/
-  /*  main loop  */
-  /*-------------*/
-  while ( nb_stops != npm1 ) {
-
-    MPI_Recv ( &signal , 1 , MPI_CHAR , MPI_ANY_SOURCE ,
-	       Cache_Server::TAG_SIGNAL , MPI_COMM_WORLD , &status );
-
-    source = status.MPI_SOURCE;
-
-    // stop signal:
-    // ------------
-    if ( signal == Cache_Server::STOP_SIGNAL ) {
-      if ( _debug )
-	_out << "CACHE SERVER: STOP SIGNAL FROM RANK " << source << endl;
-      ++nb_stops;
-    }
+void Cache_Server::start ( void )
+{
     
-    // find signal:
-    // ------------
-    else if ( signal == Cache_Server::FIND_SIGNAL ) {
-      if ( _debug )
-	_out << "CACHE SERVER: FIND SIGNAL FROM RANK " << source << endl;
-      process_find_signal ( source );
-    }
-
-    // insert signal:
-    // --------------
-    else if ( signal == Cache_Server::INSERT_SIGNAL ) {
-      if ( _debug ) {
-	_out << "CACHE SERVER: INSERT SIGNAL FROM RANK "
-	     << source;
-	  if ( source == 1 )
-	    _out << " (POLLSTER)";
-	_out << endl;
-      }
-      process_insert_signal ( source );
-    }
-
-    // number of extern points signal:
-    // -------------------------------
-    else if ( signal == Cache_Server::NB_EP_SIGNAL ) {
-      if ( _debug ) {
-	_out << "CACHE SERVER: NB EXTERN POINTS SIGNAL FROM RANK "
-	     << source;
-	if ( source == 1 )
-	  _out << " (POLLSTER)";
-	_out << endl;
-      }
-      int nb_client_extern_pts = _clients_ext_pts[source].size();
-      MPI_Rsend ( &nb_client_extern_pts , 1 , MPI_INT , source ,
-		  Cache_Server::TAG_NB_EP , MPI_COMM_WORLD );
-    }
-
-    // extern point signal:
-    // --------------------
-    else if ( signal == Cache_Server::EP_SIGNAL ) {
-      if ( _debug ) {
-	_out << "CACHE SERVER: EXTERN POINT SIGNAL FROM RANK "
-	     << source;
-	if ( source == 1 )
-	  _out << " (POLLSTER)";
-	_out << endl;
-      }
-      process_ep_signal ( source );
-    }
-
-    // best feasible point signal:
-    else if ( signal == Cache_Server::BF_SIGNAL ) {
-      if ( _debug ) {
-	_out << "CACHE SERVER: BEST FEASIBLE POINT SIGNAL FROM RANK "
-	     << source;
-	if ( source == 1 )
-	  _out << " (POLLSTER)";
-      }
-      process_bf_signal ( source );
+    int npm1 = _np-1;
+    
+    if ( _rank != npm1 )
+        return;
+    
+    MPI_Status status;
+    int        nb_stops = 0;
+    int        source;
+    char       signal;
+    
+    /*-------------*/
+    /*  main loop  */
+    /*-------------*/
+    while ( nb_stops != npm1 )
+    {
+        
+        MPI_Recv ( &signal , 1 , MPI_CHAR , MPI_ANY_SOURCE ,
+                  Cache_Server::TAG_SIGNAL , MPI_COMM_WORLD , &status );
+        
+        source = status.MPI_SOURCE;
+        
+        // stop signal:
+        // ------------
+        if ( signal == Cache_Server::STOP_SIGNAL )
+        {
+            if ( _debug )
+                _out << "CACHE SERVER: STOP SIGNAL FROM RANK " << source << endl;
+            ++nb_stops;
+        }
+        
+        // find signal:
+        // ------------
+        else if ( signal == Cache_Server::FIND_SIGNAL )
+        {
+            if ( _debug )
+                _out << "CACHE SERVER: FIND SIGNAL FROM RANK " << source << endl;
+            process_find_signal ( source );
+        }
+        
+        // insert signal:
+        // --------------
+        else if ( signal == Cache_Server::INSERT_SIGNAL )
+        {
+            if ( _debug )
+            {
+                _out << "CACHE SERVER: INSERT SIGNAL FROM RANK "
+                << source;
+                if ( source == 1 )
+                    _out << " (POLLSTER)";
+                _out << endl;
+            }
+            process_insert_signal ( source );
+        }
+        
+        // number of extern points signal:
+        // -------------------------------
+        else if ( signal == Cache_Server::NB_EP_SIGNAL )
+        {
+            if ( _debug )
+            {
+                _out << "CACHE SERVER: NB EXTERN POINTS SIGNAL FROM RANK "
+                << source;
+                if ( source == 1 )
+                    _out << " (POLLSTER)";
+                _out << endl;
+            }
+            int nb_client_extern_pts = _clients_ext_pts[source].size();
+            MPI_Rsend ( &nb_client_extern_pts , 1 , MPI_INT , source ,
+                       Cache_Server::TAG_NB_EP , MPI_COMM_WORLD );
+        }
+        
+        // extern point signal:
+        // --------------------
+        else if ( signal == Cache_Server::EP_SIGNAL )
+        {
+            if ( _debug )
+            {
+                _out << "CACHE SERVER: EXTERN POINT SIGNAL FROM RANK "
+                << source;
+                if ( source == 1 )
+                    _out << " (POLLSTER)";
+                _out << endl;
+            }
+            process_ep_signal ( source );
+        }
+        
+        // best feasible point signal:
+        else if ( signal == Cache_Server::BF_SIGNAL )
+        {
+            if ( _debug )
+            {
+                _out << "CACHE SERVER: BEST FEASIBLE POINT SIGNAL FROM RANK "
+                << source;
+                if ( source == 1 )
+                    _out << " (POLLSTER)";
+            }
+            process_bf_signal ( source );
+        }
     }
-  }
 }
 
 /*---------------------------------*/
 /*    stop the server (clients)    */
 /*---------------------------------*/
-void Cache_Server::stop ( void ) const {
-
-  int npm1 = _np-1;
-
-  if ( _rank == npm1 )
-    return;
-
-  MPI_Send ( &Cache_Server::STOP_SIGNAL , 1 , MPI_CHAR ,
-	     npm1 , Cache_Server::TAG_SIGNAL , MPI_COMM_WORLD );
+void Cache_Server::stop ( void ) const
+{
+    
+    int npm1 = _np-1;
+    
+    if ( _rank == npm1 )
+        return;
+    
+    MPI_Send ( &Cache_Server::STOP_SIGNAL , 1 , MPI_CHAR ,
+              npm1 , Cache_Server::TAG_SIGNAL , MPI_COMM_WORLD );
 }
 
 /*----------------------------------------------*/
 /*    process the best feasible point signal    */
 /*----------------------------------------------*/
-void Cache_Server::process_bf_signal ( int source ) const {
-
-  char pt_flag = (_bf) ? '1' : '0';
-  
-  MPI_Rsend ( &pt_flag , 1 , MPI_CHAR , source ,
-	      Cache_Server::TAG_BF , MPI_COMM_WORLD );
-
-  if ( _bf ) {
-    int n = _bf->size();
-    double * rtab = new double[n+2];
-    for ( int i = 0 ; i < n ; ++i )
-      rtab[i] = (*_bf)[i].value();
-    rtab[n] = _bf->get_h().value();
-    rtab[n+1] = _bf->get_f().value();
-
-    MPI_Send ( rtab , n+2 , MPI_DOUBLE , source ,
-	       Cache_Server::TAG_X7 , MPI_COMM_WORLD );
-
-    delete [] rtab;
-  }
-
+void Cache_Server::process_bf_signal ( int source ) const
+{
+    
+    char pt_flag = (_bf) ? '1' : '0';
+    
+    MPI_Rsend ( &pt_flag , 1 , MPI_CHAR , source ,
+               Cache_Server::TAG_BF , MPI_COMM_WORLD );
+    
+    if ( _bf )
+    {
+        int n = _bf->size();
+        double * rtab = new double[n+2];
+        for ( int i = 0 ; i < n ; ++i )
+            rtab[i] = (*_bf)[i].value();
+        rtab[n] = _bf->get_h().value();
+        rtab[n+1] = _bf->get_f().value();
+        
+        MPI_Send ( rtab , n+2 , MPI_DOUBLE , source ,
+                  Cache_Server::TAG_X7 , MPI_COMM_WORLD );
+        
+        delete [] rtab;
+    }
+    
 }
 
 /*---------------------------------------*/
 /*    process the extern point signal    */
 /*---------------------------------------*/
-void Cache_Server::process_ep_signal ( int source ) const {
-
-  int nb_pt = ( _clients_ext_pts[source].size() > 0 ) ? 1 : 0;
-
-  MPI_Rsend ( &nb_pt , 1 , MPI_INT , source ,
-	      Cache_Server::TAG_EP , MPI_COMM_WORLD );
-
-  // send and remove the extern point:
-  if ( nb_pt > 0 ) {
-
-    const Eval_Point * x = *(_clients_ext_pts[source].begin());
-
-    ++_cache_search_pts;
-
-    // send the point : 
-    int i , n = x->size() , m = x->get_m();
-    int itab[5];
-    itab[0] = n;
-    itab[1] = m;
-    itab[2] = ( x->is_eval_ok() ) ? 1 : 0;
-
-    if ( x->get_signature() && (x->get_signature()->get_mesh()->get_mesh_indices())[0].is_defined() )
+void Cache_Server::process_ep_signal ( int source ) const
+{
+    
+    int nb_pt = ( _clients_ext_pts[source].size() > 0 ) ? 1 : 0;
+    
+    MPI_Rsend ( &nb_pt , 1 , MPI_INT , source ,
+               Cache_Server::TAG_EP , MPI_COMM_WORLD );
+    
+    // send and remove the extern point:
+    if ( nb_pt > 0 )
     {
-        itab[3]=1;
-        itab[4]=static_cast<int>((x->get_signature()->get_mesh()->get_mesh_indices())[0].value());
+        
+        const Eval_Point * x = *(_clients_ext_pts[source].begin());
+        
+        ++_cache_search_pts;
+        
+        // send the point :
+        int i , n = x->size() , m = x->get_m();
+        int itab[5];
+        itab[0] = n;
+        itab[1] = m;
+        itab[2] = ( x->is_eval_ok() ) ? 1 : 0;
+        
+        if ( x->get_signature() && (x->get_signature()->get_mesh()->get_mesh_indices())[0].is_defined() )
+        {
+            itab[3]=1;
+            itab[4]=static_cast<int>((x->get_signature()->get_mesh()->get_mesh_indices())[0].value());
+        }
+        else
+            itab[3] = itab[4] = 0;
+        
+        double * rtab = new double[n+2*m];
+        for ( i = 0 ; i < n ; ++i )
+            rtab[i] = (*x)[i].value();
+        
+        const Point & bbo = x->get_bb_outputs();
+        
+        for ( i = 0 ; i < m ; ++i )
+            if ( bbo[i].is_defined() )
+            {
+                rtab[2*i+n  ] = 1.0;
+                rtab[2*i+n+1] = bbo[i].value();
+            }
+            else
+                rtab[2*i+n] = rtab[2*i+n+1] = -1.0;
+        
+        MPI_Send ( itab , 5 , MPI_INT , source ,
+                  Cache_Server::TAG_X5 , MPI_COMM_WORLD );
+        
+        MPI_Send ( rtab , n+2*m , MPI_DOUBLE , source ,
+                  Cache_Server::TAG_X6 , MPI_COMM_WORLD );
+        
+        // remove the point:
+        _clients_ext_pts[source].pop_front();
     }
-    else
-      itab[3] = itab[4] = 0;
-
-    double * rtab = new double[n+2*m];
-    for ( i = 0 ; i < n ; ++i )
-      rtab[i] = (*x)[i].value();
-  
-    const Point & bbo = x->get_bb_outputs();
-  
-    for ( i = 0 ; i < m ; ++i )
-      if ( bbo[i].is_defined() ) {
-	rtab[2*i+n  ] = 1.0;
-	rtab[2*i+n+1] = bbo[i].value();
-      }
-      else
-	rtab[2*i+n] = rtab[2*i+n+1] = -1.0;
-    
-    MPI_Send ( itab , 5 , MPI_INT , source ,
-	       Cache_Server::TAG_X5 , MPI_COMM_WORLD );
-
-    MPI_Send ( rtab , n+2*m , MPI_DOUBLE , source ,
-	       Cache_Server::TAG_X6 , MPI_COMM_WORLD );
-
-    // remove the point:
-    _clients_ext_pts[source].pop_front();
-  }
 }
 
 /*-------------------------------*/
 /*    process the find signal    */
 /*-------------------------------*/
-void Cache_Server::process_find_signal ( int source ) const {
-
-  MPI_Status status;
-  int i;
-
-  // receive the point coordinates:
-  int itab[2];
-  MPI_Recv ( itab , 2 , MPI_INT , source ,
-	     Cache_Server::TAG_X1 , MPI_COMM_WORLD , &status );
-
-  int n = itab[0];
-  int m = itab[1];
-
-  double * rtab = new double[n];
-	    
-  MPI_Recv ( rtab , n , MPI_DOUBLE , source ,
-	     Cache_Server::TAG_X2 , MPI_COMM_WORLD , &status );
-
-  // create the Eval_Point to search:
-  Eval_Point * x = new Eval_Point ( n , m );
-      
-  for ( i = 0 ; i < n ; ++i )
-    (*x)[i] = rtab[i];
-
-  delete [] rtab;
-
-  // search in cache, or stop the algorithm:
-  const Eval_Point * cache_x;
-
-  if ( _max_bbe > 0 && size() >= _max_bbe ) {
-    Eval_Point * stop_point = new Eval_Point ( n , m );
+void Cache_Server::process_find_signal ( int source ) const
+{
+    
+    MPI_Status status;
+    int i;
+    
+    // receive the point coordinates:
+    int itab[2];
+    MPI_Recv ( itab , 2 , MPI_INT , source ,
+              Cache_Server::TAG_X1 , MPI_COMM_WORLD , &status );
+    
+    int n = itab[0];
+    int m = itab[1];
+    
+    double * rtab = new double[n];
+    
+    MPI_Recv ( rtab , n , MPI_DOUBLE , source ,
+              Cache_Server::TAG_X2 , MPI_COMM_WORLD , &status );
+    
+    // create the Eval_Point to search:
+    Eval_Point * x = new Eval_Point ( n , m );
+    
     for ( i = 0 ; i < n ; ++i )
-      (*stop_point)[i] = (*x)[i];
-    stop_point->set_eval_status ( EVAL_FAIL );
-    cache_x = stop_point;
-  }
-  else
-    cache_x = Cache::find ( *x );
-
-  // cache hit signal :
-  int cache_hit;
-
-  // point in cache :
-  if ( cache_x ) {
-
-    delete x;
-
-    cache_hit = 1;
-
-    ++_cache_hits;
-
-    MPI_Rsend ( &cache_hit , 1 , MPI_INT , source ,
-		Cache_Server::TAG_CACHE_HIT , MPI_COMM_WORLD );
-
-    // bb output values, defined values and eval_ok flag:
-    rtab               = new double[m];
-    char        * ctab = new char  [m+1];
-    const Point & bbo  = cache_x->get_bb_outputs();
-
-    for ( i = 0 ; i < m ; ++i ) {
-      if ( bbo[i].is_defined() ) {
-	rtab[i] = bbo[i].value();
-	ctab[i] = '1';
-      }
-      else {
-	rtab[i] = INF;
-	ctab[i] = '0';
-      }
-    }  
-
-    ctab[m] = ( cache_x->is_eval_ok() ) ? '1' : '0';
-
-    MPI_Send ( rtab , m , MPI_DOUBLE , source ,
-	       Cache_Server::TAG_BBOR , MPI_COMM_WORLD );
+        (*x)[i] = rtab[i];
     
-    MPI_Send ( ctab , m+1 , MPI_CHAR , source ,
-	       Cache_Server::TAG_BBOC , MPI_COMM_WORLD );
-
     delete [] rtab;
-    delete [] ctab;
-
-    // remove this point from _clients_ext_pts:
+    
+    // search in cache, or stop the algorithm:
+    const Eval_Point * cache_x;
+    
+    if ( _max_bbe > 0 && size() >= _max_bbe )
     {
-      list<const Eval_Point *>::iterator
-	it  = _clients_ext_pts[source].begin() ,
-	end = _clients_ext_pts[source].end  ();
-      while ( it != end ) {
-	if ( *it == cache_x ) {
-	  _clients_ext_pts[source].erase(it);
-	  break;
-	}
-	++it;
-      }
+        Eval_Point * stop_point = new Eval_Point ( n , m );
+        for ( i = 0 ; i < n ; ++i )
+            (*stop_point)[i] = (*x)[i];
+        stop_point->set_eval_status ( EVAL_FAIL );
+        cache_x = stop_point;
     }
-  }
-
-  // point not in cache :
-  else {
-
-    cache_hit = 0;
-
-    // evaluation in progress ?
-    if ( _waited_pts ) {
-          
-      for ( i = 0 ; i < _np ; ++i )
-	if ( _waited_pts[i] && *_waited_pts[i] == *x ) {
-	  cache_hit = -1;
-	  break;
-	}
-	
-      if ( cache_hit == 0 )
- 	_waited_pts[source] = x;
-      else
-	delete x;
+    else
+        cache_x = Cache::find ( *x );
+    
+    // cache hit signal :
+    int cache_hit;
+    
+    // point in cache :
+    if ( cache_x )
+    {
+        
+        delete x;
+        
+        cache_hit = 1;
+        
+        ++_cache_hits;
+        
+        MPI_Rsend ( &cache_hit , 1 , MPI_INT , source ,
+                   Cache_Server::TAG_CACHE_HIT , MPI_COMM_WORLD );
+        
+        // bb output values, defined values and eval_ok flag:
+        rtab               = new double[m];
+        char        * ctab = new char  [m+1];
+        const Point & bbo  = cache_x->get_bb_outputs();
+        
+        for ( i = 0 ; i < m ; ++i )
+        {
+            if ( bbo[i].is_defined() )
+            {
+                rtab[i] = bbo[i].value();
+                ctab[i] = '1';
+            }
+            else
+            {
+                rtab[i] = INF;
+                ctab[i] = '0';
+            }
+        }
+        
+        ctab[m] = ( cache_x->is_eval_ok() ) ? '1' : '0';
+        
+        MPI_Send ( rtab , m , MPI_DOUBLE , source ,
+                  Cache_Server::TAG_BBOR , MPI_COMM_WORLD );
+        
+        MPI_Send ( ctab , m+1 , MPI_CHAR , source ,
+                  Cache_Server::TAG_BBOC , MPI_COMM_WORLD );
+        
+        delete [] rtab;
+        delete [] ctab;
+        
+        // remove this point from _clients_ext_pts:
+        {
+            list<const Eval_Point *>::iterator
+            it  = _clients_ext_pts[source].begin() ,
+            end = _clients_ext_pts[source].end  ();
+            while ( it != end )
+            {
+                if ( *it == cache_x )
+                {
+                    _clients_ext_pts[source].erase(it);
+                    break;
+                }
+                ++it;
+            }
+        }
     }
+    
+    // point not in cache :
     else
-      delete x;
-
-    MPI_Rsend ( &cache_hit , 1 , MPI_INT , source ,
-		Cache_Server::TAG_CACHE_HIT , MPI_COMM_WORLD );
-  }
+    {
+        
+        cache_hit = 0;
+        
+        // evaluation in progress ?
+        if ( _waited_pts )
+        {
+            
+            for ( i = 0 ; i < _np ; ++i )
+                if ( _waited_pts[i] && *_waited_pts[i] == *x )
+                {
+                    cache_hit = -1;
+                    break;
+                }
+            
+            if ( cache_hit == 0 )
+                _waited_pts[source] = x;
+            else
+                delete x;
+        }
+        else
+            delete x;
+        
+        MPI_Rsend ( &cache_hit , 1 , MPI_INT , source ,
+                   Cache_Server::TAG_CACHE_HIT , MPI_COMM_WORLD );
+    }
 }
 
 /*--------------------*/
 /*    find a point    */
 /*--------------------*/
-const Eval_Point * Cache_Server::find ( const Eval_Point & x ) const {
-
-  int npm1 = _np-1;
-
-  // server:
-  if ( _rank == npm1 )
-    return Cache::find ( x );
-
-  // A. search in local cache:
-  const Eval_Point * cache_x = Cache::find ( x );
-  if ( cache_x )
-    return cache_x;
-  
-  // B. ask the server.
-  int i , n = x.size() , m = x.get_m();
-  int itab[2];
-  itab[0] = n;
-  itab[1] = m;
-  double * rtab = new double[n];
-  for ( i = 0 ; i < n ; ++i )
-    rtab[i] = x[i].value();
-
-  int      cache_hit = -1;
-  MPI_Request    req = MPI_REQUEST_NULL;
-  MPI_Status  status;
-
-  while ( cache_hit < 0 ) {
-
-    // B1. send a request for cache_hit:
-    MPI_Irecv ( &cache_hit , 1 , MPI_INT , npm1 ,
-		Cache_Server::TAG_CACHE_HIT , MPI_COMM_WORLD , &req );
-
-    // B2. send the find signal:
-    MPI_Send ( &Cache_Server::FIND_SIGNAL , 1 , MPI_CHAR ,
-	       npm1 , Cache_Server::TAG_SIGNAL , MPI_COMM_WORLD );
-
-    // B3. send the point coordinates:
-    MPI_Send ( itab , 2 , MPI_INT , npm1 ,
-	       Cache_Server::TAG_X1 , MPI_COMM_WORLD );
-    MPI_Send ( rtab , n , MPI_DOUBLE , npm1 ,
-	       Cache_Server::TAG_X2 , MPI_COMM_WORLD );
+const Eval_Point * Cache_Server::find ( const Eval_Point & x ) const
+{
     
-    // B4. wait for the cache_hit request:
-    MPI_Wait ( &req , &status );
-
-    // cache hit possible values:
-    //
-    //  -1: point is being evaluated by another process (wait)
-    //   0: point not in cache server
-    //   1: point in cache server
-  }
-  
-  delete [] rtab;
-
-  // C. cache hit: receive the point outputs:
-  if ( cache_hit == 1 ) {
-
-    // C.1. bb output values and eval status:
-    rtab = new double[m];
-    MPI_Recv ( rtab , m , MPI_DOUBLE , npm1 ,
-	       Cache_Server::TAG_BBOR , MPI_COMM_WORLD , &status );
-    
-    char * ctab = new char[m+1];
-    MPI_Recv ( ctab , m+1 , MPI_CHAR , npm1 ,
-	       Cache_Server::TAG_BBOC , MPI_COMM_WORLD , &status );
-
-    Point bbo(m);
-    for ( i = 0 ; i < m ; ++i )
-      if ( ctab[i]=='1' )
-	bbo[i] = rtab[i];
+    int npm1 = _np-1;
     
-    delete [] rtab;
-
-    //  C.2. eval point construction:
-    Eval_Point * y = new Eval_Point ( n , m );
-    y->set_bb_output ( bbo );
+    // server:
+    if ( _rank == npm1 )
+        return Cache::find ( x );
+    
+    // A. search in local cache:
+    const Eval_Point * cache_x = Cache::find ( x );
+    if ( cache_x )
+        return cache_x;
+    
+    // B. ask the server.
+    int i , n = x.size() , m = x.get_m();
+    int itab[2];
+    itab[0] = n;
+    itab[1] = m;
+    double * rtab = new double[n];
     for ( i = 0 ; i < n ; ++i )
-      (*y)[i] = x[i];
-
-    y->set_eval_status ( (ctab[m]=='1') ? EVAL_OK : EVAL_FAIL );
-
-    y->set_current_run ( x.get_current_run() );
-
-    delete [] ctab;
-
-    cache_x = y;
-   
-
-    // C.3. insertion in local cache:
-    const_cast<Cache_Server*>(this)->Cache::insert ( *cache_x );
-  }
-  
-  return cache_x;
+        rtab[i] = x[i].value();
+    
+    int      cache_hit = -1;
+    MPI_Request    req = MPI_REQUEST_NULL;
+    MPI_Status  status;
+    
+    while ( cache_hit < 0 )
+    {
+        
+        // B1. send a request for cache_hit:
+        MPI_Irecv ( &cache_hit , 1 , MPI_INT , npm1 ,
+                   Cache_Server::TAG_CACHE_HIT , MPI_COMM_WORLD , &req );
+        
+        // B2. send the find signal:
+        MPI_Send ( &Cache_Server::FIND_SIGNAL , 1 , MPI_CHAR ,
+                  npm1 , Cache_Server::TAG_SIGNAL , MPI_COMM_WORLD );
+        
+        // B3. send the point coordinates:
+        MPI_Send ( itab , 2 , MPI_INT , npm1 ,
+                  Cache_Server::TAG_X1 , MPI_COMM_WORLD );
+        MPI_Send ( rtab , n , MPI_DOUBLE , npm1 ,
+                  Cache_Server::TAG_X2 , MPI_COMM_WORLD );
+        
+        // B4. wait for the cache_hit request:
+        MPI_Wait ( &req , &status );
+        
+        // cache hit possible values:
+        //
+        //  -1: point is being evaluated by another process (wait)
+        //   0: point not in cache server
+        //   1: point in cache server
+    }
+    
+    delete [] rtab;
+    
+    // C. cache hit: receive the point outputs:
+    if ( cache_hit == 1 )
+    {
+        
+        // C.1. bb output values and eval status:
+        rtab = new double[m];
+        MPI_Recv ( rtab , m , MPI_DOUBLE , npm1 ,
+                  Cache_Server::TAG_BBOR , MPI_COMM_WORLD , &status );
+        
+        char * ctab = new char[m+1];
+        MPI_Recv ( ctab , m+1 , MPI_CHAR , npm1 ,
+                  Cache_Server::TAG_BBOC , MPI_COMM_WORLD , &status );
+        
+        Point bbo(m);
+        for ( i = 0 ; i < m ; ++i )
+            if ( ctab[i]=='1' )
+                bbo[i] = rtab[i];
+        
+        delete [] rtab;
+        
+        //  C.2. eval point construction:
+        Eval_Point * y = new Eval_Point ( n , m );
+        y->set_bb_output ( bbo );
+        for ( i = 0 ; i < n ; ++i )
+            (*y)[i] = x[i];
+        
+        y->set_eval_status ( (ctab[m]=='1') ? EVAL_OK : EVAL_FAIL );
+        
+        y->set_current_run ( x.get_current_run() );
+        
+        delete [] ctab;
+        
+        cache_x = y;
+        
+        
+        // C.3. insertion in local cache:
+        const_cast<Cache_Server*>(this)->Cache::insert ( *cache_x );
+    }
+    
+    return cache_x;
 }
 
 /*------------------------------------*/
 /*    process the insertion signal    */
 /*------------------------------------*/
-void Cache_Server::process_insert_signal ( int source ) {
-
-  if ( _waited_pts && _waited_pts[source] ) {
-    delete _waited_pts[source];
-    _waited_pts[source] = NULL;
-  }
-
-  MPI_Status status;
-
-  // receive the evaluation point:
-  int itab[7];
-  MPI_Recv ( itab , 7 , MPI_INT , source ,
-	     Cache_Server::TAG_X3 , MPI_COMM_WORLD , &status );
-
-  int n = itab[0];
-  int m = itab[1];
-
-  double * rtab = new double[n+2*m+2];
-	    
-  MPI_Recv ( rtab , n+2*m+2 , MPI_DOUBLE , source ,
-	     Cache_Server::TAG_X4 , MPI_COMM_WORLD , &status );
-
-  // create the Eval_Point to insert:
-  Eval_Point * x = new Eval_Point ( n , m );
-
-  int i;
-  for ( i = 0 ; i < n ; ++i )
-    (*x)[i] = rtab[i];
-
-  for ( i = 0 ; i < m ; ++i )
-    if ( rtab[2*i+n] > 0 )
-      x->set_bb_output ( i , rtab[2*i+n+1] );
-  
-  if ( itab[5] == 1 )
-    x->set_f ( rtab[n+2*m  ] );
-
-  if ( itab[6] == 1 )
-    x->set_h ( rtab[n+2*m+1] );
-
-  delete [] rtab;
-  
-  x->set_eval_status ( ( itab[2] == 1 ) ? EVAL_OK : EVAL_FAIL );
-  
-  // Eval_Point insertion in cache and multiple_evals detection:
-  const Eval_Point * cache_x = Cache::find ( *x );
-  if ( cache_x ) {
-    ++_multiple_evals;
-    delete x;
-    x = const_cast<Eval_Point *>(cache_x);
-  }
-  else
-    Cache::insert ( *x );
-
-  // update the best points:
-  update_best_points ( *x , source );
+void Cache_Server::process_insert_signal ( int source )
+{
+    
+    if ( _waited_pts && _waited_pts[source] )
+    {
+        delete _waited_pts[source];
+        _waited_pts[source] = NULL;
+    }
+    
+    MPI_Status status;
+    
+    // receive the evaluation point:
+    int itab[7];
+    MPI_Recv ( itab , 7 , MPI_INT , source ,
+              Cache_Server::TAG_X3 , MPI_COMM_WORLD , &status );
+    
+    int n = itab[0];
+    int m = itab[1];
+    
+    double * rtab = new double[n+2*m+2];
+    
+    MPI_Recv ( rtab , n+2*m+2 , MPI_DOUBLE , source ,
+              Cache_Server::TAG_X4 , MPI_COMM_WORLD , &status );
+    
+    // create the Eval_Point to insert:
+    Eval_Point * x = new Eval_Point ( n , m );
+    
+    int i;
+    for ( i = 0 ; i < n ; ++i )
+        (*x)[i] = rtab[i];
+    
+    for ( i = 0 ; i < m ; ++i )
+        if ( rtab[2*i+n] > 0 )
+            x->set_bb_output ( i , rtab[2*i+n+1] );
+    
+    if ( itab[5] == 1 )
+        x->set_f ( rtab[n+2*m  ] );
+    
+    if ( itab[6] == 1 )
+        x->set_h ( rtab[n+2*m+1] );
+    
+    delete [] rtab;
+    
+    x->set_eval_status ( ( itab[2] == 1 ) ? EVAL_OK : EVAL_FAIL );
+    
+    // Eval_Point insertion in cache and multiple_evals detection:
+    const Eval_Point * cache_x = Cache::find ( *x );
+    if ( cache_x )
+    {
+        ++_multiple_evals;
+        delete x;
+        x = const_cast<Eval_Point *>(cache_x);
+    }
+    else
+    {
+        Cache::insert ( *x );
+        write_his_file ( *x );
+    }
+    
+    // update the best points:
+    update_best_points ( *x , source );
 }
 
 /*--------------------*/
 /*   insert a point   */
 /*--------------------*/
-void Cache_Server::insert ( const NOMAD::Eval_Point & x ) {
-
-  // insertion in local cache :
-  Cache::insert ( x );
-
-  int npm1 = _np-1;
-  if ( _rank == npm1 )
-    return;
-
-  // insert signal :
-  MPI_Send ( &Cache_Server::INSERT_SIGNAL , 1 , MPI_CHAR ,
-	     npm1 , Cache_Server::TAG_SIGNAL , MPI_COMM_WORLD );
-
-  // send the point : 
-  int i , n = x.size() , m = x.get_m();
-  int itab[7];
-  itab[0] = n;
-  itab[1] = m;
-  itab[2] = ( x.is_eval_ok() ) ? 1 : 0;
-    
-  if ( x.get_signature() && (x.get_signature()->get_mesh()->get_mesh_indices())[0].is_defined() )
+void Cache_Server::insert ( const NOMAD::Eval_Point & x )
+{
+    
+    // insertion in local cache :
+    Cache::insert ( x );
+    
+    int npm1 = _np-1;
+    if ( _rank == npm1 )
+        return;
+    
+    // insert signal :
+    MPI_Send ( &Cache_Server::INSERT_SIGNAL , 1 , MPI_CHAR ,
+              npm1 , Cache_Server::TAG_SIGNAL , MPI_COMM_WORLD );
+    
+    // send the point :
+    int i , n = x.size() , m = x.get_m();
+    int itab[7];
+    itab[0] = n;
+    itab[1] = m;
+    itab[2] = ( x.is_eval_ok() ) ? 1 : 0;
+    
+    if ( x.get_signature() && (x.get_signature()->get_mesh()->get_mesh_indices())[0].is_defined() )
     {
         itab[3]=1;
         itab[4]=static_cast<int>((x.get_signature()->get_mesh()->get_mesh_indices())[0].value());
     }
-  else
-    itab[3] = itab[4] = 0;
-
-  double * rtab = new double[n+2*m+2];
-  for ( i = 0 ; i < n ; ++i )
-    rtab[i] = x[i].value();
-  
-  const Point & bbo = x.get_bb_outputs();
-  
-  for ( i = 0 ; i < m ; ++i )
-    if ( bbo[i].is_defined() ) {
-      rtab[2*i+n  ] = 1.0;
-      rtab[2*i+n+1] = bbo[i].value();
+    else
+        itab[3] = itab[4] = 0;
+    
+    double * rtab = new double[n+2*m+2];
+    for ( i = 0 ; i < n ; ++i )
+        rtab[i] = x[i].value();
+    
+    const Point & bbo = x.get_bb_outputs();
+    
+    for ( i = 0 ; i < m ; ++i )
+        if ( bbo[i].is_defined() )
+        {
+            rtab[2*i+n  ] = 1.0;
+            rtab[2*i+n+1] = bbo[i].value();
+        }
+        else
+            rtab[2*i+n] = rtab[2*i+n+1] = -1.0;
+    
+    // f and h values:
+    if ( x.get_f().is_defined() )
+    {
+        itab[5    ] = 1;
+        rtab[n+2*m] = x.get_f().value();
     }
     else
-      rtab[2*i+n] = rtab[2*i+n+1] = -1.0;
-
-  // f and h values:
-  if ( x.get_f().is_defined() ) {
-    itab[5    ] = 1;
-    rtab[n+2*m] = x.get_f().value();
-  }
-  else {
-    itab[5    ] = 0;
-    rtab[n+2*m] = INF;
-  }
-  if ( x.get_h().is_defined() ) {
-    itab[6      ] = 1;
-    rtab[n+2*m+1] = x.get_h().value();
-  }
-  else {
-    itab[6      ] = 0;
-    rtab[n+2*m+1] = INF;
-  }
-
-  MPI_Send ( itab , 7 , MPI_INT , npm1 ,
-	     Cache_Server::TAG_X3 , MPI_COMM_WORLD );
-
-  MPI_Send ( rtab , n+2*m+2 , MPI_DOUBLE , npm1 ,
-	     Cache_Server::TAG_X4 , MPI_COMM_WORLD );
-
-  delete [] rtab;
+    {
+        itab[5    ] = 0;
+        rtab[n+2*m] = INF;
+    }
+    if ( x.get_h().is_defined() )
+    {
+        itab[6      ] = 1;
+        rtab[n+2*m+1] = x.get_h().value();
+    }
+    else
+    {
+        itab[6      ] = 0;
+        rtab[n+2*m+1] = INF;
+    }
+    
+    MPI_Send ( itab , 7 , MPI_INT , npm1 ,
+              Cache_Server::TAG_X3 , MPI_COMM_WORLD );
+    
+    MPI_Send ( rtab , n+2*m+2 , MPI_DOUBLE , npm1 ,
+              Cache_Server::TAG_X4 , MPI_COMM_WORLD );
+    
+    delete [] rtab;
 }
 
 /*--------------------------------------*/
 /*    get and remove an extern point    */
 /*--------------------------------------*/
-const Eval_Point * Cache_Server::get_and_remove_extern_point ( void ) const {
-
-  int npm1 = _np-1;
-
-  if ( _rank == npm1 )
-    return NULL;
-
-  // extern point from the client:
-  // -----------------------------
-  if ( Cache::get_nb_extern_points() > 0 )
-    return Cache::get_and_remove_extern_point();
-
-  // extern point from the server:
-  // -----------------------------
-  
-  int nb_pt;
-
-  // send a request for an extern point:
-  MPI_Request req;
-  MPI_Irecv ( &nb_pt , 1 , MPI_INT , npm1 ,
-	      Cache_Server::TAG_EP , MPI_COMM_WORLD , &req );
-
-  // extern points signal :
-  MPI_Send ( &Cache_Server::EP_SIGNAL , 1 , MPI_CHAR ,
-	     npm1 , Cache_Server::TAG_SIGNAL , MPI_COMM_WORLD );
-
-  // wait for the request:
-  MPI_Status status;
-  MPI_Wait ( &req , &status );
-
-  if ( nb_pt == 0 )
-    return NULL;
-
-  // receive the extern point:
-  int itab[5];
-  MPI_Recv ( itab , 5 , MPI_INT , npm1 ,
-	     Cache_Server::TAG_X5 , MPI_COMM_WORLD , &status );
-
-  int n = itab[0];
-  int m = itab[1];
-
-  double * rtab = new double[n+2*m];
-	    
-  MPI_Recv ( rtab , n+2*m , MPI_DOUBLE , npm1 ,
-	     Cache_Server::TAG_X6 , MPI_COMM_WORLD , &status );
-
-  // create the Eval_Point:
-  Eval_Point * x = new Eval_Point ( n , m );
-
-  int i;
-  for ( i = 0 ; i < n ; ++i )
-    (*x)[i] = rtab[i];
-
-  for ( i = 0 ; i < m ; ++i )
-    if ( rtab[2*i+n] > 0 )
-      x->set_bb_output ( i , rtab[2*i+n+1] );
-  
-  delete [] rtab;
-  
-  x->set_eval_status ( ( itab[2] == 1 ) ? EVAL_OK : EVAL_FAIL );
-  
-  // insert the point in local cache:
-  const Eval_Point * cache_x = Cache::find ( *x );
-  if ( cache_x ) {
-    delete x;
-    return cache_x;
-  }
-
-  x->set_current_run ( true );
-  const_cast<Cache_Server*>(this)->Cache::insert ( *x );
-  x->set_current_run ( false );
-
-  return x;
-}
-
-/*---------------------------------------*/
-/*    get the number of extern points    */
-/*---------------------------------------*/
-int Cache_Server::get_nb_extern_points ( void ) const {
-  
-  int nb_client_extern_pts = Cache::get_nb_extern_points();
-  int nb_server_extern_pts = 0;
-  int npm1                 = _np-1;
-
-  if ( _rank != npm1 ) {
-
-    // send a request for the number of extern points:
+const Eval_Point * Cache_Server::get_and_remove_extern_point ( void ) const
+{
+    
+    int npm1 = _np-1;
+    
+    if ( _rank == npm1 )
+        return NULL;
+    
+    // extern point from the client:
+    // -----------------------------
+    if ( Cache::get_nb_extern_points() > 0 )
+        return Cache::get_and_remove_extern_point();
+    
+    // extern point from the server:
+    // -----------------------------
+    
+    int nb_pt;
+    
+    // send a request for an extern point:
     MPI_Request req;
-    MPI_Irecv ( &nb_server_extern_pts , 1 , MPI_INT , npm1 ,
-		Cache_Server::TAG_NB_EP , MPI_COMM_WORLD , &req );
-
-    // number of extern points signal :
-    MPI_Send ( &Cache_Server::NB_EP_SIGNAL , 1 , MPI_CHAR ,
-	       npm1 , Cache_Server::TAG_SIGNAL , MPI_COMM_WORLD );
-
+    MPI_Irecv ( &nb_pt , 1 , MPI_INT , npm1 ,
+               Cache_Server::TAG_EP , MPI_COMM_WORLD , &req );
+    
+    // extern points signal :
+    MPI_Send ( &Cache_Server::EP_SIGNAL , 1 , MPI_CHAR ,
+              npm1 , Cache_Server::TAG_SIGNAL , MPI_COMM_WORLD );
+    
     // wait for the request:
     MPI_Status status;
     MPI_Wait ( &req , &status );
-  }
+    
+    if ( nb_pt == 0 )
+        return NULL;
+    
+    // receive the extern point:
+    int itab[5];
+    MPI_Recv ( itab , 5 , MPI_INT , npm1 ,
+              Cache_Server::TAG_X5 , MPI_COMM_WORLD , &status );
+    
+    int n = itab[0];
+    int m = itab[1];
+    
+    double * rtab = new double[n+2*m];
+    
+    MPI_Recv ( rtab , n+2*m , MPI_DOUBLE , npm1 ,
+              Cache_Server::TAG_X6 , MPI_COMM_WORLD , &status );
+    
+    // create the Eval_Point:
+    Eval_Point * x = new Eval_Point ( n , m );
+    
+    int i;
+    for ( i = 0 ; i < n ; ++i )
+        (*x)[i] = rtab[i];
+    
+    for ( i = 0 ; i < m ; ++i )
+        if ( rtab[2*i+n] > 0 )
+            x->set_bb_output ( i , rtab[2*i+n+1] );
+    
+    delete [] rtab;
+    
+    x->set_eval_status ( ( itab[2] == 1 ) ? EVAL_OK : EVAL_FAIL );
+    
+    // insert the point in local cache:
+    const Eval_Point * cache_x = Cache::find ( *x );
+    if ( cache_x )
+    {
+        delete x;
+        return cache_x;
+    }
+    
+    x->set_current_run ( true );
+    const_cast<Cache_Server*>(this)->Cache::insert ( *x );
+    x->set_current_run ( false );
+    
+    return x;
+}
 
-  return nb_client_extern_pts + nb_server_extern_pts;
+/*---------------------------------------*/
+/*    get the number of extern points    */
+/*---------------------------------------*/
+int Cache_Server::get_nb_extern_points ( void ) const
+{
+    
+    int nb_client_extern_pts = Cache::get_nb_extern_points();
+    int nb_server_extern_pts = 0;
+    int npm1                 = _np-1;
+    
+    if ( _rank != npm1 )
+    {
+        
+        // send a request for the number of extern points:
+        MPI_Request req;
+        MPI_Irecv ( &nb_server_extern_pts , 1 , MPI_INT , npm1 ,
+                   Cache_Server::TAG_NB_EP , MPI_COMM_WORLD , &req );
+        
+        // number of extern points signal :
+        MPI_Send ( &Cache_Server::NB_EP_SIGNAL , 1 , MPI_CHAR ,
+                  npm1 , Cache_Server::TAG_SIGNAL , MPI_COMM_WORLD );
+        
+        // wait for the request:
+        MPI_Status status;
+        MPI_Wait ( &req , &status );
+    }
+    
+    return nb_client_extern_pts + nb_server_extern_pts;
 }
 
 /*---------------------------------*/
 /*    display the extern points    */
 /*---------------------------------*/
-void Cache_Server::display_extern_pts ( const Display & out ) const {
-
-  int npm1 = _np-1;
-
-  // server:
-  // -------
-  if ( _rank == npm1 ) {
-
-    list<const Eval_Point*>::const_iterator it;
-    out << endl << open_block ("Clients extern points");
-
-    for ( int i = 0 ; i < npm1 ; ++i ) {
-      out.open_block ( "client #"+itos(i) );
-      for ( it  = _clients_ext_pts[i].begin() ;
-	    it != _clients_ext_pts[i].end  () ;
-	    ++it ) {
-	out << "#" << (*it)->get_tag() << " ( ";
-	(*it)->Point::display ( out );
-	out << " ) " << " ["
-	    << (*it)->get_bb_outputs() << " ] f="
-	    << (*it)->get_f() << " h="
-	    << (*it)->get_h() << endl;
-      }
-      out.close_block();
+void Cache_Server::display_extern_pts ( const Display & out ) const
+{
+    
+    int npm1 = _np-1;
+    
+    // server:
+    // -------
+    if ( _rank == npm1 )
+    {
+        
+        list<const Eval_Point*>::const_iterator it;
+        out << endl << open_block ("Clients extern points");
+        
+        for ( int i = 0 ; i < npm1 ; ++i )
+        {
+            out.open_block ( "client #"+itos(i) );
+            for ( it  = _clients_ext_pts[i].begin() ;
+                 it != _clients_ext_pts[i].end  () ;
+                 ++it )
+            {
+                out << "#" << (*it)->get_tag() << " ( ";
+                (*it)->Point::display ( out );
+                out << " ) " << " ["
+                << (*it)->get_bb_outputs() << " ] f="
+                << (*it)->get_f() << " h="
+                << (*it)->get_h() << endl;
+            }
+            out.close_block();
+        }
     }
-  }
-
-  // clients:
-  else {
-
-    out << endl
-	<< open_block ( "Process #" + itos(_rank) + ": extern points" );
-
-    out << "number of points = "
- 	<< get_nb_extern_points() << endl;
-
-    const Eval_Point * extern_pt = get_and_remove_extern_point();
-
-    while ( extern_pt ) {
-
-      out << "#" << extern_pt->get_tag() << " ( ";
-      extern_pt->Point::display ( out );
-      out << " ) " << " ["
-	  << extern_pt->get_bb_outputs() << " ] f="
-	  << extern_pt->get_f() << " h="
-	  << extern_pt->get_h() << endl;
-
-      extern_pt = get_and_remove_extern_point();
+    
+    // clients:
+    else
+    {
+        
+        out << endl
+        << open_block ( "Process #" + itos(_rank) + ": extern points" );
+        
+        out << "number of points = "
+        << get_nb_extern_points() << endl;
+        
+        const Eval_Point * extern_pt = get_and_remove_extern_point();
+        
+        while ( extern_pt )
+        {
+            
+            out << "#" << extern_pt->get_tag() << " ( ";
+            extern_pt->Point::display ( out );
+            out << " ) " << " ["
+            << extern_pt->get_bb_outputs() << " ] f="
+            << extern_pt->get_f() << " h="
+            << extern_pt->get_h() << endl;
+            
+            extern_pt = get_and_remove_extern_point();
+        }
     }
-  }
-  out << close_block() << endl;
+    out << close_block() << endl;
 }
 
 /*--------------------------------------*/
 /*  update and display the best points  */
 /*--------------------------------------*/
 void Cache_Server::update_best_points ( const Eval_Point & x      ,
-					int                source   ) {
-  const Double & f = x.get_f();
-  const Double & h = x.get_h();
-
-  if ( !f.is_defined() || !h.is_defined() )
-    return;
-
-  int  i;
-  bool add_x = false;
-
-  // feasible:
-  if ( h <= _h_min ) {
-
-    // new best feasible point:
-    if ( !_bf || f < _bf->get_f() ) {
-      _bf   = &x;
-      add_x = true;
-      display_current_solution();
-    }
-  }
-  
-  // infeasible:
-  else {
-    if ( !_bi1 || h < _bi1->get_h() ) {
-      _bi1  = &x;
-      add_x = true;
+                                       int                 source   )
+{
+    const Double & f = x.get_f();
+    const Double & h = x.get_h();
+    
+    if ( !f.is_defined() || !h.is_defined() )
+        return;
+    
+    int  i;
+    bool add_x = false;
+    
+    // feasible:
+    if ( h <= _h_min )
+    {
+        
+        // new best feasible point:
+        if ( !_bf || f < _bf->get_f() )
+        {
+            _bf   = &x;
+            add_x = true;
+            display_current_solution();
+        }
     }
-    if ( !_bi2 || f < _bi2->get_f() ) {
-      _bi2  = &x;
-      add_x = true;
+    
+    // infeasible:
+    else
+    {
+        if ( !_bi1 || h < _bi1->get_h() )
+        {
+            _bi1  = &x;
+            add_x = true;
+        }
+        if ( !_bi2 || f < _bi2->get_f() )
+        {
+            _bi2  = &x;
+            add_x = true;
+        }
     }
-  }
-
-  if ( add_x )
-    for ( i = 0 ; i < _np-1 ; ++i )
-      if ( i != source )
-	_clients_ext_pts[i].push_front ( &x );
+    
+    if ( add_x )
+        for ( i = 0 ; i < _np-1 ; ++i )
+            if ( i != source )
+                _clients_ext_pts[i].push_front ( &x );
 }
 
 /*-----------------------------------------*/
 /*    display the current best solution    */
 /*-----------------------------------------*/
-void Cache_Server::display_current_solution ( void ) const {
-  if ( _rank != _np-1 || !_bf )
-    return;
-  if ( _debug )
-    _out << "CACHE SERVER: CURRENT SOLUTION: \t";
-  _out << _clock.get_real_time() << "\t"
-       << size() << "\t" << _bf->get_f() << endl;
+void Cache_Server::display_current_solution ( void ) const
+{
+    if ( _rank != _np-1 || !_bf )
+        return;
+    if ( _debug )
+        _out << "CACHE SERVER: CURRENT SOLUTION: \t";
+    _out << _clock.get_real_time() << "\t"
+    << size() << "\t" << _bf->get_f() << endl;
 }
 
 /*-------------------------------*/
 /*    display the best points    */
 /*-------------------------------*/
-void Cache_Server::display_best_points ( const Display & out ) const {
-  if ( _rank != _np-1 )
-    return;
-
-  // display the last solution:
-  display_current_solution();
-
-  // stats:
-  out << "evaluations: " << size()      << endl
-      << "cache hits : " << _cache_hits << endl;
-
-  // best feasible solution:
-  out << "best feasible solution: ";
-  if ( _bf ) {
-    out << "x=( ";
-    _bf->Point::display(out);
-    out << " )"
-	<< " F(x)=[ " << _bf->get_bb_outputs() << " ] h="
-	<< _bf->get_h() << " f=" << _bf->get_f() << endl;
-  }
-  else {
+void Cache_Server::display_best_points ( const Display & out ) const
+{
+    if ( _rank != _np-1 )
+        return;
+    
+    // display the last solution:
+    display_current_solution();
+    
+    // stats:
+    out << "evaluations: " << size()      << endl
+    << "cache hits : " << _cache_hits << endl;
+    
+    // best feasible solution:
+    out << "best feasible solution: ";
+    if ( _bf )
+    {
+        out << "x=( ";
+        _bf->Point::display(out);
+        out << " )"
+        << " F(x)=[ " << _bf->get_bb_outputs() << " ] h="
+        << _bf->get_h() << " f=" << _bf->get_f() << endl;
+    }
+    else
+    {
+        
+        out << "NULL" << endl;
+        
+        // best infeasible solutions:
+        if ( _bi1 )
+        {
+            out << "best infeas. sol. #1  : x=( ";
+            _bi1->Point::display(out);
+            out << " )"
+            << " F(x)=[ " << _bi1->get_bb_outputs() << " ] h="
+            << _bi1->get_h() << " f=" << _bi1->get_f() << endl;
+        }
+        
+        if ( _bi2 && _bi2 != _bi1 )
+        {
+            out << "best infeas. sol. #2  : x=( ";
+            _bi2->Point::display(out);
+            out << " )"
+            << " F(x)=[ " << _bi2->get_bb_outputs() << " ] h="
+            << _bi2->get_h() << " f=" << _bi2->get_f() << endl;
+        }
+    }
+}
 
-    out << "NULL" << endl;
 
-    // best infeasible solutions:
-    if ( _bi1 ) {
-      out << "best infeas. sol. #1  : x=( ";
-      _bi1->Point::display(out);
-      out << " )"
-	  << " F(x)=[ " << _bi1->get_bb_outputs() << " ] h="
-	  << _bi1->get_h() << " f=" << _bi1->get_f() << endl;
-    }
+void Cache_Server::write_his_file ( const NOMAD::Eval_Point & x ) const
+{
     
-    if ( _bi2 && _bi2 != _bi1 ) {
-      out << "best infeas. sol. #2  : x=( ";
-      _bi2->Point::display(out);
-      out << " )"
-	  << " F(x)=[ " << _bi2->get_bb_outputs() << " ] h="
-	  << _bi2->get_h() << " f=" << _bi2->get_f() << endl;
+    if ( ! _history_file.empty()  )
+    {
+        std::ofstream fout;
+        
+        fout.open ( _history_file.c_str() , std::ios::app );
+        
+        cout << "about to write in history file ..." ;
+        
+        if ( !fout.fail() )
+        {
+            fout.setf      ( std::ios::fixed             );
+            fout.precision ( NOMAD::DISPLAY_PRECISION_BB );
+            
+            x.Point::display ( fout , " " , -1 , -1 );
+            fout << " ";
+            x.get_bb_outputs().Point::display ( fout , " " , -1 , -1 );
+            fout << std::endl;
+            
+            cout << " done" <<endl;
+            fout.close();
+        }
+        else
+        {
+            cout << "Warning ( Cache_Server.cpp, line " << __LINE__
+            << "): could not update the history"
+            << " in \'"
+            << _history_file << "\'" << std::endl << std::endl;
+        }
+        
     }
-  }
+    
 }
diff --git a/tools/PSD-MADS/Cache_Server.hpp b/tools/PSD-MADS/Cache_Server.hpp
index 7de0e0f..aff140c 100644
--- a/tools/PSD-MADS/Cache_Server.hpp
+++ b/tools/PSD-MADS/Cache_Server.hpp
@@ -8,112 +8,119 @@ using namespace NOMAD;
 using namespace std;
 
 // Cache server:
-class Cache_Server : public Cache {
-
+class Cache_Server : public Cache
+{
+    
 private:
-
-  int                       _rank;             // process rank
-  int                       _np;               // number of processes
-
-  bool                      _debug;            // debug display flag
-
-  Clock                     _clock;            // clock
-
-  Double                    _h_min;            // h_min (min feasibility)
-  int                       _max_bbe;          // max number of bb evaluations
-
-  const Eval_Point        * _bf;               // best points
-  const Eval_Point        * _bi1;
-  const Eval_Point        * _bi2;
-
-  Eval_Point              * _stop_point;       // stopping point
-
-  mutable int               _multiple_evals;   // number of multiple evaluations
-  mutable int               _cache_hits;       // number of cache hits
-  mutable int               _cache_search_pts; // number of cache search points
-
-  Point                  ** _waited_pts;      // list of points beeing evaluated
-  list<const Eval_Point*> * _clients_ext_pts; // replaces _extern_pts
-
-  // process the best feasible point signal:
-  void process_bf_signal ( int source ) const;
-
-  // process the extern point signal:
-  void process_ep_signal ( int source ) const;
-
-  // process the find signal:
-  void process_find_signal ( int source ) const;
-
-  // process the insertion signal:
-  void process_insert_signal ( int source );
-
-  // update and display the best points:
-  void update_best_points ( const Eval_Point & x , int source );
-
+    
+    int                       _rank;             // process rank
+    int                       _np;               // number of processes
+    
+    bool                      _debug;            // debug display flag
+    
+    Clock                     _clock;            // clock
+    
+    Double                    _h_min;            // h_min (min feasibility)
+    int                       _max_bbe;          // max number of bb evaluations
+    
+    const Eval_Point        * _bf;               // best points
+    const Eval_Point        * _bi1;
+    const Eval_Point        * _bi2;
+    
+    Eval_Point              * _stop_point;       // stopping point
+    
+    mutable int               _multiple_evals;   // number of multiple evaluations
+    mutable int               _cache_hits;       // number of cache hits
+    mutable int               _cache_search_pts; // number of cache search points
+    
+    Point                  ** _waited_pts;      // list of points beeing evaluated
+    list<const Eval_Point*> * _clients_ext_pts; // replaces _extern_pts
+    
+    string                    _history_file;
+    
+    // process the best feasible point signal:
+    void process_bf_signal ( int source ) const;
+    
+    // process the extern point signal:
+    void process_ep_signal ( int source ) const;
+    
+    // process the find signal:
+    void process_find_signal ( int source ) const;
+    
+    // process the insertion signal:
+    void process_insert_signal ( int source );
+    
+    // update and display the best points:
+    void update_best_points ( const Eval_Point & x , int source );
+    
 public:
-
-  static const int  TAG_SIGNAL;
-  static const int  TAG_CACHE_HIT;
-  static const int  TAG_X1;
-  static const int  TAG_X2;
-  static const int  TAG_X3;
-  static const int  TAG_X4;
-  static const int  TAG_X5;
-  static const int  TAG_X6;
-  static const int  TAG_X7;
-  static const int  TAG_BBOR;
-  static const int  TAG_BBOC;
-  static const int  TAG_NB_EP;
-  static const int  TAG_EP;
-  static const int  TAG_BF;
-  static       char STOP_SIGNAL;
-  static       char FIND_SIGNAL;
-  static       char INSERT_SIGNAL;
-  static       char NB_EP_SIGNAL;
-  static       char EP_SIGNAL;
-  static       char BF_SIGNAL;
-
-  // Constructor:
-  Cache_Server ( const Display & out                  ,
-		 int             rank                 ,
-		 int             np                   ,
-		 const Double  & h_min                ,
-		 int             max_bbe              ,
-		 bool            allow_multiple_evals ,
-		 bool            debug                  );
-
-  // Destructor:
-  virtual ~Cache_Server ( void );
-
-  // Start the server:
-  void start ( void );
-
-  // Stop the server:
-  void stop ( void ) const;
-
-  // Display the clients extern points:
-  void display_extern_pts ( void ) const { display_extern_pts(_out); }
-  void display_extern_pts ( const Display & out ) const;
-
-  // Display the best points:
-  void display_best_points ( void ) const { display_best_points(_out); }
-  void display_best_points ( const Display & out ) const;
-
-  // Display the current best solution:
-  void display_current_solution ( void ) const;
-
-  // Find a point:
-  virtual const Eval_Point * find ( const Eval_Point & x ) const;
-  
-  // Insert a point:
-  virtual void insert ( const NOMAD::Eval_Point & x );
-
-  // Get the number of extern points:
-  virtual int get_nb_extern_points ( void ) const;
-
-  // Get and remove an extern point:
-  virtual const Eval_Point * get_and_remove_extern_point ( void ) const;
-
+    
+    static const int  TAG_SIGNAL;
+    static const int  TAG_CACHE_HIT;
+    static const int  TAG_X1;
+    static const int  TAG_X2;
+    static const int  TAG_X3;
+    static const int  TAG_X4;
+    static const int  TAG_X5;
+    static const int  TAG_X6;
+    static const int  TAG_X7;
+    static const int  TAG_BBOR;
+    static const int  TAG_BBOC;
+    static const int  TAG_NB_EP;
+    static const int  TAG_EP;
+    static const int  TAG_BF;
+    static       char STOP_SIGNAL;
+    static       char FIND_SIGNAL;
+    static       char INSERT_SIGNAL;
+    static       char NB_EP_SIGNAL;
+    static       char EP_SIGNAL;
+    static       char BF_SIGNAL;
+    
+    // Constructor:
+    Cache_Server ( const Display & out                  ,
+                  int             rank                 ,
+                  int             np                   ,
+                  const Double  & h_min                ,
+                  int             max_bbe              ,
+                  const string  & history_file         ,
+                  bool            allow_multiple_evals ,
+                  bool            debug                  );
+    
+    // Destructor:
+    virtual ~Cache_Server ( void );
+    
+    // Start the server:
+    void start ( void );
+    
+    // Stop the server:
+    void stop ( void ) const;
+    
+    // Display the clients extern points:
+    void display_extern_pts ( void ) const { display_extern_pts(_out); }
+    void display_extern_pts ( const Display & out ) const;
+    
+    // Display the best points:
+    void display_best_points ( void ) const { display_best_points(_out); }
+    void display_best_points ( const Display & out ) const;
+    
+    // Write the history file
+    void write_his_file ( const NOMAD::Eval_Point & x ) const;
+    
+    // Display the current best solution:
+    void display_current_solution ( void ) const;
+    
+    // Find a point:
+    virtual const Eval_Point * find ( const Eval_Point & x ) const;
+    
+    // Insert a point:
+    virtual void insert ( const NOMAD::Eval_Point & x );
+    
+    // Get the number of extern points:
+    virtual int get_nb_extern_points ( void ) const;
+    
+    // Get and remove an extern point:
+    virtual const Eval_Point * get_and_remove_extern_point ( void ) const;
+    
 };
 
 
diff --git a/tools/PSD-MADS/Master_Slaves.cpp b/tools/PSD-MADS/Master_Slaves.cpp
index 52c5901..0867761 100644
--- a/tools/PSD-MADS/Master_Slaves.cpp
+++ b/tools/PSD-MADS/Master_Slaves.cpp
@@ -18,7 +18,8 @@ char       Master_Slaves::OPTI_DATA_SIGNAL = 'D';
 /*--------------------------------*/
 /*  start the master (process 0)  */
 /*--------------------------------*/
-void Master_Slaves::start ( void ) const {
+void Master_Slaves::start ( void ) const
+{
     
     if ( _rank != 0 )
         return;
@@ -31,19 +32,22 @@ void Master_Slaves::start ( void ) const {
     int        pollster_mesh_index = 0;
     bool       stop_algo           = false;
     double   * best_feasible       = NULL;
+    double   * best_infeasible     = new double [n+2];
     
     // the first best infeasible point is initialized with x0:
-    double      * best_infeasible = new double [n+2];
     const Point * x0              = (_p.get_x0s())[0];
     for ( int i = 0 ; i < n ; ++i )
         best_infeasible[i] = (*x0)[i].value();
+    
     best_infeasible[n  ] = INF;
     best_infeasible[n+1] = INF;
     
+    
     /*-------------*/
     /*  main loop  */
     /*-------------*/
-    while ( nb_stops != _np-2 ) {
+    while ( nb_stops != _np-2 )
+    {
         
         MPI_Recv ( &signal , 1 , MPI_CHAR , MPI_ANY_SOURCE ,
                   Master_Slaves::TAG_SIGNAL , MPI_COMM_WORLD , &status );
@@ -52,8 +56,10 @@ void Master_Slaves::start ( void ) const {
         
         // stop signal:
         // ------------
-        if ( signal == Master_Slaves::STOP_SIGNAL ) {
-            if ( _debug ) {
+        if ( signal == Master_Slaves::STOP_SIGNAL )
+        {
+            if ( _debug )
+            {
                 _p.out() << "MASTER: STOP SIGNAL FROM RANK " << source;
                 if ( source == 1 )
                     _p.out() << " (POLLSTER)";
@@ -64,8 +70,10 @@ void Master_Slaves::start ( void ) const {
         
         // optimization data signal:
         // -------------------------
-        else if ( signal == Master_Slaves::OPTI_DATA_SIGNAL ) {
-            if ( _debug ) {
+        else if ( signal == Master_Slaves::OPTI_DATA_SIGNAL )
+        {
+            if ( _debug )
+            {
                 _p.out() << "MASTER: receive optimization data request from slave "
                 << source;
                 if ( source == 1 )
@@ -82,25 +90,30 @@ void Master_Slaves::start ( void ) const {
         
         // optimization result signal:
         // ---------------------------
-        else if ( signal == Master_Slaves::OPTI_RES_SIGNAL ) {
-            if ( _debug ) {
+        else if ( signal == Master_Slaves::OPTI_RES_SIGNAL )
+        {
+            if ( _debug )
+            {
                 _p.out() << "MASTER: receive optimization result from slave "
                 << source;
-                if ( source == 1 )
-                    _p.out() << " (POLLSTER)";
-                _p.out() << endl;
+                
             }
             
             // pollster:
             if ( source == 1 )
+            {
                 receive_optimization_result ( pollster_mesh_index ,
                                              stop_algo           ,
                                              best_feasible       ,
                                              best_infeasible     ,
                                              source                );
+                if ( _debug && best_feasible )
+                    _p.out() << "(POLLSTER): NEW_F" << best_feasible[n+1] <<endl;
+            }
             
             // other slaves:
-            else {
+            else
+            {
                 int  tmp1;
                 bool tmp2;
                 receive_optimization_result ( tmp1            ,
@@ -108,7 +121,13 @@ void Master_Slaves::start ( void ) const {
                                              best_feasible   ,
                                              best_infeasible ,
                                              source            );
+                if ( _debug && best_feasible )
+                    _p.out() << ": NEW_F" << best_feasible[n+1] <<endl;
+                
             }
+            if ( _debug )
+                _p.out() << endl;
+            
         }
     }
     
@@ -121,7 +140,8 @@ void Master_Slaves::start ( void ) const {
 /*------------------------------------------*/
 /*  stop the master (processes 1 to _np-2)  */
 /*------------------------------------------*/
-void Master_Slaves::stop ( void ) const {
+void Master_Slaves::stop ( void ) const
+{
     if ( _rank == 0 || _rank == _np-1 )
         return;
     
@@ -132,7 +152,8 @@ void Master_Slaves::stop ( void ) const {
 /*----------------------------------------*/
 /*                MADS run                */
 /*----------------------------------------*/
-void Master_Slaves::mads_run ( Cache & cache ) {
+void Master_Slaves::mads_run ( Cache & cache , Cache & init_cache )
+{
     
     const Eval_Point * best_feasible   = NULL;
     const Eval_Point * best_infeasible = NULL;
@@ -148,16 +169,18 @@ void Master_Slaves::mads_run ( Cache & cache ) {
     /*---------------------*/
     /*      main loop      */
     /*---------------------*/
-    while ( !stop_algo ) {
+    while ( !stop_algo )
+    {
         
         best_feasible   = NULL;
         best_infeasible = NULL;
         
         // Seed:
-        _p.set_SEED ( 99 * _rank + 20 * run_index );
+        RNG::set_seed ( 99 * _rank + 20 * run_index );
         
         // first run:
-        if ( run_index == 0 ) {
+        if ( run_index == 0 )
+        {
             
             // max number of evaluations for regular slaves:
             if ( _rank != 1 )
@@ -175,16 +198,18 @@ void Master_Slaves::mads_run ( Cache & cache ) {
         /*------------------*/
         /*  pollster slave  */
         /*------------------*/
-        if ( _rank == 1 ) {
+        if ( _rank == 1 )
+        {
+            
+            bool cache_file_init_success = false;
             
             stop_type stop_reason = UNKNOWN_STOP_REASON;
-        
+            
             _p.check();   // must do check to get a valid signature
             _p.get_signature()->get_mesh()->set_mesh_indices( NOMAD::Point( n,mesh_index ) );
             delta_0=_p.get_signature()->get_mesh()->get_delta ( );
             
             
-            
             // we set a very small epsilon in order to accept
             // very small initial mesh sizes:
             Double::set_epsilon ( 1e-16 );
@@ -192,25 +217,105 @@ void Master_Slaves::mads_run ( Cache & cache ) {
             if ( !check_delta ( delta_0 ) )
                 stop_algo = true;
             
-            else {
+            else
+            {
                 
                 // first run:
-                if ( run_index == 0 ) {
+                if ( run_index == 0 )
+                {
                     
-                    // directions:
+                    if ( init_cache.size() > 0 )
                     {
-                        bool use_orthomads = _p.has_orthomads_directions();
-                        _p.reset_directions   ( );
-                        _p.set_DIRECTION_TYPE ( (use_orthomads) ? ORTHO_1 : LT_1 );
+                        
+                        NOMAD::Mads mads ( _p , NULL , NULL , &cache , NULL );
+                        
+                        const NOMAD::Eval_Point * x;
+                        NOMAD::Eval_Point * pt;
+                        
+                        // we copy all the temporary cache points
+                        // into the list of points to be evaluated:
+                        x = init_cache.begin();
+                        
+                        while ( x )
+                        {
+                            // Points will be inserted in cache
+                            pt = new NOMAD::Eval_Point ( *x );
+                            pt->set_signature ( _p.get_signature() );
+                            
+                            mads.get_evaluator_control().add_eval_point ( pt              ,
+                                                                         NOMAD::NO_DISPLAY ,
+                                                                         false           ,
+                                                                         NOMAD::Double() ,
+                                                                         NOMAD::Double() ,
+                                                                         NOMAD::Double() ,
+                                                                         NOMAD::Double()   );
+                            
+                            x = init_cache.next();
+                        }
+                        
+                        
+                        // Eval objective and constraints from points in the cache
+                        // -------------------------
+                        NOMAD::success_type       success;
+                        NOMAD::stop_type stop_reason;
+                        bool stop=false;
+                        mads.get_evaluator_control().eval_list_of_points ( NOMAD::X0_EVAL ,
+                                                                          mads.get_true_barrier()  ,
+                                                                          mads.get_sgte_barrier()  ,
+                                                                          mads.get_pareto_front()  ,
+                                                                          stop           ,
+                                                                          stop_reason    ,
+                                                                          best_feasible   ,
+                                                                          best_infeasible ,
+                                                                          success          );
+                        
+                        
+                        
+                        if ( best_feasible )
+                        {
+                            
+                            if ( _debug )
+                            _p.out() << "POLLSTER: new feasible incumbent from init cache file NEW_F=" << best_feasible->get_f() << endl ;
+                            
+                            cache_file_init_success = true;
+                            
+                        }
+                        else if ( best_infeasible )
+                        {
+                            if ( _debug )
+                            _p.out() << "MASTER: new infeasible incumbent from init cache file NEW_F=" << best_infeasible->get_f() << endl ;
+                            
+                            cache_file_init_success = true;
+                            
+                        }
+                    }
+                    
+                    
+                    if ( ! cache_file_init_success )
+                    {
+                        // directions:
+                        {
+                            bool use_orthomads = _p.has_orthomads_directions();
+                            _p.reset_directions   ( );
+                            _p.set_DIRECTION_TYPE ( (use_orthomads) ? ORTHO_1 : LT_1 );
+                        }
+                        
+                        // cache search:
+                        _p.set_CACHE_SEARCH               ( true  );
+                        _p.set_OPPORTUNISTIC_CACHE_SEARCH ( false );
+                    }
+                    else
+                    {
+                        _p.check();
+                        stop_algo = false;
+                        stop_reason = NOMAD::NO_STOP;
                     }
                     
-                    // cache search:
-                    _p.set_CACHE_SEARCH               ( true  );
-                    _p.set_OPPORTUNISTIC_CACHE_SEARCH ( false );
                 }
                 
                 // other runs:
-                else {
+                else
+                {
                     
                     // stop_algo may be set to 'false' here:
                     receive_optimization_data ( stop_algo , x0 , old_f );
@@ -220,9 +325,11 @@ void Master_Slaves::mads_run ( Cache & cache ) {
                     _p.set_X0 ( x0 );
                 }
                 
-                if ( !stop_algo ) {
+                if ( !stop_algo && !cache_file_init_success )
+                {
                     
                     // check the parameters:
+                    _p.set_DISPLAY_DEGREE(NOMAD::NO_DISPLAY);
                     _p.check();
                     
                     _p.get_signature()->get_mesh()->set_min_mesh_sizes( delta_0 );
@@ -231,6 +338,7 @@ void Master_Slaves::mads_run ( Cache & cache ) {
                         _p.get_signature()->get_mesh()->set_limit_mesh_index ( mesh_index );
                     else
                         _p.get_signature()->get_mesh()->set_limit_mesh_index ( 0 );
+
                     
                     Double::set_epsilon ( default_eps );
                     
@@ -241,7 +349,8 @@ void Master_Slaves::mads_run ( Cache & cache ) {
                     
                     bool success = false;
                     
-                    if ( best_feasible ) {
+                    if ( best_feasible )
+                    {
                         
                         success = (best_feasible->get_f() < old_f);
                         
@@ -253,12 +362,12 @@ void Master_Slaves::mads_run ( Cache & cache ) {
                             << best_feasible->get_f()
                             << " SUCCESS=" << success << endl;
                     }
-
+                    
                     // pollster mesh update:
                     if ( success )
-                            ++mesh_index;
-                        else
-                            --mesh_index;
+                        ++mesh_index;
+                    else
+                        --mesh_index;
                     
                 }
             }
@@ -273,7 +382,8 @@ void Master_Slaves::mads_run ( Cache & cache ) {
         /*------------------*/
         /*  regular slaves  */
         /*------------------*/
-        else {
+        else
+        {
             
             int i , j , pollster_mesh_index;
             
@@ -283,7 +393,8 @@ void Master_Slaves::mads_run ( Cache & cache ) {
                                        pollster_mesh_index ,
                                        free_vars             );
             
-            if ( _debug ) {
+            if ( _debug )
+            {
                 _p.out() << "SLAVE #" << _rank
                 << ": OPTIM. DATA: [STOP=" << stop_algo
                 << "] [POLLSTER_MESH_INDEX=" << pollster_mesh_index
@@ -294,7 +405,8 @@ void Master_Slaves::mads_run ( Cache & cache ) {
                 _p.out() << " ]" << endl;
             }
             
-            if ( !stop_algo ) {
+            if ( !stop_algo )
+            {
                 
                 // starting point:
                 _p.reset_X0();
@@ -308,28 +420,30 @@ void Master_Slaves::mads_run ( Cache & cache ) {
                 _p.check();  // Must do check to access signature
                 _p.get_signature()->get_mesh()->set_mesh_indices( NOMAD::Point( n,ell_0 ) );
                 delta_0=_p.get_signature()->get_mesh()->get_delta();
-
+                
                 _p.get_signature()->get_mesh()->set_mesh_indices( NOMAD::Point( n ,pollster_mesh_index ) );
                 delta_min=_p.get_signature()->get_mesh()->get_delta();
-
+                
                 
                 
                 Double::set_epsilon ( 1e-16 );
                 if ( !check_delta ( delta_0 ) || !check_delta ( delta_min ) )
                     stop_algo = true;
                 
-                else {
-                    
+                else
+                {
                     
                     
                     // free variables:
                     {
                         _p.reset_fixed_variables();
                         bool fix_var;
-                        for ( i = 0 ; i < n ; ++i ) {
+                        for ( i = 0 ; i < n ; ++i )
+                        {
                             fix_var = true;
                             for ( j = 0 ; j < _ns ; ++j )
-                                if ( free_vars[j] == i ) {
+                                if ( free_vars[j] == i )
+                                {
                                     fix_var = false;
                                     break;
                                 }
@@ -341,6 +455,7 @@ void Master_Slaves::mads_run ( Cache & cache ) {
                     // check the parameters:
                     _p.check();
                     
+                    
                     // modify mesh termination criterions
                     _p.get_signature()->get_mesh()->set_mesh_indices( NOMAD::Point( n,ell_0 ) );
                     
@@ -351,7 +466,7 @@ void Master_Slaves::mads_run ( Cache & cache ) {
                     
                     _p.get_signature()->get_mesh()->set_min_mesh_sizes( delta_min );
                     _p.get_signature()->get_mesh()->set_delta_0 ( delta_0 );
-
+                    
                     
                     
                     Double::set_epsilon ( default_eps );
@@ -362,7 +477,8 @@ void Master_Slaves::mads_run ( Cache & cache ) {
                     best_feasible   = mads.get_best_feasible();
                     best_infeasible = mads.get_best_infeasible();
                     
-                    if ( _debug && best_feasible ) {
+                    if ( _debug && best_feasible )
+                    {
                         _p.out() << "RANK #" << _rank << ": POLLSTER_ELL="
                         << pollster_mesh_index << " VARS = [";
                         for ( i = 0 ; i < _ns ; ++i )
@@ -405,7 +521,8 @@ void Master_Slaves::receive_optimization_result
  bool    & stop_algo           ,
  double *& best_feasible       ,
  double *& best_infeasible     ,
- int       source                ) const {
+ int       source                ) const
+{
     
     int        itab[5];
     MPI_Status status;
@@ -418,11 +535,13 @@ void Master_Slaves::receive_optimization_result
     // stop the algorithm ?
     stop_algo = ( itab[4] == 1 );
     
-    if ( !stop_algo ) {
+    if ( !stop_algo )
+    {
         
         stop_type stop_reason = static_cast<stop_type>(itab[1]);
         
-        switch ( stop_reason ) {
+        switch ( stop_reason )
+        {
             case ERROR:
             case UNKNOWN_STOP_REASON:
             case CTRL_C:
@@ -461,7 +580,8 @@ void Master_Slaves::receive_optimization_result
     // itab[2] == 1 --> bf != NULL
     // itab[3] == 1 --> bi != NULL
     
-    if ( nb_pts > 0 ) {
+    if ( nb_pts > 0 )
+    {
         
         int      n    = _p.get_dimension();
         double * rtab = new double [(n+2)*nb_pts];
@@ -469,23 +589,27 @@ void Master_Slaves::receive_optimization_result
         MPI_Recv ( rtab , (n+2)*nb_pts , MPI_DOUBLE , source ,
                   Master_Slaves::TAG_R1 , MPI_COMM_WORLD , &status );
         
-        if ( nb_pts == 2 ) {
+        if ( nb_pts == 2 )
+        {
             
             // best feasible and infeasible updates:
             bool update = false;
             
-            if ( best_feasible ) {
+            if ( best_feasible )
+            {
                 Double old_f = best_feasible[n+1];
                 Double new_f = rtab         [n+1];
                 if ( new_f < old_f )
                     update = true;
             }
-            else {
+            else
+            {
                 best_feasible = new double[n+2];
                 update = true;
             }
             
-            if ( update ) {
+            if ( update )
+            {
                 for ( i = 0 ; i < n ; ++i )
                     best_feasible[i] = rtab[i];
                 best_feasible[n  ] = rtab[n];
@@ -494,19 +618,22 @@ void Master_Slaves::receive_optimization_result
             
             update = false;
             
-            if ( best_infeasible ) {
+            if ( best_infeasible )
+            {
                 
                 Double old_h = best_infeasible[n];
                 Double new_h = rtab           [2*n+2];
                 if ( new_h < old_h )
                     update = true;
             }
-            else {
+            else
+            {
                 best_infeasible = new double[n+2];
                 update = true;
             }
             
-            if ( update ) {
+            if ( update )
+            {
                 int cur = n+2;
                 for ( i = 0 ; i < n ; ++i )
                     best_infeasible[i] = rtab[cur++];
@@ -515,14 +642,18 @@ void Master_Slaves::receive_optimization_result
             }
             delete [] rtab;
         }
-        else {
+        else
+        {
             
             // best feasible update:
-            if ( itab[2] == 1 ) {
-                if ( best_feasible ) {
+            if ( itab[2] == 1 )
+            {
+                if ( best_feasible )
+                {
                     Double old_f = best_feasible[n+1];
                     Double new_f = rtab         [n+1];
-                    if ( new_f < old_f ) {
+                    if ( new_f < old_f )
+                    {
                         delete [] best_feasible;
                         best_feasible = rtab;
                     }
@@ -534,11 +665,14 @@ void Master_Slaves::receive_optimization_result
             }
             
             // best infeasible update:
-            else {
-                if ( best_infeasible ) {
+            else
+            {
+                if ( best_infeasible )
+                {
                     Double old_h = best_infeasible[n];
                     Double new_h = rtab           [n];
-                    if ( new_h < old_h ) {
+                    if ( new_h < old_h )
+                    {
                         delete [] best_infeasible;
                         best_infeasible = rtab;
                     }
@@ -561,7 +695,8 @@ void Master_Slaves::send_optimization_result
  bool               stop_algo           ,
  const Eval_Point * bf                  ,
  const Eval_Point * bi                  ,
- stop_type          st                    ) const {
+ stop_type          st                    ) const
+{
     
     // send a signal to the master:
     MPI_Send ( &Master_Slaves::OPTI_RES_SIGNAL , 1 , MPI_CHAR ,
@@ -574,14 +709,16 @@ void Master_Slaves::send_optimization_result
     itab[1] = static_cast<int>(st);
     
     int nb_pts = 0;
-    if ( bf ) {
+    if ( bf )
+    {
         ++nb_pts;
         itab[2] = 1;
     }
     else
         itab[2] = 0;
     
-    if ( bi ) {
+    if ( bi )
+    {
         ++nb_pts;
         itab[3] = 1;
     }
@@ -593,20 +730,23 @@ void Master_Slaves::send_optimization_result
     MPI_Send ( itab , 5 , MPI_INT , 0 ,
               Master_Slaves::TAG_I1 , MPI_COMM_WORLD );
     
-    if ( nb_pts > 0 ) {
+    if ( nb_pts > 0 )
+    {
         
         int      n    = _p.get_dimension();
-        double * rtab = new double [(n+2)*nb_pts]; 
+        double * rtab = new double [(n+2)*nb_pts];
         
         int i , cur = 0;
-        if ( bf ) {
+        if ( bf )
+        {
             for ( i = 0 ; i < n ; ++i )
                 rtab[cur++] = (*bf)[i].value();
             rtab[cur++] = bf->get_h().value();
             rtab[cur++] = bf->get_f().value();
         }
         
-        if ( bi ) {
+        if ( bi )
+        {
             for ( i = 0 ; i < n ; ++i )
                 rtab[cur++] = (*bi)[i].value();
             rtab[cur++] = bi->get_h().value();
@@ -629,7 +769,8 @@ void Master_Slaves::receive_optimization_data
  Point  & x0                  ,
  Double & fx0                 ,
  int    & pollster_mesh_index ,
- int    * free_vars             ) const {
+ int    * free_vars             ) const
+{
     
     // step 1/2: receive common pollster data:
     receive_optimization_data ( stop_algo , x0 , fx0 );
@@ -637,7 +778,8 @@ void Master_Slaves::receive_optimization_data
     int i;
     
     // step 2/2: receive additional data for regular slaves:
-    if ( !stop_algo ) {
+    if ( !stop_algo )
+    {
         
         int      * itab = new int [_ns+1];
         MPI_Status status;
@@ -652,7 +794,8 @@ void Master_Slaves::receive_optimization_data
         
         delete [] itab;
     }
-    else {
+    else
+    {
         pollster_mesh_index = 1;
         for ( i = 0 ; i < _ns ; ++i )
             free_vars[i] = -1;
@@ -665,7 +808,8 @@ void Master_Slaves::receive_optimization_data
 /*---------------------------------------------*/
 void Master_Slaves::receive_optimization_data ( bool   & stop_algo ,
                                                Point  & x0        ,
-                                               Double & fx0         ) const {
+                                               Double & fx0         ) const
+{
     char        c_stop;
     MPI_Status  status;
     MPI_Request req    = MPI_REQUEST_NULL;
@@ -682,13 +826,15 @@ void Master_Slaves::receive_optimization_data ( bool   & stop_algo ,
     MPI_Wait ( &req , &status );
     
     // stop:
-    if ( c_stop == '1' ) {
+    if ( c_stop == '1' )
+    {
         stop_algo = true;
         x0.reset();
     }
     
     // continue:
-    else {
+    else
+    {
         
         stop_algo     = false;
         double * rtab = new double [n+2];
@@ -714,7 +860,8 @@ void Master_Slaves::receive_optimization_data ( bool   & stop_algo ,
             
             MPI_Wait ( &req , &status );
             
-            if ( pt_flag == '1' ) {
+            if ( pt_flag == '1' )
+            {
                 
                 MPI_Recv ( rtab , n+2 , MPI_DOUBLE , npm1 ,
                           Cache_Server::TAG_X7 , MPI_COMM_WORLD , &status );
@@ -733,7 +880,8 @@ void Master_Slaves::receive_optimization_data ( bool   & stop_algo ,
         const Point & lb = _p.get_lb();
         const Point & ub = _p.get_ub();
         
-        for ( i = 0 ; i < n ; ++i ) {
+        for ( i = 0 ; i < n ; ++i )
+        {
             if ( lb[i].is_defined() && x0[i].value() < lb[i].value() )
                 x0[i] = lb[i];
             if ( ub[i].is_defined() && x0[i].value() > ub[i].value() )
@@ -751,7 +899,8 @@ void Master_Slaves::send_optimization_data
  bool           stop_algo           ,
  const double * best_feasible       ,
  const double * best_infeasible     ,
- int            source                ) const {
+ int            source                ) const
+{
     
     char c_stop = (stop_algo) ? '1' : '0';
     
@@ -759,7 +908,8 @@ void Master_Slaves::send_optimization_data
                Master_Slaves::TAG_CSTOP , MPI_COMM_WORLD );
     
     // continue:
-    if ( !stop_algo ) {
+    if ( !stop_algo )
+    {
         
         int n = _p.get_dimension();
         
@@ -772,7 +922,8 @@ void Master_Slaves::send_optimization_data
                       source , Master_Slaves::TAG_D1 , MPI_COMM_WORLD );
         
         // additional data for regular slaves:
-        if ( source != 1 ) {
+        if ( source != 1 )
+        {
             
             int * itab = new int [_ns+1];
             
@@ -797,7 +948,8 @@ void Master_Slaves::send_optimization_data
 /*-----------------------------------------------*/
 /*        check the initial mesh size values     */
 /*-----------------------------------------------*/
-bool Master_Slaves::check_delta ( const Point & delta ) {
+bool Master_Slaves::check_delta ( const Point & delta )
+{
     int n = delta.size();
     for ( int i = 0 ; i < n ; ++i )
         if ( delta[i].value() < Double::get_epsilon() || 
diff --git a/tools/PSD-MADS/Master_Slaves.hpp b/tools/PSD-MADS/Master_Slaves.hpp
index 33eb386..e4dc694 100644
--- a/tools/PSD-MADS/Master_Slaves.hpp
+++ b/tools/PSD-MADS/Master_Slaves.hpp
@@ -8,90 +8,92 @@ using namespace std;
 
 // Cache server:
 class Master_Slaves {
-
+    
 private:
-
-  int                  _rank; // process rank
-  int                    _np; // number of processes
-
-  int                   _bbe; // max number of evaluations for each process
-  int                    _ns; // number of free variables for each process
-
-  Parameters            & _p; // parameters
-  bool                _debug; // debug display flag
-
-  static const int  TAG_SIGNAL;
-  static const int  TAG_I1;
-  static const int  TAG_I2;
-  static const int  TAG_R1;
-  static const int  TAG_D1;
-  static const int  TAG_CSTOP;
-  static       char STOP_SIGNAL;
-  static       char OPTI_RES_SIGNAL;
-  static       char OPTI_DATA_SIGNAL;
-
-  // Receive an optimization result from the pollster:
-  void receive_optimization_result ( int       & pollster_mesh_index ,
-				     bool      & stop_algo           ,
-				     double   *& best_feasible       ,
-				     double   *& best_infeasible     ,
-				     int         source ) const;
-
-  // Send an optimization result to the master:
-  void send_optimization_result ( int                pollster_mesh_index ,
-				  bool               stop_algo           ,
-				  const Eval_Point * bf                  ,
-				  const Eval_Point * bi                  ,
-				  stop_type          st ) const;
-
-  // Send optimization data from the master to a slave:
-  void send_optimization_data ( int            pollster_mesh_index ,
-				bool           stop_algo           ,
-				const double * best_feasible       ,
-				const double * best_infeasible     ,
-				int            source ) const;
-
-  // Receive optimization data from the master:
-  void receive_optimization_data ( bool   & stop_algo ,
-				   Point  & x0        ,
-				   Double & fx0 ) const;
-
-  void receive_optimization_data ( bool   & stop_algo           ,
-				   Point  & x0                  ,
-				   Double & fx0                 ,
-				   int    & pollster_mesh_index ,
-				   int    * free_vars ) const;
-
-  // Check the initial mesh size values:
-  static bool check_delta ( const Point & delta );
-
+    
+    int                  _rank; // process rank
+    int                    _np; // number of processes
+    
+    int                   _bbe; // max number of evaluations for each process
+    int                    _ns; // number of free variables for each process
+    
+    Parameters            & _p; // parameters
+    bool                _debug; // debug display flag
+    
+    
+    static const int  TAG_SIGNAL;
+    static const int  TAG_I1;
+    static const int  TAG_I2;
+    static const int  TAG_R1;
+    static const int  TAG_D1;
+    static const int  TAG_CSTOP;
+    static       char STOP_SIGNAL;
+    static       char OPTI_RES_SIGNAL;
+    static       char OPTI_DATA_SIGNAL;
+    
+    // Receive an optimization result from the pollster:
+    void receive_optimization_result ( int       & pollster_mesh_index ,
+                                      bool      & stop_algo           ,
+                                      double   *& best_feasible       ,
+                                      double   *& best_infeasible     ,
+                                      int         source ) const;
+    
+    // Send an optimization result to the master:
+    void send_optimization_result ( int                pollster_mesh_index ,
+                                   bool               stop_algo           ,
+                                   const Eval_Point * bf                  ,
+                                   const Eval_Point * bi                  ,
+                                   stop_type          st ) const;
+    
+    // Send optimization data from the master to a slave:
+    void send_optimization_data ( int            pollster_mesh_index ,
+                                 bool           stop_algo           ,
+                                 const double * best_feasible       ,
+                                 const double * best_infeasible     ,
+                                 int            source ) const;
+    
+    // Receive optimization data from the master:
+    void receive_optimization_data ( bool   & stop_algo ,
+                                    Point  & x0        ,
+                                    Double & fx0 ) const;
+    
+    void receive_optimization_data ( bool   & stop_algo           ,
+                                    Point  & x0                  ,
+                                    Double & fx0                 ,
+                                    int    & pollster_mesh_index ,
+                                    int    * free_vars ) const;
+    
+    // Check the initial mesh size values:
+    static bool check_delta ( const Point & delta );
+    
 public:
-
-  // Constructor:
-  Master_Slaves ( int       rank ,
-		  int         np ,
-		  int        bbe ,
-		  int         ns ,
-		  Parameters & p ,
-		  bool     debug   )
+    
+    // Constructor:
+    Master_Slaves ( int       rank ,
+                   int         np ,
+                   int        bbe ,
+                   int         ns ,
+                   Parameters & p ,
+                   bool     debug   )
     : _rank               ( rank                              ) ,
-      _np                 ( np                                ) ,
-      _bbe                ( bbe                               ) ,
-      _ns                 ( ns                                ) ,
-      _p                  ( p                                 ) ,
+    _np                 ( np                                ) ,
+    _bbe                ( bbe                               ) ,
+    _ns                 ( ns                                ) ,
+    _p                  ( p                                 ) ,
     _debug              ( debug                             ) {}
-
-  // Destructor:
-  virtual ~Master_Slaves ( void ) {}
-
-  // Start the master:
-  void start ( void ) const;
-
-  // Stop the master:
-  void stop ( void ) const;
-
-  // MADS run:
-  void mads_run ( Cache & cache );
+    
+    // Destructor:
+    virtual ~Master_Slaves ( void ) {}
+    
+    
+    // Start the master:
+    void start ( void ) const;
+    
+    // Stop the master:
+    void stop ( void ) const;
+    
+    // MADS run:
+    void mads_run ( Cache & cache , Cache & init_cache );
     
 };
 
diff --git a/tools/PSD-MADS/main.cpp b/tools/PSD-MADS/main.cpp
index 5d9122b..5ade699 100644
--- a/tools/PSD-MADS/main.cpp
+++ b/tools/PSD-MADS/main.cpp
@@ -33,100 +33,191 @@ const bool DEBUG = false;
 /*-----------------------------------*/
 /*           main function           */
 /*-----------------------------------*/
-int main ( int argc , char ** argv ) {
-
-  // MPI initialization:
-  MPI_Init ( &argc , &argv );
-  int rank , np;
-  MPI_Comm_rank ( MPI_COMM_WORLD, &rank );
-  MPI_Comm_size ( MPI_COMM_WORLD, &np   );
-
-  // check the arguments and the number of processes:
-  if ( np <= 2 || argc != 4 ) {
-    if ( rank == 0 )
-      cerr << "usage: mpirun -np p " << argv[0]
-	   << " param_file bbe ns, with p>2,"
-	   << " bbe>1, and 1<=ns<=n."
-	   << endl;
-    MPI_Finalize();
-    return 1;
-  }
-
-  // display:
-  Display out ( cout );
-  out.precision ( 16 );
-
-  // parameters:
-  NOMAD::Parameters p ( out );
-  int bbe = atoi ( argv[2] );
-  int ns  = atoi ( argv[3] );
-
-  try {
-
-    // read the parameters file:
-    p.read ( argv[1] );
-      
-      
-    // Force anisotropy(false) to have a single mesh_index (XMesh)
-    p.set_ANISOTROPIC_MESH ( false );
-      
-
-    // check the parameters:
-    p.check();
-
-    if ( ns < 1 || ns > p.get_dimension() )
-      throw Exception ( __FILE__ , __LINE__ ,
-      "Bad value for ns the number of free variables for each process" );
-
-    if ( p.get_nb_obj() > 1 )
-      throw Exception ( __FILE__ , __LINE__ ,
-      "PSD-MADS is not designed for multi-objective optimization" );
-  }
-  catch ( exception & e ) {
-    if ( rank == 0 )
-      cerr << "error with parameters" << endl;
+int main ( int argc , char ** argv )
+{
+    
+    // MPI initialization:
+    MPI_Init ( &argc , &argv );
+    int rank , np;
+    MPI_Comm_rank ( MPI_COMM_WORLD, &rank );
+    MPI_Comm_size ( MPI_COMM_WORLD, &np   );
+    
+    // check the arguments and the number of processes:
+    if ( np <= 2 || argc < 4 || argc > 5 )
+    {
+        if ( rank == 0 )
+            cerr << "usage: mpirun -np p " << argv[0]
+            << " param_file bbe ns [history_file(txt)], with p>2,"
+            << " bbe>1, and 1<=ns<=n."
+            << endl;
+        MPI_Finalize();
+        return 1;
+    }
+    
+    // display:
+    Display out ( cout );
+    out.precision ( 16 );
+    
+    // parameters:
+    NOMAD::Parameters p ( out );
+    int bbe = atoi ( argv[2] );
+    int ns  = atoi ( argv[3] );
+    
+    // The history file is handled by the cache server only (rank==np-1)
+    string history_file;
+    if ( argc == 5 && rank ==np-1 )
+    {
+        
+        history_file = argv[5];
+        
+        std::ofstream fout;
+        fout.open ( history_file.c_str() );
+        
+        if ( !fout.fail() )
+        {
+            fout << std::endl;
+            fout.close();
+        }
+        else
+        {
+            cout << "Warning ( main.cpp, line " << __LINE__
+            << "): could not open the history"
+            << " in \'"
+            << history_file << "\'" << std::endl << std::endl;
+            
+            history_file.clear();
+        }
+        
+    }
+    
+    string init_cache_file,save_cache_file;
+    bool success_load_init_cache = false;
+    Cache init_cache( out );
+    
+    try
+    {
+        
+        // read the parameters file:
+        p.read ( argv[1] );
+        
+        // Force anisotropy(false) to have a single mesh_index (XMesh)
+        p.set_ANISOTROPIC_MESH ( false );
+        
+        // check the parameters:
+        p.check();
+        
+        // manage the cache file for initialization
+        init_cache_file = p.get_x0_cache_file();
+        
+        if ( ! init_cache_file.empty() )
+            throw Exception ( __FILE__ , __LINE__ ,
+                             "PSDMADS cannot accept a X0 cache file. Set a regular cache file to be used for initialization instead." );
+        
+        
+        init_cache_file = p.get_cache_file();
+        
+        // The init cache file is handled by the pollster (rank==1)
+        if ( ! init_cache_file.empty() )
+        {
+            if ( rank == 1 )
+            {
+                success_load_init_cache = init_cache.load ( init_cache_file , NULL , DEBUG );
+                
+                cout << "Warning ( main.cpp, line " << __LINE__ << "): " << init_cache_file << " is used for initialization in addition of X0." << std::endl << std::endl;
+                
+                if ( ! success_load_init_cache || init_cache.size()==0 )
+                {
+                    init_cache_file.clear();
+                }
+            }
+            
+            // The cache file is not loaded by others than pollster
+            p.set_CACHE_FILE("");
+            p.check();
+        }
+        
+        
+        if ( ns < 1 || ns > p.get_dimension() )
+            throw Exception ( __FILE__ , __LINE__ ,
+                             "Bad value for ns the number of free variables for each process" );
+        
+        if ( p.get_nb_obj() > 1 )
+            throw Exception ( __FILE__ , __LINE__ ,
+                             "PSD-MADS is not designed for multi-objective optimization" );
+    }
+    catch ( exception & e )
+    {
+        if ( rank == 0 )
+            cerr << "error with parameter: " << e.what()<< endl;
+        MPI_Finalize();
+        return 1;
+    }
+    
+    
+    // start the master:
+    Master_Slaves master_slaves ( rank , np , bbe , ns , p , DEBUG );
+    
+    // cache server:
+    Cache_Server cache ( out                  ,
+                        rank                 ,
+                        np                   ,
+                        p.get_h_min()        ,
+                        p.get_max_bb_eval()  ,
+                        history_file         ,
+                        false                ,  // ALLOW_MULTIPLE_EVALS
+                        DEBUG                  );
+    
+    
+    master_slaves.start( );
+    
+    
+    // Cache server:
+    if ( rank == np-1 )
+    {
+        if ( !DEBUG )
+            out << endl << "TIME\tBBE\tOBJ" << endl << endl;
+        
+        // Start the cache server
+        cache.start();
+        
+        // Save the cache when done (after start is completed)
+        if ( ! init_cache_file.empty() )
+        {
+            bool success_load_cache_file = cache.load ( init_cache_file , NULL , DEBUG );
+            
+            if ( ! success_load_cache_file )
+            {
+                cout << "Warning ( main.cpp, line " << __LINE__
+                << "): cannot load the cache file " << init_cache_file << " for saving." << std::endl << std::endl;
+                
+            }
+            else
+                cache.save( true , DEBUG );
+        }
+    }
+    
+    // slaves: algorithm creation and execution:
+    if ( rank != 0 && rank != np-1 )
+    {
+        // MADS run:
+        master_slaves.mads_run ( cache , init_cache );
+        
+        // stop the master:
+        master_slaves.stop();
+    }
+    
+    
+    
+    // stop the cache server:
+    cache.stop();
+    
+    // display the final solution:
+    if ( !DEBUG && rank == np-1 )
+    {
+        cache.display_best_points ( out );
+    }
+    
+    // MPI finalization:
     MPI_Finalize();
-    return 1;
-  }
-
-  // start the master:
-  Master_Slaves master_slaves ( rank , np , bbe , ns , p , DEBUG );
-  master_slaves.start();
-
-  // cache server:
-  Cache_Server cache ( out                  ,
-		       rank                 ,
-		       np                   ,
-		       p.get_h_min()        ,
-		       p.get_max_bb_eval()  ,
-		       false                ,  // ALLOW_MULTIPLE_EVALS
-		       DEBUG                  );
-
-  // start the cache server:
-  if ( rank == np-1 ) {
-    if ( !DEBUG )
-      out << endl << "TIME\tBBE\tOBJ" << endl << endl;
-    cache.start();
-  }
-
-  // slaves: algorithm creation and execution:
-  if ( rank != 0 && rank != np-1 ) {
-
-    // MADS run:
-    master_slaves.mads_run ( cache );
-
-    // stop the master:
-    master_slaves.stop();
-  }
-
-  // stop the cache server:
-  cache.stop();
-
-  // display the final solution:
-  if ( !DEBUG && rank == np-1 )
-    cache.display_best_points ( out );
-
-  // MPI finalization:
-  MPI_Finalize();
-  return 0;
+    return 0;
 }
diff --git a/tools/PSD-MADS/makefile b/tools/PSD-MADS/makefile
index ab23da4..d24fb73 100644
--- a/tools/PSD-MADS/makefile
+++ b/tools/PSD-MADS/makefile
@@ -14,10 +14,13 @@ CXXFLAGS              += -Wl,-rpath,'$(LIB_DIR)'
 CXXFLAGS              += -ansi
 endif
 
+ifeq ($(UNAME), Darwin)
+CXXFLAGS              += -headerpad_max_install_names
+endif
 
 LDLIBS                 = -lm -lnomad -lmpi
 
-INCLUDE                = -I$(NOMAD_HOME)/src -I.
+INCLUDE                = -I$(NOMAD_HOME)/ext/sgtelib/src -I$(NOMAD_HOME)/src -I.
 COMPILE                = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
 OBJS                   = main.o Cache_Server.o Master_Slaves.o
 
diff --git a/tools/PSD-MADS/readme.txt b/tools/PSD-MADS/readme.txt
index fc125f1..52020aa 100644
--- a/tools/PSD-MADS/readme.txt
+++ b/tools/PSD-MADS/readme.txt
@@ -1,7 +1,18 @@
-Procedure for Unix/Linux/mac OSX
-
-1- Set the NOMAD_HOME environment variable
-2- Compile with the command make
-3- Go to one of the problem directory
-4- Compile the black box (g++ -o bb.exe bb.cpp)
-5- Run psdmads  (mpirun -np 3 ../../psdmads.exe param.txt) 
+Procedure for Unix/Linux/mac OSX
+
+1- Set the NOMAD_HOME environment variable
+2- Compile with the command make
+3- Go to one of the problem directory
+4- Compile the black box (g++ -o bb.exe bb.cpp)
+5- Run psdmads  (mpirun -np 3 ../../psdmads.exe param.txt) 
+
+Procedure for Windows
+
+1- Open de nomad MicrosoftVisualStudio solution located in %NOMAD_EXAMPLES%\VisualStudio
+2- Build the solution
+3- In VisualStudio, add to the solution the existing project %NOMAD_EXAMPLES%\VisualStudio\psdmads.vcxproj
+4- Build this new project
+5- Open a VisualStudio command shell
+6- Change the directory to %NOMAD_EXAMPLES%\examples\PSD-MADS\problems\G2_10
+7- Build the blackbox executable with the command: cl bb.cpp
+8- Start the optimization: mpiexec -n 4 ..\..\psdmads.exe param.txt 20 3
\ No newline at end of file
diff --git a/tools/PSD-MADS_library_mode/makefile b/tools/PSD-MADS_library_mode/makefile
index 29093ff..29df1d6 100644
--- a/tools/PSD-MADS_library_mode/makefile
+++ b/tools/PSD-MADS_library_mode/makefile
@@ -16,7 +16,7 @@ endif
 
 LDLIBS                 = -lm -lnomad
 
-INCLUDE                = -I$(NOMAD_HOME)/src -I.
+INCLUDE                = -I$(NOMAD_HOME)/src -I$(NOMAD_HOME)/ext/sgtelib/src -I.
 COMPILE                = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
 OBJS                   = main.o Cache_Server.o Master_Slaves.o
 
diff --git a/tools/SENSITIVITY/cache_inspect/makefile b/tools/SENSITIVITY/cache_inspect/makefile
index 87af147..8821d18 100644
--- a/tools/SENSITIVITY/cache_inspect/makefile
+++ b/tools/SENSITIVITY/cache_inspect/makefile
@@ -15,7 +15,7 @@ endif
 
 LDLIBS                 = -lm -lnomad
 
-INCLUDE                = -I$(NOMAD_HOME)/src -I.
+INCLUDE                = -I$(NOMAD_HOME)/src -I. -I$(NOMAD_HOME)/ext/sgtelib/src
 COMPILE                = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
 OBJS                   = cache_inspect.o
 
diff --git a/tools/SENSITIVITY/detailed_analysis/makefile b/tools/SENSITIVITY/detailed_analysis/makefile
index a9115ac..f2bc71f 100644
--- a/tools/SENSITIVITY/detailed_analysis/makefile
+++ b/tools/SENSITIVITY/detailed_analysis/makefile
@@ -16,7 +16,7 @@ endif
 
 LDLIBS                 = -lm -lnomad
 
-INCLUDE                = -I$(NOMAD_HOME)/src -I.
+INCLUDE                = -I$(NOMAD_HOME)/src -I$(NOMAD_HOME)/ext/sgtelib/src -I.
 
 COMPILE                = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
 
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/RungeKutta.cpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/RungeKutta.cpp
index 53236ea..e9112bd 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/RungeKutta.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/RungeKutta.cpp
@@ -1,80 +1,80 @@
-#include "RungeKutta.hpp"
-
-#include <iomanip>
-
-using namespace std;
-
-template <class E>
-RungeKutta<E>::RungeKutta(int dim)
-{
-   m = dim;
-   k1 = new double[m];
-   k2 = new double[m];
-   k3 = new double[m];
-   k4 = new double[m];
-   y = new double[m];
-   y_tmp = new double[m];
-}
-
-template <class E>
-RungeKutta<E>::~RungeKutta()
-{
-   delete [] k1;
-   delete [] k2;
-   delete [] k3;
-   delete [] k4;
-   delete [] y;
-   delete [] y_tmp;
-}
-
-template <class E>
-void RungeKutta<E>::set ( E * tmp , double * y0 , double beg , double end )
-{
-  unit=tmp;
-  x0=beg; xn=end;
-  x=x0;
-  h=double(xn-x0)/double(N_INTER);
-  for (i=0;i<m;i++) {y[i]=y0[i];}
-  success=true;
-}
-
-template <class E>
-bool RungeKutta<E>::run() {
-  for(j=0;j<MAX_ITER_RK;j++) {
-    //Avoid going out of x interval
-    if (x+h >xn) {
-      h = xn-x;
-      j = MAX_ITER_RK;
-    }
-
-    //Compute k1, k2, k3, k4
-    for(i=0;i<m;i++)
-      k1[i] = h*unit->f(i, x, y);
-    for(i=0;i<m;i++)
-      y_tmp[i] = y[i]+k1[i]/2.0;
-    for(i=0;i<m;i++)
-      k2[i] = h*unit->f(i, x+h/2.0, y_tmp);
-    for(i=0;i<m;i++)
-      y_tmp[i] = y[i]+k2[i]/2.0;
-    for(i=0;i<m;i++)
-      k3[i] = h*unit->f(i, x+h/2.0, y_tmp);
-    for(i=0;i<m;i++)
-      y_tmp[i] = y[i]+k3[i];
-    for ( i = 0 ; i < m ; i++ )
-      k4[i] = h*unit->f ( i , x+h , y_tmp );
-    //Compute the new y
-    for(i=0;i<m;i++)
-      y[i]+=(k1[i]+2*k2[i]+2*k3[i]+k4[i])/6.0;
-    x += h;
-  }
-
-  if ( x < xn-EPS ) {// MODIF SEB (le EPS)
-    success=false;
-    
-    // cout.setf(ios::fixed);
-    // cout << setprecision(12);
-    // cout << "x=" << x << " < xn=" << xn << " diff=" << xn-x << endl;
-  }
-  
-  return success;
-}
+#include "RungeKutta.hpp"
+
+#include <iomanip>
+
+using namespace std;
+
+template <class E>
+RungeKutta<E>::RungeKutta(int dim)
+{
+   m = dim;
+   k1 = new double[m];
+   k2 = new double[m];
+   k3 = new double[m];
+   k4 = new double[m];
+   y = new double[m];
+   y_tmp = new double[m];
+}
+
+template <class E>
+RungeKutta<E>::~RungeKutta()
+{
+   delete [] k1;
+   delete [] k2;
+   delete [] k3;
+   delete [] k4;
+   delete [] y;
+   delete [] y_tmp;
+}
+
+template <class E>
+void RungeKutta<E>::set ( E * tmp , double * y0 , double beg , double end )
+{
+  unit=tmp;
+  x0=beg; xn=end;
+  x=x0;
+  h=double(xn-x0)/double(N_INTER);
+  for (i=0;i<m;i++) {y[i]=y0[i];}
+  success=true;
+}
+
+template <class E>
+bool RungeKutta<E>::run() {
+  for(j=0;j<MAX_ITER_RK;j++) {
+    //Avoid going out of x interval
+    if (x+h >xn) {
+      h = xn-x;
+      j = MAX_ITER_RK;
+    }
+
+    //Compute k1, k2, k3, k4
+    for(i=0;i<m;i++)
+      k1[i] = h*unit->f(i, x, y);
+    for(i=0;i<m;i++)
+      y_tmp[i] = y[i]+k1[i]/2.0;
+    for(i=0;i<m;i++)
+      k2[i] = h*unit->f(i, x+h/2.0, y_tmp);
+    for(i=0;i<m;i++)
+      y_tmp[i] = y[i]+k2[i]/2.0;
+    for(i=0;i<m;i++)
+      k3[i] = h*unit->f(i, x+h/2.0, y_tmp);
+    for(i=0;i<m;i++)
+      y_tmp[i] = y[i]+k3[i];
+    for ( i = 0 ; i < m ; i++ )
+      k4[i] = h*unit->f ( i , x+h , y_tmp );
+    //Compute the new y
+    for(i=0;i<m;i++)
+      y[i]+=(k1[i]+2*k2[i]+2*k3[i]+k4[i])/6.0;
+    x += h;
+  }
+
+  if ( x < xn-EPS ) {// MODIF SEB (le EPS)
+    success=false;
+    
+    // cout.setf(ios::fixed);
+    // cout << setprecision(12);
+    // cout << "x=" << x << " < xn=" << xn << " diff=" << xn-x << endl;
+  }
+  
+  return success;
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/RungeKutta.hpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/RungeKutta.hpp
index 2400753..db2b3c2 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/RungeKutta.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/RungeKutta.hpp
@@ -1,37 +1,37 @@
-/*
-To use the Runge-Kutta solver for systems of first order differential equations,
-   (the parametric object E must have public function such as E->f(i,x,y),
-      where i is the index of the function to evaluate, x is the time and
-	  y is a point such as y(x), returns values of differential equation i)
-	  
-   1- construct the solver :    solver = new RungeKutta<objet>(int);   //the integer is the dimension of x
-   2- set the solver :    solver->set(unit, y0, x0, xn);   //unit is usually the pointer *this, y0 are the initial conditions, and x0 and xn is the time interval
-   3- launch the solver : bool = solver->run();   //will return true is success, false if the solver failed????????????????????????????
-   4- delete the solver : delete solver;
-(ref  :Fortin)
-*/
-#ifndef RUNGEKUTTA_H
-#define RUNGEKUTTA_H
-
-#include "defines.hpp"
-using namespace std;
-
-template <class E>
-class RungeKutta
-{
-private:
-  double *k1, *k2, *k3, *k4, *y_tmp, *y;
-  // double k1[MAX_DIM], k2[MAX_DIM], k3[MAX_DIM], k4[MAX_DIM], y_tmp[MAX_DIM], y[MAX_DIM];
-  double h, x0, xn, x;
-  int i, j, m;
-  bool success;
-  E *unit;
-	  
-public:
-  RungeKutta(int);
-  ~RungeKutta();
-  void set(E*, double*, double, double);
-  double dx(){return h;}
-  bool run();
-};
-#endif
+/*
+To use the Runge-Kutta solver for systems of first order differential equations,
+   (the parametric object E must have public function such as E->f(i,x,y),
+      where i is the index of the function to evaluate, x is the time and
+	  y is a point such as y(x), returns values of differential equation i)
+	  
+   1- construct the solver :    solver = new RungeKutta<objet>(int);   //the integer is the dimension of x
+   2- set the solver :    solver->set(unit, y0, x0, xn);   //unit is usually the pointer *this, y0 are the initial conditions, and x0 and xn is the time interval
+   3- launch the solver : bool = solver->run();   //will return true is success, false if the solver failed????????????????????????????
+   4- delete the solver : delete solver;
+(ref  :Fortin)
+*/
+#ifndef RUNGEKUTTA_H
+#define RUNGEKUTTA_H
+
+#include "defines.hpp"
+using namespace std;
+
+template <class E>
+class RungeKutta
+{
+private:
+  double *k1, *k2, *k3, *k4, *y_tmp, *y;
+  // double k1[MAX_DIM], k2[MAX_DIM], k3[MAX_DIM], k4[MAX_DIM], y_tmp[MAX_DIM], y[MAX_DIM];
+  double h, x0, xn, x;
+  int i, j, m;
+  bool success;
+  E *unit;
+	  
+public:
+  RungeKutta(int);
+  ~RungeKutta();
+  void set(E*, double*, double, double);
+  double dx(){return h;}
+  bool run();
+};
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/bissection.cpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/bissection.cpp
index d23a939..60e3d38 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/bissection.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/bissection.cpp
@@ -1,27 +1,27 @@
-#include "bissection.hpp"
-using namespace std;
-
-template <class E>
-bool bissection<E>::run()
-{
-   for (i=1; i<MAX_ITER_BISSECTION; i++)
-   {
-      xm=(x1+x2)/2;
-      // if(DEBUG) cout<<endl<<x1<<"  "<<xm<<"  "<<x2;
-      if (fabs(x1-x2)/fabs(xm) < TOL_BISSECTION)
-      {
-         i=MAX_ITER_BISSECTION;
-         OK=true;
-      }
-      else
-      {
-         f1 = unit->f(x1);
-         fm = unit->f(xm);
-         f2 = unit->f(x2);
-         if (f1*fm < 0.0) x2 = xm;
-         if (fm*f2 < 0.0) x1 = xm;
-      }
-   }
-   // if (DEBUG) system("pause");
-   return OK;
-}
+#include "bissection.hpp"
+using namespace std;
+
+template <class E>
+bool bissection<E>::run()
+{
+   for (i=1; i<MAX_ITER_BISSECTION; i++)
+   {
+      xm=(x1+x2)/2;
+      // if(DEBUG) cout<<endl<<x1<<"  "<<xm<<"  "<<x2;
+      if (fabs(x1-x2)/fabs(xm) < TOL_BISSECTION)
+      {
+         i=MAX_ITER_BISSECTION;
+         OK=true;
+      }
+      else
+      {
+         f1 = unit->f(x1);
+         fm = unit->f(xm);
+         f2 = unit->f(x2);
+         if (f1*fm < 0.0) x2 = xm;
+         if (fm*f2 < 0.0) x1 = xm;
+      }
+   }
+   // if (DEBUG) system("pause");
+   return OK;
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/bissection.hpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/bissection.hpp
index 18d4ee6..c277e29 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/bissection.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/bissection.hpp
@@ -1,31 +1,31 @@
-/*
-To use the bissection solver to find the root of a scalar function
-when the secant solver fails.
-   (the parametric object E must have public function such as E->f(x),
-      where x is the point at which evaluate f.)
-   1- construct the solver :    solver = new bissect<E>();   
-   2- set the solver :    solver->set(unit, x0, x1);   //unit is usually the pointer *this, and x0 and x1 are the interval's bounds
-   3- launch the solver : bool = solver->run();   //will return true is success, false if the solver failed
-*/
-#ifndef BISSECTION_H
-#define BISSECTION_H
-
-#include "defines.hpp"
-using namespace std;
-
-template <class E>
-class bissection {
-private:
-  double x1, xm, x2;
-  double f1, fm, f2;
-  int i;
-  bool OK;
-  E *unit;
-	  
-public:
-  bissection(){x1=xm=x2=f1=fm=f2=0; OK=false;}
-  void set(E* tmp, double xx1, double xx2) {unit=tmp; x1=xx1; x2=xx2;}
-  bool run();
-  ~bissection(){}
-};
-#endif
+/*
+To use the bissection solver to find the root of a scalar function
+when the secant solver fails.
+   (the parametric object E must have public function such as E->f(x),
+      where x is the point at which evaluate f.)
+   1- construct the solver :    solver = new bissect<E>();   
+   2- set the solver :    solver->set(unit, x0, x1);   //unit is usually the pointer *this, and x0 and x1 are the interval's bounds
+   3- launch the solver : bool = solver->run();   //will return true is success, false if the solver failed
+*/
+#ifndef BISSECTION_H
+#define BISSECTION_H
+
+#include "defines.hpp"
+using namespace std;
+
+template <class E>
+class bissection {
+private:
+  double x1, xm, x2;
+  double f1, fm, f2;
+  int i;
+  bool OK;
+  E *unit;
+	  
+public:
+  bissection(){x1=xm=x2=f1=fm=f2=0; OK=false;}
+  void set(E* tmp, double xx1, double xx2) {unit=tmp; x1=xx1; x2=xx2;}
+  bool run();
+  ~bissection(){}
+};
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/burner.cpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/burner.cpp
index 1b6f36b..eb8a223 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/burner.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/burner.cpp
@@ -1,287 +1,287 @@
-#include "burner.hpp"
-using namespace std;
-
-/*----------------------------------------------------------*/
-/*  arrondi pour ne conserver que n chiffres significatifs  */
-/*----------------------------------------------------------*/
-double arrondi ( double x , int n ) {
-  if (fabs(x) < EPS)
-    return 0.0;
-  double m = pow ( 10 , ceil(-log10(x)) + n - 1 );
-  return round(m*x)/m;
-}
-
-/*---------------------------------------------------------------*/
-burner::burner ( int nb , chemical ** chem ) {
-
-  rem_nb = nb;
-
-  NO=NO2=N2O=CO=0.0;
-  m = new double[nb];
-  can_burn = new bool[nb];
-
-  // combustion.prop :
-  // -----------------
-  // 64-17-5 3 2 3
-  // 74-82-8 2 1 2
-  // 1333-74-0 0.5 0 1
-  // 100-42-5 10 8 4
-  // 74-85-1 3 2 2
-  // 108-88-3 9 7 4
-  // 100-41-4 10.5 8 5
-  // 71-43-2 7.5 6 3
-
-  for ( i = 0 ; i < nb ; i++ ) {
-
-    can_burn[i] = false;
-
-    if ( chem[i]->CAS == "64-17-5"   ||
-	 chem[i]->CAS == "74-82-8"   ||
-	 chem[i]->CAS == "1333-74-0" ||
-	 chem[i]->CAS == "100-42-5"  ||
-	 chem[i]->CAS == "74-85-1"   ||
-	 chem[i]->CAS == "108-88-3"  ||
-	 chem[i]->CAS == "100-41-4"  ||
-	 chem[i]->CAS == "71-43-2" )
-      can_burn[i] = true;
-  }
-
-  O2  = new chemical ("7782-44-7");
-  N2  = new chemical ("7727-37-9");
-  CO2 = new chemical ("124-38-9");
-  H2O = new chemical ("7732-18-5");
-
-  // Construct the rx array;
-  rx = new combrx * [nb];
-  for ( i = 0 ; i < nb ; i++ ) {
-    if ( can_burn[i] )
-      rx[i] = new combrx ( chem[i]->CAS );
-    else
-      rx[i] = NULL;
-  }
-}
-
-/*---------------------------------------------------------------*/
-burner::~burner ( void ) {
-
-  delete [] m;
-  delete [] can_burn;
-
-  for ( i = 0 ; i < rem_nb ; i++ )
-    if (rx[i])
-      delete rx[i];
-  delete [] rx;
-  
-  delete O2;
-  delete N2;
-  delete CO2;
-  delete H2O;
-}
-
-/*---------------------------------------------------------------*/
-bool burner::solve(double * y)
-{
-   OK=true;
-   //perform mass balance (neglect pollutants flows)
-   out->m = 0.0;
-   for(i=0;i<in->nb;i++)
-   {
-     if (!can_burn[i]) {
-       out->chem[i]->m = in->chem[i]->m;
-       out->m+=out->chem[i]->m;
-     }
-     else {
-       out->chem[i]->m=0.0;
-       O2->m+=rx[i]->O2_flow()*in->chem[i]->n();
-       N2->m+=rx[i]->N2_flow()*in->chem[i]->n();
-       CO2->m+=rx[i]->CO2_flow()*in->chem[i]->n();
-       H2O->m+=rx[i]->H2O_flow()*in->chem[i]->n();
-     }
-   }
-   N2->m*=(1.0+eta);
-   O2->m*=(1.0+eta);
-   //perform energy balance to find Tout
-   T = in->T;
-
-   step=10;
-   Q=1;
-   // find temperature
-   while (fabs(step)>TOL_BURN && fabs(Q)>TOL_BURN && T<MAX_TEMP)
-   {
-      T+=step;
-
-      if(T>MAX_TEMP)
-	T=MAX_TEMP;
-      Q = 0.0;
-      for ( i = 0 ; i < in->nb ; i++ )
-	Q += in->chem[i]->dH ( in->T , T , in->P ) * in->chem[i]->n();
-
-      for ( i = 0 ; i < in->nb ; i++ )
-	if ( can_burn[i] )
-	  Q += rx[i]->Hcomb(T) * in->chem[i]->n();
-
-      Q += O2->dH ( 293 , T , in->P ) * O2->n();
-      Q += N2->dH ( 293 , T , in->P ) * N2->n();
-
-
-      if (step/fabs(step)*Q >0)
-	step*= -0.1;
-      else if (fabs(Q)<10)
-	step*=0.25;
-
-   }
-
-
-
-   out->set_thermo(in->thermo);
-   // out->thermo = in->thermo;
-
-   out->set(in->P, T);
-   O2->P=in->P; O2->T=T; O2->state=1; O2->find_v();
-   N2->P=in->P; N2->T=T; N2->state=1; N2->find_v();
-   CO2->P=in->P; CO2->T=T; CO2->state=1; CO2->find_v();
-   H2O->P=in->P; H2O->T=T; H2O->state=1; H2O->find_v();
-   //check if mixture can burn
-   m_can_burn = 0.0;
-   for(i=0;i<in->nb;i++) if(can_burn[i]) m_can_burn+=in->chem[i]->n();
-   LFLmix=0.0;
-   for(i=0;i<in->nb;i++) if(can_burn[i]) LFLmix+=in->chem[i]->n()/m_can_burn*rx[i]->LFL(in->P,T);
-   UFLmix=0.0;
-   for(i=0;i<in->nb;i++) if(can_burn[i]) UFLmix+=in->chem[i]->n()/m_can_burn*rx[i]->UFL(in->P,T);
-   num = 0.0;
-   buff=in->T; in->set(in->P, T);
-   for(i=0;i<in->nb;i++) if(can_burn[i]) num+=in->chem[i]->n()/in->n()*in->v;
-   in->set(in->P, buff);
-   den = O2->v+N2->v+out->v;
-   composition = num/den;
-   if(!(LFLmix<=composition && composition<=UFLmix) || T==MAX_TEMP)
-   {
-//       logf.open(MESSAGES,ios::app);
-//       logf<<"   --> Warning <--  Mixture in "<<name<<" can't burn (LFL="<<LFLmix
-//           <<" UFL="<<UFLmix<<" x="<<composition<<").\n";
-//       logf.close();
-      T=in->T;
-      filename = out->name;
-      *out=*in;
-      out->set(filename);
-      // out->write();  // WRITE TOTO
-      OK=false;
-   }
-   else
-   {
-      O2->P=in->P; O2->T=T; O2->state=1; O2->find_v();
-      N2->P=in->P; N2->T=T; N2->state=1; N2->find_v();
-      // out->write(); // WRITE TOTO
-   }
-   if(OK) //compute the pollutants production
-   {
-      fill_K_array();
-      NO = 1e6*sqrt(K[0]*(N2->n()/den)*(O2->n()/den))*den*0.03/(O2->m+N2->m+out->m+H2O->m+CO2->m);
-      N2O = 1e6*K[1]*(N2->n()/den)*sqrt(O2->n()/den)*den*0.044/(O2->m+N2->m+out->m+H2O->m+CO2->m);
-      NO2 = 1e6*K[2]*sqrt(N2->n()/den)*(O2->n()/den)*den*0.046/(O2->m+N2->m+out->m+H2O->m+CO2->m);
-      CO = 1e6*K[3]*(CO2->n()/den)*den/sqrt(O2->n()/den)*0.028/(O2->m+N2->m+out->m+H2O->m+CO2->m);
-   }
-//    logf.open(MESSAGES,ios::app);
-   if (NO>EPS && NO2>EPS && N2O>EPS) {
-     // logf<<"   --> Warning <-- Presence of NOx: "<<(NO+NO2+N2O)<<" ppm in "<<name<<".\n";
-     y[7] = NO+NO2+N2O;
-
-     if (ARRONDI)
-       y[7] = arrondi ( y[7] , 6 );
-
-   }
-   if (CO>EPS) {
-     // logf<<"   --> Warning <-- Presence of CO: "<<CO<<" ppm in "<<name<<".\n";
-     y[8] = CO;
-     if (ARRONDI)
-       y[8] = arrondi ( y[8] , 6 );
-
-   }
-//    logf.close();
-   return OK;
-}
-
-void burner::fill_K_array()
-{
-  a[0]=1.0; a[1]=1.0; a[2]=0.5; a[3]=1.0;
-  b[0]=1.0; b[1]=0.5; b[2]=1.0; b[3]=-0.5;
-  c[0]=2.0; c[1]=1.0; c[2]=1.0; c[3]=1.0;
-  K[0] = exp(-120.27*(173.38-T*0.012)/T);
-  K[1] = exp(-120.27*(103.64+T*0.074)/T);
-  K[2] = exp(-120.27*(51.96+T*0.061)/T);
-  K[3] = exp(-120.27*(283.84-T*0.087)/T);
-  for(i=0;i<4;i++)
-    K[i]*=pow(1000, c[i]-a[i]-b[i]);
-}
-
-void burner::write() {
-
-  cout << setprecision(6);
-
-  cout << "WRITE FILE " << RUNTIME << name << ".unit" << " :\n\tBEGIN\n";
-  cout << "\t>>         " << name;
-  cout << endl << "\t>>           stream in : " << in->name;
-  cout << endl << "\t>>           streams out : " << out->name;
-  cout << endl << "\t>>           P = " << in->P << " atm,  T(in) = " << in->T
-       << "   T(out) = " << T << " K";
-  O2->P = 1;
-  O2->T = 293;
-  O2->state = 1;
-  O2->find_v();
-  N2->P=1;
-  N2->T=293;
-  N2->state=1;
-  N2->find_v();
-  cout << endl << "\t>>           Required air flow = "
-       << (O2->m+N2->m) << " kg/s  (" << (O2->v+N2->v) << " m3/s)";
-  O2->P=in->P;
-  O2->T=T;
-  O2->state=1;
-  O2->find_v();
-  N2->P=in->P;
-  N2->T=T;
-  N2->state=1;
-  N2->find_v();
-  step=(eta*O2->v/(1+eta)+N2->v+H2O->v+CO2->v+out->v);
-  cout << endl << "\t>>           Total flue gases  = "
-       << (out->m+CO2->m+H2O->m+N2->m+eta*O2->m/(1+eta))
-       <<" kg/s  (" << step << " m3/s)";
-  cout << "\n\tEND\n\n";
-  cost();
-}
-
-
-double burner::get_cost ( void ) {
-
-
-  O2->P = 1;
-  O2->T = 293;
-  O2->state = 1;
-  O2->find_v();
-  N2->P=1;
-  N2->T=293;
-  N2->state=1;
-  N2->find_v();
-  O2->P=in->P;
-  O2->T=T;
-  O2->state=1;
-  O2->find_v();
-  N2->P=in->P;
-  N2->T=T;
-  N2->state=1;
-  N2->find_v();
-  step=(eta*O2->v/(1+eta)+N2->v+H2O->v+CO2->v+out->v);
-
-  buff = 3.1761-0.1373*log10(step) + 0.3414*pow(log10(step),2);
-  buff = 2.7*pow(10, buff);
-  buff = buff*MS_YEAR/MS_2001;
-
-  return buff;
-}
-
-
-void burner::cost ( void ) {
-  cout << "WRITE FILE " << RUNTIME << name << ".cost" << " :\n\tBEGIN\n";
-  cout << "\t>>" << get_cost();
-  cout << "\n\tEND\n\n";
-}
+#include "burner.hpp"
+using namespace std;
+
+/*----------------------------------------------------------*/
+/*  arrondi pour ne conserver que n chiffres significatifs  */
+/*----------------------------------------------------------*/
+double arrondi ( double x , int n ) {
+  if (fabs(x) < EPS)
+    return 0.0;
+  double m = pow ( 10 , ceil(-log10(x)) + n - 1 );
+  return round(m*x)/m;
+}
+
+/*---------------------------------------------------------------*/
+burner::burner ( int nb , chemical ** chem ) {
+
+  rem_nb = nb;
+
+  NO=NO2=N2O=CO=0.0;
+  m = new double[nb];
+  can_burn = new bool[nb];
+
+  // combustion.prop :
+  // -----------------
+  // 64-17-5 3 2 3
+  // 74-82-8 2 1 2
+  // 1333-74-0 0.5 0 1
+  // 100-42-5 10 8 4
+  // 74-85-1 3 2 2
+  // 108-88-3 9 7 4
+  // 100-41-4 10.5 8 5
+  // 71-43-2 7.5 6 3
+
+  for ( i = 0 ; i < nb ; i++ ) {
+
+    can_burn[i] = false;
+
+    if ( chem[i]->CAS == "64-17-5"   ||
+	 chem[i]->CAS == "74-82-8"   ||
+	 chem[i]->CAS == "1333-74-0" ||
+	 chem[i]->CAS == "100-42-5"  ||
+	 chem[i]->CAS == "74-85-1"   ||
+	 chem[i]->CAS == "108-88-3"  ||
+	 chem[i]->CAS == "100-41-4"  ||
+	 chem[i]->CAS == "71-43-2" )
+      can_burn[i] = true;
+  }
+
+  O2  = new chemical ("7782-44-7");
+  N2  = new chemical ("7727-37-9");
+  CO2 = new chemical ("124-38-9");
+  H2O = new chemical ("7732-18-5");
+
+  // Construct the rx array;
+  rx = new combrx * [nb];
+  for ( i = 0 ; i < nb ; i++ ) {
+    if ( can_burn[i] )
+      rx[i] = new combrx ( chem[i]->CAS );
+    else
+      rx[i] = NULL;
+  }
+}
+
+/*---------------------------------------------------------------*/
+burner::~burner ( void ) {
+
+  delete [] m;
+  delete [] can_burn;
+
+  for ( i = 0 ; i < rem_nb ; i++ )
+    if (rx[i])
+      delete rx[i];
+  delete [] rx;
+  
+  delete O2;
+  delete N2;
+  delete CO2;
+  delete H2O;
+}
+
+/*---------------------------------------------------------------*/
+bool burner::solve(double * y)
+{
+   OK=true;
+   //perform mass balance (neglect pollutants flows)
+   out->m = 0.0;
+   for(i=0;i<in->nb;i++)
+   {
+     if (!can_burn[i]) {
+       out->chem[i]->m = in->chem[i]->m;
+       out->m+=out->chem[i]->m;
+     }
+     else {
+       out->chem[i]->m=0.0;
+       O2->m+=rx[i]->O2_flow()*in->chem[i]->n();
+       N2->m+=rx[i]->N2_flow()*in->chem[i]->n();
+       CO2->m+=rx[i]->CO2_flow()*in->chem[i]->n();
+       H2O->m+=rx[i]->H2O_flow()*in->chem[i]->n();
+     }
+   }
+   N2->m*=(1.0+eta);
+   O2->m*=(1.0+eta);
+   //perform energy balance to find Tout
+   T = in->T;
+
+   step=10;
+   Q=1;
+   // find temperature
+   while (fabs(step)>TOL_BURN && fabs(Q)>TOL_BURN && T<MAX_TEMP)
+   {
+      T+=step;
+
+      if(T>MAX_TEMP)
+	T=MAX_TEMP;
+      Q = 0.0;
+      for ( i = 0 ; i < in->nb ; i++ )
+	Q += in->chem[i]->dH ( in->T , T , in->P ) * in->chem[i]->n();
+
+      for ( i = 0 ; i < in->nb ; i++ )
+	if ( can_burn[i] )
+	  Q += rx[i]->Hcomb(T) * in->chem[i]->n();
+
+      Q += O2->dH ( 293 , T , in->P ) * O2->n();
+      Q += N2->dH ( 293 , T , in->P ) * N2->n();
+
+
+      if (step/fabs(step)*Q >0)
+	step*= -0.1;
+      else if (fabs(Q)<10)
+	step*=0.25;
+
+   }
+
+
+
+   out->set_thermo(in->thermo);
+   // out->thermo = in->thermo;
+
+   out->set(in->P, T);
+   O2->P=in->P; O2->T=T; O2->state=1; O2->find_v();
+   N2->P=in->P; N2->T=T; N2->state=1; N2->find_v();
+   CO2->P=in->P; CO2->T=T; CO2->state=1; CO2->find_v();
+   H2O->P=in->P; H2O->T=T; H2O->state=1; H2O->find_v();
+   //check if mixture can burn
+   m_can_burn = 0.0;
+   for(i=0;i<in->nb;i++) if(can_burn[i]) m_can_burn+=in->chem[i]->n();
+   LFLmix=0.0;
+   for(i=0;i<in->nb;i++) if(can_burn[i]) LFLmix+=in->chem[i]->n()/m_can_burn*rx[i]->LFL(in->P,T);
+   UFLmix=0.0;
+   for(i=0;i<in->nb;i++) if(can_burn[i]) UFLmix+=in->chem[i]->n()/m_can_burn*rx[i]->UFL(in->P,T);
+   num = 0.0;
+   buff=in->T; in->set(in->P, T);
+   for(i=0;i<in->nb;i++) if(can_burn[i]) num+=in->chem[i]->n()/in->n()*in->v;
+   in->set(in->P, buff);
+   den = O2->v+N2->v+out->v;
+   composition = num/den;
+   if(!(LFLmix<=composition && composition<=UFLmix) || T==MAX_TEMP)
+   {
+//       logf.open(MESSAGES,ios::app);
+//       logf<<"   --> Warning <--  Mixture in "<<name<<" can't burn (LFL="<<LFLmix
+//           <<" UFL="<<UFLmix<<" x="<<composition<<").\n";
+//       logf.close();
+      T=in->T;
+      filename = out->name;
+      *out=*in;
+      out->set(filename);
+      // out->write();  // WRITE TOTO
+      OK=false;
+   }
+   else
+   {
+      O2->P=in->P; O2->T=T; O2->state=1; O2->find_v();
+      N2->P=in->P; N2->T=T; N2->state=1; N2->find_v();
+      // out->write(); // WRITE TOTO
+   }
+   if(OK) //compute the pollutants production
+   {
+      fill_K_array();
+      NO = 1e6*sqrt(K[0]*(N2->n()/den)*(O2->n()/den))*den*0.03/(O2->m+N2->m+out->m+H2O->m+CO2->m);
+      N2O = 1e6*K[1]*(N2->n()/den)*sqrt(O2->n()/den)*den*0.044/(O2->m+N2->m+out->m+H2O->m+CO2->m);
+      NO2 = 1e6*K[2]*sqrt(N2->n()/den)*(O2->n()/den)*den*0.046/(O2->m+N2->m+out->m+H2O->m+CO2->m);
+      CO = 1e6*K[3]*(CO2->n()/den)*den/sqrt(O2->n()/den)*0.028/(O2->m+N2->m+out->m+H2O->m+CO2->m);
+   }
+//    logf.open(MESSAGES,ios::app);
+   if (NO>EPS && NO2>EPS && N2O>EPS) {
+     // logf<<"   --> Warning <-- Presence of NOx: "<<(NO+NO2+N2O)<<" ppm in "<<name<<".\n";
+     y[7] = NO+NO2+N2O;
+
+     if (ARRONDI)
+       y[7] = arrondi ( y[7] , 6 );
+
+   }
+   if (CO>EPS) {
+     // logf<<"   --> Warning <-- Presence of CO: "<<CO<<" ppm in "<<name<<".\n";
+     y[8] = CO;
+     if (ARRONDI)
+       y[8] = arrondi ( y[8] , 6 );
+
+   }
+//    logf.close();
+   return OK;
+}
+
+void burner::fill_K_array()
+{
+  a[0]=1.0; a[1]=1.0; a[2]=0.5; a[3]=1.0;
+  b[0]=1.0; b[1]=0.5; b[2]=1.0; b[3]=-0.5;
+  c[0]=2.0; c[1]=1.0; c[2]=1.0; c[3]=1.0;
+  K[0] = exp(-120.27*(173.38-T*0.012)/T);
+  K[1] = exp(-120.27*(103.64+T*0.074)/T);
+  K[2] = exp(-120.27*(51.96+T*0.061)/T);
+  K[3] = exp(-120.27*(283.84-T*0.087)/T);
+  for(i=0;i<4;i++)
+    K[i]*=pow(1000, c[i]-a[i]-b[i]);
+}
+
+void burner::write() {
+
+  cout << setprecision(6);
+
+  cout << "WRITE FILE " << RUNTIME << name << ".unit" << " :\n\tBEGIN\n";
+  cout << "\t>>         " << name;
+  cout << endl << "\t>>           stream in : " << in->name;
+  cout << endl << "\t>>           streams out : " << out->name;
+  cout << endl << "\t>>           P = " << in->P << " atm,  T(in) = " << in->T
+       << "   T(out) = " << T << " K";
+  O2->P = 1;
+  O2->T = 293;
+  O2->state = 1;
+  O2->find_v();
+  N2->P=1;
+  N2->T=293;
+  N2->state=1;
+  N2->find_v();
+  cout << endl << "\t>>           Required air flow = "
+       << (O2->m+N2->m) << " kg/s  (" << (O2->v+N2->v) << " m3/s)";
+  O2->P=in->P;
+  O2->T=T;
+  O2->state=1;
+  O2->find_v();
+  N2->P=in->P;
+  N2->T=T;
+  N2->state=1;
+  N2->find_v();
+  step=(eta*O2->v/(1+eta)+N2->v+H2O->v+CO2->v+out->v);
+  cout << endl << "\t>>           Total flue gases  = "
+       << (out->m+CO2->m+H2O->m+N2->m+eta*O2->m/(1+eta))
+       <<" kg/s  (" << step << " m3/s)";
+  cout << "\n\tEND\n\n";
+  cost();
+}
+
+
+double burner::get_cost ( void ) {
+
+
+  O2->P = 1;
+  O2->T = 293;
+  O2->state = 1;
+  O2->find_v();
+  N2->P=1;
+  N2->T=293;
+  N2->state=1;
+  N2->find_v();
+  O2->P=in->P;
+  O2->T=T;
+  O2->state=1;
+  O2->find_v();
+  N2->P=in->P;
+  N2->T=T;
+  N2->state=1;
+  N2->find_v();
+  step=(eta*O2->v/(1+eta)+N2->v+H2O->v+CO2->v+out->v);
+
+  buff = 3.1761-0.1373*log10(step) + 0.3414*pow(log10(step),2);
+  buff = 2.7*pow(10, buff);
+  buff = buff*MS_YEAR/MS_2001;
+
+  return buff;
+}
+
+
+void burner::cost ( void ) {
+  cout << "WRITE FILE " << RUNTIME << name << ".cost" << " :\n\tBEGIN\n";
+  cout << "\t>>" << get_cost();
+  cout << "\n\tEND\n\n";
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/burner.hpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/burner.hpp
index 310df0d..3d83403 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/burner.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/burner.hpp
@@ -1,59 +1,59 @@
-/*
-This unit simulates a burner. The user must provide the air excess
-and all combustion data as defined in data\\combustion.prop :
-      CAS nb_moles_O2 nb_moles_CO2 nb_moles_H2O
-Then, mass and energy balances are performed and flows of common
-combustion pollutants are estimated.
-(reference : Crowl & Louvar)
-
-Structure in the .process file:
-burner {name} {index of input stream} {index of output stream} {air excess >0 (ex.: 1.2 is a 120% excess)}
-
-How to use:
-   1- Call the constructor: burn = new burner(in, out);			burner(nb_in, chem_list)
-   ->set(in, out)
-   2- Set the air excess : burn->set(excess);
-   3- Set the name of the unit: burn->set(name);
-   4- Solve: bool=burn->solve();
-*/
-#ifndef BURNER_H
-#define BURNER_H
-#include "stream.hpp"
-#include "combrx.hpp"
-using namespace std;
-
-class burner
-{
-private:
-
-  string filename;
-  int rem_nb;
-  stream *in, *out;
-  chemical *O2, *N2, *CO2, *H2O;
-  combrx **rx;
-  bool *can_burn, stop, OK;
-  double eta, NO, NO2, N2O, CO;
-  double T, LFLmix, UFLmix, composition;
-  string name;
-  double * m;
-  double a[4], b[4], c[4], K[4];
-  int i;
-  double buff, Q, m_can_burn, step, num, den;
-  ifstream data;
-  // ofstream logf, results;
-  // terminator *end;
-  void fill_K_array();
-	  
-public:
-  // burner(){};
-  burner ( int , chemical ** );
-  void set ( stream * s1 , stream * s2 ) { in=s1; out=s2; for(i=0;i<in->nb;i++) m[i] = in->chem[i]->m;}
-  void set ( const string & n ) { name = n; }
-  void set(double e) {eta = e;}
-  bool solve(double * y);
-  void write();
-  void cost();
-  double get_cost ( void );
-  ~burner();
-};
-#endif
+/*
+This unit simulates a burner. The user must provide the air excess
+and all combustion data as defined in data\\combustion.prop :
+      CAS nb_moles_O2 nb_moles_CO2 nb_moles_H2O
+Then, mass and energy balances are performed and flows of common
+combustion pollutants are estimated.
+(reference : Crowl & Louvar)
+
+Structure in the .process file:
+burner {name} {index of input stream} {index of output stream} {air excess >0 (ex.: 1.2 is a 120% excess)}
+
+How to use:
+   1- Call the constructor: burn = new burner(in, out);			burner(nb_in, chem_list)
+   ->set(in, out)
+   2- Set the air excess : burn->set(excess);
+   3- Set the name of the unit: burn->set(name);
+   4- Solve: bool=burn->solve();
+*/
+#ifndef BURNER_H
+#define BURNER_H
+#include "stream.hpp"
+#include "combrx.hpp"
+using namespace std;
+
+class burner
+{
+private:
+
+  string filename;
+  int rem_nb;
+  stream *in, *out;
+  chemical *O2, *N2, *CO2, *H2O;
+  combrx **rx;
+  bool *can_burn, stop, OK;
+  double eta, NO, NO2, N2O, CO;
+  double T, LFLmix, UFLmix, composition;
+  string name;
+  double * m;
+  double a[4], b[4], c[4], K[4];
+  int i;
+  double buff, Q, m_can_burn, step, num, den;
+  ifstream data;
+  // ofstream logf, results;
+  // terminator *end;
+  void fill_K_array();
+	  
+public:
+  // burner(){};
+  burner ( int , chemical ** );
+  void set ( stream * s1 , stream * s2 ) { in=s1; out=s2; for(i=0;i<in->nb;i++) m[i] = in->chem[i]->m;}
+  void set ( const string & n ) { name = n; }
+  void set(double e) {eta = e;}
+  bool solve(double * y);
+  void write();
+  void cost();
+  double get_cost ( void );
+  ~burner();
+};
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/cashflow.cpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/cashflow.cpp
index a35a767..c7174f6 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/cashflow.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/cashflow.cpp
@@ -1,114 +1,114 @@
-#include "cashflow.hpp"
-using namespace std;
-
-cashflow::cashflow(int n)
-{
-   N=n+1;
-   Inv = new double[N];
-   Coper = new double[N];
-   Amort = new double[N];
-   Rev = new double[N];
-   Flow = new double[N];
-   Flowact = new double[N];
-   Itot=Ctot=Rtot=i_rate=a_rate=0.0;
-
-
-  yield_tab[ 0] = 0.515;
-  yield_tab[ 1] = 0.778;
-  yield_tab[ 2] = 0.812;
-  yield_tab[ 3] = 0.893;
-  yield_tab[ 4] = 0.985;
-  yield_tab[ 5] = 0.837;
-  yield_tab[ 6] = 0.849;
-  yield_tab[ 7] = 0.746;
-  yield_tab[ 8] = 0.812;
-  yield_tab[ 9] = 0.954;
-  yield_tab[10] = 0.999;
-  yield_tab[11] = 0.961;
-  yield_tab[12] = 0.815;
-  yield_tab[13] = 0.886;
-  yield_tab[14] = 0.922;
-
-}
-
-cashflow::~cashflow ( void ) {
-  delete [] Inv;
-  delete [] Coper;
-  delete [] Amort;
-  delete [] Rev;
-  delete [] Flow;
-  delete [] Flowact;
-}
-
-bool cashflow::run()
-{
-   if(Itot<EPS || Ctot<EPS || Rtot<EPS || i_rate<EPS || a_rate<EPS)
-      OK=false;
-   else
-   {
-      //if(!MUTE)cout<<endl<<"       investments flow... OK";
-      set_Inv();
-      //if(!MUTE)cout<<endl<<"       depreciation flow... OK";
-      set_Amort();
-      set_C_R();
-      //if(!MUTE)cout<<endl<<"       costs flow... OK";
-      //if(!MUTE)cout<<endl<<"       revenus flow... OK";
-      for(i=0;i<N;i++)
-      {
-         Flow[i] = (Rev[i]-Coper[i])*(1.0-a_rate)-(Inv[i]-a_rate*Amort[i]);
-         Flowact[i] = Flow[i]/pow(1.0+i_rate, i);
-      }
-      //if(!MUTE)cout<<endl<<"       cash flow... OK";
-      //if(!MUTE)cout<<endl<<"       actualizing cash flow... OK";
-      OK=true;
-      
-//       cout<<endl<<endl<<"   CASH FLOW DETAILS"<<endl;
-//       cout<<endl<<"      "<<setfill('-')<<setw(76)<<" ";
-//       cout<<endl<<"      "<<" i "<<" Investment "<<"    Deprec. "
-// 	  <<"   Expenses "<<"    Revenus "<<"  Cash flow "<<"  Act. flow ";
-//       cout<<endl<<"      "<<setfill('-')<<setw(76)<<" ";
-//       cout<<setfill(' ')<<setiosflags(ios::fixed)<<setprecision(0);
-//       for(i=0;i<N;i++)
-//          cout<<endl
-// 	     <<"      "<<setw(2)<<i<<" "<<setw(11)
-// 	     <<Inv[i]<<" "<<setw(11)<<Amort[i]<<" "
-// 	     <<setw(11)<<Coper[i]<<" "<<setw(11)<<Rev[i]<<" "<<setw(11)<<Flow[i]<<" "<<setw(11)<<Flowact[i];
-//       cout<<endl<<"      "<<setfill('-')<<setw(76)<<" ";
-   }
-   return OK;
-}
-
-void cashflow::set_Amort()
-{
-   Amort[0] = 0.0;
-   temp=Itot;
-   for(i=1;i<N-1;i++)
-   {
-      temp+=Inv[i];
-      Amort[i] = temp/double(N-i);
-      temp-=Amort[i];
-   }
-   Amort[N-1]=Amort[N-2];
-}
-
-void cashflow::set_Inv()
-{
-   Inv[0] = Itot;
-   for(i=1;i<N-1;i++)
-   {
-      if((i)%5==0) Inv[i]=0.1*Itot;
-      else Inv[i]=0.0;
-   }
-   Inv[N-1]=0.0;
-   for(i=0;i<N-1;i++) Inv[N-1]-=0.1*Inv[i];
-}
-
-void cashflow::set_C_R()
-{
-   Coper[0] = Rev[0] = 0.0;
-   for(i=1;i<N;i++)
-   {
-      Coper[i] = yield(i)*Ctot;
-      Rev[i] = yield(i)*Rtot;
-   }
-}
+#include "cashflow.hpp"
+using namespace std;
+
+cashflow::cashflow(int n)
+{
+   N=n+1;
+   Inv = new double[N];
+   Coper = new double[N];
+   Amort = new double[N];
+   Rev = new double[N];
+   Flow = new double[N];
+   Flowact = new double[N];
+   Itot=Ctot=Rtot=i_rate=a_rate=0.0;
+
+
+  yield_tab[ 0] = 0.515;
+  yield_tab[ 1] = 0.778;
+  yield_tab[ 2] = 0.812;
+  yield_tab[ 3] = 0.893;
+  yield_tab[ 4] = 0.985;
+  yield_tab[ 5] = 0.837;
+  yield_tab[ 6] = 0.849;
+  yield_tab[ 7] = 0.746;
+  yield_tab[ 8] = 0.812;
+  yield_tab[ 9] = 0.954;
+  yield_tab[10] = 0.999;
+  yield_tab[11] = 0.961;
+  yield_tab[12] = 0.815;
+  yield_tab[13] = 0.886;
+  yield_tab[14] = 0.922;
+
+}
+
+cashflow::~cashflow ( void ) {
+  delete [] Inv;
+  delete [] Coper;
+  delete [] Amort;
+  delete [] Rev;
+  delete [] Flow;
+  delete [] Flowact;
+}
+
+bool cashflow::run()
+{
+   if(Itot<EPS || Ctot<EPS || Rtot<EPS || i_rate<EPS || a_rate<EPS)
+      OK=false;
+   else
+   {
+      //if(!MUTE)cout<<endl<<"       investments flow... OK";
+      set_Inv();
+      //if(!MUTE)cout<<endl<<"       depreciation flow... OK";
+      set_Amort();
+      set_C_R();
+      //if(!MUTE)cout<<endl<<"       costs flow... OK";
+      //if(!MUTE)cout<<endl<<"       revenus flow... OK";
+      for(i=0;i<N;i++)
+      {
+         Flow[i] = (Rev[i]-Coper[i])*(1.0-a_rate)-(Inv[i]-a_rate*Amort[i]);
+         Flowact[i] = Flow[i]/pow(1.0+i_rate, i);
+      }
+      //if(!MUTE)cout<<endl<<"       cash flow... OK";
+      //if(!MUTE)cout<<endl<<"       actualizing cash flow... OK";
+      OK=true;
+      
+//       cout<<endl<<endl<<"   CASH FLOW DETAILS"<<endl;
+//       cout<<endl<<"      "<<setfill('-')<<setw(76)<<" ";
+//       cout<<endl<<"      "<<" i "<<" Investment "<<"    Deprec. "
+// 	  <<"   Expenses "<<"    Revenus "<<"  Cash flow "<<"  Act. flow ";
+//       cout<<endl<<"      "<<setfill('-')<<setw(76)<<" ";
+//       cout<<setfill(' ')<<setiosflags(ios::fixed)<<setprecision(0);
+//       for(i=0;i<N;i++)
+//          cout<<endl
+// 	     <<"      "<<setw(2)<<i<<" "<<setw(11)
+// 	     <<Inv[i]<<" "<<setw(11)<<Amort[i]<<" "
+// 	     <<setw(11)<<Coper[i]<<" "<<setw(11)<<Rev[i]<<" "<<setw(11)<<Flow[i]<<" "<<setw(11)<<Flowact[i];
+//       cout<<endl<<"      "<<setfill('-')<<setw(76)<<" ";
+   }
+   return OK;
+}
+
+void cashflow::set_Amort()
+{
+   Amort[0] = 0.0;
+   temp=Itot;
+   for(i=1;i<N-1;i++)
+   {
+      temp+=Inv[i];
+      Amort[i] = temp/double(N-i);
+      temp-=Amort[i];
+   }
+   Amort[N-1]=Amort[N-2];
+}
+
+void cashflow::set_Inv()
+{
+   Inv[0] = Itot;
+   for(i=1;i<N-1;i++)
+   {
+      if((i)%5==0) Inv[i]=0.1*Itot;
+      else Inv[i]=0.0;
+   }
+   Inv[N-1]=0.0;
+   for(i=0;i<N-1;i++) Inv[N-1]-=0.1*Inv[i];
+}
+
+void cashflow::set_C_R()
+{
+   Coper[0] = Rev[0] = 0.0;
+   for(i=1;i<N;i++)
+   {
+      Coper[i] = yield(i)*Ctot;
+      Rev[i] = yield(i)*Rtot;
+   }
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/cashflow.hpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/cashflow.hpp
index 5aa5f70..a71b7ab 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/cashflow.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/cashflow.hpp
@@ -1,33 +1,33 @@
-#ifndef CASHFLOW_H
-#define CASHFLOW_H
-#include "defines.hpp"
-// #include <iomanip>
-using namespace std;
-
-class cashflow
-{
-   private:
-  // char name[31], filename[41];
-  // ifstream in;
-  // ofstream out;
-  double Itot, Ctot, Rtot;
-  void set_Inv(), set_Amort(), set_C_R();
-  double temp;
-  int i, j, counter;
-  bool OK;
-  double yield_tab[15];
-
-  double yield ( int k ) const { return yield_tab[(k==15) ? 14 : k%15]; }
-  
-public:
-  double *Inv, *Coper, *Amort, *Rev, *Flow, *Flowact;
-  double  i_rate, a_rate;
-  int N;
-  cashflow(int);
-  ~cashflow();
-  // void set(char n[31]) {strcpy(name, n);}
-  void set_rates(double d1, double d2){i_rate=d1; a_rate=d2;}
-  void set_basics(double d1, double d2, double d3){Itot=d1; Ctot=d2; Rtot=d3;}
-  bool run();
-};
-#endif
+#ifndef CASHFLOW_H
+#define CASHFLOW_H
+#include "defines.hpp"
+// #include <iomanip>
+using namespace std;
+
+class cashflow
+{
+   private:
+  // char name[31], filename[41];
+  // ifstream in;
+  // ofstream out;
+  double Itot, Ctot, Rtot;
+  void set_Inv(), set_Amort(), set_C_R();
+  double temp;
+  int i, j, counter;
+  bool OK;
+  double yield_tab[15];
+
+  double yield ( int k ) const { return yield_tab[(k==15) ? 14 : k%15]; }
+  
+public:
+  double *Inv, *Coper, *Amort, *Rev, *Flow, *Flowact;
+  double  i_rate, a_rate;
+  int N;
+  cashflow(int);
+  ~cashflow();
+  // void set(char n[31]) {strcpy(name, n);}
+  void set_rates(double d1, double d2){i_rate=d1; a_rate=d2;}
+  void set_basics(double d1, double d2, double d3){Itot=d1; Ctot=d2; Rtot=d3;}
+  bool run();
+};
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/chemical.cpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/chemical.cpp
index ad29297..3c155a1 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/chemical.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/chemical.cpp
@@ -1,529 +1,529 @@
-#include "chemical.hpp"
-using namespace std;
-
-void chemical::check_error ( void ) {
-  if (error>MAX_ERROR) {
-    cout << "ERROR 2\n\n";
-    exit(0);
-  }  
-  if (warning>MAX_WARNING) {
-    cout << "ERROR 3\n\n";
-    exit(0);
-  }
-}
-
-// copy-constr. :
-chemical::chemical ( const chemical & chem ) {
-
-  CAS           = chem.CAS;
-  name          = chem.name;
-  M             = chem.M;
-
-  state         = chem.state;
-  Tm            = chem.Tm;
-  Tb            = chem.Tb;
-  Tc            = chem.Tc;
-  Pc            = chem.Pc;
-  Ho            = chem.Ho;
-  rho_liq       = chem.rho_liq;
-  dHvap         = chem.dHvap;
-
-  mu_param[0]   = chem.mu_param[0];
-  mu_param[1]   = chem.mu_param[1];
-  Cp_param[0]   = chem.Cp_param[0];
-  Cp_param[1]   = chem.Cp_param[1];
-  Cp_param[2]   = chem.Cp_param[2];
-  Cp_param[3]   = chem.Cp_param[3];
-  Cp_liq        = chem.Cp_liq;
-  Psat_param[0] = chem.Psat_param[0];
-  Psat_param[1] = chem.Psat_param[1];
-  Psat_param[2] = chem.Psat_param[2];
-    
-  thermo = new thermolib();
-  thermo->send(Pc,Tc, omega());
-
-  P = chem.P;
-  T = chem.T;
-  m = chem.m;
-  v = chem.v;
-
-  warning = chem.warning;
-  error   = chem.error;
-  tmp     = chem.tmp;
-}
-
-chemical::chemical ( const string & chem_name ) {
-
-  CAS = chem_name;
-	
-	// C. Tribes add initialization for more robustness (variables may be initialized uncorrectly dependent on the execution)
-	P=T=m=v=0.0;
-
-  // 1/12 :
-  if (CAS=="100-41-4") {
-    name = "ethylbenzene";
-    M = 106.17;
-    state = 0;
-    Tm = 178.2;
-    Tb = 409.3;
-    Tc = 617.1;
-    Pc = 35.6;
-    Ho = 29.79;
-    rho_liq = 867.0;
-    dHvap = 35.56;
-    mu_param[0] = 472.82;
-    mu_param[1] = 264.22;
-    Cp_param[0] = -43.069;
-    Cp_param[1] = 7.067e-01;
-    Cp_param[2] = -4.807e-04;
-    Cp_param[3] = 1.30e-07;
-    Cp_liq = 190.23;
-    Psat_param[0] = 16.0195;
-    Psat_param[1] = 3279.47;
-    Psat_param[2] = -59.95;
-  }
-
-  // 2/12 :
-  else if (CAS=="1333-74-0") {
-    name = "hydrogen";
-    M = 2.02;
-    state = 1;
-    Tm = 14.0;
-    Tb = 20.4;
-    Tc = 33.2;
-    Pc = 12.8;
-    Ho = 0.0;
-    rho_liq = 71.0;
-    dHvap = 0.9;
-    mu_param[0] = 13.82;
-    mu_param[1] = 5.39;
-    Cp_param[0] = 27.124;
-    Cp_param[1] = 9.267e-03;
-    Cp_param[2] = -1.380e-05;
-    Cp_param[3] = 7.64e-09;
-    Cp_liq = 0.0;
-    Psat_param[0] = 13.6333;
-    Psat_param[1] = 164.90;
-    Psat_param[2] = 3.19;
-  }
-
-  // 3/12 :
-  else if (CAS=="108-88-3") {
-    name = "toluene";
-    M =92.14;
-    state = 0;
-    Tm = 178.0;
-    Tb = 383.8;
-    Tc = 591.7;
-    Pc = 40.6;
-    Ho = 50.0;
-    rho_liq = 867;
-    dHvap = 33.18;
-    mu_param[0] = 467.33;
-    mu_param[1] = 255.24;
-    Cp_param[0] = -24.338;
-    Cp_param[1] = 5.121e-1;
-    Cp_param[2] = -2.763e-4;
-    Cp_param[3] = 4.91e-8;
-    Cp_liq      = 159.85;
-    Psat_param[0] = 16.0137;
-    Psat_param[1] = 3096.52;
-    Psat_param[2] = -53.67;
-  }
-
-  // 4/12 :
-  else if (CAS=="74-82-8") {
-    name = "methane";
-    M =16.04;
-    state =1;
-    Tm = 90.7;
-    Tb = 111.7;
-    Tc = 190.6;
-    Pc = 45.4;
-    Ho = -74.85;
-    rho_liq = 425;
-    dHvap = 8.18;
-    mu_param[0] = 114.14;
-    mu_param[1] = 57.60;
-    Cp_param[0] = 19.238;
-    Cp_param[1] = 5.209e-02;
-    Cp_param[2] = 1.197e-05;
-    Cp_param[3] = -1.13e-08;
-    Cp_liq      = 0.0;
-    Psat_param[0] = 15.2243;
-    Psat_param[1] = 897.84;
-    Psat_param[2] = -7.16;
-  }
-
-  // 5/12 :
-  else if (CAS=="71-43-2") {
-    name = "benzene";
-    M = 78.11;
-    state = 0;
-    Tm = 278.7;
-    Tb = 353.3;
-    Tc = 562.1;
-    Pc = 48.3;
-    Ho = 82.93;
-    rho_liq = 885;
-    dHvap = 30.76;
-    mu_param[0] = 545.64;
-    mu_param[1] = 265.24;
-    Cp_param[0] = 33.894;
-    Cp_param[1] = 4.74e-1;
-    Cp_param[2] = -3.015e-4;
-    Cp_param[3] = 7.13e-8;
-    Cp_liq      = 116.03;
-    Psat_param[0] = 15.9008;
-    Psat_param[1] = 2788.51;
-    Psat_param[2] = -52.36;
-  }
-
-  // 6/12 :
-  else if (CAS=="74-85-1") {
-    name = "ethylene";
-    M = 28.05;
-    state =1;
-    Tm = 104.0;
-    Tb = 169.4;
-    Tc = 282.4;
-    Pc = 49.7;
-    Ho =52.3;
-    rho_liq = 577.0;
-    dHvap = 13.54;
-    mu_param[0] = 168.98;
-    mu_param[1] = 93.94;
-    Cp_param[0] = 3.803;
-    Cp_param[1] = 1.565e-01;
-    Cp_param[2] = -8.343e-05;
-    Cp_param[3] = 1.75e-08;
-    Cp_liq      = 0.0;
-    Psat_param[0] =15.5368;
-    Psat_param[1] = 1347.01;
-    Psat_param[2] = -18.15;
-  }
-
-  // 7/12 :
-  else if (CAS=="100-42-5") {
-    name = "styrene";
-    M =104.15;
-    state = 0;
-    Tm = 242.5;
-    Tb = 418.3;
-    Tc =647.0;
-    Pc =39.4;
-    Ho =147.36;
-    rho_liq =906.0;
-    dHvap = 36.82;
-    mu_param[0] = 528.64;
-    mu_param[1] = 276.71;
-    Cp_param[0] =-28.229;
-    Cp_param[1] =6.155e-01;
-    Cp_param[2] = -4.020e-04;
-    Cp_param[3] = 9.93e-08;
-    Cp_liq      =166.13;
-    Psat_param[0] = 16.0193;
-    Psat_param[1] = 3328.57;
-    Psat_param[2] =-63.72;
-  }
-
-  // 8/12 :
-  else if (CAS=="7782-44-7") {
-    name = "oxygen";
-    M = 32.00;
-    state = 1;
-    Tm = 54.4;
-    Tb = 90.2;
-    Tc = 154.6;
-    Pc = 49.8;
-    Ho =0.0 ;
-    rho_liq =1149.1 ;
-    dHvap =6.82 ;
-    mu_param[0] = 85.68;
-    mu_param[1] =  51.50;
-    Cp_param[0] = 28.087;
-    Cp_param[1] = -3.678e-06 ;
-    Cp_param[2] = 1.745e-05;
-    Cp_param[3] = -1.06e-08;
-    Cp_liq      =0.0 ;
-    Psat_param[0] = 15.4075;
-    Psat_param[1] =  734.55 ;
-    Psat_param[2] =-6.45 ;
-  }
-
-  // 9/12 :
-  else if (CAS=="7727-37-9") {
-    name = "nitrogen";
-    M = 28.01;
-    state = 1;
-    Tm = 63.3;
-    Tb = 77.4;
-    Tc =  126.2;
-    Pc =  33.5;
-    Ho = 0.0;
-    rho_liq = 804.0;
-    dHvap = 5.58;
-    mu_param[0] = 90.30;
-    mu_param[1] = 46.41;
-    Cp_param[0] = 31.128;
-    Cp_param[1] = -1.356e-02 ;
-    Cp_param[2] = 2.678e-05;
-    Cp_param[3] =-1.17e-08 ;
-    Cp_liq      = 0.0;
-    Psat_param[0] = 14.9342;
-    Psat_param[1] =  588.72;
-    Psat_param[2] = -6.60;
-  }
-
-  // 10/12 :
-  else if (CAS=="124-38-9") {
-    name = "carbon-dioxide";
-    M =44.01;
-    state = 1;
-    Tm = 216.6;
-    Tb = 194.4;
-    Tc = 304.2;
-    Pc =  72.8;
-    Ho =  -393.41;
-    rho_liq = 777.0;
-    dHvap = 17.15;
-    mu_param[0] = 578.08;
-    mu_param[1] = 185.24 ;
-    Cp_param[0] = 19.782;
-    Cp_param[1] = 7.339e-02;
-    Cp_param[2] = -5.598e-05;
-    Cp_param[3] = 1.71e-08;
-    Cp_liq      = 0.0;
-    Psat_param[0] = 22.5898;
-    Psat_param[1] =3103.39 ;
-    Psat_param[2] =  -0.16;
-  }
-
-  // 11/12 :
-  else if (CAS=="7732-18-5") {
-    name = "water";
-    M =18.02;
-    state = 0;
-    Tm = 273.15;
-    Tb = 373.15;
-    Tc = 647.4;
-    Pc = 217.6;
-    Ho = -241.83;
-    rho_liq = 998 ;
-    dHvap = 40.66;
-    mu_param[0] = 658.25;
-    mu_param[1] = 283.16;
-    Cp_param[0] = 32.220;
-    Cp_param[1] = 1.923e-03 ;
-    Cp_param[2] = 1.055e-05;
-    Cp_param[3] = -3.59e-09;
-    Cp_liq      = 75.24;
-    Psat_param[0] = 18.3036;
-    Psat_param[1] = 3816.44;
-    Psat_param[2] = -46.13;
-  }
-
-  // 12/12 :
-  else if (CAS=="64-17-5") {
-    name = "ethanol";
-    M =46.07;
-    state =0 ;
-    Tm =159.1 ;
-    Tb = 351.5;
-    Tc =  516.2;
-    Pc =63.0 ;
-    Ho =  -234.8;
-    rho_liq = 789.0;
-    dHvap =38.74 ;
-    mu_param[0] = 686.64;
-    mu_param[1] = 300.88;
-    Cp_param[0] = 9.008;
-    Cp_param[1] =  2.139e-01;
-    Cp_param[2] = -8.385e-05 ;
-    Cp_param[3] =  1.37e-09;
-    Cp_liq      = 2.22;
-    Psat_param[0] = 18.9119;
-    Psat_param[1] =  3803.98;
-    Psat_param[2] = -41.68;
-  }
-
-  else {
-    cout << "ERROR 1\n\n";
-    exit(0);
-  }
-
-  thermo = new thermolib();
-  thermo->send(Pc,Tc, omega());
-
-
-}
-
-double chemical::K()
-{
-      thermo->set(P,T,v,n());
-      return thermo->K();
-}
-
-double chemical::mu()
-{
-	// Returns the fluid's viscosity in Pa.s
-   if (Tm<=T && T<=Tboil(P))
-      return pow(10,(mu_param[0]*(1.0/T-1.0/mu_param[1])-3));
-   else
-   {
-	   ofstream logf;
-      logf.open(MESSAGES, ios::app);
-      logf<<"   --> Warning <--  Cannot compute viscosity of "<<name<<".\n";
-      logf.close();
-      warning++;
-      check_error();
-      return 1.0;
-   }
-}
-
-double chemical::rho()
-{
-	// Returns the fluid's density in kg/m3, wether it's liquid or gas
-   if(state==0) tmp= rho_liq;
-   if(state==1)
-   {
-      find_v();
-      if (v>EPS) tmp= m/v;
-      else tmp= 0.0;
-   }
-   return  tmp;
-}
-
-double chemical::Cp() {
-  // cout<<endl<<"Cp de "<<name<<" a "<<T;
-  // Returns the fluid's Cp in J/mol.K
-  if(state==0) {
-
-    // tmp = Cp_liq;  // BUG : boucle infinie !!!
-    return Cp_liq; // SEB
-    
-  }
-  if(state==1 || T>Tboil(P)) {
-    tmp=0;
-    for (int i=0;i<4;i++)
-      tmp+=Cp_param[i]*pow(T,i);
-  }
-  else {
-    T=Tb;
-
-    tmp = Cp(); // ici boucle infinie si state==0 !!!
-
-  }
-  return tmp;
-}
-
-double chemical::Cp(bool q)
-{
-	// Returns the fluid's Cp in J/mol.K
-   if(q==0) tmp=Cp_liq;
-   if(q==1)
-   {
-   	   tmp=0;
-      for (int i=0;i<4;i++) tmp+=Cp_param[i]*pow(T,i);
-   }
-   return tmp;
-}
-
-double chemical::Psat()
-{
-   // Returns the fluid's vapor pressure in atm, using Antoine's equation
-   if(Tm<=T && T<=Tc)
-      return (exp(Psat_param[0]-Psat_param[1]/(T+Psat_param[2]))/760.01);
-   else
-   {
-
-      return Psat(Tb);
-   }
-}
-double chemical::Psat(double t)
-{
-   // Returns the fluid's vapor pressure in atm, using Antoine's equation
-      return (exp(Psat_param[0]-Psat_param[1]/(t+Psat_param[2]))/760.01);
-}
-
-double chemical::dH(double T1,double T2, double pres)
-{
-   //Enthalpy variation in kJ/mol. Does not affect any attributes of current object.
-   double energy=0, TT=Tboil(pres), vap=Hvap(TT);
-   int sign=1, i;
-   if (T2<T1) {sign = -1; energy=T1; T1=T2; T2=energy; energy=0;}
-   if (T1==T2) energy = 0.0;
-   if (T2<TT) energy = Cp_liq*(T2-T1)/1000;
-   if (TT<T1) for (i=1;i<=4;i++) energy+=Cp_param[i-1]*(pow(T2,i)-pow(T1,i))/i/1000;
-   if(T1<=TT && TT<=T2)
-   {
-      energy=Cp_liq*(TT-T1)/1000;
-      energy+=vap;
-      for (i=1;i<=4;i++) energy+=Cp_param[i-1]*(pow(T2,i)-pow(TT,i))/i/1000;
-   }
-   return energy*sign;
-}
-
-void chemical::find_T()
-{
-   if(n()>EPS && P>EPS)
-   {
-      thermo->set(P,T,v,n());
-      T=thermo->T();
-   }
-   else
-   {
-	   ofstream logf;
-      logf.open(MESSAGES, ios::app);
-      logf<<"   --> Warning <--  Cannot find T of "<<name<<".\n";
-      logf.close();
-      warning++;
-   }
-   check_error();
-}
-
-void chemical::find_P()
-{
-   if(n()>EPS && T>EPS)
-   {
-      thermo->set(P,T,v,n());
-      P=thermo->P();
-   }
-   else
-   {
-	   ofstream logf;
-      logf.open(MESSAGES, ios::app);
-      logf<<"   --> Warning <--  Cannot find P of "<<name<<".\n";
-      logf.close();
-      warning++;
-   }
-   check_error();
-}
-
-void chemical::find_v()
-{
-
-   if(state==0) v=m/rho_liq;
-   if(state==1 && P>EPS && T>EPS && m>EPS)
-   {
-      thermo->set(P,T,v,n());
-      v=thermo->v();
-   }
-}
-
-void chemical::find_state()
-{
-   ofstream logf;
-   if (T>Tc || P>Pc) state = 1;      //T or P is bigger than Tc or Pc
-   if (T<=Tm)                         //T is smaller than melting point
-   {
-	   ofstream logf;
-      logf.open(MESSAGES, ios::app);
-      logf<<"   --> Warning <--  The chemical "<<name<<" is solid.\n";
-      logf.close();
-      warning++;
-   }
-   check_error();
-   if (T<Tboil(P)) state=0;
-   else state=1;
-}
+#include "chemical.hpp"
+using namespace std;
+
+void chemical::check_error ( void ) {
+  if (error>MAX_ERROR) {
+    cout << "ERROR 2\n\n";
+    exit(0);
+  }  
+  if (warning>MAX_WARNING) {
+    cout << "ERROR 3\n\n";
+    exit(0);
+  }
+}
+
+// copy-constr. :
+chemical::chemical ( const chemical & chem ) {
+
+  CAS           = chem.CAS;
+  name          = chem.name;
+  M             = chem.M;
+
+  state         = chem.state;
+  Tm            = chem.Tm;
+  Tb            = chem.Tb;
+  Tc            = chem.Tc;
+  Pc            = chem.Pc;
+  Ho            = chem.Ho;
+  rho_liq       = chem.rho_liq;
+  dHvap         = chem.dHvap;
+
+  mu_param[0]   = chem.mu_param[0];
+  mu_param[1]   = chem.mu_param[1];
+  Cp_param[0]   = chem.Cp_param[0];
+  Cp_param[1]   = chem.Cp_param[1];
+  Cp_param[2]   = chem.Cp_param[2];
+  Cp_param[3]   = chem.Cp_param[3];
+  Cp_liq        = chem.Cp_liq;
+  Psat_param[0] = chem.Psat_param[0];
+  Psat_param[1] = chem.Psat_param[1];
+  Psat_param[2] = chem.Psat_param[2];
+    
+  thermo = new thermolib();
+  thermo->send(Pc,Tc, omega());
+
+  P = chem.P;
+  T = chem.T;
+  m = chem.m;
+  v = chem.v;
+
+  warning = chem.warning;
+  error   = chem.error;
+  tmp     = chem.tmp;
+}
+
+chemical::chemical ( const string & chem_name ) {
+
+  CAS = chem_name;
+	
+	// C. Tribes add initialization for more robustness (variables may be initialized uncorrectly dependent on the execution)
+	P=T=m=v=0.0;
+
+  // 1/12 :
+  if (CAS=="100-41-4") {
+    name = "ethylbenzene";
+    M = 106.17;
+    state = 0;
+    Tm = 178.2;
+    Tb = 409.3;
+    Tc = 617.1;
+    Pc = 35.6;
+    Ho = 29.79;
+    rho_liq = 867.0;
+    dHvap = 35.56;
+    mu_param[0] = 472.82;
+    mu_param[1] = 264.22;
+    Cp_param[0] = -43.069;
+    Cp_param[1] = 7.067e-01;
+    Cp_param[2] = -4.807e-04;
+    Cp_param[3] = 1.30e-07;
+    Cp_liq = 190.23;
+    Psat_param[0] = 16.0195;
+    Psat_param[1] = 3279.47;
+    Psat_param[2] = -59.95;
+  }
+
+  // 2/12 :
+  else if (CAS=="1333-74-0") {
+    name = "hydrogen";
+    M = 2.02;
+    state = 1;
+    Tm = 14.0;
+    Tb = 20.4;
+    Tc = 33.2;
+    Pc = 12.8;
+    Ho = 0.0;
+    rho_liq = 71.0;
+    dHvap = 0.9;
+    mu_param[0] = 13.82;
+    mu_param[1] = 5.39;
+    Cp_param[0] = 27.124;
+    Cp_param[1] = 9.267e-03;
+    Cp_param[2] = -1.380e-05;
+    Cp_param[3] = 7.64e-09;
+    Cp_liq = 0.0;
+    Psat_param[0] = 13.6333;
+    Psat_param[1] = 164.90;
+    Psat_param[2] = 3.19;
+  }
+
+  // 3/12 :
+  else if (CAS=="108-88-3") {
+    name = "toluene";
+    M =92.14;
+    state = 0;
+    Tm = 178.0;
+    Tb = 383.8;
+    Tc = 591.7;
+    Pc = 40.6;
+    Ho = 50.0;
+    rho_liq = 867;
+    dHvap = 33.18;
+    mu_param[0] = 467.33;
+    mu_param[1] = 255.24;
+    Cp_param[0] = -24.338;
+    Cp_param[1] = 5.121e-1;
+    Cp_param[2] = -2.763e-4;
+    Cp_param[3] = 4.91e-8;
+    Cp_liq      = 159.85;
+    Psat_param[0] = 16.0137;
+    Psat_param[1] = 3096.52;
+    Psat_param[2] = -53.67;
+  }
+
+  // 4/12 :
+  else if (CAS=="74-82-8") {
+    name = "methane";
+    M =16.04;
+    state =1;
+    Tm = 90.7;
+    Tb = 111.7;
+    Tc = 190.6;
+    Pc = 45.4;
+    Ho = -74.85;
+    rho_liq = 425;
+    dHvap = 8.18;
+    mu_param[0] = 114.14;
+    mu_param[1] = 57.60;
+    Cp_param[0] = 19.238;
+    Cp_param[1] = 5.209e-02;
+    Cp_param[2] = 1.197e-05;
+    Cp_param[3] = -1.13e-08;
+    Cp_liq      = 0.0;
+    Psat_param[0] = 15.2243;
+    Psat_param[1] = 897.84;
+    Psat_param[2] = -7.16;
+  }
+
+  // 5/12 :
+  else if (CAS=="71-43-2") {
+    name = "benzene";
+    M = 78.11;
+    state = 0;
+    Tm = 278.7;
+    Tb = 353.3;
+    Tc = 562.1;
+    Pc = 48.3;
+    Ho = 82.93;
+    rho_liq = 885;
+    dHvap = 30.76;
+    mu_param[0] = 545.64;
+    mu_param[1] = 265.24;
+    Cp_param[0] = 33.894;
+    Cp_param[1] = 4.74e-1;
+    Cp_param[2] = -3.015e-4;
+    Cp_param[3] = 7.13e-8;
+    Cp_liq      = 116.03;
+    Psat_param[0] = 15.9008;
+    Psat_param[1] = 2788.51;
+    Psat_param[2] = -52.36;
+  }
+
+  // 6/12 :
+  else if (CAS=="74-85-1") {
+    name = "ethylene";
+    M = 28.05;
+    state =1;
+    Tm = 104.0;
+    Tb = 169.4;
+    Tc = 282.4;
+    Pc = 49.7;
+    Ho =52.3;
+    rho_liq = 577.0;
+    dHvap = 13.54;
+    mu_param[0] = 168.98;
+    mu_param[1] = 93.94;
+    Cp_param[0] = 3.803;
+    Cp_param[1] = 1.565e-01;
+    Cp_param[2] = -8.343e-05;
+    Cp_param[3] = 1.75e-08;
+    Cp_liq      = 0.0;
+    Psat_param[0] =15.5368;
+    Psat_param[1] = 1347.01;
+    Psat_param[2] = -18.15;
+  }
+
+  // 7/12 :
+  else if (CAS=="100-42-5") {
+    name = "styrene";
+    M =104.15;
+    state = 0;
+    Tm = 242.5;
+    Tb = 418.3;
+    Tc =647.0;
+    Pc =39.4;
+    Ho =147.36;
+    rho_liq =906.0;
+    dHvap = 36.82;
+    mu_param[0] = 528.64;
+    mu_param[1] = 276.71;
+    Cp_param[0] =-28.229;
+    Cp_param[1] =6.155e-01;
+    Cp_param[2] = -4.020e-04;
+    Cp_param[3] = 9.93e-08;
+    Cp_liq      =166.13;
+    Psat_param[0] = 16.0193;
+    Psat_param[1] = 3328.57;
+    Psat_param[2] =-63.72;
+  }
+
+  // 8/12 :
+  else if (CAS=="7782-44-7") {
+    name = "oxygen";
+    M = 32.00;
+    state = 1;
+    Tm = 54.4;
+    Tb = 90.2;
+    Tc = 154.6;
+    Pc = 49.8;
+    Ho =0.0 ;
+    rho_liq =1149.1 ;
+    dHvap =6.82 ;
+    mu_param[0] = 85.68;
+    mu_param[1] =  51.50;
+    Cp_param[0] = 28.087;
+    Cp_param[1] = -3.678e-06 ;
+    Cp_param[2] = 1.745e-05;
+    Cp_param[3] = -1.06e-08;
+    Cp_liq      =0.0 ;
+    Psat_param[0] = 15.4075;
+    Psat_param[1] =  734.55 ;
+    Psat_param[2] =-6.45 ;
+  }
+
+  // 9/12 :
+  else if (CAS=="7727-37-9") {
+    name = "nitrogen";
+    M = 28.01;
+    state = 1;
+    Tm = 63.3;
+    Tb = 77.4;
+    Tc =  126.2;
+    Pc =  33.5;
+    Ho = 0.0;
+    rho_liq = 804.0;
+    dHvap = 5.58;
+    mu_param[0] = 90.30;
+    mu_param[1] = 46.41;
+    Cp_param[0] = 31.128;
+    Cp_param[1] = -1.356e-02 ;
+    Cp_param[2] = 2.678e-05;
+    Cp_param[3] =-1.17e-08 ;
+    Cp_liq      = 0.0;
+    Psat_param[0] = 14.9342;
+    Psat_param[1] =  588.72;
+    Psat_param[2] = -6.60;
+  }
+
+  // 10/12 :
+  else if (CAS=="124-38-9") {
+    name = "carbon-dioxide";
+    M =44.01;
+    state = 1;
+    Tm = 216.6;
+    Tb = 194.4;
+    Tc = 304.2;
+    Pc =  72.8;
+    Ho =  -393.41;
+    rho_liq = 777.0;
+    dHvap = 17.15;
+    mu_param[0] = 578.08;
+    mu_param[1] = 185.24 ;
+    Cp_param[0] = 19.782;
+    Cp_param[1] = 7.339e-02;
+    Cp_param[2] = -5.598e-05;
+    Cp_param[3] = 1.71e-08;
+    Cp_liq      = 0.0;
+    Psat_param[0] = 22.5898;
+    Psat_param[1] =3103.39 ;
+    Psat_param[2] =  -0.16;
+  }
+
+  // 11/12 :
+  else if (CAS=="7732-18-5") {
+    name = "water";
+    M =18.02;
+    state = 0;
+    Tm = 273.15;
+    Tb = 373.15;
+    Tc = 647.4;
+    Pc = 217.6;
+    Ho = -241.83;
+    rho_liq = 998 ;
+    dHvap = 40.66;
+    mu_param[0] = 658.25;
+    mu_param[1] = 283.16;
+    Cp_param[0] = 32.220;
+    Cp_param[1] = 1.923e-03 ;
+    Cp_param[2] = 1.055e-05;
+    Cp_param[3] = -3.59e-09;
+    Cp_liq      = 75.24;
+    Psat_param[0] = 18.3036;
+    Psat_param[1] = 3816.44;
+    Psat_param[2] = -46.13;
+  }
+
+  // 12/12 :
+  else if (CAS=="64-17-5") {
+    name = "ethanol";
+    M =46.07;
+    state =0 ;
+    Tm =159.1 ;
+    Tb = 351.5;
+    Tc =  516.2;
+    Pc =63.0 ;
+    Ho =  -234.8;
+    rho_liq = 789.0;
+    dHvap =38.74 ;
+    mu_param[0] = 686.64;
+    mu_param[1] = 300.88;
+    Cp_param[0] = 9.008;
+    Cp_param[1] =  2.139e-01;
+    Cp_param[2] = -8.385e-05 ;
+    Cp_param[3] =  1.37e-09;
+    Cp_liq      = 2.22;
+    Psat_param[0] = 18.9119;
+    Psat_param[1] =  3803.98;
+    Psat_param[2] = -41.68;
+  }
+
+  else {
+    cout << "ERROR 1\n\n";
+    exit(0);
+  }
+
+  thermo = new thermolib();
+  thermo->send(Pc,Tc, omega());
+
+
+}
+
+double chemical::K()
+{
+      thermo->set(P,T,v,n());
+      return thermo->K();
+}
+
+double chemical::mu()
+{
+	// Returns the fluid's viscosity in Pa.s
+   if (Tm<=T && T<=Tboil(P))
+      return pow(10,(mu_param[0]*(1.0/T-1.0/mu_param[1])-3));
+   else
+   {
+	   ofstream logf;
+      logf.open(MESSAGES, ios::app);
+      logf<<"   --> Warning <--  Cannot compute viscosity of "<<name<<".\n";
+      logf.close();
+      warning++;
+      check_error();
+      return 1.0;
+   }
+}
+
+double chemical::rho()
+{
+	// Returns the fluid's density in kg/m3, wether it's liquid or gas
+   if(state==0) tmp= rho_liq;
+   if(state==1)
+   {
+      find_v();
+      if (v>EPS) tmp= m/v;
+      else tmp= 0.0;
+   }
+   return  tmp;
+}
+
+double chemical::Cp() {
+  // cout<<endl<<"Cp de "<<name<<" a "<<T;
+  // Returns the fluid's Cp in J/mol.K
+  if(state==0) {
+
+    // tmp = Cp_liq;  // BUG : boucle infinie !!!
+    return Cp_liq; // SEB
+    
+  }
+  if(state==1 || T>Tboil(P)) {
+    tmp=0;
+    for (int i=0;i<4;i++)
+      tmp+=Cp_param[i]*pow(T,i);
+  }
+  else {
+    T=Tb;
+
+    tmp = Cp(); // ici boucle infinie si state==0 !!!
+
+  }
+  return tmp;
+}
+
+double chemical::Cp(bool q)
+{
+	// Returns the fluid's Cp in J/mol.K
+   if(q==0) tmp=Cp_liq;
+   if(q==1)
+   {
+   	   tmp=0;
+      for (int i=0;i<4;i++) tmp+=Cp_param[i]*pow(T,i);
+   }
+   return tmp;
+}
+
+double chemical::Psat()
+{
+   // Returns the fluid's vapor pressure in atm, using Antoine's equation
+   if(Tm<=T && T<=Tc)
+      return (exp(Psat_param[0]-Psat_param[1]/(T+Psat_param[2]))/760.01);
+   else
+   {
+
+      return Psat(Tb);
+   }
+}
+double chemical::Psat(double t)
+{
+   // Returns the fluid's vapor pressure in atm, using Antoine's equation
+      return (exp(Psat_param[0]-Psat_param[1]/(t+Psat_param[2]))/760.01);
+}
+
+double chemical::dH(double T1,double T2, double pres)
+{
+   //Enthalpy variation in kJ/mol. Does not affect any attributes of current object.
+   double energy=0, TT=Tboil(pres), vap=Hvap(TT);
+   int sign=1, i;
+   if (T2<T1) {sign = -1; energy=T1; T1=T2; T2=energy; energy=0;}
+   if (T1==T2) energy = 0.0;
+   if (T2<TT) energy = Cp_liq*(T2-T1)/1000;
+   if (TT<T1) for (i=1;i<=4;i++) energy+=Cp_param[i-1]*(pow(T2,i)-pow(T1,i))/i/1000;
+   if(T1<=TT && TT<=T2)
+   {
+      energy=Cp_liq*(TT-T1)/1000;
+      energy+=vap;
+      for (i=1;i<=4;i++) energy+=Cp_param[i-1]*(pow(T2,i)-pow(TT,i))/i/1000;
+   }
+   return energy*sign;
+}
+
+void chemical::find_T()
+{
+   if(n()>EPS && P>EPS)
+   {
+      thermo->set(P,T,v,n());
+      T=thermo->T();
+   }
+   else
+   {
+	   ofstream logf;
+      logf.open(MESSAGES, ios::app);
+      logf<<"   --> Warning <--  Cannot find T of "<<name<<".\n";
+      logf.close();
+      warning++;
+   }
+   check_error();
+}
+
+void chemical::find_P()
+{
+   if(n()>EPS && T>EPS)
+   {
+      thermo->set(P,T,v,n());
+      P=thermo->P();
+   }
+   else
+   {
+	   ofstream logf;
+      logf.open(MESSAGES, ios::app);
+      logf<<"   --> Warning <--  Cannot find P of "<<name<<".\n";
+      logf.close();
+      warning++;
+   }
+   check_error();
+}
+
+void chemical::find_v()
+{
+
+   if(state==0) v=m/rho_liq;
+   if(state==1 && P>EPS && T>EPS && m>EPS)
+   {
+      thermo->set(P,T,v,n());
+      v=thermo->v();
+   }
+}
+
+void chemical::find_state()
+{
+   ofstream logf;
+   if (T>Tc || P>Pc) state = 1;      //T or P is bigger than Tc or Pc
+   if (T<=Tm)                         //T is smaller than melting point
+   {
+	   ofstream logf;
+      logf.open(MESSAGES, ios::app);
+      logf<<"   --> Warning <--  The chemical "<<name<<" is solid.\n";
+      logf.close();
+      warning++;
+   }
+   check_error();
+   if (T<Tboil(P)) state=0;
+   else state=1;
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/chemical.hpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/chemical.hpp
index 344bd01..71b28a9 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/chemical.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/chemical.hpp
@@ -1,48 +1,48 @@
-#ifndef CHEMICAL_H
-#define CHEMICAL_H
-
-#include "thermolib.hpp"
-#include <string>
-using namespace std;
-
-class chemical
-{
- public:
-  string name;
-  string CAS;
-      double M;			//molar weight, in g/mol
-      bool state; 		//current state : 0=liquid 1=gas
-      double P, T, m, v;	//current values : P in atm, T in K, m in kg/s, v in m3/s
-
-      double n() {return 1000.0*m/M;} //mole flow in mol/s
-      double Hvap(double t) {return dHvap*pow((Tc-t)/(Tc-Tb),0.38);} //vaporization heat at specific T (Watson correlation)
-      double omega() {return ((-1.0)*log10(Psat(0.7*Tc)/Pc) -1.0);}   //Pitzer acentric factor
-      double Tboil(double p) {return (Psat_param[1]/(Psat_param[0]-log(760.01*p))-Psat_param[2]);}  //boiling tempararure at specific P
-      double mu(), rho(), Cp(), Cp(bool), Psat(), Psat(double);			  //T-dependant properties
-      double K();												//liquid-vapor equilibrium constant
-      double gamma(){return Cp(true)/(Cp(true)-8.3144);}//compressibility ratio =Cp/Cv
-      double dH(double, double, double);			//enthalpy variation kJ/mol
-      void find_T(), find_P(), find_v(), find_state();	//for gases only
-      double Tm, Tb, Tc, Pc;											//melting, boiling and critical temp. (K); critical pressure (atm)
-      double Ho;//standard formation heat in kJ/mol
-      
-      //private: 
-      int warning, error;
-      void check_error();
-      double dHvap, tmp;					//vaporization heat (kJ/mol)
-      double mu_param[2], Cp_param[4], Cp_liq, Psat_param[3], rho_liq; //correlations parameters
-      thermolib *thermo;
-
-      // public:
-  // chemical() {};
-
-  // copy-constr. :
-  chemical ( const chemical & chem );
-
-  chemical ( const string & chem_name );	//Contructor : initializes fields and reads CAS in the data file
-  void purge() {P=T=m=v=0.0; state=false;}
-  ~chemical(){delete thermo;};
-};
-
-#endif
-
+#ifndef CHEMICAL_H
+#define CHEMICAL_H
+
+#include "thermolib.hpp"
+#include <string>
+using namespace std;
+
+class chemical
+{
+ public:
+  string name;
+  string CAS;
+      double M;			//molar weight, in g/mol
+      bool state; 		//current state : 0=liquid 1=gas
+      double P, T, m, v;	//current values : P in atm, T in K, m in kg/s, v in m3/s
+
+      double n() {return 1000.0*m/M;} //mole flow in mol/s
+      double Hvap(double t) {return dHvap*pow((Tc-t)/(Tc-Tb),0.38);} //vaporization heat at specific T (Watson correlation)
+      double omega() {return ((-1.0)*log10(Psat(0.7*Tc)/Pc) -1.0);}   //Pitzer acentric factor
+      double Tboil(double p) {return (Psat_param[1]/(Psat_param[0]-log(760.01*p))-Psat_param[2]);}  //boiling tempararure at specific P
+      double mu(), rho(), Cp(), Cp(bool), Psat(), Psat(double);			  //T-dependant properties
+      double K();												//liquid-vapor equilibrium constant
+      double gamma(){return Cp(true)/(Cp(true)-8.3144);}//compressibility ratio =Cp/Cv
+      double dH(double, double, double);			//enthalpy variation kJ/mol
+      void find_T(), find_P(), find_v(), find_state();	//for gases only
+      double Tm, Tb, Tc, Pc;											//melting, boiling and critical temp. (K); critical pressure (atm)
+      double Ho;//standard formation heat in kJ/mol
+      
+      //private: 
+      int warning, error;
+      void check_error();
+      double dHvap, tmp;					//vaporization heat (kJ/mol)
+      double mu_param[2], Cp_param[4], Cp_liq, Psat_param[3], rho_liq; //correlations parameters
+      thermolib *thermo;
+
+      // public:
+  // chemical() {};
+
+  // copy-constr. :
+  chemical ( const chemical & chem );
+
+  chemical ( const string & chem_name );	//Contructor : initializes fields and reads CAS in the data file
+  void purge() {P=T=m=v=0.0; state=false;}
+  ~chemical(){delete thermo;};
+};
+
+#endif
+
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/column.cpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/column.cpp
index f4a35c1..85ab3e0 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/column.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/column.cpp
@@ -1,290 +1,290 @@
-#include "column.hpp"
-using namespace std;
-
-column::column(stream* in, stream* out_B, stream* out_D)
-{
-  F = in;
-  B = out_B;
-  D = out_D;
-  L=new stream("columnL", F->nb, F->chem);
-  V=new stream("columnV", F->nb, F->chem);
-  flasher = new flash(F, L, V);
-  alpha_1 = new double[F->nb];
-  alpha_f = new double[F->nb];
-  alpha_N = new double[F->nb];
-  alpha_m = new double[F->nb];
-  T_d=0; T_b=0; T_f=F->T;
-//   for(i=0;i<F->nb;i++)
-//     if(F->chem[i]->Tc<F->T && F->chem[i]->m>EPS)
-//       {
-// 	logf.open(MESSAGES,ios::app);
-// 	logf<<"   --> Warning <--  Presence of gas in column.\n";
-// 	logf.close();
-// 	i=F->nb;
-//       }
-}
-
-column::~column()
-{
-   delete L; delete V; delete flasher;
-   delete []  alpha_1;
-   delete [] alpha_f;
-   delete [] alpha_N;
-   delete [] alpha_m;
-}
-
-void column::set(double p, int lk, double xd, int hk, double xb)
-{
-   P=p;
-   HK=hk-1; x_B=xb;
-   LK=lk-1; x_D=xd;
-   //logf.open(MESSAGES, ios::app);
- //  F->write(); system("pause");
- //  if (F->chem[LK]->m<EPS) logf<<"   ==> Error <==  Flow of light key in column "<<name<<" is zero.\n";
-//   if (F->chem[HK]->m<EPS) logf<<"   ==> Error <==  Flow of heavy key in column "<<name<<" is zero.\n";
-   //logf.close();
-}
-
-bool column::solve()
-{
-
-   OK=true;
- //  B->thermo=F->thermo; D->thermo=F->thermo;
-   //flash once the feed stream
-
-
-   
-   flasher->set(P,F->T);
-
-   flasher->adiabatic();
-
-
-   T_f=flasher->T;
-   L->set(P, T_f); V->set(P, T_f);
-   // L->write(); V->write();  TOTO
-   //check if a column is needed; if not, bypass block
-   if(F->chem[LK]->n()/F->n()<0.001) OK=false;
-   if(F->chem[HK]->n()/F->n()<0.001) OK=false;
-   if(!OK)
-     return false;
-//    {
-//       strcpy(filename, B->name); *B=*L; B->set(filename); B->write();
-//       strcpy(filename, D->name); *D=*V; D->set(filename); D->write();
-//    }
-   else
-   {
-
-
-
-
-
-      //apply the FUG method
-      first_split();
-      Nmin = Fenske();
-      N=Nmin+1;
-      while (fabs(N-Nmin)>0.1)
-      {
-         N=Nmin;
-         D->set(P, T_f); T_d=D->bp;
-         B->set(P, T_f); T_b=B->bp;
-         set_alpha();
-         distribute();
-         Nmin = Fenske();
-         if (Nmin<1) Nmin=1;
-      }
-      D->set(P, T_d);
-      B->set(P, T_b);
-      if(fabs(Nmin)<=MIN_PLATES || fabs(Nmin)>MAX_PLATES)  OK=false;
-      else
-      {
-         Rmin = Underwood();
-         if(Rmin>100) Rmin=100;
-         if(L->chem[HK]->m+L->chem[LK]->m<EPS) Rmin=10.0;
-         if (Nmin<5) Ract = 1.5*Rmin;
-         if (5<Nmin && Nmin<15) Ract = 1.3*Rmin;
-         if (15<=Nmin) Ract = 1.1*Rmin;
-         N = Gilliland();
-         feed = Kirkbride();
-         condense();
-         reboil();
-      }
-      // B->write();  TOTO
-      // D->write(); TOTO
-   }
-   return OK;
-}
-
-void column::first_split()
-{
-   B->purge(); D->purge();
-   set_alpha();
-   //Check if LK is really lighter than HK
-   if (alpha_m[LK]<1)
-   {
-//       logf.open(MESSAGES,ios::app);
-//       logf<<"   --> Warning <--  Swapping keys in column "<<name<<".\n";
-//       logf.close();
-      feed=LK; LK=HK; HK=feed; set_alpha();
-   }
-   for(i=0;i<F->nb;i++)
-   {
-      if (i!=LK && i!=HK && F->chem[i]->m>EPS)
-      {
-         if(alpha_f[i] > alpha_f[LK]) //volatile
-         {
-            D->chem[i]->m = (alpha_f[i]-alpha_f[LK])/alpha_f[i]*F->chem[i]->m;
-            D->m += D->chem[i]->m;
-            B->chem[i]->m = F->chem[i]->m-D->chem[i]->m;
-            B->m+=B->chem[i]->m;
-         }
-         if(alpha_f[i] < 1)           //not volatile
-         {
-            B->chem[i]->m = (alpha_f[HK]-alpha_f[i])/alpha_f[i]*F->chem[i]->m;
-            B->m += B->chem[i]->m;
-            D->chem[i]->m = F->chem[i]->m-B->chem[i]->m;
-            D->m+=D->chem[i]->m;
-         }
-         if(1 <= alpha_f[i] && alpha_f[i]<=alpha_f[LK]) //ambiguous volatility
-         {
-            D->chem[i]->m = (alpha_f[i]-1)/(alpha_f[LK]-1)*F->chem[i]->m;
-            B->chem[i]->m = F->chem[i]->m-D->chem[i]->m;
-            D->m+=D->chem[i]->m;
-            B->m+=B->chem[i]->m;
-         }
-      }
-   }
-   D->chem[HK]->m = D->n()*x_D/(1-x_D)*D->chem[HK]->M/1000.0;
-   if(D->chem[HK]->m<EPS) D->chem[HK]->m=0.01*F->chem[HK]->m;
-   B->chem[LK]->m = B->n()*x_B/(1-x_B)*B->chem[LK]->M/1000.0;
-   if(B->chem[LK]->m<EPS) B->chem[LK]->m=0.01*F->chem[LK]->m;
-   B->chem[HK]->m = F->chem[HK]->m - D->chem[HK]->m;
-   D->chem[LK]->m = F->chem[LK]->m - B->chem[LK]->m;
-   D->m += (D->chem[LK]->m + D->chem[HK]->m);
-   B->m += (B->chem[LK]->m + B->chem[HK]->m);
-}
-void column::distribute()
-{
-   D->m=0; B->m=0;
-   for(i=0;i<F->nb;i++)
-   {
-      if (i!=LK && i!=HK  && F->chem[i]->m>EPS)
-      {
-         if(alpha_m[i] > 1) //volatile and ambiguous
-         {
-            B->chem[i]->m = F->chem[i]->m/(1+D->chem[HK]->n()/B->chem[HK]->n()*pow(alpha_m[i], Nmin));
-            D->chem[i]->m = F->chem[i]->m - B->chem[i]->m;
-         }
-         if(alpha_m[i] <= 1)           //not volatile
-         {
-            D->chem[i]->m = F->chem[i]->m*(D->chem[HK]->n()/B->chem[HK]->n()*pow(alpha_m[i], Nmin))/(1+D->chem[HK]->n()/B->chem[HK]->n()*pow(alpha_m[i], Nmin));
-            B->chem[i]->m = F->chem[i]->m - D->chem[i]->m;
-         }
-         D->m+=D->chem[i]->m;
-         B->m+=B->chem[i]->m;
-      }
-   }
-   D->m += (D->chem[LK]->m + D->chem[HK]->m);
-   B->m += (B->chem[LK]->m + B->chem[HK]->m);
-}
-
-void column::set_alpha()
-{
-   for(i=0;i<F->nb; i++)
-   {
-      if (T_b>EPS && F->chem[i]->m>EPS) alpha_1[i] = F->chem[i]->Psat(T_b)/F->chem[HK]->Psat(T_b);
-      else alpha_1[i]=0;
-      if (T_d>EPS&& F->chem[i]->m>EPS) alpha_N[i] = F->chem[i]->Psat(T_d)/F->chem[HK]->Psat(T_d);
-      else alpha_N[i]=0;
-      if (T_f>EPS&& F->chem[i]->m>EPS) alpha_f[i] = F->chem[i]->Psat(T_f)/F->chem[HK]->Psat(T_f);
-      else alpha_f[i]=0;
-      alpha_m[i] = pow(alpha_1[i]*alpha_f[i]*alpha_N[i], 1.0/3.0);
-   }
-   for(i=0;i<F->nb;i++) if(alpha_m[i]<EPS&& F->chem[i]->m>EPS) alpha_m[i] = alpha_f[i];
-}
-
-void column::reboil()
-{
-   Q_reboil = 0.0;
-   for (i=0;i<F->nb;i++) if(F->chem[i]->m>EPS)
-   {   
-      Q_reboil += B->chem[i]->Cp(false)*(T_b-T_f)*B->chem[i]->n()/1000.0; //energy to go from input to bottoms T
-      Q_reboil += D->chem[i]->Cp(false)*(T_f-T_d)*D->chem[i]->n()/1000.0; //energy to go from input to tops T
-   }
-   Q_reboil += Q_condens;
-}
-
-void column::condense()
-{
-   Q_condens = 0.0;
-   for (i=0;i<F->nb;i++) if(F->chem[i]->m>EPS)
-   {   
-      Q_condens += D->chem[i]->Hvap(T_d)*(1+Ract)*D->chem[i]->n();
-   }
-}
-
-void column::write()
-{
-  cout << setprecision(11);
-
-  cout << "WRITE FILE " << RUNTIME << name << ".unit" << " :\n\tBEGIN\n";
-  cout <<"\t>>         "<<name;
-  cout <<endl<<"\t>>           stream in: "<<F->name;
-  cout <<endl<<"\t>>           streams out: "<<B->name<<" (bot.)  "<<D->name<<" (top.)";
-  cout <<endl<<"\t>>           P = "<<P<<" atm,  T(0) = "<<T_b<<",  T("<<feed<<") = "<<T_f<<",  T("<<int(N)<<") = "<<T_d<<"  K";
-  cout <<endl<<"\t>>           Number of stages: "<<int(N)<<" (feeding at stage "<<feed<<")";
-  cout <<endl<<setiosflags(ios::fixed|ios::showpoint)<<setprecision(5)<<"\t>>           LK purity = "<<D->chem[LK]->n()/D->n()<<"  HK purity = "<<B->chem[HK]->n()/B->n();
-  cout <<endl<<"\t>>           Reboiler duty: "<<Q_reboil<<" kW   Condenser duty: "<<(-1)*Q_condens<<" kW";
-  cout << "\n\tEND\n\n";
-  cost(); water(); power();
-}
-
-double column::get_cost()
-{
-  //cost of vessel
-  vol=(0.45*N)*(pow(300*D->v, 1.5)/2.4/sqrt(B->v))*sqrt(D->m/B->m);
-  if(vol<0.3) vol=0.3; if(vol>520)vol=520;
-  money = 3.4974+0.4485*log10(vol)+0.1074*pow(log10(vol),2);
-  money = pow(10, money);
-  P= (P-1)*101.325/100;
-  diam=sqrt(4.0*vol/pi/N/0.45);
-  vol=(P+1)*diam/(317.46*(850-0.6*(P+1)))+0.0315;
-  money *=(2.25+ 1.82*vol*2.2);
-  //cost of trays
-  vol = (pow(300*D->v, 1.5)/2.4/sqrt(B->v))*sqrt(D->m/B->m);
-  diam = 2.9949+0.4465*log10(vol)+0.3961*pow(log10(vol),2);
-  money+=1.5*pow(10, diam);
-  //cost of reboiler     U=5250W/m2.K
-  vol=fabs(Q_reboil)/0.85/5.25/15.0;
-  if(vol<10) vol=10; if(vol>100) vol=100;
-  vol = 4.4646-0.5277*log10(vol)+0.3955*pow(log10(vol),2);
-  money += (1.63+1.66*2.5)*pow(10, vol);
-  //cost of condenser    U=1850W/m2.K
-  vol=fabs(Q_condens)/0.85/1.85/(0.5*(T_d-298));
-  if(vol<1) vol=1; if(vol>100) vol=100;
-  vol = 3.9912+0.0668*log10(vol)+0.243*pow(log10(vol),2);
-  money += (1.74+1.55*2.5)*pow(10, vol);
-  money = money*MS_YEAR/MS_2001;
-  return money;
-}
-
-
-void column::cost()
-{
-  cout << "WRITE FILE " << RUNTIME << name << ".cost" << " :\n\tBEGIN\n";
-  cout << "\t>>" << get_cost();
-  cout << "\n\tEND\n\n";
-}
-void column::power()
-{
-  cout << "WRITE FILE " << RUNTIME << name << ".power" << " :\n\tBEGIN\n";
-  money =(Q_reboil/0.85-Q_condens);
-  cout << "\t>>" << money;
-  cout << "\n\tEND\n\n";
-}
-void column::water()
-{
-  cout << "WRITE FILE " << RUNTIME << name << ".water" << " :\n\tBEGIN\n";
-  money = (fabs(Q_condens)/(4.185*0.85*0.25*fabs(T_d-298)));
-  cout << "\t>>" << money;
-  cout << "\n\tEND\n\n";
-}
+#include "column.hpp"
+using namespace std;
+
+column::column(stream* in, stream* out_B, stream* out_D)
+{
+  F = in;
+  B = out_B;
+  D = out_D;
+  L=new stream("columnL", F->nb, F->chem);
+  V=new stream("columnV", F->nb, F->chem);
+  flasher = new flash(F, L, V);
+  alpha_1 = new double[F->nb];
+  alpha_f = new double[F->nb];
+  alpha_N = new double[F->nb];
+  alpha_m = new double[F->nb];
+  T_d=0; T_b=0; T_f=F->T;
+//   for(i=0;i<F->nb;i++)
+//     if(F->chem[i]->Tc<F->T && F->chem[i]->m>EPS)
+//       {
+// 	logf.open(MESSAGES,ios::app);
+// 	logf<<"   --> Warning <--  Presence of gas in column.\n";
+// 	logf.close();
+// 	i=F->nb;
+//       }
+}
+
+column::~column()
+{
+   delete L; delete V; delete flasher;
+   delete []  alpha_1;
+   delete [] alpha_f;
+   delete [] alpha_N;
+   delete [] alpha_m;
+}
+
+void column::set(double p, int lk, double xd, int hk, double xb)
+{
+   P=p;
+   HK=hk-1; x_B=xb;
+   LK=lk-1; x_D=xd;
+   //logf.open(MESSAGES, ios::app);
+ //  F->write(); system("pause");
+ //  if (F->chem[LK]->m<EPS) logf<<"   ==> Error <==  Flow of light key in column "<<name<<" is zero.\n";
+//   if (F->chem[HK]->m<EPS) logf<<"   ==> Error <==  Flow of heavy key in column "<<name<<" is zero.\n";
+   //logf.close();
+}
+
+bool column::solve()
+{
+
+   OK=true;
+ //  B->thermo=F->thermo; D->thermo=F->thermo;
+   //flash once the feed stream
+
+
+   
+   flasher->set(P,F->T);
+
+   flasher->adiabatic();
+
+
+   T_f=flasher->T;
+   L->set(P, T_f); V->set(P, T_f);
+   // L->write(); V->write();  TOTO
+   //check if a column is needed; if not, bypass block
+   if(F->chem[LK]->n()/F->n()<0.001) OK=false;
+   if(F->chem[HK]->n()/F->n()<0.001) OK=false;
+   if(!OK)
+     return false;
+//    {
+//       strcpy(filename, B->name); *B=*L; B->set(filename); B->write();
+//       strcpy(filename, D->name); *D=*V; D->set(filename); D->write();
+//    }
+   else
+   {
+
+
+
+
+
+      //apply the FUG method
+      first_split();
+      Nmin = Fenske();
+      N=Nmin+1;
+      while (fabs(N-Nmin)>0.1)
+      {
+         N=Nmin;
+         D->set(P, T_f); T_d=D->bp;
+         B->set(P, T_f); T_b=B->bp;
+         set_alpha();
+         distribute();
+         Nmin = Fenske();
+         if (Nmin<1) Nmin=1;
+      }
+      D->set(P, T_d);
+      B->set(P, T_b);
+      if(fabs(Nmin)<=MIN_PLATES || fabs(Nmin)>MAX_PLATES)  OK=false;
+      else
+      {
+         Rmin = Underwood();
+         if(Rmin>100) Rmin=100;
+         if(L->chem[HK]->m+L->chem[LK]->m<EPS) Rmin=10.0;
+         if (Nmin<5) Ract = 1.5*Rmin;
+         if (5<Nmin && Nmin<15) Ract = 1.3*Rmin;
+         if (15<=Nmin) Ract = 1.1*Rmin;
+         N = Gilliland();
+         feed = Kirkbride();
+         condense();
+         reboil();
+      }
+      // B->write();  TOTO
+      // D->write(); TOTO
+   }
+   return OK;
+}
+
+void column::first_split()
+{
+   B->purge(); D->purge();
+   set_alpha();
+   //Check if LK is really lighter than HK
+   if (alpha_m[LK]<1)
+   {
+//       logf.open(MESSAGES,ios::app);
+//       logf<<"   --> Warning <--  Swapping keys in column "<<name<<".\n";
+//       logf.close();
+      feed=LK; LK=HK; HK=feed; set_alpha();
+   }
+   for(i=0;i<F->nb;i++)
+   {
+      if (i!=LK && i!=HK && F->chem[i]->m>EPS)
+      {
+         if(alpha_f[i] > alpha_f[LK]) //volatile
+         {
+            D->chem[i]->m = (alpha_f[i]-alpha_f[LK])/alpha_f[i]*F->chem[i]->m;
+            D->m += D->chem[i]->m;
+            B->chem[i]->m = F->chem[i]->m-D->chem[i]->m;
+            B->m+=B->chem[i]->m;
+         }
+         if(alpha_f[i] < 1)           //not volatile
+         {
+            B->chem[i]->m = (alpha_f[HK]-alpha_f[i])/alpha_f[i]*F->chem[i]->m;
+            B->m += B->chem[i]->m;
+            D->chem[i]->m = F->chem[i]->m-B->chem[i]->m;
+            D->m+=D->chem[i]->m;
+         }
+         if(1 <= alpha_f[i] && alpha_f[i]<=alpha_f[LK]) //ambiguous volatility
+         {
+            D->chem[i]->m = (alpha_f[i]-1)/(alpha_f[LK]-1)*F->chem[i]->m;
+            B->chem[i]->m = F->chem[i]->m-D->chem[i]->m;
+            D->m+=D->chem[i]->m;
+            B->m+=B->chem[i]->m;
+         }
+      }
+   }
+   D->chem[HK]->m = D->n()*x_D/(1-x_D)*D->chem[HK]->M/1000.0;
+   if(D->chem[HK]->m<EPS) D->chem[HK]->m=0.01*F->chem[HK]->m;
+   B->chem[LK]->m = B->n()*x_B/(1-x_B)*B->chem[LK]->M/1000.0;
+   if(B->chem[LK]->m<EPS) B->chem[LK]->m=0.01*F->chem[LK]->m;
+   B->chem[HK]->m = F->chem[HK]->m - D->chem[HK]->m;
+   D->chem[LK]->m = F->chem[LK]->m - B->chem[LK]->m;
+   D->m += (D->chem[LK]->m + D->chem[HK]->m);
+   B->m += (B->chem[LK]->m + B->chem[HK]->m);
+}
+void column::distribute()
+{
+   D->m=0; B->m=0;
+   for(i=0;i<F->nb;i++)
+   {
+      if (i!=LK && i!=HK  && F->chem[i]->m>EPS)
+      {
+         if(alpha_m[i] > 1) //volatile and ambiguous
+         {
+            B->chem[i]->m = F->chem[i]->m/(1+D->chem[HK]->n()/B->chem[HK]->n()*pow(alpha_m[i], Nmin));
+            D->chem[i]->m = F->chem[i]->m - B->chem[i]->m;
+         }
+         if(alpha_m[i] <= 1)           //not volatile
+         {
+            D->chem[i]->m = F->chem[i]->m*(D->chem[HK]->n()/B->chem[HK]->n()*pow(alpha_m[i], Nmin))/(1+D->chem[HK]->n()/B->chem[HK]->n()*pow(alpha_m[i], Nmin));
+            B->chem[i]->m = F->chem[i]->m - D->chem[i]->m;
+         }
+         D->m+=D->chem[i]->m;
+         B->m+=B->chem[i]->m;
+      }
+   }
+   D->m += (D->chem[LK]->m + D->chem[HK]->m);
+   B->m += (B->chem[LK]->m + B->chem[HK]->m);
+}
+
+void column::set_alpha()
+{
+   for(i=0;i<F->nb; i++)
+   {
+      if (T_b>EPS && F->chem[i]->m>EPS) alpha_1[i] = F->chem[i]->Psat(T_b)/F->chem[HK]->Psat(T_b);
+      else alpha_1[i]=0;
+      if (T_d>EPS&& F->chem[i]->m>EPS) alpha_N[i] = F->chem[i]->Psat(T_d)/F->chem[HK]->Psat(T_d);
+      else alpha_N[i]=0;
+      if (T_f>EPS&& F->chem[i]->m>EPS) alpha_f[i] = F->chem[i]->Psat(T_f)/F->chem[HK]->Psat(T_f);
+      else alpha_f[i]=0;
+      alpha_m[i] = pow(alpha_1[i]*alpha_f[i]*alpha_N[i], 1.0/3.0);
+   }
+   for(i=0;i<F->nb;i++) if(alpha_m[i]<EPS&& F->chem[i]->m>EPS) alpha_m[i] = alpha_f[i];
+}
+
+void column::reboil()
+{
+   Q_reboil = 0.0;
+   for (i=0;i<F->nb;i++) if(F->chem[i]->m>EPS)
+   {   
+      Q_reboil += B->chem[i]->Cp(false)*(T_b-T_f)*B->chem[i]->n()/1000.0; //energy to go from input to bottoms T
+      Q_reboil += D->chem[i]->Cp(false)*(T_f-T_d)*D->chem[i]->n()/1000.0; //energy to go from input to tops T
+   }
+   Q_reboil += Q_condens;
+}
+
+void column::condense()
+{
+   Q_condens = 0.0;
+   for (i=0;i<F->nb;i++) if(F->chem[i]->m>EPS)
+   {   
+      Q_condens += D->chem[i]->Hvap(T_d)*(1+Ract)*D->chem[i]->n();
+   }
+}
+
+void column::write()
+{
+  cout << setprecision(11);
+
+  cout << "WRITE FILE " << RUNTIME << name << ".unit" << " :\n\tBEGIN\n";
+  cout <<"\t>>         "<<name;
+  cout <<endl<<"\t>>           stream in: "<<F->name;
+  cout <<endl<<"\t>>           streams out: "<<B->name<<" (bot.)  "<<D->name<<" (top.)";
+  cout <<endl<<"\t>>           P = "<<P<<" atm,  T(0) = "<<T_b<<",  T("<<feed<<") = "<<T_f<<",  T("<<int(N)<<") = "<<T_d<<"  K";
+  cout <<endl<<"\t>>           Number of stages: "<<int(N)<<" (feeding at stage "<<feed<<")";
+  cout <<endl<<setiosflags(ios::fixed|ios::showpoint)<<setprecision(5)<<"\t>>           LK purity = "<<D->chem[LK]->n()/D->n()<<"  HK purity = "<<B->chem[HK]->n()/B->n();
+  cout <<endl<<"\t>>           Reboiler duty: "<<Q_reboil<<" kW   Condenser duty: "<<(-1)*Q_condens<<" kW";
+  cout << "\n\tEND\n\n";
+  cost(); water(); power();
+}
+
+double column::get_cost()
+{
+  //cost of vessel
+  vol=(0.45*N)*(pow(300*D->v, 1.5)/2.4/sqrt(B->v))*sqrt(D->m/B->m);
+  if(vol<0.3) vol=0.3; if(vol>520)vol=520;
+  money = 3.4974+0.4485*log10(vol)+0.1074*pow(log10(vol),2);
+  money = pow(10, money);
+  P= (P-1)*101.325/100;
+  diam=sqrt(4.0*vol/pi/N/0.45);
+  vol=(P+1)*diam/(317.46*(850-0.6*(P+1)))+0.0315;
+  money *=(2.25+ 1.82*vol*2.2);
+  //cost of trays
+  vol = (pow(300*D->v, 1.5)/2.4/sqrt(B->v))*sqrt(D->m/B->m);
+  diam = 2.9949+0.4465*log10(vol)+0.3961*pow(log10(vol),2);
+  money+=1.5*pow(10, diam);
+  //cost of reboiler     U=5250W/m2.K
+  vol=fabs(Q_reboil)/0.85/5.25/15.0;
+  if(vol<10) vol=10; if(vol>100) vol=100;
+  vol = 4.4646-0.5277*log10(vol)+0.3955*pow(log10(vol),2);
+  money += (1.63+1.66*2.5)*pow(10, vol);
+  //cost of condenser    U=1850W/m2.K
+  vol=fabs(Q_condens)/0.85/1.85/(0.5*(T_d-298));
+  if(vol<1) vol=1; if(vol>100) vol=100;
+  vol = 3.9912+0.0668*log10(vol)+0.243*pow(log10(vol),2);
+  money += (1.74+1.55*2.5)*pow(10, vol);
+  money = money*MS_YEAR/MS_2001;
+  return money;
+}
+
+
+void column::cost()
+{
+  cout << "WRITE FILE " << RUNTIME << name << ".cost" << " :\n\tBEGIN\n";
+  cout << "\t>>" << get_cost();
+  cout << "\n\tEND\n\n";
+}
+void column::power()
+{
+  cout << "WRITE FILE " << RUNTIME << name << ".power" << " :\n\tBEGIN\n";
+  money =(Q_reboil/0.85-Q_condens);
+  cout << "\t>>" << money;
+  cout << "\n\tEND\n\n";
+}
+void column::water()
+{
+  cout << "WRITE FILE " << RUNTIME << name << ".water" << " :\n\tBEGIN\n";
+  money = (fabs(Q_condens)/(4.185*0.85*0.25*fabs(T_d-298)));
+  cout << "\t>>" << money;
+  cout << "\n\tEND\n\n";
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/column.hpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/column.hpp
index 8dedb5a..cfd1daf 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/column.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/column.hpp
@@ -1,61 +1,61 @@
-/*
-This unit simulates a distillation column, using
-the FUG method.
-(ref : Seader & Henley).
-
-Structure in the .process file:
-column {name} {pressure} {index of input stream} {index of bottoms and heads} {indexes of light key and heavy key} {x_LK and x_HK}
-
-How to use:
-   1- Call the constructor : col = new column(in, out_B, out_D);		//in is F, out_B is B, out_D is D  column(nb, chem_list)
-   set(in, out_B, out_D)
-   2- Set operating conditions : col->set(pressure, LK, x_LK, HK, x_HK);		// LK and HK and integer indexes, x_LK is the undesired mole fraction of LK in B, x_HK...
-   3- Set the name : col->set(name);
-   4- Run the model: col->solve();
-*/
-#ifndef COLUMN_H
-#define COLUMN_H
-
-#include "flash.hpp"
-using namespace std;
-
-class column
-{
-private:
-  //  ofstream results, logf;
-  bool OK;
-  string name;
-  stream *F, *B, *D, *L, *V ;
-  int LK, HK, feed, i;
-  double x_B, x_D, T_b, T_d, T_f, vol, money, diam;
-  double Nmin, N, Rmin, Ract,  tmp, Q_condens, Q_reboil;
-  double *alpha_1, *alpha_f, *alpha_N, *alpha_m;
-  flash *flasher;
-  void set_alpha(), first_split(), distribute(), condense(), reboil();
-  double Fenske() { return log10(D->chem[LK]->n()*B->chem[HK]->n()/D->chem[HK]->n()/B->chem[LK]->n())/log10(alpha_m[LK]);}
-  double Underwood() {return L->n()*(D->chem[LK]->n()/L->chem[LK]->n()-alpha_m[LK]*D->chem[HK]->n()/L->chem[HK]->n())/(D->n()*(alpha_m[LK]-1));}
-  double Gilliland(){N=(Ract-Rmin)/(Ract+1); tmp=1-exp((1+54.4*N)*(N-1)/(11+117.2*N)/pow(N, 0.5)); return (tmp+Nmin)/(1-tmp);}
-  int Kirkbride() {tmp=pow(B->n()*F->chem[HK]->n()*pow(x_B/x_D,2)/F->chem[LK]->n()/D->n(), 0.206); return int(N/(tmp+1));}
-  
-public:
-  // column(){P=0.0;}
-  //	  column(int, chemical*);
-  //	  void set(stream*&, stream*&, stream*&);
-  column(stream*, stream*, stream*);
-  ~column();
-  double P;
-  void set(double, int, double, int, double);
-  void set( const string & n ) { name = n; }
-  bool solve();								
-  void write();
-  void cost(), water(), power();
-
-  double get_cost ( void );
-  double get_power ( void ) const { return Q_reboil/0.85-Q_condens; }
-
-  double get_water ( void ) const { return fabs(Q_condens)/(4.185*0.85*0.25*fabs(T_d-298)); }
-
-  int get_N ( void ) const { return (int) N; }
-
-};
-#endif
+/*
+This unit simulates a distillation column, using
+the FUG method.
+(ref : Seader & Henley).
+
+Structure in the .process file:
+column {name} {pressure} {index of input stream} {index of bottoms and heads} {indexes of light key and heavy key} {x_LK and x_HK}
+
+How to use:
+   1- Call the constructor : col = new column(in, out_B, out_D);		//in is F, out_B is B, out_D is D  column(nb, chem_list)
+   set(in, out_B, out_D)
+   2- Set operating conditions : col->set(pressure, LK, x_LK, HK, x_HK);		// LK and HK and integer indexes, x_LK is the undesired mole fraction of LK in B, x_HK...
+   3- Set the name : col->set(name);
+   4- Run the model: col->solve();
+*/
+#ifndef COLUMN_H
+#define COLUMN_H
+
+#include "flash.hpp"
+using namespace std;
+
+class column
+{
+private:
+  //  ofstream results, logf;
+  bool OK;
+  string name;
+  stream *F, *B, *D, *L, *V ;
+  int LK, HK, feed, i;
+  double x_B, x_D, T_b, T_d, T_f, vol, money, diam;
+  double Nmin, N, Rmin, Ract,  tmp, Q_condens, Q_reboil;
+  double *alpha_1, *alpha_f, *alpha_N, *alpha_m;
+  flash *flasher;
+  void set_alpha(), first_split(), distribute(), condense(), reboil();
+  double Fenske() { return log10(D->chem[LK]->n()*B->chem[HK]->n()/D->chem[HK]->n()/B->chem[LK]->n())/log10(alpha_m[LK]);}
+  double Underwood() {return L->n()*(D->chem[LK]->n()/L->chem[LK]->n()-alpha_m[LK]*D->chem[HK]->n()/L->chem[HK]->n())/(D->n()*(alpha_m[LK]-1));}
+  double Gilliland(){N=(Ract-Rmin)/(Ract+1); tmp=1-exp((1+54.4*N)*(N-1)/(11+117.2*N)/pow(N, 0.5)); return (tmp+Nmin)/(1-tmp);}
+  int Kirkbride() {tmp=pow(B->n()*F->chem[HK]->n()*pow(x_B/x_D,2)/F->chem[LK]->n()/D->n(), 0.206); return int(N/(tmp+1));}
+  
+public:
+  // column(){P=0.0;}
+  //	  column(int, chemical*);
+  //	  void set(stream*&, stream*&, stream*&);
+  column(stream*, stream*, stream*);
+  ~column();
+  double P;
+  void set(double, int, double, int, double);
+  void set( const string & n ) { name = n; }
+  bool solve();								
+  void write();
+  void cost(), water(), power();
+
+  double get_cost ( void );
+  double get_power ( void ) const { return Q_reboil/0.85-Q_condens; }
+
+  double get_water ( void ) const { return fabs(Q_condens)/(4.185*0.85*0.25*fabs(T_d-298)); }
+
+  int get_N ( void ) const { return (int) N; }
+
+};
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/combrx.cpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/combrx.cpp
index 0f30f1a..83ad673 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/combrx.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/combrx.cpp
@@ -1,66 +1,66 @@
-#include "combrx.hpp"
-using namespace std;
-
-combrx::combrx ( const string & cas ) {
-
-  // combustion.prop :
-  // -----------------
-  CAS = cas;
-
-  if (CAS=="64-17-5") {
-    nO2  = 3;
-    nCO2 = 2;
-    nH2O = 3;
-  }
-  else if (CAS=="74-82-8") {
-    nO2  = 2;
-    nCO2 = 1;
-    nH2O = 2;
-  }
-  else if (CAS=="1333-74-0") {
-    nO2  = 0.5;
-    nCO2 = 0;
-    nH2O = 1;
-  }
-  else if (CAS=="100-42-5") {
-    nO2  = 10;
-    nCO2 = 8;
-    nH2O = 4;
-  }
-  else if (CAS=="74-85-1") {
-    nO2  = 3;
-    nCO2 = 2;
-    nH2O = 2;
-  }
-  else if (CAS=="108-88-3") {
-    nO2  = 9;
-    nCO2 = 7;
-    nH2O = 4;
-  }
-  else if (CAS=="100-41-4") {
-    nO2  = 10.5;
-    nCO2 = 8;
-    nH2O = 5;
-  }
-  else if (CAS=="71-43-2") {
-    nO2  = 7.5;
-    nCO2 = 6;
-    nH2O = 3;
-  }
-  else {
-    cout << "ERROR 21" << endl;
-    exit(0);
-  }
-
-  COMB = new chemical(CAS);
-  O2   = new chemical("7782-44-7");
-  N2   = new chemical("7727-37-9");
-  CO2  = new chemical("124-38-9");
-  H2O  = new chemical("7732-18-5");
-  Hro  = CO2->Ho*nCO2 + nH2O*(H2O->Ho - H2O->dHvap) - COMB->Ho;
-  LFLo = -3420.0/Hro + 0.569e-3*Hro + 0.0538e-6*pow(Hro,2) + 1.8;
-  LFLo = LFLo/100.0;
-  UFLo = 0.0063*Hro + 0.567e-6*pow(Hro, 2) + 23.5;
-  UFLo = UFLo/100.0;
-
-}
+#include "combrx.hpp"
+using namespace std;
+
+combrx::combrx ( const string & cas ) {
+
+  // combustion.prop :
+  // -----------------
+  CAS = cas;
+
+  if (CAS=="64-17-5") {
+    nO2  = 3;
+    nCO2 = 2;
+    nH2O = 3;
+  }
+  else if (CAS=="74-82-8") {
+    nO2  = 2;
+    nCO2 = 1;
+    nH2O = 2;
+  }
+  else if (CAS=="1333-74-0") {
+    nO2  = 0.5;
+    nCO2 = 0;
+    nH2O = 1;
+  }
+  else if (CAS=="100-42-5") {
+    nO2  = 10;
+    nCO2 = 8;
+    nH2O = 4;
+  }
+  else if (CAS=="74-85-1") {
+    nO2  = 3;
+    nCO2 = 2;
+    nH2O = 2;
+  }
+  else if (CAS=="108-88-3") {
+    nO2  = 9;
+    nCO2 = 7;
+    nH2O = 4;
+  }
+  else if (CAS=="100-41-4") {
+    nO2  = 10.5;
+    nCO2 = 8;
+    nH2O = 5;
+  }
+  else if (CAS=="71-43-2") {
+    nO2  = 7.5;
+    nCO2 = 6;
+    nH2O = 3;
+  }
+  else {
+    cout << "ERROR 21" << endl;
+    exit(0);
+  }
+
+  COMB = new chemical(CAS);
+  O2   = new chemical("7782-44-7");
+  N2   = new chemical("7727-37-9");
+  CO2  = new chemical("124-38-9");
+  H2O  = new chemical("7732-18-5");
+  Hro  = CO2->Ho*nCO2 + nH2O*(H2O->Ho - H2O->dHvap) - COMB->Ho;
+  LFLo = -3420.0/Hro + 0.569e-3*Hro + 0.0538e-6*pow(Hro,2) + 1.8;
+  LFLo = LFLo/100.0;
+  UFLo = 0.0063*Hro + 0.567e-6*pow(Hro, 2) + 23.5;
+  UFLo = UFLo/100.0;
+
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/combrx.hpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/combrx.hpp
index 02e098b..b57e643 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/combrx.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/combrx.hpp
@@ -1,29 +1,29 @@
-#ifndef COMBRX_H
-#define COMBRX_H
-#include "chemical.hpp"
-#include "defines.hpp"
-using namespace std;
-
-class combrx {
-
-private : 
-  ifstream data;
-  bool stop;
-  double nO2, nCO2, nH2O;
-  char tmp[41];
-  string CAS;
-  chemical *H2O, *N2, *O2, *CO2, *COMB;
-  double LFLo, UFLo, Hro, sum;	  
-   
-public:
-  combrx( const string & cas );
-  double O2_flow() { return (O2->M*nO2/1000.0); } //theoritical O2 flow, in kg/mol of COMB
-  double N2_flow(){return (0.79*O2_flow()/0.21);} //theoritical N2 flow, in kg/mol of COMB
-  double CO2_flow() {return (nCO2*CO2->M/1000.0);} //theoritical CO2 flow, in kg/mol of COMB
-  double H2O_flow() {return (nH2O*H2O->M/1000.0);} //theoritical H2O flow, in kg/mol of COMB
-  double LFL(double P, double T) {sum=LFLo + 0.03139/Hro*(T-298); if(sum<EPS) return EPS; else return sum;}		//in %vol
-  double UFL(double P, double T) {sum=UFLo - 0.03139/Hro*(T-298) + 0.206*(log10(0.101325*P)+1); if(sum>1) return (1-EPS); else return sum;}	//in %vol
-  double Hcomb(double T) {return (nCO2*CO2->dH(298,T,1)+ nH2O*H2O->dH(298,T,1)-nO2*O2->dH(298,T,1)-COMB->dH(298,T,1)+Hro);}			//in kJ/mol
-  ~combrx(){delete H2O; delete N2; delete O2; delete CO2; delete COMB;}
-};
-#endif
+#ifndef COMBRX_H
+#define COMBRX_H
+#include "chemical.hpp"
+#include "defines.hpp"
+using namespace std;
+
+class combrx {
+
+private : 
+  ifstream data;
+  bool stop;
+  double nO2, nCO2, nH2O;
+  char tmp[41];
+  string CAS;
+  chemical *H2O, *N2, *O2, *CO2, *COMB;
+  double LFLo, UFLo, Hro, sum;	  
+   
+public:
+  combrx( const string & cas );
+  double O2_flow() { return (O2->M*nO2/1000.0); } //theoritical O2 flow, in kg/mol of COMB
+  double N2_flow(){return (0.79*O2_flow()/0.21);} //theoritical N2 flow, in kg/mol of COMB
+  double CO2_flow() {return (nCO2*CO2->M/1000.0);} //theoritical CO2 flow, in kg/mol of COMB
+  double H2O_flow() {return (nH2O*H2O->M/1000.0);} //theoritical H2O flow, in kg/mol of COMB
+  double LFL(double P, double T) {sum=LFLo + 0.03139/Hro*(T-298); if(sum<EPS) return EPS; else return sum;}		//in %vol
+  double UFL(double P, double T) {sum=UFLo - 0.03139/Hro*(T-298) + 0.206*(log10(0.101325*P)+1); if(sum>1) return (1-EPS); else return sum;}	//in %vol
+  double Hcomb(double T) {return (nCO2*CO2->dH(298,T,1)+ nH2O*H2O->dH(298,T,1)-nO2*O2->dH(298,T,1)-COMB->dH(298,T,1)+Hro);}			//in kJ/mol
+  ~combrx(){delete H2O; delete N2; delete O2; delete CO2; delete COMB;}
+};
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/flash.cpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/flash.cpp
index 027ad0e..930ea8f 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/flash.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/flash.cpp
@@ -1,220 +1,220 @@
-#include "flash.hpp"
-#include "bissection.cpp"
-using namespace std;
-
-flash::flash ( stream * in , stream * out_L , stream * out_V ) {
-  F = in;
-  Fcopy = new stream("Fcopy", F->nb, F->chem);
-  Tin = F->T;
-  z = new double[F->nb];
-  for ( i = 0 ; i < F->nb ; i++ )
-    z[i] = F->chem[i]->n()/F->n();
-  
-  L = out_L;
-  V = out_V;
-  success = true;
-  K = new double[F->nb];
-  task=0;
-  solver = new bissection<flash>();
-}
-
-void flash::set(double p, double t)
-{
-   P=p;
-   T=t;
-   for (i=0;i<F->nb;i++)
-   {
-     if(F->chem[i]->Tc<T) K[i] = F->chem[i]->Psat(T)/P;
-     else K[i]=1;
-   }
-   F->set(P,T);
-}
-
-bool flash::solve()
-{
-   L->purge();
-   V->purge();
-   f_x=F->quality();
-
-   if( 0.0 < f_x && f_x < 1.0)
-   {
-
-     // TOTO
-     for ( i = 0 ; i < F->nb ; i++ ) {
-       if ( F->chem[i]->Tc < T ) {
-	 F->m -= F->chem[i]->m;
-	 F->chem[i]->m = 0;
-       }
-     }
-     
-     for ( i = 0 ; i < F->nb ; i++ )
-       z[i] = F->chem[i]->n()/F->n();
-
-     solver->set(this, 0.0, 1.0);
-
-     success=solver->run();
-
-      if (!success)
-      {
-//          if(task==0){
-//          log.open(MESSAGES, ios::app);
-//          log<<"   --> Warning <--  Solver of FLASH "<<name<<" did not converge.\n";
-//          log.close();}
-         for (i=0;i<F->nb;i++)
-         {
-             if (T<F->chem[i]->Tc && T>F->chem[i]->Tboil(P)) {V->chem[i]->m=F->chem[i]->m; V->m+=V->chem[i]->m;}
-             if (T<F->chem[i]->Tc && T<=F->chem[i]->Tboil(P)) {L->chem[i]->m=F->chem[i]->m; L->m+=L->chem[i]->m;}
-         }
-      }
-      else
-      {
-
-         V->m = x*F->n();
-         L->m = F->n() - V->m;
-         //Distribute liquid components
-         for (i=0;i<L->nb;i++)
-         {
-            L->chem[i]->m = (L->m*z[i])/(1+x*(K[i]-1))*L->chem[i]->M/1000.0;
-            L->chem[i]->state=0;
-         }
-
-
-         L->m=0.0; for(i=0;i<L->nb;i++) L->m+=L->chem[i]->m;
-         //Distribute vapor components
-         for (i=0;i<V->nb;i++)
-         {
-            V->chem[i]->m = V->m*L->chem[i]->n()*K[i]/L->n()*V->chem[i]->M/1000.0;
-            V->chem[i]->state=1;
-         }
-         V->m=0.0; for(i=0;i<V->nb;i++) V->m+=V->chem[i]->m;
-      }
-      for(i=0;i<F->nb;i++)
-      if(F->chem[i]->Tc<T){V->chem[i]->m=Fcopy->chem[i]->m; V->m+=Fcopy->chem[i]->m;}
-
-   }
-   else
-   {
- /*     if(task==0)
-      {
-         log.open("runtime\\messages.r", ios::app);
-         if (T<F->dp) log<<"   --> Warning <--  Mixture in "<<name<<" can't be flashed (bp="<<F->bp<<" dp="<<F->dp<<").\n";
-         log.close();
-      }     */
-      for (i=0;i<F->nb;i++)
-      {
-         if (F->chem[i]->Tc<T || f_x>=1) {V->chem[i]->m=Fcopy->chem[i]->m; V->m+=V->chem[i]->m; }
-         else {L->chem[i]->m=Fcopy->chem[i]->m; L->m+=L->chem[i]->m;}
-
-      }
-      success = true;
-   }
-   L->set(P,T);
-   V->set(P,T);
-   Q = 0.0;
-   for (i=0;i<F->nb;i++)
-   {
-      Q += L->chem[i]->dH(Tin, T, P)*L->chem[i]->n();
-      Q += V->chem[i]->dH(Tin, T, P)*V->chem[i]->n();
-   }
-   F->m=0;
-   for(i=0;i<Fcopy->nb;i++) {F->chem[i]->m = Fcopy->chem[i]->m; F->m+=F->chem[i]->m;}
-   F->set(F->P,Tin);
-//    if(fabs(V->m+L->m-F->m)>sqrt(EPS))
-//    {
-//       log.open(MESSAGES, ios::app);
-//       log<<"   --> Warning <--  Block "<<name<<" is not in mass balance ("<<fabs(V->m+L->m-F->m)/F->m<<").\n";
-//       log.close();
-//    }
-//   V->write();//  TOTO
- //  L->write(); // TOTO
-
-   return success;
-}
-
-double flash::f(double psy)
-{
-   x=psy;
-   f_x=0.0;
-   for(i=0;i<F->nb;i++) f_x += (z[i]*(1-K[i]))/(1+psy*(K[i]-1));
-   return f_x;
-}
-
-bool flash::adiabatic()
-{
-   task=1;
-   F->set(P,T); T=F->dp;
-   step=-5;
-   Q=1;
-   
-
-   while (fabs(step)>0.01 && fabs(Q)>0.1)
-   {
-      T+=step;
-      F->set(P,T);
-
-      for (i=0;i<F->nb;i++)
-	K[i] = F->chem[i]->Psat(T)/P;
-
-      success=solve();
-
-
-      if (Q<0 && step<0) step*=-0.5;
-      if (Q>0 && step>0) step*=-0.5;
-   }
-   if (fabs(Q)<0.1) return true;
-   else return false;
-}
-
-void flash::write() {
-  cout << "WRITE FILE " << RUNTIME << name << ".unit" << " :\n\tBEGIN\n";
-  cout << "\t>>         "<<name;
-  cout << endl << "\t>>           stream in : "<<F->name;
-  cout <<endl<<"\t>>           streams out : "<<L->name<<" (liq.)  "<<V->name<<" (vap.)";
-  cout <<endl<<"\t>>           P = "<<P<<" atm,  T = "<<T<<" K";
-  cout <<endl<<"\t>>           Heat duty = "<<Q;
-  if (success==true) cout <<" kW (converge normally)";
-  cout << "\n\tEND\n\n";
-  cost();
-  power();
-  water();
-}
-
-
-double flash::get_cost ( void ) {
-  vol=15.0*(L->v+V->v);
-  if(vol<0.3) vol=0.3; if(vol>520)vol=520;
-  step = 3.4974+0.4485*log10(vol)+0.1074*pow(log10(vol),2);
-  step = pow(10, step);
-  P= (P-1)*101.325/100;
-  f_x=pow(2.0*vol/pi, 1.0/3.0);
-  vol=(P+1)*f_x/(317.46*(850-0.6*(P+1)))+0.0315;
-  step *=(2.25+ 1.82*vol*2.2);
-  step = step*MS_YEAR/MS_2001;
-  return step;
-}
-
-void flash::cost() {
-  cout << "WRITE FILE " << RUNTIME << name << ".cost" << " :\n\tBEGIN\n";
-  cout << "\t>>" << get_cost();
-  cout << "\n\tEND\n\n";
-}
-void flash::power() {
-  cout << "WRITE FILE " << RUNTIME << name << ".power" << " :\n\tBEGIN\n";
-  cout << "\t>>" << Q;
-  cout << "\n\tEND\n\n";
-}
-
-double flash::get_water ( void ) {
-  step = (Q<0.0) ? fabs(Q)/(4.185*0.10*(Tin-298)) : 0.0;
-  return step;
-}
-
-void flash::water() {
-  cout << "WRITE FILE " << RUNTIME << name << ".water" << " :\n\tBEGIN\n";
-  if(Q<0.0)
-    step= (fabs(Q)/(4.185*0.10*(Tin-298)));
-  else
-    step= 0.0;
-  cout << "\t>>" << step;
-  cout << "\n\tEND\n\n";
-}
+#include "flash.hpp"
+#include "bissection.cpp"
+using namespace std;
+
+flash::flash ( stream * in , stream * out_L , stream * out_V ) {
+  F = in;
+  Fcopy = new stream("Fcopy", F->nb, F->chem);
+  Tin = F->T;
+  z = new double[F->nb];
+  for ( i = 0 ; i < F->nb ; i++ )
+    z[i] = F->chem[i]->n()/F->n();
+  
+  L = out_L;
+  V = out_V;
+  success = true;
+  K = new double[F->nb];
+  task=0;
+  solver = new bissection<flash>();
+}
+
+void flash::set(double p, double t)
+{
+   P=p;
+   T=t;
+   for (i=0;i<F->nb;i++)
+   {
+     if(F->chem[i]->Tc<T) K[i] = F->chem[i]->Psat(T)/P;
+     else K[i]=1;
+   }
+   F->set(P,T);
+}
+
+bool flash::solve()
+{
+   L->purge();
+   V->purge();
+   f_x=F->quality();
+
+   if( 0.0 < f_x && f_x < 1.0)
+   {
+
+     // TOTO
+     for ( i = 0 ; i < F->nb ; i++ ) {
+       if ( F->chem[i]->Tc < T ) {
+	 F->m -= F->chem[i]->m;
+	 F->chem[i]->m = 0;
+       }
+     }
+     
+     for ( i = 0 ; i < F->nb ; i++ )
+       z[i] = F->chem[i]->n()/F->n();
+
+     solver->set(this, 0.0, 1.0);
+
+     success=solver->run();
+
+      if (!success)
+      {
+//          if(task==0){
+//          log.open(MESSAGES, ios::app);
+//          log<<"   --> Warning <--  Solver of FLASH "<<name<<" did not converge.\n";
+//          log.close();}
+         for (i=0;i<F->nb;i++)
+         {
+             if (T<F->chem[i]->Tc && T>F->chem[i]->Tboil(P)) {V->chem[i]->m=F->chem[i]->m; V->m+=V->chem[i]->m;}
+             if (T<F->chem[i]->Tc && T<=F->chem[i]->Tboil(P)) {L->chem[i]->m=F->chem[i]->m; L->m+=L->chem[i]->m;}
+         }
+      }
+      else
+      {
+
+         V->m = x*F->n();
+         L->m = F->n() - V->m;
+         //Distribute liquid components
+         for (i=0;i<L->nb;i++)
+         {
+            L->chem[i]->m = (L->m*z[i])/(1+x*(K[i]-1))*L->chem[i]->M/1000.0;
+            L->chem[i]->state=0;
+         }
+
+
+         L->m=0.0; for(i=0;i<L->nb;i++) L->m+=L->chem[i]->m;
+         //Distribute vapor components
+         for (i=0;i<V->nb;i++)
+         {
+            V->chem[i]->m = V->m*L->chem[i]->n()*K[i]/L->n()*V->chem[i]->M/1000.0;
+            V->chem[i]->state=1;
+         }
+         V->m=0.0; for(i=0;i<V->nb;i++) V->m+=V->chem[i]->m;
+      }
+      for(i=0;i<F->nb;i++)
+      if(F->chem[i]->Tc<T){V->chem[i]->m=Fcopy->chem[i]->m; V->m+=Fcopy->chem[i]->m;}
+
+   }
+   else
+   {
+ /*     if(task==0)
+      {
+         log.open("runtime\\messages.r", ios::app);
+         if (T<F->dp) log<<"   --> Warning <--  Mixture in "<<name<<" can't be flashed (bp="<<F->bp<<" dp="<<F->dp<<").\n";
+         log.close();
+      }     */
+      for (i=0;i<F->nb;i++)
+      {
+         if (F->chem[i]->Tc<T || f_x>=1) {V->chem[i]->m=Fcopy->chem[i]->m; V->m+=V->chem[i]->m; }
+         else {L->chem[i]->m=Fcopy->chem[i]->m; L->m+=L->chem[i]->m;}
+
+      }
+      success = true;
+   }
+   L->set(P,T);
+   V->set(P,T);
+   Q = 0.0;
+   for (i=0;i<F->nb;i++)
+   {
+      Q += L->chem[i]->dH(Tin, T, P)*L->chem[i]->n();
+      Q += V->chem[i]->dH(Tin, T, P)*V->chem[i]->n();
+   }
+   F->m=0;
+   for(i=0;i<Fcopy->nb;i++) {F->chem[i]->m = Fcopy->chem[i]->m; F->m+=F->chem[i]->m;}
+   F->set(F->P,Tin);
+//    if(fabs(V->m+L->m-F->m)>sqrt(EPS))
+//    {
+//       log.open(MESSAGES, ios::app);
+//       log<<"   --> Warning <--  Block "<<name<<" is not in mass balance ("<<fabs(V->m+L->m-F->m)/F->m<<").\n";
+//       log.close();
+//    }
+//   V->write();//  TOTO
+ //  L->write(); // TOTO
+
+   return success;
+}
+
+double flash::f(double psy)
+{
+   x=psy;
+   f_x=0.0;
+   for(i=0;i<F->nb;i++) f_x += (z[i]*(1-K[i]))/(1+psy*(K[i]-1));
+   return f_x;
+}
+
+bool flash::adiabatic()
+{
+   task=1;
+   F->set(P,T); T=F->dp;
+   step=-5;
+   Q=1;
+   
+
+   while (fabs(step)>0.01 && fabs(Q)>0.1)
+   {
+      T+=step;
+      F->set(P,T);
+
+      for (i=0;i<F->nb;i++)
+	K[i] = F->chem[i]->Psat(T)/P;
+
+      success=solve();
+
+
+      if (Q<0 && step<0) step*=-0.5;
+      if (Q>0 && step>0) step*=-0.5;
+   }
+   if (fabs(Q)<0.1) return true;
+   else return false;
+}
+
+void flash::write() {
+  cout << "WRITE FILE " << RUNTIME << name << ".unit" << " :\n\tBEGIN\n";
+  cout << "\t>>         "<<name;
+  cout << endl << "\t>>           stream in : "<<F->name;
+  cout <<endl<<"\t>>           streams out : "<<L->name<<" (liq.)  "<<V->name<<" (vap.)";
+  cout <<endl<<"\t>>           P = "<<P<<" atm,  T = "<<T<<" K";
+  cout <<endl<<"\t>>           Heat duty = "<<Q;
+  if (success==true) cout <<" kW (converge normally)";
+  cout << "\n\tEND\n\n";
+  cost();
+  power();
+  water();
+}
+
+
+double flash::get_cost ( void ) {
+  vol=15.0*(L->v+V->v);
+  if(vol<0.3) vol=0.3; if(vol>520)vol=520;
+  step = 3.4974+0.4485*log10(vol)+0.1074*pow(log10(vol),2);
+  step = pow(10, step);
+  P= (P-1)*101.325/100;
+  f_x=pow(2.0*vol/pi, 1.0/3.0);
+  vol=(P+1)*f_x/(317.46*(850-0.6*(P+1)))+0.0315;
+  step *=(2.25+ 1.82*vol*2.2);
+  step = step*MS_YEAR/MS_2001;
+  return step;
+}
+
+void flash::cost() {
+  cout << "WRITE FILE " << RUNTIME << name << ".cost" << " :\n\tBEGIN\n";
+  cout << "\t>>" << get_cost();
+  cout << "\n\tEND\n\n";
+}
+void flash::power() {
+  cout << "WRITE FILE " << RUNTIME << name << ".power" << " :\n\tBEGIN\n";
+  cout << "\t>>" << Q;
+  cout << "\n\tEND\n\n";
+}
+
+double flash::get_water ( void ) {
+  step = (Q<0.0) ? fabs(Q)/(4.185*0.10*(Tin-298)) : 0.0;
+  return step;
+}
+
+void flash::water() {
+  cout << "WRITE FILE " << RUNTIME << name << ".water" << " :\n\tBEGIN\n";
+  if(Q<0.0)
+    step= (fabs(Q)/(4.185*0.10*(Tin-298)));
+  else
+    step= 0.0;
+  cout << "\t>>" << step;
+  cout << "\n\tEND\n\n";
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/flash.hpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/flash.hpp
index b6cdb41..29bc250 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/flash.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/flash.hpp
@@ -1,55 +1,55 @@
-/*
-This unit takes operating P and T, and indexes of streams. It applies
-the Rachford-Rice procedure to solve the isothermal flash problem
-(ref : Seader & Henley).
-
-Structure in the .process file:
-flash {name} {pressure} {temperature} {index of input stream} {index of output liquid and output vapor}
-
-How to use:
-   1- Call the constructor : flash1 = new flash(in, out_L, out_V);			//in is the feed, out_L is the liquid output and out_V is the vapor output 
-   2- Set P and T: flash1->set(P,T);
-   3- Set the name: flash1->set(name);
-   4a- Perform an isothermal flash : flash1->solve();
-   4b- Perform an adiabatic flash: flash1->adiabatic();
-*/
-#ifndef FLASH_H
-#define FLASH_H
-
-#include "stream.hpp"
-#include "bissection.hpp"
-using namespace std;
-
-class flash {
-private:
-  bool success;
-  bissection<flash> *solver;
-  // ofstream log, results;
-//   char name[31], filename[41];  //name of the unit
-
-  string name;
-  
-  int i, task;          //task=0: isothermal flash;   task=1:adiabatic flash
-  stream *F, *Fcopy;		   //pointer to the input stream
-  stream *L, *V;	//pointers to liquid and vapor output streams
-  double f_x, x, *K, *z;			//pressure (given) and temperature (given)
-  double Q, Tin, step, vol;			//required power, in kW
-  
-public:
-  flash(){P=0.0; T=0.0;}
-  flash(stream*, stream*, stream*);		//defines the connectivities of this unit
-  ~flash(){delete Fcopy; delete [] K; delete []  z; delete solver;}
-  double P ,T;
-  void set(double, double);
-  void set( const string & n ) { name = n; }
-  bool solve();								//applies the Rachford-Rice procedure
-  bool adiabatic();						//adiabatic isobaric flash
-  double f(double);						//returns the function to the solver
-  void write();
-  double get_water ( void );
-  double get_cost ( void );
-
-  double get_power ( void ) const { return Q; }
-  void cost(), water(), power();
-};
-#endif
+/*
+This unit takes operating P and T, and indexes of streams. It applies
+the Rachford-Rice procedure to solve the isothermal flash problem
+(ref : Seader & Henley).
+
+Structure in the .process file:
+flash {name} {pressure} {temperature} {index of input stream} {index of output liquid and output vapor}
+
+How to use:
+   1- Call the constructor : flash1 = new flash(in, out_L, out_V);			//in is the feed, out_L is the liquid output and out_V is the vapor output 
+   2- Set P and T: flash1->set(P,T);
+   3- Set the name: flash1->set(name);
+   4a- Perform an isothermal flash : flash1->solve();
+   4b- Perform an adiabatic flash: flash1->adiabatic();
+*/
+#ifndef FLASH_H
+#define FLASH_H
+
+#include "stream.hpp"
+#include "bissection.hpp"
+using namespace std;
+
+class flash {
+private:
+  bool success;
+  bissection<flash> *solver;
+  // ofstream log, results;
+//   char name[31], filename[41];  //name of the unit
+
+  string name;
+  
+  int i, task;          //task=0: isothermal flash;   task=1:adiabatic flash
+  stream *F, *Fcopy;		   //pointer to the input stream
+  stream *L, *V;	//pointers to liquid and vapor output streams
+  double f_x, x, *K, *z;			//pressure (given) and temperature (given)
+  double Q, Tin, step, vol;			//required power, in kW
+  
+public:
+  flash(){P=0.0; T=0.0;}
+  flash(stream*, stream*, stream*);		//defines the connectivities of this unit
+  ~flash(){delete Fcopy; delete [] K; delete []  z; delete solver;}
+  double P ,T;
+  void set(double, double);
+  void set( const string & n ) { name = n; }
+  bool solve();								//applies the Rachford-Rice procedure
+  bool adiabatic();						//adiabatic isobaric flash
+  double f(double);						//returns the function to the solver
+  void write();
+  double get_water ( void );
+  double get_cost ( void );
+
+  double get_power ( void ) const { return Q; }
+  void cost(), water(), power();
+};
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/heatx.cpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/heatx.cpp
index 3c23822..fd8942e 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/heatx.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/heatx.cpp
@@ -1,146 +1,146 @@
-#include "heatx.hpp"
-#include "bissection.cpp"
-
-heatx::heatx(bool m, stream* s1, stream* s2)
-{
-   in = s1;
-   out = s2;
-   out->m=0;
-   for(i=0;i<in->nb;i++)
-   {
-      out->chem[i]->m=in->chem[i]->m;
-      out->m+=out->chem[i]->m;
-   }
-   solver = new bissection<heatx>();
-   mode = m;
-   success = true;
-}
-
-void heatx::set(double d1, double d2)
-{
-   if(mode==0) T=d1;
-   if(mode==1) Q=d1;
-   eta = d2;
-}
-
-bool heatx::solve()
-{
-   if(mode==0)
-   {
-      Q = 0.0;
-      out->set(in->P, T);
-      // out->write();  // WRITE TOTO
-      for(i=0;i<in->nb;i++)
-         Q+=out->chem[i]->dH(in->T, out->T, in->P)*out->chem[i]->n();
-      if(eta>EPS)
-	Qreal = Q/eta;
-      else {
-	Qreal=Q;
-	success=false;
-      }
-   }
-   if(mode==1)
-   {
-      Qreal = eta*Q;
-      min = in->T;
-      max = 2000;
-      solver->set(this, min, max);
-      success = solver->run();
-      out->set(in->P, T);
-      //out->write();  // WRITE TOTO
-   }
-   return success;
-}
-
-
-double heatx::f(double x)
-{
-   T=x;
-   max = Qreal;
-   for(i=0;i<in->nb;i++)
-      max -= out->chem[i]->dH(in->T, T, in->P)*out->chem[i]->n();
-   return max;
-}
-
-void heatx::write()
-{
-
-  cout << "WRITE FILE " << RUNTIME << name << ".unit" << " :\n\tBEGIN\n";
-  cout << "\t>>         " << name;
-  cout << endl << "\t>>           stream in: "  << in->name  << "  T = " << in->T <<" K";
-  cout << endl << "\t>>           stream out: " << out->name << "  T = " << out->T <<" K";
-  if (mode==0)
-    cout<<endl<<"\t>>           Heat duty : "<<Qreal<<" kW";
-  if (mode==1)
-    cout<<endl<<"\t>>           Heat duty : "<<Q<<" kW";
-  if (success)
-    cout<<endl<<"\t>>           Heat losses "<<fabs(Qreal-Q)<<" kW  (converged normally)";
-  cout << "\n\tEND\n\n";
-
-  cost();
-  power();
-  water();
-}
-
-
-
-double heatx::get_cost ( void ) {
-  if(mode==1) min=fabs(Q)/0.225/(eta)/fabs(out->T-in->T);
-  if(mode==0) min=fabs(Qreal)/0.25/(eta)/fabs(out->T-in->T);
-  if(min<10) min=10; if(min>1000) min=1000;
-  max = 4.3247-0.303*log10(min)+0.1634*pow(log10(min),2);
-  T=in->P;
-  T = (T-1)*1.01325;
-  if (fabs(T)<EPS) T=0.1; if(T>100) T=100;
-  min=0.03881-0.11272*log10(T)+0.08183*pow(log10(T),2);
-  min=pow(10, min);
-  max = (1.63+1.66*2.5*min)*pow(10, max);
-  max = max*MS_YEAR/MS_2001;
-  return max;
-}
-
-
-void heatx::cost()
-{
-  cout << setprecision(5);
-  cout << "WRITE FILE " << RUNTIME << name << ".cost" << " :\n\tBEGIN\n";
-  cout << "\t>>" << get_cost();
-  cout << "\n\tEND\n\n";
-}
-
-
-
-double heatx::get_water ( void )
-{
-  max = (Q<0.0) ? fabs(Q)/(4.185*0.10*(out->T-298)) : 0.0;
-  return max;
-}
-
-
-void heatx::water()
-{
-  if(Q<0.0) max = fabs(Q)/(4.185*0.10*(out->T-298));
-  else max = 0.0;
-  cout << "WRITE FILE " << RUNTIME << name << ".water" << " :\n\tBEGIN\n";
-  cout << "\t>>" << max;
-  cout << "\n\tEND\n\n";
-
-}
-
-double heatx::get_power ( void ) {
-  max = (mode) ? Q : Qreal;
-  if (max>EPS)
-    return max;
-  return 0.0;
-}
-
-void heatx::power()
-{
-  if(mode==0) max = Qreal;
-  if(mode==1) max = Q;
-
-  cout << "WRITE FILE " << RUNTIME << name << ".power" << " :\n\tBEGIN\n";
-  if(max>EPS) cout<< "\t>>" << max;
-  else cout<< "\t>>" << 0;
-  cout << "\n\tEND\n\n";
-}
+#include "heatx.hpp"
+#include "bissection.cpp"
+
+heatx::heatx(bool m, stream* s1, stream* s2)
+{
+   in = s1;
+   out = s2;
+   out->m=0;
+   for(i=0;i<in->nb;i++)
+   {
+      out->chem[i]->m=in->chem[i]->m;
+      out->m+=out->chem[i]->m;
+   }
+   solver = new bissection<heatx>();
+   mode = m;
+   success = true;
+}
+
+void heatx::set(double d1, double d2)
+{
+   if(mode==0) T=d1;
+   if(mode==1) Q=d1;
+   eta = d2;
+}
+
+bool heatx::solve()
+{
+   if(mode==0)
+   {
+      Q = 0.0;
+      out->set(in->P, T);
+      // out->write();  // WRITE TOTO
+      for(i=0;i<in->nb;i++)
+         Q+=out->chem[i]->dH(in->T, out->T, in->P)*out->chem[i]->n();
+      if(eta>EPS)
+	Qreal = Q/eta;
+      else {
+	Qreal=Q;
+	success=false;
+      }
+   }
+   if(mode==1)
+   {
+      Qreal = eta*Q;
+      min = in->T;
+      max = 2000;
+      solver->set(this, min, max);
+      success = solver->run();
+      out->set(in->P, T);
+      //out->write();  // WRITE TOTO
+   }
+   return success;
+}
+
+
+double heatx::f(double x)
+{
+   T=x;
+   max = Qreal;
+   for(i=0;i<in->nb;i++)
+      max -= out->chem[i]->dH(in->T, T, in->P)*out->chem[i]->n();
+   return max;
+}
+
+void heatx::write()
+{
+
+  cout << "WRITE FILE " << RUNTIME << name << ".unit" << " :\n\tBEGIN\n";
+  cout << "\t>>         " << name;
+  cout << endl << "\t>>           stream in: "  << in->name  << "  T = " << in->T <<" K";
+  cout << endl << "\t>>           stream out: " << out->name << "  T = " << out->T <<" K";
+  if (mode==0)
+    cout<<endl<<"\t>>           Heat duty : "<<Qreal<<" kW";
+  if (mode==1)
+    cout<<endl<<"\t>>           Heat duty : "<<Q<<" kW";
+  if (success)
+    cout<<endl<<"\t>>           Heat losses "<<fabs(Qreal-Q)<<" kW  (converged normally)";
+  cout << "\n\tEND\n\n";
+
+  cost();
+  power();
+  water();
+}
+
+
+
+double heatx::get_cost ( void ) {
+  if(mode==1) min=fabs(Q)/0.225/(eta)/fabs(out->T-in->T);
+  if(mode==0) min=fabs(Qreal)/0.25/(eta)/fabs(out->T-in->T);
+  if(min<10) min=10; if(min>1000) min=1000;
+  max = 4.3247-0.303*log10(min)+0.1634*pow(log10(min),2);
+  T=in->P;
+  T = (T-1)*1.01325;
+  if (fabs(T)<EPS) T=0.1; if(T>100) T=100;
+  min=0.03881-0.11272*log10(T)+0.08183*pow(log10(T),2);
+  min=pow(10, min);
+  max = (1.63+1.66*2.5*min)*pow(10, max);
+  max = max*MS_YEAR/MS_2001;
+  return max;
+}
+
+
+void heatx::cost()
+{
+  cout << setprecision(5);
+  cout << "WRITE FILE " << RUNTIME << name << ".cost" << " :\n\tBEGIN\n";
+  cout << "\t>>" << get_cost();
+  cout << "\n\tEND\n\n";
+}
+
+
+
+double heatx::get_water ( void )
+{
+  max = (Q<0.0) ? fabs(Q)/(4.185*0.10*(out->T-298)) : 0.0;
+  return max;
+}
+
+
+void heatx::water()
+{
+  if(Q<0.0) max = fabs(Q)/(4.185*0.10*(out->T-298));
+  else max = 0.0;
+  cout << "WRITE FILE " << RUNTIME << name << ".water" << " :\n\tBEGIN\n";
+  cout << "\t>>" << max;
+  cout << "\n\tEND\n\n";
+
+}
+
+double heatx::get_power ( void ) {
+  max = (mode) ? Q : Qreal;
+  if (max>EPS)
+    return max;
+  return 0.0;
+}
+
+void heatx::power()
+{
+  if(mode==0) max = Qreal;
+  if(mode==1) max = Q;
+
+  cout << "WRITE FILE " << RUNTIME << name << ".power" << " :\n\tBEGIN\n";
+  if(max>EPS) cout<< "\t>>" << max;
+  else cout<< "\t>>" << 0;
+  cout << "\n\tEND\n\n";
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/heatx.hpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/heatx.hpp
index f9854ad..d3b7dff 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/heatx.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/heatx.hpp
@@ -1,49 +1,49 @@
-/*
-This unit performs the heating of a stream (mode 0) or the heat 
-exchange to a stream (mode 1).
-(ref : McCabe, Smith & Harriott)
-
-Structure in the .process file:
-mode 0 : heatx {name} 0 {index of input stream} {index of output stream} {T out} {efficiency}						//efficiency is a fraction between 0 and 1
-mode 1 : heatx {name} 1 {index of input stream} {index of output stream} {Q} {efficiency}							//Q is the heat flow in kW
-How to use:
-   1- Call the constructor: heat = new heatx(mode, in, out);
-   2- Set the operating conditions : heat->set(T_out, eta);	//mode 0
-                                           or : heat->set(Q, eta);				//mode 1
-   3- Set the name of the unit: heat->set(name);
-   4- Solve: bool=heat->solve();
-*/
-#ifndef HEATX_H
-#define HEATX_H
-
-#include "stream.hpp"
-#include "bissection.hpp"
-using namespace std;
-
-class heatx
-{
-private:
-  int i;
-  bool success, mode;
-  bissection<heatx> *solver;
-  // ofstream logf, results;
-  double min, max;
-  string name;
-  stream *in, *out;	//streams of the unit
-  double eta, Q, Qreal, T;
-  
-public:
-  heatx(){}
-  heatx(bool, stream*, stream*);		//defines the connectivities of this unit
-  ~heatx(){delete solver;}
-  void set(double, double);
-  void set(const string & n) { name = n; }
-  double f(double);							
-  bool solve();								
-  void write();
-  void power(), water(), cost();
-  double get_cost();
-  double get_power();
-  double get_water();
-};
-#endif
+/*
+This unit performs the heating of a stream (mode 0) or the heat 
+exchange to a stream (mode 1).
+(ref : McCabe, Smith & Harriott)
+
+Structure in the .process file:
+mode 0 : heatx {name} 0 {index of input stream} {index of output stream} {T out} {efficiency}						//efficiency is a fraction between 0 and 1
+mode 1 : heatx {name} 1 {index of input stream} {index of output stream} {Q} {efficiency}							//Q is the heat flow in kW
+How to use:
+   1- Call the constructor: heat = new heatx(mode, in, out);
+   2- Set the operating conditions : heat->set(T_out, eta);	//mode 0
+                                           or : heat->set(Q, eta);				//mode 1
+   3- Set the name of the unit: heat->set(name);
+   4- Solve: bool=heat->solve();
+*/
+#ifndef HEATX_H
+#define HEATX_H
+
+#include "stream.hpp"
+#include "bissection.hpp"
+using namespace std;
+
+class heatx
+{
+private:
+  int i;
+  bool success, mode;
+  bissection<heatx> *solver;
+  // ofstream logf, results;
+  double min, max;
+  string name;
+  stream *in, *out;	//streams of the unit
+  double eta, Q, Qreal, T;
+  
+public:
+  heatx(){}
+  heatx(bool, stream*, stream*);		//defines the connectivities of this unit
+  ~heatx(){delete solver;}
+  void set(double, double);
+  void set(const string & n) { name = n; }
+  double f(double);							
+  bool solve();								
+  void write();
+  void power(), water(), cost();
+  double get_cost();
+  double get_power();
+  double get_water();
+};
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/mix.cpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/mix.cpp
index 00202a2..dc02dc7 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/mix.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/mix.cpp
@@ -1,80 +1,80 @@
-#include "mix.hpp"
-#include "bissection.cpp"
-using namespace std;
-
-mix::mix ( int n , stream ** s1 , stream * s2 ) {
-  nb_in=n;
-  in = s1;
-  out= s2;
-  success = true;
-  solver  = new bissection<mix>();
-}
-
-bool mix::solve()
-{
-   //Mass balance
-   out->m=0;
-   out->purge();
-   for (j=0; j<out->nb;j++)
-      for (i=0;i<nb_in;i++) if(in[i]->chem[j]->m>EPS)
-      {
-          out->chem[j]->m+=in[i]->chem[j]->m;
-          out->m+=in[i]->chem[j]->m;
-      }
-   //Find the temperature
-   double max=0.0; double min=1e6;
-   for(i=0;i<nb_in;i++)
-      for(j=0;j<out->nb;j++)
-      {
-         if(in[i]->chem[j]->T>max && in[i]->chem[j]->m>EPS) max=in[i]->chem[j]->T;
-         if(in[i]->chem[j]->T<min && in[i]->chem[j]->m>EPS) min=in[i]->chem[j]->T;
-      }
-    if(fabs(max-min)<EPS) T=max;
-    else
-    {
-      solver->set(this, min, max);
-      success = solver->run();
-    }
-   out->set(P,T);
-   //    if (success==false)
-   //    {
-   //       log.open(MESSAGES, ios::app);
-   //       log<<"   --> Warning <--  Solver of "<<name<<" did not converge.\n";
-   //       log.close();
-   //    }
-   //    min = 0;
-   //    for(i=0;i<nb_in;i++)
-   //      min+=in[i]->m;
-   //    if(fabs(min-out->m)>sqrt(EPS))
-   //    {
-   //       log.open(MESSAGES, ios::app);
-   //       log<<"   --> Warning <--  Block "<<name<<" is not in mass balance ("<<fabs(min-out->m)/min<<").\n";
-   //       log.close();
-   //    }
-
-   // out->write();  // WRITE TOTO
-   return success;
-}
-
-double mix::f(double x)
-{
-   T=x;
-   double energy=0.0;   //in kW
-   for (j=0; j<out->nb;j++)
-      for (i=0;i<nb_in;i++)
-          energy += in[i]->chem[j]->dH(in[i]->T, T, P)*in[i]->chem[j]->n()/1000;
-   return energy;
-}
-
-void mix::write() {
-  cout << "WRITE FILE " << RUNTIME << name << ".unit" << " :\n\tBEGIN\n";
-  cout << "\t>>         " << name
-       << endl << "\t>>           streams in: ";
-  for ( int i = 0 ; i < nb_in ; i++ )
-    cout << in[i]->name << " ";
-  cout << endl << "\t>>           stream out: " << out->name;
-  cout <<endl << "\t>>           P = " << P << " atm,  T = " << T;
-  if (success)
-    cout << " K (converged normally)";
-  cout << "\n\tEND\n\n";
-}
+#include "mix.hpp"
+#include "bissection.cpp"
+using namespace std;
+
+mix::mix ( int n , stream ** s1 , stream * s2 ) {
+  nb_in=n;
+  in = s1;
+  out= s2;
+  success = true;
+  solver  = new bissection<mix>();
+}
+
+bool mix::solve()
+{
+   //Mass balance
+   out->m=0;
+   out->purge();
+   for (j=0; j<out->nb;j++)
+      for (i=0;i<nb_in;i++) if(in[i]->chem[j]->m>EPS)
+      {
+          out->chem[j]->m+=in[i]->chem[j]->m;
+          out->m+=in[i]->chem[j]->m;
+      }
+   //Find the temperature
+   double max=0.0; double min=1e6;
+   for(i=0;i<nb_in;i++)
+      for(j=0;j<out->nb;j++)
+      {
+         if(in[i]->chem[j]->T>max && in[i]->chem[j]->m>EPS) max=in[i]->chem[j]->T;
+         if(in[i]->chem[j]->T<min && in[i]->chem[j]->m>EPS) min=in[i]->chem[j]->T;
+      }
+    if(fabs(max-min)<EPS) T=max;
+    else
+    {
+      solver->set(this, min, max);
+      success = solver->run();
+    }
+   out->set(P,T);
+   //    if (success==false)
+   //    {
+   //       log.open(MESSAGES, ios::app);
+   //       log<<"   --> Warning <--  Solver of "<<name<<" did not converge.\n";
+   //       log.close();
+   //    }
+   //    min = 0;
+   //    for(i=0;i<nb_in;i++)
+   //      min+=in[i]->m;
+   //    if(fabs(min-out->m)>sqrt(EPS))
+   //    {
+   //       log.open(MESSAGES, ios::app);
+   //       log<<"   --> Warning <--  Block "<<name<<" is not in mass balance ("<<fabs(min-out->m)/min<<").\n";
+   //       log.close();
+   //    }
+
+   // out->write();  // WRITE TOTO
+   return success;
+}
+
+double mix::f(double x)
+{
+   T=x;
+   double energy=0.0;   //in kW
+   for (j=0; j<out->nb;j++)
+      for (i=0;i<nb_in;i++)
+          energy += in[i]->chem[j]->dH(in[i]->T, T, P)*in[i]->chem[j]->n()/1000;
+   return energy;
+}
+
+void mix::write() {
+  cout << "WRITE FILE " << RUNTIME << name << ".unit" << " :\n\tBEGIN\n";
+  cout << "\t>>         " << name
+       << endl << "\t>>           streams in: ";
+  for ( int i = 0 ; i < nb_in ; i++ )
+    cout << in[i]->name << " ";
+  cout << endl << "\t>>           stream out: " << out->name;
+  cout <<endl << "\t>>           P = " << P << " atm,  T = " << T;
+  if (success)
+    cout << " K (converged normally)";
+  cout << "\n\tEND\n\n";
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/mix.hpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/mix.hpp
index 85b8d77..6d4ee0f 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/mix.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/mix.hpp
@@ -1,44 +1,44 @@
-/*
-This unit takes more than two input streams and merge them in one
-output stream. The pressure must be specified by the user, and the
-temperature of the output stream is computed.
-
-Structure in the .process file:
-mix {name} {pressure} {nb_in} {indexes of input streams} {index of output stream}
-
-How to use:
-   1- Call the constructor: mix1 = new mix(nb_in, list1_in, out);
-   2- Set the operating pressure : mix1->set(P);
-   3- Set the name of the unit: mix1->set(name);
-   4- Solve: bool=mix1->solve();
-*/
-#ifndef MIX_H
-#define MIX_H
-
-#include "stream.hpp"
-#include "bissection.hpp"
-using namespace std;
-
-class mix {
- private:
-  int i, j;
-  bool success;
-  bissection<mix> *solver;
-  string name;
-  int nb_in;			//number of input streams
-  stream **in;		//list pointers to input streams
-  stream *out;		//pointer to output stream
-  // double min, max;
-  
- public:
-  double P, T;			//pressure (given) and temperature (unknown)   
-  mix(){P=0.0;}
-  mix(int, stream**, stream*);		//defines the connectivities of this unit
-  ~mix(){delete solver;}
-  void set(double p) {P=p;}
-  void set ( const string & n ) { name = n; }
-  double f(double); //returns the function to the solver
-  bool solve();     //finds the temperature and computes mass balance
-  void write();
-};
-#endif
+/*
+This unit takes more than two input streams and merge them in one
+output stream. The pressure must be specified by the user, and the
+temperature of the output stream is computed.
+
+Structure in the .process file:
+mix {name} {pressure} {nb_in} {indexes of input streams} {index of output stream}
+
+How to use:
+   1- Call the constructor: mix1 = new mix(nb_in, list1_in, out);
+   2- Set the operating pressure : mix1->set(P);
+   3- Set the name of the unit: mix1->set(name);
+   4- Solve: bool=mix1->solve();
+*/
+#ifndef MIX_H
+#define MIX_H
+
+#include "stream.hpp"
+#include "bissection.hpp"
+using namespace std;
+
+class mix {
+ private:
+  int i, j;
+  bool success;
+  bissection<mix> *solver;
+  string name;
+  int nb_in;			//number of input streams
+  stream **in;		//list pointers to input streams
+  stream *out;		//pointer to output stream
+  // double min, max;
+  
+ public:
+  double P, T;			//pressure (given) and temperature (unknown)   
+  mix(){P=0.0;}
+  mix(int, stream**, stream*);		//defines the connectivities of this unit
+  ~mix(){delete solver;}
+  void set(double p) {P=p;}
+  void set ( const string & n ) { name = n; }
+  double f(double); //returns the function to the solver
+  bool solve();     //finds the temperature and computes mass balance
+  void write();
+};
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/pfr.cpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/pfr.cpp
index 5469451..bcb7ccf 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/pfr.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/pfr.cpp
@@ -1,174 +1,174 @@
-#include "pfr.hpp"
-#include "RungeKutta.cpp"
-using namespace std;
-
-pfr::pfr ( stream * s1 , stream * s2 , double ** t , int nb_r , reaction ** rr , double u , double ta ) {
-
-  F = s2;
-  F->m=0;
-  P=s1->P;
-  for ( i = 0 ; i < s1->nb ; i++ ) {
-    F->chem[i]->m = s1->chem[i]->m;
-    F->m+=F->chem[i]->m;
-  }
-  F->set(s1->P, s1->T);
-  m_in=F->m;
-  a = t;
-  rx = rr;
-  n=nb_r;
-  m=  F->nb;
-  U=u;
-  Ta=ta;
-  T = F->T;
-  C = new double[m];
-  y = new double[m+1];
-  r=new double[n];
-  OK=true;
-  explode=true;
-  solver = new RungeKutta<pfr>(m+1);
-}
-
-pfr::~pfr() {
-  delete [] r;
-  delete [] C;
-  delete [] y;
-  delete solver;
-}
-
-bool pfr::run() {
-
-  for ( i = 0 ; i < m ; i++ )
-    y[i]=F->chem[i]->n();
-
-  y[m]=T;
-
-  solver->set ( this , y , 0.0 , L );
-
-  dL=solver->dx();
-
-  OK=solver->run();
-
-  sum = F->m;
-  F->m = 0;
-
-  for ( i = 0 ; i < m ; i++ )
-    F->m+=F->chem[i]->m;
-  for ( i = 0 ; i < m ; i++ )
-    F->chem[i]->m *= sum/F->m;
-  // if (OK)
-  //mass balance!
-  if ( fabs(m_in-F->m) > EPS || !explode )
-    OK=false;
-
-  return OK;
-}
-
-double pfr::f ( int eq , double l , double * y ) {
-
-
-  sum=F->m;
-  F->m=0;
-  for(i=0; i<m;i++)
-    {
-      if(y[i]<0) y[i]=0;
-      F->chem[i]->m = y[i]*F->chem[i]->M/1000.0;
-      F->m+=F->chem[i]->m;
-    }
-
-
-  for(i=0; i<m;i++)
-    F->chem[i]->m *= sum/F->m;
-
-
-  F->m=sum;
-  T=y[m];
-  if(T>MAX_TEMP)
-    {
-      cout << "ERROR 11\n\n";
-      exit(0);
-    }
-
-
-  for(i=0; i<m;i++)
-    C[i]=F->chem[i]->n()/F->v;
-
-  for(j=0;j<n;j++)
-    r[j] = rx[j]->rate(T,C);
-
-  if(0<=eq && eq<m)  //return dFi/dL
-    {
-      tmp=0.0;
-      for(j=0;j<n;j++) tmp+=a[eq][j]*r[j];
-      tmp *= (pi*D*D/4.0);
-    }
-
-
-
-  if(eq==m)   //return dT/dL
-    {
-
-
-      F->set(F->P,T);
-
-      tmp=0.0;
-      for(j=0;j<n;j++)
-	tmp -= r[j]*rx[j]->dHr(T);
-
-
-      tmp *= (pi*D*D/4.0);
-
-
-      tmp += (pi*D)*U*(Ta-T);
-
-
-      tmp1=0.0;
-      for(i=0;i<m;i++)
-	tmp1+= y[i]*F->chem[i]->Cp()*0.001;
-      tmp /= tmp1;
-
-
-      if(fabs(tmp*dL)>500.0)
-	{
-	  cout << "ERROR 13\n\n";
-	  exit(0);                           
-	}
-    }
-
-
-
-
-  return tmp;
-}
-
-
-
-double pfr::get_cost ( void ) {
-  dL=L*pi*pow(D,2)/4.0;
-  if(dL<0.3) dL=0.3; if(dL>520) dL=520;
-  sum = 3.4974+0.4485*log10(dL)+0.1074*pow(log10(dL),2);
-  sum = pow(10, sum);
-  P= (P-1)*101.325/100;
-  dL=(P+1)*D/(317.46*(850-0.6*(P+1)))+0.0315;
-  sum *=(2.25+ 1.82*dL*4.2);
-  sum = sum*MS_YEAR/MS_2001;
-  return sum;
-}
-
-double pfr::get_water() {
-  sum = (U>EPS && T>Ta) ? U*L*pi*pow(D,2)/4*(T-Ta)/4.185/25.0 : 0.0;
-  return sum;
-}
-
-void pfr::cost() {
-  cout << "WRITE FILE " << RUNTIME << name << ".cost" << " :\n\tBEGIN\n";
-  cout << "\t>>" << get_cost();
-  cout << "\n\tEND\n\n";
-}
-
-void pfr::water() {
-  cout << "WRITE FILE " << RUNTIME << name << ".water" << " :\n\tBEGIN\n";
-  if (U>EPS && T>Ta) sum = (U*L*pi*pow(D,2)/4*(T-Ta)/4.185/25.0);
-  else sum = 0.0;
-  cout << "\t>>" << sum;
-  cout << "\n\tEND\n\n";
-}
+#include "pfr.hpp"
+#include "RungeKutta.cpp"
+using namespace std;
+
+pfr::pfr ( stream * s1 , stream * s2 , double ** t , int nb_r , reaction ** rr , double u , double ta ) {
+
+  F = s2;
+  F->m=0;
+  P=s1->P;
+  for ( i = 0 ; i < s1->nb ; i++ ) {
+    F->chem[i]->m = s1->chem[i]->m;
+    F->m+=F->chem[i]->m;
+  }
+  F->set(s1->P, s1->T);
+  m_in=F->m;
+  a = t;
+  rx = rr;
+  n=nb_r;
+  m=  F->nb;
+  U=u;
+  Ta=ta;
+  T = F->T;
+  C = new double[m];
+  y = new double[m+1];
+  r=new double[n];
+  OK=true;
+  explode=true;
+  solver = new RungeKutta<pfr>(m+1);
+}
+
+pfr::~pfr() {
+  delete [] r;
+  delete [] C;
+  delete [] y;
+  delete solver;
+}
+
+bool pfr::run() {
+
+  for ( i = 0 ; i < m ; i++ )
+    y[i]=F->chem[i]->n();
+
+  y[m]=T;
+
+  solver->set ( this , y , 0.0 , L );
+
+  dL=solver->dx();
+
+  OK=solver->run();
+
+  sum = F->m;
+  F->m = 0;
+
+  for ( i = 0 ; i < m ; i++ )
+    F->m+=F->chem[i]->m;
+  for ( i = 0 ; i < m ; i++ )
+    F->chem[i]->m *= sum/F->m;
+  // if (OK)
+  //mass balance!
+  if ( fabs(m_in-F->m) > EPS || !explode )
+    OK=false;
+
+  return OK;
+}
+
+double pfr::f ( int eq , double l , double * y ) {
+
+
+  sum=F->m;
+  F->m=0;
+  for(i=0; i<m;i++)
+    {
+      if(y[i]<0) y[i]=0;
+      F->chem[i]->m = y[i]*F->chem[i]->M/1000.0;
+      F->m+=F->chem[i]->m;
+    }
+
+
+  for(i=0; i<m;i++)
+    F->chem[i]->m *= sum/F->m;
+
+
+  F->m=sum;
+  T=y[m];
+  if(T>MAX_TEMP)
+    {
+      cout << "ERROR 11\n\n";
+      exit(0);
+    }
+
+
+  for(i=0; i<m;i++)
+    C[i]=F->chem[i]->n()/F->v;
+
+  for(j=0;j<n;j++)
+    r[j] = rx[j]->rate(T,C);
+
+  if(0<=eq && eq<m)  //return dFi/dL
+    {
+      tmp=0.0;
+      for(j=0;j<n;j++) tmp+=a[eq][j]*r[j];
+      tmp *= (pi*D*D/4.0);
+    }
+
+
+
+  if(eq==m)   //return dT/dL
+    {
+
+
+      F->set(F->P,T);
+
+      tmp=0.0;
+      for(j=0;j<n;j++)
+	tmp -= r[j]*rx[j]->dHr(T);
+
+
+      tmp *= (pi*D*D/4.0);
+
+
+      tmp += (pi*D)*U*(Ta-T);
+
+
+      tmp1=0.0;
+      for(i=0;i<m;i++)
+	tmp1+= y[i]*F->chem[i]->Cp()*0.001;
+      tmp /= tmp1;
+
+
+      if(fabs(tmp*dL)>500.0)
+	{
+	  cout << "ERROR 13\n\n";
+	  exit(0);                           
+	}
+    }
+
+
+
+
+  return tmp;
+}
+
+
+
+double pfr::get_cost ( void ) {
+  dL=L*pi*pow(D,2)/4.0;
+  if(dL<0.3) dL=0.3; if(dL>520) dL=520;
+  sum = 3.4974+0.4485*log10(dL)+0.1074*pow(log10(dL),2);
+  sum = pow(10, sum);
+  P= (P-1)*101.325/100;
+  dL=(P+1)*D/(317.46*(850-0.6*(P+1)))+0.0315;
+  sum *=(2.25+ 1.82*dL*4.2);
+  sum = sum*MS_YEAR/MS_2001;
+  return sum;
+}
+
+double pfr::get_water() {
+  sum = (U>EPS && T>Ta) ? U*L*pi*pow(D,2)/4*(T-Ta)/4.185/25.0 : 0.0;
+  return sum;
+}
+
+void pfr::cost() {
+  cout << "WRITE FILE " << RUNTIME << name << ".cost" << " :\n\tBEGIN\n";
+  cout << "\t>>" << get_cost();
+  cout << "\n\tEND\n\n";
+}
+
+void pfr::water() {
+  cout << "WRITE FILE " << RUNTIME << name << ".water" << " :\n\tBEGIN\n";
+  if (U>EPS && T>Ta) sum = (U*L*pi*pow(D,2)/4*(T-Ta)/4.185/25.0);
+  else sum = 0.0;
+  cout << "\t>>" << sum;
+  cout << "\n\tEND\n\n";
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/pfr.hpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/pfr.hpp
index a8f49a7..9746a50 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/pfr.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/pfr.hpp
@@ -1,36 +1,36 @@
-#ifndef PFR_H
-#define PFR_H
-
-#include "reaction.hpp"
-#include "RungeKutta.hpp"
-#include "stream.hpp"
-using namespace std;
-
-class pfr {
-private:
-  // terminator *term;
-  // ofstream results;
-  string name;
-  bool OK, explode;
-  int i ,j, n, m;
-  double L,D,dL, U, Ta, m_in, sum, P;
-  stream *F;
-  double **a, *C, T, *y, *r, tmp, tmp1;
-  reaction **rx;
-  RungeKutta<pfr> *solver;
-  
-public:
-  // pfr(){};
-  pfr ( stream * , stream * , double ** , int , reaction ** , double , double );
-  void set ( const string & n ) { name = n; }
-  void set(double l, double d) {L=l; D=d;}
-  bool run();
-  void water();
-  void  cost();
-  double get_cost ( void );
-  double get_water ( void );
-
-  double f(int, double, double*);
-  ~pfr();
-};
-#endif
+#ifndef PFR_H
+#define PFR_H
+
+#include "reaction.hpp"
+#include "RungeKutta.hpp"
+#include "stream.hpp"
+using namespace std;
+
+class pfr {
+private:
+  // terminator *term;
+  // ofstream results;
+  string name;
+  bool OK, explode;
+  int i ,j, n, m;
+  double L,D,dL, U, Ta, m_in, sum, P;
+  stream *F;
+  double **a, *C, T, *y, *r, tmp, tmp1;
+  reaction **rx;
+  RungeKutta<pfr> *solver;
+  
+public:
+  // pfr(){};
+  pfr ( stream * , stream * , double ** , int , reaction ** , double , double );
+  void set ( const string & n ) { name = n; }
+  void set(double l, double d) {L=l; D=d;}
+  bool run();
+  void water();
+  void  cost();
+  double get_cost ( void );
+  double get_water ( void );
+
+  double f(int, double, double*);
+  ~pfr();
+};
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/profitability.cpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/profitability.cpp
index 3617b30..902f30d 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/profitability.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/profitability.cpp
@@ -1,138 +1,138 @@
-#include "profitability.hpp"
-#include "secant.cpp"
-using namespace std;
-
-bool profitability::run ( double * y )
-{
-   OK=true;
-
-   // cout<<setiosflags(ios::fixed);
-   // cout<<endl<<endl<<"   PROFITABILITY ANALYSIS"<<endl;
-   // cout<<endl<<setprecision(1)<<"      Return on investment   (%)= "<<ROI()*100.0;
-   // cout<<endl<<"      Rate of return         (%)= "<<RR()*100.0; // y[10]
-
-   y[10] = RR()*100.0;  // y[10]
-
-   ROI();
-   RR();
-
-   // cout<<endl<<"      Discounted flow rate   (%)= "<<DFR()*100.0;
-
-   DFR();
-
-   // cout<<endl<<endl<<"      Payout time            (y)= "<<PT();              // y[ 9]
-   y[9] = PT();
-
-   // cout<<endl<<setprecision(0)<<"      Annual equivalent cost ($)= "<<AEC();  // y[12]
-   y[12] = AEC();
-
-   // cout<<endl<<"      Net present value      ($)= "<<NPV()<<endl;             // y[13]
-   y[13] = NPV();
-
-   return OK;
-}
-
-double profitability::ROI()
-{
-  // if(!MUTE)cout<<endl<<"        return on investment...";
-   num=den=0.0;
-   for(i=0;i<C->N;i++)
-   {
-      if(C->Inv[i]>EPS) den+=C->Inv[i];
-      num+=(C->Rev[i]-C->Coper[i]-C->Amort[i]);
-   }
-   if (num>EPS && den>EPS && C->N>0) {
-     // if(!MUTE)cout<<" OK";
-     return num/C->N/den;
-   }
-   else return 0.0;
-}
-
-double profitability::RR()
-{
-   // if(!MUTE)cout<<endl<<"        rate of return...";
-   num=den=0.0;
-   for(i=0;i<C->N;i++)
-   {
-      num+=(C->Rev[i]-C->Coper[i])/pow(1.0+C->i_rate, i);
-      den+=C->Inv[i]/pow(1.0+C->i_rate, i);
-   }
-   if(num>EPS && den>EPS) {
-     // if(!MUTE)cout<<" OK";
-     return num/den;
-   }
-   else return 0.0;
-}
-
-double profitability::DFR()
-{
-  //if(!MUTE)cout<<endl<<"        discounted cash flow rate...";
-   solver = new secant<profitability>();
-   solver->set(this, 0.0, 0.01);
-   OK = solver->run();
-
-   if ( OK && num>EPS && num < 1e20 ) {
-     // if(!MUTE)cout<<" OK";
-     return num;
-   }
-   else return 0.0;
-}
-
-double profitability::f(double x)
-{
-   num=x;
-   sum=0.0;
-   for(i=0;i<C->N;i++)
-     sum += C->Flow[i]/pow(1.0+x, i);
-   return sum;
-}
-
-double profitability::PT()
-{
-  // if(!MUTE)cout<<endl<<"        payout time...";
-   sum=0.0;
-   for(i=0;i<C->N;i++)
-   {
-      if((sum+C->Flow[i])>0.0)
-      {
-         den=0.0;
-         while(sum+den*C->Flow[i]<=0.0) den+=0.001;
-         den+=double(i-1);
-         i=C->N;
-      }
-      else sum+=C->Flow[i];
-   }
-
-   if(den>EPS) {
-     // if(!MUTE)cout<<" OK";
-     return den;
-   }
-   else return 0.0;
-}
-
-double profitability::AEC()
-{
-   //if(!MUTE)cout<<endl<<"        annual equivalent cost...";
-   sum=0.0;
-   for(i=0;i<C->N;i++) sum+=(C->Coper[i]+C->Inv[i])/pow(1.0+C->i_rate, i);
-   if (sum>EPS) {
-//      if(!MUTE)
-//        cout<<" OK";
-     return sum*(C->i_rate*pow(1.0+C->i_rate,C->N))/(pow(1.0+C->i_rate,C->N)-1.0);
-   }
-   else return 0.0;
-}
-
-double profitability::NPV()
-{
-  // if(!MUTE)cout<<endl<<"        net present value...";
-   sum=0.0;
-   for ( i = 0 ; i < C->N ; i++ )
-     sum += C->Flowact[i];
-   if ( sum > EPS ) {
-//      if(!MUTE)
-//        cout<<" OK";
-     return sum;
-   }
-   return 0.0;
-}
+#include "profitability.hpp"
+#include "secant.cpp"
+using namespace std;
+
+bool profitability::run ( double * y )
+{
+   OK=true;
+
+   // cout<<setiosflags(ios::fixed);
+   // cout<<endl<<endl<<"   PROFITABILITY ANALYSIS"<<endl;
+   // cout<<endl<<setprecision(1)<<"      Return on investment   (%)= "<<ROI()*100.0;
+   // cout<<endl<<"      Rate of return         (%)= "<<RR()*100.0; // y[10]
+
+   y[10] = RR()*100.0;  // y[10]
+
+   ROI();
+   RR();
+
+   // cout<<endl<<"      Discounted flow rate   (%)= "<<DFR()*100.0;
+
+   DFR();
+
+   // cout<<endl<<endl<<"      Payout time            (y)= "<<PT();              // y[ 9]
+   y[9] = PT();
+
+   // cout<<endl<<setprecision(0)<<"      Annual equivalent cost ($)= "<<AEC();  // y[12]
+   y[12] = AEC();
+
+   // cout<<endl<<"      Net present value      ($)= "<<NPV()<<endl;             // y[13]
+   y[13] = NPV();
+
+   return OK;
+}
+
+double profitability::ROI()
+{
+  // if(!MUTE)cout<<endl<<"        return on investment...";
+   num=den=0.0;
+   for(i=0;i<C->N;i++)
+   {
+      if(C->Inv[i]>EPS) den+=C->Inv[i];
+      num+=(C->Rev[i]-C->Coper[i]-C->Amort[i]);
+   }
+   if (num>EPS && den>EPS && C->N>0) {
+     // if(!MUTE)cout<<" OK";
+     return num/C->N/den;
+   }
+   else return 0.0;
+}
+
+double profitability::RR()
+{
+   // if(!MUTE)cout<<endl<<"        rate of return...";
+   num=den=0.0;
+   for(i=0;i<C->N;i++)
+   {
+      num+=(C->Rev[i]-C->Coper[i])/pow(1.0+C->i_rate, i);
+      den+=C->Inv[i]/pow(1.0+C->i_rate, i);
+   }
+   if(num>EPS && den>EPS) {
+     // if(!MUTE)cout<<" OK";
+     return num/den;
+   }
+   else return 0.0;
+}
+
+double profitability::DFR()
+{
+  //if(!MUTE)cout<<endl<<"        discounted cash flow rate...";
+   solver = new secant<profitability>();
+   solver->set(this, 0.0, 0.01);
+   OK = solver->run();
+
+   if ( OK && num>EPS && num < 1e20 ) {
+     // if(!MUTE)cout<<" OK";
+     return num;
+   }
+   else return 0.0;
+}
+
+double profitability::f(double x)
+{
+   num=x;
+   sum=0.0;
+   for(i=0;i<C->N;i++)
+     sum += C->Flow[i]/pow(1.0+x, i);
+   return sum;
+}
+
+double profitability::PT()
+{
+  // if(!MUTE)cout<<endl<<"        payout time...";
+   sum=0.0;
+   for(i=0;i<C->N;i++)
+   {
+      if((sum+C->Flow[i])>0.0)
+      {
+         den=0.0;
+         while(sum+den*C->Flow[i]<=0.0) den+=0.001;
+         den+=double(i-1);
+         i=C->N;
+      }
+      else sum+=C->Flow[i];
+   }
+
+   if(den>EPS) {
+     // if(!MUTE)cout<<" OK";
+     return den;
+   }
+   else return 0.0;
+}
+
+double profitability::AEC()
+{
+   //if(!MUTE)cout<<endl<<"        annual equivalent cost...";
+   sum=0.0;
+   for(i=0;i<C->N;i++) sum+=(C->Coper[i]+C->Inv[i])/pow(1.0+C->i_rate, i);
+   if (sum>EPS) {
+//      if(!MUTE)
+//        cout<<" OK";
+     return sum*(C->i_rate*pow(1.0+C->i_rate,C->N))/(pow(1.0+C->i_rate,C->N)-1.0);
+   }
+   else return 0.0;
+}
+
+double profitability::NPV()
+{
+  // if(!MUTE)cout<<endl<<"        net present value...";
+   sum=0.0;
+   for ( i = 0 ; i < C->N ; i++ )
+     sum += C->Flowact[i];
+   if ( sum > EPS ) {
+//      if(!MUTE)
+//        cout<<" OK";
+     return sum;
+   }
+   return 0.0;
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/profitability.hpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/profitability.hpp
index 194102c..03f85c5 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/profitability.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/profitability.hpp
@@ -1,30 +1,30 @@
-#ifndef PROFITABILITY_H
-#define PROFITABILITY_H
-#include "cashflow.hpp"
-#include "secant.hpp"
-
-#include <iomanip>
-
-using namespace std;
-
-class profitability
-{
-private:
-  cashflow *C;
-//   ofstream out;
-//   char name[41]; 
-  bool OK;
-  double ROI(), RR(), DFR();
-  double PT(), AEC(), NPV();
-  int i;
-  double den, num, sum;
-  secant<profitability> *solver;
-  
-public:
-  profitability(cashflow* c){C=c;}
-  ~profitability(){delete solver;};
-  // void set(char n[31]) {strcpy(name, n); strcat(name, ".econo");}
-  bool run ( double * y );
-  double f(double);
-};
-#endif
+#ifndef PROFITABILITY_H
+#define PROFITABILITY_H
+#include "cashflow.hpp"
+#include "secant.hpp"
+
+#include <iomanip>
+
+using namespace std;
+
+class profitability
+{
+private:
+  cashflow *C;
+//   ofstream out;
+//   char name[41]; 
+  bool OK;
+  double ROI(), RR(), DFR();
+  double PT(), AEC(), NPV();
+  int i;
+  double den, num, sum;
+  secant<profitability> *solver;
+  
+public:
+  profitability(cashflow* c){C=c;}
+  ~profitability(){delete solver;};
+  // void set(char n[31]) {strcpy(name, n); strcat(name, ".econo");}
+  bool run ( double * y );
+  double f(double);
+};
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/pump.cpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/pump.cpp
index 685a0be..166123f 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/pump.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/pump.cpp
@@ -1,94 +1,94 @@
-#include "pump.hpp"
-using namespace std;
-
-bool pump::solve() {
-
-  // out->chem = in->chem;
-  out->set ( in->nb , in->chem );
-  out->m = in->m;
-
-
-  in->set(in->P,in->T);
-  for ( i = 0 ; i < in->nb ; i++ )
-    if(in->chem[i]->m>EPS) {
-      in->chem[i]->find_v();
-      if(in->chem[i]->state==1) {
-	W+=in->chem[i]->gamma()*in->T*0.0083144*in->chem[i]->n()/
-	  (in->chem[i]->gamma()-1.0)*(pow(P/in->P, 1.0-1.0/in->chem[i]->gamma())-1.0);
-	tmp += in->chem[i]->gamma();
-	n++;
-      }
-      if(in->chem[i]->state==0)
-	W+=in->chem[i]->v*(P-in->P)*101.325;
-    }
-  if (fabs(state-1)<EPS) //compressing gases
-    out->T = in->T*pow(P/in->P, 1.0-1.0/(tmp/n));
-  else //compressing liquids
-    out->T=in->T;
-  out->set(P, out->T);
-  if(eta>EPS)
-    W /= eta;
-  else
-    success=false;
-  // out->write(); // WRITE TOTO
-  return success;
-}
-
-void pump::write() {
-
-  cout << setprecision(6);
-
-  string file_name = RUNTIME + name + ".unit";
-  cout << "WRITE FILE " << file_name << " :\n\tBEGIN\n";
-  cout <<"\t>>         " << name;
-  cout << endl << "\t>>           stream in: "<<in->name<<"   out: "<<out->name;
-  cout << endl << "\t>>           P(in) = "<<in->P<<"   P(out) = "<<out->P<<"  atm";
-  cout << endl << "\t>>           T(in) = "<<in->T<<"   T(out) = "<<out->T<<"  K";
-  cout << endl << "\t>>           Shaft work = "<<W;
-  if (success)
-    cout <<" kW (converge normally)";
-  cout << "\n\tEND\n\n";
-
-  power();
-  cost();
-}
-
-
-double pump::get_cost ( void ) {
-
-  if ( fabs(state-1) < EPS ) {
-    if(W<450) W=450; if(W>3000)W=3000;
-    tmp=2.2891+1.3604*log10(W)-0.1027*pow(log10(W),2);
-    tmp=3.2*pow(10.0, tmp);
-    tmp1=2.4604+1.4191*log10(W)-0.1798*pow(log10(W),2);
-    tmp1=1.5*pow(10.0, tmp1);
-    tmp+=tmp1;
-  }
-  else {
-    if(W<1) W=1; if(W>300)W=300;
-    tmp=3.3892+0.0536*log10(W)+0.1538*pow(log10(W),2);
-    tmp=pow(10.0, tmp);
-    P=(P-1.0)*101.325/100.0;
-    if (P<EPS) P=1; if(P>100) P=100;
-    W = -0.3925+0.3957*log10(P)-0.00226*pow(log10(P),2);
-    W=pow(10.0, W); if(W<1) W=1;
-    tmp*=(1.89+1.35*W*1.8);
-  }
-  tmp = tmp*MS_YEAR/MS_2001;
-  return tmp;
-}
-
-
-void pump::cost() {
-  string file_name = RUNTIME + name + ".cost";
-  cout << "WRITE FILE " << file_name << " :\n\tBEGIN\n";
-  cout << "\t>>" << get_cost();
-  cout << "\n\tEND\n\n";
-}
-
-void pump::power() {
-  string file_name = RUNTIME + name + ".power";
-  cout << "WRITE FILE " << file_name << " :\n\tBEGIN\n";
-  cout << "\t>>" << W;
-  cout << "\n\tEND\n\n";
-}
+#include "pump.hpp"
+using namespace std;
+
+bool pump::solve() {
+
+  // out->chem = in->chem;
+  out->set ( in->nb , in->chem );
+  out->m = in->m;
+
+
+  in->set(in->P,in->T);
+  for ( i = 0 ; i < in->nb ; i++ )
+    if(in->chem[i]->m>EPS) {
+      in->chem[i]->find_v();
+      if(in->chem[i]->state==1) {
+	W+=in->chem[i]->gamma()*in->T*0.0083144*in->chem[i]->n()/
+	  (in->chem[i]->gamma()-1.0)*(pow(P/in->P, 1.0-1.0/in->chem[i]->gamma())-1.0);
+	tmp += in->chem[i]->gamma();
+	n++;
+      }
+      if(in->chem[i]->state==0)
+	W+=in->chem[i]->v*(P-in->P)*101.325;
+    }
+  if (fabs(state-1)<EPS) //compressing gases
+    out->T = in->T*pow(P/in->P, 1.0-1.0/(tmp/n));
+  else //compressing liquids
+    out->T=in->T;
+  out->set(P, out->T);
+  if(eta>EPS)
+    W /= eta;
+  else
+    success=false;
+  // out->write(); // WRITE TOTO
+  return success;
+}
+
+void pump::write() {
+
+  cout << setprecision(6);
+
+  string file_name = RUNTIME + name + ".unit";
+  cout << "WRITE FILE " << file_name << " :\n\tBEGIN\n";
+  cout <<"\t>>         " << name;
+  cout << endl << "\t>>           stream in: "<<in->name<<"   out: "<<out->name;
+  cout << endl << "\t>>           P(in) = "<<in->P<<"   P(out) = "<<out->P<<"  atm";
+  cout << endl << "\t>>           T(in) = "<<in->T<<"   T(out) = "<<out->T<<"  K";
+  cout << endl << "\t>>           Shaft work = "<<W;
+  if (success)
+    cout <<" kW (converge normally)";
+  cout << "\n\tEND\n\n";
+
+  power();
+  cost();
+}
+
+
+double pump::get_cost ( void ) {
+
+  if ( fabs(state-1) < EPS ) {
+    if(W<450) W=450; if(W>3000)W=3000;
+    tmp=2.2891+1.3604*log10(W)-0.1027*pow(log10(W),2);
+    tmp=3.2*pow(10.0, tmp);
+    tmp1=2.4604+1.4191*log10(W)-0.1798*pow(log10(W),2);
+    tmp1=1.5*pow(10.0, tmp1);
+    tmp+=tmp1;
+  }
+  else {
+    if(W<1) W=1; if(W>300)W=300;
+    tmp=3.3892+0.0536*log10(W)+0.1538*pow(log10(W),2);
+    tmp=pow(10.0, tmp);
+    P=(P-1.0)*101.325/100.0;
+    if (P<EPS) P=1; if(P>100) P=100;
+    W = -0.3925+0.3957*log10(P)-0.00226*pow(log10(P),2);
+    W=pow(10.0, W); if(W<1) W=1;
+    tmp*=(1.89+1.35*W*1.8);
+  }
+  tmp = tmp*MS_YEAR/MS_2001;
+  return tmp;
+}
+
+
+void pump::cost() {
+  string file_name = RUNTIME + name + ".cost";
+  cout << "WRITE FILE " << file_name << " :\n\tBEGIN\n";
+  cout << "\t>>" << get_cost();
+  cout << "\n\tEND\n\n";
+}
+
+void pump::power() {
+  string file_name = RUNTIME + name + ".power";
+  cout << "WRITE FILE " << file_name << " :\n\tBEGIN\n";
+  cout << "\t>>" << W;
+  cout << "\n\tEND\n\n";
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/pump.hpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/pump.hpp
index aac9e6b..dbcacfd 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/pump.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/pump.hpp
@@ -1,46 +1,46 @@
-/*
-This unit takes one input stream and divides in two or more
-output streams. The pressure and temparature of output streams
-are the same as the input's.
-(ref : McCabe, Smith & Harriott)
-
-Structure in the .process file:
-pump {name} {index of input stream} {index of output stream} {output pressure in atm} {efficiency, between 0 and 1}
-
-How to use:
-   1- Call the constructor: pump1 = new pump(in, out);
-   2- Set conditions: pump1->set(P_output, efficiency);
-   3- Set the name: pump1->set(name);
-   4- Solve: pump1->solve();   
-*/
-#ifndef PUMP_H
-#define PUMP_H
-
-#include "stream.hpp"
-using namespace std;
-
-class pump
-{
-private:
-  int i, j, n;
-  double state, tmp, tmp1;
-  bool success;
-  string name;
-  stream *in;		//pointer to input stream
-  stream *out;		//pointer to output stream
-  
-public:
-  double P, W, eta;			//output presure in atm, work in kW and efficiency
-  pump(stream* s1, stream* s2) {in=s1; out=s2; success=true; W=0.0; n=0; tmp=0.0;}
-  ~pump(){}
-  void set(double p, double e){P = p; eta = e; state=in->quality();}
-  void set(const string & n) { name = n; }
-  bool solve();				  //finds the temperature and computes mass balance
-  void write();
-  void cost();
-  double get_cost(); // calcule W aussi
-  double get_power() const { return W; }
-
-  void  power();
-};
-#endif
+/*
+This unit takes one input stream and divides in two or more
+output streams. The pressure and temparature of output streams
+are the same as the input's.
+(ref : McCabe, Smith & Harriott)
+
+Structure in the .process file:
+pump {name} {index of input stream} {index of output stream} {output pressure in atm} {efficiency, between 0 and 1}
+
+How to use:
+   1- Call the constructor: pump1 = new pump(in, out);
+   2- Set conditions: pump1->set(P_output, efficiency);
+   3- Set the name: pump1->set(name);
+   4- Solve: pump1->solve();   
+*/
+#ifndef PUMP_H
+#define PUMP_H
+
+#include "stream.hpp"
+using namespace std;
+
+class pump
+{
+private:
+  int i, j, n;
+  double state, tmp, tmp1;
+  bool success;
+  string name;
+  stream *in;		//pointer to input stream
+  stream *out;		//pointer to output stream
+  
+public:
+  double P, W, eta;			//output presure in atm, work in kW and efficiency
+  pump(stream* s1, stream* s2) {in=s1; out=s2; success=true; W=0.0; n=0; tmp=0.0;}
+  ~pump(){}
+  void set(double p, double e){P = p; eta = e; state=in->quality();}
+  void set(const string & n) { name = n; }
+  bool solve();				  //finds the temperature and computes mass balance
+  void write();
+  void cost();
+  double get_cost(); // calcule W aussi
+  double get_power() const { return W; }
+
+  void  power();
+};
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/reaction.cpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/reaction.cpp
index 9eaafc1..ee658e5 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/reaction.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/reaction.cpp
@@ -1,204 +1,204 @@
-#include "reaction.hpp"
-using namespace std;
-
-
-int reaction::find_chemical ( const string & chem_name ) const {
-  for ( int i = 0 ; i < m ; i++ )
-    if ( list[i]->CAS == chem_name )
-      return i;
-  return -1;
-}
-
-// donnees hardcodees
-reaction::reaction ( const string & in1 , int dim , chemical ** in2 ) {
-
-  m    = dim;  // nbre de chemicals
-  list = in2;  // liste des chemicals
-
-  n      = new double[m];
-  safe_n = new double[m];
-  safe_a = new double[m];
-  a      = new double[m];
-
-  int i , j;
-  for ( i = 0 ; i < m ; i++ ) {
-    a[i]=0.0;
-    n[i]=0.0;
-  }
-
-  // 1/5 :
-  if ( in1 == "eb2sty" ) {
-    k0 = 3.525e5;
-    E  = 90.85;
-    if ( (j = find_chemical ("100-41-4")) < 0 ) {
-      cout << "ERROR 10a\n\n";
-      exit(0);
-    }
-    a[j] = -1;
-    n[j] =  1;
-    if ( (j = find_chemical ("1333-74-0")) < 0 ) {
-      cout << "ERROR 10b\n\n";
-      exit(0);
-    }
-    a[j] = 1;
-    n[j] = 0;
-    if ( (j = find_chemical ("100-42-5")) < 0 ) {
-      cout << "ERROR 10c\n\n";
-      exit(0);
-    }
-    a[j] = 1;
-    n[j] = 0;
-  }
-
-  // 2/5 :
-  else if ( in1 == "sty2eb" ) {
-    k0 = 2.754e-4;
-    E  = -18.653;
-    if ( (j = find_chemical ("100-41-4")) < 0 ) {
-      cout << "ERROR 10d\n\n";
-      exit(0);
-    }
-    a[j] = 1;
-    n[j] = 0;
-    if ( (j = find_chemical ("1333-74-0")) < 0 ) {
-      cout << "ERROR 10e\n\n";
-      exit(0);
-    }
-    a[j] = -1;
-    n[j] =  1;
-    if ( (j = find_chemical ("100-42-5")) < 0 ) {
-      cout << "ERROR 10f\n\n";
-      exit(0);
-    }
-    a[j] = -1;
-    n[j] =  1;
-  }
-
-  // 3/5 :
-  else if ( in1 == "eb2bz" ) {
-    k0 = 9.577e4;
-    E  = 111.375;
-    if ( (j = find_chemical ("100-41-4")) < 0 ) {
-      cout << "ERROR 10g\n\n";
-      exit(0);
-    }
-    a[j] = -1;
-    n[j] =  1;
-    if ( (j = find_chemical ("71-43-2")) < 0 ) {
-      cout << "ERROR 10h\n\n";
-      exit(0);
-    }
-    a[j] = 1;
-    n[j] = 0;
-    if ( (j = find_chemical ("74-85-1")) < 0 ) {
-      cout << "ERROR 10i\n\n";
-      exit(0);
-    }
-    a[j] = 1;
-    n[j] = 0;
-  }
-
-  // 4/5 :
-  else if ( in1 == "eb2tol" ) {
-    k0 = 6.077e8;
-    E  = 207.850;
-    if ( (j = find_chemical ("100-41-4")) < 0 ) {
-      cout << "ERROR 10j\n\n";
-      exit(0);
-    }
-    a[j] = -1;
-    n[j] =  1;
-    if ( (j = find_chemical ("1333-74-0")) < 0 ) {
-      cout << "ERROR 10k\n\n";
-      exit(0);
-    }
-    a[j] = -1;
-    n[j] =  1;
-    if ( (j = find_chemical ("108-88-3")) < 0 ) {
-      cout << "ERROR 10l\n\n";
-      exit(0);
-    }
-    a[j] = 1;
-    n[j] = 0;
-    if ( (j = find_chemical ("74-82-8")) < 0 ) {
-      cout << "ERROR 10m\n\n";
-      exit(0);
-    }
-    a[j] = 1;
-    n[j] = 0;
-  }
-
-  // 5/5 :
-  else if ( in1 == "tol2bz" ) {
-    k0 = 1;
-    E  = 19.038;
-    if ( (j = find_chemical ("1333-74-0")) < 0 ) {
-      cout << "ERROR 10n\n\n";
-      exit(0);
-    }
-    a[j] = -1;
-    n[j] = 0.5;
-    if ( (j = find_chemical ("108-88-3")) < 0 ) {
-      cout << "ERROR 10o\n\n";
-      exit(0);
-    }
-    a[j] = -1;
-    n[j] =  1;
-    if ( (j = find_chemical ("71-43-2")) < 0 ) {
-      cout << "ERROR 10p\n\n";
-      exit(0);
-    }
-    a[j] = 1;
-    n[j] = 0;
-    if ( (j = find_chemical ("74-82-8")) < 0 ) {
-      cout << "ERROR 10q\n\n";
-      exit(0);
-    }
-    a[j] = 1;
-    n[j] = 0;
-  }
-  else {
-    cout << "ERROR 12\n\n";
-    exit(0);
-  }
-
-  for ( i = 0 ; i < m ; i++ ) {
-    safe_n[i]=n[i];
-    safe_a[i]=a[i];
-  }
-}
-
-reaction::~reaction() {
-  delete [] a;
-  delete [] n;
-  delete [] safe_n;
-  delete [] safe_a;
-}
-
-double reaction::dHr(double T)
-{
-  int i , j;
-  for (i=0;i<m;i++)
-    if(safe_a[i]!=a[i])
-      {
-	if(a[i]>safe_a[i]) a[i]=safe_a[i];
-	else safe_a[i]=a[i];
-      }
-  double tmp=0.0;
-  for (i=0;i<m;i++) tmp += a[i]*list[i]->Ho;
-  if(fabs(T-298)>EPS)
-    for (i=0;i<m;i++)
-      for (j=1;j<=4;j++) tmp += a[i]*list[i]->Cp_param[j-1]*(pow(T,j)-pow(298.0,j))/j/1000.0;
-  return tmp;
-}
-
-double reaction::rate(double T, double* C)
-{
-  double tmp = k0*exp(-1000*E/8.3144/T);
-  for ( int i=0;i<m;i++)
-    {
-      if(safe_n[i]!=n[i]) n[i]=safe_n[i];
-      if(C[i]>EPS && fabs(n[i])>EPS) tmp *= pow(C[i], n[i]);
-    }
-  return tmp;
-}
+#include "reaction.hpp"
+using namespace std;
+
+
+int reaction::find_chemical ( const string & chem_name ) const {
+  for ( int i = 0 ; i < m ; i++ )
+    if ( list[i]->CAS == chem_name )
+      return i;
+  return -1;
+}
+
+// donnees hardcodees
+reaction::reaction ( const string & in1 , int dim , chemical ** in2 ) {
+
+  m    = dim;  // nbre de chemicals
+  list = in2;  // liste des chemicals
+
+  n      = new double[m];
+  safe_n = new double[m];
+  safe_a = new double[m];
+  a      = new double[m];
+
+  int i , j;
+  for ( i = 0 ; i < m ; i++ ) {
+    a[i]=0.0;
+    n[i]=0.0;
+  }
+
+  // 1/5 :
+  if ( in1 == "eb2sty" ) {
+    k0 = 3.525e5;
+    E  = 90.85;
+    if ( (j = find_chemical ("100-41-4")) < 0 ) {
+      cout << "ERROR 10a\n\n";
+      exit(0);
+    }
+    a[j] = -1;
+    n[j] =  1;
+    if ( (j = find_chemical ("1333-74-0")) < 0 ) {
+      cout << "ERROR 10b\n\n";
+      exit(0);
+    }
+    a[j] = 1;
+    n[j] = 0;
+    if ( (j = find_chemical ("100-42-5")) < 0 ) {
+      cout << "ERROR 10c\n\n";
+      exit(0);
+    }
+    a[j] = 1;
+    n[j] = 0;
+  }
+
+  // 2/5 :
+  else if ( in1 == "sty2eb" ) {
+    k0 = 2.754e-4;
+    E  = -18.653;
+    if ( (j = find_chemical ("100-41-4")) < 0 ) {
+      cout << "ERROR 10d\n\n";
+      exit(0);
+    }
+    a[j] = 1;
+    n[j] = 0;
+    if ( (j = find_chemical ("1333-74-0")) < 0 ) {
+      cout << "ERROR 10e\n\n";
+      exit(0);
+    }
+    a[j] = -1;
+    n[j] =  1;
+    if ( (j = find_chemical ("100-42-5")) < 0 ) {
+      cout << "ERROR 10f\n\n";
+      exit(0);
+    }
+    a[j] = -1;
+    n[j] =  1;
+  }
+
+  // 3/5 :
+  else if ( in1 == "eb2bz" ) {
+    k0 = 9.577e4;
+    E  = 111.375;
+    if ( (j = find_chemical ("100-41-4")) < 0 ) {
+      cout << "ERROR 10g\n\n";
+      exit(0);
+    }
+    a[j] = -1;
+    n[j] =  1;
+    if ( (j = find_chemical ("71-43-2")) < 0 ) {
+      cout << "ERROR 10h\n\n";
+      exit(0);
+    }
+    a[j] = 1;
+    n[j] = 0;
+    if ( (j = find_chemical ("74-85-1")) < 0 ) {
+      cout << "ERROR 10i\n\n";
+      exit(0);
+    }
+    a[j] = 1;
+    n[j] = 0;
+  }
+
+  // 4/5 :
+  else if ( in1 == "eb2tol" ) {
+    k0 = 6.077e8;
+    E  = 207.850;
+    if ( (j = find_chemical ("100-41-4")) < 0 ) {
+      cout << "ERROR 10j\n\n";
+      exit(0);
+    }
+    a[j] = -1;
+    n[j] =  1;
+    if ( (j = find_chemical ("1333-74-0")) < 0 ) {
+      cout << "ERROR 10k\n\n";
+      exit(0);
+    }
+    a[j] = -1;
+    n[j] =  1;
+    if ( (j = find_chemical ("108-88-3")) < 0 ) {
+      cout << "ERROR 10l\n\n";
+      exit(0);
+    }
+    a[j] = 1;
+    n[j] = 0;
+    if ( (j = find_chemical ("74-82-8")) < 0 ) {
+      cout << "ERROR 10m\n\n";
+      exit(0);
+    }
+    a[j] = 1;
+    n[j] = 0;
+  }
+
+  // 5/5 :
+  else if ( in1 == "tol2bz" ) {
+    k0 = 1;
+    E  = 19.038;
+    if ( (j = find_chemical ("1333-74-0")) < 0 ) {
+      cout << "ERROR 10n\n\n";
+      exit(0);
+    }
+    a[j] = -1;
+    n[j] = 0.5;
+    if ( (j = find_chemical ("108-88-3")) < 0 ) {
+      cout << "ERROR 10o\n\n";
+      exit(0);
+    }
+    a[j] = -1;
+    n[j] =  1;
+    if ( (j = find_chemical ("71-43-2")) < 0 ) {
+      cout << "ERROR 10p\n\n";
+      exit(0);
+    }
+    a[j] = 1;
+    n[j] = 0;
+    if ( (j = find_chemical ("74-82-8")) < 0 ) {
+      cout << "ERROR 10q\n\n";
+      exit(0);
+    }
+    a[j] = 1;
+    n[j] = 0;
+  }
+  else {
+    cout << "ERROR 12\n\n";
+    exit(0);
+  }
+
+  for ( i = 0 ; i < m ; i++ ) {
+    safe_n[i]=n[i];
+    safe_a[i]=a[i];
+  }
+}
+
+reaction::~reaction() {
+  delete [] a;
+  delete [] n;
+  delete [] safe_n;
+  delete [] safe_a;
+}
+
+double reaction::dHr(double T)
+{
+  int i , j;
+  for (i=0;i<m;i++)
+    if(safe_a[i]!=a[i])
+      {
+	if(a[i]>safe_a[i]) a[i]=safe_a[i];
+	else safe_a[i]=a[i];
+      }
+  double tmp=0.0;
+  for (i=0;i<m;i++) tmp += a[i]*list[i]->Ho;
+  if(fabs(T-298)>EPS)
+    for (i=0;i<m;i++)
+      for (j=1;j<=4;j++) tmp += a[i]*list[i]->Cp_param[j-1]*(pow(T,j)-pow(298.0,j))/j/1000.0;
+  return tmp;
+}
+
+double reaction::rate(double T, double* C)
+{
+  double tmp = k0*exp(-1000*E/8.3144/T);
+  for ( int i=0;i<m;i++)
+    {
+      if(safe_n[i]!=n[i]) n[i]=safe_n[i];
+      if(C[i]>EPS && fabs(n[i])>EPS) tmp *= pow(C[i], n[i]);
+    }
+  return tmp;
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/reaction.hpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/reaction.hpp
index 1456e0d..f05b27e 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/reaction.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/reaction.hpp
@@ -1,32 +1,32 @@
-#ifndef REACTION_H
-#define REACTION_H
-
-#include "chemical.hpp"
-using namespace std;
-
-class reaction {
-private:
-
-  int m;
-  double *n, k0, E, Hr, *safe_n, *safe_a;
-  // double tmp;
-//   char file[41], line[31];
-  chemical ** list;
-//   ifstream in;
-  // ofstream logf;
-  // terminator *end;
-	
-  int find_chemical ( const string & chem_name ) const;
-
-public:
-  // reaction(){};
-  reaction ( const string & , int ,  chemical ** );
-  ~reaction();
-  double *a;									//contains the molar coefficients
-  double dHr(double);					//returns heat of rection at T, in kJ/mol
-  double rate(double, double*);		//returns rate of reaction aT and C[], in mol/s.m3
-
-//   void show_name(){cout<<name;}
-};
-
-#endif
+#ifndef REACTION_H
+#define REACTION_H
+
+#include "chemical.hpp"
+using namespace std;
+
+class reaction {
+private:
+
+  int m;
+  double *n, k0, E, Hr, *safe_n, *safe_a;
+  // double tmp;
+//   char file[41], line[31];
+  chemical ** list;
+//   ifstream in;
+  // ofstream logf;
+  // terminator *end;
+	
+  int find_chemical ( const string & chem_name ) const;
+
+public:
+  // reaction(){};
+  reaction ( const string & , int ,  chemical ** );
+  ~reaction();
+  double *a;									//contains the molar coefficients
+  double dHr(double);					//returns heat of rection at T, in kJ/mol
+  double rate(double, double*);		//returns rate of reaction aT and C[], in mol/s.m3
+
+//   void show_name(){cout<<name;}
+};
+
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/reactor.cpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/reactor.cpp
index 7f6e3a9..0f0ddae 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/reactor.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/reactor.cpp
@@ -1,100 +1,100 @@
-#include "reactor.hpp"
-using namespace std;
-
-template<class TYPE>
-reactor<TYPE>::reactor(stream* s1, stream* s2)
-{
-   in  = s1;
-   out = s2;
-
-   model = NULL;
-}
-
-template<class TYPE>
-reactor<TYPE>::~reactor() {
-  for ( i = 0 ; i < n ; i++ )
-    delete rx[i];
-  delete [] rx;
-  for ( i = 0 ; i < m ; i++ )
-    delete table[i];
-  delete [] table;
-
-  if (model)
-    delete model;
-}
-
-template<class TYPE>
-void reactor<TYPE>::set ( double l , double d , int nb , const string * list_rx ) {
-  m      = in->nb;
-  n      = nb;
-  L      = l;
-  D      = d;
-  V      = pi*pow(D/2.0, 2)*L;
-
-  double * yields = new double [n];
-
-  rx = new reaction * [n];
-  for ( j = 0 ; j < n ; j++ )
-    rx[j] = new reaction ( list_rx[j] , m , in->chem );
-
-  table = new double * [m];
-  for ( i = 0 ; i < m ; i++ )
-    table[i] = new double[n];
-  for ( j = 0 ; j < n ; j++ )
-    for ( i = 0 ; i < m ; i++ )
-      table[i][j] = rx[j]->a[i];
-  for ( j = 0 ; j < n ; j++ ) {
-    yields[j]=0.0;
-    for ( i = 0 ; i < m ; i++ )
-      if ( table[i][j] < 0 ) {
-	yields[j]=in->chem[i]->n();
-	i=m;
-      }
-  }
-
-  delete [] yields;
-
-}
-
-template<class TYPE>
-bool reactor<TYPE>::solve() {
-
-  if (model)
-    delete model;
-  model = new TYPE(in, out, table, n, rx, U, Ta);
-  model->set(name);
-  model->set(L,D);
-  
-  success = model->run();
-
-  //    if(fabs(in->m-out->m)>sqrt(EPS))
-  //    {
-  //       log.open(MESSAGES, ios::app);
-  //       log<<"   --> Warning <--  Block "<<name<<" is not in mass balance ("<<fabs(in->m-out->m)/in->m<<").\n";
-  //       log.close();
-  //    }
-
-  
-  // out->write(); // WRITE TOTO
-
-  return success;
-}
-
-template<class TYPE>
-void reactor<TYPE>::write ( void ) {
-
-  cout << setprecision(6);
-
-  cout << "WRITE FILE " << RUNTIME << name << ".unit" << " :\n\tBEGIN\n";
-  cout << "\t>>         " << name;
-  cout << endl << "\t>>           stream in : " << in->name;
-  cout << endl << "\t>>           stream out : " << out->name;
-  cout << endl << "\t>>           P = " << in->P
-       << " atm,  T(in) = " << in->T << ",  T(out) =  " << out->T << "  K";
-  cout << endl << "\t>>           L = " << L << ",  D = " << D << "  m";
-  if (success)
-    cout << " (converge normally)";
-  cout << "\n\tEND\n\n";
-  model->cost();
-  model->water();
-}
+#include "reactor.hpp"
+using namespace std;
+
+template<class TYPE>
+reactor<TYPE>::reactor(stream* s1, stream* s2)
+{
+   in  = s1;
+   out = s2;
+
+   model = NULL;
+}
+
+template<class TYPE>
+reactor<TYPE>::~reactor() {
+  for ( i = 0 ; i < n ; i++ )
+    delete rx[i];
+  delete [] rx;
+  for ( i = 0 ; i < m ; i++ )
+    delete table[i];
+  delete [] table;
+
+  if (model)
+    delete model;
+}
+
+template<class TYPE>
+void reactor<TYPE>::set ( double l , double d , int nb , const string * list_rx ) {
+  m      = in->nb;
+  n      = nb;
+  L      = l;
+  D      = d;
+  V      = pi*pow(D/2.0, 2)*L;
+
+  double * yields = new double [n];
+
+  rx = new reaction * [n];
+  for ( j = 0 ; j < n ; j++ )
+    rx[j] = new reaction ( list_rx[j] , m , in->chem );
+
+  table = new double * [m];
+  for ( i = 0 ; i < m ; i++ )
+    table[i] = new double[n];
+  for ( j = 0 ; j < n ; j++ )
+    for ( i = 0 ; i < m ; i++ )
+      table[i][j] = rx[j]->a[i];
+  for ( j = 0 ; j < n ; j++ ) {
+    yields[j]=0.0;
+    for ( i = 0 ; i < m ; i++ )
+      if ( table[i][j] < 0 ) {
+	yields[j]=in->chem[i]->n();
+	i=m;
+      }
+  }
+
+  delete [] yields;
+
+}
+
+template<class TYPE>
+bool reactor<TYPE>::solve() {
+
+  if (model)
+    delete model;
+  model = new TYPE(in, out, table, n, rx, U, Ta);
+  model->set(name);
+  model->set(L,D);
+  
+  success = model->run();
+
+  //    if(fabs(in->m-out->m)>sqrt(EPS))
+  //    {
+  //       log.open(MESSAGES, ios::app);
+  //       log<<"   --> Warning <--  Block "<<name<<" is not in mass balance ("<<fabs(in->m-out->m)/in->m<<").\n";
+  //       log.close();
+  //    }
+
+  
+  // out->write(); // WRITE TOTO
+
+  return success;
+}
+
+template<class TYPE>
+void reactor<TYPE>::write ( void ) {
+
+  cout << setprecision(6);
+
+  cout << "WRITE FILE " << RUNTIME << name << ".unit" << " :\n\tBEGIN\n";
+  cout << "\t>>         " << name;
+  cout << endl << "\t>>           stream in : " << in->name;
+  cout << endl << "\t>>           stream out : " << out->name;
+  cout << endl << "\t>>           P = " << in->P
+       << " atm,  T(in) = " << in->T << ",  T(out) =  " << out->T << "  K";
+  cout << endl << "\t>>           L = " << L << ",  D = " << D << "  m";
+  if (success)
+    cout << " (converge normally)";
+  cout << "\n\tEND\n\n";
+  model->cost();
+  model->water();
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/reactor.hpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/reactor.hpp
index af0d281..78f936f 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/reactor.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/reactor.hpp
@@ -1,48 +1,48 @@
-/*
-This unit simulates a chemical reactor. Actually, only the pfr can be used.
-(ref : Fogler).
-
-Structure in the .process file:
-reactor {name} {pfr or cstr} {index of input stream} {index of output stream} {length in m} {diameter in m} {nb_react, list of reactions occuring} {U in kW/m2.K}{Ta in K}
-
-How to use:
-   1- Call the constructor : react = new reactor<pfr or cstr>(in, out);		
-   2- Set dimensions and reactions : react->set(length, diameter, nb_react, list_react);	//list_react is the list of reactions names
-   3- Set cooling parameters : react->set(U, Ta);
-   4- Set the name : react->set(name);
-   5- Run the model: react->solve();
-*/
-#ifndef REACTOR_H
-#define REACTOR_H
-
-#include "pfr.hpp"
-using namespace std;
-
-template<class TYPE>
-class reactor {
-private:
-  // ofstream log;
-  bool success;
-  string name;
-  int i ,j, m, n;
-  double V, L, D, U, Ta;
-  stream *in, *out;
-  TYPE *model;
-  reaction ** rx;
-  double ** table;
-
-public:
-  // reactor(){};
-  reactor(stream*, stream*);
-  void set( const string & n) { name = n; }
-  void set(double, double, int, const string * );
-  void set(double u, double ta) {U=u;Ta=ta;}
-  bool solve();
-  void write();
-
-  double get_cost  ( void ) const { return model->get_cost() ; }
-  double get_water ( void ) const { return model->get_water(); }
-
-  ~reactor();
-};
-#endif
+/*
+This unit simulates a chemical reactor. Actually, only the pfr can be used.
+(ref : Fogler).
+
+Structure in the .process file:
+reactor {name} {pfr or cstr} {index of input stream} {index of output stream} {length in m} {diameter in m} {nb_react, list of reactions occuring} {U in kW/m2.K}{Ta in K}
+
+How to use:
+   1- Call the constructor : react = new reactor<pfr or cstr>(in, out);		
+   2- Set dimensions and reactions : react->set(length, diameter, nb_react, list_react);	//list_react is the list of reactions names
+   3- Set cooling parameters : react->set(U, Ta);
+   4- Set the name : react->set(name);
+   5- Run the model: react->solve();
+*/
+#ifndef REACTOR_H
+#define REACTOR_H
+
+#include "pfr.hpp"
+using namespace std;
+
+template<class TYPE>
+class reactor {
+private:
+  // ofstream log;
+  bool success;
+  string name;
+  int i ,j, m, n;
+  double V, L, D, U, Ta;
+  stream *in, *out;
+  TYPE *model;
+  reaction ** rx;
+  double ** table;
+
+public:
+  // reactor(){};
+  reactor(stream*, stream*);
+  void set( const string & n) { name = n; }
+  void set(double, double, int, const string * );
+  void set(double u, double ta) {U=u;Ta=ta;}
+  bool solve();
+  void write();
+
+  double get_cost  ( void ) const { return model->get_cost() ; }
+  double get_water ( void ) const { return model->get_water(); }
+
+  ~reactor();
+};
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/secant.cpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/secant.cpp
index e8582e0..79e5d04 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/secant.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/secant.cpp
@@ -1,47 +1,47 @@
-#include "secant.hpp"
-using namespace std;
-
-template <class E>
-secant<E>::secant()
-{
-   x_last=0;
-   x_now=0;
-   x_next=0;
-   f_last=0;
-   f_now=0;
-   OK=false;
-}
-
-template <class E>
-void secant<E>::set(E* tmp, double x1, double x2)
-{
-   unit=tmp;
-   x_last=x1;
-   x_now=x2;
-   OK=false;
-}
-
-template <class E>
-bool secant<E>::run()
-{
-  // if(DEBUG) cout<<endl<<"begin solve secant";
-   f_last = unit->f(x_last);
-   for (i=1; i<MAX_ITER_SECANT; i++)
-   {
-      f_now = unit->f(x_now);
-     // if(DEBUG) cout<<endl<<" x = "<<x_now<<"    f(x) = "<<f_now;
-      x_next = x_now - (f_now*(x_now-x_last)/(f_now-f_last));
-      if (fabs((x_next-x_now)/x_now)<=TOL_SECANT)
-      {
-         i=MAX_ITER_SECANT;
-         OK=true;
-      }
-      else
-      {
-         x_last=x_now;
-         f_last=f_now;
-         x_now=x_next;
-      }
-   }
-   return OK;
-}
+#include "secant.hpp"
+using namespace std;
+
+template <class E>
+secant<E>::secant()
+{
+   x_last=0;
+   x_now=0;
+   x_next=0;
+   f_last=0;
+   f_now=0;
+   OK=false;
+}
+
+template <class E>
+void secant<E>::set(E* tmp, double x1, double x2)
+{
+   unit=tmp;
+   x_last=x1;
+   x_now=x2;
+   OK=false;
+}
+
+template <class E>
+bool secant<E>::run()
+{
+  // if(DEBUG) cout<<endl<<"begin solve secant";
+   f_last = unit->f(x_last);
+   for (i=1; i<MAX_ITER_SECANT; i++)
+   {
+      f_now = unit->f(x_now);
+     // if(DEBUG) cout<<endl<<" x = "<<x_now<<"    f(x) = "<<f_now;
+      x_next = x_now - (f_now*(x_now-x_last)/(f_now-f_last));
+      if (fabs((x_next-x_now)/x_now)<=TOL_SECANT)
+      {
+         i=MAX_ITER_SECANT;
+         OK=true;
+      }
+      else
+      {
+         x_last=x_now;
+         f_last=f_now;
+         x_now=x_next;
+      }
+   }
+   return OK;
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/secant.hpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/secant.hpp
index a04cbc5..d1bb096 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/secant.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/secant.hpp
@@ -1,31 +1,31 @@
-/*
-To use the secant solver to find the root of a scalar function:
-   (the parametric object E must have public function such as E->f(x),
-      where x is the point at which evaluate f.)
-   1- construct the solver :    solver = new secant<E>();   
-   2- set the solver :    solver->set(unit, x0, x1);   //unit is usually the pointer *this, and x0 and x1 are two required initial points
-   3- launch the solver : bool = solver->run();   //will return true is success, false if the solver failed
-*/
-#ifndef SECANT_H
-#define SECANT_H
-
-#include "defines.hpp"
-using namespace std;
-
-
-template <class E>
-class secant {
-private:
-  double x_last, x_now, x_next;
-  double f_last, f_now, error;
-  int i;
-  bool OK;
-  E *unit;
-	  
-public:
-  secant();
-  void set(E*, double, double);
-  bool run();
-  ~secant(){}
-};
-#endif
+/*
+To use the secant solver to find the root of a scalar function:
+   (the parametric object E must have public function such as E->f(x),
+      where x is the point at which evaluate f.)
+   1- construct the solver :    solver = new secant<E>();   
+   2- set the solver :    solver->set(unit, x0, x1);   //unit is usually the pointer *this, and x0 and x1 are two required initial points
+   3- launch the solver : bool = solver->run();   //will return true is success, false if the solver failed
+*/
+#ifndef SECANT_H
+#define SECANT_H
+
+#include "defines.hpp"
+using namespace std;
+
+
+template <class E>
+class secant {
+private:
+  double x_last, x_now, x_next;
+  double f_last, f_now, error;
+  int i;
+  bool OK;
+  E *unit;
+	  
+public:
+  secant();
+  void set(E*, double, double);
+  bool run();
+  ~secant(){}
+};
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/servor.cpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/servor.cpp
index 75216ae..0b2df20 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/servor.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/servor.cpp
@@ -1,538 +1,538 @@
-#include "servor.hpp"
-#include "reactor.cpp"
-using namespace std;
-
-/*---------------------------------------------------------------------*/
-servor::servor ( int nb_u , int n2 , stream ** streams ) {
-  nb   = nb_u;
-  nb_s = n2;
-  type = new string[nb];
-  name = new string[nb];
-  s    = streams;
-
-
-//   for (int i=0; i<nb; i++)
-//     {
-//       type[i]=new char[31];
-//       name[i]=new char[31];
-//     }
-//   cursor=0;
-//   s = s_list;
-//   // end = new terminator("\0");
-//   mix1=NULL;
-//   split1=NULL;
-//   flash1=NULL;
-//   pump1=NULL;
-//   col=NULL;
-//   react_pfr=NULL;
-//   react_cstr=NULL;
-//   heat=NULL;
-
-  burn = new burner ( s[0]->nb , s[0]->chem );
-}
-
-/*---------------------------------------------------------------------*/
-servor::~servor() {
-  delete [] type;
-  delete [] name;
-  delete burn;
-}
-
-/*---------------------------------------------------------------------*/
-bool servor::solve_process ( const double * x , double * y ) {
-
-
-  for ( i = 0 ; i < 8 ; i++ )
-    costs[i] = 0.0;
-
-  k    = 0;
-  norm = 1.0 / TOL_WEGSTEIN;
-
-  for ( cursor = 0 ; cursor < nb ; cursor++ ) {
-
-    if (type[cursor] == "mix" ) {
-      do_mix_process(x);
-    }
-    else if ( type[cursor] == "split" ) {
-      do_split_process(x);
-    }
-    else if ( type[cursor] == "flash" ) {
-      do_flash_process(x);
-    }
-    else if ( type[cursor] == "pump" ) {
-      do_pump_process(x);
-    }
-    else if ( type[cursor] == "heatx") {
-      do_heatx_process(x);
-    }
-    else if ( type[cursor] == "burner" ) {
-      do_burner_process(x,y);
-    }
-    else if ( type[cursor] == "column" ) {
-      do_column_process(x,y);
-    }
-    else if ( type[cursor] == "reactor" ) {
-      do_reactor_process(x);
-    }
-    else if ( type[cursor] == "loop" ) {
-
-      recycle     = 10;
-      end_recycle = 0;
-      do_loop_process(x);
-    }
-    else {
-      cout << "ERROR 18\n\n";
-      exit(0);
-    }
-
-  }
-
-  return true;
-}
-
-
-/*---------------------------------------------------------------------*/
-void servor::do_loop_process ( const double * x ) {
-
-  // structure in the input file :
-  // loop
-  // name                              : "looping"
-  // index of recycle stream           : 11
-  // index of stream's beginning block : 7
-  // index of stream's end block       : 1
-
-  // TOTO
-//   if (k==0)
-//     cout << endl << "       -> Wegstein iterations "; 
-//   else if ( k <= 2 )
-//     cout << endl << "       -> loop " << setw(3) << k;
-//   else
-//     cout << endl << "       -> loop " << setw(3) << k << "  > error " << norm;
-
-  // Get the two fisrst points
-  if ( k==0 ) {
-    for ( i = 0 ; i < s[0]->nb ; i++ )
-      x_last[i] = s[recycle]->chem[i]->m; 
-    end_loop = false;
-  }
-
-  if ( k==1 ) {
-    for ( i = 0 ; i < s[0]->nb ; i++ ) {
-      x_now [i] = s[recycle]->chem[i]->m;
-      g_last[i] = s[recycle]->chem[i]->m;
-    }
-
-    end_loop = false;
-  }
-
-  if ( k == 2 ) {
-    for ( i = 0 ; i < s[0]->nb ; i++ )
-      g_now[i] = s[recycle]->chem[i]->m;
-    end_loop=false;
-  }
-  k++;
-
-
-  // run the Wegstein algorithm
-  if ( k > 2 ) {
-    for ( i = 0 ; i < s[0]->nb ; i++ ) {
-      g_now[i] = s[recycle]->chem[i]->m;
-
-      if ( fabs (x_now[i]-x_last[i]) > EPS )
-	slope[i] = ( g_now[i] - g_last[i] ) / ( x_now[i] - x_last[i] );
-      else
-	slope[i] = 0;
-
-      theta[i] = 1.0 / (1.0-slope[i]);
-      if ( theta[i] < MIN_THETA )
-	theta[i] = MIN_THETA;
-      if ( theta[i] > MAX_THETA )
-	theta[i] = MAX_THETA;
-      x_next[i] = (1.0-theta[i])*x_now[i] + theta[i]*g_now[i];
-    }
-    norm = 0.0;
-    for ( i = 0 ; i < s[0]->nb ; i++ )
-      if ( fabs(x_now[i]) > EPS )
-	norm += fabs (x_next[i]-x_now[i]) / fabs(x_now[i]);
-
-    if ( norm > TOL_WEGSTEIN && k < MAX_ITER_WEGSTEIN ) {
-      s[recycle]->m = 0.0;
-      for ( i = 0 ; i < s[0]->nb ; i++ ) {
-	s[recycle]->chem[i]->m = x_next[i];
-	s[recycle]->m += x_next[i];
-	x_last[i] = x_now[i];
-	g_last[i] = g_now[i];
-	x_now[i] = x_next[i];
-      }
-      end_loop=false;
-    }
-    if ( norm <= TOL_WEGSTEIN && k < MAX_ITER_WEGSTEIN )
-      end_loop = true;
-
-  }
-
- 
-  if ( end_loop ) {
-    if ( k < MAX_ITER_WEGSTEIN && k > 3 )  {
-      // cout<<" OK"; // TOTO
-      // s[recycle]->write(); // WRITE TOTO
-
-//       // WRITE TOTO :
-//       cout << "WRITE FILE " << RUNTIME << name[cursor] << ".unit" << " :\n\tBEGIN\n";
-//       cout << "\t>>         " << name[cursor];
-//       cout << endl << "\t>>           from block " << cursor+1 << " to block " << end_recycle+1;
-//       cout << endl << "\t>>           Wegstein converged in "
-// 	   << k << " iterations (rel. err. " << norm << ").";
-//       cout << "\n\tEND\n\n";
-
-      k = 0;
-      norm = 1.0/TOL_WEGSTEIN;
-    }
-//    else {
-//       log.open(MESSAGES, ios::app);
-//       log<<"   ==> Error <== Wegstein algorithm did not converge.\n";
-//       log.close();      
-//    }      
-  }
-
-
-  if ( !end_loop && k < MAX_ITER_WEGSTEIN )
-    cursor = end_recycle-1;
-  if ( !end_loop && k==MAX_ITER_WEGSTEIN ) {
-//       log.open(MESSAGES, ios::app);
-//       log<<"   ==> Error <== Wegstein algorithm did not converge.\n";
-//       log.close();
-    k=0;
-    norm = 1.0/TOL_WEGSTEIN;
-    cursor=nb;
-  }
-
-}
-
-/*---------------------------------------------------------------------*/
-void servor::do_burner_process ( const double * x , double * y ) {
-
-  // cout << endl << "         -- " << name[cursor] << "... "; // TOTO
-
-  // read parameters :
-  int    i1 = 8;
-  int    i2 = 13;
-  double f  = x[6];
-
-  burn->set ( s[i1-1] , s[i2-1] );
-  burn->set(f);
-  burn->set(name[cursor]);
-
-  if ( burn->solve(y) ) {
-    // cout << "OK"; // TOTO
-    // burn->write(); // WRITE TOTO
-    costs[7] = burn->get_cost();
-  }
-  else {
-    cout << "ERROR 20\n\n";
-    exit(0);
-  }
-}
-
-/*---------------------------------------------------------------------*/
-void servor::do_split_process ( const double * x )
-{
-  // cout<<endl<<"         -- "<<name[cursor]<<"... ";  // TOTO
-
-  //Read parameters
-  int i1 = 9;
-  int i2 = 2;
-  int i_tab[2] = { 10 , 11 };
-  double f_tab[2];
-  f_tab[0] = x[5];
-  f_tab[1] = 1-x[5];
-
-  stream * list1[2];
-  list1[0] = s[i_tab[0]-1];
-  list1[1] = s[i_tab[1]-1];
-
-  split * split1 = new split ( i2 , s[i1-1] , list1 );
-
-  split1->set(f_tab);
-  split1->set(name[cursor]);
-  if ( split1->solve() ) {
-    // cout<<"OK"; // TOTO
-    // split1->write(); // WRITE TOTO
-  }
-  else {
-    cout << "ERROR 19\n\n";
-    exit(0);
-  }
-  delete split1;
-}
-
-/*---------------------------------------------------------------------*/
-void servor::do_column_process ( const double * x , double * y ) {
-  // cout<<endl<<"         -- "<<name[cursor]<<"... "; // TOTO
-  
-  //Read parameters
-  double f1 , f2;
-  int    i , i1 , i2;
-  int    i_tab[2];
-  double f = 1.0;
-
-  if (name[cursor]=="sep-sty") {
-    i        =  7;
-    i1       = 15;
-    i2       =  9;
-    i_tab[0] =  1;
-    i_tab[1] =  7;
-    f1 = f2 = x[2];
-  }
-  else if (name[cursor]=="sep-bz") {
-    i        = 10;
-    i1       = 12;
-    i2       = 14;
-    i_tab[0] =  5;
-    i_tab[1] =  1;
-    f1 = f2 = x[3];
-  }
-  else {
-    cout << "ERROR 17\n\n";
-    exit(0);
-  }
-
-  column * col = new column ( s[i-1] , s[i1-1] , s[i2-1] );
-  col->set ( f , i_tab[0] , f1 , i_tab[1] , f2 );
-  col->set(name[cursor]);
-  if ( col->solve() ) {
-    //cout<<"OK"; // TOTO
-    //col->write(); // WRITE TOTO
-
-    if (name[cursor]=="sep-sty") {
-      y[4] = col->get_N();
-      costs[5] = col->get_cost();
-      power[5] = col->get_power();
-      water[5] = col->get_water();
-    }
-    else {
-      y[5] = col->get_N();
-      costs[6] = col->get_cost();
-      power[4] = col->get_power();
-      water[4] = col->get_water();
-    }
-  }
-  else {
-    cout << "ERROR 15\n\n";
-    exit(0);
-  }
-  delete col;
-}
-
-/*---------------------------------------------------------------------*/
-void servor::do_flash_process ( const double * x ) {
-  // cout<<endl<<"         -- "<<name[cursor]<<"... ";  // TOTO
-
-  //Read parameters
-  double f1        = 1.0;
-  double f2        = x[7];
-  // int    i_tab [3] = { 6 , 7 , 8 };
-  // flash * flash1 = new flash ( s[i_tab[0]-1] , s[i_tab[1]-1] , s[i_tab[2]-1] );
-  flash * flash1 = new flash ( s[5] , s[6] , s[7] );
-
-  flash1->set(f1, f2);
-  flash1->set(name[cursor]);
-  if ( flash1->solve() ) {
-    // cout<<"OK";  // TOTO
-    // flash1->write(); // WRITE TOTO
-    costs[4] = flash1->get_cost();
-    power[2] = flash1->get_power();
-    water[1] = flash1->get_water();
-  }
-  else {
-    cout << "ERROR 14\n\n";
-    exit(0);
-  }
-  delete flash1;
-}
-
-
-/*---------------------------------------------------------------------*/
-void servor::do_mix_process ( const double * x ) {
-
-  // cout << endl << "         -- " << name[cursor] << "... "; // TOTO
-
-  // Read parameters (hardcode avec eb2sty.process) :
-  double f1       = 1.0;
-  int    i1       = 3;
-  int    i_tab[3] = { 1 , 12 , 11 };
-  int    i2       = 2;
-
-  // We can solve the unit
-  stream * list2 = s[i2-1] , ** list1 = new stream * [i1];
-  for ( int i = 0 ; i < i1 ; i++ )
-    list1[i] = s[i_tab[i]-1];
-  mix * mix1 = new mix ( i1 , list1 , list2 );
-  mix1->set(f1);
-  mix1->set(name[cursor]);
-  if (mix1->solve()) {
-    // cout<<"OK"; // TOTO
-    // mix1->write(); // WRITE TOTO
-  }
-  else {
-    cout << "ERROR 6\n\n";
-    exit(0);
-  }
-  delete mix1;
-  delete [] list1;
-}
-
-
-/*---------------------------------------------------------------------*/
-void servor::do_pump_process ( const double * x ) {
-
-  // cout<<endl<<"         -- "<<name[cursor]<<"... ";  // TOTO
-
-  //Read parameters (hardcode avec eb2sty.process) :
-  int    i1 = 2;
-  int    i2 = 3;
-  double f1 = x[4];
-  double f2 = 0.75;
-
-  pump * pump1 = new pump ( s[i1-1] , s[i2-1] );
-  pump1->set(f1,f2);
-  pump1->set(name[cursor]);
-
-
-
-  // solve :
-  if ( pump1->solve() ) {
-    // cout<<"OK";  // TOTO
-    // pump1->write(); // WRITE TOTO
-
-    power[0] = pump1->get_power();
-    costs[0] = pump1->get_cost();
-  }
-  else {
-    cout << "ERROR 7\n\n";
-    exit(0);
-  }
-
-  delete pump1;
-}
-
-/*---------------------------------------------------------------------*/
-void servor::do_heatx_process ( const double * x ) {
-
-  // cout << endl << "         -- " << name[cursor] << "... "; // TOTO
-
-  //Read parameters (idem) :
-
-  bool   b = false;
-
-  // heater :
-  int    i1;
-  int    i2;
-  double f1;
-
-  // heater :
-  if (name[cursor]=="heater") {
-    i1 = 3;
-    i2 = 4;
-    f1 = x[0];
-  }
-
-  // cooler :
-  else if (name[cursor]=="cooler") {
-    i1 = 5;
-    i2 = 6;
-    f1 = x[7];
-  }
-  else {
-    cout << "ERROR 16\n\n";
-    exit(0);
-  }
-
-  double f2 = 0.85;
-
-  // solve :
-  heatx * heat = new heatx ( b , s[i1-1] , s[i2-1] );
-  heat->set(f1,f2);
-  heat->set(name[cursor]);
-  if (heat->solve()) {
-    // cout<<"OK"; // TOTO
-    // heat->write();  // WRITE TOTO
-    if (name[cursor]=="heater") {
-      costs[1] = heat->get_cost();
-      power[3] = heat->get_power();
-      water[2] = heat->get_water();
-    }
-    else {
-      costs[3] = heat->get_cost();
-      power[1] = heat->get_power();
-      water[0] = heat->get_water();
-    }
-  }
-  else {
-    cout << "ERROR 8\n\n";
-    exit(0);
-  }
-  delete heat;
-}
-
-/*---------------------------------------------------------------------*/
-void servor::do_reactor_process ( const double * x ) {
-
-  // cout<<endl<<"         -- "<<name[cursor]<<"... "; // TOTO
-
-  // Read parameters (idem) :
-  int    i1   = 4;
-  int    i2   = 5;
-
-  reactor<pfr> * react_pfr = new reactor<pfr> ( s[i1-1] , s[i2-1] );
-
-  react_pfr->set(name[cursor]);
-
-  double f1 = x[1];
-  double f2 = 0.5;
-
-  string list[5] = { "eb2sty" , "sty2eb" , "eb2bz" , "eb2tol" , "tol2bz" };
-
-  i1 = 5;
-
-  react_pfr->set(f1,f2,i1,list);
-
-  f1 = 0.0;
-  f2 = 300.0;
-
-  react_pfr->set(f1,f2);
-
-  if ( react_pfr->solve() ) {
-    // cout<<"OK"; // TOTO
-    // react_pfr->write(); // WRITE TOTO
-    costs[2] = react_pfr->get_cost();
-    water[3] = react_pfr->get_water();
-  }
-  else {
-    cout << "ERROR 9\n\n";
-    exit(0);
-  }
-  delete react_pfr;
-}
-
-
-double  servor::get_costs_sum ( void ) const {
-  double sum = 0.0;
-  for ( int i = 0 ; i < 8 ; i++ )
-    sum += ( (ARRONDI) ? arrondi(costs[i],6) : costs[i] );
-  return sum;
-}
-
-double  servor::get_power_sum ( void ) const {
-  double sum = 0.0;
-  for ( int i = 0 ; i < 6 ; i++ )
-    sum += ( (ARRONDI) ? arrondi(power[i],6) : power[i] );
-  return sum;
-}
-
-double servor::get_water_sum ( void ) const {
-  double sum = 0.0;
-  for ( int i = 0 ; i < 6 ; i++ )
-    sum += ( (ARRONDI) ? arrondi(water[i],6) : water[i] );
-  return sum;
-}
+#include "servor.hpp"
+#include "reactor.cpp"
+using namespace std;
+
+/*---------------------------------------------------------------------*/
+servor::servor ( int nb_u , int n2 , stream ** streams ) {
+  nb   = nb_u;
+  nb_s = n2;
+  type = new string[nb];
+  name = new string[nb];
+  s    = streams;
+
+
+//   for (int i=0; i<nb; i++)
+//     {
+//       type[i]=new char[31];
+//       name[i]=new char[31];
+//     }
+//   cursor=0;
+//   s = s_list;
+//   // end = new terminator("\0");
+//   mix1=NULL;
+//   split1=NULL;
+//   flash1=NULL;
+//   pump1=NULL;
+//   col=NULL;
+//   react_pfr=NULL;
+//   react_cstr=NULL;
+//   heat=NULL;
+
+  burn = new burner ( s[0]->nb , s[0]->chem );
+}
+
+/*---------------------------------------------------------------------*/
+servor::~servor() {
+  delete [] type;
+  delete [] name;
+  delete burn;
+}
+
+/*---------------------------------------------------------------------*/
+bool servor::solve_process ( const double * x , double * y ) {
+
+
+  for ( i = 0 ; i < 8 ; i++ )
+    costs[i] = 0.0;
+
+  k    = 0;
+  norm = 1.0 / TOL_WEGSTEIN;
+
+  for ( cursor = 0 ; cursor < nb ; cursor++ ) {
+
+    if (type[cursor] == "mix" ) {
+      do_mix_process(x);
+    }
+    else if ( type[cursor] == "split" ) {
+      do_split_process(x);
+    }
+    else if ( type[cursor] == "flash" ) {
+      do_flash_process(x);
+    }
+    else if ( type[cursor] == "pump" ) {
+      do_pump_process(x);
+    }
+    else if ( type[cursor] == "heatx") {
+      do_heatx_process(x);
+    }
+    else if ( type[cursor] == "burner" ) {
+      do_burner_process(x,y);
+    }
+    else if ( type[cursor] == "column" ) {
+      do_column_process(x,y);
+    }
+    else if ( type[cursor] == "reactor" ) {
+      do_reactor_process(x);
+    }
+    else if ( type[cursor] == "loop" ) {
+
+      recycle     = 10;
+      end_recycle = 0;
+      do_loop_process(x);
+    }
+    else {
+      cout << "ERROR 18\n\n";
+      exit(0);
+    }
+
+  }
+
+  return true;
+}
+
+
+/*---------------------------------------------------------------------*/
+void servor::do_loop_process ( const double * x ) {
+
+  // structure in the input file :
+  // loop
+  // name                              : "looping"
+  // index of recycle stream           : 11
+  // index of stream's beginning block : 7
+  // index of stream's end block       : 1
+
+  // TOTO
+//   if (k==0)
+//     cout << endl << "       -> Wegstein iterations "; 
+//   else if ( k <= 2 )
+//     cout << endl << "       -> loop " << setw(3) << k;
+//   else
+//     cout << endl << "       -> loop " << setw(3) << k << "  > error " << norm;
+
+  // Get the two fisrst points
+  if ( k==0 ) {
+    for ( i = 0 ; i < s[0]->nb ; i++ )
+      x_last[i] = s[recycle]->chem[i]->m; 
+    end_loop = false;
+  }
+
+  if ( k==1 ) {
+    for ( i = 0 ; i < s[0]->nb ; i++ ) {
+      x_now [i] = s[recycle]->chem[i]->m;
+      g_last[i] = s[recycle]->chem[i]->m;
+    }
+
+    end_loop = false;
+  }
+
+  if ( k == 2 ) {
+    for ( i = 0 ; i < s[0]->nb ; i++ )
+      g_now[i] = s[recycle]->chem[i]->m;
+    end_loop=false;
+  }
+  k++;
+
+
+  // run the Wegstein algorithm
+  if ( k > 2 ) {
+    for ( i = 0 ; i < s[0]->nb ; i++ ) {
+      g_now[i] = s[recycle]->chem[i]->m;
+
+      if ( fabs (x_now[i]-x_last[i]) > EPS )
+	slope[i] = ( g_now[i] - g_last[i] ) / ( x_now[i] - x_last[i] );
+      else
+	slope[i] = 0;
+
+      theta[i] = 1.0 / (1.0-slope[i]);
+      if ( theta[i] < MIN_THETA )
+	theta[i] = MIN_THETA;
+      if ( theta[i] > MAX_THETA )
+	theta[i] = MAX_THETA;
+      x_next[i] = (1.0-theta[i])*x_now[i] + theta[i]*g_now[i];
+    }
+    norm = 0.0;
+    for ( i = 0 ; i < s[0]->nb ; i++ )
+      if ( fabs(x_now[i]) > EPS )
+	norm += fabs (x_next[i]-x_now[i]) / fabs(x_now[i]);
+
+    if ( norm > TOL_WEGSTEIN && k < MAX_ITER_WEGSTEIN ) {
+      s[recycle]->m = 0.0;
+      for ( i = 0 ; i < s[0]->nb ; i++ ) {
+	s[recycle]->chem[i]->m = x_next[i];
+	s[recycle]->m += x_next[i];
+	x_last[i] = x_now[i];
+	g_last[i] = g_now[i];
+	x_now[i] = x_next[i];
+      }
+      end_loop=false;
+    }
+    if ( norm <= TOL_WEGSTEIN && k < MAX_ITER_WEGSTEIN )
+      end_loop = true;
+
+  }
+
+ 
+  if ( end_loop ) {
+    if ( k < MAX_ITER_WEGSTEIN && k > 3 )  {
+      // cout<<" OK"; // TOTO
+      // s[recycle]->write(); // WRITE TOTO
+
+//       // WRITE TOTO :
+//       cout << "WRITE FILE " << RUNTIME << name[cursor] << ".unit" << " :\n\tBEGIN\n";
+//       cout << "\t>>         " << name[cursor];
+//       cout << endl << "\t>>           from block " << cursor+1 << " to block " << end_recycle+1;
+//       cout << endl << "\t>>           Wegstein converged in "
+// 	   << k << " iterations (rel. err. " << norm << ").";
+//       cout << "\n\tEND\n\n";
+
+      k = 0;
+      norm = 1.0/TOL_WEGSTEIN;
+    }
+//    else {
+//       log.open(MESSAGES, ios::app);
+//       log<<"   ==> Error <== Wegstein algorithm did not converge.\n";
+//       log.close();      
+//    }      
+  }
+
+
+  if ( !end_loop && k < MAX_ITER_WEGSTEIN )
+    cursor = end_recycle-1;
+  if ( !end_loop && k==MAX_ITER_WEGSTEIN ) {
+//       log.open(MESSAGES, ios::app);
+//       log<<"   ==> Error <== Wegstein algorithm did not converge.\n";
+//       log.close();
+    k=0;
+    norm = 1.0/TOL_WEGSTEIN;
+    cursor=nb;
+  }
+
+}
+
+/*---------------------------------------------------------------------*/
+void servor::do_burner_process ( const double * x , double * y ) {
+
+  // cout << endl << "         -- " << name[cursor] << "... "; // TOTO
+
+  // read parameters :
+  int    i1 = 8;
+  int    i2 = 13;
+  double f  = x[6];
+
+  burn->set ( s[i1-1] , s[i2-1] );
+  burn->set(f);
+  burn->set(name[cursor]);
+
+  if ( burn->solve(y) ) {
+    // cout << "OK"; // TOTO
+    // burn->write(); // WRITE TOTO
+    costs[7] = burn->get_cost();
+  }
+  else {
+    cout << "ERROR 20\n\n";
+    exit(0);
+  }
+}
+
+/*---------------------------------------------------------------------*/
+void servor::do_split_process ( const double * x )
+{
+  // cout<<endl<<"         -- "<<name[cursor]<<"... ";  // TOTO
+
+  //Read parameters
+  int i1 = 9;
+  int i2 = 2;
+  int i_tab[2] = { 10 , 11 };
+  double f_tab[2];
+  f_tab[0] = x[5];
+  f_tab[1] = 1-x[5];
+
+  stream * list1[2];
+  list1[0] = s[i_tab[0]-1];
+  list1[1] = s[i_tab[1]-1];
+
+  split * split1 = new split ( i2 , s[i1-1] , list1 );
+
+  split1->set(f_tab);
+  split1->set(name[cursor]);
+  if ( split1->solve() ) {
+    // cout<<"OK"; // TOTO
+    // split1->write(); // WRITE TOTO
+  }
+  else {
+    cout << "ERROR 19\n\n";
+    exit(0);
+  }
+  delete split1;
+}
+
+/*---------------------------------------------------------------------*/
+void servor::do_column_process ( const double * x , double * y ) {
+  // cout<<endl<<"         -- "<<name[cursor]<<"... "; // TOTO
+  
+  //Read parameters
+  double f1 , f2;
+  int    i , i1 , i2;
+  int    i_tab[2];
+  double f = 1.0;
+
+  if (name[cursor]=="sep-sty") {
+    i        =  7;
+    i1       = 15;
+    i2       =  9;
+    i_tab[0] =  1;
+    i_tab[1] =  7;
+    f1 = f2 = x[2];
+  }
+  else if (name[cursor]=="sep-bz") {
+    i        = 10;
+    i1       = 12;
+    i2       = 14;
+    i_tab[0] =  5;
+    i_tab[1] =  1;
+    f1 = f2 = x[3];
+  }
+  else {
+    cout << "ERROR 17\n\n";
+    exit(0);
+  }
+
+  column * col = new column ( s[i-1] , s[i1-1] , s[i2-1] );
+  col->set ( f , i_tab[0] , f1 , i_tab[1] , f2 );
+  col->set(name[cursor]);
+  if ( col->solve() ) {
+    //cout<<"OK"; // TOTO
+    //col->write(); // WRITE TOTO
+
+    if (name[cursor]=="sep-sty") {
+      y[4] = col->get_N();
+      costs[5] = col->get_cost();
+      power[5] = col->get_power();
+      water[5] = col->get_water();
+    }
+    else {
+      y[5] = col->get_N();
+      costs[6] = col->get_cost();
+      power[4] = col->get_power();
+      water[4] = col->get_water();
+    }
+  }
+  else {
+    cout << "ERROR 15\n\n";
+    exit(0);
+  }
+  delete col;
+}
+
+/*---------------------------------------------------------------------*/
+void servor::do_flash_process ( const double * x ) {
+  // cout<<endl<<"         -- "<<name[cursor]<<"... ";  // TOTO
+
+  //Read parameters
+  double f1        = 1.0;
+  double f2        = x[7];
+  // int    i_tab [3] = { 6 , 7 , 8 };
+  // flash * flash1 = new flash ( s[i_tab[0]-1] , s[i_tab[1]-1] , s[i_tab[2]-1] );
+  flash * flash1 = new flash ( s[5] , s[6] , s[7] );
+
+  flash1->set(f1, f2);
+  flash1->set(name[cursor]);
+  if ( flash1->solve() ) {
+    // cout<<"OK";  // TOTO
+    // flash1->write(); // WRITE TOTO
+    costs[4] = flash1->get_cost();
+    power[2] = flash1->get_power();
+    water[1] = flash1->get_water();
+  }
+  else {
+    cout << "ERROR 14\n\n";
+    exit(0);
+  }
+  delete flash1;
+}
+
+
+/*---------------------------------------------------------------------*/
+void servor::do_mix_process ( const double * x ) {
+
+  // cout << endl << "         -- " << name[cursor] << "... "; // TOTO
+
+  // Read parameters (hardcode avec eb2sty.process) :
+  double f1       = 1.0;
+  int    i1       = 3;
+  int    i_tab[3] = { 1 , 12 , 11 };
+  int    i2       = 2;
+
+  // We can solve the unit
+  stream * list2 = s[i2-1] , ** list1 = new stream * [i1];
+  for ( int i = 0 ; i < i1 ; i++ )
+    list1[i] = s[i_tab[i]-1];
+  mix * mix1 = new mix ( i1 , list1 , list2 );
+  mix1->set(f1);
+  mix1->set(name[cursor]);
+  if (mix1->solve()) {
+    // cout<<"OK"; // TOTO
+    // mix1->write(); // WRITE TOTO
+  }
+  else {
+    cout << "ERROR 6\n\n";
+    exit(0);
+  }
+  delete mix1;
+  delete [] list1;
+}
+
+
+/*---------------------------------------------------------------------*/
+void servor::do_pump_process ( const double * x ) {
+
+  // cout<<endl<<"         -- "<<name[cursor]<<"... ";  // TOTO
+
+  //Read parameters (hardcode avec eb2sty.process) :
+  int    i1 = 2;
+  int    i2 = 3;
+  double f1 = x[4];
+  double f2 = 0.75;
+
+  pump * pump1 = new pump ( s[i1-1] , s[i2-1] );
+  pump1->set(f1,f2);
+  pump1->set(name[cursor]);
+
+
+
+  // solve :
+  if ( pump1->solve() ) {
+    // cout<<"OK";  // TOTO
+    // pump1->write(); // WRITE TOTO
+
+    power[0] = pump1->get_power();
+    costs[0] = pump1->get_cost();
+  }
+  else {
+    cout << "ERROR 7\n\n";
+    exit(0);
+  }
+
+  delete pump1;
+}
+
+/*---------------------------------------------------------------------*/
+void servor::do_heatx_process ( const double * x ) {
+
+  // cout << endl << "         -- " << name[cursor] << "... "; // TOTO
+
+  //Read parameters (idem) :
+
+  bool   b = false;
+
+  // heater :
+  int    i1;
+  int    i2;
+  double f1;
+
+  // heater :
+  if (name[cursor]=="heater") {
+    i1 = 3;
+    i2 = 4;
+    f1 = x[0];
+  }
+
+  // cooler :
+  else if (name[cursor]=="cooler") {
+    i1 = 5;
+    i2 = 6;
+    f1 = x[7];
+  }
+  else {
+    cout << "ERROR 16\n\n";
+    exit(0);
+  }
+
+  double f2 = 0.85;
+
+  // solve :
+  heatx * heat = new heatx ( b , s[i1-1] , s[i2-1] );
+  heat->set(f1,f2);
+  heat->set(name[cursor]);
+  if (heat->solve()) {
+    // cout<<"OK"; // TOTO
+    // heat->write();  // WRITE TOTO
+    if (name[cursor]=="heater") {
+      costs[1] = heat->get_cost();
+      power[3] = heat->get_power();
+      water[2] = heat->get_water();
+    }
+    else {
+      costs[3] = heat->get_cost();
+      power[1] = heat->get_power();
+      water[0] = heat->get_water();
+    }
+  }
+  else {
+    cout << "ERROR 8\n\n";
+    exit(0);
+  }
+  delete heat;
+}
+
+/*---------------------------------------------------------------------*/
+void servor::do_reactor_process ( const double * x ) {
+
+  // cout<<endl<<"         -- "<<name[cursor]<<"... "; // TOTO
+
+  // Read parameters (idem) :
+  int    i1   = 4;
+  int    i2   = 5;
+
+  reactor<pfr> * react_pfr = new reactor<pfr> ( s[i1-1] , s[i2-1] );
+
+  react_pfr->set(name[cursor]);
+
+  double f1 = x[1];
+  double f2 = 0.5;
+
+  string list[5] = { "eb2sty" , "sty2eb" , "eb2bz" , "eb2tol" , "tol2bz" };
+
+  i1 = 5;
+
+  react_pfr->set(f1,f2,i1,list);
+
+  f1 = 0.0;
+  f2 = 300.0;
+
+  react_pfr->set(f1,f2);
+
+  if ( react_pfr->solve() ) {
+    // cout<<"OK"; // TOTO
+    // react_pfr->write(); // WRITE TOTO
+    costs[2] = react_pfr->get_cost();
+    water[3] = react_pfr->get_water();
+  }
+  else {
+    cout << "ERROR 9\n\n";
+    exit(0);
+  }
+  delete react_pfr;
+}
+
+
+double  servor::get_costs_sum ( void ) const {
+  double sum = 0.0;
+  for ( int i = 0 ; i < 8 ; i++ )
+    sum += ( (ARRONDI) ? arrondi(costs[i],6) : costs[i] );
+  return sum;
+}
+
+double  servor::get_power_sum ( void ) const {
+  double sum = 0.0;
+  for ( int i = 0 ; i < 6 ; i++ )
+    sum += ( (ARRONDI) ? arrondi(power[i],6) : power[i] );
+  return sum;
+}
+
+double servor::get_water_sum ( void ) const {
+  double sum = 0.0;
+  for ( int i = 0 ; i < 6 ; i++ )
+    sum += ( (ARRONDI) ? arrondi(water[i],6) : water[i] );
+  return sum;
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/servor.hpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/servor.hpp
index 73b1cd2..e048542 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/servor.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/servor.hpp
@@ -1,101 +1,101 @@
-#ifndef SERVOR_H
-#define SERVOR_H
-
-//Possible units
-#include "mix.hpp"
-#include "split.hpp"
-#include "pump.hpp"
-#include "column.hpp"
-#include "reactor.hpp"
-#include "heatx.hpp"
-#include "burner.hpp"
-
-using namespace std;
-
-class servor {
-
-public:
-
-  double    norm;
-  int       k;
-  int       nb;
-  int       nb_s;
-  string  * type;
-  string  * name;
-  int       cursor;
-  stream ** s;
-
-  int    recycle;
-  int    end_recycle;
-  int    i;
-  bool   end_loop;
-
-  double x_last[MAX_DIM];
-  double x_now [MAX_DIM];
-  double x_next[MAX_DIM];
-  double g_last[MAX_DIM];
-  double g_now [MAX_DIM];
-  double slope [MAX_DIM];
-  double theta [MAX_DIM];
-
-  double costs[8];
-  double power[6];
-  double water[6];
-
-
-  // clock_t beg_time, end_time;
-  //   bool OK, b, solve_OK;
-  //   char filename[31], kind[10], **list, process_name[31];
-  //   double f, f1, f2, f_tab[10], t;
-  //   int i, i1, i2, i_tab[10], time;
-  //   stream *list2;
-
-//   double theta[MAX_DIM], slope[MAX_DIM], norm;
-//   bool end_loop;
-//   int k, recycle, end_recycle;
-//   char loop_name[31];
- 
-//   mix *mix1; void do_mix();
-//   split *split1;
-//   flash *flash1; void do_flash();
-//   pump *pump1; void do_pump();
-//   column *col; void do_column();
-//   reactor<pfr> *react_pfr; void do_reactor();
-//   reactor<cstr> *react_cstr;
-//   heatx *heat; void do_heatx();
-  burner * burn;
-	    
-//   stream *s; //list of streams
-//   friend void out_of_memory(void){exit(0);}
-
-
-  // constructeur :
-  servor ( int , int , stream ** );
-
-  // destructeur :
-  ~servor();
-
-
-//   void set(int t) {time=t;}
-//   void set(char n[31]) {strcpy(process_name, n);}
-  void do_split_process   ( const double * x );
-  void do_column_process  ( const double * x , double * y );
-  void do_flash_process   ( const double * x );
-  void do_mix_process     ( const double * x );
-  void do_pump_process    ( const double * x );
-  void do_heatx_process   ( const double * x );
-  void do_reactor_process ( const double * x );
-  void do_burner_process  ( const double * x , double * y );
-  void do_loop_process    ( const double * x );
-
-  bool solve_process      ( const double * x , double * y );		//main solver of the software.	  
-
-  double get_costs_sum ( void ) const;
-
-  double get_power_sum ( void ) const;
-
-  double get_water_sum ( void ) const;
-
-  
-};
-#endif
+#ifndef SERVOR_H
+#define SERVOR_H
+
+//Possible units
+#include "mix.hpp"
+#include "split.hpp"
+#include "pump.hpp"
+#include "column.hpp"
+#include "reactor.hpp"
+#include "heatx.hpp"
+#include "burner.hpp"
+
+using namespace std;
+
+class servor {
+
+public:
+
+  double    norm;
+  int       k;
+  int       nb;
+  int       nb_s;
+  string  * type;
+  string  * name;
+  int       cursor;
+  stream ** s;
+
+  int    recycle;
+  int    end_recycle;
+  int    i;
+  bool   end_loop;
+
+  double x_last[MAX_DIM];
+  double x_now [MAX_DIM];
+  double x_next[MAX_DIM];
+  double g_last[MAX_DIM];
+  double g_now [MAX_DIM];
+  double slope [MAX_DIM];
+  double theta [MAX_DIM];
+
+  double costs[8];
+  double power[6];
+  double water[6];
+
+
+  // clock_t beg_time, end_time;
+  //   bool OK, b, solve_OK;
+  //   char filename[31], kind[10], **list, process_name[31];
+  //   double f, f1, f2, f_tab[10], t;
+  //   int i, i1, i2, i_tab[10], time;
+  //   stream *list2;
+
+//   double theta[MAX_DIM], slope[MAX_DIM], norm;
+//   bool end_loop;
+//   int k, recycle, end_recycle;
+//   char loop_name[31];
+ 
+//   mix *mix1; void do_mix();
+//   split *split1;
+//   flash *flash1; void do_flash();
+//   pump *pump1; void do_pump();
+//   column *col; void do_column();
+//   reactor<pfr> *react_pfr; void do_reactor();
+//   reactor<cstr> *react_cstr;
+//   heatx *heat; void do_heatx();
+  burner * burn;
+	    
+//   stream *s; //list of streams
+//   friend void out_of_memory(void){exit(0);}
+
+
+  // constructeur :
+  servor ( int , int , stream ** );
+
+  // destructeur :
+  ~servor();
+
+
+//   void set(int t) {time=t;}
+//   void set(char n[31]) {strcpy(process_name, n);}
+  void do_split_process   ( const double * x );
+  void do_column_process  ( const double * x , double * y );
+  void do_flash_process   ( const double * x );
+  void do_mix_process     ( const double * x );
+  void do_pump_process    ( const double * x );
+  void do_heatx_process   ( const double * x );
+  void do_reactor_process ( const double * x );
+  void do_burner_process  ( const double * x , double * y );
+  void do_loop_process    ( const double * x );
+
+  bool solve_process      ( const double * x , double * y );		//main solver of the software.	  
+
+  double get_costs_sum ( void ) const;
+
+  double get_power_sum ( void ) const;
+
+  double get_water_sum ( void ) const;
+
+  
+};
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/split.cpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/split.cpp
index d14c519..d3f48c9 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/split.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/split.cpp
@@ -1,53 +1,53 @@
-#include "split.hpp"
-using namespace std;
-
-split::split(int n, stream* s1, stream** s2)
-{
-  nb_out=n;
-  in = s1;
-  out= s2;
-  success = true;
-}
-
-bool split::solve()
-{
-   tmp=0;
-   for (i=0;i<nb_out; i++) tmp+=frac[i];
-   if(fabs(1-tmp)<=EPS)
-   {
-      success = true;
-      for (i=0; i<nb_out;i++)
-      {
-         out[i]->m=0;
-         for (j=0;j<in->nb;j++)
-         {
-
-	   out[i]->chem[j]->m = frac[i]*in->chem[j]->m;
-	   out[i]->m += out[i]->chem[j]->m;
-         }
-         out[i]->set(in->P, in->T);
-         // out[i]->write(); // TOTO
-      }
-   }
-   tmp=0; for(i=0;i<nb_out;i++) tmp+=out[i]->m;
-   if(fabs(tmp-in->m)>EPS)
-   {
-//       logf.open(MESSAGES, ios::app);
-//       logf<<"   --> Warning <--  Block "<<name<<" is not in mass balance ("<<fabs(tmp-in->m)/tmp<<").\n";
-//       logf.close();
-      success = false;
-   }
-   else success = true;
-   return success;
-}
-
-void split::write()
-{
-  cout << "WRITE FILE " << RUNTIME << name << ".unit" << " :\n\tBEGIN\n";
-  cout <<"\t>>         "<<name;
-  cout << endl<<"\t>>           stream in: "<<in->name;;
-  cout<<endl<<"\t>>           streams out: "<<setprecision(3);
-  for ( i = 0 ; i < nb_out ; i++ )
-    cout << out[i]->name<<" ("<<frac[i]<<")  ";
-  cout << "\n\tEND\n\n";
-}
+#include "split.hpp"
+using namespace std;
+
+split::split(int n, stream* s1, stream** s2)
+{
+  nb_out=n;
+  in = s1;
+  out= s2;
+  success = true;
+}
+
+bool split::solve()
+{
+   tmp=0;
+   for (i=0;i<nb_out; i++) tmp+=frac[i];
+   if(fabs(1-tmp)<=EPS)
+   {
+      success = true;
+      for (i=0; i<nb_out;i++)
+      {
+         out[i]->m=0;
+         for (j=0;j<in->nb;j++)
+         {
+
+	   out[i]->chem[j]->m = frac[i]*in->chem[j]->m;
+	   out[i]->m += out[i]->chem[j]->m;
+         }
+         out[i]->set(in->P, in->T);
+         // out[i]->write(); // TOTO
+      }
+   }
+   tmp=0; for(i=0;i<nb_out;i++) tmp+=out[i]->m;
+   if(fabs(tmp-in->m)>EPS)
+   {
+//       logf.open(MESSAGES, ios::app);
+//       logf<<"   --> Warning <--  Block "<<name<<" is not in mass balance ("<<fabs(tmp-in->m)/tmp<<").\n";
+//       logf.close();
+      success = false;
+   }
+   else success = true;
+   return success;
+}
+
+void split::write()
+{
+  cout << "WRITE FILE " << RUNTIME << name << ".unit" << " :\n\tBEGIN\n";
+  cout <<"\t>>         "<<name;
+  cout << endl<<"\t>>           stream in: "<<in->name;;
+  cout<<endl<<"\t>>           streams out: "<<setprecision(3);
+  for ( i = 0 ; i < nb_out ; i++ )
+    cout << out[i]->name<<" ("<<frac[i]<<")  ";
+  cout << "\n\tEND\n\n";
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/split.hpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/split.hpp
index 7634f47..2c75638 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/split.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/split.hpp
@@ -1,43 +1,43 @@
-/*
-This unit takes one input stream and divides in two or more
-output streams. The pressure and temparature of output streams
-are the same as the input's.
-
-Structure in the .process file:
-split {name} {index of input stream}  {nb_out} {indexes of output streams and fractions of input}
-
-How to use:
-   1- Call the constructor: split1 = new split(nb_out, in, list_out);
-   2- Set split fractions: split1->set(fractions);
-   3- Set the name: split1->set(name);
-   4- Solve: split1->solve();   
-*/
-#ifndef SPLIT_H
-#define SPLIT_H
-
-#include "stream.hpp"
-using namespace std;
-
-class split
-{
-private:
-
-  int i, j;
-  bool success;
-  double tmp;
-  string name;
-  int nb_out;			//number of input streams
-  stream *in;		//pointer to input stream
-  stream **out;		//list of pointers to output streams
-  double *frac;			//list of split fractions
-	  
-public:
-  split(int, stream*, stream**);		//defines the connectivities of this unit
-  ~split(){}
-  void set(double* f)  {frac=f;}
-  void set(const string & n) { name = n;}
-  bool solve();								//finds the temperature and computes mass balance
-  void write();
-};
-
-#endif
+/*
+This unit takes one input stream and divides in two or more
+output streams. The pressure and temparature of output streams
+are the same as the input's.
+
+Structure in the .process file:
+split {name} {index of input stream}  {nb_out} {indexes of output streams and fractions of input}
+
+How to use:
+   1- Call the constructor: split1 = new split(nb_out, in, list_out);
+   2- Set split fractions: split1->set(fractions);
+   3- Set the name: split1->set(name);
+   4- Solve: split1->solve();   
+*/
+#ifndef SPLIT_H
+#define SPLIT_H
+
+#include "stream.hpp"
+using namespace std;
+
+class split
+{
+private:
+
+  int i, j;
+  bool success;
+  double tmp;
+  string name;
+  int nb_out;			//number of input streams
+  stream *in;		//pointer to input stream
+  stream **out;		//list of pointers to output streams
+  double *frac;			//list of split fractions
+	  
+public:
+  split(int, stream*, stream**);		//defines the connectivities of this unit
+  ~split(){}
+  void set(double* f)  {frac=f;}
+  void set(const string & n) { name = n;}
+  bool solve();								//finds the temperature and computes mass balance
+  void write();
+};
+
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/stream.cpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/stream.cpp
index 408c1cb..8854441 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/stream.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/stream.cpp
@@ -1,265 +1,265 @@
-#include "stream.hpp"
-using namespace std;
-
-// destructor :
-stream::~stream ( void ) {
-  delete thermo;
-  delete [] tab1;
-  delete [] tab2;
-  delete [] tab3;
-  delete [] tab4;
-  for ( i = 0 ; i < nb ; i++ )
-    delete chem[i];
-  delete [] chem;
-}
-
-void stream::check_error()
-{
-  
-   if (error>MAX_ERROR) {
-     cout << "ERROR 4\n\n";
-     exit(0);
-   }
-   if (warning>MAX_WARNING) {
-     cout << "ERROR 5\n\n";
-     exit(0);
-   }
-}
-
-void stream::set ( int _nb , chemical ** _chem) {
-  int i;
-  for ( i = 0 ; i < nb ; i++ )
-    delete chem[i];
-  delete [] chem;
-  nb   = _nb;
-  chem = new chemical * [nb];
-  for  ( i = 0 ; i < nb ; i++ )
-    chem[i] = new chemical(*_chem[i]);
-}
-
-void stream::set(double pres, double temp) //set P, T, find state and resulting v
-{
-   if(thermo->get_dim()!=nb)
-   {
-     delete thermo;
-     thermo = new thermolib(nb);
-   }
-   P=pres;
-   T=temp;
-   for (i=0;i<nb;i++) {chem[i]->P=pres; chem[i]->T=temp;}
-   if(n()>EPS)
-   {
-      v=quality();
-      tmp1=0;
-      for (i=0;i<nb;i++)
-      {
-         if (T>chem[i]->Tc || v==1) chem[i]->state=1;
-         else chem[i]->state=0;
-      }
-      v=0;
-      for (i=0;i<nb;i++)
-      {
-         if (chem[i]->state==0) {if (chem[i]->m>EPS) v+= chem[i]->m/chem[i]->rho(); tab4[i]=0;}
-         if (chem[i]->state==1) {tab4[i] = chem[i]->n(); tmp1+=tab4[i];}
-      }
-      if (tmp1>EPS)
-      {
-         for (i=0;i<nb;i++)
-         {
-            tab1[i] = chem[i]->Pc;  //cout<<endl<<tab1[i];
-            tab2[i] = chem[i]->Tc; // cout<<"  "<<tab2[i];
-            tab3[i] = chem[i]->omega();  //cout<<"  "<<tab3[i];
-            tab4[i]/=tmp1;    //          cout<<"  "<<tab4[i];
-         }
-         thermo->send(tab1,tab2,tab3, tab4);
-         thermo->set(P,T,0.0,tmp1);
-         v+=thermo->v();
-      }
-   }
-   else v= 0.0;
-}
-
-void stream::set(double *list)
-{
-   m=0;
-   for (i=0; i<nb; i++)
-   {
-      chem[i]->m=list[i];
-      m+=list[i];
-   }
-}
-
-void stream::bubble()
-{
-   bp=1.1e6;
-   for(i=0;i<nb;i++) if(T<chem[i]->Tc && chem[i]->Tboil(P)<bp && chem[i]->m>EPS) bp=chem[i]->Tboil(P);
-   if (bp==1.1e6) bp=0.0;
-   else
-   {
-      step=2;
-      while (fabs(step)>TOL_BP && fabs(tmp1-1)>TOL_BP)
-      {
-         //if(DEBUG) cout<<endl<<bp;
-         bp+=step;
-         tmp1=tmp2=0;
-         for (i=0;i<nb;i++) if(T<chem[i]->Tc) {tmp2+=chem[i]->n(); tmp1+=chem[i]->n()*chem[i]->Psat(bp)/P;}
-         tmp1/=tmp2;
-         step=10*(1.0-tmp1);
-      }
-   }
-}
-
-void stream::dew()
-{
-   dp=0.0;
-   tmp1=10;
-   for(i=0;i<nb;i++) if(T<chem[i]->Tc && chem[i]->Tboil(P)>dp && chem[i]->m>EPS) dp=chem[i]->Tboil(P);
-   if (dp>EPS)
-   {
-   dp=bp;
-      step=1;
-      while (fabs(step)>TOL_DP && fabs(tmp1/tmp2-1)>TOL_DP)
-      {
-         dp+=step;
-         if(dp<bp) dp=bp;
-         //if(DEBUG) cout<<endl<<dp;
-         tmp1=tmp2=0;
-          for (i=0;i<nb;i++) if(T<chem[i]->Tc) {tmp2+=chem[i]->n(); tmp1+=chem[i]->n()/chem[i]->Psat(dp)*P; }
-         if (step/fabs(step)*tmp2/tmp1 >1 || step/fabs(step)*tmp1/tmp2 <-1) step*= -0.1;
-      }
-   }
-}
-
-double stream::quality()
-{
-   if(T>EPS)
-   {
-      bubble();
-      dew();
-      //if(DEBUG) cout<<endl<<name<<"  bp="<<bp<<"  dp="<<dp<<"  T="<<T;  system("pause");
-      if (bp < dp)
-      {
-         if (bp < T && T< dp) tmp= (T-bp)/(dp-bp);
-         if (T<= bp) tmp= 0.0;
-         if (T >= dp) tmp= 1.0;
-      }
-   }
-   else tmp= 0.0;
-   return tmp;
-}
-
-double stream::K(int i)
-{
-   for (j=0;j<nb;j++)
-     tab4[j] = chem[j]->n()/n();
-   thermo->send(tab1,tab2,tab3, tab4);
-   if (T>EPS && P>EPS)
-   {
-      thermo->set(P,T,v,n());
-      return thermo->K(i);
-   }
-   else
-   {
-	   ofstream logf;
-      logf.open(MESSAGES, ios::app);
-      logf<<"   --> Warning <--  Cannot compute K of "<<chem[i]->name<<" in stream "<<name<<".\n";
-      logf.close();
-      warning++;
-      check_error();
-      return 1.0;
-   }
-}
-
-double stream::n()
-{
-   tmp=0.0;
-   for ( k = 0 ; k < nb ; k++ )
-     tmp+=chem[k]->n();
-   return tmp;
-}
-
-
-// affectation :
-stream & stream::operator = ( const stream & s ) {
-  
-  (*thermo) = *(s.thermo);
-
-  delete [] tab1;
-  delete [] tab2;
-  delete [] tab3;
-  delete [] tab4;
-  for ( i = 0 ; i < nb ; i++ )
-    delete chem[i];
-  delete [] chem;
-    
-  P = s.P;
-  T = s.T;
-  m = s.m;
-  v = s.v;
-  i = s.i;
-  j = s.j;
-  k = s.k;
-  error = s.error;
-  warning = s.warning;
-  name = s.name;
-  nb = s.nb;
-  chem = new chemical *[nb];
-  
-  tab1 = new double[nb];
-  tab2 = new double[nb];
-  tab3 = new double[nb];
-  tab4 = new double[nb];
-
-  step = s.step;
-
-  for  ( i = 0 ; i < nb ; i++ ) {
-    chem[i] = new chemical(*s.chem[i]);
-    tab1[i] = s.tab1[i];
-    tab2[i] = s.tab2[i];
-    tab3[i] = s.tab3[i];
-    tab4[i] = s.tab4[i];
-  }
-
-  tmp  = s.tmp;
-  tmp1 = s.tmp1;
-  tmp2 = s.tmp2;
-  
-  return *this;
-}
-
-
-void stream::write() {
-  
-  string file_name = RUNTIME + name + ".stream";
-
-  cout << "WRITE FILE " << file_name << " :\n\tBEGIN\n";
-
-  cout.unsetf(ios::scientific);
-  cout << setiosflags(ios::showpoint | ios::fixed)<<setprecision(1);
-
-  cout << "\t>>" << setw(8) << P << "   " << setw(9) << T <<"  ";
-
-  cout << resetiosflags(ios::fixed) << setiosflags(ios::scientific) << setprecision(3);
-
-  if (m>EPS)
-    cout << setw(11) << m << setw(11) << v;
-  else
-    cout << "       x          x   ";
-  for  ( i = 0 ; i < nb ; i++ ) {
-    if ( chem[i]->m <= EPS )
-      cout << "       x   ";
-    else
-      cout << setw(11) << chem[i]->m;
-  }
-  cout << "\n\tEND\n\n";
-
-  cout.setf(ios::scientific);
-
-}
-
-void stream::purge()
-{
-  P=T=m=v=0.0;
-  for(i=0;i<nb;i++)
-    chem[i]->purge();
-}
+#include "stream.hpp"
+using namespace std;
+
+// destructor :
+stream::~stream ( void ) {
+  delete thermo;
+  delete [] tab1;
+  delete [] tab2;
+  delete [] tab3;
+  delete [] tab4;
+  for ( i = 0 ; i < nb ; i++ )
+    delete chem[i];
+  delete [] chem;
+}
+
+void stream::check_error()
+{
+  
+   if (error>MAX_ERROR) {
+     cout << "ERROR 4\n\n";
+     exit(0);
+   }
+   if (warning>MAX_WARNING) {
+     cout << "ERROR 5\n\n";
+     exit(0);
+   }
+}
+
+void stream::set ( int _nb , chemical ** _chem) {
+  int i;
+  for ( i = 0 ; i < nb ; i++ )
+    delete chem[i];
+  delete [] chem;
+  nb   = _nb;
+  chem = new chemical * [nb];
+  for  ( i = 0 ; i < nb ; i++ )
+    chem[i] = new chemical(*_chem[i]);
+}
+
+void stream::set(double pres, double temp) //set P, T, find state and resulting v
+{
+   if(thermo->get_dim()!=nb)
+   {
+     delete thermo;
+     thermo = new thermolib(nb);
+   }
+   P=pres;
+   T=temp;
+   for (i=0;i<nb;i++) {chem[i]->P=pres; chem[i]->T=temp;}
+   if(n()>EPS)
+   {
+      v=quality();
+      tmp1=0;
+      for (i=0;i<nb;i++)
+      {
+         if (T>chem[i]->Tc || v==1) chem[i]->state=1;
+         else chem[i]->state=0;
+      }
+      v=0;
+      for (i=0;i<nb;i++)
+      {
+         if (chem[i]->state==0) {if (chem[i]->m>EPS) v+= chem[i]->m/chem[i]->rho(); tab4[i]=0;}
+         if (chem[i]->state==1) {tab4[i] = chem[i]->n(); tmp1+=tab4[i];}
+      }
+      if (tmp1>EPS)
+      {
+         for (i=0;i<nb;i++)
+         {
+            tab1[i] = chem[i]->Pc;  //cout<<endl<<tab1[i];
+            tab2[i] = chem[i]->Tc; // cout<<"  "<<tab2[i];
+            tab3[i] = chem[i]->omega();  //cout<<"  "<<tab3[i];
+            tab4[i]/=tmp1;    //          cout<<"  "<<tab4[i];
+         }
+         thermo->send(tab1,tab2,tab3, tab4);
+         thermo->set(P,T,0.0,tmp1);
+         v+=thermo->v();
+      }
+   }
+   else v= 0.0;
+}
+
+void stream::set(double *list)
+{
+   m=0;
+   for (i=0; i<nb; i++)
+   {
+      chem[i]->m=list[i];
+      m+=list[i];
+   }
+}
+
+void stream::bubble()
+{
+   bp=1.1e6;
+   for(i=0;i<nb;i++) if(T<chem[i]->Tc && chem[i]->Tboil(P)<bp && chem[i]->m>EPS) bp=chem[i]->Tboil(P);
+   if (bp==1.1e6) bp=0.0;
+   else
+   {
+      step=2;
+      while (fabs(step)>TOL_BP && fabs(tmp1-1)>TOL_BP)
+      {
+         //if(DEBUG) cout<<endl<<bp;
+         bp+=step;
+         tmp1=tmp2=0;
+         for (i=0;i<nb;i++) if(T<chem[i]->Tc) {tmp2+=chem[i]->n(); tmp1+=chem[i]->n()*chem[i]->Psat(bp)/P;}
+         tmp1/=tmp2;
+         step=10*(1.0-tmp1);
+      }
+   }
+}
+
+void stream::dew()
+{
+   dp=0.0;
+   tmp1=10;
+   for(i=0;i<nb;i++) if(T<chem[i]->Tc && chem[i]->Tboil(P)>dp && chem[i]->m>EPS) dp=chem[i]->Tboil(P);
+   if (dp>EPS)
+   {
+   dp=bp;
+      step=1;
+      while (fabs(step)>TOL_DP && fabs(tmp1/tmp2-1)>TOL_DP)
+      {
+         dp+=step;
+         if(dp<bp) dp=bp;
+         //if(DEBUG) cout<<endl<<dp;
+         tmp1=tmp2=0;
+          for (i=0;i<nb;i++) if(T<chem[i]->Tc) {tmp2+=chem[i]->n(); tmp1+=chem[i]->n()/chem[i]->Psat(dp)*P; }
+         if (step/fabs(step)*tmp2/tmp1 >1 || step/fabs(step)*tmp1/tmp2 <-1) step*= -0.1;
+      }
+   }
+}
+
+double stream::quality()
+{
+   if(T>EPS)
+   {
+      bubble();
+      dew();
+      //if(DEBUG) cout<<endl<<name<<"  bp="<<bp<<"  dp="<<dp<<"  T="<<T;  system("pause");
+      if (bp < dp)
+      {
+         if (bp < T && T< dp) tmp= (T-bp)/(dp-bp);
+         if (T<= bp) tmp= 0.0;
+         if (T >= dp) tmp= 1.0;
+      }
+   }
+   else tmp= 0.0;
+   return tmp;
+}
+
+double stream::K(int i)
+{
+   for (j=0;j<nb;j++)
+     tab4[j] = chem[j]->n()/n();
+   thermo->send(tab1,tab2,tab3, tab4);
+   if (T>EPS && P>EPS)
+   {
+      thermo->set(P,T,v,n());
+      return thermo->K(i);
+   }
+   else
+   {
+	   ofstream logf;
+      logf.open(MESSAGES, ios::app);
+      logf<<"   --> Warning <--  Cannot compute K of "<<chem[i]->name<<" in stream "<<name<<".\n";
+      logf.close();
+      warning++;
+      check_error();
+      return 1.0;
+   }
+}
+
+double stream::n()
+{
+   tmp=0.0;
+   for ( k = 0 ; k < nb ; k++ )
+     tmp+=chem[k]->n();
+   return tmp;
+}
+
+
+// affectation :
+stream & stream::operator = ( const stream & s ) {
+  
+  (*thermo) = *(s.thermo);
+
+  delete [] tab1;
+  delete [] tab2;
+  delete [] tab3;
+  delete [] tab4;
+  for ( i = 0 ; i < nb ; i++ )
+    delete chem[i];
+  delete [] chem;
+    
+  P = s.P;
+  T = s.T;
+  m = s.m;
+  v = s.v;
+  i = s.i;
+  j = s.j;
+  k = s.k;
+  error = s.error;
+  warning = s.warning;
+  name = s.name;
+  nb = s.nb;
+  chem = new chemical *[nb];
+  
+  tab1 = new double[nb];
+  tab2 = new double[nb];
+  tab3 = new double[nb];
+  tab4 = new double[nb];
+
+  step = s.step;
+
+  for  ( i = 0 ; i < nb ; i++ ) {
+    chem[i] = new chemical(*s.chem[i]);
+    tab1[i] = s.tab1[i];
+    tab2[i] = s.tab2[i];
+    tab3[i] = s.tab3[i];
+    tab4[i] = s.tab4[i];
+  }
+
+  tmp  = s.tmp;
+  tmp1 = s.tmp1;
+  tmp2 = s.tmp2;
+  
+  return *this;
+}
+
+
+void stream::write() {
+  
+  string file_name = RUNTIME + name + ".stream";
+
+  cout << "WRITE FILE " << file_name << " :\n\tBEGIN\n";
+
+  cout.unsetf(ios::scientific);
+  cout << setiosflags(ios::showpoint | ios::fixed)<<setprecision(1);
+
+  cout << "\t>>" << setw(8) << P << "   " << setw(9) << T <<"  ";
+
+  cout << resetiosflags(ios::fixed) << setiosflags(ios::scientific) << setprecision(3);
+
+  if (m>EPS)
+    cout << setw(11) << m << setw(11) << v;
+  else
+    cout << "       x          x   ";
+  for  ( i = 0 ; i < nb ; i++ ) {
+    if ( chem[i]->m <= EPS )
+      cout << "       x   ";
+    else
+      cout << setw(11) << chem[i]->m;
+  }
+  cout << "\n\tEND\n\n";
+
+  cout.setf(ios::scientific);
+
+}
+
+void stream::purge()
+{
+  P=T=m=v=0.0;
+  for(i=0;i<nb;i++)
+    chem[i]->purge();
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/stream.hpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/stream.hpp
index 895ef3d..94b2102 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/stream.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/stream.hpp
@@ -1,86 +1,86 @@
-#ifndef STREAM_H
-#define STREAM_H
-#include "chemical.hpp"
-#include <iomanip>
-using namespace std;
-
-class stream {
-
-private:
-
-  stream ( void ) {}
-  stream ( const stream & s ) {}
-
-public:
-  void check_error();
-
-  double P, T, m, v;  // Pressure in atm, temperature in K,
-                      // total mass flow in kg/s, total volume flow in m3/s
-
-  int i, j, k, error, warning;
-
-  string name;
-
-  int nb;		// number of chemicals to store;
-
-  chemical ** chem;     // list of stored chemicals
-
-  thermolib *thermo;
-
-  double tmp, tmp1,tmp2, *tab1, *tab2, *tab3, *tab4;
-  double step;
-  void bubble(), dew();
-  
-public:
-
-
-
-
-
-  double dp, bp;
-  double rho() {if(v!=0) return m/v; else exit(0);} // Apparent density in kg/m3
-  double n();		// total mole flow (mol/s)
-  double quality();	// returns the vapor fraction of stream (1=all vapor, 0 = all liquid)
-  double K(int);        // returns the vapor-liquid equilibrium constant of compound i
-   
-  // constructor :
-  stream ( const string _name , int n , chemical ** list ) : P      (0                 ) ,
-							     T      (0                 ) ,
-							     m      (0                 ) ,
-							     v      (0                 ) ,
-							     error  (0                 ) ,
-							     warning(0                 ) ,
-							     name   (_name             ) ,
-							     nb     (n                 ) ,
-							     chem   (new chemical *[nb]) ,
-							     thermo (new thermolib (nb)) ,
-							     tab1   (new double    [nb]) ,
-							     tab2   (new double    [nb]) ,
-							     tab3   (new double    [nb]) ,
-							     tab4   (new double    [nb])   {
-    for  ( i = 0 ; i < nb ; i++ )
-      chem[i] = new chemical(*list[i]);
-  }
-
-
-  // affectation :
-  stream & operator = ( const stream & s );
-
-  void set_thermo ( thermolib * t ) { (*thermo) = *t; }
-
-
-  void set(double, double); // Sets P and T
-  void set(double*);        // Sets mass flows
-  void set( const string & n ) { name = n;}
-  void set ( int _nb , chemical ** _chem);
-
-
-  // destructor :
-  ~stream ( void );
-
-  void write();
-  void purge();
-};
-
-
-#endif
+#ifndef STREAM_H
+#define STREAM_H
+#include "chemical.hpp"
+#include <iomanip>
+using namespace std;
+
+class stream {
+
+private:
+
+  stream ( void ) {}
+  stream ( const stream & s ) {}
+
+public:
+  void check_error();
+
+  double P, T, m, v;  // Pressure in atm, temperature in K,
+                      // total mass flow in kg/s, total volume flow in m3/s
+
+  int i, j, k, error, warning;
+
+  string name;
+
+  int nb;		// number of chemicals to store;
+
+  chemical ** chem;     // list of stored chemicals
+
+  thermolib *thermo;
+
+  double tmp, tmp1,tmp2, *tab1, *tab2, *tab3, *tab4;
+  double step;
+  void bubble(), dew();
+  
+public:
+
+
+
+
+
+  double dp, bp;
+  double rho() {if(v!=0) return m/v; else exit(0);} // Apparent density in kg/m3
+  double n();		// total mole flow (mol/s)
+  double quality();	// returns the vapor fraction of stream (1=all vapor, 0 = all liquid)
+  double K(int);        // returns the vapor-liquid equilibrium constant of compound i
+   
+  // constructor :
+  stream ( const string _name , int n , chemical ** list ) : P      (0                 ) ,
+							     T      (0                 ) ,
+							     m      (0                 ) ,
+							     v      (0                 ) ,
+							     error  (0                 ) ,
+							     warning(0                 ) ,
+							     name   (_name             ) ,
+							     nb     (n                 ) ,
+							     chem   (new chemical *[nb]) ,
+							     thermo (new thermolib (nb)) ,
+							     tab1   (new double    [nb]) ,
+							     tab2   (new double    [nb]) ,
+							     tab3   (new double    [nb]) ,
+							     tab4   (new double    [nb])   {
+    for  ( i = 0 ; i < nb ; i++ )
+      chem[i] = new chemical(*list[i]);
+  }
+
+
+  // affectation :
+  stream & operator = ( const stream & s );
+
+  void set_thermo ( thermolib * t ) { (*thermo) = *t; }
+
+
+  void set(double, double); // Sets P and T
+  void set(double*);        // Sets mass flows
+  void set( const string & n ) { name = n;}
+  void set ( int _nb , chemical ** _chem);
+
+
+  // destructor :
+  ~stream ( void );
+
+  void write();
+  void purge();
+};
+
+
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/thermolib.cpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/thermolib.cpp
index 5113bca..51e3fbb 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/thermolib.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/thermolib.cpp
@@ -1,175 +1,175 @@
-#include "thermolib.hpp"
-#include "defines.hpp"
-#include "secant.cpp"
-using namespace std;
-
-
-
-
-// affectation :
-thermolib & thermolib::operator = ( const thermolib & t ) {
-
-  if (dim!=t.dim)
-    reset(t.dim);
-  
-  for ( i = 0 ; i < dim ; i++ ) {
-    Pc[i] = t.Pc[i];
-    Tc[i] = t.Tc[i];
-    omega[i] = t.omega[i];
-    molefrac[i] = t.molefrac[i];
-  }
-
-  return *this;
-}
-
-thermolib::~thermolib() {
-  delete solver;
-  delete [] Pc;
-  delete [] Tc;
-  delete [] omega;
-  delete [] molefrac;
-}
-
-void thermolib::construct ( void ) {
-  molefrac = new double[dim];
-  Pc = new double[dim];
-  Tc = new double[dim];
-  omega = new double[dim];
-
-	// C. Tribes add this for more robustness (variables may be initialized uncorrectly dependent on the execution)
-	for ( i = 0 ; i < dim ; i++ ) 
-	{
-		Pc[i] = 0.0;
-		Tc[i] = 0.0;
-		omega[i] = 0.0;
-		molefrac[i] = 0.0;
-	}
-	
-	
-  solver = new secant<thermolib>();
-}
-
-void thermolib::reset(int b)
-{
-   delete [] molefrac;
-   delete [] Pc;
-   delete [] Tc;
-   delete [] omega;
-   delete solver;
-   dim = b;
-   construct();
-}
-
-double thermolib::a_mix()
-{
-   if (dim>1)
-   {
-      tmp=0;
-      for (i=0;i<dim;i++)
-         for (j=0;j<dim;j++)
-            tmp += molefrac[i]*molefrac[j]*sqrt(a(i)*a(j));
-      return tmp;
-   }
-   else return a(0);
-}
-
-double thermolib::b_mix()
-{
-   if (dim>1)
-   {
-      tmp=0;
-      for (i=0;i<dim;i++)
-         tmp += molefrac[i]*b(i);
-      return tmp;
-   }
-   else return b(0);
-}
-
-void thermolib::send(double* pc, double* tc, double* w, double* y)
-{
-   for (i=0;i<dim;i++)
-   {
-      Pc[i] = pc[i]*101.325;
-      Tc[i] = tc[i];
-      omega[i] = w[i];
-      molefrac[i] = y[i];
-   }
-}
-
-double thermolib::P()
-{
-   task=0;
-   pressure = 8.3144*temperature/molevolume;
-   solver->set(this, pressure, 1.001*pressure);
-   success=solver->run();
-   return pressure/101.325;
-}
-
-double thermolib::T()
-{
-   task=1;
-   temperature = pressure*molevolume/8.144;
-   solver->set(this, temperature, 1.001*temperature);
-   success=solver->run();
-   return temperature;
-}
-
-double thermolib::v()
-{
-   if (mole>EPS)
-   {
-      task=2;
-      molevolume = 8.3144*temperature/pressure;
-      solver->set(this, molevolume, 1.001*molevolume);
-      success=solver->run();
-      return 0.001*mole*molevolume;
-   }
-   else return 0.0;
-}
-
-double thermolib::Zv()
-{
-   task=4;
-   solver->set(this, 1.0, 0.99);
-   success=solver->run();
-   return Z;
-}
-
-double thermolib::phiV(int i)
-{
-   return exp((Z-1)*B(i)/B() - log(Z-B()) - A()/B()*(2*sqrt(A(i)/A())-B(i)/B())*log(1+B()/Z));
-}
-
-double thermolib::phiL(int i)
-{
-   Pr = pressure/Pc[i];
-   Tr = temperature/Tc[i];
-   tmp = 2.05135 - 2.10899/Tr - 0.19396*pow(Tr,2) + 0.02282*pow(Tr,3) + (0.08852 - 0.00872*pow(Tr,2))*Pr + (-0.00353 - 0.00203*Tr)*pow(Pr,2) - log10(Pr);
-   tmp += omega[i]*(-4.23893 + 8.65808*Tr - 1.2206/Tr - 3.15224*pow(Tr,3) - 0.025*(Pr-0.6));
-   return pow(10, tmp);
-}
-
-double thermolib::f(double x)
-{
-   if (task==0)
-   {
-      pressure=x;
-      x= 8.3144*temperature/(molevolume-b_mix()) - a_mix()/(pow(molevolume,2)+b_mix()*molevolume) - x;
-   }
-   if (task==1)
-   {
-      temperature=x;
-      x= 8.3144*x/(molevolume-b_mix()) - a_mix()/(pow(molevolume,2)+b_mix()*molevolume) - pressure;
-   }
-   if (task==2)
-   {
-      molevolume=x;
-      x= 8.3144*temperature/(x-b_mix()) - a_mix()/(pow(x,2)+b_mix()*x) - pressure;
-   }
-   if(task==4)
-   {
-      Z=x;
-      x= (pow(x,3)-pow(x,2)+(A()-B()-pow(B(),2))*x-A()*B());
-   }
-   return x;
-}
+#include "thermolib.hpp"
+#include "defines.hpp"
+#include "secant.cpp"
+using namespace std;
+
+
+
+
+// affectation :
+thermolib & thermolib::operator = ( const thermolib & t ) {
+
+  if (dim!=t.dim)
+    reset(t.dim);
+  
+  for ( i = 0 ; i < dim ; i++ ) {
+    Pc[i] = t.Pc[i];
+    Tc[i] = t.Tc[i];
+    omega[i] = t.omega[i];
+    molefrac[i] = t.molefrac[i];
+  }
+
+  return *this;
+}
+
+thermolib::~thermolib() {
+  delete solver;
+  delete [] Pc;
+  delete [] Tc;
+  delete [] omega;
+  delete [] molefrac;
+}
+
+void thermolib::construct ( void ) {
+  molefrac = new double[dim];
+  Pc = new double[dim];
+  Tc = new double[dim];
+  omega = new double[dim];
+
+	// C. Tribes add this for more robustness (variables may be initialized uncorrectly dependent on the execution)
+	for ( i = 0 ; i < dim ; i++ ) 
+	{
+		Pc[i] = 0.0;
+		Tc[i] = 0.0;
+		omega[i] = 0.0;
+		molefrac[i] = 0.0;
+	}
+	
+	
+  solver = new secant<thermolib>();
+}
+
+void thermolib::reset(int b)
+{
+   delete [] molefrac;
+   delete [] Pc;
+   delete [] Tc;
+   delete [] omega;
+   delete solver;
+   dim = b;
+   construct();
+}
+
+double thermolib::a_mix()
+{
+   if (dim>1)
+   {
+      tmp=0;
+      for (i=0;i<dim;i++)
+         for (j=0;j<dim;j++)
+            tmp += molefrac[i]*molefrac[j]*sqrt(a(i)*a(j));
+      return tmp;
+   }
+   else return a(0);
+}
+
+double thermolib::b_mix()
+{
+   if (dim>1)
+   {
+      tmp=0;
+      for (i=0;i<dim;i++)
+         tmp += molefrac[i]*b(i);
+      return tmp;
+   }
+   else return b(0);
+}
+
+void thermolib::send(double* pc, double* tc, double* w, double* y)
+{
+   for (i=0;i<dim;i++)
+   {
+      Pc[i] = pc[i]*101.325;
+      Tc[i] = tc[i];
+      omega[i] = w[i];
+      molefrac[i] = y[i];
+   }
+}
+
+double thermolib::P()
+{
+   task=0;
+   pressure = 8.3144*temperature/molevolume;
+   solver->set(this, pressure, 1.001*pressure);
+   success=solver->run();
+   return pressure/101.325;
+}
+
+double thermolib::T()
+{
+   task=1;
+   temperature = pressure*molevolume/8.144;
+   solver->set(this, temperature, 1.001*temperature);
+   success=solver->run();
+   return temperature;
+}
+
+double thermolib::v()
+{
+   if (mole>EPS)
+   {
+      task=2;
+      molevolume = 8.3144*temperature/pressure;
+      solver->set(this, molevolume, 1.001*molevolume);
+      success=solver->run();
+      return 0.001*mole*molevolume;
+   }
+   else return 0.0;
+}
+
+double thermolib::Zv()
+{
+   task=4;
+   solver->set(this, 1.0, 0.99);
+   success=solver->run();
+   return Z;
+}
+
+double thermolib::phiV(int i)
+{
+   return exp((Z-1)*B(i)/B() - log(Z-B()) - A()/B()*(2*sqrt(A(i)/A())-B(i)/B())*log(1+B()/Z));
+}
+
+double thermolib::phiL(int i)
+{
+   Pr = pressure/Pc[i];
+   Tr = temperature/Tc[i];
+   tmp = 2.05135 - 2.10899/Tr - 0.19396*pow(Tr,2) + 0.02282*pow(Tr,3) + (0.08852 - 0.00872*pow(Tr,2))*Pr + (-0.00353 - 0.00203*Tr)*pow(Pr,2) - log10(Pr);
+   tmp += omega[i]*(-4.23893 + 8.65808*Tr - 1.2206/Tr - 3.15224*pow(Tr,3) - 0.025*(Pr-0.6));
+   return pow(10, tmp);
+}
+
+double thermolib::f(double x)
+{
+   if (task==0)
+   {
+      pressure=x;
+      x= 8.3144*temperature/(molevolume-b_mix()) - a_mix()/(pow(molevolume,2)+b_mix()*molevolume) - x;
+   }
+   if (task==1)
+   {
+      temperature=x;
+      x= 8.3144*x/(molevolume-b_mix()) - a_mix()/(pow(molevolume,2)+b_mix()*molevolume) - pressure;
+   }
+   if (task==2)
+   {
+      molevolume=x;
+      x= 8.3144*temperature/(x-b_mix()) - a_mix()/(pow(x,2)+b_mix()*x) - pressure;
+   }
+   if(task==4)
+   {
+      Z=x;
+      x= (pow(x,3)-pow(x,2)+(A()-B()-pow(B(),2))*x-A()*B());
+   }
+   return x;
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/thermolib.hpp b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/thermolib.hpp
index 3d39c8c..3440270 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/surrogate/thermolib.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/surrogate/thermolib.hpp
@@ -1,50 +1,50 @@
-#ifndef THERMOLIB_H
-#define THERMOLIB_H
-#include "secant.hpp"
-using namespace std;
-
-class thermolib
-{
-   private:
-      bool success;
-	  int dim, i, j;
-      double pressure, temperature, molevolume, mole,*molefrac;
-	  double *Pc, *Tc, *omega, Z, tmp, Tr, Pr;
-       void construct();
-      double a(int i) {return (0.42748*pow(8.8144,2)*pow(Tc[i],2)*pow(1.0+f_omega(i)*(1.0-sqrt(temperature/Tc[i])), 2)/Pc[i]);}
-	  double a_mix();
-       double b(int i) {return (0.08664*8.3144*Tc[i]/Pc[i]);}
-	   double b_mix();
-	  double A(int i) {return (a(i)*pressure/pow(8.3144, 2)/pow(temperature, 2));}
-	  double A() {return (a_mix()*pressure/pow(8.3144, 2)/pow(temperature, 2));}
-      double B(int i) {return (b(i)*pressure/8.3144/temperature);}
-	  double B(){return (b_mix()*pressure/8.3144/temperature);}
-	  double Zv(), phiV(int), phiL(int);
-	  double f_omega(int i) {return (0.48 + 1.574*omega[i] - 0.176*pow(omega[i], 2));}
-	  int task;  //0=find P   1=find T   2=find v   3= find K   4=find Zv
-	  secant<thermolib> *solver;
-
-   public:
-      double P();		//retruns pressure at T and v, in atm
-      double T();		//returns temperature at P and v, in K
-      double v();		//returns volume flow at P, T, n(), in m3/s
-	  double K() {Z = Zv(); return phiL(0)/phiV(0);}  //returns the vapor-liquid equilibirum constant
-      double K(int i) {return phiL(i)/phiV(i);}
-      double compres_coeff(){return 1.0;};
-
-
-// affectation :
-  thermolib & operator = ( const thermolib & t );
-
-  thermolib ( int d = 1 ) { dim=d; construct();}
-
-	 void send(double pc, double tc, double w) { Pc[0] = pc*101.325; Tc[0] = tc; omega[0]=w;}
-	 void send(double*, double*, double*, double*);
-	 void set(double p, double t, double v, double n) {pressure=p*101.325; temperature=t; molevolume=0.001*n/v; mole=n;}
-	  double f(double);
-	  int get_dim() {return dim;}
-      ~thermolib();
-	  void reset(int);
-};
-#endif
-
+#ifndef THERMOLIB_H
+#define THERMOLIB_H
+#include "secant.hpp"
+using namespace std;
+
+class thermolib
+{
+   private:
+      bool success;
+	  int dim, i, j;
+      double pressure, temperature, molevolume, mole,*molefrac;
+	  double *Pc, *Tc, *omega, Z, tmp, Tr, Pr;
+       void construct();
+      double a(int i) {return (0.42748*pow(8.8144,2)*pow(Tc[i],2)*pow(1.0+f_omega(i)*(1.0-sqrt(temperature/Tc[i])), 2)/Pc[i]);}
+	  double a_mix();
+       double b(int i) {return (0.08664*8.3144*Tc[i]/Pc[i]);}
+	   double b_mix();
+	  double A(int i) {return (a(i)*pressure/pow(8.3144, 2)/pow(temperature, 2));}
+	  double A() {return (a_mix()*pressure/pow(8.3144, 2)/pow(temperature, 2));}
+      double B(int i) {return (b(i)*pressure/8.3144/temperature);}
+	  double B(){return (b_mix()*pressure/8.3144/temperature);}
+	  double Zv(), phiV(int), phiL(int);
+	  double f_omega(int i) {return (0.48 + 1.574*omega[i] - 0.176*pow(omega[i], 2));}
+	  int task;  //0=find P   1=find T   2=find v   3= find K   4=find Zv
+	  secant<thermolib> *solver;
+
+   public:
+      double P();		//retruns pressure at T and v, in atm
+      double T();		//returns temperature at P and v, in K
+      double v();		//returns volume flow at P, T, n(), in m3/s
+	  double K() {Z = Zv(); return phiL(0)/phiV(0);}  //returns the vapor-liquid equilibirum constant
+      double K(int i) {return phiL(i)/phiV(i);}
+      double compres_coeff(){return 1.0;};
+
+
+// affectation :
+  thermolib & operator = ( const thermolib & t );
+
+  thermolib ( int d = 1 ) { dim=d; construct();}
+
+	 void send(double pc, double tc, double w) { Pc[0] = pc*101.325; Tc[0] = tc; omega[0]=w;}
+	 void send(double*, double*, double*, double*);
+	 void set(double p, double t, double v, double n) {pressure=p*101.325; temperature=t; molevolume=0.001*n/v; mole=n;}
+	  double f(double);
+	  int get_dim() {return dim;}
+      ~thermolib();
+	  void reset(int);
+};
+#endif
+
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/RungeKutta.cpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/RungeKutta.cpp
index dbc37f4..175e64b 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/RungeKutta.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/RungeKutta.cpp
@@ -1,80 +1,80 @@
-#include "RungeKutta.hpp"
-
-#include <iomanip>
-
-using namespace std;
-
-template <class E>
-RungeKutta<E>::RungeKutta(int dim)
-{
-   m = dim;
-   k1 = new double[m];
-   k2 = new double[m];
-   k3 = new double[m];
-   k4 = new double[m];
-   y = new double[m];
-   y_tmp = new double[m];
-}
-
-template <class E>
-RungeKutta<E>::~RungeKutta()
-{
-   delete [] k1;
-   delete [] k2;
-   delete [] k3;
-   delete [] k4;
-   delete [] y;
-   delete [] y_tmp;
-}
-
-template <class E>
-void RungeKutta<E>::set ( E * tmp , double * y0 , double beg , double end )
-{
-  unit=tmp;
-  x0=beg; xn=end;
-  x=x0;
-  h=double(xn-x0)/double(N_INTER);
-  for (i=0;i<m;i++) {y[i]=y0[i];}
-  success=true;
-}
-
-template <class E>
-bool RungeKutta<E>::run() {
-  for(j=0;j<MAX_ITER_RK;j++) {
-    //Avoid going out of x interval
-    if (x+h >xn) {
-      h = xn-x;
-      j = MAX_ITER_RK;
-    }
-
-    //Compute k1, k2, k3, k4
-    for(i=0;i<m;i++)
-      k1[i] = h*unit->f(i, x, y);
-    for(i=0;i<m;i++)
-      y_tmp[i] = y[i]+k1[i]/2.0;
-    for(i=0;i<m;i++)
-      k2[i] = h*unit->f(i, x+h/2.0, y_tmp);
-    for(i=0;i<m;i++)
-      y_tmp[i] = y[i]+k2[i]/2.0;
-    for(i=0;i<m;i++)
-      k3[i] = h*unit->f(i, x+h/2.0, y_tmp);
-    for(i=0;i<m;i++)
-      y_tmp[i] = y[i]+k3[i];
-    for ( i = 0 ; i < m ; i++ )
-      k4[i] = h*unit->f ( i , x+h , y_tmp );
-    //Compute the new y
-    for(i=0;i<m;i++)
-      y[i]+=(k1[i]+2*k2[i]+2*k3[i]+k4[i])/6.0;
-    x += h;
-  }
-
-  if ( x < xn-EPS ) {// MODIF SEB (le EPS)
-    success=false;
-    
-    // cout.setf(ios::fixed);
-    // cout << setprecision(12);
-    // cout << "x=" << x << " < xn=" << xn << " diff=" << xn-x << endl;
-  }
-
-  return success;
-}
+#include "RungeKutta.hpp"
+
+#include <iomanip>
+
+using namespace std;
+
+template <class E>
+RungeKutta<E>::RungeKutta(int dim)
+{
+   m = dim;
+   k1 = new double[m];
+   k2 = new double[m];
+   k3 = new double[m];
+   k4 = new double[m];
+   y = new double[m];
+   y_tmp = new double[m];
+}
+
+template <class E>
+RungeKutta<E>::~RungeKutta()
+{
+   delete [] k1;
+   delete [] k2;
+   delete [] k3;
+   delete [] k4;
+   delete [] y;
+   delete [] y_tmp;
+}
+
+template <class E>
+void RungeKutta<E>::set ( E * tmp , double * y0 , double beg , double end )
+{
+  unit=tmp;
+  x0=beg; xn=end;
+  x=x0;
+  h=double(xn-x0)/double(N_INTER);
+  for (i=0;i<m;i++) {y[i]=y0[i];}
+  success=true;
+}
+
+template <class E>
+bool RungeKutta<E>::run() {
+  for(j=0;j<MAX_ITER_RK;j++) {
+    //Avoid going out of x interval
+    if (x+h >xn) {
+      h = xn-x;
+      j = MAX_ITER_RK;
+    }
+
+    //Compute k1, k2, k3, k4
+    for(i=0;i<m;i++)
+      k1[i] = h*unit->f(i, x, y);
+    for(i=0;i<m;i++)
+      y_tmp[i] = y[i]+k1[i]/2.0;
+    for(i=0;i<m;i++)
+      k2[i] = h*unit->f(i, x+h/2.0, y_tmp);
+    for(i=0;i<m;i++)
+      y_tmp[i] = y[i]+k2[i]/2.0;
+    for(i=0;i<m;i++)
+      k3[i] = h*unit->f(i, x+h/2.0, y_tmp);
+    for(i=0;i<m;i++)
+      y_tmp[i] = y[i]+k3[i];
+    for ( i = 0 ; i < m ; i++ )
+      k4[i] = h*unit->f ( i , x+h , y_tmp );
+    //Compute the new y
+    for(i=0;i<m;i++)
+      y[i]+=(k1[i]+2*k2[i]+2*k3[i]+k4[i])/6.0;
+    x += h;
+  }
+
+  if ( x < xn-EPS ) {// MODIF SEB (le EPS)
+    success=false;
+    
+    // cout.setf(ios::fixed);
+    // cout << setprecision(12);
+    // cout << "x=" << x << " < xn=" << xn << " diff=" << xn-x << endl;
+  }
+
+  return success;
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/RungeKutta.hpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/RungeKutta.hpp
index 2400753..db2b3c2 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/RungeKutta.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/RungeKutta.hpp
@@ -1,37 +1,37 @@
-/*
-To use the Runge-Kutta solver for systems of first order differential equations,
-   (the parametric object E must have public function such as E->f(i,x,y),
-      where i is the index of the function to evaluate, x is the time and
-	  y is a point such as y(x), returns values of differential equation i)
-	  
-   1- construct the solver :    solver = new RungeKutta<objet>(int);   //the integer is the dimension of x
-   2- set the solver :    solver->set(unit, y0, x0, xn);   //unit is usually the pointer *this, y0 are the initial conditions, and x0 and xn is the time interval
-   3- launch the solver : bool = solver->run();   //will return true is success, false if the solver failed????????????????????????????
-   4- delete the solver : delete solver;
-(ref  :Fortin)
-*/
-#ifndef RUNGEKUTTA_H
-#define RUNGEKUTTA_H
-
-#include "defines.hpp"
-using namespace std;
-
-template <class E>
-class RungeKutta
-{
-private:
-  double *k1, *k2, *k3, *k4, *y_tmp, *y;
-  // double k1[MAX_DIM], k2[MAX_DIM], k3[MAX_DIM], k4[MAX_DIM], y_tmp[MAX_DIM], y[MAX_DIM];
-  double h, x0, xn, x;
-  int i, j, m;
-  bool success;
-  E *unit;
-	  
-public:
-  RungeKutta(int);
-  ~RungeKutta();
-  void set(E*, double*, double, double);
-  double dx(){return h;}
-  bool run();
-};
-#endif
+/*
+To use the Runge-Kutta solver for systems of first order differential equations,
+   (the parametric object E must have public function such as E->f(i,x,y),
+      where i is the index of the function to evaluate, x is the time and
+	  y is a point such as y(x), returns values of differential equation i)
+	  
+   1- construct the solver :    solver = new RungeKutta<objet>(int);   //the integer is the dimension of x
+   2- set the solver :    solver->set(unit, y0, x0, xn);   //unit is usually the pointer *this, y0 are the initial conditions, and x0 and xn is the time interval
+   3- launch the solver : bool = solver->run();   //will return true is success, false if the solver failed????????????????????????????
+   4- delete the solver : delete solver;
+(ref  :Fortin)
+*/
+#ifndef RUNGEKUTTA_H
+#define RUNGEKUTTA_H
+
+#include "defines.hpp"
+using namespace std;
+
+template <class E>
+class RungeKutta
+{
+private:
+  double *k1, *k2, *k3, *k4, *y_tmp, *y;
+  // double k1[MAX_DIM], k2[MAX_DIM], k3[MAX_DIM], k4[MAX_DIM], y_tmp[MAX_DIM], y[MAX_DIM];
+  double h, x0, xn, x;
+  int i, j, m;
+  bool success;
+  E *unit;
+	  
+public:
+  RungeKutta(int);
+  ~RungeKutta();
+  void set(E*, double*, double, double);
+  double dx(){return h;}
+  bool run();
+};
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/bb.cpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/bb.cpp
index 4e348d7..151727d 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/bb.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/bb.cpp
@@ -1,361 +1,361 @@
-#include "servor.hpp"
-#include "profitability.hpp"
-using namespace std;
-
-/*------------------------------------------------------------------------*/
-/*                              fonction principale                       */
-/*------------------------------------------------------------------------*/
-int main ( int argc , char ** argv ) {
-
-  double g0  = 1e+20;
-  double g1  = 1e+20;
-  double g2  = 1e+20;
-  double g3  = 1e+20;
-  double g4  = 1e+20;
-  double g5  = 1e+20;
-  double g6  = 1e+20;
-  double g7  = 1e+20;
-  double g8  = 1e+20;
-  double g9  = 1e+20;
-  double g10 = 1e+20;
-  double f   = 1e+20;
-
-  bool        OK;
-  ifstream    in;
-  double      d;
-  int         i;
-  int         i_stream , i_chem;
-  double      x  [8];
-  long double tmp[8];
-  double      raw_cost;
-  double      util_cost;
-  double      Itot;
-  double      Coper;
-  double      Rtot;
-  double      max;
-  double      mtot;
-  double      m;
-  double      purity;
-  int         nb_chem  = 7;
-  int         nb_s     = 15;
-  int         nb_u     = 11;
-  int         n        = 8;
-  double      l    [8] = { 600  , 2  , 0.0001 , 0.0001 , 2  , 0.01 , 0.1 , 300 };
-  double      u    [8] = { 1100 , 20 , 0.1    , 0.1    , 20 , 0.5  , 5   , 500 };
-  double      list [7] = { 0.5 , 0 , 0 , 0 , 0 , 0 , 0 };
-  double      price[7] = { 0 , 0 , 0 , 0 , 0 , 0 , 0 };
-  profitability * P        = NULL;
-  cashflow      * F        = NULL;
-  chemical     ** chem     = NULL;
-  stream       ** s        = NULL;
-  servor        * units    = NULL;
-  string        * safe     = NULL;
-
-  // verif. du nombre d'arguments :
-  if (argc!=2) {
-    // cout << "\nargc != 2\n\n";
-    goto TERMINATE;
-  }
-
-  // lecture et scaling de x :
-  // -------------------------
-  in.open (argv[1]);
-
-  for ( i = 0 ; i < n ; i++ )
-    in >> tmp[i];
-
-  in.close();
-
-  if (in.fail()) {
-    // cout << "\nin.fail (1)\n\n";
-    goto TERMINATE;
-  }
-
-  //for ( i = 0 ; i < n ; i++ )
-  //  cout << "tmp[" << i << "] = " << tmp[i] << endl;
-  // cout << endl;
-
-  for ( i = 0 ; i < n ; i++ )
-    x[i] = (u[i]-l[i])*((double)tmp[i]/100.0) + l[i];
-  
-  //for ( i = 0 ; i < n ; i++ )
-  //  cout << "x[" << i << "] = " << x[i] << endl;
-
-  // verifs de x (j'ai pris ca dans checkup et c'est tout ce dont
-  // ca a besoin de checker ici) :
-  if ( x[6] < EPS || x[2] < 0 || x[2] > 1 || x[3] < 0 || x[3] > 1 )
-    goto TERMINATE;
-
-  // chemicals :
-  // -----------
-  chem    = new chemical * [nb_chem];
-  chem[0] = new chemical ("100-41-4" );
-  chem[1] = new chemical ("1333-74-0");
-  chem[2] = new chemical ("108-88-3" );
-  chem[3] = new chemical ("74-82-8"  );
-  chem[4] = new chemical ("71-43-2"  );
-  chem[5] = new chemical ("74-85-1"  );
-  chem[6] = new chemical ("100-42-5" );
-
-  price[6] = 1.39;
-  price[2] = 0.64;
-  price[0] = 0.11;
-  price[4] = 1.19;
-
-  // streams :
-  // ---------
-  s     = new stream * [nb_s];
-  s[ 0] = new stream ( "feed"    , nb_chem , chem );
-  s[ 1] = new stream ( "2"       , nb_chem , chem );
-  s[ 2] = new stream ( "3"       , nb_chem , chem );
-  s[ 3] = new stream ( "4"       , nb_chem , chem );
-  s[ 4] = new stream ( "5"       , nb_chem , chem );
-  s[ 5] = new stream ( "6"       , nb_chem , chem );
-  s[ 6] = new stream ( "7"       , nb_chem , chem );
-  s[ 7] = new stream ( "8"       , nb_chem , chem );
-  s[ 8] = new stream ( "9"       , nb_chem , chem );
-  s[ 9] = new stream ( "10"      , nb_chem , chem );
-  s[10] = new stream ( "back"    , nb_chem , chem );
-  s[11] = new stream ( "12"      , nb_chem , chem );
-  s[12] = new stream ( "stack"   , nb_chem , chem );
-  s[13] = new stream ( "out-bz"  , nb_chem , chem );
-  s[14] = new stream ( "out-sty" , nb_chem , chem );
-
-  // initial conditions on streams :
-  // -------------------------------
-  s[0]->P = 1.0;
-  s[0]->T = 298;
-  s[0]->set(list);
-
-  // units settings and calculation sequence :
-  // -----------------------------------------
-  units = new servor ( nb_u , nb_s , s );
-  safe  = new string[nb_u];
-
-  units->type[ 0] = "mix";
-  units->name[ 0] = safe[ 0] = "mixfeed";
-  units->type[ 1] = "pump";
-  units->name[ 1] = safe[ 1] = "pump";
-  units->type[ 2] = "heatx";
-  units->name[ 2] = safe[ 2] = "heater";
-  units->type[ 3] = "reactor";
-  units->name[ 3] = safe[ 3] = "pfr";
-  units->type[ 4] = "heatx";
-  units->name[ 4] = safe[ 4] = "cooler";
-  units->type[ 5] = "flash";
-  units->name[ 5] = safe[ 5] = "degasor";
-  units->type[ 6] = "column";
-  units->name[ 6] = safe[ 6] = "sep-sty";
-  units->type[ 7] = "split";
-  units->name[ 7] = safe[ 7] = "spliter";
-  units->type[ 8] = "column";
-  units->name[ 8] = safe[ 8] = "sep-bz";
-  units->type[ 9] = "loop";
-  units->name[ 9] = safe[ 9] = "looping";
-  units->type[10] = "burner";
-  units->name[10] = safe[10] = "fire";
-
-
-  // executing the calculation sequence :
-  //-------------------------------------
-  double y[14];
-  y[7] = y[8] = 1000.0;
-
-  if (!units->solve_process(x,y))
-    goto TERMINATE;
-
-  // on recupere les resultats :
-  // ---------------------------
-  y[6] = s[0]->m;
-  y[3] = s[13]->m;
-  y[2] = s[13]->chem[4]->m;
-  y[1] = s[14]->m;
-  y[0] = s[14]->chem[6]->m;
-
-  y[9 ] = 1e20;
-  y[10] = 1e20;
-  y[11] = units->get_costs_sum() * 6.192;
-  y[12] = 1e20;
-  y[13] = 1e20;
-
-  // arrondis :
-  if (ARRONDI) {
-    y[ 6] = arrondi ( y[ 6] , 4 );
-    y[ 3] = arrondi ( y[ 3] , 4 );
-    y[ 2] = arrondi ( y[ 2] , 4 );
-    y[ 1] = arrondi ( y[ 1] , 4 );
-    y[ 0] = arrondi ( y[ 0] , 4 );
-    y[11] = arrondi ( y[11] , 6 );
-  }
-
-  g0 = ( y[0] > 0 && y[0] < 1e+20 ) ? 0.0 : 1e20;
-  g1 = ( y[4] <= 80 ) ? 0.0 : 1.0;
-  g2 = ( y[5] <= 80 ) ? 0.0 : 1.0;
-  g3 = ( y[7] <= 200 && y[8] <= 8 ) ? 0.0 : 1.0;
-  g4 = ( y[1] > 0 && y[1] < 1e20 ) ? (0.99-y[0]/y[1])/0.99 : 1e20;
-  g5 = ( y[3] > 0 && y[3] < 1e20 ) ? (0.99-y[2]/y[3])/0.99 : 1e20;
-  g6 = ( y[6] > 0 && y[6] < 1e20 ) ? (0.6-y[0]/y[6])/0.6 : 1e20;
-
-
-  // bloc econo :
-  // ------------
-
-  // raw_cost :
-  raw_cost = 0.0;
-  if ( s[0]->m > EPS ) {
-    if ( s[0]->chem[6]->m > EPS ) {
-      d = (ARRONDI) ? arrondi ( s[0]->chem[6]->m , 4 ) : s[0]->chem[6]->m;
-      raw_cost += d * 1.39;
-    }
-    if ( s[0]->chem[2]->m > EPS ) {
-      d = (ARRONDI) ? arrondi ( s[0]->chem[2]->m , 4 ) : s[0]->chem[2]->m;
-      raw_cost += d * 0.64;
-    }
-    if ( s[0]->chem[0]->m > EPS ) {
-      d = (ARRONDI) ? arrondi ( s[0]->chem[0]->m , 4 ) : s[0]->chem[0]->m;
-      raw_cost += d * 0.11;
-    }
-    if ( s[0]->chem[4]->m > EPS ) {
-      d = (ARRONDI) ? arrondi ( s[0]->chem[4]->m , 4 ) : s[0]->chem[4]->m;
-      raw_cost += d * 1.19;
-    }
-  }
-  // raw_cost = raw_cost*3600.0*nb_h*nb_d :
-  raw_cost *= 25920000;
-
-  // util_cost :
-  util_cost = (units->get_power_sum() * 0.000125 + units->get_water_sum() * 0.00008) * 25920000;
-
-  // Coper :
-  Itot  = y[11];
-  Coper = 0.16 * Itot + 2.26 * raw_cost + util_cost;
-
-
-  // Rtot :
-  Rtot = 0.0;
-  for ( i_stream = 13 ; i_stream < 15 ; i_stream++ ) {
-    i_chem = 0;
-    max    = 0.0;
-    mtot   = 0.0;
-    for ( i = 0 ; i < nb_chem ; i++ ) {
-      m = (ARRONDI) ? arrondi ( s[i_stream]->chem[i]->m , 4 ) : s[i_stream]->chem[i]->m;
-	
-      if ( m > EPS ) {
-	mtot += m;
-	if ( m > max ) {
-	  max    = m;
-	  i_chem = i;
-	}
-      }
-    }
-    if (mtot > EPS ) {
-      purity = max/mtot;
-      d = price[i_chem] * max;
-      if ( purity < 0.5 )
-	d = 0.0;
-      else if ( purity < 0.6 )
-	d *= 0.05;
-      else if ( purity < 0.7 )
-	d *= 0.1;
-      else if ( purity < 0.8 )
-	d *= 0.15;
-      else if ( purity < 0.9 )
-	d *= 0.3;
-      else if ( purity < 0.95 )
-	d *= 0.5;
-      else if ( purity < 0.98 )
-	d *= 0.6;
-      else if ( purity < 0.99 )
-	d *= 0.8;
-      else if ( purity > 0.995 )
-	d *= 1.1;
-      Rtot += d*25920000;
-    }
-  }
-  
-  // cash flows :
-  F = new cashflow(15);
-  F->set_rates(0.1,0.4);
-  F->set_basics(Itot, Coper, Rtot);
-  OK = F->run();
-
-  // calculating profitability indicators :
-  if(OK) {
-    P = new profitability(F);
-    OK = P->run(y);
-    delete P;
-  }
-
-  delete F;
-
-  // arrondis :
-  if (ARRONDI) {
-    y[12] = round(y[12]);
-    y[13] = round(y[13]);
-    y[ 9] = round(y[ 9]*10)/10.0;
-    y[10] = round(y[10]*10)/10.0;
-  }
-
-  g7  = ( y[ 9] < 1e20 ) ? ( y[9] - 4.0 ) / 4.0 : 1e20;
-  g8  = ( y[10] < 1e20 ) ? (0.2-y[10])/0.2 : 1e20;
-  g9  = ( y[11] < 1e20 ) ? (y[11]-10e6)/10e6 : 1e20;
-  g10 = ( y[12] > 0 && y[12] < 1e20 ) ? (y[12]-15e6) / 15e6 : 1e20;
-
-  f   = ( y[13] > 0 && y[13] < 1e20 ) ? -y[13] : 1e20;
-
-//   cout << setprecision(10);
-//   cout << "\n\n";
-//   for ( int i = 0 ; i < 14 ; i++ )
-//     cout << "y[" << i << "] = " << y[i] << endl;
-
-
-  // menage et affichage du resultat de la boite noire :
- TERMINATE:
-  
-  //   cout << "\n\n";
-  //   cout << " g0 = " << g0  << endl
-  //        << " g1 = " << g1  << endl
-  //        << " g2 = " << g2  << endl
-  //        << " g3 = " << g3  << endl
-  //        << " g4 = " << g4  << endl
-  //        << " g5 = " << g5  << endl
-  //        << " g6 = " << g6  << endl
-  //        << " g7 = " << g7  << endl
-  //        << " g8 = " << g8  << endl
-  //        << " g9 = " << g9  << endl
-  //        << "g10 = " << g10 << endl
-  //        << "  f = " << f   << endl;
-
-
-  cout << g0  << " "
-       << g1  << " "
-       << g2  << " "
-       << g3  << " "
-       << g4  << " "
-       << g5  << " "
-       << g6  << " "
-       << g7  << " "
-       << g8  << " "
-       << g9  << " "
-       << g10 << " "
-       << f   << endl;
-
-  if (units)
-    delete units;
-  if (safe)
-    delete [] safe;
-
-  if (chem) {
-    for ( i = 0 ; i < nb_chem ; i++ )
-      delete chem[i];
-    delete [] chem;
-  }
-
-  if (s) {
-    for ( i = 0 ; i < nb_s ; i++ )
-      delete s[i];
-    delete [] s;
-  }
-
-  return 0;
-}
+#include "servor.hpp"
+#include "profitability.hpp"
+using namespace std;
+
+/*------------------------------------------------------------------------*/
+/*                              fonction principale                       */
+/*------------------------------------------------------------------------*/
+int main ( int argc , char ** argv ) {
+
+  double g0  = 1e+20;
+  double g1  = 1e+20;
+  double g2  = 1e+20;
+  double g3  = 1e+20;
+  double g4  = 1e+20;
+  double g5  = 1e+20;
+  double g6  = 1e+20;
+  double g7  = 1e+20;
+  double g8  = 1e+20;
+  double g9  = 1e+20;
+  double g10 = 1e+20;
+  double f   = 1e+20;
+
+  bool        OK;
+  ifstream    in;
+  double      d;
+  int         i;
+  int         i_stream , i_chem;
+  double      x  [8];
+  long double tmp[8];
+  double      raw_cost;
+  double      util_cost;
+  double      Itot;
+  double      Coper;
+  double      Rtot;
+  double      max;
+  double      mtot;
+  double      m;
+  double      purity;
+  int         nb_chem  = 7;
+  int         nb_s     = 15;
+  int         nb_u     = 11;
+  int         n        = 8;
+  double      l    [8] = { 600  , 2  , 0.0001 , 0.0001 , 2  , 0.01 , 0.1 , 300 };
+  double      u    [8] = { 1100 , 20 , 0.1    , 0.1    , 20 , 0.5  , 5   , 500 };
+  double      list [7] = { 0.5 , 0 , 0 , 0 , 0 , 0 , 0 };
+  double      price[7] = { 0 , 0 , 0 , 0 , 0 , 0 , 0 };
+  profitability * P        = NULL;
+  cashflow      * F        = NULL;
+  chemical     ** chem     = NULL;
+  stream       ** s        = NULL;
+  servor        * units    = NULL;
+  string        * safe     = NULL;
+
+  // verif. du nombre d'arguments :
+  if (argc!=2) {
+    // cout << "\nargc != 2\n\n";
+    goto TERMINATE;
+  }
+
+  // lecture et scaling de x :
+  // -------------------------
+  in.open (argv[1]);
+
+  for ( i = 0 ; i < n ; i++ )
+    in >> tmp[i];
+
+  in.close();
+
+  if (in.fail()) {
+    // cout << "\nin.fail (1)\n\n";
+    goto TERMINATE;
+  }
+
+  //for ( i = 0 ; i < n ; i++ )
+  //  cout << "tmp[" << i << "] = " << tmp[i] << endl;
+  // cout << endl;
+
+  for ( i = 0 ; i < n ; i++ )
+    x[i] = (u[i]-l[i])*((double)tmp[i]/100.0) + l[i];
+  
+  //for ( i = 0 ; i < n ; i++ )
+  //  cout << "x[" << i << "] = " << x[i] << endl;
+
+  // verifs de x (j'ai pris ca dans checkup et c'est tout ce dont
+  // ca a besoin de checker ici) :
+  if ( x[6] < EPS || x[2] < 0 || x[2] > 1 || x[3] < 0 || x[3] > 1 )
+    goto TERMINATE;
+
+  // chemicals :
+  // -----------
+  chem    = new chemical * [nb_chem];
+  chem[0] = new chemical ("100-41-4" );
+  chem[1] = new chemical ("1333-74-0");
+  chem[2] = new chemical ("108-88-3" );
+  chem[3] = new chemical ("74-82-8"  );
+  chem[4] = new chemical ("71-43-2"  );
+  chem[5] = new chemical ("74-85-1"  );
+  chem[6] = new chemical ("100-42-5" );
+
+  price[6] = 1.39;
+  price[2] = 0.64;
+  price[0] = 0.11;
+  price[4] = 1.19;
+
+  // streams :
+  // ---------
+  s     = new stream * [nb_s];
+  s[ 0] = new stream ( "feed"    , nb_chem , chem );
+  s[ 1] = new stream ( "2"       , nb_chem , chem );
+  s[ 2] = new stream ( "3"       , nb_chem , chem );
+  s[ 3] = new stream ( "4"       , nb_chem , chem );
+  s[ 4] = new stream ( "5"       , nb_chem , chem );
+  s[ 5] = new stream ( "6"       , nb_chem , chem );
+  s[ 6] = new stream ( "7"       , nb_chem , chem );
+  s[ 7] = new stream ( "8"       , nb_chem , chem );
+  s[ 8] = new stream ( "9"       , nb_chem , chem );
+  s[ 9] = new stream ( "10"      , nb_chem , chem );
+  s[10] = new stream ( "back"    , nb_chem , chem );
+  s[11] = new stream ( "12"      , nb_chem , chem );
+  s[12] = new stream ( "stack"   , nb_chem , chem );
+  s[13] = new stream ( "out-bz"  , nb_chem , chem );
+  s[14] = new stream ( "out-sty" , nb_chem , chem );
+
+  // initial conditions on streams :
+  // -------------------------------
+  s[0]->P = 1.0;
+  s[0]->T = 298;
+  s[0]->set(list);
+
+  // units settings and calculation sequence :
+  // -----------------------------------------
+  units = new servor ( nb_u , nb_s , s );
+  safe  = new string[nb_u];
+
+  units->type[ 0] = "mix";
+  units->name[ 0] = safe[ 0] = "mixfeed";
+  units->type[ 1] = "pump";
+  units->name[ 1] = safe[ 1] = "pump";
+  units->type[ 2] = "heatx";
+  units->name[ 2] = safe[ 2] = "heater";
+  units->type[ 3] = "reactor";
+  units->name[ 3] = safe[ 3] = "pfr";
+  units->type[ 4] = "heatx";
+  units->name[ 4] = safe[ 4] = "cooler";
+  units->type[ 5] = "flash";
+  units->name[ 5] = safe[ 5] = "degasor";
+  units->type[ 6] = "column";
+  units->name[ 6] = safe[ 6] = "sep-sty";
+  units->type[ 7] = "split";
+  units->name[ 7] = safe[ 7] = "spliter";
+  units->type[ 8] = "column";
+  units->name[ 8] = safe[ 8] = "sep-bz";
+  units->type[ 9] = "loop";
+  units->name[ 9] = safe[ 9] = "looping";
+  units->type[10] = "burner";
+  units->name[10] = safe[10] = "fire";
+
+
+  // executing the calculation sequence :
+  //-------------------------------------
+  double y[14];
+  y[7] = y[8] = 1000.0;
+
+  if (!units->solve_process(x,y))
+    goto TERMINATE;
+
+  // on recupere les resultats :
+  // ---------------------------
+  y[6] = s[0]->m;
+  y[3] = s[13]->m;
+  y[2] = s[13]->chem[4]->m;
+  y[1] = s[14]->m;
+  y[0] = s[14]->chem[6]->m;
+
+  y[9 ] = 1e20;
+  y[10] = 1e20;
+  y[11] = units->get_costs_sum() * 6.192;
+  y[12] = 1e20;
+  y[13] = 1e20;
+
+  // arrondis :
+  if (ARRONDI) {
+    y[ 6] = arrondi ( y[ 6] , 4 );
+    y[ 3] = arrondi ( y[ 3] , 4 );
+    y[ 2] = arrondi ( y[ 2] , 4 );
+    y[ 1] = arrondi ( y[ 1] , 4 );
+    y[ 0] = arrondi ( y[ 0] , 4 );
+    y[11] = arrondi ( y[11] , 6 );
+  }
+
+  g0 = ( y[0] > 0 && y[0] < 1e+20 ) ? 0.0 : 1e20;
+  g1 = ( y[4] <= 80 ) ? 0.0 : 1.0;
+  g2 = ( y[5] <= 80 ) ? 0.0 : 1.0;
+  g3 = ( y[7] <= 200 && y[8] <= 8 ) ? 0.0 : 1.0;
+  g4 = ( y[1] > 0 && y[1] < 1e20 ) ? (0.99-y[0]/y[1])/0.99 : 1e20;
+  g5 = ( y[3] > 0 && y[3] < 1e20 ) ? (0.99-y[2]/y[3])/0.99 : 1e20;
+  g6 = ( y[6] > 0 && y[6] < 1e20 ) ? (0.6-y[0]/y[6])/0.6 : 1e20;
+
+
+  // bloc econo :
+  // ------------
+
+  // raw_cost :
+  raw_cost = 0.0;
+  if ( s[0]->m > EPS ) {
+    if ( s[0]->chem[6]->m > EPS ) {
+      d = (ARRONDI) ? arrondi ( s[0]->chem[6]->m , 4 ) : s[0]->chem[6]->m;
+      raw_cost += d * 1.39;
+    }
+    if ( s[0]->chem[2]->m > EPS ) {
+      d = (ARRONDI) ? arrondi ( s[0]->chem[2]->m , 4 ) : s[0]->chem[2]->m;
+      raw_cost += d * 0.64;
+    }
+    if ( s[0]->chem[0]->m > EPS ) {
+      d = (ARRONDI) ? arrondi ( s[0]->chem[0]->m , 4 ) : s[0]->chem[0]->m;
+      raw_cost += d * 0.11;
+    }
+    if ( s[0]->chem[4]->m > EPS ) {
+      d = (ARRONDI) ? arrondi ( s[0]->chem[4]->m , 4 ) : s[0]->chem[4]->m;
+      raw_cost += d * 1.19;
+    }
+  }
+  // raw_cost = raw_cost*3600.0*nb_h*nb_d :
+  raw_cost *= 25920000;
+
+  // util_cost :
+  util_cost = (units->get_power_sum() * 0.000125 + units->get_water_sum() * 0.00008) * 25920000;
+
+  // Coper :
+  Itot  = y[11];
+  Coper = 0.16 * Itot + 2.26 * raw_cost + util_cost;
+
+
+  // Rtot :
+  Rtot = 0.0;
+  for ( i_stream = 13 ; i_stream < 15 ; i_stream++ ) {
+    i_chem = 0;
+    max    = 0.0;
+    mtot   = 0.0;
+    for ( i = 0 ; i < nb_chem ; i++ ) {
+      m = (ARRONDI) ? arrondi ( s[i_stream]->chem[i]->m , 4 ) : s[i_stream]->chem[i]->m;
+	
+      if ( m > EPS ) {
+	mtot += m;
+	if ( m > max ) {
+	  max    = m;
+	  i_chem = i;
+	}
+      }
+    }
+    if (mtot > EPS ) {
+      purity = max/mtot;
+      d = price[i_chem] * max;
+      if ( purity < 0.5 )
+	d = 0.0;
+      else if ( purity < 0.6 )
+	d *= 0.05;
+      else if ( purity < 0.7 )
+	d *= 0.1;
+      else if ( purity < 0.8 )
+	d *= 0.15;
+      else if ( purity < 0.9 )
+	d *= 0.3;
+      else if ( purity < 0.95 )
+	d *= 0.5;
+      else if ( purity < 0.98 )
+	d *= 0.6;
+      else if ( purity < 0.99 )
+	d *= 0.8;
+      else if ( purity > 0.995 )
+	d *= 1.1;
+      Rtot += d*25920000;
+    }
+  }
+  
+  // cash flows :
+  F = new cashflow(15);
+  F->set_rates(0.1,0.4);
+  F->set_basics(Itot, Coper, Rtot);
+  OK = F->run();
+
+  // calculating profitability indicators :
+  if(OK) {
+    P = new profitability(F);
+    OK = P->run(y);
+    delete P;
+  }
+
+  delete F;
+
+  // arrondis :
+  if (ARRONDI) {
+    y[12] = round(y[12]);
+    y[13] = round(y[13]);
+    y[ 9] = round(y[ 9]*10)/10.0;
+    y[10] = round(y[10]*10)/10.0;
+  }
+
+  g7  = ( y[ 9] < 1e20 ) ? ( y[9] - 4.0 ) / 4.0 : 1e20;
+  g8  = ( y[10] < 1e20 ) ? (0.2-y[10])/0.2 : 1e20;
+  g9  = ( y[11] < 1e20 ) ? (y[11]-10e6)/10e6 : 1e20;
+  g10 = ( y[12] > 0 && y[12] < 1e20 ) ? (y[12]-15e6) / 15e6 : 1e20;
+
+  f   = ( y[13] > 0 && y[13] < 1e20 ) ? -y[13] : 1e20;
+
+//   cout << setprecision(10);
+//   cout << "\n\n";
+//   for ( int i = 0 ; i < 14 ; i++ )
+//     cout << "y[" << i << "] = " << y[i] << endl;
+
+
+  // menage et affichage du resultat de la boite noire :
+ TERMINATE:
+  
+  //   cout << "\n\n";
+  //   cout << " g0 = " << g0  << endl
+  //        << " g1 = " << g1  << endl
+  //        << " g2 = " << g2  << endl
+  //        << " g3 = " << g3  << endl
+  //        << " g4 = " << g4  << endl
+  //        << " g5 = " << g5  << endl
+  //        << " g6 = " << g6  << endl
+  //        << " g7 = " << g7  << endl
+  //        << " g8 = " << g8  << endl
+  //        << " g9 = " << g9  << endl
+  //        << "g10 = " << g10 << endl
+  //        << "  f = " << f   << endl;
+
+
+  cout << g0  << " "
+       << g1  << " "
+       << g2  << " "
+       << g3  << " "
+       << g4  << " "
+       << g5  << " "
+       << g6  << " "
+       << g7  << " "
+       << g8  << " "
+       << g9  << " "
+       << g10 << " "
+       << f   << endl;
+
+  if (units)
+    delete units;
+  if (safe)
+    delete [] safe;
+
+  if (chem) {
+    for ( i = 0 ; i < nb_chem ; i++ )
+      delete chem[i];
+    delete [] chem;
+  }
+
+  if (s) {
+    for ( i = 0 ; i < nb_s ; i++ )
+      delete s[i];
+    delete [] s;
+  }
+
+  return 0;
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/bissection.cpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/bissection.cpp
index d23a939..60e3d38 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/bissection.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/bissection.cpp
@@ -1,27 +1,27 @@
-#include "bissection.hpp"
-using namespace std;
-
-template <class E>
-bool bissection<E>::run()
-{
-   for (i=1; i<MAX_ITER_BISSECTION; i++)
-   {
-      xm=(x1+x2)/2;
-      // if(DEBUG) cout<<endl<<x1<<"  "<<xm<<"  "<<x2;
-      if (fabs(x1-x2)/fabs(xm) < TOL_BISSECTION)
-      {
-         i=MAX_ITER_BISSECTION;
-         OK=true;
-      }
-      else
-      {
-         f1 = unit->f(x1);
-         fm = unit->f(xm);
-         f2 = unit->f(x2);
-         if (f1*fm < 0.0) x2 = xm;
-         if (fm*f2 < 0.0) x1 = xm;
-      }
-   }
-   // if (DEBUG) system("pause");
-   return OK;
-}
+#include "bissection.hpp"
+using namespace std;
+
+template <class E>
+bool bissection<E>::run()
+{
+   for (i=1; i<MAX_ITER_BISSECTION; i++)
+   {
+      xm=(x1+x2)/2;
+      // if(DEBUG) cout<<endl<<x1<<"  "<<xm<<"  "<<x2;
+      if (fabs(x1-x2)/fabs(xm) < TOL_BISSECTION)
+      {
+         i=MAX_ITER_BISSECTION;
+         OK=true;
+      }
+      else
+      {
+         f1 = unit->f(x1);
+         fm = unit->f(xm);
+         f2 = unit->f(x2);
+         if (f1*fm < 0.0) x2 = xm;
+         if (fm*f2 < 0.0) x1 = xm;
+      }
+   }
+   // if (DEBUG) system("pause");
+   return OK;
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/bissection.hpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/bissection.hpp
index 18d4ee6..c277e29 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/bissection.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/bissection.hpp
@@ -1,31 +1,31 @@
-/*
-To use the bissection solver to find the root of a scalar function
-when the secant solver fails.
-   (the parametric object E must have public function such as E->f(x),
-      where x is the point at which evaluate f.)
-   1- construct the solver :    solver = new bissect<E>();   
-   2- set the solver :    solver->set(unit, x0, x1);   //unit is usually the pointer *this, and x0 and x1 are the interval's bounds
-   3- launch the solver : bool = solver->run();   //will return true is success, false if the solver failed
-*/
-#ifndef BISSECTION_H
-#define BISSECTION_H
-
-#include "defines.hpp"
-using namespace std;
-
-template <class E>
-class bissection {
-private:
-  double x1, xm, x2;
-  double f1, fm, f2;
-  int i;
-  bool OK;
-  E *unit;
-	  
-public:
-  bissection(){x1=xm=x2=f1=fm=f2=0; OK=false;}
-  void set(E* tmp, double xx1, double xx2) {unit=tmp; x1=xx1; x2=xx2;}
-  bool run();
-  ~bissection(){}
-};
-#endif
+/*
+To use the bissection solver to find the root of a scalar function
+when the secant solver fails.
+   (the parametric object E must have public function such as E->f(x),
+      where x is the point at which evaluate f.)
+   1- construct the solver :    solver = new bissect<E>();   
+   2- set the solver :    solver->set(unit, x0, x1);   //unit is usually the pointer *this, and x0 and x1 are the interval's bounds
+   3- launch the solver : bool = solver->run();   //will return true is success, false if the solver failed
+*/
+#ifndef BISSECTION_H
+#define BISSECTION_H
+
+#include "defines.hpp"
+using namespace std;
+
+template <class E>
+class bissection {
+private:
+  double x1, xm, x2;
+  double f1, fm, f2;
+  int i;
+  bool OK;
+  E *unit;
+	  
+public:
+  bissection(){x1=xm=x2=f1=fm=f2=0; OK=false;}
+  void set(E* tmp, double xx1, double xx2) {unit=tmp; x1=xx1; x2=xx2;}
+  bool run();
+  ~bissection(){}
+};
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/burner.cpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/burner.cpp
index 1b6f36b..eb8a223 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/burner.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/burner.cpp
@@ -1,287 +1,287 @@
-#include "burner.hpp"
-using namespace std;
-
-/*----------------------------------------------------------*/
-/*  arrondi pour ne conserver que n chiffres significatifs  */
-/*----------------------------------------------------------*/
-double arrondi ( double x , int n ) {
-  if (fabs(x) < EPS)
-    return 0.0;
-  double m = pow ( 10 , ceil(-log10(x)) + n - 1 );
-  return round(m*x)/m;
-}
-
-/*---------------------------------------------------------------*/
-burner::burner ( int nb , chemical ** chem ) {
-
-  rem_nb = nb;
-
-  NO=NO2=N2O=CO=0.0;
-  m = new double[nb];
-  can_burn = new bool[nb];
-
-  // combustion.prop :
-  // -----------------
-  // 64-17-5 3 2 3
-  // 74-82-8 2 1 2
-  // 1333-74-0 0.5 0 1
-  // 100-42-5 10 8 4
-  // 74-85-1 3 2 2
-  // 108-88-3 9 7 4
-  // 100-41-4 10.5 8 5
-  // 71-43-2 7.5 6 3
-
-  for ( i = 0 ; i < nb ; i++ ) {
-
-    can_burn[i] = false;
-
-    if ( chem[i]->CAS == "64-17-5"   ||
-	 chem[i]->CAS == "74-82-8"   ||
-	 chem[i]->CAS == "1333-74-0" ||
-	 chem[i]->CAS == "100-42-5"  ||
-	 chem[i]->CAS == "74-85-1"   ||
-	 chem[i]->CAS == "108-88-3"  ||
-	 chem[i]->CAS == "100-41-4"  ||
-	 chem[i]->CAS == "71-43-2" )
-      can_burn[i] = true;
-  }
-
-  O2  = new chemical ("7782-44-7");
-  N2  = new chemical ("7727-37-9");
-  CO2 = new chemical ("124-38-9");
-  H2O = new chemical ("7732-18-5");
-
-  // Construct the rx array;
-  rx = new combrx * [nb];
-  for ( i = 0 ; i < nb ; i++ ) {
-    if ( can_burn[i] )
-      rx[i] = new combrx ( chem[i]->CAS );
-    else
-      rx[i] = NULL;
-  }
-}
-
-/*---------------------------------------------------------------*/
-burner::~burner ( void ) {
-
-  delete [] m;
-  delete [] can_burn;
-
-  for ( i = 0 ; i < rem_nb ; i++ )
-    if (rx[i])
-      delete rx[i];
-  delete [] rx;
-  
-  delete O2;
-  delete N2;
-  delete CO2;
-  delete H2O;
-}
-
-/*---------------------------------------------------------------*/
-bool burner::solve(double * y)
-{
-   OK=true;
-   //perform mass balance (neglect pollutants flows)
-   out->m = 0.0;
-   for(i=0;i<in->nb;i++)
-   {
-     if (!can_burn[i]) {
-       out->chem[i]->m = in->chem[i]->m;
-       out->m+=out->chem[i]->m;
-     }
-     else {
-       out->chem[i]->m=0.0;
-       O2->m+=rx[i]->O2_flow()*in->chem[i]->n();
-       N2->m+=rx[i]->N2_flow()*in->chem[i]->n();
-       CO2->m+=rx[i]->CO2_flow()*in->chem[i]->n();
-       H2O->m+=rx[i]->H2O_flow()*in->chem[i]->n();
-     }
-   }
-   N2->m*=(1.0+eta);
-   O2->m*=(1.0+eta);
-   //perform energy balance to find Tout
-   T = in->T;
-
-   step=10;
-   Q=1;
-   // find temperature
-   while (fabs(step)>TOL_BURN && fabs(Q)>TOL_BURN && T<MAX_TEMP)
-   {
-      T+=step;
-
-      if(T>MAX_TEMP)
-	T=MAX_TEMP;
-      Q = 0.0;
-      for ( i = 0 ; i < in->nb ; i++ )
-	Q += in->chem[i]->dH ( in->T , T , in->P ) * in->chem[i]->n();
-
-      for ( i = 0 ; i < in->nb ; i++ )
-	if ( can_burn[i] )
-	  Q += rx[i]->Hcomb(T) * in->chem[i]->n();
-
-      Q += O2->dH ( 293 , T , in->P ) * O2->n();
-      Q += N2->dH ( 293 , T , in->P ) * N2->n();
-
-
-      if (step/fabs(step)*Q >0)
-	step*= -0.1;
-      else if (fabs(Q)<10)
-	step*=0.25;
-
-   }
-
-
-
-   out->set_thermo(in->thermo);
-   // out->thermo = in->thermo;
-
-   out->set(in->P, T);
-   O2->P=in->P; O2->T=T; O2->state=1; O2->find_v();
-   N2->P=in->P; N2->T=T; N2->state=1; N2->find_v();
-   CO2->P=in->P; CO2->T=T; CO2->state=1; CO2->find_v();
-   H2O->P=in->P; H2O->T=T; H2O->state=1; H2O->find_v();
-   //check if mixture can burn
-   m_can_burn = 0.0;
-   for(i=0;i<in->nb;i++) if(can_burn[i]) m_can_burn+=in->chem[i]->n();
-   LFLmix=0.0;
-   for(i=0;i<in->nb;i++) if(can_burn[i]) LFLmix+=in->chem[i]->n()/m_can_burn*rx[i]->LFL(in->P,T);
-   UFLmix=0.0;
-   for(i=0;i<in->nb;i++) if(can_burn[i]) UFLmix+=in->chem[i]->n()/m_can_burn*rx[i]->UFL(in->P,T);
-   num = 0.0;
-   buff=in->T; in->set(in->P, T);
-   for(i=0;i<in->nb;i++) if(can_burn[i]) num+=in->chem[i]->n()/in->n()*in->v;
-   in->set(in->P, buff);
-   den = O2->v+N2->v+out->v;
-   composition = num/den;
-   if(!(LFLmix<=composition && composition<=UFLmix) || T==MAX_TEMP)
-   {
-//       logf.open(MESSAGES,ios::app);
-//       logf<<"   --> Warning <--  Mixture in "<<name<<" can't burn (LFL="<<LFLmix
-//           <<" UFL="<<UFLmix<<" x="<<composition<<").\n";
-//       logf.close();
-      T=in->T;
-      filename = out->name;
-      *out=*in;
-      out->set(filename);
-      // out->write();  // WRITE TOTO
-      OK=false;
-   }
-   else
-   {
-      O2->P=in->P; O2->T=T; O2->state=1; O2->find_v();
-      N2->P=in->P; N2->T=T; N2->state=1; N2->find_v();
-      // out->write(); // WRITE TOTO
-   }
-   if(OK) //compute the pollutants production
-   {
-      fill_K_array();
-      NO = 1e6*sqrt(K[0]*(N2->n()/den)*(O2->n()/den))*den*0.03/(O2->m+N2->m+out->m+H2O->m+CO2->m);
-      N2O = 1e6*K[1]*(N2->n()/den)*sqrt(O2->n()/den)*den*0.044/(O2->m+N2->m+out->m+H2O->m+CO2->m);
-      NO2 = 1e6*K[2]*sqrt(N2->n()/den)*(O2->n()/den)*den*0.046/(O2->m+N2->m+out->m+H2O->m+CO2->m);
-      CO = 1e6*K[3]*(CO2->n()/den)*den/sqrt(O2->n()/den)*0.028/(O2->m+N2->m+out->m+H2O->m+CO2->m);
-   }
-//    logf.open(MESSAGES,ios::app);
-   if (NO>EPS && NO2>EPS && N2O>EPS) {
-     // logf<<"   --> Warning <-- Presence of NOx: "<<(NO+NO2+N2O)<<" ppm in "<<name<<".\n";
-     y[7] = NO+NO2+N2O;
-
-     if (ARRONDI)
-       y[7] = arrondi ( y[7] , 6 );
-
-   }
-   if (CO>EPS) {
-     // logf<<"   --> Warning <-- Presence of CO: "<<CO<<" ppm in "<<name<<".\n";
-     y[8] = CO;
-     if (ARRONDI)
-       y[8] = arrondi ( y[8] , 6 );
-
-   }
-//    logf.close();
-   return OK;
-}
-
-void burner::fill_K_array()
-{
-  a[0]=1.0; a[1]=1.0; a[2]=0.5; a[3]=1.0;
-  b[0]=1.0; b[1]=0.5; b[2]=1.0; b[3]=-0.5;
-  c[0]=2.0; c[1]=1.0; c[2]=1.0; c[3]=1.0;
-  K[0] = exp(-120.27*(173.38-T*0.012)/T);
-  K[1] = exp(-120.27*(103.64+T*0.074)/T);
-  K[2] = exp(-120.27*(51.96+T*0.061)/T);
-  K[3] = exp(-120.27*(283.84-T*0.087)/T);
-  for(i=0;i<4;i++)
-    K[i]*=pow(1000, c[i]-a[i]-b[i]);
-}
-
-void burner::write() {
-
-  cout << setprecision(6);
-
-  cout << "WRITE FILE " << RUNTIME << name << ".unit" << " :\n\tBEGIN\n";
-  cout << "\t>>         " << name;
-  cout << endl << "\t>>           stream in : " << in->name;
-  cout << endl << "\t>>           streams out : " << out->name;
-  cout << endl << "\t>>           P = " << in->P << " atm,  T(in) = " << in->T
-       << "   T(out) = " << T << " K";
-  O2->P = 1;
-  O2->T = 293;
-  O2->state = 1;
-  O2->find_v();
-  N2->P=1;
-  N2->T=293;
-  N2->state=1;
-  N2->find_v();
-  cout << endl << "\t>>           Required air flow = "
-       << (O2->m+N2->m) << " kg/s  (" << (O2->v+N2->v) << " m3/s)";
-  O2->P=in->P;
-  O2->T=T;
-  O2->state=1;
-  O2->find_v();
-  N2->P=in->P;
-  N2->T=T;
-  N2->state=1;
-  N2->find_v();
-  step=(eta*O2->v/(1+eta)+N2->v+H2O->v+CO2->v+out->v);
-  cout << endl << "\t>>           Total flue gases  = "
-       << (out->m+CO2->m+H2O->m+N2->m+eta*O2->m/(1+eta))
-       <<" kg/s  (" << step << " m3/s)";
-  cout << "\n\tEND\n\n";
-  cost();
-}
-
-
-double burner::get_cost ( void ) {
-
-
-  O2->P = 1;
-  O2->T = 293;
-  O2->state = 1;
-  O2->find_v();
-  N2->P=1;
-  N2->T=293;
-  N2->state=1;
-  N2->find_v();
-  O2->P=in->P;
-  O2->T=T;
-  O2->state=1;
-  O2->find_v();
-  N2->P=in->P;
-  N2->T=T;
-  N2->state=1;
-  N2->find_v();
-  step=(eta*O2->v/(1+eta)+N2->v+H2O->v+CO2->v+out->v);
-
-  buff = 3.1761-0.1373*log10(step) + 0.3414*pow(log10(step),2);
-  buff = 2.7*pow(10, buff);
-  buff = buff*MS_YEAR/MS_2001;
-
-  return buff;
-}
-
-
-void burner::cost ( void ) {
-  cout << "WRITE FILE " << RUNTIME << name << ".cost" << " :\n\tBEGIN\n";
-  cout << "\t>>" << get_cost();
-  cout << "\n\tEND\n\n";
-}
+#include "burner.hpp"
+using namespace std;
+
+/*----------------------------------------------------------*/
+/*  arrondi pour ne conserver que n chiffres significatifs  */
+/*----------------------------------------------------------*/
+double arrondi ( double x , int n ) {
+  if (fabs(x) < EPS)
+    return 0.0;
+  double m = pow ( 10 , ceil(-log10(x)) + n - 1 );
+  return round(m*x)/m;
+}
+
+/*---------------------------------------------------------------*/
+burner::burner ( int nb , chemical ** chem ) {
+
+  rem_nb = nb;
+
+  NO=NO2=N2O=CO=0.0;
+  m = new double[nb];
+  can_burn = new bool[nb];
+
+  // combustion.prop :
+  // -----------------
+  // 64-17-5 3 2 3
+  // 74-82-8 2 1 2
+  // 1333-74-0 0.5 0 1
+  // 100-42-5 10 8 4
+  // 74-85-1 3 2 2
+  // 108-88-3 9 7 4
+  // 100-41-4 10.5 8 5
+  // 71-43-2 7.5 6 3
+
+  for ( i = 0 ; i < nb ; i++ ) {
+
+    can_burn[i] = false;
+
+    if ( chem[i]->CAS == "64-17-5"   ||
+	 chem[i]->CAS == "74-82-8"   ||
+	 chem[i]->CAS == "1333-74-0" ||
+	 chem[i]->CAS == "100-42-5"  ||
+	 chem[i]->CAS == "74-85-1"   ||
+	 chem[i]->CAS == "108-88-3"  ||
+	 chem[i]->CAS == "100-41-4"  ||
+	 chem[i]->CAS == "71-43-2" )
+      can_burn[i] = true;
+  }
+
+  O2  = new chemical ("7782-44-7");
+  N2  = new chemical ("7727-37-9");
+  CO2 = new chemical ("124-38-9");
+  H2O = new chemical ("7732-18-5");
+
+  // Construct the rx array;
+  rx = new combrx * [nb];
+  for ( i = 0 ; i < nb ; i++ ) {
+    if ( can_burn[i] )
+      rx[i] = new combrx ( chem[i]->CAS );
+    else
+      rx[i] = NULL;
+  }
+}
+
+/*---------------------------------------------------------------*/
+burner::~burner ( void ) {
+
+  delete [] m;
+  delete [] can_burn;
+
+  for ( i = 0 ; i < rem_nb ; i++ )
+    if (rx[i])
+      delete rx[i];
+  delete [] rx;
+  
+  delete O2;
+  delete N2;
+  delete CO2;
+  delete H2O;
+}
+
+/*---------------------------------------------------------------*/
+bool burner::solve(double * y)
+{
+   OK=true;
+   //perform mass balance (neglect pollutants flows)
+   out->m = 0.0;
+   for(i=0;i<in->nb;i++)
+   {
+     if (!can_burn[i]) {
+       out->chem[i]->m = in->chem[i]->m;
+       out->m+=out->chem[i]->m;
+     }
+     else {
+       out->chem[i]->m=0.0;
+       O2->m+=rx[i]->O2_flow()*in->chem[i]->n();
+       N2->m+=rx[i]->N2_flow()*in->chem[i]->n();
+       CO2->m+=rx[i]->CO2_flow()*in->chem[i]->n();
+       H2O->m+=rx[i]->H2O_flow()*in->chem[i]->n();
+     }
+   }
+   N2->m*=(1.0+eta);
+   O2->m*=(1.0+eta);
+   //perform energy balance to find Tout
+   T = in->T;
+
+   step=10;
+   Q=1;
+   // find temperature
+   while (fabs(step)>TOL_BURN && fabs(Q)>TOL_BURN && T<MAX_TEMP)
+   {
+      T+=step;
+
+      if(T>MAX_TEMP)
+	T=MAX_TEMP;
+      Q = 0.0;
+      for ( i = 0 ; i < in->nb ; i++ )
+	Q += in->chem[i]->dH ( in->T , T , in->P ) * in->chem[i]->n();
+
+      for ( i = 0 ; i < in->nb ; i++ )
+	if ( can_burn[i] )
+	  Q += rx[i]->Hcomb(T) * in->chem[i]->n();
+
+      Q += O2->dH ( 293 , T , in->P ) * O2->n();
+      Q += N2->dH ( 293 , T , in->P ) * N2->n();
+
+
+      if (step/fabs(step)*Q >0)
+	step*= -0.1;
+      else if (fabs(Q)<10)
+	step*=0.25;
+
+   }
+
+
+
+   out->set_thermo(in->thermo);
+   // out->thermo = in->thermo;
+
+   out->set(in->P, T);
+   O2->P=in->P; O2->T=T; O2->state=1; O2->find_v();
+   N2->P=in->P; N2->T=T; N2->state=1; N2->find_v();
+   CO2->P=in->P; CO2->T=T; CO2->state=1; CO2->find_v();
+   H2O->P=in->P; H2O->T=T; H2O->state=1; H2O->find_v();
+   //check if mixture can burn
+   m_can_burn = 0.0;
+   for(i=0;i<in->nb;i++) if(can_burn[i]) m_can_burn+=in->chem[i]->n();
+   LFLmix=0.0;
+   for(i=0;i<in->nb;i++) if(can_burn[i]) LFLmix+=in->chem[i]->n()/m_can_burn*rx[i]->LFL(in->P,T);
+   UFLmix=0.0;
+   for(i=0;i<in->nb;i++) if(can_burn[i]) UFLmix+=in->chem[i]->n()/m_can_burn*rx[i]->UFL(in->P,T);
+   num = 0.0;
+   buff=in->T; in->set(in->P, T);
+   for(i=0;i<in->nb;i++) if(can_burn[i]) num+=in->chem[i]->n()/in->n()*in->v;
+   in->set(in->P, buff);
+   den = O2->v+N2->v+out->v;
+   composition = num/den;
+   if(!(LFLmix<=composition && composition<=UFLmix) || T==MAX_TEMP)
+   {
+//       logf.open(MESSAGES,ios::app);
+//       logf<<"   --> Warning <--  Mixture in "<<name<<" can't burn (LFL="<<LFLmix
+//           <<" UFL="<<UFLmix<<" x="<<composition<<").\n";
+//       logf.close();
+      T=in->T;
+      filename = out->name;
+      *out=*in;
+      out->set(filename);
+      // out->write();  // WRITE TOTO
+      OK=false;
+   }
+   else
+   {
+      O2->P=in->P; O2->T=T; O2->state=1; O2->find_v();
+      N2->P=in->P; N2->T=T; N2->state=1; N2->find_v();
+      // out->write(); // WRITE TOTO
+   }
+   if(OK) //compute the pollutants production
+   {
+      fill_K_array();
+      NO = 1e6*sqrt(K[0]*(N2->n()/den)*(O2->n()/den))*den*0.03/(O2->m+N2->m+out->m+H2O->m+CO2->m);
+      N2O = 1e6*K[1]*(N2->n()/den)*sqrt(O2->n()/den)*den*0.044/(O2->m+N2->m+out->m+H2O->m+CO2->m);
+      NO2 = 1e6*K[2]*sqrt(N2->n()/den)*(O2->n()/den)*den*0.046/(O2->m+N2->m+out->m+H2O->m+CO2->m);
+      CO = 1e6*K[3]*(CO2->n()/den)*den/sqrt(O2->n()/den)*0.028/(O2->m+N2->m+out->m+H2O->m+CO2->m);
+   }
+//    logf.open(MESSAGES,ios::app);
+   if (NO>EPS && NO2>EPS && N2O>EPS) {
+     // logf<<"   --> Warning <-- Presence of NOx: "<<(NO+NO2+N2O)<<" ppm in "<<name<<".\n";
+     y[7] = NO+NO2+N2O;
+
+     if (ARRONDI)
+       y[7] = arrondi ( y[7] , 6 );
+
+   }
+   if (CO>EPS) {
+     // logf<<"   --> Warning <-- Presence of CO: "<<CO<<" ppm in "<<name<<".\n";
+     y[8] = CO;
+     if (ARRONDI)
+       y[8] = arrondi ( y[8] , 6 );
+
+   }
+//    logf.close();
+   return OK;
+}
+
+void burner::fill_K_array()
+{
+  a[0]=1.0; a[1]=1.0; a[2]=0.5; a[3]=1.0;
+  b[0]=1.0; b[1]=0.5; b[2]=1.0; b[3]=-0.5;
+  c[0]=2.0; c[1]=1.0; c[2]=1.0; c[3]=1.0;
+  K[0] = exp(-120.27*(173.38-T*0.012)/T);
+  K[1] = exp(-120.27*(103.64+T*0.074)/T);
+  K[2] = exp(-120.27*(51.96+T*0.061)/T);
+  K[3] = exp(-120.27*(283.84-T*0.087)/T);
+  for(i=0;i<4;i++)
+    K[i]*=pow(1000, c[i]-a[i]-b[i]);
+}
+
+void burner::write() {
+
+  cout << setprecision(6);
+
+  cout << "WRITE FILE " << RUNTIME << name << ".unit" << " :\n\tBEGIN\n";
+  cout << "\t>>         " << name;
+  cout << endl << "\t>>           stream in : " << in->name;
+  cout << endl << "\t>>           streams out : " << out->name;
+  cout << endl << "\t>>           P = " << in->P << " atm,  T(in) = " << in->T
+       << "   T(out) = " << T << " K";
+  O2->P = 1;
+  O2->T = 293;
+  O2->state = 1;
+  O2->find_v();
+  N2->P=1;
+  N2->T=293;
+  N2->state=1;
+  N2->find_v();
+  cout << endl << "\t>>           Required air flow = "
+       << (O2->m+N2->m) << " kg/s  (" << (O2->v+N2->v) << " m3/s)";
+  O2->P=in->P;
+  O2->T=T;
+  O2->state=1;
+  O2->find_v();
+  N2->P=in->P;
+  N2->T=T;
+  N2->state=1;
+  N2->find_v();
+  step=(eta*O2->v/(1+eta)+N2->v+H2O->v+CO2->v+out->v);
+  cout << endl << "\t>>           Total flue gases  = "
+       << (out->m+CO2->m+H2O->m+N2->m+eta*O2->m/(1+eta))
+       <<" kg/s  (" << step << " m3/s)";
+  cout << "\n\tEND\n\n";
+  cost();
+}
+
+
+double burner::get_cost ( void ) {
+
+
+  O2->P = 1;
+  O2->T = 293;
+  O2->state = 1;
+  O2->find_v();
+  N2->P=1;
+  N2->T=293;
+  N2->state=1;
+  N2->find_v();
+  O2->P=in->P;
+  O2->T=T;
+  O2->state=1;
+  O2->find_v();
+  N2->P=in->P;
+  N2->T=T;
+  N2->state=1;
+  N2->find_v();
+  step=(eta*O2->v/(1+eta)+N2->v+H2O->v+CO2->v+out->v);
+
+  buff = 3.1761-0.1373*log10(step) + 0.3414*pow(log10(step),2);
+  buff = 2.7*pow(10, buff);
+  buff = buff*MS_YEAR/MS_2001;
+
+  return buff;
+}
+
+
+void burner::cost ( void ) {
+  cout << "WRITE FILE " << RUNTIME << name << ".cost" << " :\n\tBEGIN\n";
+  cout << "\t>>" << get_cost();
+  cout << "\n\tEND\n\n";
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/burner.hpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/burner.hpp
index 310df0d..3d83403 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/burner.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/burner.hpp
@@ -1,59 +1,59 @@
-/*
-This unit simulates a burner. The user must provide the air excess
-and all combustion data as defined in data\\combustion.prop :
-      CAS nb_moles_O2 nb_moles_CO2 nb_moles_H2O
-Then, mass and energy balances are performed and flows of common
-combustion pollutants are estimated.
-(reference : Crowl & Louvar)
-
-Structure in the .process file:
-burner {name} {index of input stream} {index of output stream} {air excess >0 (ex.: 1.2 is a 120% excess)}
-
-How to use:
-   1- Call the constructor: burn = new burner(in, out);			burner(nb_in, chem_list)
-   ->set(in, out)
-   2- Set the air excess : burn->set(excess);
-   3- Set the name of the unit: burn->set(name);
-   4- Solve: bool=burn->solve();
-*/
-#ifndef BURNER_H
-#define BURNER_H
-#include "stream.hpp"
-#include "combrx.hpp"
-using namespace std;
-
-class burner
-{
-private:
-
-  string filename;
-  int rem_nb;
-  stream *in, *out;
-  chemical *O2, *N2, *CO2, *H2O;
-  combrx **rx;
-  bool *can_burn, stop, OK;
-  double eta, NO, NO2, N2O, CO;
-  double T, LFLmix, UFLmix, composition;
-  string name;
-  double * m;
-  double a[4], b[4], c[4], K[4];
-  int i;
-  double buff, Q, m_can_burn, step, num, den;
-  ifstream data;
-  // ofstream logf, results;
-  // terminator *end;
-  void fill_K_array();
-	  
-public:
-  // burner(){};
-  burner ( int , chemical ** );
-  void set ( stream * s1 , stream * s2 ) { in=s1; out=s2; for(i=0;i<in->nb;i++) m[i] = in->chem[i]->m;}
-  void set ( const string & n ) { name = n; }
-  void set(double e) {eta = e;}
-  bool solve(double * y);
-  void write();
-  void cost();
-  double get_cost ( void );
-  ~burner();
-};
-#endif
+/*
+This unit simulates a burner. The user must provide the air excess
+and all combustion data as defined in data\\combustion.prop :
+      CAS nb_moles_O2 nb_moles_CO2 nb_moles_H2O
+Then, mass and energy balances are performed and flows of common
+combustion pollutants are estimated.
+(reference : Crowl & Louvar)
+
+Structure in the .process file:
+burner {name} {index of input stream} {index of output stream} {air excess >0 (ex.: 1.2 is a 120% excess)}
+
+How to use:
+   1- Call the constructor: burn = new burner(in, out);			burner(nb_in, chem_list)
+   ->set(in, out)
+   2- Set the air excess : burn->set(excess);
+   3- Set the name of the unit: burn->set(name);
+   4- Solve: bool=burn->solve();
+*/
+#ifndef BURNER_H
+#define BURNER_H
+#include "stream.hpp"
+#include "combrx.hpp"
+using namespace std;
+
+class burner
+{
+private:
+
+  string filename;
+  int rem_nb;
+  stream *in, *out;
+  chemical *O2, *N2, *CO2, *H2O;
+  combrx **rx;
+  bool *can_burn, stop, OK;
+  double eta, NO, NO2, N2O, CO;
+  double T, LFLmix, UFLmix, composition;
+  string name;
+  double * m;
+  double a[4], b[4], c[4], K[4];
+  int i;
+  double buff, Q, m_can_burn, step, num, den;
+  ifstream data;
+  // ofstream logf, results;
+  // terminator *end;
+  void fill_K_array();
+	  
+public:
+  // burner(){};
+  burner ( int , chemical ** );
+  void set ( stream * s1 , stream * s2 ) { in=s1; out=s2; for(i=0;i<in->nb;i++) m[i] = in->chem[i]->m;}
+  void set ( const string & n ) { name = n; }
+  void set(double e) {eta = e;}
+  bool solve(double * y);
+  void write();
+  void cost();
+  double get_cost ( void );
+  ~burner();
+};
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/cashflow.cpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/cashflow.cpp
index a35a767..c7174f6 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/cashflow.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/cashflow.cpp
@@ -1,114 +1,114 @@
-#include "cashflow.hpp"
-using namespace std;
-
-cashflow::cashflow(int n)
-{
-   N=n+1;
-   Inv = new double[N];
-   Coper = new double[N];
-   Amort = new double[N];
-   Rev = new double[N];
-   Flow = new double[N];
-   Flowact = new double[N];
-   Itot=Ctot=Rtot=i_rate=a_rate=0.0;
-
-
-  yield_tab[ 0] = 0.515;
-  yield_tab[ 1] = 0.778;
-  yield_tab[ 2] = 0.812;
-  yield_tab[ 3] = 0.893;
-  yield_tab[ 4] = 0.985;
-  yield_tab[ 5] = 0.837;
-  yield_tab[ 6] = 0.849;
-  yield_tab[ 7] = 0.746;
-  yield_tab[ 8] = 0.812;
-  yield_tab[ 9] = 0.954;
-  yield_tab[10] = 0.999;
-  yield_tab[11] = 0.961;
-  yield_tab[12] = 0.815;
-  yield_tab[13] = 0.886;
-  yield_tab[14] = 0.922;
-
-}
-
-cashflow::~cashflow ( void ) {
-  delete [] Inv;
-  delete [] Coper;
-  delete [] Amort;
-  delete [] Rev;
-  delete [] Flow;
-  delete [] Flowact;
-}
-
-bool cashflow::run()
-{
-   if(Itot<EPS || Ctot<EPS || Rtot<EPS || i_rate<EPS || a_rate<EPS)
-      OK=false;
-   else
-   {
-      //if(!MUTE)cout<<endl<<"       investments flow... OK";
-      set_Inv();
-      //if(!MUTE)cout<<endl<<"       depreciation flow... OK";
-      set_Amort();
-      set_C_R();
-      //if(!MUTE)cout<<endl<<"       costs flow... OK";
-      //if(!MUTE)cout<<endl<<"       revenus flow... OK";
-      for(i=0;i<N;i++)
-      {
-         Flow[i] = (Rev[i]-Coper[i])*(1.0-a_rate)-(Inv[i]-a_rate*Amort[i]);
-         Flowact[i] = Flow[i]/pow(1.0+i_rate, i);
-      }
-      //if(!MUTE)cout<<endl<<"       cash flow... OK";
-      //if(!MUTE)cout<<endl<<"       actualizing cash flow... OK";
-      OK=true;
-      
-//       cout<<endl<<endl<<"   CASH FLOW DETAILS"<<endl;
-//       cout<<endl<<"      "<<setfill('-')<<setw(76)<<" ";
-//       cout<<endl<<"      "<<" i "<<" Investment "<<"    Deprec. "
-// 	  <<"   Expenses "<<"    Revenus "<<"  Cash flow "<<"  Act. flow ";
-//       cout<<endl<<"      "<<setfill('-')<<setw(76)<<" ";
-//       cout<<setfill(' ')<<setiosflags(ios::fixed)<<setprecision(0);
-//       for(i=0;i<N;i++)
-//          cout<<endl
-// 	     <<"      "<<setw(2)<<i<<" "<<setw(11)
-// 	     <<Inv[i]<<" "<<setw(11)<<Amort[i]<<" "
-// 	     <<setw(11)<<Coper[i]<<" "<<setw(11)<<Rev[i]<<" "<<setw(11)<<Flow[i]<<" "<<setw(11)<<Flowact[i];
-//       cout<<endl<<"      "<<setfill('-')<<setw(76)<<" ";
-   }
-   return OK;
-}
-
-void cashflow::set_Amort()
-{
-   Amort[0] = 0.0;
-   temp=Itot;
-   for(i=1;i<N-1;i++)
-   {
-      temp+=Inv[i];
-      Amort[i] = temp/double(N-i);
-      temp-=Amort[i];
-   }
-   Amort[N-1]=Amort[N-2];
-}
-
-void cashflow::set_Inv()
-{
-   Inv[0] = Itot;
-   for(i=1;i<N-1;i++)
-   {
-      if((i)%5==0) Inv[i]=0.1*Itot;
-      else Inv[i]=0.0;
-   }
-   Inv[N-1]=0.0;
-   for(i=0;i<N-1;i++) Inv[N-1]-=0.1*Inv[i];
-}
-
-void cashflow::set_C_R()
-{
-   Coper[0] = Rev[0] = 0.0;
-   for(i=1;i<N;i++)
-   {
-      Coper[i] = yield(i)*Ctot;
-      Rev[i] = yield(i)*Rtot;
-   }
-}
+#include "cashflow.hpp"
+using namespace std;
+
+cashflow::cashflow(int n)
+{
+   N=n+1;
+   Inv = new double[N];
+   Coper = new double[N];
+   Amort = new double[N];
+   Rev = new double[N];
+   Flow = new double[N];
+   Flowact = new double[N];
+   Itot=Ctot=Rtot=i_rate=a_rate=0.0;
+
+
+  yield_tab[ 0] = 0.515;
+  yield_tab[ 1] = 0.778;
+  yield_tab[ 2] = 0.812;
+  yield_tab[ 3] = 0.893;
+  yield_tab[ 4] = 0.985;
+  yield_tab[ 5] = 0.837;
+  yield_tab[ 6] = 0.849;
+  yield_tab[ 7] = 0.746;
+  yield_tab[ 8] = 0.812;
+  yield_tab[ 9] = 0.954;
+  yield_tab[10] = 0.999;
+  yield_tab[11] = 0.961;
+  yield_tab[12] = 0.815;
+  yield_tab[13] = 0.886;
+  yield_tab[14] = 0.922;
+
+}
+
+cashflow::~cashflow ( void ) {
+  delete [] Inv;
+  delete [] Coper;
+  delete [] Amort;
+  delete [] Rev;
+  delete [] Flow;
+  delete [] Flowact;
+}
+
+bool cashflow::run()
+{
+   if(Itot<EPS || Ctot<EPS || Rtot<EPS || i_rate<EPS || a_rate<EPS)
+      OK=false;
+   else
+   {
+      //if(!MUTE)cout<<endl<<"       investments flow... OK";
+      set_Inv();
+      //if(!MUTE)cout<<endl<<"       depreciation flow... OK";
+      set_Amort();
+      set_C_R();
+      //if(!MUTE)cout<<endl<<"       costs flow... OK";
+      //if(!MUTE)cout<<endl<<"       revenus flow... OK";
+      for(i=0;i<N;i++)
+      {
+         Flow[i] = (Rev[i]-Coper[i])*(1.0-a_rate)-(Inv[i]-a_rate*Amort[i]);
+         Flowact[i] = Flow[i]/pow(1.0+i_rate, i);
+      }
+      //if(!MUTE)cout<<endl<<"       cash flow... OK";
+      //if(!MUTE)cout<<endl<<"       actualizing cash flow... OK";
+      OK=true;
+      
+//       cout<<endl<<endl<<"   CASH FLOW DETAILS"<<endl;
+//       cout<<endl<<"      "<<setfill('-')<<setw(76)<<" ";
+//       cout<<endl<<"      "<<" i "<<" Investment "<<"    Deprec. "
+// 	  <<"   Expenses "<<"    Revenus "<<"  Cash flow "<<"  Act. flow ";
+//       cout<<endl<<"      "<<setfill('-')<<setw(76)<<" ";
+//       cout<<setfill(' ')<<setiosflags(ios::fixed)<<setprecision(0);
+//       for(i=0;i<N;i++)
+//          cout<<endl
+// 	     <<"      "<<setw(2)<<i<<" "<<setw(11)
+// 	     <<Inv[i]<<" "<<setw(11)<<Amort[i]<<" "
+// 	     <<setw(11)<<Coper[i]<<" "<<setw(11)<<Rev[i]<<" "<<setw(11)<<Flow[i]<<" "<<setw(11)<<Flowact[i];
+//       cout<<endl<<"      "<<setfill('-')<<setw(76)<<" ";
+   }
+   return OK;
+}
+
+void cashflow::set_Amort()
+{
+   Amort[0] = 0.0;
+   temp=Itot;
+   for(i=1;i<N-1;i++)
+   {
+      temp+=Inv[i];
+      Amort[i] = temp/double(N-i);
+      temp-=Amort[i];
+   }
+   Amort[N-1]=Amort[N-2];
+}
+
+void cashflow::set_Inv()
+{
+   Inv[0] = Itot;
+   for(i=1;i<N-1;i++)
+   {
+      if((i)%5==0) Inv[i]=0.1*Itot;
+      else Inv[i]=0.0;
+   }
+   Inv[N-1]=0.0;
+   for(i=0;i<N-1;i++) Inv[N-1]-=0.1*Inv[i];
+}
+
+void cashflow::set_C_R()
+{
+   Coper[0] = Rev[0] = 0.0;
+   for(i=1;i<N;i++)
+   {
+      Coper[i] = yield(i)*Ctot;
+      Rev[i] = yield(i)*Rtot;
+   }
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/cashflow.hpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/cashflow.hpp
index 5aa5f70..a71b7ab 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/cashflow.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/cashflow.hpp
@@ -1,33 +1,33 @@
-#ifndef CASHFLOW_H
-#define CASHFLOW_H
-#include "defines.hpp"
-// #include <iomanip>
-using namespace std;
-
-class cashflow
-{
-   private:
-  // char name[31], filename[41];
-  // ifstream in;
-  // ofstream out;
-  double Itot, Ctot, Rtot;
-  void set_Inv(), set_Amort(), set_C_R();
-  double temp;
-  int i, j, counter;
-  bool OK;
-  double yield_tab[15];
-
-  double yield ( int k ) const { return yield_tab[(k==15) ? 14 : k%15]; }
-  
-public:
-  double *Inv, *Coper, *Amort, *Rev, *Flow, *Flowact;
-  double  i_rate, a_rate;
-  int N;
-  cashflow(int);
-  ~cashflow();
-  // void set(char n[31]) {strcpy(name, n);}
-  void set_rates(double d1, double d2){i_rate=d1; a_rate=d2;}
-  void set_basics(double d1, double d2, double d3){Itot=d1; Ctot=d2; Rtot=d3;}
-  bool run();
-};
-#endif
+#ifndef CASHFLOW_H
+#define CASHFLOW_H
+#include "defines.hpp"
+// #include <iomanip>
+using namespace std;
+
+class cashflow
+{
+   private:
+  // char name[31], filename[41];
+  // ifstream in;
+  // ofstream out;
+  double Itot, Ctot, Rtot;
+  void set_Inv(), set_Amort(), set_C_R();
+  double temp;
+  int i, j, counter;
+  bool OK;
+  double yield_tab[15];
+
+  double yield ( int k ) const { return yield_tab[(k==15) ? 14 : k%15]; }
+  
+public:
+  double *Inv, *Coper, *Amort, *Rev, *Flow, *Flowact;
+  double  i_rate, a_rate;
+  int N;
+  cashflow(int);
+  ~cashflow();
+  // void set(char n[31]) {strcpy(name, n);}
+  void set_rates(double d1, double d2){i_rate=d1; a_rate=d2;}
+  void set_basics(double d1, double d2, double d3){Itot=d1; Ctot=d2; Rtot=d3;}
+  bool run();
+};
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/chemical.cpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/chemical.cpp
index 2fb1052..af4d12a 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/chemical.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/chemical.cpp
@@ -1,529 +1,529 @@
-#include "chemical.hpp"
-using namespace std;
-
-void chemical::check_error ( void ) {
-  if (error>MAX_ERROR) {
-    cout << "ERROR 2\n\n";
-    exit(0);
-  }  
-  if (warning>MAX_WARNING) {
-    cout << "ERROR 3\n\n";
-    exit(0);
-  }
-}
-
-// copy-constr. :
-chemical::chemical ( const chemical & chem ) {
-
-  CAS           = chem.CAS;
-  name          = chem.name;
-  M             = chem.M;
-
-  state         = chem.state;
-  Tm            = chem.Tm;
-  Tb            = chem.Tb;
-  Tc            = chem.Tc;
-  Pc            = chem.Pc;
-  Ho            = chem.Ho;
-  rho_liq       = chem.rho_liq;
-  dHvap         = chem.dHvap;
-
-  mu_param[0]   = chem.mu_param[0];
-  mu_param[1]   = chem.mu_param[1];
-  Cp_param[0]   = chem.Cp_param[0];
-  Cp_param[1]   = chem.Cp_param[1];
-  Cp_param[2]   = chem.Cp_param[2];
-  Cp_param[3]   = chem.Cp_param[3];
-  Cp_liq        = chem.Cp_liq;
-  Psat_param[0] = chem.Psat_param[0];
-  Psat_param[1] = chem.Psat_param[1];
-  Psat_param[2] = chem.Psat_param[2];
-    
-  thermo = new thermolib();
-  thermo->send(Pc,Tc, omega());
-
-  P = chem.P;
-  T = chem.T;
-  m = chem.m;
-  v = chem.v;
-
-  warning = chem.warning;
-  error   = chem.error;
-  tmp     = chem.tmp;
-}
-
-chemical::chemical ( const string & chem_name ) {
-
-  CAS = chem_name;
-	
-	// C. Tribes add initialization for more robustness (variables may be initialized uncorrectly dependent on the execution)
-	P=T=m=v=0.0;	
-
-  // 1/12 :
-  if (CAS=="100-41-4") {
-    name = "ethylbenzene";
-    M = 106.17;
-    state = 0;
-    Tm = 178.2;
-    Tb = 409.3;
-    Tc = 617.1;
-    Pc = 35.6;
-    Ho = 29.79;
-    rho_liq = 867.0;
-    dHvap = 35.56;
-    mu_param[0] = 472.82;
-    mu_param[1] = 264.22;
-    Cp_param[0] = -43.069;
-    Cp_param[1] = 7.067e-01;
-    Cp_param[2] = -4.807e-04;
-    Cp_param[3] = 1.30e-07;
-    Cp_liq = 190.23;
-    Psat_param[0] = 16.0195;
-    Psat_param[1] = 3279.47;
-    Psat_param[2] = -59.95;
-  }
-
-  // 2/12 :
-  else if (CAS=="1333-74-0") {
-    name = "hydrogen";
-    M = 2.02;
-    state = 1;
-    Tm = 14.0;
-    Tb = 20.4;
-    Tc = 33.2;
-    Pc = 12.8;
-    Ho = 0.0;
-    rho_liq = 71.0;
-    dHvap = 0.9;
-    mu_param[0] = 13.82;
-    mu_param[1] = 5.39;
-    Cp_param[0] = 27.124;
-    Cp_param[1] = 9.267e-03;
-    Cp_param[2] = -1.380e-05;
-    Cp_param[3] = 7.64e-09;
-    Cp_liq = 0.0;
-    Psat_param[0] = 13.6333;
-    Psat_param[1] = 164.90;
-    Psat_param[2] = 3.19;
-  }
-
-  // 3/12 :
-  else if (CAS=="108-88-3") {
-    name = "toluene";
-    M =92.14;
-    state = 0;
-    Tm = 178.0;
-    Tb = 383.8;
-    Tc = 591.7;
-    Pc = 40.6;
-    Ho = 50.0;
-    rho_liq = 867;
-    dHvap = 33.18;
-    mu_param[0] = 467.33;
-    mu_param[1] = 255.24;
-    Cp_param[0] = -24.338;
-    Cp_param[1] = 5.121e-1;
-    Cp_param[2] = -2.763e-4;
-    Cp_param[3] = 4.91e-8;
-    Cp_liq      = 159.85;
-    Psat_param[0] = 16.0137;
-    Psat_param[1] = 3096.52;
-    Psat_param[2] = -53.67;
-  }
-
-  // 4/12 :
-  else if (CAS=="74-82-8") {
-    name = "methane";
-    M =16.04;
-    state =1;
-    Tm = 90.7;
-    Tb = 111.7;
-    Tc = 190.6;
-    Pc = 45.4;
-    Ho = -74.85;
-    rho_liq = 425;
-    dHvap = 8.18;
-    mu_param[0] = 114.14;
-    mu_param[1] = 57.60;
-    Cp_param[0] = 19.238;
-    Cp_param[1] = 5.209e-02;
-    Cp_param[2] = 1.197e-05;
-    Cp_param[3] = -1.13e-08;
-    Cp_liq      = 0.0;
-    Psat_param[0] = 15.2243;
-    Psat_param[1] = 897.84;
-    Psat_param[2] = -7.16;
-  }
-
-  // 5/12 :
-  else if (CAS=="71-43-2") {
-    name = "benzene";
-    M = 78.11;
-    state = 0;
-    Tm = 278.7;
-    Tb = 353.3;
-    Tc = 562.1;
-    Pc = 48.3;
-    Ho = 82.93;
-    rho_liq = 885;
-    dHvap = 30.76;
-    mu_param[0] = 545.64;
-    mu_param[1] = 265.24;
-    Cp_param[0] = 33.894;
-    Cp_param[1] = 4.74e-1;
-    Cp_param[2] = -3.015e-4;
-    Cp_param[3] = 7.13e-8;
-    Cp_liq      = 116.03;
-    Psat_param[0] = 15.9008;
-    Psat_param[1] = 2788.51;
-    Psat_param[2] = -52.36;
-  }
-
-  // 6/12 :
-  else if (CAS=="74-85-1") {
-    name = "ethylene";
-    M = 28.05;
-    state =1;
-    Tm = 104.0;
-    Tb = 169.4;
-    Tc = 282.4;
-    Pc = 49.7;
-    Ho =52.3;
-    rho_liq = 577.0;
-    dHvap = 13.54;
-    mu_param[0] = 168.98;
-    mu_param[1] = 93.94;
-    Cp_param[0] = 3.803;
-    Cp_param[1] = 1.565e-01;
-    Cp_param[2] = -8.343e-05;
-    Cp_param[3] = 1.75e-08;
-    Cp_liq      = 0.0;
-    Psat_param[0] =15.5368;
-    Psat_param[1] = 1347.01;
-    Psat_param[2] = -18.15;
-  }
-
-  // 7/12 :
-  else if (CAS=="100-42-5") {
-    name = "styrene";
-    M =104.15;
-    state = 0;
-    Tm = 242.5;
-    Tb = 418.3;
-    Tc =647.0;
-    Pc =39.4;
-    Ho =147.36;
-    rho_liq =906.0;
-    dHvap = 36.82;
-    mu_param[0] = 528.64;
-    mu_param[1] = 276.71;
-    Cp_param[0] =-28.229;
-    Cp_param[1] =6.155e-01;
-    Cp_param[2] = -4.020e-04;
-    Cp_param[3] = 9.93e-08;
-    Cp_liq      =166.13;
-    Psat_param[0] = 16.0193;
-    Psat_param[1] = 3328.57;
-    Psat_param[2] =-63.72;
-  }
-
-  // 8/12 :
-  else if (CAS=="7782-44-7") {
-    name = "oxygen";
-    M = 32.00;
-    state = 1;
-    Tm = 54.4;
-    Tb = 90.2;
-    Tc = 154.6;
-    Pc = 49.8;
-    Ho =0.0 ;
-    rho_liq =1149.1 ;
-    dHvap =6.82 ;
-    mu_param[0] = 85.68;
-    mu_param[1] =  51.50;
-    Cp_param[0] = 28.087;
-    Cp_param[1] = -3.678e-06 ;
-    Cp_param[2] = 1.745e-05;
-    Cp_param[3] = -1.06e-08;
-    Cp_liq      =0.0 ;
-    Psat_param[0] = 15.4075;
-    Psat_param[1] =  734.55 ;
-    Psat_param[2] =-6.45 ;
-  }
-
-  // 9/12 :
-  else if (CAS=="7727-37-9") {
-    name = "nitrogen";
-    M = 28.01;
-    state = 1;
-    Tm = 63.3;
-    Tb = 77.4;
-    Tc =  126.2;
-    Pc =  33.5;
-    Ho = 0.0;
-    rho_liq = 804.0;
-    dHvap = 5.58;
-    mu_param[0] = 90.30;
-    mu_param[1] = 46.41;
-    Cp_param[0] = 31.128;
-    Cp_param[1] = -1.356e-02 ;
-    Cp_param[2] = 2.678e-05;
-    Cp_param[3] =-1.17e-08 ;
-    Cp_liq      = 0.0;
-    Psat_param[0] = 14.9342;
-    Psat_param[1] =  588.72;
-    Psat_param[2] = -6.60;
-  }
-
-  // 10/12 :
-  else if (CAS=="124-38-9") {
-    name = "carbon-dioxide";
-    M =44.01;
-    state = 1;
-    Tm = 216.6;
-    Tb = 194.4;
-    Tc = 304.2;
-    Pc =  72.8;
-    Ho =  -393.41;
-    rho_liq = 777.0;
-    dHvap = 17.15;
-    mu_param[0] = 578.08;
-    mu_param[1] = 185.24 ;
-    Cp_param[0] = 19.782;
-    Cp_param[1] = 7.339e-02;
-    Cp_param[2] = -5.598e-05;
-    Cp_param[3] = 1.71e-08;
-    Cp_liq      = 0.0;
-    Psat_param[0] = 22.5898;
-    Psat_param[1] =3103.39 ;
-    Psat_param[2] =  -0.16;
-  }
-
-  // 11/12 :
-  else if (CAS=="7732-18-5") {
-    name = "water";
-    M =18.02;
-    state = 0;
-    Tm = 273.15;
-    Tb = 373.15;
-    Tc = 647.4;
-    Pc = 217.6;
-    Ho = -241.83;
-    rho_liq = 998 ;
-    dHvap = 40.66;
-    mu_param[0] = 658.25;
-    mu_param[1] = 283.16;
-    Cp_param[0] = 32.220;
-    Cp_param[1] = 1.923e-03 ;
-    Cp_param[2] = 1.055e-05;
-    Cp_param[3] = -3.59e-09;
-    Cp_liq      = 75.24;
-    Psat_param[0] = 18.3036;
-    Psat_param[1] = 3816.44;
-    Psat_param[2] = -46.13;
-  }
-
-  // 12/12 :
-  else if (CAS=="64-17-5") {
-    name = "ethanol";
-    M =46.07;
-    state =0 ;
-    Tm =159.1 ;
-    Tb = 351.5;
-    Tc =  516.2;
-    Pc =63.0 ;
-    Ho =  -234.8;
-    rho_liq = 789.0;
-    dHvap =38.74 ;
-    mu_param[0] = 686.64;
-    mu_param[1] = 300.88;
-    Cp_param[0] = 9.008;
-    Cp_param[1] =  2.139e-01;
-    Cp_param[2] = -8.385e-05 ;
-    Cp_param[3] =  1.37e-09;
-    Cp_liq      = 2.22;
-    Psat_param[0] = 18.9119;
-    Psat_param[1] =  3803.98;
-    Psat_param[2] = -41.68;
-  }
-
-  else {
-    cout << "ERROR 1\n\n";
-    exit(0);
-  }
-
-  thermo = new thermolib();
-  thermo->send(Pc,Tc, omega());
-
-
-}
-
-double chemical::K()
-{
-      thermo->set(P,T,v,n());
-      return thermo->K();
-}
-
-double chemical::mu()
-{
-	// Returns the fluid's viscosity in Pa.s
-   if (Tm<=T && T<=Tboil(P))
-      return pow(10,(mu_param[0]*(1.0/T-1.0/mu_param[1])-3));
-   else
-   {
-	   ofstream logf;
-      logf.open(MESSAGES, ios::app);
-      logf<<"   --> Warning <--  Cannot compute viscosity of "<<name<<".\n";
-      logf.close();
-      warning++;
-      check_error();
-      return 1.0;
-   }
-}
-
-double chemical::rho()
-{
-	// Returns the fluid's density in kg/m3, wether it's liquid or gas
-   if(state==0) tmp= rho_liq;
-   if(state==1)
-   {
-      find_v();
-      if (v>EPS) tmp= m/v;
-      else tmp= 0.0;
-   }
-   return  tmp;
-}
-
-double chemical::Cp() {
-  // cout<<endl<<"Cp de "<<name<<" a "<<T;
-  // Returns the fluid's Cp in J/mol.K
-  if(state==0) {
-
-    // tmp = Cp_liq;  // BUG : boucle infinie !!!
-    return Cp_liq; // SEB
-    
-  }
-  if(state==1 || T>Tboil(P)) {
-    tmp=0;
-    for (int i=0;i<4;i++)
-      tmp+=Cp_param[i]*pow(T,i);
-  }
-  else {
-    T=Tb;
-
-    tmp = Cp(); // ici boucle infinie si state==0 !!!
-
-  }
-  return tmp;
-}
-
-double chemical::Cp(bool q)
-{
-	// Returns the fluid's Cp in J/mol.K
-   if(q==0) tmp=Cp_liq;
-   if(q==1)
-   {
-   	   tmp=0;
-      for (int i=0;i<4;i++) tmp+=Cp_param[i]*pow(T,i);
-   }
-   return tmp;
-}
-
-double chemical::Psat()
-{
-   // Returns the fluid's vapor pressure in atm, using Antoine's equation
-   if(Tm<=T && T<=Tc)
-      return (exp(Psat_param[0]-Psat_param[1]/(T+Psat_param[2]))/760.01);
-   else
-   {
-
-      return Psat(Tb);
-   }
-}
-double chemical::Psat(double t)
-{
-   // Returns the fluid's vapor pressure in atm, using Antoine's equation
-      return (exp(Psat_param[0]-Psat_param[1]/(t+Psat_param[2]))/760.01);
-}
-
-double chemical::dH(double T1,double T2, double pres)
-{
-   //Enthalpy variation in kJ/mol. Does not affect any attributes of current object.
-   double energy=0, TT=Tboil(pres), vap=Hvap(TT);
-   int sign=1, i;
-   if (T2<T1) {sign = -1; energy=T1; T1=T2; T2=energy; energy=0;}
-   if (T1==T2) energy = 0.0;
-   if (T2<TT) energy = Cp_liq*(T2-T1)/1000;
-   if (TT<T1) for (i=1;i<=4;i++) energy+=Cp_param[i-1]*(pow(T2,i)-pow(T1,i))/i/1000;
-   if(T1<=TT && TT<=T2)
-   {
-      energy=Cp_liq*(TT-T1)/1000;
-      energy+=vap;
-      for (i=1;i<=4;i++) energy+=Cp_param[i-1]*(pow(T2,i)-pow(TT,i))/i/1000;
-   }
-   return energy*sign;
-}
-
-void chemical::find_T()
-{
-   if(n()>EPS && P>EPS)
-   {
-      thermo->set(P,T,v,n());
-      T=thermo->T();
-   }
-   else
-   {
-	   ofstream logf;
-      logf.open(MESSAGES, ios::app);
-      logf<<"   --> Warning <--  Cannot find T of "<<name<<".\n";
-      logf.close();
-      warning++;
-   }
-   check_error();
-}
-
-void chemical::find_P()
-{
-   if(n()>EPS && T>EPS)
-   {
-      thermo->set(P,T,v,n());
-      P=thermo->P();
-   }
-   else
-   {
-	   ofstream logf;
-      logf.open(MESSAGES, ios::app);
-      logf<<"   --> Warning <--  Cannot find P of "<<name<<".\n";
-      logf.close();
-      warning++;
-   }
-   check_error();
-}
-
-void chemical::find_v()
-{
-
-   if(state==0) v=m/rho_liq;
-   if(state==1 && P>EPS && T>EPS && m>EPS)
-   {
-      thermo->set(P,T,v,n());
-      v=thermo->v();
-   }
-}
-
-void chemical::find_state()
-{
-   ofstream logf;
-   if (T>Tc || P>Pc) state = 1;      //T or P is bigger than Tc or Pc
-   if (T<=Tm)                         //T is smaller than melting point
-   {
-	   ofstream logf;
-      logf.open(MESSAGES, ios::app);
-      logf<<"   --> Warning <--  The chemical "<<name<<" is solid.\n";
-      logf.close();
-      warning++;
-   }
-   check_error();
-   if (T<Tboil(P)) state=0;
-   else state=1;
-}
+#include "chemical.hpp"
+using namespace std;
+
+void chemical::check_error ( void ) {
+  if (error>MAX_ERROR) {
+    cout << "ERROR 2\n\n";
+    exit(0);
+  }  
+  if (warning>MAX_WARNING) {
+    cout << "ERROR 3\n\n";
+    exit(0);
+  }
+}
+
+// copy-constr. :
+chemical::chemical ( const chemical & chem ) {
+
+  CAS           = chem.CAS;
+  name          = chem.name;
+  M             = chem.M;
+
+  state         = chem.state;
+  Tm            = chem.Tm;
+  Tb            = chem.Tb;
+  Tc            = chem.Tc;
+  Pc            = chem.Pc;
+  Ho            = chem.Ho;
+  rho_liq       = chem.rho_liq;
+  dHvap         = chem.dHvap;
+
+  mu_param[0]   = chem.mu_param[0];
+  mu_param[1]   = chem.mu_param[1];
+  Cp_param[0]   = chem.Cp_param[0];
+  Cp_param[1]   = chem.Cp_param[1];
+  Cp_param[2]   = chem.Cp_param[2];
+  Cp_param[3]   = chem.Cp_param[3];
+  Cp_liq        = chem.Cp_liq;
+  Psat_param[0] = chem.Psat_param[0];
+  Psat_param[1] = chem.Psat_param[1];
+  Psat_param[2] = chem.Psat_param[2];
+    
+  thermo = new thermolib();
+  thermo->send(Pc,Tc, omega());
+
+  P = chem.P;
+  T = chem.T;
+  m = chem.m;
+  v = chem.v;
+
+  warning = chem.warning;
+  error   = chem.error;
+  tmp     = chem.tmp;
+}
+
+chemical::chemical ( const string & chem_name ) {
+
+  CAS = chem_name;
+	
+	// C. Tribes add initialization for more robustness (variables may be initialized uncorrectly dependent on the execution)
+	P=T=m=v=0.0;	
+
+  // 1/12 :
+  if (CAS=="100-41-4") {
+    name = "ethylbenzene";
+    M = 106.17;
+    state = 0;
+    Tm = 178.2;
+    Tb = 409.3;
+    Tc = 617.1;
+    Pc = 35.6;
+    Ho = 29.79;
+    rho_liq = 867.0;
+    dHvap = 35.56;
+    mu_param[0] = 472.82;
+    mu_param[1] = 264.22;
+    Cp_param[0] = -43.069;
+    Cp_param[1] = 7.067e-01;
+    Cp_param[2] = -4.807e-04;
+    Cp_param[3] = 1.30e-07;
+    Cp_liq = 190.23;
+    Psat_param[0] = 16.0195;
+    Psat_param[1] = 3279.47;
+    Psat_param[2] = -59.95;
+  }
+
+  // 2/12 :
+  else if (CAS=="1333-74-0") {
+    name = "hydrogen";
+    M = 2.02;
+    state = 1;
+    Tm = 14.0;
+    Tb = 20.4;
+    Tc = 33.2;
+    Pc = 12.8;
+    Ho = 0.0;
+    rho_liq = 71.0;
+    dHvap = 0.9;
+    mu_param[0] = 13.82;
+    mu_param[1] = 5.39;
+    Cp_param[0] = 27.124;
+    Cp_param[1] = 9.267e-03;
+    Cp_param[2] = -1.380e-05;
+    Cp_param[3] = 7.64e-09;
+    Cp_liq = 0.0;
+    Psat_param[0] = 13.6333;
+    Psat_param[1] = 164.90;
+    Psat_param[2] = 3.19;
+  }
+
+  // 3/12 :
+  else if (CAS=="108-88-3") {
+    name = "toluene";
+    M =92.14;
+    state = 0;
+    Tm = 178.0;
+    Tb = 383.8;
+    Tc = 591.7;
+    Pc = 40.6;
+    Ho = 50.0;
+    rho_liq = 867;
+    dHvap = 33.18;
+    mu_param[0] = 467.33;
+    mu_param[1] = 255.24;
+    Cp_param[0] = -24.338;
+    Cp_param[1] = 5.121e-1;
+    Cp_param[2] = -2.763e-4;
+    Cp_param[3] = 4.91e-8;
+    Cp_liq      = 159.85;
+    Psat_param[0] = 16.0137;
+    Psat_param[1] = 3096.52;
+    Psat_param[2] = -53.67;
+  }
+
+  // 4/12 :
+  else if (CAS=="74-82-8") {
+    name = "methane";
+    M =16.04;
+    state =1;
+    Tm = 90.7;
+    Tb = 111.7;
+    Tc = 190.6;
+    Pc = 45.4;
+    Ho = -74.85;
+    rho_liq = 425;
+    dHvap = 8.18;
+    mu_param[0] = 114.14;
+    mu_param[1] = 57.60;
+    Cp_param[0] = 19.238;
+    Cp_param[1] = 5.209e-02;
+    Cp_param[2] = 1.197e-05;
+    Cp_param[3] = -1.13e-08;
+    Cp_liq      = 0.0;
+    Psat_param[0] = 15.2243;
+    Psat_param[1] = 897.84;
+    Psat_param[2] = -7.16;
+  }
+
+  // 5/12 :
+  else if (CAS=="71-43-2") {
+    name = "benzene";
+    M = 78.11;
+    state = 0;
+    Tm = 278.7;
+    Tb = 353.3;
+    Tc = 562.1;
+    Pc = 48.3;
+    Ho = 82.93;
+    rho_liq = 885;
+    dHvap = 30.76;
+    mu_param[0] = 545.64;
+    mu_param[1] = 265.24;
+    Cp_param[0] = 33.894;
+    Cp_param[1] = 4.74e-1;
+    Cp_param[2] = -3.015e-4;
+    Cp_param[3] = 7.13e-8;
+    Cp_liq      = 116.03;
+    Psat_param[0] = 15.9008;
+    Psat_param[1] = 2788.51;
+    Psat_param[2] = -52.36;
+  }
+
+  // 6/12 :
+  else if (CAS=="74-85-1") {
+    name = "ethylene";
+    M = 28.05;
+    state =1;
+    Tm = 104.0;
+    Tb = 169.4;
+    Tc = 282.4;
+    Pc = 49.7;
+    Ho =52.3;
+    rho_liq = 577.0;
+    dHvap = 13.54;
+    mu_param[0] = 168.98;
+    mu_param[1] = 93.94;
+    Cp_param[0] = 3.803;
+    Cp_param[1] = 1.565e-01;
+    Cp_param[2] = -8.343e-05;
+    Cp_param[3] = 1.75e-08;
+    Cp_liq      = 0.0;
+    Psat_param[0] =15.5368;
+    Psat_param[1] = 1347.01;
+    Psat_param[2] = -18.15;
+  }
+
+  // 7/12 :
+  else if (CAS=="100-42-5") {
+    name = "styrene";
+    M =104.15;
+    state = 0;
+    Tm = 242.5;
+    Tb = 418.3;
+    Tc =647.0;
+    Pc =39.4;
+    Ho =147.36;
+    rho_liq =906.0;
+    dHvap = 36.82;
+    mu_param[0] = 528.64;
+    mu_param[1] = 276.71;
+    Cp_param[0] =-28.229;
+    Cp_param[1] =6.155e-01;
+    Cp_param[2] = -4.020e-04;
+    Cp_param[3] = 9.93e-08;
+    Cp_liq      =166.13;
+    Psat_param[0] = 16.0193;
+    Psat_param[1] = 3328.57;
+    Psat_param[2] =-63.72;
+  }
+
+  // 8/12 :
+  else if (CAS=="7782-44-7") {
+    name = "oxygen";
+    M = 32.00;
+    state = 1;
+    Tm = 54.4;
+    Tb = 90.2;
+    Tc = 154.6;
+    Pc = 49.8;
+    Ho =0.0 ;
+    rho_liq =1149.1 ;
+    dHvap =6.82 ;
+    mu_param[0] = 85.68;
+    mu_param[1] =  51.50;
+    Cp_param[0] = 28.087;
+    Cp_param[1] = -3.678e-06 ;
+    Cp_param[2] = 1.745e-05;
+    Cp_param[3] = -1.06e-08;
+    Cp_liq      =0.0 ;
+    Psat_param[0] = 15.4075;
+    Psat_param[1] =  734.55 ;
+    Psat_param[2] =-6.45 ;
+  }
+
+  // 9/12 :
+  else if (CAS=="7727-37-9") {
+    name = "nitrogen";
+    M = 28.01;
+    state = 1;
+    Tm = 63.3;
+    Tb = 77.4;
+    Tc =  126.2;
+    Pc =  33.5;
+    Ho = 0.0;
+    rho_liq = 804.0;
+    dHvap = 5.58;
+    mu_param[0] = 90.30;
+    mu_param[1] = 46.41;
+    Cp_param[0] = 31.128;
+    Cp_param[1] = -1.356e-02 ;
+    Cp_param[2] = 2.678e-05;
+    Cp_param[3] =-1.17e-08 ;
+    Cp_liq      = 0.0;
+    Psat_param[0] = 14.9342;
+    Psat_param[1] =  588.72;
+    Psat_param[2] = -6.60;
+  }
+
+  // 10/12 :
+  else if (CAS=="124-38-9") {
+    name = "carbon-dioxide";
+    M =44.01;
+    state = 1;
+    Tm = 216.6;
+    Tb = 194.4;
+    Tc = 304.2;
+    Pc =  72.8;
+    Ho =  -393.41;
+    rho_liq = 777.0;
+    dHvap = 17.15;
+    mu_param[0] = 578.08;
+    mu_param[1] = 185.24 ;
+    Cp_param[0] = 19.782;
+    Cp_param[1] = 7.339e-02;
+    Cp_param[2] = -5.598e-05;
+    Cp_param[3] = 1.71e-08;
+    Cp_liq      = 0.0;
+    Psat_param[0] = 22.5898;
+    Psat_param[1] =3103.39 ;
+    Psat_param[2] =  -0.16;
+  }
+
+  // 11/12 :
+  else if (CAS=="7732-18-5") {
+    name = "water";
+    M =18.02;
+    state = 0;
+    Tm = 273.15;
+    Tb = 373.15;
+    Tc = 647.4;
+    Pc = 217.6;
+    Ho = -241.83;
+    rho_liq = 998 ;
+    dHvap = 40.66;
+    mu_param[0] = 658.25;
+    mu_param[1] = 283.16;
+    Cp_param[0] = 32.220;
+    Cp_param[1] = 1.923e-03 ;
+    Cp_param[2] = 1.055e-05;
+    Cp_param[3] = -3.59e-09;
+    Cp_liq      = 75.24;
+    Psat_param[0] = 18.3036;
+    Psat_param[1] = 3816.44;
+    Psat_param[2] = -46.13;
+  }
+
+  // 12/12 :
+  else if (CAS=="64-17-5") {
+    name = "ethanol";
+    M =46.07;
+    state =0 ;
+    Tm =159.1 ;
+    Tb = 351.5;
+    Tc =  516.2;
+    Pc =63.0 ;
+    Ho =  -234.8;
+    rho_liq = 789.0;
+    dHvap =38.74 ;
+    mu_param[0] = 686.64;
+    mu_param[1] = 300.88;
+    Cp_param[0] = 9.008;
+    Cp_param[1] =  2.139e-01;
+    Cp_param[2] = -8.385e-05 ;
+    Cp_param[3] =  1.37e-09;
+    Cp_liq      = 2.22;
+    Psat_param[0] = 18.9119;
+    Psat_param[1] =  3803.98;
+    Psat_param[2] = -41.68;
+  }
+
+  else {
+    cout << "ERROR 1\n\n";
+    exit(0);
+  }
+
+  thermo = new thermolib();
+  thermo->send(Pc,Tc, omega());
+
+
+}
+
+double chemical::K()
+{
+      thermo->set(P,T,v,n());
+      return thermo->K();
+}
+
+double chemical::mu()
+{
+	// Returns the fluid's viscosity in Pa.s
+   if (Tm<=T && T<=Tboil(P))
+      return pow(10,(mu_param[0]*(1.0/T-1.0/mu_param[1])-3));
+   else
+   {
+	   ofstream logf;
+      logf.open(MESSAGES, ios::app);
+      logf<<"   --> Warning <--  Cannot compute viscosity of "<<name<<".\n";
+      logf.close();
+      warning++;
+      check_error();
+      return 1.0;
+   }
+}
+
+double chemical::rho()
+{
+	// Returns the fluid's density in kg/m3, wether it's liquid or gas
+   if(state==0) tmp= rho_liq;
+   if(state==1)
+   {
+      find_v();
+      if (v>EPS) tmp= m/v;
+      else tmp= 0.0;
+   }
+   return  tmp;
+}
+
+double chemical::Cp() {
+  // cout<<endl<<"Cp de "<<name<<" a "<<T;
+  // Returns the fluid's Cp in J/mol.K
+  if(state==0) {
+
+    // tmp = Cp_liq;  // BUG : boucle infinie !!!
+    return Cp_liq; // SEB
+    
+  }
+  if(state==1 || T>Tboil(P)) {
+    tmp=0;
+    for (int i=0;i<4;i++)
+      tmp+=Cp_param[i]*pow(T,i);
+  }
+  else {
+    T=Tb;
+
+    tmp = Cp(); // ici boucle infinie si state==0 !!!
+
+  }
+  return tmp;
+}
+
+double chemical::Cp(bool q)
+{
+	// Returns the fluid's Cp in J/mol.K
+   if(q==0) tmp=Cp_liq;
+   if(q==1)
+   {
+   	   tmp=0;
+      for (int i=0;i<4;i++) tmp+=Cp_param[i]*pow(T,i);
+   }
+   return tmp;
+}
+
+double chemical::Psat()
+{
+   // Returns the fluid's vapor pressure in atm, using Antoine's equation
+   if(Tm<=T && T<=Tc)
+      return (exp(Psat_param[0]-Psat_param[1]/(T+Psat_param[2]))/760.01);
+   else
+   {
+
+      return Psat(Tb);
+   }
+}
+double chemical::Psat(double t)
+{
+   // Returns the fluid's vapor pressure in atm, using Antoine's equation
+      return (exp(Psat_param[0]-Psat_param[1]/(t+Psat_param[2]))/760.01);
+}
+
+double chemical::dH(double T1,double T2, double pres)
+{
+   //Enthalpy variation in kJ/mol. Does not affect any attributes of current object.
+   double energy=0, TT=Tboil(pres), vap=Hvap(TT);
+   int sign=1, i;
+   if (T2<T1) {sign = -1; energy=T1; T1=T2; T2=energy; energy=0;}
+   if (T1==T2) energy = 0.0;
+   if (T2<TT) energy = Cp_liq*(T2-T1)/1000;
+   if (TT<T1) for (i=1;i<=4;i++) energy+=Cp_param[i-1]*(pow(T2,i)-pow(T1,i))/i/1000;
+   if(T1<=TT && TT<=T2)
+   {
+      energy=Cp_liq*(TT-T1)/1000;
+      energy+=vap;
+      for (i=1;i<=4;i++) energy+=Cp_param[i-1]*(pow(T2,i)-pow(TT,i))/i/1000;
+   }
+   return energy*sign;
+}
+
+void chemical::find_T()
+{
+   if(n()>EPS && P>EPS)
+   {
+      thermo->set(P,T,v,n());
+      T=thermo->T();
+   }
+   else
+   {
+	   ofstream logf;
+      logf.open(MESSAGES, ios::app);
+      logf<<"   --> Warning <--  Cannot find T of "<<name<<".\n";
+      logf.close();
+      warning++;
+   }
+   check_error();
+}
+
+void chemical::find_P()
+{
+   if(n()>EPS && T>EPS)
+   {
+      thermo->set(P,T,v,n());
+      P=thermo->P();
+   }
+   else
+   {
+	   ofstream logf;
+      logf.open(MESSAGES, ios::app);
+      logf<<"   --> Warning <--  Cannot find P of "<<name<<".\n";
+      logf.close();
+      warning++;
+   }
+   check_error();
+}
+
+void chemical::find_v()
+{
+
+   if(state==0) v=m/rho_liq;
+   if(state==1 && P>EPS && T>EPS && m>EPS)
+   {
+      thermo->set(P,T,v,n());
+      v=thermo->v();
+   }
+}
+
+void chemical::find_state()
+{
+   ofstream logf;
+   if (T>Tc || P>Pc) state = 1;      //T or P is bigger than Tc or Pc
+   if (T<=Tm)                         //T is smaller than melting point
+   {
+	   ofstream logf;
+      logf.open(MESSAGES, ios::app);
+      logf<<"   --> Warning <--  The chemical "<<name<<" is solid.\n";
+      logf.close();
+      warning++;
+   }
+   check_error();
+   if (T<Tboil(P)) state=0;
+   else state=1;
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/chemical.hpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/chemical.hpp
index 344bd01..71b28a9 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/chemical.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/chemical.hpp
@@ -1,48 +1,48 @@
-#ifndef CHEMICAL_H
-#define CHEMICAL_H
-
-#include "thermolib.hpp"
-#include <string>
-using namespace std;
-
-class chemical
-{
- public:
-  string name;
-  string CAS;
-      double M;			//molar weight, in g/mol
-      bool state; 		//current state : 0=liquid 1=gas
-      double P, T, m, v;	//current values : P in atm, T in K, m in kg/s, v in m3/s
-
-      double n() {return 1000.0*m/M;} //mole flow in mol/s
-      double Hvap(double t) {return dHvap*pow((Tc-t)/(Tc-Tb),0.38);} //vaporization heat at specific T (Watson correlation)
-      double omega() {return ((-1.0)*log10(Psat(0.7*Tc)/Pc) -1.0);}   //Pitzer acentric factor
-      double Tboil(double p) {return (Psat_param[1]/(Psat_param[0]-log(760.01*p))-Psat_param[2]);}  //boiling tempararure at specific P
-      double mu(), rho(), Cp(), Cp(bool), Psat(), Psat(double);			  //T-dependant properties
-      double K();												//liquid-vapor equilibrium constant
-      double gamma(){return Cp(true)/(Cp(true)-8.3144);}//compressibility ratio =Cp/Cv
-      double dH(double, double, double);			//enthalpy variation kJ/mol
-      void find_T(), find_P(), find_v(), find_state();	//for gases only
-      double Tm, Tb, Tc, Pc;											//melting, boiling and critical temp. (K); critical pressure (atm)
-      double Ho;//standard formation heat in kJ/mol
-      
-      //private: 
-      int warning, error;
-      void check_error();
-      double dHvap, tmp;					//vaporization heat (kJ/mol)
-      double mu_param[2], Cp_param[4], Cp_liq, Psat_param[3], rho_liq; //correlations parameters
-      thermolib *thermo;
-
-      // public:
-  // chemical() {};
-
-  // copy-constr. :
-  chemical ( const chemical & chem );
-
-  chemical ( const string & chem_name );	//Contructor : initializes fields and reads CAS in the data file
-  void purge() {P=T=m=v=0.0; state=false;}
-  ~chemical(){delete thermo;};
-};
-
-#endif
-
+#ifndef CHEMICAL_H
+#define CHEMICAL_H
+
+#include "thermolib.hpp"
+#include <string>
+using namespace std;
+
+class chemical
+{
+ public:
+  string name;
+  string CAS;
+      double M;			//molar weight, in g/mol
+      bool state; 		//current state : 0=liquid 1=gas
+      double P, T, m, v;	//current values : P in atm, T in K, m in kg/s, v in m3/s
+
+      double n() {return 1000.0*m/M;} //mole flow in mol/s
+      double Hvap(double t) {return dHvap*pow((Tc-t)/(Tc-Tb),0.38);} //vaporization heat at specific T (Watson correlation)
+      double omega() {return ((-1.0)*log10(Psat(0.7*Tc)/Pc) -1.0);}   //Pitzer acentric factor
+      double Tboil(double p) {return (Psat_param[1]/(Psat_param[0]-log(760.01*p))-Psat_param[2]);}  //boiling tempararure at specific P
+      double mu(), rho(), Cp(), Cp(bool), Psat(), Psat(double);			  //T-dependant properties
+      double K();												//liquid-vapor equilibrium constant
+      double gamma(){return Cp(true)/(Cp(true)-8.3144);}//compressibility ratio =Cp/Cv
+      double dH(double, double, double);			//enthalpy variation kJ/mol
+      void find_T(), find_P(), find_v(), find_state();	//for gases only
+      double Tm, Tb, Tc, Pc;											//melting, boiling and critical temp. (K); critical pressure (atm)
+      double Ho;//standard formation heat in kJ/mol
+      
+      //private: 
+      int warning, error;
+      void check_error();
+      double dHvap, tmp;					//vaporization heat (kJ/mol)
+      double mu_param[2], Cp_param[4], Cp_liq, Psat_param[3], rho_liq; //correlations parameters
+      thermolib *thermo;
+
+      // public:
+  // chemical() {};
+
+  // copy-constr. :
+  chemical ( const chemical & chem );
+
+  chemical ( const string & chem_name );	//Contructor : initializes fields and reads CAS in the data file
+  void purge() {P=T=m=v=0.0; state=false;}
+  ~chemical(){delete thermo;};
+};
+
+#endif
+
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/column.cpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/column.cpp
index f4a35c1..85ab3e0 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/column.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/column.cpp
@@ -1,290 +1,290 @@
-#include "column.hpp"
-using namespace std;
-
-column::column(stream* in, stream* out_B, stream* out_D)
-{
-  F = in;
-  B = out_B;
-  D = out_D;
-  L=new stream("columnL", F->nb, F->chem);
-  V=new stream("columnV", F->nb, F->chem);
-  flasher = new flash(F, L, V);
-  alpha_1 = new double[F->nb];
-  alpha_f = new double[F->nb];
-  alpha_N = new double[F->nb];
-  alpha_m = new double[F->nb];
-  T_d=0; T_b=0; T_f=F->T;
-//   for(i=0;i<F->nb;i++)
-//     if(F->chem[i]->Tc<F->T && F->chem[i]->m>EPS)
-//       {
-// 	logf.open(MESSAGES,ios::app);
-// 	logf<<"   --> Warning <--  Presence of gas in column.\n";
-// 	logf.close();
-// 	i=F->nb;
-//       }
-}
-
-column::~column()
-{
-   delete L; delete V; delete flasher;
-   delete []  alpha_1;
-   delete [] alpha_f;
-   delete [] alpha_N;
-   delete [] alpha_m;
-}
-
-void column::set(double p, int lk, double xd, int hk, double xb)
-{
-   P=p;
-   HK=hk-1; x_B=xb;
-   LK=lk-1; x_D=xd;
-   //logf.open(MESSAGES, ios::app);
- //  F->write(); system("pause");
- //  if (F->chem[LK]->m<EPS) logf<<"   ==> Error <==  Flow of light key in column "<<name<<" is zero.\n";
-//   if (F->chem[HK]->m<EPS) logf<<"   ==> Error <==  Flow of heavy key in column "<<name<<" is zero.\n";
-   //logf.close();
-}
-
-bool column::solve()
-{
-
-   OK=true;
- //  B->thermo=F->thermo; D->thermo=F->thermo;
-   //flash once the feed stream
-
-
-   
-   flasher->set(P,F->T);
-
-   flasher->adiabatic();
-
-
-   T_f=flasher->T;
-   L->set(P, T_f); V->set(P, T_f);
-   // L->write(); V->write();  TOTO
-   //check if a column is needed; if not, bypass block
-   if(F->chem[LK]->n()/F->n()<0.001) OK=false;
-   if(F->chem[HK]->n()/F->n()<0.001) OK=false;
-   if(!OK)
-     return false;
-//    {
-//       strcpy(filename, B->name); *B=*L; B->set(filename); B->write();
-//       strcpy(filename, D->name); *D=*V; D->set(filename); D->write();
-//    }
-   else
-   {
-
-
-
-
-
-      //apply the FUG method
-      first_split();
-      Nmin = Fenske();
-      N=Nmin+1;
-      while (fabs(N-Nmin)>0.1)
-      {
-         N=Nmin;
-         D->set(P, T_f); T_d=D->bp;
-         B->set(P, T_f); T_b=B->bp;
-         set_alpha();
-         distribute();
-         Nmin = Fenske();
-         if (Nmin<1) Nmin=1;
-      }
-      D->set(P, T_d);
-      B->set(P, T_b);
-      if(fabs(Nmin)<=MIN_PLATES || fabs(Nmin)>MAX_PLATES)  OK=false;
-      else
-      {
-         Rmin = Underwood();
-         if(Rmin>100) Rmin=100;
-         if(L->chem[HK]->m+L->chem[LK]->m<EPS) Rmin=10.0;
-         if (Nmin<5) Ract = 1.5*Rmin;
-         if (5<Nmin && Nmin<15) Ract = 1.3*Rmin;
-         if (15<=Nmin) Ract = 1.1*Rmin;
-         N = Gilliland();
-         feed = Kirkbride();
-         condense();
-         reboil();
-      }
-      // B->write();  TOTO
-      // D->write(); TOTO
-   }
-   return OK;
-}
-
-void column::first_split()
-{
-   B->purge(); D->purge();
-   set_alpha();
-   //Check if LK is really lighter than HK
-   if (alpha_m[LK]<1)
-   {
-//       logf.open(MESSAGES,ios::app);
-//       logf<<"   --> Warning <--  Swapping keys in column "<<name<<".\n";
-//       logf.close();
-      feed=LK; LK=HK; HK=feed; set_alpha();
-   }
-   for(i=0;i<F->nb;i++)
-   {
-      if (i!=LK && i!=HK && F->chem[i]->m>EPS)
-      {
-         if(alpha_f[i] > alpha_f[LK]) //volatile
-         {
-            D->chem[i]->m = (alpha_f[i]-alpha_f[LK])/alpha_f[i]*F->chem[i]->m;
-            D->m += D->chem[i]->m;
-            B->chem[i]->m = F->chem[i]->m-D->chem[i]->m;
-            B->m+=B->chem[i]->m;
-         }
-         if(alpha_f[i] < 1)           //not volatile
-         {
-            B->chem[i]->m = (alpha_f[HK]-alpha_f[i])/alpha_f[i]*F->chem[i]->m;
-            B->m += B->chem[i]->m;
-            D->chem[i]->m = F->chem[i]->m-B->chem[i]->m;
-            D->m+=D->chem[i]->m;
-         }
-         if(1 <= alpha_f[i] && alpha_f[i]<=alpha_f[LK]) //ambiguous volatility
-         {
-            D->chem[i]->m = (alpha_f[i]-1)/(alpha_f[LK]-1)*F->chem[i]->m;
-            B->chem[i]->m = F->chem[i]->m-D->chem[i]->m;
-            D->m+=D->chem[i]->m;
-            B->m+=B->chem[i]->m;
-         }
-      }
-   }
-   D->chem[HK]->m = D->n()*x_D/(1-x_D)*D->chem[HK]->M/1000.0;
-   if(D->chem[HK]->m<EPS) D->chem[HK]->m=0.01*F->chem[HK]->m;
-   B->chem[LK]->m = B->n()*x_B/(1-x_B)*B->chem[LK]->M/1000.0;
-   if(B->chem[LK]->m<EPS) B->chem[LK]->m=0.01*F->chem[LK]->m;
-   B->chem[HK]->m = F->chem[HK]->m - D->chem[HK]->m;
-   D->chem[LK]->m = F->chem[LK]->m - B->chem[LK]->m;
-   D->m += (D->chem[LK]->m + D->chem[HK]->m);
-   B->m += (B->chem[LK]->m + B->chem[HK]->m);
-}
-void column::distribute()
-{
-   D->m=0; B->m=0;
-   for(i=0;i<F->nb;i++)
-   {
-      if (i!=LK && i!=HK  && F->chem[i]->m>EPS)
-      {
-         if(alpha_m[i] > 1) //volatile and ambiguous
-         {
-            B->chem[i]->m = F->chem[i]->m/(1+D->chem[HK]->n()/B->chem[HK]->n()*pow(alpha_m[i], Nmin));
-            D->chem[i]->m = F->chem[i]->m - B->chem[i]->m;
-         }
-         if(alpha_m[i] <= 1)           //not volatile
-         {
-            D->chem[i]->m = F->chem[i]->m*(D->chem[HK]->n()/B->chem[HK]->n()*pow(alpha_m[i], Nmin))/(1+D->chem[HK]->n()/B->chem[HK]->n()*pow(alpha_m[i], Nmin));
-            B->chem[i]->m = F->chem[i]->m - D->chem[i]->m;
-         }
-         D->m+=D->chem[i]->m;
-         B->m+=B->chem[i]->m;
-      }
-   }
-   D->m += (D->chem[LK]->m + D->chem[HK]->m);
-   B->m += (B->chem[LK]->m + B->chem[HK]->m);
-}
-
-void column::set_alpha()
-{
-   for(i=0;i<F->nb; i++)
-   {
-      if (T_b>EPS && F->chem[i]->m>EPS) alpha_1[i] = F->chem[i]->Psat(T_b)/F->chem[HK]->Psat(T_b);
-      else alpha_1[i]=0;
-      if (T_d>EPS&& F->chem[i]->m>EPS) alpha_N[i] = F->chem[i]->Psat(T_d)/F->chem[HK]->Psat(T_d);
-      else alpha_N[i]=0;
-      if (T_f>EPS&& F->chem[i]->m>EPS) alpha_f[i] = F->chem[i]->Psat(T_f)/F->chem[HK]->Psat(T_f);
-      else alpha_f[i]=0;
-      alpha_m[i] = pow(alpha_1[i]*alpha_f[i]*alpha_N[i], 1.0/3.0);
-   }
-   for(i=0;i<F->nb;i++) if(alpha_m[i]<EPS&& F->chem[i]->m>EPS) alpha_m[i] = alpha_f[i];
-}
-
-void column::reboil()
-{
-   Q_reboil = 0.0;
-   for (i=0;i<F->nb;i++) if(F->chem[i]->m>EPS)
-   {   
-      Q_reboil += B->chem[i]->Cp(false)*(T_b-T_f)*B->chem[i]->n()/1000.0; //energy to go from input to bottoms T
-      Q_reboil += D->chem[i]->Cp(false)*(T_f-T_d)*D->chem[i]->n()/1000.0; //energy to go from input to tops T
-   }
-   Q_reboil += Q_condens;
-}
-
-void column::condense()
-{
-   Q_condens = 0.0;
-   for (i=0;i<F->nb;i++) if(F->chem[i]->m>EPS)
-   {   
-      Q_condens += D->chem[i]->Hvap(T_d)*(1+Ract)*D->chem[i]->n();
-   }
-}
-
-void column::write()
-{
-  cout << setprecision(11);
-
-  cout << "WRITE FILE " << RUNTIME << name << ".unit" << " :\n\tBEGIN\n";
-  cout <<"\t>>         "<<name;
-  cout <<endl<<"\t>>           stream in: "<<F->name;
-  cout <<endl<<"\t>>           streams out: "<<B->name<<" (bot.)  "<<D->name<<" (top.)";
-  cout <<endl<<"\t>>           P = "<<P<<" atm,  T(0) = "<<T_b<<",  T("<<feed<<") = "<<T_f<<",  T("<<int(N)<<") = "<<T_d<<"  K";
-  cout <<endl<<"\t>>           Number of stages: "<<int(N)<<" (feeding at stage "<<feed<<")";
-  cout <<endl<<setiosflags(ios::fixed|ios::showpoint)<<setprecision(5)<<"\t>>           LK purity = "<<D->chem[LK]->n()/D->n()<<"  HK purity = "<<B->chem[HK]->n()/B->n();
-  cout <<endl<<"\t>>           Reboiler duty: "<<Q_reboil<<" kW   Condenser duty: "<<(-1)*Q_condens<<" kW";
-  cout << "\n\tEND\n\n";
-  cost(); water(); power();
-}
-
-double column::get_cost()
-{
-  //cost of vessel
-  vol=(0.45*N)*(pow(300*D->v, 1.5)/2.4/sqrt(B->v))*sqrt(D->m/B->m);
-  if(vol<0.3) vol=0.3; if(vol>520)vol=520;
-  money = 3.4974+0.4485*log10(vol)+0.1074*pow(log10(vol),2);
-  money = pow(10, money);
-  P= (P-1)*101.325/100;
-  diam=sqrt(4.0*vol/pi/N/0.45);
-  vol=(P+1)*diam/(317.46*(850-0.6*(P+1)))+0.0315;
-  money *=(2.25+ 1.82*vol*2.2);
-  //cost of trays
-  vol = (pow(300*D->v, 1.5)/2.4/sqrt(B->v))*sqrt(D->m/B->m);
-  diam = 2.9949+0.4465*log10(vol)+0.3961*pow(log10(vol),2);
-  money+=1.5*pow(10, diam);
-  //cost of reboiler     U=5250W/m2.K
-  vol=fabs(Q_reboil)/0.85/5.25/15.0;
-  if(vol<10) vol=10; if(vol>100) vol=100;
-  vol = 4.4646-0.5277*log10(vol)+0.3955*pow(log10(vol),2);
-  money += (1.63+1.66*2.5)*pow(10, vol);
-  //cost of condenser    U=1850W/m2.K
-  vol=fabs(Q_condens)/0.85/1.85/(0.5*(T_d-298));
-  if(vol<1) vol=1; if(vol>100) vol=100;
-  vol = 3.9912+0.0668*log10(vol)+0.243*pow(log10(vol),2);
-  money += (1.74+1.55*2.5)*pow(10, vol);
-  money = money*MS_YEAR/MS_2001;
-  return money;
-}
-
-
-void column::cost()
-{
-  cout << "WRITE FILE " << RUNTIME << name << ".cost" << " :\n\tBEGIN\n";
-  cout << "\t>>" << get_cost();
-  cout << "\n\tEND\n\n";
-}
-void column::power()
-{
-  cout << "WRITE FILE " << RUNTIME << name << ".power" << " :\n\tBEGIN\n";
-  money =(Q_reboil/0.85-Q_condens);
-  cout << "\t>>" << money;
-  cout << "\n\tEND\n\n";
-}
-void column::water()
-{
-  cout << "WRITE FILE " << RUNTIME << name << ".water" << " :\n\tBEGIN\n";
-  money = (fabs(Q_condens)/(4.185*0.85*0.25*fabs(T_d-298)));
-  cout << "\t>>" << money;
-  cout << "\n\tEND\n\n";
-}
+#include "column.hpp"
+using namespace std;
+
+column::column(stream* in, stream* out_B, stream* out_D)
+{
+  F = in;
+  B = out_B;
+  D = out_D;
+  L=new stream("columnL", F->nb, F->chem);
+  V=new stream("columnV", F->nb, F->chem);
+  flasher = new flash(F, L, V);
+  alpha_1 = new double[F->nb];
+  alpha_f = new double[F->nb];
+  alpha_N = new double[F->nb];
+  alpha_m = new double[F->nb];
+  T_d=0; T_b=0; T_f=F->T;
+//   for(i=0;i<F->nb;i++)
+//     if(F->chem[i]->Tc<F->T && F->chem[i]->m>EPS)
+//       {
+// 	logf.open(MESSAGES,ios::app);
+// 	logf<<"   --> Warning <--  Presence of gas in column.\n";
+// 	logf.close();
+// 	i=F->nb;
+//       }
+}
+
+column::~column()
+{
+   delete L; delete V; delete flasher;
+   delete []  alpha_1;
+   delete [] alpha_f;
+   delete [] alpha_N;
+   delete [] alpha_m;
+}
+
+void column::set(double p, int lk, double xd, int hk, double xb)
+{
+   P=p;
+   HK=hk-1; x_B=xb;
+   LK=lk-1; x_D=xd;
+   //logf.open(MESSAGES, ios::app);
+ //  F->write(); system("pause");
+ //  if (F->chem[LK]->m<EPS) logf<<"   ==> Error <==  Flow of light key in column "<<name<<" is zero.\n";
+//   if (F->chem[HK]->m<EPS) logf<<"   ==> Error <==  Flow of heavy key in column "<<name<<" is zero.\n";
+   //logf.close();
+}
+
+bool column::solve()
+{
+
+   OK=true;
+ //  B->thermo=F->thermo; D->thermo=F->thermo;
+   //flash once the feed stream
+
+
+   
+   flasher->set(P,F->T);
+
+   flasher->adiabatic();
+
+
+   T_f=flasher->T;
+   L->set(P, T_f); V->set(P, T_f);
+   // L->write(); V->write();  TOTO
+   //check if a column is needed; if not, bypass block
+   if(F->chem[LK]->n()/F->n()<0.001) OK=false;
+   if(F->chem[HK]->n()/F->n()<0.001) OK=false;
+   if(!OK)
+     return false;
+//    {
+//       strcpy(filename, B->name); *B=*L; B->set(filename); B->write();
+//       strcpy(filename, D->name); *D=*V; D->set(filename); D->write();
+//    }
+   else
+   {
+
+
+
+
+
+      //apply the FUG method
+      first_split();
+      Nmin = Fenske();
+      N=Nmin+1;
+      while (fabs(N-Nmin)>0.1)
+      {
+         N=Nmin;
+         D->set(P, T_f); T_d=D->bp;
+         B->set(P, T_f); T_b=B->bp;
+         set_alpha();
+         distribute();
+         Nmin = Fenske();
+         if (Nmin<1) Nmin=1;
+      }
+      D->set(P, T_d);
+      B->set(P, T_b);
+      if(fabs(Nmin)<=MIN_PLATES || fabs(Nmin)>MAX_PLATES)  OK=false;
+      else
+      {
+         Rmin = Underwood();
+         if(Rmin>100) Rmin=100;
+         if(L->chem[HK]->m+L->chem[LK]->m<EPS) Rmin=10.0;
+         if (Nmin<5) Ract = 1.5*Rmin;
+         if (5<Nmin && Nmin<15) Ract = 1.3*Rmin;
+         if (15<=Nmin) Ract = 1.1*Rmin;
+         N = Gilliland();
+         feed = Kirkbride();
+         condense();
+         reboil();
+      }
+      // B->write();  TOTO
+      // D->write(); TOTO
+   }
+   return OK;
+}
+
+void column::first_split()
+{
+   B->purge(); D->purge();
+   set_alpha();
+   //Check if LK is really lighter than HK
+   if (alpha_m[LK]<1)
+   {
+//       logf.open(MESSAGES,ios::app);
+//       logf<<"   --> Warning <--  Swapping keys in column "<<name<<".\n";
+//       logf.close();
+      feed=LK; LK=HK; HK=feed; set_alpha();
+   }
+   for(i=0;i<F->nb;i++)
+   {
+      if (i!=LK && i!=HK && F->chem[i]->m>EPS)
+      {
+         if(alpha_f[i] > alpha_f[LK]) //volatile
+         {
+            D->chem[i]->m = (alpha_f[i]-alpha_f[LK])/alpha_f[i]*F->chem[i]->m;
+            D->m += D->chem[i]->m;
+            B->chem[i]->m = F->chem[i]->m-D->chem[i]->m;
+            B->m+=B->chem[i]->m;
+         }
+         if(alpha_f[i] < 1)           //not volatile
+         {
+            B->chem[i]->m = (alpha_f[HK]-alpha_f[i])/alpha_f[i]*F->chem[i]->m;
+            B->m += B->chem[i]->m;
+            D->chem[i]->m = F->chem[i]->m-B->chem[i]->m;
+            D->m+=D->chem[i]->m;
+         }
+         if(1 <= alpha_f[i] && alpha_f[i]<=alpha_f[LK]) //ambiguous volatility
+         {
+            D->chem[i]->m = (alpha_f[i]-1)/(alpha_f[LK]-1)*F->chem[i]->m;
+            B->chem[i]->m = F->chem[i]->m-D->chem[i]->m;
+            D->m+=D->chem[i]->m;
+            B->m+=B->chem[i]->m;
+         }
+      }
+   }
+   D->chem[HK]->m = D->n()*x_D/(1-x_D)*D->chem[HK]->M/1000.0;
+   if(D->chem[HK]->m<EPS) D->chem[HK]->m=0.01*F->chem[HK]->m;
+   B->chem[LK]->m = B->n()*x_B/(1-x_B)*B->chem[LK]->M/1000.0;
+   if(B->chem[LK]->m<EPS) B->chem[LK]->m=0.01*F->chem[LK]->m;
+   B->chem[HK]->m = F->chem[HK]->m - D->chem[HK]->m;
+   D->chem[LK]->m = F->chem[LK]->m - B->chem[LK]->m;
+   D->m += (D->chem[LK]->m + D->chem[HK]->m);
+   B->m += (B->chem[LK]->m + B->chem[HK]->m);
+}
+void column::distribute()
+{
+   D->m=0; B->m=0;
+   for(i=0;i<F->nb;i++)
+   {
+      if (i!=LK && i!=HK  && F->chem[i]->m>EPS)
+      {
+         if(alpha_m[i] > 1) //volatile and ambiguous
+         {
+            B->chem[i]->m = F->chem[i]->m/(1+D->chem[HK]->n()/B->chem[HK]->n()*pow(alpha_m[i], Nmin));
+            D->chem[i]->m = F->chem[i]->m - B->chem[i]->m;
+         }
+         if(alpha_m[i] <= 1)           //not volatile
+         {
+            D->chem[i]->m = F->chem[i]->m*(D->chem[HK]->n()/B->chem[HK]->n()*pow(alpha_m[i], Nmin))/(1+D->chem[HK]->n()/B->chem[HK]->n()*pow(alpha_m[i], Nmin));
+            B->chem[i]->m = F->chem[i]->m - D->chem[i]->m;
+         }
+         D->m+=D->chem[i]->m;
+         B->m+=B->chem[i]->m;
+      }
+   }
+   D->m += (D->chem[LK]->m + D->chem[HK]->m);
+   B->m += (B->chem[LK]->m + B->chem[HK]->m);
+}
+
+void column::set_alpha()
+{
+   for(i=0;i<F->nb; i++)
+   {
+      if (T_b>EPS && F->chem[i]->m>EPS) alpha_1[i] = F->chem[i]->Psat(T_b)/F->chem[HK]->Psat(T_b);
+      else alpha_1[i]=0;
+      if (T_d>EPS&& F->chem[i]->m>EPS) alpha_N[i] = F->chem[i]->Psat(T_d)/F->chem[HK]->Psat(T_d);
+      else alpha_N[i]=0;
+      if (T_f>EPS&& F->chem[i]->m>EPS) alpha_f[i] = F->chem[i]->Psat(T_f)/F->chem[HK]->Psat(T_f);
+      else alpha_f[i]=0;
+      alpha_m[i] = pow(alpha_1[i]*alpha_f[i]*alpha_N[i], 1.0/3.0);
+   }
+   for(i=0;i<F->nb;i++) if(alpha_m[i]<EPS&& F->chem[i]->m>EPS) alpha_m[i] = alpha_f[i];
+}
+
+void column::reboil()
+{
+   Q_reboil = 0.0;
+   for (i=0;i<F->nb;i++) if(F->chem[i]->m>EPS)
+   {   
+      Q_reboil += B->chem[i]->Cp(false)*(T_b-T_f)*B->chem[i]->n()/1000.0; //energy to go from input to bottoms T
+      Q_reboil += D->chem[i]->Cp(false)*(T_f-T_d)*D->chem[i]->n()/1000.0; //energy to go from input to tops T
+   }
+   Q_reboil += Q_condens;
+}
+
+void column::condense()
+{
+   Q_condens = 0.0;
+   for (i=0;i<F->nb;i++) if(F->chem[i]->m>EPS)
+   {   
+      Q_condens += D->chem[i]->Hvap(T_d)*(1+Ract)*D->chem[i]->n();
+   }
+}
+
+void column::write()
+{
+  cout << setprecision(11);
+
+  cout << "WRITE FILE " << RUNTIME << name << ".unit" << " :\n\tBEGIN\n";
+  cout <<"\t>>         "<<name;
+  cout <<endl<<"\t>>           stream in: "<<F->name;
+  cout <<endl<<"\t>>           streams out: "<<B->name<<" (bot.)  "<<D->name<<" (top.)";
+  cout <<endl<<"\t>>           P = "<<P<<" atm,  T(0) = "<<T_b<<",  T("<<feed<<") = "<<T_f<<",  T("<<int(N)<<") = "<<T_d<<"  K";
+  cout <<endl<<"\t>>           Number of stages: "<<int(N)<<" (feeding at stage "<<feed<<")";
+  cout <<endl<<setiosflags(ios::fixed|ios::showpoint)<<setprecision(5)<<"\t>>           LK purity = "<<D->chem[LK]->n()/D->n()<<"  HK purity = "<<B->chem[HK]->n()/B->n();
+  cout <<endl<<"\t>>           Reboiler duty: "<<Q_reboil<<" kW   Condenser duty: "<<(-1)*Q_condens<<" kW";
+  cout << "\n\tEND\n\n";
+  cost(); water(); power();
+}
+
+double column::get_cost()
+{
+  //cost of vessel
+  vol=(0.45*N)*(pow(300*D->v, 1.5)/2.4/sqrt(B->v))*sqrt(D->m/B->m);
+  if(vol<0.3) vol=0.3; if(vol>520)vol=520;
+  money = 3.4974+0.4485*log10(vol)+0.1074*pow(log10(vol),2);
+  money = pow(10, money);
+  P= (P-1)*101.325/100;
+  diam=sqrt(4.0*vol/pi/N/0.45);
+  vol=(P+1)*diam/(317.46*(850-0.6*(P+1)))+0.0315;
+  money *=(2.25+ 1.82*vol*2.2);
+  //cost of trays
+  vol = (pow(300*D->v, 1.5)/2.4/sqrt(B->v))*sqrt(D->m/B->m);
+  diam = 2.9949+0.4465*log10(vol)+0.3961*pow(log10(vol),2);
+  money+=1.5*pow(10, diam);
+  //cost of reboiler     U=5250W/m2.K
+  vol=fabs(Q_reboil)/0.85/5.25/15.0;
+  if(vol<10) vol=10; if(vol>100) vol=100;
+  vol = 4.4646-0.5277*log10(vol)+0.3955*pow(log10(vol),2);
+  money += (1.63+1.66*2.5)*pow(10, vol);
+  //cost of condenser    U=1850W/m2.K
+  vol=fabs(Q_condens)/0.85/1.85/(0.5*(T_d-298));
+  if(vol<1) vol=1; if(vol>100) vol=100;
+  vol = 3.9912+0.0668*log10(vol)+0.243*pow(log10(vol),2);
+  money += (1.74+1.55*2.5)*pow(10, vol);
+  money = money*MS_YEAR/MS_2001;
+  return money;
+}
+
+
+void column::cost()
+{
+  cout << "WRITE FILE " << RUNTIME << name << ".cost" << " :\n\tBEGIN\n";
+  cout << "\t>>" << get_cost();
+  cout << "\n\tEND\n\n";
+}
+void column::power()
+{
+  cout << "WRITE FILE " << RUNTIME << name << ".power" << " :\n\tBEGIN\n";
+  money =(Q_reboil/0.85-Q_condens);
+  cout << "\t>>" << money;
+  cout << "\n\tEND\n\n";
+}
+void column::water()
+{
+  cout << "WRITE FILE " << RUNTIME << name << ".water" << " :\n\tBEGIN\n";
+  money = (fabs(Q_condens)/(4.185*0.85*0.25*fabs(T_d-298)));
+  cout << "\t>>" << money;
+  cout << "\n\tEND\n\n";
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/column.hpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/column.hpp
index 8dedb5a..cfd1daf 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/column.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/column.hpp
@@ -1,61 +1,61 @@
-/*
-This unit simulates a distillation column, using
-the FUG method.
-(ref : Seader & Henley).
-
-Structure in the .process file:
-column {name} {pressure} {index of input stream} {index of bottoms and heads} {indexes of light key and heavy key} {x_LK and x_HK}
-
-How to use:
-   1- Call the constructor : col = new column(in, out_B, out_D);		//in is F, out_B is B, out_D is D  column(nb, chem_list)
-   set(in, out_B, out_D)
-   2- Set operating conditions : col->set(pressure, LK, x_LK, HK, x_HK);		// LK and HK and integer indexes, x_LK is the undesired mole fraction of LK in B, x_HK...
-   3- Set the name : col->set(name);
-   4- Run the model: col->solve();
-*/
-#ifndef COLUMN_H
-#define COLUMN_H
-
-#include "flash.hpp"
-using namespace std;
-
-class column
-{
-private:
-  //  ofstream results, logf;
-  bool OK;
-  string name;
-  stream *F, *B, *D, *L, *V ;
-  int LK, HK, feed, i;
-  double x_B, x_D, T_b, T_d, T_f, vol, money, diam;
-  double Nmin, N, Rmin, Ract,  tmp, Q_condens, Q_reboil;
-  double *alpha_1, *alpha_f, *alpha_N, *alpha_m;
-  flash *flasher;
-  void set_alpha(), first_split(), distribute(), condense(), reboil();
-  double Fenske() { return log10(D->chem[LK]->n()*B->chem[HK]->n()/D->chem[HK]->n()/B->chem[LK]->n())/log10(alpha_m[LK]);}
-  double Underwood() {return L->n()*(D->chem[LK]->n()/L->chem[LK]->n()-alpha_m[LK]*D->chem[HK]->n()/L->chem[HK]->n())/(D->n()*(alpha_m[LK]-1));}
-  double Gilliland(){N=(Ract-Rmin)/(Ract+1); tmp=1-exp((1+54.4*N)*(N-1)/(11+117.2*N)/pow(N, 0.5)); return (tmp+Nmin)/(1-tmp);}
-  int Kirkbride() {tmp=pow(B->n()*F->chem[HK]->n()*pow(x_B/x_D,2)/F->chem[LK]->n()/D->n(), 0.206); return int(N/(tmp+1));}
-  
-public:
-  // column(){P=0.0;}
-  //	  column(int, chemical*);
-  //	  void set(stream*&, stream*&, stream*&);
-  column(stream*, stream*, stream*);
-  ~column();
-  double P;
-  void set(double, int, double, int, double);
-  void set( const string & n ) { name = n; }
-  bool solve();								
-  void write();
-  void cost(), water(), power();
-
-  double get_cost ( void );
-  double get_power ( void ) const { return Q_reboil/0.85-Q_condens; }
-
-  double get_water ( void ) const { return fabs(Q_condens)/(4.185*0.85*0.25*fabs(T_d-298)); }
-
-  int get_N ( void ) const { return (int) N; }
-
-};
-#endif
+/*
+This unit simulates a distillation column, using
+the FUG method.
+(ref : Seader & Henley).
+
+Structure in the .process file:
+column {name} {pressure} {index of input stream} {index of bottoms and heads} {indexes of light key and heavy key} {x_LK and x_HK}
+
+How to use:
+   1- Call the constructor : col = new column(in, out_B, out_D);		//in is F, out_B is B, out_D is D  column(nb, chem_list)
+   set(in, out_B, out_D)
+   2- Set operating conditions : col->set(pressure, LK, x_LK, HK, x_HK);		// LK and HK and integer indexes, x_LK is the undesired mole fraction of LK in B, x_HK...
+   3- Set the name : col->set(name);
+   4- Run the model: col->solve();
+*/
+#ifndef COLUMN_H
+#define COLUMN_H
+
+#include "flash.hpp"
+using namespace std;
+
+class column
+{
+private:
+  //  ofstream results, logf;
+  bool OK;
+  string name;
+  stream *F, *B, *D, *L, *V ;
+  int LK, HK, feed, i;
+  double x_B, x_D, T_b, T_d, T_f, vol, money, diam;
+  double Nmin, N, Rmin, Ract,  tmp, Q_condens, Q_reboil;
+  double *alpha_1, *alpha_f, *alpha_N, *alpha_m;
+  flash *flasher;
+  void set_alpha(), first_split(), distribute(), condense(), reboil();
+  double Fenske() { return log10(D->chem[LK]->n()*B->chem[HK]->n()/D->chem[HK]->n()/B->chem[LK]->n())/log10(alpha_m[LK]);}
+  double Underwood() {return L->n()*(D->chem[LK]->n()/L->chem[LK]->n()-alpha_m[LK]*D->chem[HK]->n()/L->chem[HK]->n())/(D->n()*(alpha_m[LK]-1));}
+  double Gilliland(){N=(Ract-Rmin)/(Ract+1); tmp=1-exp((1+54.4*N)*(N-1)/(11+117.2*N)/pow(N, 0.5)); return (tmp+Nmin)/(1-tmp);}
+  int Kirkbride() {tmp=pow(B->n()*F->chem[HK]->n()*pow(x_B/x_D,2)/F->chem[LK]->n()/D->n(), 0.206); return int(N/(tmp+1));}
+  
+public:
+  // column(){P=0.0;}
+  //	  column(int, chemical*);
+  //	  void set(stream*&, stream*&, stream*&);
+  column(stream*, stream*, stream*);
+  ~column();
+  double P;
+  void set(double, int, double, int, double);
+  void set( const string & n ) { name = n; }
+  bool solve();								
+  void write();
+  void cost(), water(), power();
+
+  double get_cost ( void );
+  double get_power ( void ) const { return Q_reboil/0.85-Q_condens; }
+
+  double get_water ( void ) const { return fabs(Q_condens)/(4.185*0.85*0.25*fabs(T_d-298)); }
+
+  int get_N ( void ) const { return (int) N; }
+
+};
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/combrx.cpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/combrx.cpp
index 0f30f1a..83ad673 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/combrx.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/combrx.cpp
@@ -1,66 +1,66 @@
-#include "combrx.hpp"
-using namespace std;
-
-combrx::combrx ( const string & cas ) {
-
-  // combustion.prop :
-  // -----------------
-  CAS = cas;
-
-  if (CAS=="64-17-5") {
-    nO2  = 3;
-    nCO2 = 2;
-    nH2O = 3;
-  }
-  else if (CAS=="74-82-8") {
-    nO2  = 2;
-    nCO2 = 1;
-    nH2O = 2;
-  }
-  else if (CAS=="1333-74-0") {
-    nO2  = 0.5;
-    nCO2 = 0;
-    nH2O = 1;
-  }
-  else if (CAS=="100-42-5") {
-    nO2  = 10;
-    nCO2 = 8;
-    nH2O = 4;
-  }
-  else if (CAS=="74-85-1") {
-    nO2  = 3;
-    nCO2 = 2;
-    nH2O = 2;
-  }
-  else if (CAS=="108-88-3") {
-    nO2  = 9;
-    nCO2 = 7;
-    nH2O = 4;
-  }
-  else if (CAS=="100-41-4") {
-    nO2  = 10.5;
-    nCO2 = 8;
-    nH2O = 5;
-  }
-  else if (CAS=="71-43-2") {
-    nO2  = 7.5;
-    nCO2 = 6;
-    nH2O = 3;
-  }
-  else {
-    cout << "ERROR 21" << endl;
-    exit(0);
-  }
-
-  COMB = new chemical(CAS);
-  O2   = new chemical("7782-44-7");
-  N2   = new chemical("7727-37-9");
-  CO2  = new chemical("124-38-9");
-  H2O  = new chemical("7732-18-5");
-  Hro  = CO2->Ho*nCO2 + nH2O*(H2O->Ho - H2O->dHvap) - COMB->Ho;
-  LFLo = -3420.0/Hro + 0.569e-3*Hro + 0.0538e-6*pow(Hro,2) + 1.8;
-  LFLo = LFLo/100.0;
-  UFLo = 0.0063*Hro + 0.567e-6*pow(Hro, 2) + 23.5;
-  UFLo = UFLo/100.0;
-
-}
+#include "combrx.hpp"
+using namespace std;
+
+combrx::combrx ( const string & cas ) {
+
+  // combustion.prop :
+  // -----------------
+  CAS = cas;
+
+  if (CAS=="64-17-5") {
+    nO2  = 3;
+    nCO2 = 2;
+    nH2O = 3;
+  }
+  else if (CAS=="74-82-8") {
+    nO2  = 2;
+    nCO2 = 1;
+    nH2O = 2;
+  }
+  else if (CAS=="1333-74-0") {
+    nO2  = 0.5;
+    nCO2 = 0;
+    nH2O = 1;
+  }
+  else if (CAS=="100-42-5") {
+    nO2  = 10;
+    nCO2 = 8;
+    nH2O = 4;
+  }
+  else if (CAS=="74-85-1") {
+    nO2  = 3;
+    nCO2 = 2;
+    nH2O = 2;
+  }
+  else if (CAS=="108-88-3") {
+    nO2  = 9;
+    nCO2 = 7;
+    nH2O = 4;
+  }
+  else if (CAS=="100-41-4") {
+    nO2  = 10.5;
+    nCO2 = 8;
+    nH2O = 5;
+  }
+  else if (CAS=="71-43-2") {
+    nO2  = 7.5;
+    nCO2 = 6;
+    nH2O = 3;
+  }
+  else {
+    cout << "ERROR 21" << endl;
+    exit(0);
+  }
+
+  COMB = new chemical(CAS);
+  O2   = new chemical("7782-44-7");
+  N2   = new chemical("7727-37-9");
+  CO2  = new chemical("124-38-9");
+  H2O  = new chemical("7732-18-5");
+  Hro  = CO2->Ho*nCO2 + nH2O*(H2O->Ho - H2O->dHvap) - COMB->Ho;
+  LFLo = -3420.0/Hro + 0.569e-3*Hro + 0.0538e-6*pow(Hro,2) + 1.8;
+  LFLo = LFLo/100.0;
+  UFLo = 0.0063*Hro + 0.567e-6*pow(Hro, 2) + 23.5;
+  UFLo = UFLo/100.0;
+
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/combrx.hpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/combrx.hpp
index 02e098b..b57e643 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/combrx.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/combrx.hpp
@@ -1,29 +1,29 @@
-#ifndef COMBRX_H
-#define COMBRX_H
-#include "chemical.hpp"
-#include "defines.hpp"
-using namespace std;
-
-class combrx {
-
-private : 
-  ifstream data;
-  bool stop;
-  double nO2, nCO2, nH2O;
-  char tmp[41];
-  string CAS;
-  chemical *H2O, *N2, *O2, *CO2, *COMB;
-  double LFLo, UFLo, Hro, sum;	  
-   
-public:
-  combrx( const string & cas );
-  double O2_flow() { return (O2->M*nO2/1000.0); } //theoritical O2 flow, in kg/mol of COMB
-  double N2_flow(){return (0.79*O2_flow()/0.21);} //theoritical N2 flow, in kg/mol of COMB
-  double CO2_flow() {return (nCO2*CO2->M/1000.0);} //theoritical CO2 flow, in kg/mol of COMB
-  double H2O_flow() {return (nH2O*H2O->M/1000.0);} //theoritical H2O flow, in kg/mol of COMB
-  double LFL(double P, double T) {sum=LFLo + 0.03139/Hro*(T-298); if(sum<EPS) return EPS; else return sum;}		//in %vol
-  double UFL(double P, double T) {sum=UFLo - 0.03139/Hro*(T-298) + 0.206*(log10(0.101325*P)+1); if(sum>1) return (1-EPS); else return sum;}	//in %vol
-  double Hcomb(double T) {return (nCO2*CO2->dH(298,T,1)+ nH2O*H2O->dH(298,T,1)-nO2*O2->dH(298,T,1)-COMB->dH(298,T,1)+Hro);}			//in kJ/mol
-  ~combrx(){delete H2O; delete N2; delete O2; delete CO2; delete COMB;}
-};
-#endif
+#ifndef COMBRX_H
+#define COMBRX_H
+#include "chemical.hpp"
+#include "defines.hpp"
+using namespace std;
+
+class combrx {
+
+private : 
+  ifstream data;
+  bool stop;
+  double nO2, nCO2, nH2O;
+  char tmp[41];
+  string CAS;
+  chemical *H2O, *N2, *O2, *CO2, *COMB;
+  double LFLo, UFLo, Hro, sum;	  
+   
+public:
+  combrx( const string & cas );
+  double O2_flow() { return (O2->M*nO2/1000.0); } //theoritical O2 flow, in kg/mol of COMB
+  double N2_flow(){return (0.79*O2_flow()/0.21);} //theoritical N2 flow, in kg/mol of COMB
+  double CO2_flow() {return (nCO2*CO2->M/1000.0);} //theoritical CO2 flow, in kg/mol of COMB
+  double H2O_flow() {return (nH2O*H2O->M/1000.0);} //theoritical H2O flow, in kg/mol of COMB
+  double LFL(double P, double T) {sum=LFLo + 0.03139/Hro*(T-298); if(sum<EPS) return EPS; else return sum;}		//in %vol
+  double UFL(double P, double T) {sum=UFLo - 0.03139/Hro*(T-298) + 0.206*(log10(0.101325*P)+1); if(sum>1) return (1-EPS); else return sum;}	//in %vol
+  double Hcomb(double T) {return (nCO2*CO2->dH(298,T,1)+ nH2O*H2O->dH(298,T,1)-nO2*O2->dH(298,T,1)-COMB->dH(298,T,1)+Hro);}			//in kJ/mol
+  ~combrx(){delete H2O; delete N2; delete O2; delete CO2; delete COMB;}
+};
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/defines.hpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/defines.hpp
index 5f6ad7e..76a08ba 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/defines.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/defines.hpp
@@ -1,89 +1,89 @@
-/***************************************************************************/
-/* CONFIGURATION OF THE OPERATING SYSTEM                                   */
-/*                                                                         */
-/* If Windows platform, put a "0"                                          */
-/* If Linux, Unix or Mac platform, put a "1"                               */
-/*                                                                         */
-#define PLATFORM 1                                /*                       */
-/***************************************************************************/
-
-#include <iostream>
-#include <fstream>
-#include <cmath>
-
-// #include <iomanip>
-// #include <cstring>
-// #include <cctype>
-#include <cstdlib>
-// #include <ctime>
-using namespace std;
-
-
-double arrondi ( double x , int n );
-
-
-#define ARRONDI 1 // arrondir ou pas
-
-#define DEBUG 0		//choose the debug (1) or normal (0) mode
-#define MUTE 0      //choose 1 to avoid all screen output, 0 to have the normal display
-#define EPS 1e-10           //the software "0"
-
-// Platform-dependant declarations
-#define WIN 0           /* all versions                                    */
-#define OTHER 1         /* Unix, Linux, SunOS, MacIntosh                   */
-#define MESSAGES "runtime/messages.r"
-#define RUNTIME "runtime/"
-#define DATA "data/"
-
-//useful constants
-#define R 0.0821            //ideal gas constant in atm.l/mol.K
-#define MAX_TEMP 3000.0     //Maximal temperature in the process
-#define pi 3.14159265358979323846 //the pi number
-#define MAX_DIM 30
-#define MAX_STREAM 30
-#define MAX_UNIT 30
-
-//For the chemical class
-#define MAX_ERROR 0
-#define MAX_WARNING 10
-
-//For the secant solver
-#define TOL_SECANT 1e-8
-#define MAX_ITER_SECANT 250
-
-//For the bissection solver
-#define TOL_BISSECTION 1e-8
-#define MAX_ITER_BISSECTION 250
-
-//For the Newton solver
-#define TOL_NEWTON 1e-6
-#define MAX_ITER_NEWTON 250
-#define STEP_NEWTON 1e-3
-
-//For the Runge-Kutta solver
-#define N_INTER 250
-#define MAX_ITER_RK N_INTER+1
-
-//For the Wegstein solver
-#define MIN_THETA -3.0
-#define MAX_THETA 1.0
-#define TOL_WEGSTEIN 1e-3
-#define MAX_ITER_WEGSTEIN 50
-
-//For the stream flashing
-#define TOL_BP 1e-3
-#define TOL_DP 1e-3
-
-//For the burner
-#define TOL_BURN 1e-4
-
-//For the column
-#define MAX_PLATES 500
-#define MIN_PLATES 1
-
-//For the flash
-#define TOL_FLASH 1e-2
-
-//For the cost estimtiors
-#define MS_2001 1094.0
-#define MS_YEAR 1139.0
+/***************************************************************************/
+/* CONFIGURATION OF THE OPERATING SYSTEM                                   */
+/*                                                                         */
+/* If Windows platform, put a "0"                                          */
+/* If Linux, Unix or Mac platform, put a "1"                               */
+/*                                                                         */
+#define PLATFORM 1                                /*                       */
+/***************************************************************************/
+
+#include <iostream>
+#include <fstream>
+#include <cmath>
+
+// #include <iomanip>
+// #include <cstring>
+// #include <cctype>
+#include <cstdlib>
+// #include <ctime>
+using namespace std;
+
+
+double arrondi ( double x , int n );
+
+
+#define ARRONDI 1 // arrondir ou pas
+
+#define DEBUG 0		//choose the debug (1) or normal (0) mode
+#define MUTE 0      //choose 1 to avoid all screen output, 0 to have the normal display
+#define EPS 1e-10           //the software "0"
+
+// Platform-dependant declarations
+#define WIN 0           /* all versions                                    */
+#define OTHER 1         /* Unix, Linux, SunOS, MacIntosh                   */
+#define MESSAGES "runtime/messages.r"
+#define RUNTIME "runtime/"
+#define DATA "data/"
+
+//useful constants
+#define R 0.0821            //ideal gas constant in atm.l/mol.K
+#define MAX_TEMP 3000.0     //Maximal temperature in the process
+#define pi 3.14159265358979323846 //the pi number
+#define MAX_DIM 30
+#define MAX_STREAM 30
+#define MAX_UNIT 30
+
+//For the chemical class
+#define MAX_ERROR 0
+#define MAX_WARNING 10
+
+//For the secant solver
+#define TOL_SECANT 1e-8
+#define MAX_ITER_SECANT 250
+
+//For the bissection solver
+#define TOL_BISSECTION 1e-8
+#define MAX_ITER_BISSECTION 250
+
+//For the Newton solver
+#define TOL_NEWTON 1e-6
+#define MAX_ITER_NEWTON 250
+#define STEP_NEWTON 1e-3
+
+//For the Runge-Kutta solver
+#define N_INTER 250
+#define MAX_ITER_RK N_INTER+1
+
+//For the Wegstein solver
+#define MIN_THETA -3.0
+#define MAX_THETA 1.0
+#define TOL_WEGSTEIN 1e-3
+#define MAX_ITER_WEGSTEIN 50
+
+//For the stream flashing
+#define TOL_BP 1e-3
+#define TOL_DP 1e-3
+
+//For the burner
+#define TOL_BURN 1e-4
+
+//For the column
+#define MAX_PLATES 500
+#define MIN_PLATES 1
+
+//For the flash
+#define TOL_FLASH 1e-2
+
+//For the cost estimtiors
+#define MS_2001 1094.0
+#define MS_YEAR 1139.0
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/flash.cpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/flash.cpp
index 027ad0e..930ea8f 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/flash.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/flash.cpp
@@ -1,220 +1,220 @@
-#include "flash.hpp"
-#include "bissection.cpp"
-using namespace std;
-
-flash::flash ( stream * in , stream * out_L , stream * out_V ) {
-  F = in;
-  Fcopy = new stream("Fcopy", F->nb, F->chem);
-  Tin = F->T;
-  z = new double[F->nb];
-  for ( i = 0 ; i < F->nb ; i++ )
-    z[i] = F->chem[i]->n()/F->n();
-  
-  L = out_L;
-  V = out_V;
-  success = true;
-  K = new double[F->nb];
-  task=0;
-  solver = new bissection<flash>();
-}
-
-void flash::set(double p, double t)
-{
-   P=p;
-   T=t;
-   for (i=0;i<F->nb;i++)
-   {
-     if(F->chem[i]->Tc<T) K[i] = F->chem[i]->Psat(T)/P;
-     else K[i]=1;
-   }
-   F->set(P,T);
-}
-
-bool flash::solve()
-{
-   L->purge();
-   V->purge();
-   f_x=F->quality();
-
-   if( 0.0 < f_x && f_x < 1.0)
-   {
-
-     // TOTO
-     for ( i = 0 ; i < F->nb ; i++ ) {
-       if ( F->chem[i]->Tc < T ) {
-	 F->m -= F->chem[i]->m;
-	 F->chem[i]->m = 0;
-       }
-     }
-     
-     for ( i = 0 ; i < F->nb ; i++ )
-       z[i] = F->chem[i]->n()/F->n();
-
-     solver->set(this, 0.0, 1.0);
-
-     success=solver->run();
-
-      if (!success)
-      {
-//          if(task==0){
-//          log.open(MESSAGES, ios::app);
-//          log<<"   --> Warning <--  Solver of FLASH "<<name<<" did not converge.\n";
-//          log.close();}
-         for (i=0;i<F->nb;i++)
-         {
-             if (T<F->chem[i]->Tc && T>F->chem[i]->Tboil(P)) {V->chem[i]->m=F->chem[i]->m; V->m+=V->chem[i]->m;}
-             if (T<F->chem[i]->Tc && T<=F->chem[i]->Tboil(P)) {L->chem[i]->m=F->chem[i]->m; L->m+=L->chem[i]->m;}
-         }
-      }
-      else
-      {
-
-         V->m = x*F->n();
-         L->m = F->n() - V->m;
-         //Distribute liquid components
-         for (i=0;i<L->nb;i++)
-         {
-            L->chem[i]->m = (L->m*z[i])/(1+x*(K[i]-1))*L->chem[i]->M/1000.0;
-            L->chem[i]->state=0;
-         }
-
-
-         L->m=0.0; for(i=0;i<L->nb;i++) L->m+=L->chem[i]->m;
-         //Distribute vapor components
-         for (i=0;i<V->nb;i++)
-         {
-            V->chem[i]->m = V->m*L->chem[i]->n()*K[i]/L->n()*V->chem[i]->M/1000.0;
-            V->chem[i]->state=1;
-         }
-         V->m=0.0; for(i=0;i<V->nb;i++) V->m+=V->chem[i]->m;
-      }
-      for(i=0;i<F->nb;i++)
-      if(F->chem[i]->Tc<T){V->chem[i]->m=Fcopy->chem[i]->m; V->m+=Fcopy->chem[i]->m;}
-
-   }
-   else
-   {
- /*     if(task==0)
-      {
-         log.open("runtime\\messages.r", ios::app);
-         if (T<F->dp) log<<"   --> Warning <--  Mixture in "<<name<<" can't be flashed (bp="<<F->bp<<" dp="<<F->dp<<").\n";
-         log.close();
-      }     */
-      for (i=0;i<F->nb;i++)
-      {
-         if (F->chem[i]->Tc<T || f_x>=1) {V->chem[i]->m=Fcopy->chem[i]->m; V->m+=V->chem[i]->m; }
-         else {L->chem[i]->m=Fcopy->chem[i]->m; L->m+=L->chem[i]->m;}
-
-      }
-      success = true;
-   }
-   L->set(P,T);
-   V->set(P,T);
-   Q = 0.0;
-   for (i=0;i<F->nb;i++)
-   {
-      Q += L->chem[i]->dH(Tin, T, P)*L->chem[i]->n();
-      Q += V->chem[i]->dH(Tin, T, P)*V->chem[i]->n();
-   }
-   F->m=0;
-   for(i=0;i<Fcopy->nb;i++) {F->chem[i]->m = Fcopy->chem[i]->m; F->m+=F->chem[i]->m;}
-   F->set(F->P,Tin);
-//    if(fabs(V->m+L->m-F->m)>sqrt(EPS))
-//    {
-//       log.open(MESSAGES, ios::app);
-//       log<<"   --> Warning <--  Block "<<name<<" is not in mass balance ("<<fabs(V->m+L->m-F->m)/F->m<<").\n";
-//       log.close();
-//    }
-//   V->write();//  TOTO
- //  L->write(); // TOTO
-
-   return success;
-}
-
-double flash::f(double psy)
-{
-   x=psy;
-   f_x=0.0;
-   for(i=0;i<F->nb;i++) f_x += (z[i]*(1-K[i]))/(1+psy*(K[i]-1));
-   return f_x;
-}
-
-bool flash::adiabatic()
-{
-   task=1;
-   F->set(P,T); T=F->dp;
-   step=-5;
-   Q=1;
-   
-
-   while (fabs(step)>0.01 && fabs(Q)>0.1)
-   {
-      T+=step;
-      F->set(P,T);
-
-      for (i=0;i<F->nb;i++)
-	K[i] = F->chem[i]->Psat(T)/P;
-
-      success=solve();
-
-
-      if (Q<0 && step<0) step*=-0.5;
-      if (Q>0 && step>0) step*=-0.5;
-   }
-   if (fabs(Q)<0.1) return true;
-   else return false;
-}
-
-void flash::write() {
-  cout << "WRITE FILE " << RUNTIME << name << ".unit" << " :\n\tBEGIN\n";
-  cout << "\t>>         "<<name;
-  cout << endl << "\t>>           stream in : "<<F->name;
-  cout <<endl<<"\t>>           streams out : "<<L->name<<" (liq.)  "<<V->name<<" (vap.)";
-  cout <<endl<<"\t>>           P = "<<P<<" atm,  T = "<<T<<" K";
-  cout <<endl<<"\t>>           Heat duty = "<<Q;
-  if (success==true) cout <<" kW (converge normally)";
-  cout << "\n\tEND\n\n";
-  cost();
-  power();
-  water();
-}
-
-
-double flash::get_cost ( void ) {
-  vol=15.0*(L->v+V->v);
-  if(vol<0.3) vol=0.3; if(vol>520)vol=520;
-  step = 3.4974+0.4485*log10(vol)+0.1074*pow(log10(vol),2);
-  step = pow(10, step);
-  P= (P-1)*101.325/100;
-  f_x=pow(2.0*vol/pi, 1.0/3.0);
-  vol=(P+1)*f_x/(317.46*(850-0.6*(P+1)))+0.0315;
-  step *=(2.25+ 1.82*vol*2.2);
-  step = step*MS_YEAR/MS_2001;
-  return step;
-}
-
-void flash::cost() {
-  cout << "WRITE FILE " << RUNTIME << name << ".cost" << " :\n\tBEGIN\n";
-  cout << "\t>>" << get_cost();
-  cout << "\n\tEND\n\n";
-}
-void flash::power() {
-  cout << "WRITE FILE " << RUNTIME << name << ".power" << " :\n\tBEGIN\n";
-  cout << "\t>>" << Q;
-  cout << "\n\tEND\n\n";
-}
-
-double flash::get_water ( void ) {
-  step = (Q<0.0) ? fabs(Q)/(4.185*0.10*(Tin-298)) : 0.0;
-  return step;
-}
-
-void flash::water() {
-  cout << "WRITE FILE " << RUNTIME << name << ".water" << " :\n\tBEGIN\n";
-  if(Q<0.0)
-    step= (fabs(Q)/(4.185*0.10*(Tin-298)));
-  else
-    step= 0.0;
-  cout << "\t>>" << step;
-  cout << "\n\tEND\n\n";
-}
+#include "flash.hpp"
+#include "bissection.cpp"
+using namespace std;
+
+flash::flash ( stream * in , stream * out_L , stream * out_V ) {
+  F = in;
+  Fcopy = new stream("Fcopy", F->nb, F->chem);
+  Tin = F->T;
+  z = new double[F->nb];
+  for ( i = 0 ; i < F->nb ; i++ )
+    z[i] = F->chem[i]->n()/F->n();
+  
+  L = out_L;
+  V = out_V;
+  success = true;
+  K = new double[F->nb];
+  task=0;
+  solver = new bissection<flash>();
+}
+
+void flash::set(double p, double t)
+{
+   P=p;
+   T=t;
+   for (i=0;i<F->nb;i++)
+   {
+     if(F->chem[i]->Tc<T) K[i] = F->chem[i]->Psat(T)/P;
+     else K[i]=1;
+   }
+   F->set(P,T);
+}
+
+bool flash::solve()
+{
+   L->purge();
+   V->purge();
+   f_x=F->quality();
+
+   if( 0.0 < f_x && f_x < 1.0)
+   {
+
+     // TOTO
+     for ( i = 0 ; i < F->nb ; i++ ) {
+       if ( F->chem[i]->Tc < T ) {
+	 F->m -= F->chem[i]->m;
+	 F->chem[i]->m = 0;
+       }
+     }
+     
+     for ( i = 0 ; i < F->nb ; i++ )
+       z[i] = F->chem[i]->n()/F->n();
+
+     solver->set(this, 0.0, 1.0);
+
+     success=solver->run();
+
+      if (!success)
+      {
+//          if(task==0){
+//          log.open(MESSAGES, ios::app);
+//          log<<"   --> Warning <--  Solver of FLASH "<<name<<" did not converge.\n";
+//          log.close();}
+         for (i=0;i<F->nb;i++)
+         {
+             if (T<F->chem[i]->Tc && T>F->chem[i]->Tboil(P)) {V->chem[i]->m=F->chem[i]->m; V->m+=V->chem[i]->m;}
+             if (T<F->chem[i]->Tc && T<=F->chem[i]->Tboil(P)) {L->chem[i]->m=F->chem[i]->m; L->m+=L->chem[i]->m;}
+         }
+      }
+      else
+      {
+
+         V->m = x*F->n();
+         L->m = F->n() - V->m;
+         //Distribute liquid components
+         for (i=0;i<L->nb;i++)
+         {
+            L->chem[i]->m = (L->m*z[i])/(1+x*(K[i]-1))*L->chem[i]->M/1000.0;
+            L->chem[i]->state=0;
+         }
+
+
+         L->m=0.0; for(i=0;i<L->nb;i++) L->m+=L->chem[i]->m;
+         //Distribute vapor components
+         for (i=0;i<V->nb;i++)
+         {
+            V->chem[i]->m = V->m*L->chem[i]->n()*K[i]/L->n()*V->chem[i]->M/1000.0;
+            V->chem[i]->state=1;
+         }
+         V->m=0.0; for(i=0;i<V->nb;i++) V->m+=V->chem[i]->m;
+      }
+      for(i=0;i<F->nb;i++)
+      if(F->chem[i]->Tc<T){V->chem[i]->m=Fcopy->chem[i]->m; V->m+=Fcopy->chem[i]->m;}
+
+   }
+   else
+   {
+ /*     if(task==0)
+      {
+         log.open("runtime\\messages.r", ios::app);
+         if (T<F->dp) log<<"   --> Warning <--  Mixture in "<<name<<" can't be flashed (bp="<<F->bp<<" dp="<<F->dp<<").\n";
+         log.close();
+      }     */
+      for (i=0;i<F->nb;i++)
+      {
+         if (F->chem[i]->Tc<T || f_x>=1) {V->chem[i]->m=Fcopy->chem[i]->m; V->m+=V->chem[i]->m; }
+         else {L->chem[i]->m=Fcopy->chem[i]->m; L->m+=L->chem[i]->m;}
+
+      }
+      success = true;
+   }
+   L->set(P,T);
+   V->set(P,T);
+   Q = 0.0;
+   for (i=0;i<F->nb;i++)
+   {
+      Q += L->chem[i]->dH(Tin, T, P)*L->chem[i]->n();
+      Q += V->chem[i]->dH(Tin, T, P)*V->chem[i]->n();
+   }
+   F->m=0;
+   for(i=0;i<Fcopy->nb;i++) {F->chem[i]->m = Fcopy->chem[i]->m; F->m+=F->chem[i]->m;}
+   F->set(F->P,Tin);
+//    if(fabs(V->m+L->m-F->m)>sqrt(EPS))
+//    {
+//       log.open(MESSAGES, ios::app);
+//       log<<"   --> Warning <--  Block "<<name<<" is not in mass balance ("<<fabs(V->m+L->m-F->m)/F->m<<").\n";
+//       log.close();
+//    }
+//   V->write();//  TOTO
+ //  L->write(); // TOTO
+
+   return success;
+}
+
+double flash::f(double psy)
+{
+   x=psy;
+   f_x=0.0;
+   for(i=0;i<F->nb;i++) f_x += (z[i]*(1-K[i]))/(1+psy*(K[i]-1));
+   return f_x;
+}
+
+bool flash::adiabatic()
+{
+   task=1;
+   F->set(P,T); T=F->dp;
+   step=-5;
+   Q=1;
+   
+
+   while (fabs(step)>0.01 && fabs(Q)>0.1)
+   {
+      T+=step;
+      F->set(P,T);
+
+      for (i=0;i<F->nb;i++)
+	K[i] = F->chem[i]->Psat(T)/P;
+
+      success=solve();
+
+
+      if (Q<0 && step<0) step*=-0.5;
+      if (Q>0 && step>0) step*=-0.5;
+   }
+   if (fabs(Q)<0.1) return true;
+   else return false;
+}
+
+void flash::write() {
+  cout << "WRITE FILE " << RUNTIME << name << ".unit" << " :\n\tBEGIN\n";
+  cout << "\t>>         "<<name;
+  cout << endl << "\t>>           stream in : "<<F->name;
+  cout <<endl<<"\t>>           streams out : "<<L->name<<" (liq.)  "<<V->name<<" (vap.)";
+  cout <<endl<<"\t>>           P = "<<P<<" atm,  T = "<<T<<" K";
+  cout <<endl<<"\t>>           Heat duty = "<<Q;
+  if (success==true) cout <<" kW (converge normally)";
+  cout << "\n\tEND\n\n";
+  cost();
+  power();
+  water();
+}
+
+
+double flash::get_cost ( void ) {
+  vol=15.0*(L->v+V->v);
+  if(vol<0.3) vol=0.3; if(vol>520)vol=520;
+  step = 3.4974+0.4485*log10(vol)+0.1074*pow(log10(vol),2);
+  step = pow(10, step);
+  P= (P-1)*101.325/100;
+  f_x=pow(2.0*vol/pi, 1.0/3.0);
+  vol=(P+1)*f_x/(317.46*(850-0.6*(P+1)))+0.0315;
+  step *=(2.25+ 1.82*vol*2.2);
+  step = step*MS_YEAR/MS_2001;
+  return step;
+}
+
+void flash::cost() {
+  cout << "WRITE FILE " << RUNTIME << name << ".cost" << " :\n\tBEGIN\n";
+  cout << "\t>>" << get_cost();
+  cout << "\n\tEND\n\n";
+}
+void flash::power() {
+  cout << "WRITE FILE " << RUNTIME << name << ".power" << " :\n\tBEGIN\n";
+  cout << "\t>>" << Q;
+  cout << "\n\tEND\n\n";
+}
+
+double flash::get_water ( void ) {
+  step = (Q<0.0) ? fabs(Q)/(4.185*0.10*(Tin-298)) : 0.0;
+  return step;
+}
+
+void flash::water() {
+  cout << "WRITE FILE " << RUNTIME << name << ".water" << " :\n\tBEGIN\n";
+  if(Q<0.0)
+    step= (fabs(Q)/(4.185*0.10*(Tin-298)));
+  else
+    step= 0.0;
+  cout << "\t>>" << step;
+  cout << "\n\tEND\n\n";
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/flash.hpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/flash.hpp
index b6cdb41..29bc250 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/flash.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/flash.hpp
@@ -1,55 +1,55 @@
-/*
-This unit takes operating P and T, and indexes of streams. It applies
-the Rachford-Rice procedure to solve the isothermal flash problem
-(ref : Seader & Henley).
-
-Structure in the .process file:
-flash {name} {pressure} {temperature} {index of input stream} {index of output liquid and output vapor}
-
-How to use:
-   1- Call the constructor : flash1 = new flash(in, out_L, out_V);			//in is the feed, out_L is the liquid output and out_V is the vapor output 
-   2- Set P and T: flash1->set(P,T);
-   3- Set the name: flash1->set(name);
-   4a- Perform an isothermal flash : flash1->solve();
-   4b- Perform an adiabatic flash: flash1->adiabatic();
-*/
-#ifndef FLASH_H
-#define FLASH_H
-
-#include "stream.hpp"
-#include "bissection.hpp"
-using namespace std;
-
-class flash {
-private:
-  bool success;
-  bissection<flash> *solver;
-  // ofstream log, results;
-//   char name[31], filename[41];  //name of the unit
-
-  string name;
-  
-  int i, task;          //task=0: isothermal flash;   task=1:adiabatic flash
-  stream *F, *Fcopy;		   //pointer to the input stream
-  stream *L, *V;	//pointers to liquid and vapor output streams
-  double f_x, x, *K, *z;			//pressure (given) and temperature (given)
-  double Q, Tin, step, vol;			//required power, in kW
-  
-public:
-  flash(){P=0.0; T=0.0;}
-  flash(stream*, stream*, stream*);		//defines the connectivities of this unit
-  ~flash(){delete Fcopy; delete [] K; delete []  z; delete solver;}
-  double P ,T;
-  void set(double, double);
-  void set( const string & n ) { name = n; }
-  bool solve();								//applies the Rachford-Rice procedure
-  bool adiabatic();						//adiabatic isobaric flash
-  double f(double);						//returns the function to the solver
-  void write();
-  double get_water ( void );
-  double get_cost ( void );
-
-  double get_power ( void ) const { return Q; }
-  void cost(), water(), power();
-};
-#endif
+/*
+This unit takes operating P and T, and indexes of streams. It applies
+the Rachford-Rice procedure to solve the isothermal flash problem
+(ref : Seader & Henley).
+
+Structure in the .process file:
+flash {name} {pressure} {temperature} {index of input stream} {index of output liquid and output vapor}
+
+How to use:
+   1- Call the constructor : flash1 = new flash(in, out_L, out_V);			//in is the feed, out_L is the liquid output and out_V is the vapor output 
+   2- Set P and T: flash1->set(P,T);
+   3- Set the name: flash1->set(name);
+   4a- Perform an isothermal flash : flash1->solve();
+   4b- Perform an adiabatic flash: flash1->adiabatic();
+*/
+#ifndef FLASH_H
+#define FLASH_H
+
+#include "stream.hpp"
+#include "bissection.hpp"
+using namespace std;
+
+class flash {
+private:
+  bool success;
+  bissection<flash> *solver;
+  // ofstream log, results;
+//   char name[31], filename[41];  //name of the unit
+
+  string name;
+  
+  int i, task;          //task=0: isothermal flash;   task=1:adiabatic flash
+  stream *F, *Fcopy;		   //pointer to the input stream
+  stream *L, *V;	//pointers to liquid and vapor output streams
+  double f_x, x, *K, *z;			//pressure (given) and temperature (given)
+  double Q, Tin, step, vol;			//required power, in kW
+  
+public:
+  flash(){P=0.0; T=0.0;}
+  flash(stream*, stream*, stream*);		//defines the connectivities of this unit
+  ~flash(){delete Fcopy; delete [] K; delete []  z; delete solver;}
+  double P ,T;
+  void set(double, double);
+  void set( const string & n ) { name = n; }
+  bool solve();								//applies the Rachford-Rice procedure
+  bool adiabatic();						//adiabatic isobaric flash
+  double f(double);						//returns the function to the solver
+  void write();
+  double get_water ( void );
+  double get_cost ( void );
+
+  double get_power ( void ) const { return Q; }
+  void cost(), water(), power();
+};
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/heatx.cpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/heatx.cpp
index 3c23822..fd8942e 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/heatx.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/heatx.cpp
@@ -1,146 +1,146 @@
-#include "heatx.hpp"
-#include "bissection.cpp"
-
-heatx::heatx(bool m, stream* s1, stream* s2)
-{
-   in = s1;
-   out = s2;
-   out->m=0;
-   for(i=0;i<in->nb;i++)
-   {
-      out->chem[i]->m=in->chem[i]->m;
-      out->m+=out->chem[i]->m;
-   }
-   solver = new bissection<heatx>();
-   mode = m;
-   success = true;
-}
-
-void heatx::set(double d1, double d2)
-{
-   if(mode==0) T=d1;
-   if(mode==1) Q=d1;
-   eta = d2;
-}
-
-bool heatx::solve()
-{
-   if(mode==0)
-   {
-      Q = 0.0;
-      out->set(in->P, T);
-      // out->write();  // WRITE TOTO
-      for(i=0;i<in->nb;i++)
-         Q+=out->chem[i]->dH(in->T, out->T, in->P)*out->chem[i]->n();
-      if(eta>EPS)
-	Qreal = Q/eta;
-      else {
-	Qreal=Q;
-	success=false;
-      }
-   }
-   if(mode==1)
-   {
-      Qreal = eta*Q;
-      min = in->T;
-      max = 2000;
-      solver->set(this, min, max);
-      success = solver->run();
-      out->set(in->P, T);
-      //out->write();  // WRITE TOTO
-   }
-   return success;
-}
-
-
-double heatx::f(double x)
-{
-   T=x;
-   max = Qreal;
-   for(i=0;i<in->nb;i++)
-      max -= out->chem[i]->dH(in->T, T, in->P)*out->chem[i]->n();
-   return max;
-}
-
-void heatx::write()
-{
-
-  cout << "WRITE FILE " << RUNTIME << name << ".unit" << " :\n\tBEGIN\n";
-  cout << "\t>>         " << name;
-  cout << endl << "\t>>           stream in: "  << in->name  << "  T = " << in->T <<" K";
-  cout << endl << "\t>>           stream out: " << out->name << "  T = " << out->T <<" K";
-  if (mode==0)
-    cout<<endl<<"\t>>           Heat duty : "<<Qreal<<" kW";
-  if (mode==1)
-    cout<<endl<<"\t>>           Heat duty : "<<Q<<" kW";
-  if (success)
-    cout<<endl<<"\t>>           Heat losses "<<fabs(Qreal-Q)<<" kW  (converged normally)";
-  cout << "\n\tEND\n\n";
-
-  cost();
-  power();
-  water();
-}
-
-
-
-double heatx::get_cost ( void ) {
-  if(mode==1) min=fabs(Q)/0.225/(eta)/fabs(out->T-in->T);
-  if(mode==0) min=fabs(Qreal)/0.25/(eta)/fabs(out->T-in->T);
-  if(min<10) min=10; if(min>1000) min=1000;
-  max = 4.3247-0.303*log10(min)+0.1634*pow(log10(min),2);
-  T=in->P;
-  T = (T-1)*1.01325;
-  if (fabs(T)<EPS) T=0.1; if(T>100) T=100;
-  min=0.03881-0.11272*log10(T)+0.08183*pow(log10(T),2);
-  min=pow(10, min);
-  max = (1.63+1.66*2.5*min)*pow(10, max);
-  max = max*MS_YEAR/MS_2001;
-  return max;
-}
-
-
-void heatx::cost()
-{
-  cout << setprecision(5);
-  cout << "WRITE FILE " << RUNTIME << name << ".cost" << " :\n\tBEGIN\n";
-  cout << "\t>>" << get_cost();
-  cout << "\n\tEND\n\n";
-}
-
-
-
-double heatx::get_water ( void )
-{
-  max = (Q<0.0) ? fabs(Q)/(4.185*0.10*(out->T-298)) : 0.0;
-  return max;
-}
-
-
-void heatx::water()
-{
-  if(Q<0.0) max = fabs(Q)/(4.185*0.10*(out->T-298));
-  else max = 0.0;
-  cout << "WRITE FILE " << RUNTIME << name << ".water" << " :\n\tBEGIN\n";
-  cout << "\t>>" << max;
-  cout << "\n\tEND\n\n";
-
-}
-
-double heatx::get_power ( void ) {
-  max = (mode) ? Q : Qreal;
-  if (max>EPS)
-    return max;
-  return 0.0;
-}
-
-void heatx::power()
-{
-  if(mode==0) max = Qreal;
-  if(mode==1) max = Q;
-
-  cout << "WRITE FILE " << RUNTIME << name << ".power" << " :\n\tBEGIN\n";
-  if(max>EPS) cout<< "\t>>" << max;
-  else cout<< "\t>>" << 0;
-  cout << "\n\tEND\n\n";
-}
+#include "heatx.hpp"
+#include "bissection.cpp"
+
+heatx::heatx(bool m, stream* s1, stream* s2)
+{
+   in = s1;
+   out = s2;
+   out->m=0;
+   for(i=0;i<in->nb;i++)
+   {
+      out->chem[i]->m=in->chem[i]->m;
+      out->m+=out->chem[i]->m;
+   }
+   solver = new bissection<heatx>();
+   mode = m;
+   success = true;
+}
+
+void heatx::set(double d1, double d2)
+{
+   if(mode==0) T=d1;
+   if(mode==1) Q=d1;
+   eta = d2;
+}
+
+bool heatx::solve()
+{
+   if(mode==0)
+   {
+      Q = 0.0;
+      out->set(in->P, T);
+      // out->write();  // WRITE TOTO
+      for(i=0;i<in->nb;i++)
+         Q+=out->chem[i]->dH(in->T, out->T, in->P)*out->chem[i]->n();
+      if(eta>EPS)
+	Qreal = Q/eta;
+      else {
+	Qreal=Q;
+	success=false;
+      }
+   }
+   if(mode==1)
+   {
+      Qreal = eta*Q;
+      min = in->T;
+      max = 2000;
+      solver->set(this, min, max);
+      success = solver->run();
+      out->set(in->P, T);
+      //out->write();  // WRITE TOTO
+   }
+   return success;
+}
+
+
+double heatx::f(double x)
+{
+   T=x;
+   max = Qreal;
+   for(i=0;i<in->nb;i++)
+      max -= out->chem[i]->dH(in->T, T, in->P)*out->chem[i]->n();
+   return max;
+}
+
+void heatx::write()
+{
+
+  cout << "WRITE FILE " << RUNTIME << name << ".unit" << " :\n\tBEGIN\n";
+  cout << "\t>>         " << name;
+  cout << endl << "\t>>           stream in: "  << in->name  << "  T = " << in->T <<" K";
+  cout << endl << "\t>>           stream out: " << out->name << "  T = " << out->T <<" K";
+  if (mode==0)
+    cout<<endl<<"\t>>           Heat duty : "<<Qreal<<" kW";
+  if (mode==1)
+    cout<<endl<<"\t>>           Heat duty : "<<Q<<" kW";
+  if (success)
+    cout<<endl<<"\t>>           Heat losses "<<fabs(Qreal-Q)<<" kW  (converged normally)";
+  cout << "\n\tEND\n\n";
+
+  cost();
+  power();
+  water();
+}
+
+
+
+double heatx::get_cost ( void ) {
+  if(mode==1) min=fabs(Q)/0.225/(eta)/fabs(out->T-in->T);
+  if(mode==0) min=fabs(Qreal)/0.25/(eta)/fabs(out->T-in->T);
+  if(min<10) min=10; if(min>1000) min=1000;
+  max = 4.3247-0.303*log10(min)+0.1634*pow(log10(min),2);
+  T=in->P;
+  T = (T-1)*1.01325;
+  if (fabs(T)<EPS) T=0.1; if(T>100) T=100;
+  min=0.03881-0.11272*log10(T)+0.08183*pow(log10(T),2);
+  min=pow(10, min);
+  max = (1.63+1.66*2.5*min)*pow(10, max);
+  max = max*MS_YEAR/MS_2001;
+  return max;
+}
+
+
+void heatx::cost()
+{
+  cout << setprecision(5);
+  cout << "WRITE FILE " << RUNTIME << name << ".cost" << " :\n\tBEGIN\n";
+  cout << "\t>>" << get_cost();
+  cout << "\n\tEND\n\n";
+}
+
+
+
+double heatx::get_water ( void )
+{
+  max = (Q<0.0) ? fabs(Q)/(4.185*0.10*(out->T-298)) : 0.0;
+  return max;
+}
+
+
+void heatx::water()
+{
+  if(Q<0.0) max = fabs(Q)/(4.185*0.10*(out->T-298));
+  else max = 0.0;
+  cout << "WRITE FILE " << RUNTIME << name << ".water" << " :\n\tBEGIN\n";
+  cout << "\t>>" << max;
+  cout << "\n\tEND\n\n";
+
+}
+
+double heatx::get_power ( void ) {
+  max = (mode) ? Q : Qreal;
+  if (max>EPS)
+    return max;
+  return 0.0;
+}
+
+void heatx::power()
+{
+  if(mode==0) max = Qreal;
+  if(mode==1) max = Q;
+
+  cout << "WRITE FILE " << RUNTIME << name << ".power" << " :\n\tBEGIN\n";
+  if(max>EPS) cout<< "\t>>" << max;
+  else cout<< "\t>>" << 0;
+  cout << "\n\tEND\n\n";
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/heatx.hpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/heatx.hpp
index f9854ad..d3b7dff 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/heatx.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/heatx.hpp
@@ -1,49 +1,49 @@
-/*
-This unit performs the heating of a stream (mode 0) or the heat 
-exchange to a stream (mode 1).
-(ref : McCabe, Smith & Harriott)
-
-Structure in the .process file:
-mode 0 : heatx {name} 0 {index of input stream} {index of output stream} {T out} {efficiency}						//efficiency is a fraction between 0 and 1
-mode 1 : heatx {name} 1 {index of input stream} {index of output stream} {Q} {efficiency}							//Q is the heat flow in kW
-How to use:
-   1- Call the constructor: heat = new heatx(mode, in, out);
-   2- Set the operating conditions : heat->set(T_out, eta);	//mode 0
-                                           or : heat->set(Q, eta);				//mode 1
-   3- Set the name of the unit: heat->set(name);
-   4- Solve: bool=heat->solve();
-*/
-#ifndef HEATX_H
-#define HEATX_H
-
-#include "stream.hpp"
-#include "bissection.hpp"
-using namespace std;
-
-class heatx
-{
-private:
-  int i;
-  bool success, mode;
-  bissection<heatx> *solver;
-  // ofstream logf, results;
-  double min, max;
-  string name;
-  stream *in, *out;	//streams of the unit
-  double eta, Q, Qreal, T;
-  
-public:
-  heatx(){}
-  heatx(bool, stream*, stream*);		//defines the connectivities of this unit
-  ~heatx(){delete solver;}
-  void set(double, double);
-  void set(const string & n) { name = n; }
-  double f(double);							
-  bool solve();								
-  void write();
-  void power(), water(), cost();
-  double get_cost();
-  double get_power();
-  double get_water();
-};
-#endif
+/*
+This unit performs the heating of a stream (mode 0) or the heat 
+exchange to a stream (mode 1).
+(ref : McCabe, Smith & Harriott)
+
+Structure in the .process file:
+mode 0 : heatx {name} 0 {index of input stream} {index of output stream} {T out} {efficiency}						//efficiency is a fraction between 0 and 1
+mode 1 : heatx {name} 1 {index of input stream} {index of output stream} {Q} {efficiency}							//Q is the heat flow in kW
+How to use:
+   1- Call the constructor: heat = new heatx(mode, in, out);
+   2- Set the operating conditions : heat->set(T_out, eta);	//mode 0
+                                           or : heat->set(Q, eta);				//mode 1
+   3- Set the name of the unit: heat->set(name);
+   4- Solve: bool=heat->solve();
+*/
+#ifndef HEATX_H
+#define HEATX_H
+
+#include "stream.hpp"
+#include "bissection.hpp"
+using namespace std;
+
+class heatx
+{
+private:
+  int i;
+  bool success, mode;
+  bissection<heatx> *solver;
+  // ofstream logf, results;
+  double min, max;
+  string name;
+  stream *in, *out;	//streams of the unit
+  double eta, Q, Qreal, T;
+  
+public:
+  heatx(){}
+  heatx(bool, stream*, stream*);		//defines the connectivities of this unit
+  ~heatx(){delete solver;}
+  void set(double, double);
+  void set(const string & n) { name = n; }
+  double f(double);							
+  bool solve();								
+  void write();
+  void power(), water(), cost();
+  double get_cost();
+  double get_power();
+  double get_water();
+};
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/mix.cpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/mix.cpp
index 00202a2..dc02dc7 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/mix.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/mix.cpp
@@ -1,80 +1,80 @@
-#include "mix.hpp"
-#include "bissection.cpp"
-using namespace std;
-
-mix::mix ( int n , stream ** s1 , stream * s2 ) {
-  nb_in=n;
-  in = s1;
-  out= s2;
-  success = true;
-  solver  = new bissection<mix>();
-}
-
-bool mix::solve()
-{
-   //Mass balance
-   out->m=0;
-   out->purge();
-   for (j=0; j<out->nb;j++)
-      for (i=0;i<nb_in;i++) if(in[i]->chem[j]->m>EPS)
-      {
-          out->chem[j]->m+=in[i]->chem[j]->m;
-          out->m+=in[i]->chem[j]->m;
-      }
-   //Find the temperature
-   double max=0.0; double min=1e6;
-   for(i=0;i<nb_in;i++)
-      for(j=0;j<out->nb;j++)
-      {
-         if(in[i]->chem[j]->T>max && in[i]->chem[j]->m>EPS) max=in[i]->chem[j]->T;
-         if(in[i]->chem[j]->T<min && in[i]->chem[j]->m>EPS) min=in[i]->chem[j]->T;
-      }
-    if(fabs(max-min)<EPS) T=max;
-    else
-    {
-      solver->set(this, min, max);
-      success = solver->run();
-    }
-   out->set(P,T);
-   //    if (success==false)
-   //    {
-   //       log.open(MESSAGES, ios::app);
-   //       log<<"   --> Warning <--  Solver of "<<name<<" did not converge.\n";
-   //       log.close();
-   //    }
-   //    min = 0;
-   //    for(i=0;i<nb_in;i++)
-   //      min+=in[i]->m;
-   //    if(fabs(min-out->m)>sqrt(EPS))
-   //    {
-   //       log.open(MESSAGES, ios::app);
-   //       log<<"   --> Warning <--  Block "<<name<<" is not in mass balance ("<<fabs(min-out->m)/min<<").\n";
-   //       log.close();
-   //    }
-
-   // out->write();  // WRITE TOTO
-   return success;
-}
-
-double mix::f(double x)
-{
-   T=x;
-   double energy=0.0;   //in kW
-   for (j=0; j<out->nb;j++)
-      for (i=0;i<nb_in;i++)
-          energy += in[i]->chem[j]->dH(in[i]->T, T, P)*in[i]->chem[j]->n()/1000;
-   return energy;
-}
-
-void mix::write() {
-  cout << "WRITE FILE " << RUNTIME << name << ".unit" << " :\n\tBEGIN\n";
-  cout << "\t>>         " << name
-       << endl << "\t>>           streams in: ";
-  for ( int i = 0 ; i < nb_in ; i++ )
-    cout << in[i]->name << " ";
-  cout << endl << "\t>>           stream out: " << out->name;
-  cout <<endl << "\t>>           P = " << P << " atm,  T = " << T;
-  if (success)
-    cout << " K (converged normally)";
-  cout << "\n\tEND\n\n";
-}
+#include "mix.hpp"
+#include "bissection.cpp"
+using namespace std;
+
+mix::mix ( int n , stream ** s1 , stream * s2 ) {
+  nb_in=n;
+  in = s1;
+  out= s2;
+  success = true;
+  solver  = new bissection<mix>();
+}
+
+bool mix::solve()
+{
+   //Mass balance
+   out->m=0;
+   out->purge();
+   for (j=0; j<out->nb;j++)
+      for (i=0;i<nb_in;i++) if(in[i]->chem[j]->m>EPS)
+      {
+          out->chem[j]->m+=in[i]->chem[j]->m;
+          out->m+=in[i]->chem[j]->m;
+      }
+   //Find the temperature
+   double max=0.0; double min=1e6;
+   for(i=0;i<nb_in;i++)
+      for(j=0;j<out->nb;j++)
+      {
+         if(in[i]->chem[j]->T>max && in[i]->chem[j]->m>EPS) max=in[i]->chem[j]->T;
+         if(in[i]->chem[j]->T<min && in[i]->chem[j]->m>EPS) min=in[i]->chem[j]->T;
+      }
+    if(fabs(max-min)<EPS) T=max;
+    else
+    {
+      solver->set(this, min, max);
+      success = solver->run();
+    }
+   out->set(P,T);
+   //    if (success==false)
+   //    {
+   //       log.open(MESSAGES, ios::app);
+   //       log<<"   --> Warning <--  Solver of "<<name<<" did not converge.\n";
+   //       log.close();
+   //    }
+   //    min = 0;
+   //    for(i=0;i<nb_in;i++)
+   //      min+=in[i]->m;
+   //    if(fabs(min-out->m)>sqrt(EPS))
+   //    {
+   //       log.open(MESSAGES, ios::app);
+   //       log<<"   --> Warning <--  Block "<<name<<" is not in mass balance ("<<fabs(min-out->m)/min<<").\n";
+   //       log.close();
+   //    }
+
+   // out->write();  // WRITE TOTO
+   return success;
+}
+
+double mix::f(double x)
+{
+   T=x;
+   double energy=0.0;   //in kW
+   for (j=0; j<out->nb;j++)
+      for (i=0;i<nb_in;i++)
+          energy += in[i]->chem[j]->dH(in[i]->T, T, P)*in[i]->chem[j]->n()/1000;
+   return energy;
+}
+
+void mix::write() {
+  cout << "WRITE FILE " << RUNTIME << name << ".unit" << " :\n\tBEGIN\n";
+  cout << "\t>>         " << name
+       << endl << "\t>>           streams in: ";
+  for ( int i = 0 ; i < nb_in ; i++ )
+    cout << in[i]->name << " ";
+  cout << endl << "\t>>           stream out: " << out->name;
+  cout <<endl << "\t>>           P = " << P << " atm,  T = " << T;
+  if (success)
+    cout << " K (converged normally)";
+  cout << "\n\tEND\n\n";
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/mix.hpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/mix.hpp
index 85b8d77..6d4ee0f 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/mix.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/mix.hpp
@@ -1,44 +1,44 @@
-/*
-This unit takes more than two input streams and merge them in one
-output stream. The pressure must be specified by the user, and the
-temperature of the output stream is computed.
-
-Structure in the .process file:
-mix {name} {pressure} {nb_in} {indexes of input streams} {index of output stream}
-
-How to use:
-   1- Call the constructor: mix1 = new mix(nb_in, list1_in, out);
-   2- Set the operating pressure : mix1->set(P);
-   3- Set the name of the unit: mix1->set(name);
-   4- Solve: bool=mix1->solve();
-*/
-#ifndef MIX_H
-#define MIX_H
-
-#include "stream.hpp"
-#include "bissection.hpp"
-using namespace std;
-
-class mix {
- private:
-  int i, j;
-  bool success;
-  bissection<mix> *solver;
-  string name;
-  int nb_in;			//number of input streams
-  stream **in;		//list pointers to input streams
-  stream *out;		//pointer to output stream
-  // double min, max;
-  
- public:
-  double P, T;			//pressure (given) and temperature (unknown)   
-  mix(){P=0.0;}
-  mix(int, stream**, stream*);		//defines the connectivities of this unit
-  ~mix(){delete solver;}
-  void set(double p) {P=p;}
-  void set ( const string & n ) { name = n; }
-  double f(double); //returns the function to the solver
-  bool solve();     //finds the temperature and computes mass balance
-  void write();
-};
-#endif
+/*
+This unit takes more than two input streams and merge them in one
+output stream. The pressure must be specified by the user, and the
+temperature of the output stream is computed.
+
+Structure in the .process file:
+mix {name} {pressure} {nb_in} {indexes of input streams} {index of output stream}
+
+How to use:
+   1- Call the constructor: mix1 = new mix(nb_in, list1_in, out);
+   2- Set the operating pressure : mix1->set(P);
+   3- Set the name of the unit: mix1->set(name);
+   4- Solve: bool=mix1->solve();
+*/
+#ifndef MIX_H
+#define MIX_H
+
+#include "stream.hpp"
+#include "bissection.hpp"
+using namespace std;
+
+class mix {
+ private:
+  int i, j;
+  bool success;
+  bissection<mix> *solver;
+  string name;
+  int nb_in;			//number of input streams
+  stream **in;		//list pointers to input streams
+  stream *out;		//pointer to output stream
+  // double min, max;
+  
+ public:
+  double P, T;			//pressure (given) and temperature (unknown)   
+  mix(){P=0.0;}
+  mix(int, stream**, stream*);		//defines the connectivities of this unit
+  ~mix(){delete solver;}
+  void set(double p) {P=p;}
+  void set ( const string & n ) { name = n; }
+  double f(double); //returns the function to the solver
+  bool solve();     //finds the temperature and computes mass balance
+  void write();
+};
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/pfr.cpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/pfr.cpp
index 10583ce..aa12b2f 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/pfr.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/pfr.cpp
@@ -1,172 +1,172 @@
-#include "pfr.hpp"
-#include "RungeKutta.cpp"
-using namespace std;
-
-pfr::pfr ( stream * s1 , stream * s2 , double ** t , int nb_r , reaction ** rr , double u , double ta ) {
-
-  F = s2;
-  F->m=0;
-  P=s1->P;
-  for ( i = 0 ; i < s1->nb ; i++ ) {
-    F->chem[i]->m = s1->chem[i]->m;
-    F->m+=F->chem[i]->m;
-  }
-  F->set(s1->P, s1->T);
-  m_in=F->m;
-  a = t;
-  rx = rr;
-  n=nb_r;
-  m=  F->nb;
-  U=u;
-  Ta=ta;
-  T = F->T;
-  C = new double[m];
-  y = new double[m+1];
-  r=new double[n];
-  OK=true;
-  explode=true;
-  solver = new RungeKutta<pfr>(m+1);
-}
-
-pfr::~pfr() {
-  delete [] r;
-  delete [] C;
-  delete [] y;
-  delete solver;
-}
-
-bool pfr::run() {
-
-  for ( i = 0 ; i < m ; i++ )
-    y[i]=F->chem[i]->n();
-
-  y[m]=T;
-
-  solver->set ( this , y , 0.0 , L );
-
-  dL=solver->dx();
-
-  OK=solver->run();
-
-  sum = F->m;
-  F->m = 0;
-
-  for ( i = 0 ; i < m ; i++ )
-    F->m+=F->chem[i]->m;
-  for ( i = 0 ; i < m ; i++ )
-    F->chem[i]->m *= sum/F->m;
-  // if (OK)
-  //mass balance!
-  if ( fabs(m_in-F->m) > EPS || !explode )
-    OK=false;
-
-  return OK;
-}
-
-double pfr::f ( int eq , double l , double * y ) {
-
-
-  sum=F->m;
-  F->m=0;
-  for(i=0; i<m;i++)
-    {
-      if(y[i]<0) y[i]=0;
-      F->chem[i]->m = y[i]*F->chem[i]->M/1000.0;
-      F->m+=F->chem[i]->m;
-    }
-
-
-  for(i=0; i<m;i++)
-    F->chem[i]->m *= sum/F->m;
-
- 
-
-  F->m=sum;
-  T=y[m];
-  if(T>MAX_TEMP)
-    {
-      cout << "ERROR 11\n\n";
-      exit(0);
-    }
-
-
-  for(i=0; i<m;i++)
-    C[i]=F->chem[i]->n()/F->v;
-
-  for(j=0;j<n;j++)
-    r[j] = rx[j]->rate(T,C);
-
-  if(0<=eq && eq<m)  //return dFi/dL
-    {
-      tmp=0.0;
-      for(j=0;j<n;j++) tmp+=a[eq][j]*r[j];
-      tmp *= (pi*D*D/4.0);
-    }
-
-
-
-  if(eq==m)   //return dT/dL
-    {
-
-
-      F->set(F->P,T);
-
-      tmp=0.0;
-      for(j=0;j<n;j++)
-	tmp -= r[j]*rx[j]->dHr(T);
-
-
-      tmp *= (pi*D*D/4.0);
-
-
-      tmp += (pi*D)*U*(Ta-T);
-
-
-      tmp1=0.0;
-      for(i=0;i<m;i++) {
-	tmp1+= y[i]*F->chem[i]->Cp()*0.001;
-      }
-      tmp /= tmp1;
-
-      if(fabs(tmp*dL)>500.0)
-	{
-	  cout << "ERROR 13\n\n";
-	  exit(0);                           
-	}
-    }
-
-  return tmp;
-}
-
-
-
-double pfr::get_cost ( void ) {
-  dL=L*pi*pow(D,2)/4.0;
-  if(dL<0.3) dL=0.3; if(dL>520) dL=520;
-  sum = 3.4974+0.4485*log10(dL)+0.1074*pow(log10(dL),2);
-  sum = pow(10, sum);
-  P= (P-1)*101.325/100;
-  dL=(P+1)*D/(317.46*(850-0.6*(P+1)))+0.0315;
-  sum *=(2.25+ 1.82*dL*4.2);
-  sum = sum*MS_YEAR/MS_2001;
-  return sum;
-}
-
-double pfr::get_water() {
-  sum = (U>EPS && T>Ta) ? U*L*pi*pow(D,2)/4*(T-Ta)/4.185/25.0 : 0.0;
-  return sum;
-}
-
-void pfr::cost() {
-  cout << "WRITE FILE " << RUNTIME << name << ".cost" << " :\n\tBEGIN\n";
-  cout << "\t>>" << get_cost();
-  cout << "\n\tEND\n\n";
-}
-
-void pfr::water() {
-  cout << "WRITE FILE " << RUNTIME << name << ".water" << " :\n\tBEGIN\n";
-  if (U>EPS && T>Ta) sum = (U*L*pi*pow(D,2)/4*(T-Ta)/4.185/25.0);
-  else sum = 0.0;
-  cout << "\t>>" << sum;
-  cout << "\n\tEND\n\n";
-}
+#include "pfr.hpp"
+#include "RungeKutta.cpp"
+using namespace std;
+
+pfr::pfr ( stream * s1 , stream * s2 , double ** t , int nb_r , reaction ** rr , double u , double ta ) {
+
+  F = s2;
+  F->m=0;
+  P=s1->P;
+  for ( i = 0 ; i < s1->nb ; i++ ) {
+    F->chem[i]->m = s1->chem[i]->m;
+    F->m+=F->chem[i]->m;
+  }
+  F->set(s1->P, s1->T);
+  m_in=F->m;
+  a = t;
+  rx = rr;
+  n=nb_r;
+  m=  F->nb;
+  U=u;
+  Ta=ta;
+  T = F->T;
+  C = new double[m];
+  y = new double[m+1];
+  r=new double[n];
+  OK=true;
+  explode=true;
+  solver = new RungeKutta<pfr>(m+1);
+}
+
+pfr::~pfr() {
+  delete [] r;
+  delete [] C;
+  delete [] y;
+  delete solver;
+}
+
+bool pfr::run() {
+
+  for ( i = 0 ; i < m ; i++ )
+    y[i]=F->chem[i]->n();
+
+  y[m]=T;
+
+  solver->set ( this , y , 0.0 , L );
+
+  dL=solver->dx();
+
+  OK=solver->run();
+
+  sum = F->m;
+  F->m = 0;
+
+  for ( i = 0 ; i < m ; i++ )
+    F->m+=F->chem[i]->m;
+  for ( i = 0 ; i < m ; i++ )
+    F->chem[i]->m *= sum/F->m;
+  // if (OK)
+  //mass balance!
+  if ( fabs(m_in-F->m) > EPS || !explode )
+    OK=false;
+
+  return OK;
+}
+
+double pfr::f ( int eq , double l , double * y ) {
+
+
+  sum=F->m;
+  F->m=0;
+  for(i=0; i<m;i++)
+    {
+      if(y[i]<0) y[i]=0;
+      F->chem[i]->m = y[i]*F->chem[i]->M/1000.0;
+      F->m+=F->chem[i]->m;
+    }
+
+
+  for(i=0; i<m;i++)
+    F->chem[i]->m *= sum/F->m;
+
+ 
+
+  F->m=sum;
+  T=y[m];
+  if(T>MAX_TEMP)
+    {
+      cout << "ERROR 11\n\n";
+      exit(0);
+    }
+
+
+  for(i=0; i<m;i++)
+    C[i]=F->chem[i]->n()/F->v;
+
+  for(j=0;j<n;j++)
+    r[j] = rx[j]->rate(T,C);
+
+  if(0<=eq && eq<m)  //return dFi/dL
+    {
+      tmp=0.0;
+      for(j=0;j<n;j++) tmp+=a[eq][j]*r[j];
+      tmp *= (pi*D*D/4.0);
+    }
+
+
+
+  if(eq==m)   //return dT/dL
+    {
+
+
+      F->set(F->P,T);
+
+      tmp=0.0;
+      for(j=0;j<n;j++)
+	tmp -= r[j]*rx[j]->dHr(T);
+
+
+      tmp *= (pi*D*D/4.0);
+
+
+      tmp += (pi*D)*U*(Ta-T);
+
+
+      tmp1=0.0;
+      for(i=0;i<m;i++) {
+	tmp1+= y[i]*F->chem[i]->Cp()*0.001;
+      }
+      tmp /= tmp1;
+
+      if(fabs(tmp*dL)>500.0)
+	{
+	  cout << "ERROR 13\n\n";
+	  exit(0);                           
+	}
+    }
+
+  return tmp;
+}
+
+
+
+double pfr::get_cost ( void ) {
+  dL=L*pi*pow(D,2)/4.0;
+  if(dL<0.3) dL=0.3; if(dL>520) dL=520;
+  sum = 3.4974+0.4485*log10(dL)+0.1074*pow(log10(dL),2);
+  sum = pow(10, sum);
+  P= (P-1)*101.325/100;
+  dL=(P+1)*D/(317.46*(850-0.6*(P+1)))+0.0315;
+  sum *=(2.25+ 1.82*dL*4.2);
+  sum = sum*MS_YEAR/MS_2001;
+  return sum;
+}
+
+double pfr::get_water() {
+  sum = (U>EPS && T>Ta) ? U*L*pi*pow(D,2)/4*(T-Ta)/4.185/25.0 : 0.0;
+  return sum;
+}
+
+void pfr::cost() {
+  cout << "WRITE FILE " << RUNTIME << name << ".cost" << " :\n\tBEGIN\n";
+  cout << "\t>>" << get_cost();
+  cout << "\n\tEND\n\n";
+}
+
+void pfr::water() {
+  cout << "WRITE FILE " << RUNTIME << name << ".water" << " :\n\tBEGIN\n";
+  if (U>EPS && T>Ta) sum = (U*L*pi*pow(D,2)/4*(T-Ta)/4.185/25.0);
+  else sum = 0.0;
+  cout << "\t>>" << sum;
+  cout << "\n\tEND\n\n";
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/pfr.hpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/pfr.hpp
index a8f49a7..9746a50 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/pfr.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/pfr.hpp
@@ -1,36 +1,36 @@
-#ifndef PFR_H
-#define PFR_H
-
-#include "reaction.hpp"
-#include "RungeKutta.hpp"
-#include "stream.hpp"
-using namespace std;
-
-class pfr {
-private:
-  // terminator *term;
-  // ofstream results;
-  string name;
-  bool OK, explode;
-  int i ,j, n, m;
-  double L,D,dL, U, Ta, m_in, sum, P;
-  stream *F;
-  double **a, *C, T, *y, *r, tmp, tmp1;
-  reaction **rx;
-  RungeKutta<pfr> *solver;
-  
-public:
-  // pfr(){};
-  pfr ( stream * , stream * , double ** , int , reaction ** , double , double );
-  void set ( const string & n ) { name = n; }
-  void set(double l, double d) {L=l; D=d;}
-  bool run();
-  void water();
-  void  cost();
-  double get_cost ( void );
-  double get_water ( void );
-
-  double f(int, double, double*);
-  ~pfr();
-};
-#endif
+#ifndef PFR_H
+#define PFR_H
+
+#include "reaction.hpp"
+#include "RungeKutta.hpp"
+#include "stream.hpp"
+using namespace std;
+
+class pfr {
+private:
+  // terminator *term;
+  // ofstream results;
+  string name;
+  bool OK, explode;
+  int i ,j, n, m;
+  double L,D,dL, U, Ta, m_in, sum, P;
+  stream *F;
+  double **a, *C, T, *y, *r, tmp, tmp1;
+  reaction **rx;
+  RungeKutta<pfr> *solver;
+  
+public:
+  // pfr(){};
+  pfr ( stream * , stream * , double ** , int , reaction ** , double , double );
+  void set ( const string & n ) { name = n; }
+  void set(double l, double d) {L=l; D=d;}
+  bool run();
+  void water();
+  void  cost();
+  double get_cost ( void );
+  double get_water ( void );
+
+  double f(int, double, double*);
+  ~pfr();
+};
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/profitability.cpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/profitability.cpp
index 3617b30..902f30d 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/profitability.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/profitability.cpp
@@ -1,138 +1,138 @@
-#include "profitability.hpp"
-#include "secant.cpp"
-using namespace std;
-
-bool profitability::run ( double * y )
-{
-   OK=true;
-
-   // cout<<setiosflags(ios::fixed);
-   // cout<<endl<<endl<<"   PROFITABILITY ANALYSIS"<<endl;
-   // cout<<endl<<setprecision(1)<<"      Return on investment   (%)= "<<ROI()*100.0;
-   // cout<<endl<<"      Rate of return         (%)= "<<RR()*100.0; // y[10]
-
-   y[10] = RR()*100.0;  // y[10]
-
-   ROI();
-   RR();
-
-   // cout<<endl<<"      Discounted flow rate   (%)= "<<DFR()*100.0;
-
-   DFR();
-
-   // cout<<endl<<endl<<"      Payout time            (y)= "<<PT();              // y[ 9]
-   y[9] = PT();
-
-   // cout<<endl<<setprecision(0)<<"      Annual equivalent cost ($)= "<<AEC();  // y[12]
-   y[12] = AEC();
-
-   // cout<<endl<<"      Net present value      ($)= "<<NPV()<<endl;             // y[13]
-   y[13] = NPV();
-
-   return OK;
-}
-
-double profitability::ROI()
-{
-  // if(!MUTE)cout<<endl<<"        return on investment...";
-   num=den=0.0;
-   for(i=0;i<C->N;i++)
-   {
-      if(C->Inv[i]>EPS) den+=C->Inv[i];
-      num+=(C->Rev[i]-C->Coper[i]-C->Amort[i]);
-   }
-   if (num>EPS && den>EPS && C->N>0) {
-     // if(!MUTE)cout<<" OK";
-     return num/C->N/den;
-   }
-   else return 0.0;
-}
-
-double profitability::RR()
-{
-   // if(!MUTE)cout<<endl<<"        rate of return...";
-   num=den=0.0;
-   for(i=0;i<C->N;i++)
-   {
-      num+=(C->Rev[i]-C->Coper[i])/pow(1.0+C->i_rate, i);
-      den+=C->Inv[i]/pow(1.0+C->i_rate, i);
-   }
-   if(num>EPS && den>EPS) {
-     // if(!MUTE)cout<<" OK";
-     return num/den;
-   }
-   else return 0.0;
-}
-
-double profitability::DFR()
-{
-  //if(!MUTE)cout<<endl<<"        discounted cash flow rate...";
-   solver = new secant<profitability>();
-   solver->set(this, 0.0, 0.01);
-   OK = solver->run();
-
-   if ( OK && num>EPS && num < 1e20 ) {
-     // if(!MUTE)cout<<" OK";
-     return num;
-   }
-   else return 0.0;
-}
-
-double profitability::f(double x)
-{
-   num=x;
-   sum=0.0;
-   for(i=0;i<C->N;i++)
-     sum += C->Flow[i]/pow(1.0+x, i);
-   return sum;
-}
-
-double profitability::PT()
-{
-  // if(!MUTE)cout<<endl<<"        payout time...";
-   sum=0.0;
-   for(i=0;i<C->N;i++)
-   {
-      if((sum+C->Flow[i])>0.0)
-      {
-         den=0.0;
-         while(sum+den*C->Flow[i]<=0.0) den+=0.001;
-         den+=double(i-1);
-         i=C->N;
-      }
-      else sum+=C->Flow[i];
-   }
-
-   if(den>EPS) {
-     // if(!MUTE)cout<<" OK";
-     return den;
-   }
-   else return 0.0;
-}
-
-double profitability::AEC()
-{
-   //if(!MUTE)cout<<endl<<"        annual equivalent cost...";
-   sum=0.0;
-   for(i=0;i<C->N;i++) sum+=(C->Coper[i]+C->Inv[i])/pow(1.0+C->i_rate, i);
-   if (sum>EPS) {
-//      if(!MUTE)
-//        cout<<" OK";
-     return sum*(C->i_rate*pow(1.0+C->i_rate,C->N))/(pow(1.0+C->i_rate,C->N)-1.0);
-   }
-   else return 0.0;
-}
-
-double profitability::NPV()
-{
-  // if(!MUTE)cout<<endl<<"        net present value...";
-   sum=0.0;
-   for ( i = 0 ; i < C->N ; i++ )
-     sum += C->Flowact[i];
-   if ( sum > EPS ) {
-//      if(!MUTE)
-//        cout<<" OK";
-     return sum;
-   }
-   return 0.0;
-}
+#include "profitability.hpp"
+#include "secant.cpp"
+using namespace std;
+
+bool profitability::run ( double * y )
+{
+   OK=true;
+
+   // cout<<setiosflags(ios::fixed);
+   // cout<<endl<<endl<<"   PROFITABILITY ANALYSIS"<<endl;
+   // cout<<endl<<setprecision(1)<<"      Return on investment   (%)= "<<ROI()*100.0;
+   // cout<<endl<<"      Rate of return         (%)= "<<RR()*100.0; // y[10]
+
+   y[10] = RR()*100.0;  // y[10]
+
+   ROI();
+   RR();
+
+   // cout<<endl<<"      Discounted flow rate   (%)= "<<DFR()*100.0;
+
+   DFR();
+
+   // cout<<endl<<endl<<"      Payout time            (y)= "<<PT();              // y[ 9]
+   y[9] = PT();
+
+   // cout<<endl<<setprecision(0)<<"      Annual equivalent cost ($)= "<<AEC();  // y[12]
+   y[12] = AEC();
+
+   // cout<<endl<<"      Net present value      ($)= "<<NPV()<<endl;             // y[13]
+   y[13] = NPV();
+
+   return OK;
+}
+
+double profitability::ROI()
+{
+  // if(!MUTE)cout<<endl<<"        return on investment...";
+   num=den=0.0;
+   for(i=0;i<C->N;i++)
+   {
+      if(C->Inv[i]>EPS) den+=C->Inv[i];
+      num+=(C->Rev[i]-C->Coper[i]-C->Amort[i]);
+   }
+   if (num>EPS && den>EPS && C->N>0) {
+     // if(!MUTE)cout<<" OK";
+     return num/C->N/den;
+   }
+   else return 0.0;
+}
+
+double profitability::RR()
+{
+   // if(!MUTE)cout<<endl<<"        rate of return...";
+   num=den=0.0;
+   for(i=0;i<C->N;i++)
+   {
+      num+=(C->Rev[i]-C->Coper[i])/pow(1.0+C->i_rate, i);
+      den+=C->Inv[i]/pow(1.0+C->i_rate, i);
+   }
+   if(num>EPS && den>EPS) {
+     // if(!MUTE)cout<<" OK";
+     return num/den;
+   }
+   else return 0.0;
+}
+
+double profitability::DFR()
+{
+  //if(!MUTE)cout<<endl<<"        discounted cash flow rate...";
+   solver = new secant<profitability>();
+   solver->set(this, 0.0, 0.01);
+   OK = solver->run();
+
+   if ( OK && num>EPS && num < 1e20 ) {
+     // if(!MUTE)cout<<" OK";
+     return num;
+   }
+   else return 0.0;
+}
+
+double profitability::f(double x)
+{
+   num=x;
+   sum=0.0;
+   for(i=0;i<C->N;i++)
+     sum += C->Flow[i]/pow(1.0+x, i);
+   return sum;
+}
+
+double profitability::PT()
+{
+  // if(!MUTE)cout<<endl<<"        payout time...";
+   sum=0.0;
+   for(i=0;i<C->N;i++)
+   {
+      if((sum+C->Flow[i])>0.0)
+      {
+         den=0.0;
+         while(sum+den*C->Flow[i]<=0.0) den+=0.001;
+         den+=double(i-1);
+         i=C->N;
+      }
+      else sum+=C->Flow[i];
+   }
+
+   if(den>EPS) {
+     // if(!MUTE)cout<<" OK";
+     return den;
+   }
+   else return 0.0;
+}
+
+double profitability::AEC()
+{
+   //if(!MUTE)cout<<endl<<"        annual equivalent cost...";
+   sum=0.0;
+   for(i=0;i<C->N;i++) sum+=(C->Coper[i]+C->Inv[i])/pow(1.0+C->i_rate, i);
+   if (sum>EPS) {
+//      if(!MUTE)
+//        cout<<" OK";
+     return sum*(C->i_rate*pow(1.0+C->i_rate,C->N))/(pow(1.0+C->i_rate,C->N)-1.0);
+   }
+   else return 0.0;
+}
+
+double profitability::NPV()
+{
+  // if(!MUTE)cout<<endl<<"        net present value...";
+   sum=0.0;
+   for ( i = 0 ; i < C->N ; i++ )
+     sum += C->Flowact[i];
+   if ( sum > EPS ) {
+//      if(!MUTE)
+//        cout<<" OK";
+     return sum;
+   }
+   return 0.0;
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/profitability.hpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/profitability.hpp
index 194102c..03f85c5 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/profitability.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/profitability.hpp
@@ -1,30 +1,30 @@
-#ifndef PROFITABILITY_H
-#define PROFITABILITY_H
-#include "cashflow.hpp"
-#include "secant.hpp"
-
-#include <iomanip>
-
-using namespace std;
-
-class profitability
-{
-private:
-  cashflow *C;
-//   ofstream out;
-//   char name[41]; 
-  bool OK;
-  double ROI(), RR(), DFR();
-  double PT(), AEC(), NPV();
-  int i;
-  double den, num, sum;
-  secant<profitability> *solver;
-  
-public:
-  profitability(cashflow* c){C=c;}
-  ~profitability(){delete solver;};
-  // void set(char n[31]) {strcpy(name, n); strcat(name, ".econo");}
-  bool run ( double * y );
-  double f(double);
-};
-#endif
+#ifndef PROFITABILITY_H
+#define PROFITABILITY_H
+#include "cashflow.hpp"
+#include "secant.hpp"
+
+#include <iomanip>
+
+using namespace std;
+
+class profitability
+{
+private:
+  cashflow *C;
+//   ofstream out;
+//   char name[41]; 
+  bool OK;
+  double ROI(), RR(), DFR();
+  double PT(), AEC(), NPV();
+  int i;
+  double den, num, sum;
+  secant<profitability> *solver;
+  
+public:
+  profitability(cashflow* c){C=c;}
+  ~profitability(){delete solver;};
+  // void set(char n[31]) {strcpy(name, n); strcat(name, ".econo");}
+  bool run ( double * y );
+  double f(double);
+};
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/pump.cpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/pump.cpp
index 685a0be..166123f 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/pump.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/pump.cpp
@@ -1,94 +1,94 @@
-#include "pump.hpp"
-using namespace std;
-
-bool pump::solve() {
-
-  // out->chem = in->chem;
-  out->set ( in->nb , in->chem );
-  out->m = in->m;
-
-
-  in->set(in->P,in->T);
-  for ( i = 0 ; i < in->nb ; i++ )
-    if(in->chem[i]->m>EPS) {
-      in->chem[i]->find_v();
-      if(in->chem[i]->state==1) {
-	W+=in->chem[i]->gamma()*in->T*0.0083144*in->chem[i]->n()/
-	  (in->chem[i]->gamma()-1.0)*(pow(P/in->P, 1.0-1.0/in->chem[i]->gamma())-1.0);
-	tmp += in->chem[i]->gamma();
-	n++;
-      }
-      if(in->chem[i]->state==0)
-	W+=in->chem[i]->v*(P-in->P)*101.325;
-    }
-  if (fabs(state-1)<EPS) //compressing gases
-    out->T = in->T*pow(P/in->P, 1.0-1.0/(tmp/n));
-  else //compressing liquids
-    out->T=in->T;
-  out->set(P, out->T);
-  if(eta>EPS)
-    W /= eta;
-  else
-    success=false;
-  // out->write(); // WRITE TOTO
-  return success;
-}
-
-void pump::write() {
-
-  cout << setprecision(6);
-
-  string file_name = RUNTIME + name + ".unit";
-  cout << "WRITE FILE " << file_name << " :\n\tBEGIN\n";
-  cout <<"\t>>         " << name;
-  cout << endl << "\t>>           stream in: "<<in->name<<"   out: "<<out->name;
-  cout << endl << "\t>>           P(in) = "<<in->P<<"   P(out) = "<<out->P<<"  atm";
-  cout << endl << "\t>>           T(in) = "<<in->T<<"   T(out) = "<<out->T<<"  K";
-  cout << endl << "\t>>           Shaft work = "<<W;
-  if (success)
-    cout <<" kW (converge normally)";
-  cout << "\n\tEND\n\n";
-
-  power();
-  cost();
-}
-
-
-double pump::get_cost ( void ) {
-
-  if ( fabs(state-1) < EPS ) {
-    if(W<450) W=450; if(W>3000)W=3000;
-    tmp=2.2891+1.3604*log10(W)-0.1027*pow(log10(W),2);
-    tmp=3.2*pow(10.0, tmp);
-    tmp1=2.4604+1.4191*log10(W)-0.1798*pow(log10(W),2);
-    tmp1=1.5*pow(10.0, tmp1);
-    tmp+=tmp1;
-  }
-  else {
-    if(W<1) W=1; if(W>300)W=300;
-    tmp=3.3892+0.0536*log10(W)+0.1538*pow(log10(W),2);
-    tmp=pow(10.0, tmp);
-    P=(P-1.0)*101.325/100.0;
-    if (P<EPS) P=1; if(P>100) P=100;
-    W = -0.3925+0.3957*log10(P)-0.00226*pow(log10(P),2);
-    W=pow(10.0, W); if(W<1) W=1;
-    tmp*=(1.89+1.35*W*1.8);
-  }
-  tmp = tmp*MS_YEAR/MS_2001;
-  return tmp;
-}
-
-
-void pump::cost() {
-  string file_name = RUNTIME + name + ".cost";
-  cout << "WRITE FILE " << file_name << " :\n\tBEGIN\n";
-  cout << "\t>>" << get_cost();
-  cout << "\n\tEND\n\n";
-}
-
-void pump::power() {
-  string file_name = RUNTIME + name + ".power";
-  cout << "WRITE FILE " << file_name << " :\n\tBEGIN\n";
-  cout << "\t>>" << W;
-  cout << "\n\tEND\n\n";
-}
+#include "pump.hpp"
+using namespace std;
+
+bool pump::solve() {
+
+  // out->chem = in->chem;
+  out->set ( in->nb , in->chem );
+  out->m = in->m;
+
+
+  in->set(in->P,in->T);
+  for ( i = 0 ; i < in->nb ; i++ )
+    if(in->chem[i]->m>EPS) {
+      in->chem[i]->find_v();
+      if(in->chem[i]->state==1) {
+	W+=in->chem[i]->gamma()*in->T*0.0083144*in->chem[i]->n()/
+	  (in->chem[i]->gamma()-1.0)*(pow(P/in->P, 1.0-1.0/in->chem[i]->gamma())-1.0);
+	tmp += in->chem[i]->gamma();
+	n++;
+      }
+      if(in->chem[i]->state==0)
+	W+=in->chem[i]->v*(P-in->P)*101.325;
+    }
+  if (fabs(state-1)<EPS) //compressing gases
+    out->T = in->T*pow(P/in->P, 1.0-1.0/(tmp/n));
+  else //compressing liquids
+    out->T=in->T;
+  out->set(P, out->T);
+  if(eta>EPS)
+    W /= eta;
+  else
+    success=false;
+  // out->write(); // WRITE TOTO
+  return success;
+}
+
+void pump::write() {
+
+  cout << setprecision(6);
+
+  string file_name = RUNTIME + name + ".unit";
+  cout << "WRITE FILE " << file_name << " :\n\tBEGIN\n";
+  cout <<"\t>>         " << name;
+  cout << endl << "\t>>           stream in: "<<in->name<<"   out: "<<out->name;
+  cout << endl << "\t>>           P(in) = "<<in->P<<"   P(out) = "<<out->P<<"  atm";
+  cout << endl << "\t>>           T(in) = "<<in->T<<"   T(out) = "<<out->T<<"  K";
+  cout << endl << "\t>>           Shaft work = "<<W;
+  if (success)
+    cout <<" kW (converge normally)";
+  cout << "\n\tEND\n\n";
+
+  power();
+  cost();
+}
+
+
+double pump::get_cost ( void ) {
+
+  if ( fabs(state-1) < EPS ) {
+    if(W<450) W=450; if(W>3000)W=3000;
+    tmp=2.2891+1.3604*log10(W)-0.1027*pow(log10(W),2);
+    tmp=3.2*pow(10.0, tmp);
+    tmp1=2.4604+1.4191*log10(W)-0.1798*pow(log10(W),2);
+    tmp1=1.5*pow(10.0, tmp1);
+    tmp+=tmp1;
+  }
+  else {
+    if(W<1) W=1; if(W>300)W=300;
+    tmp=3.3892+0.0536*log10(W)+0.1538*pow(log10(W),2);
+    tmp=pow(10.0, tmp);
+    P=(P-1.0)*101.325/100.0;
+    if (P<EPS) P=1; if(P>100) P=100;
+    W = -0.3925+0.3957*log10(P)-0.00226*pow(log10(P),2);
+    W=pow(10.0, W); if(W<1) W=1;
+    tmp*=(1.89+1.35*W*1.8);
+  }
+  tmp = tmp*MS_YEAR/MS_2001;
+  return tmp;
+}
+
+
+void pump::cost() {
+  string file_name = RUNTIME + name + ".cost";
+  cout << "WRITE FILE " << file_name << " :\n\tBEGIN\n";
+  cout << "\t>>" << get_cost();
+  cout << "\n\tEND\n\n";
+}
+
+void pump::power() {
+  string file_name = RUNTIME + name + ".power";
+  cout << "WRITE FILE " << file_name << " :\n\tBEGIN\n";
+  cout << "\t>>" << W;
+  cout << "\n\tEND\n\n";
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/pump.hpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/pump.hpp
index aac9e6b..dbcacfd 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/pump.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/pump.hpp
@@ -1,46 +1,46 @@
-/*
-This unit takes one input stream and divides in two or more
-output streams. The pressure and temparature of output streams
-are the same as the input's.
-(ref : McCabe, Smith & Harriott)
-
-Structure in the .process file:
-pump {name} {index of input stream} {index of output stream} {output pressure in atm} {efficiency, between 0 and 1}
-
-How to use:
-   1- Call the constructor: pump1 = new pump(in, out);
-   2- Set conditions: pump1->set(P_output, efficiency);
-   3- Set the name: pump1->set(name);
-   4- Solve: pump1->solve();   
-*/
-#ifndef PUMP_H
-#define PUMP_H
-
-#include "stream.hpp"
-using namespace std;
-
-class pump
-{
-private:
-  int i, j, n;
-  double state, tmp, tmp1;
-  bool success;
-  string name;
-  stream *in;		//pointer to input stream
-  stream *out;		//pointer to output stream
-  
-public:
-  double P, W, eta;			//output presure in atm, work in kW and efficiency
-  pump(stream* s1, stream* s2) {in=s1; out=s2; success=true; W=0.0; n=0; tmp=0.0;}
-  ~pump(){}
-  void set(double p, double e){P = p; eta = e; state=in->quality();}
-  void set(const string & n) { name = n; }
-  bool solve();				  //finds the temperature and computes mass balance
-  void write();
-  void cost();
-  double get_cost(); // calcule W aussi
-  double get_power() const { return W; }
-
-  void  power();
-};
-#endif
+/*
+This unit takes one input stream and divides in two or more
+output streams. The pressure and temparature of output streams
+are the same as the input's.
+(ref : McCabe, Smith & Harriott)
+
+Structure in the .process file:
+pump {name} {index of input stream} {index of output stream} {output pressure in atm} {efficiency, between 0 and 1}
+
+How to use:
+   1- Call the constructor: pump1 = new pump(in, out);
+   2- Set conditions: pump1->set(P_output, efficiency);
+   3- Set the name: pump1->set(name);
+   4- Solve: pump1->solve();   
+*/
+#ifndef PUMP_H
+#define PUMP_H
+
+#include "stream.hpp"
+using namespace std;
+
+class pump
+{
+private:
+  int i, j, n;
+  double state, tmp, tmp1;
+  bool success;
+  string name;
+  stream *in;		//pointer to input stream
+  stream *out;		//pointer to output stream
+  
+public:
+  double P, W, eta;			//output presure in atm, work in kW and efficiency
+  pump(stream* s1, stream* s2) {in=s1; out=s2; success=true; W=0.0; n=0; tmp=0.0;}
+  ~pump(){}
+  void set(double p, double e){P = p; eta = e; state=in->quality();}
+  void set(const string & n) { name = n; }
+  bool solve();				  //finds the temperature and computes mass balance
+  void write();
+  void cost();
+  double get_cost(); // calcule W aussi
+  double get_power() const { return W; }
+
+  void  power();
+};
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/reaction.cpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/reaction.cpp
index 9eaafc1..ee658e5 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/reaction.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/reaction.cpp
@@ -1,204 +1,204 @@
-#include "reaction.hpp"
-using namespace std;
-
-
-int reaction::find_chemical ( const string & chem_name ) const {
-  for ( int i = 0 ; i < m ; i++ )
-    if ( list[i]->CAS == chem_name )
-      return i;
-  return -1;
-}
-
-// donnees hardcodees
-reaction::reaction ( const string & in1 , int dim , chemical ** in2 ) {
-
-  m    = dim;  // nbre de chemicals
-  list = in2;  // liste des chemicals
-
-  n      = new double[m];
-  safe_n = new double[m];
-  safe_a = new double[m];
-  a      = new double[m];
-
-  int i , j;
-  for ( i = 0 ; i < m ; i++ ) {
-    a[i]=0.0;
-    n[i]=0.0;
-  }
-
-  // 1/5 :
-  if ( in1 == "eb2sty" ) {
-    k0 = 3.525e5;
-    E  = 90.85;
-    if ( (j = find_chemical ("100-41-4")) < 0 ) {
-      cout << "ERROR 10a\n\n";
-      exit(0);
-    }
-    a[j] = -1;
-    n[j] =  1;
-    if ( (j = find_chemical ("1333-74-0")) < 0 ) {
-      cout << "ERROR 10b\n\n";
-      exit(0);
-    }
-    a[j] = 1;
-    n[j] = 0;
-    if ( (j = find_chemical ("100-42-5")) < 0 ) {
-      cout << "ERROR 10c\n\n";
-      exit(0);
-    }
-    a[j] = 1;
-    n[j] = 0;
-  }
-
-  // 2/5 :
-  else if ( in1 == "sty2eb" ) {
-    k0 = 2.754e-4;
-    E  = -18.653;
-    if ( (j = find_chemical ("100-41-4")) < 0 ) {
-      cout << "ERROR 10d\n\n";
-      exit(0);
-    }
-    a[j] = 1;
-    n[j] = 0;
-    if ( (j = find_chemical ("1333-74-0")) < 0 ) {
-      cout << "ERROR 10e\n\n";
-      exit(0);
-    }
-    a[j] = -1;
-    n[j] =  1;
-    if ( (j = find_chemical ("100-42-5")) < 0 ) {
-      cout << "ERROR 10f\n\n";
-      exit(0);
-    }
-    a[j] = -1;
-    n[j] =  1;
-  }
-
-  // 3/5 :
-  else if ( in1 == "eb2bz" ) {
-    k0 = 9.577e4;
-    E  = 111.375;
-    if ( (j = find_chemical ("100-41-4")) < 0 ) {
-      cout << "ERROR 10g\n\n";
-      exit(0);
-    }
-    a[j] = -1;
-    n[j] =  1;
-    if ( (j = find_chemical ("71-43-2")) < 0 ) {
-      cout << "ERROR 10h\n\n";
-      exit(0);
-    }
-    a[j] = 1;
-    n[j] = 0;
-    if ( (j = find_chemical ("74-85-1")) < 0 ) {
-      cout << "ERROR 10i\n\n";
-      exit(0);
-    }
-    a[j] = 1;
-    n[j] = 0;
-  }
-
-  // 4/5 :
-  else if ( in1 == "eb2tol" ) {
-    k0 = 6.077e8;
-    E  = 207.850;
-    if ( (j = find_chemical ("100-41-4")) < 0 ) {
-      cout << "ERROR 10j\n\n";
-      exit(0);
-    }
-    a[j] = -1;
-    n[j] =  1;
-    if ( (j = find_chemical ("1333-74-0")) < 0 ) {
-      cout << "ERROR 10k\n\n";
-      exit(0);
-    }
-    a[j] = -1;
-    n[j] =  1;
-    if ( (j = find_chemical ("108-88-3")) < 0 ) {
-      cout << "ERROR 10l\n\n";
-      exit(0);
-    }
-    a[j] = 1;
-    n[j] = 0;
-    if ( (j = find_chemical ("74-82-8")) < 0 ) {
-      cout << "ERROR 10m\n\n";
-      exit(0);
-    }
-    a[j] = 1;
-    n[j] = 0;
-  }
-
-  // 5/5 :
-  else if ( in1 == "tol2bz" ) {
-    k0 = 1;
-    E  = 19.038;
-    if ( (j = find_chemical ("1333-74-0")) < 0 ) {
-      cout << "ERROR 10n\n\n";
-      exit(0);
-    }
-    a[j] = -1;
-    n[j] = 0.5;
-    if ( (j = find_chemical ("108-88-3")) < 0 ) {
-      cout << "ERROR 10o\n\n";
-      exit(0);
-    }
-    a[j] = -1;
-    n[j] =  1;
-    if ( (j = find_chemical ("71-43-2")) < 0 ) {
-      cout << "ERROR 10p\n\n";
-      exit(0);
-    }
-    a[j] = 1;
-    n[j] = 0;
-    if ( (j = find_chemical ("74-82-8")) < 0 ) {
-      cout << "ERROR 10q\n\n";
-      exit(0);
-    }
-    a[j] = 1;
-    n[j] = 0;
-  }
-  else {
-    cout << "ERROR 12\n\n";
-    exit(0);
-  }
-
-  for ( i = 0 ; i < m ; i++ ) {
-    safe_n[i]=n[i];
-    safe_a[i]=a[i];
-  }
-}
-
-reaction::~reaction() {
-  delete [] a;
-  delete [] n;
-  delete [] safe_n;
-  delete [] safe_a;
-}
-
-double reaction::dHr(double T)
-{
-  int i , j;
-  for (i=0;i<m;i++)
-    if(safe_a[i]!=a[i])
-      {
-	if(a[i]>safe_a[i]) a[i]=safe_a[i];
-	else safe_a[i]=a[i];
-      }
-  double tmp=0.0;
-  for (i=0;i<m;i++) tmp += a[i]*list[i]->Ho;
-  if(fabs(T-298)>EPS)
-    for (i=0;i<m;i++)
-      for (j=1;j<=4;j++) tmp += a[i]*list[i]->Cp_param[j-1]*(pow(T,j)-pow(298.0,j))/j/1000.0;
-  return tmp;
-}
-
-double reaction::rate(double T, double* C)
-{
-  double tmp = k0*exp(-1000*E/8.3144/T);
-  for ( int i=0;i<m;i++)
-    {
-      if(safe_n[i]!=n[i]) n[i]=safe_n[i];
-      if(C[i]>EPS && fabs(n[i])>EPS) tmp *= pow(C[i], n[i]);
-    }
-  return tmp;
-}
+#include "reaction.hpp"
+using namespace std;
+
+
+int reaction::find_chemical ( const string & chem_name ) const {
+  for ( int i = 0 ; i < m ; i++ )
+    if ( list[i]->CAS == chem_name )
+      return i;
+  return -1;
+}
+
+// donnees hardcodees
+reaction::reaction ( const string & in1 , int dim , chemical ** in2 ) {
+
+  m    = dim;  // nbre de chemicals
+  list = in2;  // liste des chemicals
+
+  n      = new double[m];
+  safe_n = new double[m];
+  safe_a = new double[m];
+  a      = new double[m];
+
+  int i , j;
+  for ( i = 0 ; i < m ; i++ ) {
+    a[i]=0.0;
+    n[i]=0.0;
+  }
+
+  // 1/5 :
+  if ( in1 == "eb2sty" ) {
+    k0 = 3.525e5;
+    E  = 90.85;
+    if ( (j = find_chemical ("100-41-4")) < 0 ) {
+      cout << "ERROR 10a\n\n";
+      exit(0);
+    }
+    a[j] = -1;
+    n[j] =  1;
+    if ( (j = find_chemical ("1333-74-0")) < 0 ) {
+      cout << "ERROR 10b\n\n";
+      exit(0);
+    }
+    a[j] = 1;
+    n[j] = 0;
+    if ( (j = find_chemical ("100-42-5")) < 0 ) {
+      cout << "ERROR 10c\n\n";
+      exit(0);
+    }
+    a[j] = 1;
+    n[j] = 0;
+  }
+
+  // 2/5 :
+  else if ( in1 == "sty2eb" ) {
+    k0 = 2.754e-4;
+    E  = -18.653;
+    if ( (j = find_chemical ("100-41-4")) < 0 ) {
+      cout << "ERROR 10d\n\n";
+      exit(0);
+    }
+    a[j] = 1;
+    n[j] = 0;
+    if ( (j = find_chemical ("1333-74-0")) < 0 ) {
+      cout << "ERROR 10e\n\n";
+      exit(0);
+    }
+    a[j] = -1;
+    n[j] =  1;
+    if ( (j = find_chemical ("100-42-5")) < 0 ) {
+      cout << "ERROR 10f\n\n";
+      exit(0);
+    }
+    a[j] = -1;
+    n[j] =  1;
+  }
+
+  // 3/5 :
+  else if ( in1 == "eb2bz" ) {
+    k0 = 9.577e4;
+    E  = 111.375;
+    if ( (j = find_chemical ("100-41-4")) < 0 ) {
+      cout << "ERROR 10g\n\n";
+      exit(0);
+    }
+    a[j] = -1;
+    n[j] =  1;
+    if ( (j = find_chemical ("71-43-2")) < 0 ) {
+      cout << "ERROR 10h\n\n";
+      exit(0);
+    }
+    a[j] = 1;
+    n[j] = 0;
+    if ( (j = find_chemical ("74-85-1")) < 0 ) {
+      cout << "ERROR 10i\n\n";
+      exit(0);
+    }
+    a[j] = 1;
+    n[j] = 0;
+  }
+
+  // 4/5 :
+  else if ( in1 == "eb2tol" ) {
+    k0 = 6.077e8;
+    E  = 207.850;
+    if ( (j = find_chemical ("100-41-4")) < 0 ) {
+      cout << "ERROR 10j\n\n";
+      exit(0);
+    }
+    a[j] = -1;
+    n[j] =  1;
+    if ( (j = find_chemical ("1333-74-0")) < 0 ) {
+      cout << "ERROR 10k\n\n";
+      exit(0);
+    }
+    a[j] = -1;
+    n[j] =  1;
+    if ( (j = find_chemical ("108-88-3")) < 0 ) {
+      cout << "ERROR 10l\n\n";
+      exit(0);
+    }
+    a[j] = 1;
+    n[j] = 0;
+    if ( (j = find_chemical ("74-82-8")) < 0 ) {
+      cout << "ERROR 10m\n\n";
+      exit(0);
+    }
+    a[j] = 1;
+    n[j] = 0;
+  }
+
+  // 5/5 :
+  else if ( in1 == "tol2bz" ) {
+    k0 = 1;
+    E  = 19.038;
+    if ( (j = find_chemical ("1333-74-0")) < 0 ) {
+      cout << "ERROR 10n\n\n";
+      exit(0);
+    }
+    a[j] = -1;
+    n[j] = 0.5;
+    if ( (j = find_chemical ("108-88-3")) < 0 ) {
+      cout << "ERROR 10o\n\n";
+      exit(0);
+    }
+    a[j] = -1;
+    n[j] =  1;
+    if ( (j = find_chemical ("71-43-2")) < 0 ) {
+      cout << "ERROR 10p\n\n";
+      exit(0);
+    }
+    a[j] = 1;
+    n[j] = 0;
+    if ( (j = find_chemical ("74-82-8")) < 0 ) {
+      cout << "ERROR 10q\n\n";
+      exit(0);
+    }
+    a[j] = 1;
+    n[j] = 0;
+  }
+  else {
+    cout << "ERROR 12\n\n";
+    exit(0);
+  }
+
+  for ( i = 0 ; i < m ; i++ ) {
+    safe_n[i]=n[i];
+    safe_a[i]=a[i];
+  }
+}
+
+reaction::~reaction() {
+  delete [] a;
+  delete [] n;
+  delete [] safe_n;
+  delete [] safe_a;
+}
+
+double reaction::dHr(double T)
+{
+  int i , j;
+  for (i=0;i<m;i++)
+    if(safe_a[i]!=a[i])
+      {
+	if(a[i]>safe_a[i]) a[i]=safe_a[i];
+	else safe_a[i]=a[i];
+      }
+  double tmp=0.0;
+  for (i=0;i<m;i++) tmp += a[i]*list[i]->Ho;
+  if(fabs(T-298)>EPS)
+    for (i=0;i<m;i++)
+      for (j=1;j<=4;j++) tmp += a[i]*list[i]->Cp_param[j-1]*(pow(T,j)-pow(298.0,j))/j/1000.0;
+  return tmp;
+}
+
+double reaction::rate(double T, double* C)
+{
+  double tmp = k0*exp(-1000*E/8.3144/T);
+  for ( int i=0;i<m;i++)
+    {
+      if(safe_n[i]!=n[i]) n[i]=safe_n[i];
+      if(C[i]>EPS && fabs(n[i])>EPS) tmp *= pow(C[i], n[i]);
+    }
+  return tmp;
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/reaction.hpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/reaction.hpp
index 1456e0d..f05b27e 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/reaction.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/reaction.hpp
@@ -1,32 +1,32 @@
-#ifndef REACTION_H
-#define REACTION_H
-
-#include "chemical.hpp"
-using namespace std;
-
-class reaction {
-private:
-
-  int m;
-  double *n, k0, E, Hr, *safe_n, *safe_a;
-  // double tmp;
-//   char file[41], line[31];
-  chemical ** list;
-//   ifstream in;
-  // ofstream logf;
-  // terminator *end;
-	
-  int find_chemical ( const string & chem_name ) const;
-
-public:
-  // reaction(){};
-  reaction ( const string & , int ,  chemical ** );
-  ~reaction();
-  double *a;									//contains the molar coefficients
-  double dHr(double);					//returns heat of rection at T, in kJ/mol
-  double rate(double, double*);		//returns rate of reaction aT and C[], in mol/s.m3
-
-//   void show_name(){cout<<name;}
-};
-
-#endif
+#ifndef REACTION_H
+#define REACTION_H
+
+#include "chemical.hpp"
+using namespace std;
+
+class reaction {
+private:
+
+  int m;
+  double *n, k0, E, Hr, *safe_n, *safe_a;
+  // double tmp;
+//   char file[41], line[31];
+  chemical ** list;
+//   ifstream in;
+  // ofstream logf;
+  // terminator *end;
+	
+  int find_chemical ( const string & chem_name ) const;
+
+public:
+  // reaction(){};
+  reaction ( const string & , int ,  chemical ** );
+  ~reaction();
+  double *a;									//contains the molar coefficients
+  double dHr(double);					//returns heat of rection at T, in kJ/mol
+  double rate(double, double*);		//returns rate of reaction aT and C[], in mol/s.m3
+
+//   void show_name(){cout<<name;}
+};
+
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/reactor.cpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/reactor.cpp
index 7f6e3a9..0f0ddae 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/reactor.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/reactor.cpp
@@ -1,100 +1,100 @@
-#include "reactor.hpp"
-using namespace std;
-
-template<class TYPE>
-reactor<TYPE>::reactor(stream* s1, stream* s2)
-{
-   in  = s1;
-   out = s2;
-
-   model = NULL;
-}
-
-template<class TYPE>
-reactor<TYPE>::~reactor() {
-  for ( i = 0 ; i < n ; i++ )
-    delete rx[i];
-  delete [] rx;
-  for ( i = 0 ; i < m ; i++ )
-    delete table[i];
-  delete [] table;
-
-  if (model)
-    delete model;
-}
-
-template<class TYPE>
-void reactor<TYPE>::set ( double l , double d , int nb , const string * list_rx ) {
-  m      = in->nb;
-  n      = nb;
-  L      = l;
-  D      = d;
-  V      = pi*pow(D/2.0, 2)*L;
-
-  double * yields = new double [n];
-
-  rx = new reaction * [n];
-  for ( j = 0 ; j < n ; j++ )
-    rx[j] = new reaction ( list_rx[j] , m , in->chem );
-
-  table = new double * [m];
-  for ( i = 0 ; i < m ; i++ )
-    table[i] = new double[n];
-  for ( j = 0 ; j < n ; j++ )
-    for ( i = 0 ; i < m ; i++ )
-      table[i][j] = rx[j]->a[i];
-  for ( j = 0 ; j < n ; j++ ) {
-    yields[j]=0.0;
-    for ( i = 0 ; i < m ; i++ )
-      if ( table[i][j] < 0 ) {
-	yields[j]=in->chem[i]->n();
-	i=m;
-      }
-  }
-
-  delete [] yields;
-
-}
-
-template<class TYPE>
-bool reactor<TYPE>::solve() {
-
-  if (model)
-    delete model;
-  model = new TYPE(in, out, table, n, rx, U, Ta);
-  model->set(name);
-  model->set(L,D);
-  
-  success = model->run();
-
-  //    if(fabs(in->m-out->m)>sqrt(EPS))
-  //    {
-  //       log.open(MESSAGES, ios::app);
-  //       log<<"   --> Warning <--  Block "<<name<<" is not in mass balance ("<<fabs(in->m-out->m)/in->m<<").\n";
-  //       log.close();
-  //    }
-
-  
-  // out->write(); // WRITE TOTO
-
-  return success;
-}
-
-template<class TYPE>
-void reactor<TYPE>::write ( void ) {
-
-  cout << setprecision(6);
-
-  cout << "WRITE FILE " << RUNTIME << name << ".unit" << " :\n\tBEGIN\n";
-  cout << "\t>>         " << name;
-  cout << endl << "\t>>           stream in : " << in->name;
-  cout << endl << "\t>>           stream out : " << out->name;
-  cout << endl << "\t>>           P = " << in->P
-       << " atm,  T(in) = " << in->T << ",  T(out) =  " << out->T << "  K";
-  cout << endl << "\t>>           L = " << L << ",  D = " << D << "  m";
-  if (success)
-    cout << " (converge normally)";
-  cout << "\n\tEND\n\n";
-  model->cost();
-  model->water();
-}
+#include "reactor.hpp"
+using namespace std;
+
+template<class TYPE>
+reactor<TYPE>::reactor(stream* s1, stream* s2)
+{
+   in  = s1;
+   out = s2;
+
+   model = NULL;
+}
+
+template<class TYPE>
+reactor<TYPE>::~reactor() {
+  for ( i = 0 ; i < n ; i++ )
+    delete rx[i];
+  delete [] rx;
+  for ( i = 0 ; i < m ; i++ )
+    delete table[i];
+  delete [] table;
+
+  if (model)
+    delete model;
+}
+
+template<class TYPE>
+void reactor<TYPE>::set ( double l , double d , int nb , const string * list_rx ) {
+  m      = in->nb;
+  n      = nb;
+  L      = l;
+  D      = d;
+  V      = pi*pow(D/2.0, 2)*L;
+
+  double * yields = new double [n];
+
+  rx = new reaction * [n];
+  for ( j = 0 ; j < n ; j++ )
+    rx[j] = new reaction ( list_rx[j] , m , in->chem );
+
+  table = new double * [m];
+  for ( i = 0 ; i < m ; i++ )
+    table[i] = new double[n];
+  for ( j = 0 ; j < n ; j++ )
+    for ( i = 0 ; i < m ; i++ )
+      table[i][j] = rx[j]->a[i];
+  for ( j = 0 ; j < n ; j++ ) {
+    yields[j]=0.0;
+    for ( i = 0 ; i < m ; i++ )
+      if ( table[i][j] < 0 ) {
+	yields[j]=in->chem[i]->n();
+	i=m;
+      }
+  }
+
+  delete [] yields;
+
+}
+
+template<class TYPE>
+bool reactor<TYPE>::solve() {
+
+  if (model)
+    delete model;
+  model = new TYPE(in, out, table, n, rx, U, Ta);
+  model->set(name);
+  model->set(L,D);
+  
+  success = model->run();
+
+  //    if(fabs(in->m-out->m)>sqrt(EPS))
+  //    {
+  //       log.open(MESSAGES, ios::app);
+  //       log<<"   --> Warning <--  Block "<<name<<" is not in mass balance ("<<fabs(in->m-out->m)/in->m<<").\n";
+  //       log.close();
+  //    }
+
+  
+  // out->write(); // WRITE TOTO
+
+  return success;
+}
+
+template<class TYPE>
+void reactor<TYPE>::write ( void ) {
+
+  cout << setprecision(6);
+
+  cout << "WRITE FILE " << RUNTIME << name << ".unit" << " :\n\tBEGIN\n";
+  cout << "\t>>         " << name;
+  cout << endl << "\t>>           stream in : " << in->name;
+  cout << endl << "\t>>           stream out : " << out->name;
+  cout << endl << "\t>>           P = " << in->P
+       << " atm,  T(in) = " << in->T << ",  T(out) =  " << out->T << "  K";
+  cout << endl << "\t>>           L = " << L << ",  D = " << D << "  m";
+  if (success)
+    cout << " (converge normally)";
+  cout << "\n\tEND\n\n";
+  model->cost();
+  model->water();
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/reactor.hpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/reactor.hpp
index af0d281..78f936f 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/reactor.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/reactor.hpp
@@ -1,48 +1,48 @@
-/*
-This unit simulates a chemical reactor. Actually, only the pfr can be used.
-(ref : Fogler).
-
-Structure in the .process file:
-reactor {name} {pfr or cstr} {index of input stream} {index of output stream} {length in m} {diameter in m} {nb_react, list of reactions occuring} {U in kW/m2.K}{Ta in K}
-
-How to use:
-   1- Call the constructor : react = new reactor<pfr or cstr>(in, out);		
-   2- Set dimensions and reactions : react->set(length, diameter, nb_react, list_react);	//list_react is the list of reactions names
-   3- Set cooling parameters : react->set(U, Ta);
-   4- Set the name : react->set(name);
-   5- Run the model: react->solve();
-*/
-#ifndef REACTOR_H
-#define REACTOR_H
-
-#include "pfr.hpp"
-using namespace std;
-
-template<class TYPE>
-class reactor {
-private:
-  // ofstream log;
-  bool success;
-  string name;
-  int i ,j, m, n;
-  double V, L, D, U, Ta;
-  stream *in, *out;
-  TYPE *model;
-  reaction ** rx;
-  double ** table;
-
-public:
-  // reactor(){};
-  reactor(stream*, stream*);
-  void set( const string & n) { name = n; }
-  void set(double, double, int, const string * );
-  void set(double u, double ta) {U=u;Ta=ta;}
-  bool solve();
-  void write();
-
-  double get_cost  ( void ) const { return model->get_cost() ; }
-  double get_water ( void ) const { return model->get_water(); }
-
-  ~reactor();
-};
-#endif
+/*
+This unit simulates a chemical reactor. Actually, only the pfr can be used.
+(ref : Fogler).
+
+Structure in the .process file:
+reactor {name} {pfr or cstr} {index of input stream} {index of output stream} {length in m} {diameter in m} {nb_react, list of reactions occuring} {U in kW/m2.K}{Ta in K}
+
+How to use:
+   1- Call the constructor : react = new reactor<pfr or cstr>(in, out);		
+   2- Set dimensions and reactions : react->set(length, diameter, nb_react, list_react);	//list_react is the list of reactions names
+   3- Set cooling parameters : react->set(U, Ta);
+   4- Set the name : react->set(name);
+   5- Run the model: react->solve();
+*/
+#ifndef REACTOR_H
+#define REACTOR_H
+
+#include "pfr.hpp"
+using namespace std;
+
+template<class TYPE>
+class reactor {
+private:
+  // ofstream log;
+  bool success;
+  string name;
+  int i ,j, m, n;
+  double V, L, D, U, Ta;
+  stream *in, *out;
+  TYPE *model;
+  reaction ** rx;
+  double ** table;
+
+public:
+  // reactor(){};
+  reactor(stream*, stream*);
+  void set( const string & n) { name = n; }
+  void set(double, double, int, const string * );
+  void set(double u, double ta) {U=u;Ta=ta;}
+  bool solve();
+  void write();
+
+  double get_cost  ( void ) const { return model->get_cost() ; }
+  double get_water ( void ) const { return model->get_water(); }
+
+  ~reactor();
+};
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/secant.cpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/secant.cpp
index e8582e0..79e5d04 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/secant.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/secant.cpp
@@ -1,47 +1,47 @@
-#include "secant.hpp"
-using namespace std;
-
-template <class E>
-secant<E>::secant()
-{
-   x_last=0;
-   x_now=0;
-   x_next=0;
-   f_last=0;
-   f_now=0;
-   OK=false;
-}
-
-template <class E>
-void secant<E>::set(E* tmp, double x1, double x2)
-{
-   unit=tmp;
-   x_last=x1;
-   x_now=x2;
-   OK=false;
-}
-
-template <class E>
-bool secant<E>::run()
-{
-  // if(DEBUG) cout<<endl<<"begin solve secant";
-   f_last = unit->f(x_last);
-   for (i=1; i<MAX_ITER_SECANT; i++)
-   {
-      f_now = unit->f(x_now);
-     // if(DEBUG) cout<<endl<<" x = "<<x_now<<"    f(x) = "<<f_now;
-      x_next = x_now - (f_now*(x_now-x_last)/(f_now-f_last));
-      if (fabs((x_next-x_now)/x_now)<=TOL_SECANT)
-      {
-         i=MAX_ITER_SECANT;
-         OK=true;
-      }
-      else
-      {
-         x_last=x_now;
-         f_last=f_now;
-         x_now=x_next;
-      }
-   }
-   return OK;
-}
+#include "secant.hpp"
+using namespace std;
+
+template <class E>
+secant<E>::secant()
+{
+   x_last=0;
+   x_now=0;
+   x_next=0;
+   f_last=0;
+   f_now=0;
+   OK=false;
+}
+
+template <class E>
+void secant<E>::set(E* tmp, double x1, double x2)
+{
+   unit=tmp;
+   x_last=x1;
+   x_now=x2;
+   OK=false;
+}
+
+template <class E>
+bool secant<E>::run()
+{
+  // if(DEBUG) cout<<endl<<"begin solve secant";
+   f_last = unit->f(x_last);
+   for (i=1; i<MAX_ITER_SECANT; i++)
+   {
+      f_now = unit->f(x_now);
+     // if(DEBUG) cout<<endl<<" x = "<<x_now<<"    f(x) = "<<f_now;
+      x_next = x_now - (f_now*(x_now-x_last)/(f_now-f_last));
+      if (fabs((x_next-x_now)/x_now)<=TOL_SECANT)
+      {
+         i=MAX_ITER_SECANT;
+         OK=true;
+      }
+      else
+      {
+         x_last=x_now;
+         f_last=f_now;
+         x_now=x_next;
+      }
+   }
+   return OK;
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/secant.hpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/secant.hpp
index a04cbc5..d1bb096 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/secant.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/secant.hpp
@@ -1,31 +1,31 @@
-/*
-To use the secant solver to find the root of a scalar function:
-   (the parametric object E must have public function such as E->f(x),
-      where x is the point at which evaluate f.)
-   1- construct the solver :    solver = new secant<E>();   
-   2- set the solver :    solver->set(unit, x0, x1);   //unit is usually the pointer *this, and x0 and x1 are two required initial points
-   3- launch the solver : bool = solver->run();   //will return true is success, false if the solver failed
-*/
-#ifndef SECANT_H
-#define SECANT_H
-
-#include "defines.hpp"
-using namespace std;
-
-
-template <class E>
-class secant {
-private:
-  double x_last, x_now, x_next;
-  double f_last, f_now, error;
-  int i;
-  bool OK;
-  E *unit;
-	  
-public:
-  secant();
-  void set(E*, double, double);
-  bool run();
-  ~secant(){}
-};
-#endif
+/*
+To use the secant solver to find the root of a scalar function:
+   (the parametric object E must have public function such as E->f(x),
+      where x is the point at which evaluate f.)
+   1- construct the solver :    solver = new secant<E>();   
+   2- set the solver :    solver->set(unit, x0, x1);   //unit is usually the pointer *this, and x0 and x1 are two required initial points
+   3- launch the solver : bool = solver->run();   //will return true is success, false if the solver failed
+*/
+#ifndef SECANT_H
+#define SECANT_H
+
+#include "defines.hpp"
+using namespace std;
+
+
+template <class E>
+class secant {
+private:
+  double x_last, x_now, x_next;
+  double f_last, f_now, error;
+  int i;
+  bool OK;
+  E *unit;
+	  
+public:
+  secant();
+  void set(E*, double, double);
+  bool run();
+  ~secant(){}
+};
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/servor.cpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/servor.cpp
index 75216ae..0b2df20 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/servor.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/servor.cpp
@@ -1,538 +1,538 @@
-#include "servor.hpp"
-#include "reactor.cpp"
-using namespace std;
-
-/*---------------------------------------------------------------------*/
-servor::servor ( int nb_u , int n2 , stream ** streams ) {
-  nb   = nb_u;
-  nb_s = n2;
-  type = new string[nb];
-  name = new string[nb];
-  s    = streams;
-
-
-//   for (int i=0; i<nb; i++)
-//     {
-//       type[i]=new char[31];
-//       name[i]=new char[31];
-//     }
-//   cursor=0;
-//   s = s_list;
-//   // end = new terminator("\0");
-//   mix1=NULL;
-//   split1=NULL;
-//   flash1=NULL;
-//   pump1=NULL;
-//   col=NULL;
-//   react_pfr=NULL;
-//   react_cstr=NULL;
-//   heat=NULL;
-
-  burn = new burner ( s[0]->nb , s[0]->chem );
-}
-
-/*---------------------------------------------------------------------*/
-servor::~servor() {
-  delete [] type;
-  delete [] name;
-  delete burn;
-}
-
-/*---------------------------------------------------------------------*/
-bool servor::solve_process ( const double * x , double * y ) {
-
-
-  for ( i = 0 ; i < 8 ; i++ )
-    costs[i] = 0.0;
-
-  k    = 0;
-  norm = 1.0 / TOL_WEGSTEIN;
-
-  for ( cursor = 0 ; cursor < nb ; cursor++ ) {
-
-    if (type[cursor] == "mix" ) {
-      do_mix_process(x);
-    }
-    else if ( type[cursor] == "split" ) {
-      do_split_process(x);
-    }
-    else if ( type[cursor] == "flash" ) {
-      do_flash_process(x);
-    }
-    else if ( type[cursor] == "pump" ) {
-      do_pump_process(x);
-    }
-    else if ( type[cursor] == "heatx") {
-      do_heatx_process(x);
-    }
-    else if ( type[cursor] == "burner" ) {
-      do_burner_process(x,y);
-    }
-    else if ( type[cursor] == "column" ) {
-      do_column_process(x,y);
-    }
-    else if ( type[cursor] == "reactor" ) {
-      do_reactor_process(x);
-    }
-    else if ( type[cursor] == "loop" ) {
-
-      recycle     = 10;
-      end_recycle = 0;
-      do_loop_process(x);
-    }
-    else {
-      cout << "ERROR 18\n\n";
-      exit(0);
-    }
-
-  }
-
-  return true;
-}
-
-
-/*---------------------------------------------------------------------*/
-void servor::do_loop_process ( const double * x ) {
-
-  // structure in the input file :
-  // loop
-  // name                              : "looping"
-  // index of recycle stream           : 11
-  // index of stream's beginning block : 7
-  // index of stream's end block       : 1
-
-  // TOTO
-//   if (k==0)
-//     cout << endl << "       -> Wegstein iterations "; 
-//   else if ( k <= 2 )
-//     cout << endl << "       -> loop " << setw(3) << k;
-//   else
-//     cout << endl << "       -> loop " << setw(3) << k << "  > error " << norm;
-
-  // Get the two fisrst points
-  if ( k==0 ) {
-    for ( i = 0 ; i < s[0]->nb ; i++ )
-      x_last[i] = s[recycle]->chem[i]->m; 
-    end_loop = false;
-  }
-
-  if ( k==1 ) {
-    for ( i = 0 ; i < s[0]->nb ; i++ ) {
-      x_now [i] = s[recycle]->chem[i]->m;
-      g_last[i] = s[recycle]->chem[i]->m;
-    }
-
-    end_loop = false;
-  }
-
-  if ( k == 2 ) {
-    for ( i = 0 ; i < s[0]->nb ; i++ )
-      g_now[i] = s[recycle]->chem[i]->m;
-    end_loop=false;
-  }
-  k++;
-
-
-  // run the Wegstein algorithm
-  if ( k > 2 ) {
-    for ( i = 0 ; i < s[0]->nb ; i++ ) {
-      g_now[i] = s[recycle]->chem[i]->m;
-
-      if ( fabs (x_now[i]-x_last[i]) > EPS )
-	slope[i] = ( g_now[i] - g_last[i] ) / ( x_now[i] - x_last[i] );
-      else
-	slope[i] = 0;
-
-      theta[i] = 1.0 / (1.0-slope[i]);
-      if ( theta[i] < MIN_THETA )
-	theta[i] = MIN_THETA;
-      if ( theta[i] > MAX_THETA )
-	theta[i] = MAX_THETA;
-      x_next[i] = (1.0-theta[i])*x_now[i] + theta[i]*g_now[i];
-    }
-    norm = 0.0;
-    for ( i = 0 ; i < s[0]->nb ; i++ )
-      if ( fabs(x_now[i]) > EPS )
-	norm += fabs (x_next[i]-x_now[i]) / fabs(x_now[i]);
-
-    if ( norm > TOL_WEGSTEIN && k < MAX_ITER_WEGSTEIN ) {
-      s[recycle]->m = 0.0;
-      for ( i = 0 ; i < s[0]->nb ; i++ ) {
-	s[recycle]->chem[i]->m = x_next[i];
-	s[recycle]->m += x_next[i];
-	x_last[i] = x_now[i];
-	g_last[i] = g_now[i];
-	x_now[i] = x_next[i];
-      }
-      end_loop=false;
-    }
-    if ( norm <= TOL_WEGSTEIN && k < MAX_ITER_WEGSTEIN )
-      end_loop = true;
-
-  }
-
- 
-  if ( end_loop ) {
-    if ( k < MAX_ITER_WEGSTEIN && k > 3 )  {
-      // cout<<" OK"; // TOTO
-      // s[recycle]->write(); // WRITE TOTO
-
-//       // WRITE TOTO :
-//       cout << "WRITE FILE " << RUNTIME << name[cursor] << ".unit" << " :\n\tBEGIN\n";
-//       cout << "\t>>         " << name[cursor];
-//       cout << endl << "\t>>           from block " << cursor+1 << " to block " << end_recycle+1;
-//       cout << endl << "\t>>           Wegstein converged in "
-// 	   << k << " iterations (rel. err. " << norm << ").";
-//       cout << "\n\tEND\n\n";
-
-      k = 0;
-      norm = 1.0/TOL_WEGSTEIN;
-    }
-//    else {
-//       log.open(MESSAGES, ios::app);
-//       log<<"   ==> Error <== Wegstein algorithm did not converge.\n";
-//       log.close();      
-//    }      
-  }
-
-
-  if ( !end_loop && k < MAX_ITER_WEGSTEIN )
-    cursor = end_recycle-1;
-  if ( !end_loop && k==MAX_ITER_WEGSTEIN ) {
-//       log.open(MESSAGES, ios::app);
-//       log<<"   ==> Error <== Wegstein algorithm did not converge.\n";
-//       log.close();
-    k=0;
-    norm = 1.0/TOL_WEGSTEIN;
-    cursor=nb;
-  }
-
-}
-
-/*---------------------------------------------------------------------*/
-void servor::do_burner_process ( const double * x , double * y ) {
-
-  // cout << endl << "         -- " << name[cursor] << "... "; // TOTO
-
-  // read parameters :
-  int    i1 = 8;
-  int    i2 = 13;
-  double f  = x[6];
-
-  burn->set ( s[i1-1] , s[i2-1] );
-  burn->set(f);
-  burn->set(name[cursor]);
-
-  if ( burn->solve(y) ) {
-    // cout << "OK"; // TOTO
-    // burn->write(); // WRITE TOTO
-    costs[7] = burn->get_cost();
-  }
-  else {
-    cout << "ERROR 20\n\n";
-    exit(0);
-  }
-}
-
-/*---------------------------------------------------------------------*/
-void servor::do_split_process ( const double * x )
-{
-  // cout<<endl<<"         -- "<<name[cursor]<<"... ";  // TOTO
-
-  //Read parameters
-  int i1 = 9;
-  int i2 = 2;
-  int i_tab[2] = { 10 , 11 };
-  double f_tab[2];
-  f_tab[0] = x[5];
-  f_tab[1] = 1-x[5];
-
-  stream * list1[2];
-  list1[0] = s[i_tab[0]-1];
-  list1[1] = s[i_tab[1]-1];
-
-  split * split1 = new split ( i2 , s[i1-1] , list1 );
-
-  split1->set(f_tab);
-  split1->set(name[cursor]);
-  if ( split1->solve() ) {
-    // cout<<"OK"; // TOTO
-    // split1->write(); // WRITE TOTO
-  }
-  else {
-    cout << "ERROR 19\n\n";
-    exit(0);
-  }
-  delete split1;
-}
-
-/*---------------------------------------------------------------------*/
-void servor::do_column_process ( const double * x , double * y ) {
-  // cout<<endl<<"         -- "<<name[cursor]<<"... "; // TOTO
-  
-  //Read parameters
-  double f1 , f2;
-  int    i , i1 , i2;
-  int    i_tab[2];
-  double f = 1.0;
-
-  if (name[cursor]=="sep-sty") {
-    i        =  7;
-    i1       = 15;
-    i2       =  9;
-    i_tab[0] =  1;
-    i_tab[1] =  7;
-    f1 = f2 = x[2];
-  }
-  else if (name[cursor]=="sep-bz") {
-    i        = 10;
-    i1       = 12;
-    i2       = 14;
-    i_tab[0] =  5;
-    i_tab[1] =  1;
-    f1 = f2 = x[3];
-  }
-  else {
-    cout << "ERROR 17\n\n";
-    exit(0);
-  }
-
-  column * col = new column ( s[i-1] , s[i1-1] , s[i2-1] );
-  col->set ( f , i_tab[0] , f1 , i_tab[1] , f2 );
-  col->set(name[cursor]);
-  if ( col->solve() ) {
-    //cout<<"OK"; // TOTO
-    //col->write(); // WRITE TOTO
-
-    if (name[cursor]=="sep-sty") {
-      y[4] = col->get_N();
-      costs[5] = col->get_cost();
-      power[5] = col->get_power();
-      water[5] = col->get_water();
-    }
-    else {
-      y[5] = col->get_N();
-      costs[6] = col->get_cost();
-      power[4] = col->get_power();
-      water[4] = col->get_water();
-    }
-  }
-  else {
-    cout << "ERROR 15\n\n";
-    exit(0);
-  }
-  delete col;
-}
-
-/*---------------------------------------------------------------------*/
-void servor::do_flash_process ( const double * x ) {
-  // cout<<endl<<"         -- "<<name[cursor]<<"... ";  // TOTO
-
-  //Read parameters
-  double f1        = 1.0;
-  double f2        = x[7];
-  // int    i_tab [3] = { 6 , 7 , 8 };
-  // flash * flash1 = new flash ( s[i_tab[0]-1] , s[i_tab[1]-1] , s[i_tab[2]-1] );
-  flash * flash1 = new flash ( s[5] , s[6] , s[7] );
-
-  flash1->set(f1, f2);
-  flash1->set(name[cursor]);
-  if ( flash1->solve() ) {
-    // cout<<"OK";  // TOTO
-    // flash1->write(); // WRITE TOTO
-    costs[4] = flash1->get_cost();
-    power[2] = flash1->get_power();
-    water[1] = flash1->get_water();
-  }
-  else {
-    cout << "ERROR 14\n\n";
-    exit(0);
-  }
-  delete flash1;
-}
-
-
-/*---------------------------------------------------------------------*/
-void servor::do_mix_process ( const double * x ) {
-
-  // cout << endl << "         -- " << name[cursor] << "... "; // TOTO
-
-  // Read parameters (hardcode avec eb2sty.process) :
-  double f1       = 1.0;
-  int    i1       = 3;
-  int    i_tab[3] = { 1 , 12 , 11 };
-  int    i2       = 2;
-
-  // We can solve the unit
-  stream * list2 = s[i2-1] , ** list1 = new stream * [i1];
-  for ( int i = 0 ; i < i1 ; i++ )
-    list1[i] = s[i_tab[i]-1];
-  mix * mix1 = new mix ( i1 , list1 , list2 );
-  mix1->set(f1);
-  mix1->set(name[cursor]);
-  if (mix1->solve()) {
-    // cout<<"OK"; // TOTO
-    // mix1->write(); // WRITE TOTO
-  }
-  else {
-    cout << "ERROR 6\n\n";
-    exit(0);
-  }
-  delete mix1;
-  delete [] list1;
-}
-
-
-/*---------------------------------------------------------------------*/
-void servor::do_pump_process ( const double * x ) {
-
-  // cout<<endl<<"         -- "<<name[cursor]<<"... ";  // TOTO
-
-  //Read parameters (hardcode avec eb2sty.process) :
-  int    i1 = 2;
-  int    i2 = 3;
-  double f1 = x[4];
-  double f2 = 0.75;
-
-  pump * pump1 = new pump ( s[i1-1] , s[i2-1] );
-  pump1->set(f1,f2);
-  pump1->set(name[cursor]);
-
-
-
-  // solve :
-  if ( pump1->solve() ) {
-    // cout<<"OK";  // TOTO
-    // pump1->write(); // WRITE TOTO
-
-    power[0] = pump1->get_power();
-    costs[0] = pump1->get_cost();
-  }
-  else {
-    cout << "ERROR 7\n\n";
-    exit(0);
-  }
-
-  delete pump1;
-}
-
-/*---------------------------------------------------------------------*/
-void servor::do_heatx_process ( const double * x ) {
-
-  // cout << endl << "         -- " << name[cursor] << "... "; // TOTO
-
-  //Read parameters (idem) :
-
-  bool   b = false;
-
-  // heater :
-  int    i1;
-  int    i2;
-  double f1;
-
-  // heater :
-  if (name[cursor]=="heater") {
-    i1 = 3;
-    i2 = 4;
-    f1 = x[0];
-  }
-
-  // cooler :
-  else if (name[cursor]=="cooler") {
-    i1 = 5;
-    i2 = 6;
-    f1 = x[7];
-  }
-  else {
-    cout << "ERROR 16\n\n";
-    exit(0);
-  }
-
-  double f2 = 0.85;
-
-  // solve :
-  heatx * heat = new heatx ( b , s[i1-1] , s[i2-1] );
-  heat->set(f1,f2);
-  heat->set(name[cursor]);
-  if (heat->solve()) {
-    // cout<<"OK"; // TOTO
-    // heat->write();  // WRITE TOTO
-    if (name[cursor]=="heater") {
-      costs[1] = heat->get_cost();
-      power[3] = heat->get_power();
-      water[2] = heat->get_water();
-    }
-    else {
-      costs[3] = heat->get_cost();
-      power[1] = heat->get_power();
-      water[0] = heat->get_water();
-    }
-  }
-  else {
-    cout << "ERROR 8\n\n";
-    exit(0);
-  }
-  delete heat;
-}
-
-/*---------------------------------------------------------------------*/
-void servor::do_reactor_process ( const double * x ) {
-
-  // cout<<endl<<"         -- "<<name[cursor]<<"... "; // TOTO
-
-  // Read parameters (idem) :
-  int    i1   = 4;
-  int    i2   = 5;
-
-  reactor<pfr> * react_pfr = new reactor<pfr> ( s[i1-1] , s[i2-1] );
-
-  react_pfr->set(name[cursor]);
-
-  double f1 = x[1];
-  double f2 = 0.5;
-
-  string list[5] = { "eb2sty" , "sty2eb" , "eb2bz" , "eb2tol" , "tol2bz" };
-
-  i1 = 5;
-
-  react_pfr->set(f1,f2,i1,list);
-
-  f1 = 0.0;
-  f2 = 300.0;
-
-  react_pfr->set(f1,f2);
-
-  if ( react_pfr->solve() ) {
-    // cout<<"OK"; // TOTO
-    // react_pfr->write(); // WRITE TOTO
-    costs[2] = react_pfr->get_cost();
-    water[3] = react_pfr->get_water();
-  }
-  else {
-    cout << "ERROR 9\n\n";
-    exit(0);
-  }
-  delete react_pfr;
-}
-
-
-double  servor::get_costs_sum ( void ) const {
-  double sum = 0.0;
-  for ( int i = 0 ; i < 8 ; i++ )
-    sum += ( (ARRONDI) ? arrondi(costs[i],6) : costs[i] );
-  return sum;
-}
-
-double  servor::get_power_sum ( void ) const {
-  double sum = 0.0;
-  for ( int i = 0 ; i < 6 ; i++ )
-    sum += ( (ARRONDI) ? arrondi(power[i],6) : power[i] );
-  return sum;
-}
-
-double servor::get_water_sum ( void ) const {
-  double sum = 0.0;
-  for ( int i = 0 ; i < 6 ; i++ )
-    sum += ( (ARRONDI) ? arrondi(water[i],6) : water[i] );
-  return sum;
-}
+#include "servor.hpp"
+#include "reactor.cpp"
+using namespace std;
+
+/*---------------------------------------------------------------------*/
+servor::servor ( int nb_u , int n2 , stream ** streams ) {
+  nb   = nb_u;
+  nb_s = n2;
+  type = new string[nb];
+  name = new string[nb];
+  s    = streams;
+
+
+//   for (int i=0; i<nb; i++)
+//     {
+//       type[i]=new char[31];
+//       name[i]=new char[31];
+//     }
+//   cursor=0;
+//   s = s_list;
+//   // end = new terminator("\0");
+//   mix1=NULL;
+//   split1=NULL;
+//   flash1=NULL;
+//   pump1=NULL;
+//   col=NULL;
+//   react_pfr=NULL;
+//   react_cstr=NULL;
+//   heat=NULL;
+
+  burn = new burner ( s[0]->nb , s[0]->chem );
+}
+
+/*---------------------------------------------------------------------*/
+servor::~servor() {
+  delete [] type;
+  delete [] name;
+  delete burn;
+}
+
+/*---------------------------------------------------------------------*/
+bool servor::solve_process ( const double * x , double * y ) {
+
+
+  for ( i = 0 ; i < 8 ; i++ )
+    costs[i] = 0.0;
+
+  k    = 0;
+  norm = 1.0 / TOL_WEGSTEIN;
+
+  for ( cursor = 0 ; cursor < nb ; cursor++ ) {
+
+    if (type[cursor] == "mix" ) {
+      do_mix_process(x);
+    }
+    else if ( type[cursor] == "split" ) {
+      do_split_process(x);
+    }
+    else if ( type[cursor] == "flash" ) {
+      do_flash_process(x);
+    }
+    else if ( type[cursor] == "pump" ) {
+      do_pump_process(x);
+    }
+    else if ( type[cursor] == "heatx") {
+      do_heatx_process(x);
+    }
+    else if ( type[cursor] == "burner" ) {
+      do_burner_process(x,y);
+    }
+    else if ( type[cursor] == "column" ) {
+      do_column_process(x,y);
+    }
+    else if ( type[cursor] == "reactor" ) {
+      do_reactor_process(x);
+    }
+    else if ( type[cursor] == "loop" ) {
+
+      recycle     = 10;
+      end_recycle = 0;
+      do_loop_process(x);
+    }
+    else {
+      cout << "ERROR 18\n\n";
+      exit(0);
+    }
+
+  }
+
+  return true;
+}
+
+
+/*---------------------------------------------------------------------*/
+void servor::do_loop_process ( const double * x ) {
+
+  // structure in the input file :
+  // loop
+  // name                              : "looping"
+  // index of recycle stream           : 11
+  // index of stream's beginning block : 7
+  // index of stream's end block       : 1
+
+  // TOTO
+//   if (k==0)
+//     cout << endl << "       -> Wegstein iterations "; 
+//   else if ( k <= 2 )
+//     cout << endl << "       -> loop " << setw(3) << k;
+//   else
+//     cout << endl << "       -> loop " << setw(3) << k << "  > error " << norm;
+
+  // Get the two fisrst points
+  if ( k==0 ) {
+    for ( i = 0 ; i < s[0]->nb ; i++ )
+      x_last[i] = s[recycle]->chem[i]->m; 
+    end_loop = false;
+  }
+
+  if ( k==1 ) {
+    for ( i = 0 ; i < s[0]->nb ; i++ ) {
+      x_now [i] = s[recycle]->chem[i]->m;
+      g_last[i] = s[recycle]->chem[i]->m;
+    }
+
+    end_loop = false;
+  }
+
+  if ( k == 2 ) {
+    for ( i = 0 ; i < s[0]->nb ; i++ )
+      g_now[i] = s[recycle]->chem[i]->m;
+    end_loop=false;
+  }
+  k++;
+
+
+  // run the Wegstein algorithm
+  if ( k > 2 ) {
+    for ( i = 0 ; i < s[0]->nb ; i++ ) {
+      g_now[i] = s[recycle]->chem[i]->m;
+
+      if ( fabs (x_now[i]-x_last[i]) > EPS )
+	slope[i] = ( g_now[i] - g_last[i] ) / ( x_now[i] - x_last[i] );
+      else
+	slope[i] = 0;
+
+      theta[i] = 1.0 / (1.0-slope[i]);
+      if ( theta[i] < MIN_THETA )
+	theta[i] = MIN_THETA;
+      if ( theta[i] > MAX_THETA )
+	theta[i] = MAX_THETA;
+      x_next[i] = (1.0-theta[i])*x_now[i] + theta[i]*g_now[i];
+    }
+    norm = 0.0;
+    for ( i = 0 ; i < s[0]->nb ; i++ )
+      if ( fabs(x_now[i]) > EPS )
+	norm += fabs (x_next[i]-x_now[i]) / fabs(x_now[i]);
+
+    if ( norm > TOL_WEGSTEIN && k < MAX_ITER_WEGSTEIN ) {
+      s[recycle]->m = 0.0;
+      for ( i = 0 ; i < s[0]->nb ; i++ ) {
+	s[recycle]->chem[i]->m = x_next[i];
+	s[recycle]->m += x_next[i];
+	x_last[i] = x_now[i];
+	g_last[i] = g_now[i];
+	x_now[i] = x_next[i];
+      }
+      end_loop=false;
+    }
+    if ( norm <= TOL_WEGSTEIN && k < MAX_ITER_WEGSTEIN )
+      end_loop = true;
+
+  }
+
+ 
+  if ( end_loop ) {
+    if ( k < MAX_ITER_WEGSTEIN && k > 3 )  {
+      // cout<<" OK"; // TOTO
+      // s[recycle]->write(); // WRITE TOTO
+
+//       // WRITE TOTO :
+//       cout << "WRITE FILE " << RUNTIME << name[cursor] << ".unit" << " :\n\tBEGIN\n";
+//       cout << "\t>>         " << name[cursor];
+//       cout << endl << "\t>>           from block " << cursor+1 << " to block " << end_recycle+1;
+//       cout << endl << "\t>>           Wegstein converged in "
+// 	   << k << " iterations (rel. err. " << norm << ").";
+//       cout << "\n\tEND\n\n";
+
+      k = 0;
+      norm = 1.0/TOL_WEGSTEIN;
+    }
+//    else {
+//       log.open(MESSAGES, ios::app);
+//       log<<"   ==> Error <== Wegstein algorithm did not converge.\n";
+//       log.close();      
+//    }      
+  }
+
+
+  if ( !end_loop && k < MAX_ITER_WEGSTEIN )
+    cursor = end_recycle-1;
+  if ( !end_loop && k==MAX_ITER_WEGSTEIN ) {
+//       log.open(MESSAGES, ios::app);
+//       log<<"   ==> Error <== Wegstein algorithm did not converge.\n";
+//       log.close();
+    k=0;
+    norm = 1.0/TOL_WEGSTEIN;
+    cursor=nb;
+  }
+
+}
+
+/*---------------------------------------------------------------------*/
+void servor::do_burner_process ( const double * x , double * y ) {
+
+  // cout << endl << "         -- " << name[cursor] << "... "; // TOTO
+
+  // read parameters :
+  int    i1 = 8;
+  int    i2 = 13;
+  double f  = x[6];
+
+  burn->set ( s[i1-1] , s[i2-1] );
+  burn->set(f);
+  burn->set(name[cursor]);
+
+  if ( burn->solve(y) ) {
+    // cout << "OK"; // TOTO
+    // burn->write(); // WRITE TOTO
+    costs[7] = burn->get_cost();
+  }
+  else {
+    cout << "ERROR 20\n\n";
+    exit(0);
+  }
+}
+
+/*---------------------------------------------------------------------*/
+void servor::do_split_process ( const double * x )
+{
+  // cout<<endl<<"         -- "<<name[cursor]<<"... ";  // TOTO
+
+  //Read parameters
+  int i1 = 9;
+  int i2 = 2;
+  int i_tab[2] = { 10 , 11 };
+  double f_tab[2];
+  f_tab[0] = x[5];
+  f_tab[1] = 1-x[5];
+
+  stream * list1[2];
+  list1[0] = s[i_tab[0]-1];
+  list1[1] = s[i_tab[1]-1];
+
+  split * split1 = new split ( i2 , s[i1-1] , list1 );
+
+  split1->set(f_tab);
+  split1->set(name[cursor]);
+  if ( split1->solve() ) {
+    // cout<<"OK"; // TOTO
+    // split1->write(); // WRITE TOTO
+  }
+  else {
+    cout << "ERROR 19\n\n";
+    exit(0);
+  }
+  delete split1;
+}
+
+/*---------------------------------------------------------------------*/
+void servor::do_column_process ( const double * x , double * y ) {
+  // cout<<endl<<"         -- "<<name[cursor]<<"... "; // TOTO
+  
+  //Read parameters
+  double f1 , f2;
+  int    i , i1 , i2;
+  int    i_tab[2];
+  double f = 1.0;
+
+  if (name[cursor]=="sep-sty") {
+    i        =  7;
+    i1       = 15;
+    i2       =  9;
+    i_tab[0] =  1;
+    i_tab[1] =  7;
+    f1 = f2 = x[2];
+  }
+  else if (name[cursor]=="sep-bz") {
+    i        = 10;
+    i1       = 12;
+    i2       = 14;
+    i_tab[0] =  5;
+    i_tab[1] =  1;
+    f1 = f2 = x[3];
+  }
+  else {
+    cout << "ERROR 17\n\n";
+    exit(0);
+  }
+
+  column * col = new column ( s[i-1] , s[i1-1] , s[i2-1] );
+  col->set ( f , i_tab[0] , f1 , i_tab[1] , f2 );
+  col->set(name[cursor]);
+  if ( col->solve() ) {
+    //cout<<"OK"; // TOTO
+    //col->write(); // WRITE TOTO
+
+    if (name[cursor]=="sep-sty") {
+      y[4] = col->get_N();
+      costs[5] = col->get_cost();
+      power[5] = col->get_power();
+      water[5] = col->get_water();
+    }
+    else {
+      y[5] = col->get_N();
+      costs[6] = col->get_cost();
+      power[4] = col->get_power();
+      water[4] = col->get_water();
+    }
+  }
+  else {
+    cout << "ERROR 15\n\n";
+    exit(0);
+  }
+  delete col;
+}
+
+/*---------------------------------------------------------------------*/
+void servor::do_flash_process ( const double * x ) {
+  // cout<<endl<<"         -- "<<name[cursor]<<"... ";  // TOTO
+
+  //Read parameters
+  double f1        = 1.0;
+  double f2        = x[7];
+  // int    i_tab [3] = { 6 , 7 , 8 };
+  // flash * flash1 = new flash ( s[i_tab[0]-1] , s[i_tab[1]-1] , s[i_tab[2]-1] );
+  flash * flash1 = new flash ( s[5] , s[6] , s[7] );
+
+  flash1->set(f1, f2);
+  flash1->set(name[cursor]);
+  if ( flash1->solve() ) {
+    // cout<<"OK";  // TOTO
+    // flash1->write(); // WRITE TOTO
+    costs[4] = flash1->get_cost();
+    power[2] = flash1->get_power();
+    water[1] = flash1->get_water();
+  }
+  else {
+    cout << "ERROR 14\n\n";
+    exit(0);
+  }
+  delete flash1;
+}
+
+
+/*---------------------------------------------------------------------*/
+void servor::do_mix_process ( const double * x ) {
+
+  // cout << endl << "         -- " << name[cursor] << "... "; // TOTO
+
+  // Read parameters (hardcode avec eb2sty.process) :
+  double f1       = 1.0;
+  int    i1       = 3;
+  int    i_tab[3] = { 1 , 12 , 11 };
+  int    i2       = 2;
+
+  // We can solve the unit
+  stream * list2 = s[i2-1] , ** list1 = new stream * [i1];
+  for ( int i = 0 ; i < i1 ; i++ )
+    list1[i] = s[i_tab[i]-1];
+  mix * mix1 = new mix ( i1 , list1 , list2 );
+  mix1->set(f1);
+  mix1->set(name[cursor]);
+  if (mix1->solve()) {
+    // cout<<"OK"; // TOTO
+    // mix1->write(); // WRITE TOTO
+  }
+  else {
+    cout << "ERROR 6\n\n";
+    exit(0);
+  }
+  delete mix1;
+  delete [] list1;
+}
+
+
+/*---------------------------------------------------------------------*/
+void servor::do_pump_process ( const double * x ) {
+
+  // cout<<endl<<"         -- "<<name[cursor]<<"... ";  // TOTO
+
+  //Read parameters (hardcode avec eb2sty.process) :
+  int    i1 = 2;
+  int    i2 = 3;
+  double f1 = x[4];
+  double f2 = 0.75;
+
+  pump * pump1 = new pump ( s[i1-1] , s[i2-1] );
+  pump1->set(f1,f2);
+  pump1->set(name[cursor]);
+
+
+
+  // solve :
+  if ( pump1->solve() ) {
+    // cout<<"OK";  // TOTO
+    // pump1->write(); // WRITE TOTO
+
+    power[0] = pump1->get_power();
+    costs[0] = pump1->get_cost();
+  }
+  else {
+    cout << "ERROR 7\n\n";
+    exit(0);
+  }
+
+  delete pump1;
+}
+
+/*---------------------------------------------------------------------*/
+void servor::do_heatx_process ( const double * x ) {
+
+  // cout << endl << "         -- " << name[cursor] << "... "; // TOTO
+
+  //Read parameters (idem) :
+
+  bool   b = false;
+
+  // heater :
+  int    i1;
+  int    i2;
+  double f1;
+
+  // heater :
+  if (name[cursor]=="heater") {
+    i1 = 3;
+    i2 = 4;
+    f1 = x[0];
+  }
+
+  // cooler :
+  else if (name[cursor]=="cooler") {
+    i1 = 5;
+    i2 = 6;
+    f1 = x[7];
+  }
+  else {
+    cout << "ERROR 16\n\n";
+    exit(0);
+  }
+
+  double f2 = 0.85;
+
+  // solve :
+  heatx * heat = new heatx ( b , s[i1-1] , s[i2-1] );
+  heat->set(f1,f2);
+  heat->set(name[cursor]);
+  if (heat->solve()) {
+    // cout<<"OK"; // TOTO
+    // heat->write();  // WRITE TOTO
+    if (name[cursor]=="heater") {
+      costs[1] = heat->get_cost();
+      power[3] = heat->get_power();
+      water[2] = heat->get_water();
+    }
+    else {
+      costs[3] = heat->get_cost();
+      power[1] = heat->get_power();
+      water[0] = heat->get_water();
+    }
+  }
+  else {
+    cout << "ERROR 8\n\n";
+    exit(0);
+  }
+  delete heat;
+}
+
+/*---------------------------------------------------------------------*/
+void servor::do_reactor_process ( const double * x ) {
+
+  // cout<<endl<<"         -- "<<name[cursor]<<"... "; // TOTO
+
+  // Read parameters (idem) :
+  int    i1   = 4;
+  int    i2   = 5;
+
+  reactor<pfr> * react_pfr = new reactor<pfr> ( s[i1-1] , s[i2-1] );
+
+  react_pfr->set(name[cursor]);
+
+  double f1 = x[1];
+  double f2 = 0.5;
+
+  string list[5] = { "eb2sty" , "sty2eb" , "eb2bz" , "eb2tol" , "tol2bz" };
+
+  i1 = 5;
+
+  react_pfr->set(f1,f2,i1,list);
+
+  f1 = 0.0;
+  f2 = 300.0;
+
+  react_pfr->set(f1,f2);
+
+  if ( react_pfr->solve() ) {
+    // cout<<"OK"; // TOTO
+    // react_pfr->write(); // WRITE TOTO
+    costs[2] = react_pfr->get_cost();
+    water[3] = react_pfr->get_water();
+  }
+  else {
+    cout << "ERROR 9\n\n";
+    exit(0);
+  }
+  delete react_pfr;
+}
+
+
+double  servor::get_costs_sum ( void ) const {
+  double sum = 0.0;
+  for ( int i = 0 ; i < 8 ; i++ )
+    sum += ( (ARRONDI) ? arrondi(costs[i],6) : costs[i] );
+  return sum;
+}
+
+double  servor::get_power_sum ( void ) const {
+  double sum = 0.0;
+  for ( int i = 0 ; i < 6 ; i++ )
+    sum += ( (ARRONDI) ? arrondi(power[i],6) : power[i] );
+  return sum;
+}
+
+double servor::get_water_sum ( void ) const {
+  double sum = 0.0;
+  for ( int i = 0 ; i < 6 ; i++ )
+    sum += ( (ARRONDI) ? arrondi(water[i],6) : water[i] );
+  return sum;
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/servor.hpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/servor.hpp
index 73b1cd2..e048542 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/servor.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/servor.hpp
@@ -1,101 +1,101 @@
-#ifndef SERVOR_H
-#define SERVOR_H
-
-//Possible units
-#include "mix.hpp"
-#include "split.hpp"
-#include "pump.hpp"
-#include "column.hpp"
-#include "reactor.hpp"
-#include "heatx.hpp"
-#include "burner.hpp"
-
-using namespace std;
-
-class servor {
-
-public:
-
-  double    norm;
-  int       k;
-  int       nb;
-  int       nb_s;
-  string  * type;
-  string  * name;
-  int       cursor;
-  stream ** s;
-
-  int    recycle;
-  int    end_recycle;
-  int    i;
-  bool   end_loop;
-
-  double x_last[MAX_DIM];
-  double x_now [MAX_DIM];
-  double x_next[MAX_DIM];
-  double g_last[MAX_DIM];
-  double g_now [MAX_DIM];
-  double slope [MAX_DIM];
-  double theta [MAX_DIM];
-
-  double costs[8];
-  double power[6];
-  double water[6];
-
-
-  // clock_t beg_time, end_time;
-  //   bool OK, b, solve_OK;
-  //   char filename[31], kind[10], **list, process_name[31];
-  //   double f, f1, f2, f_tab[10], t;
-  //   int i, i1, i2, i_tab[10], time;
-  //   stream *list2;
-
-//   double theta[MAX_DIM], slope[MAX_DIM], norm;
-//   bool end_loop;
-//   int k, recycle, end_recycle;
-//   char loop_name[31];
- 
-//   mix *mix1; void do_mix();
-//   split *split1;
-//   flash *flash1; void do_flash();
-//   pump *pump1; void do_pump();
-//   column *col; void do_column();
-//   reactor<pfr> *react_pfr; void do_reactor();
-//   reactor<cstr> *react_cstr;
-//   heatx *heat; void do_heatx();
-  burner * burn;
-	    
-//   stream *s; //list of streams
-//   friend void out_of_memory(void){exit(0);}
-
-
-  // constructeur :
-  servor ( int , int , stream ** );
-
-  // destructeur :
-  ~servor();
-
-
-//   void set(int t) {time=t;}
-//   void set(char n[31]) {strcpy(process_name, n);}
-  void do_split_process   ( const double * x );
-  void do_column_process  ( const double * x , double * y );
-  void do_flash_process   ( const double * x );
-  void do_mix_process     ( const double * x );
-  void do_pump_process    ( const double * x );
-  void do_heatx_process   ( const double * x );
-  void do_reactor_process ( const double * x );
-  void do_burner_process  ( const double * x , double * y );
-  void do_loop_process    ( const double * x );
-
-  bool solve_process      ( const double * x , double * y );		//main solver of the software.	  
-
-  double get_costs_sum ( void ) const;
-
-  double get_power_sum ( void ) const;
-
-  double get_water_sum ( void ) const;
-
-  
-};
-#endif
+#ifndef SERVOR_H
+#define SERVOR_H
+
+//Possible units
+#include "mix.hpp"
+#include "split.hpp"
+#include "pump.hpp"
+#include "column.hpp"
+#include "reactor.hpp"
+#include "heatx.hpp"
+#include "burner.hpp"
+
+using namespace std;
+
+class servor {
+
+public:
+
+  double    norm;
+  int       k;
+  int       nb;
+  int       nb_s;
+  string  * type;
+  string  * name;
+  int       cursor;
+  stream ** s;
+
+  int    recycle;
+  int    end_recycle;
+  int    i;
+  bool   end_loop;
+
+  double x_last[MAX_DIM];
+  double x_now [MAX_DIM];
+  double x_next[MAX_DIM];
+  double g_last[MAX_DIM];
+  double g_now [MAX_DIM];
+  double slope [MAX_DIM];
+  double theta [MAX_DIM];
+
+  double costs[8];
+  double power[6];
+  double water[6];
+
+
+  // clock_t beg_time, end_time;
+  //   bool OK, b, solve_OK;
+  //   char filename[31], kind[10], **list, process_name[31];
+  //   double f, f1, f2, f_tab[10], t;
+  //   int i, i1, i2, i_tab[10], time;
+  //   stream *list2;
+
+//   double theta[MAX_DIM], slope[MAX_DIM], norm;
+//   bool end_loop;
+//   int k, recycle, end_recycle;
+//   char loop_name[31];
+ 
+//   mix *mix1; void do_mix();
+//   split *split1;
+//   flash *flash1; void do_flash();
+//   pump *pump1; void do_pump();
+//   column *col; void do_column();
+//   reactor<pfr> *react_pfr; void do_reactor();
+//   reactor<cstr> *react_cstr;
+//   heatx *heat; void do_heatx();
+  burner * burn;
+	    
+//   stream *s; //list of streams
+//   friend void out_of_memory(void){exit(0);}
+
+
+  // constructeur :
+  servor ( int , int , stream ** );
+
+  // destructeur :
+  ~servor();
+
+
+//   void set(int t) {time=t;}
+//   void set(char n[31]) {strcpy(process_name, n);}
+  void do_split_process   ( const double * x );
+  void do_column_process  ( const double * x , double * y );
+  void do_flash_process   ( const double * x );
+  void do_mix_process     ( const double * x );
+  void do_pump_process    ( const double * x );
+  void do_heatx_process   ( const double * x );
+  void do_reactor_process ( const double * x );
+  void do_burner_process  ( const double * x , double * y );
+  void do_loop_process    ( const double * x );
+
+  bool solve_process      ( const double * x , double * y );		//main solver of the software.	  
+
+  double get_costs_sum ( void ) const;
+
+  double get_power_sum ( void ) const;
+
+  double get_water_sum ( void ) const;
+
+  
+};
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/split.cpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/split.cpp
index d14c519..d3f48c9 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/split.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/split.cpp
@@ -1,53 +1,53 @@
-#include "split.hpp"
-using namespace std;
-
-split::split(int n, stream* s1, stream** s2)
-{
-  nb_out=n;
-  in = s1;
-  out= s2;
-  success = true;
-}
-
-bool split::solve()
-{
-   tmp=0;
-   for (i=0;i<nb_out; i++) tmp+=frac[i];
-   if(fabs(1-tmp)<=EPS)
-   {
-      success = true;
-      for (i=0; i<nb_out;i++)
-      {
-         out[i]->m=0;
-         for (j=0;j<in->nb;j++)
-         {
-
-	   out[i]->chem[j]->m = frac[i]*in->chem[j]->m;
-	   out[i]->m += out[i]->chem[j]->m;
-         }
-         out[i]->set(in->P, in->T);
-         // out[i]->write(); // TOTO
-      }
-   }
-   tmp=0; for(i=0;i<nb_out;i++) tmp+=out[i]->m;
-   if(fabs(tmp-in->m)>EPS)
-   {
-//       logf.open(MESSAGES, ios::app);
-//       logf<<"   --> Warning <--  Block "<<name<<" is not in mass balance ("<<fabs(tmp-in->m)/tmp<<").\n";
-//       logf.close();
-      success = false;
-   }
-   else success = true;
-   return success;
-}
-
-void split::write()
-{
-  cout << "WRITE FILE " << RUNTIME << name << ".unit" << " :\n\tBEGIN\n";
-  cout <<"\t>>         "<<name;
-  cout << endl<<"\t>>           stream in: "<<in->name;;
-  cout<<endl<<"\t>>           streams out: "<<setprecision(3);
-  for ( i = 0 ; i < nb_out ; i++ )
-    cout << out[i]->name<<" ("<<frac[i]<<")  ";
-  cout << "\n\tEND\n\n";
-}
+#include "split.hpp"
+using namespace std;
+
+split::split(int n, stream* s1, stream** s2)
+{
+  nb_out=n;
+  in = s1;
+  out= s2;
+  success = true;
+}
+
+bool split::solve()
+{
+   tmp=0;
+   for (i=0;i<nb_out; i++) tmp+=frac[i];
+   if(fabs(1-tmp)<=EPS)
+   {
+      success = true;
+      for (i=0; i<nb_out;i++)
+      {
+         out[i]->m=0;
+         for (j=0;j<in->nb;j++)
+         {
+
+	   out[i]->chem[j]->m = frac[i]*in->chem[j]->m;
+	   out[i]->m += out[i]->chem[j]->m;
+         }
+         out[i]->set(in->P, in->T);
+         // out[i]->write(); // TOTO
+      }
+   }
+   tmp=0; for(i=0;i<nb_out;i++) tmp+=out[i]->m;
+   if(fabs(tmp-in->m)>EPS)
+   {
+//       logf.open(MESSAGES, ios::app);
+//       logf<<"   --> Warning <--  Block "<<name<<" is not in mass balance ("<<fabs(tmp-in->m)/tmp<<").\n";
+//       logf.close();
+      success = false;
+   }
+   else success = true;
+   return success;
+}
+
+void split::write()
+{
+  cout << "WRITE FILE " << RUNTIME << name << ".unit" << " :\n\tBEGIN\n";
+  cout <<"\t>>         "<<name;
+  cout << endl<<"\t>>           stream in: "<<in->name;;
+  cout<<endl<<"\t>>           streams out: "<<setprecision(3);
+  for ( i = 0 ; i < nb_out ; i++ )
+    cout << out[i]->name<<" ("<<frac[i]<<")  ";
+  cout << "\n\tEND\n\n";
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/split.hpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/split.hpp
index 7634f47..2c75638 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/split.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/split.hpp
@@ -1,43 +1,43 @@
-/*
-This unit takes one input stream and divides in two or more
-output streams. The pressure and temparature of output streams
-are the same as the input's.
-
-Structure in the .process file:
-split {name} {index of input stream}  {nb_out} {indexes of output streams and fractions of input}
-
-How to use:
-   1- Call the constructor: split1 = new split(nb_out, in, list_out);
-   2- Set split fractions: split1->set(fractions);
-   3- Set the name: split1->set(name);
-   4- Solve: split1->solve();   
-*/
-#ifndef SPLIT_H
-#define SPLIT_H
-
-#include "stream.hpp"
-using namespace std;
-
-class split
-{
-private:
-
-  int i, j;
-  bool success;
-  double tmp;
-  string name;
-  int nb_out;			//number of input streams
-  stream *in;		//pointer to input stream
-  stream **out;		//list of pointers to output streams
-  double *frac;			//list of split fractions
-	  
-public:
-  split(int, stream*, stream**);		//defines the connectivities of this unit
-  ~split(){}
-  void set(double* f)  {frac=f;}
-  void set(const string & n) { name = n;}
-  bool solve();								//finds the temperature and computes mass balance
-  void write();
-};
-
-#endif
+/*
+This unit takes one input stream and divides in two or more
+output streams. The pressure and temparature of output streams
+are the same as the input's.
+
+Structure in the .process file:
+split {name} {index of input stream}  {nb_out} {indexes of output streams and fractions of input}
+
+How to use:
+   1- Call the constructor: split1 = new split(nb_out, in, list_out);
+   2- Set split fractions: split1->set(fractions);
+   3- Set the name: split1->set(name);
+   4- Solve: split1->solve();   
+*/
+#ifndef SPLIT_H
+#define SPLIT_H
+
+#include "stream.hpp"
+using namespace std;
+
+class split
+{
+private:
+
+  int i, j;
+  bool success;
+  double tmp;
+  string name;
+  int nb_out;			//number of input streams
+  stream *in;		//pointer to input stream
+  stream **out;		//list of pointers to output streams
+  double *frac;			//list of split fractions
+	  
+public:
+  split(int, stream*, stream**);		//defines the connectivities of this unit
+  ~split(){}
+  void set(double* f)  {frac=f;}
+  void set(const string & n) { name = n;}
+  bool solve();								//finds the temperature and computes mass balance
+  void write();
+};
+
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/stream.cpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/stream.cpp
index 408c1cb..8854441 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/stream.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/stream.cpp
@@ -1,265 +1,265 @@
-#include "stream.hpp"
-using namespace std;
-
-// destructor :
-stream::~stream ( void ) {
-  delete thermo;
-  delete [] tab1;
-  delete [] tab2;
-  delete [] tab3;
-  delete [] tab4;
-  for ( i = 0 ; i < nb ; i++ )
-    delete chem[i];
-  delete [] chem;
-}
-
-void stream::check_error()
-{
-  
-   if (error>MAX_ERROR) {
-     cout << "ERROR 4\n\n";
-     exit(0);
-   }
-   if (warning>MAX_WARNING) {
-     cout << "ERROR 5\n\n";
-     exit(0);
-   }
-}
-
-void stream::set ( int _nb , chemical ** _chem) {
-  int i;
-  for ( i = 0 ; i < nb ; i++ )
-    delete chem[i];
-  delete [] chem;
-  nb   = _nb;
-  chem = new chemical * [nb];
-  for  ( i = 0 ; i < nb ; i++ )
-    chem[i] = new chemical(*_chem[i]);
-}
-
-void stream::set(double pres, double temp) //set P, T, find state and resulting v
-{
-   if(thermo->get_dim()!=nb)
-   {
-     delete thermo;
-     thermo = new thermolib(nb);
-   }
-   P=pres;
-   T=temp;
-   for (i=0;i<nb;i++) {chem[i]->P=pres; chem[i]->T=temp;}
-   if(n()>EPS)
-   {
-      v=quality();
-      tmp1=0;
-      for (i=0;i<nb;i++)
-      {
-         if (T>chem[i]->Tc || v==1) chem[i]->state=1;
-         else chem[i]->state=0;
-      }
-      v=0;
-      for (i=0;i<nb;i++)
-      {
-         if (chem[i]->state==0) {if (chem[i]->m>EPS) v+= chem[i]->m/chem[i]->rho(); tab4[i]=0;}
-         if (chem[i]->state==1) {tab4[i] = chem[i]->n(); tmp1+=tab4[i];}
-      }
-      if (tmp1>EPS)
-      {
-         for (i=0;i<nb;i++)
-         {
-            tab1[i] = chem[i]->Pc;  //cout<<endl<<tab1[i];
-            tab2[i] = chem[i]->Tc; // cout<<"  "<<tab2[i];
-            tab3[i] = chem[i]->omega();  //cout<<"  "<<tab3[i];
-            tab4[i]/=tmp1;    //          cout<<"  "<<tab4[i];
-         }
-         thermo->send(tab1,tab2,tab3, tab4);
-         thermo->set(P,T,0.0,tmp1);
-         v+=thermo->v();
-      }
-   }
-   else v= 0.0;
-}
-
-void stream::set(double *list)
-{
-   m=0;
-   for (i=0; i<nb; i++)
-   {
-      chem[i]->m=list[i];
-      m+=list[i];
-   }
-}
-
-void stream::bubble()
-{
-   bp=1.1e6;
-   for(i=0;i<nb;i++) if(T<chem[i]->Tc && chem[i]->Tboil(P)<bp && chem[i]->m>EPS) bp=chem[i]->Tboil(P);
-   if (bp==1.1e6) bp=0.0;
-   else
-   {
-      step=2;
-      while (fabs(step)>TOL_BP && fabs(tmp1-1)>TOL_BP)
-      {
-         //if(DEBUG) cout<<endl<<bp;
-         bp+=step;
-         tmp1=tmp2=0;
-         for (i=0;i<nb;i++) if(T<chem[i]->Tc) {tmp2+=chem[i]->n(); tmp1+=chem[i]->n()*chem[i]->Psat(bp)/P;}
-         tmp1/=tmp2;
-         step=10*(1.0-tmp1);
-      }
-   }
-}
-
-void stream::dew()
-{
-   dp=0.0;
-   tmp1=10;
-   for(i=0;i<nb;i++) if(T<chem[i]->Tc && chem[i]->Tboil(P)>dp && chem[i]->m>EPS) dp=chem[i]->Tboil(P);
-   if (dp>EPS)
-   {
-   dp=bp;
-      step=1;
-      while (fabs(step)>TOL_DP && fabs(tmp1/tmp2-1)>TOL_DP)
-      {
-         dp+=step;
-         if(dp<bp) dp=bp;
-         //if(DEBUG) cout<<endl<<dp;
-         tmp1=tmp2=0;
-          for (i=0;i<nb;i++) if(T<chem[i]->Tc) {tmp2+=chem[i]->n(); tmp1+=chem[i]->n()/chem[i]->Psat(dp)*P; }
-         if (step/fabs(step)*tmp2/tmp1 >1 || step/fabs(step)*tmp1/tmp2 <-1) step*= -0.1;
-      }
-   }
-}
-
-double stream::quality()
-{
-   if(T>EPS)
-   {
-      bubble();
-      dew();
-      //if(DEBUG) cout<<endl<<name<<"  bp="<<bp<<"  dp="<<dp<<"  T="<<T;  system("pause");
-      if (bp < dp)
-      {
-         if (bp < T && T< dp) tmp= (T-bp)/(dp-bp);
-         if (T<= bp) tmp= 0.0;
-         if (T >= dp) tmp= 1.0;
-      }
-   }
-   else tmp= 0.0;
-   return tmp;
-}
-
-double stream::K(int i)
-{
-   for (j=0;j<nb;j++)
-     tab4[j] = chem[j]->n()/n();
-   thermo->send(tab1,tab2,tab3, tab4);
-   if (T>EPS && P>EPS)
-   {
-      thermo->set(P,T,v,n());
-      return thermo->K(i);
-   }
-   else
-   {
-	   ofstream logf;
-      logf.open(MESSAGES, ios::app);
-      logf<<"   --> Warning <--  Cannot compute K of "<<chem[i]->name<<" in stream "<<name<<".\n";
-      logf.close();
-      warning++;
-      check_error();
-      return 1.0;
-   }
-}
-
-double stream::n()
-{
-   tmp=0.0;
-   for ( k = 0 ; k < nb ; k++ )
-     tmp+=chem[k]->n();
-   return tmp;
-}
-
-
-// affectation :
-stream & stream::operator = ( const stream & s ) {
-  
-  (*thermo) = *(s.thermo);
-
-  delete [] tab1;
-  delete [] tab2;
-  delete [] tab3;
-  delete [] tab4;
-  for ( i = 0 ; i < nb ; i++ )
-    delete chem[i];
-  delete [] chem;
-    
-  P = s.P;
-  T = s.T;
-  m = s.m;
-  v = s.v;
-  i = s.i;
-  j = s.j;
-  k = s.k;
-  error = s.error;
-  warning = s.warning;
-  name = s.name;
-  nb = s.nb;
-  chem = new chemical *[nb];
-  
-  tab1 = new double[nb];
-  tab2 = new double[nb];
-  tab3 = new double[nb];
-  tab4 = new double[nb];
-
-  step = s.step;
-
-  for  ( i = 0 ; i < nb ; i++ ) {
-    chem[i] = new chemical(*s.chem[i]);
-    tab1[i] = s.tab1[i];
-    tab2[i] = s.tab2[i];
-    tab3[i] = s.tab3[i];
-    tab4[i] = s.tab4[i];
-  }
-
-  tmp  = s.tmp;
-  tmp1 = s.tmp1;
-  tmp2 = s.tmp2;
-  
-  return *this;
-}
-
-
-void stream::write() {
-  
-  string file_name = RUNTIME + name + ".stream";
-
-  cout << "WRITE FILE " << file_name << " :\n\tBEGIN\n";
-
-  cout.unsetf(ios::scientific);
-  cout << setiosflags(ios::showpoint | ios::fixed)<<setprecision(1);
-
-  cout << "\t>>" << setw(8) << P << "   " << setw(9) << T <<"  ";
-
-  cout << resetiosflags(ios::fixed) << setiosflags(ios::scientific) << setprecision(3);
-
-  if (m>EPS)
-    cout << setw(11) << m << setw(11) << v;
-  else
-    cout << "       x          x   ";
-  for  ( i = 0 ; i < nb ; i++ ) {
-    if ( chem[i]->m <= EPS )
-      cout << "       x   ";
-    else
-      cout << setw(11) << chem[i]->m;
-  }
-  cout << "\n\tEND\n\n";
-
-  cout.setf(ios::scientific);
-
-}
-
-void stream::purge()
-{
-  P=T=m=v=0.0;
-  for(i=0;i<nb;i++)
-    chem[i]->purge();
-}
+#include "stream.hpp"
+using namespace std;
+
+// destructor :
+stream::~stream ( void ) {
+  delete thermo;
+  delete [] tab1;
+  delete [] tab2;
+  delete [] tab3;
+  delete [] tab4;
+  for ( i = 0 ; i < nb ; i++ )
+    delete chem[i];
+  delete [] chem;
+}
+
+void stream::check_error()
+{
+  
+   if (error>MAX_ERROR) {
+     cout << "ERROR 4\n\n";
+     exit(0);
+   }
+   if (warning>MAX_WARNING) {
+     cout << "ERROR 5\n\n";
+     exit(0);
+   }
+}
+
+void stream::set ( int _nb , chemical ** _chem) {
+  int i;
+  for ( i = 0 ; i < nb ; i++ )
+    delete chem[i];
+  delete [] chem;
+  nb   = _nb;
+  chem = new chemical * [nb];
+  for  ( i = 0 ; i < nb ; i++ )
+    chem[i] = new chemical(*_chem[i]);
+}
+
+void stream::set(double pres, double temp) //set P, T, find state and resulting v
+{
+   if(thermo->get_dim()!=nb)
+   {
+     delete thermo;
+     thermo = new thermolib(nb);
+   }
+   P=pres;
+   T=temp;
+   for (i=0;i<nb;i++) {chem[i]->P=pres; chem[i]->T=temp;}
+   if(n()>EPS)
+   {
+      v=quality();
+      tmp1=0;
+      for (i=0;i<nb;i++)
+      {
+         if (T>chem[i]->Tc || v==1) chem[i]->state=1;
+         else chem[i]->state=0;
+      }
+      v=0;
+      for (i=0;i<nb;i++)
+      {
+         if (chem[i]->state==0) {if (chem[i]->m>EPS) v+= chem[i]->m/chem[i]->rho(); tab4[i]=0;}
+         if (chem[i]->state==1) {tab4[i] = chem[i]->n(); tmp1+=tab4[i];}
+      }
+      if (tmp1>EPS)
+      {
+         for (i=0;i<nb;i++)
+         {
+            tab1[i] = chem[i]->Pc;  //cout<<endl<<tab1[i];
+            tab2[i] = chem[i]->Tc; // cout<<"  "<<tab2[i];
+            tab3[i] = chem[i]->omega();  //cout<<"  "<<tab3[i];
+            tab4[i]/=tmp1;    //          cout<<"  "<<tab4[i];
+         }
+         thermo->send(tab1,tab2,tab3, tab4);
+         thermo->set(P,T,0.0,tmp1);
+         v+=thermo->v();
+      }
+   }
+   else v= 0.0;
+}
+
+void stream::set(double *list)
+{
+   m=0;
+   for (i=0; i<nb; i++)
+   {
+      chem[i]->m=list[i];
+      m+=list[i];
+   }
+}
+
+void stream::bubble()
+{
+   bp=1.1e6;
+   for(i=0;i<nb;i++) if(T<chem[i]->Tc && chem[i]->Tboil(P)<bp && chem[i]->m>EPS) bp=chem[i]->Tboil(P);
+   if (bp==1.1e6) bp=0.0;
+   else
+   {
+      step=2;
+      while (fabs(step)>TOL_BP && fabs(tmp1-1)>TOL_BP)
+      {
+         //if(DEBUG) cout<<endl<<bp;
+         bp+=step;
+         tmp1=tmp2=0;
+         for (i=0;i<nb;i++) if(T<chem[i]->Tc) {tmp2+=chem[i]->n(); tmp1+=chem[i]->n()*chem[i]->Psat(bp)/P;}
+         tmp1/=tmp2;
+         step=10*(1.0-tmp1);
+      }
+   }
+}
+
+void stream::dew()
+{
+   dp=0.0;
+   tmp1=10;
+   for(i=0;i<nb;i++) if(T<chem[i]->Tc && chem[i]->Tboil(P)>dp && chem[i]->m>EPS) dp=chem[i]->Tboil(P);
+   if (dp>EPS)
+   {
+   dp=bp;
+      step=1;
+      while (fabs(step)>TOL_DP && fabs(tmp1/tmp2-1)>TOL_DP)
+      {
+         dp+=step;
+         if(dp<bp) dp=bp;
+         //if(DEBUG) cout<<endl<<dp;
+         tmp1=tmp2=0;
+          for (i=0;i<nb;i++) if(T<chem[i]->Tc) {tmp2+=chem[i]->n(); tmp1+=chem[i]->n()/chem[i]->Psat(dp)*P; }
+         if (step/fabs(step)*tmp2/tmp1 >1 || step/fabs(step)*tmp1/tmp2 <-1) step*= -0.1;
+      }
+   }
+}
+
+double stream::quality()
+{
+   if(T>EPS)
+   {
+      bubble();
+      dew();
+      //if(DEBUG) cout<<endl<<name<<"  bp="<<bp<<"  dp="<<dp<<"  T="<<T;  system("pause");
+      if (bp < dp)
+      {
+         if (bp < T && T< dp) tmp= (T-bp)/(dp-bp);
+         if (T<= bp) tmp= 0.0;
+         if (T >= dp) tmp= 1.0;
+      }
+   }
+   else tmp= 0.0;
+   return tmp;
+}
+
+double stream::K(int i)
+{
+   for (j=0;j<nb;j++)
+     tab4[j] = chem[j]->n()/n();
+   thermo->send(tab1,tab2,tab3, tab4);
+   if (T>EPS && P>EPS)
+   {
+      thermo->set(P,T,v,n());
+      return thermo->K(i);
+   }
+   else
+   {
+	   ofstream logf;
+      logf.open(MESSAGES, ios::app);
+      logf<<"   --> Warning <--  Cannot compute K of "<<chem[i]->name<<" in stream "<<name<<".\n";
+      logf.close();
+      warning++;
+      check_error();
+      return 1.0;
+   }
+}
+
+double stream::n()
+{
+   tmp=0.0;
+   for ( k = 0 ; k < nb ; k++ )
+     tmp+=chem[k]->n();
+   return tmp;
+}
+
+
+// affectation :
+stream & stream::operator = ( const stream & s ) {
+  
+  (*thermo) = *(s.thermo);
+
+  delete [] tab1;
+  delete [] tab2;
+  delete [] tab3;
+  delete [] tab4;
+  for ( i = 0 ; i < nb ; i++ )
+    delete chem[i];
+  delete [] chem;
+    
+  P = s.P;
+  T = s.T;
+  m = s.m;
+  v = s.v;
+  i = s.i;
+  j = s.j;
+  k = s.k;
+  error = s.error;
+  warning = s.warning;
+  name = s.name;
+  nb = s.nb;
+  chem = new chemical *[nb];
+  
+  tab1 = new double[nb];
+  tab2 = new double[nb];
+  tab3 = new double[nb];
+  tab4 = new double[nb];
+
+  step = s.step;
+
+  for  ( i = 0 ; i < nb ; i++ ) {
+    chem[i] = new chemical(*s.chem[i]);
+    tab1[i] = s.tab1[i];
+    tab2[i] = s.tab2[i];
+    tab3[i] = s.tab3[i];
+    tab4[i] = s.tab4[i];
+  }
+
+  tmp  = s.tmp;
+  tmp1 = s.tmp1;
+  tmp2 = s.tmp2;
+  
+  return *this;
+}
+
+
+void stream::write() {
+  
+  string file_name = RUNTIME + name + ".stream";
+
+  cout << "WRITE FILE " << file_name << " :\n\tBEGIN\n";
+
+  cout.unsetf(ios::scientific);
+  cout << setiosflags(ios::showpoint | ios::fixed)<<setprecision(1);
+
+  cout << "\t>>" << setw(8) << P << "   " << setw(9) << T <<"  ";
+
+  cout << resetiosflags(ios::fixed) << setiosflags(ios::scientific) << setprecision(3);
+
+  if (m>EPS)
+    cout << setw(11) << m << setw(11) << v;
+  else
+    cout << "       x          x   ";
+  for  ( i = 0 ; i < nb ; i++ ) {
+    if ( chem[i]->m <= EPS )
+      cout << "       x   ";
+    else
+      cout << setw(11) << chem[i]->m;
+  }
+  cout << "\n\tEND\n\n";
+
+  cout.setf(ios::scientific);
+
+}
+
+void stream::purge()
+{
+  P=T=m=v=0.0;
+  for(i=0;i<nb;i++)
+    chem[i]->purge();
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/stream.hpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/stream.hpp
index 895ef3d..94b2102 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/stream.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/stream.hpp
@@ -1,86 +1,86 @@
-#ifndef STREAM_H
-#define STREAM_H
-#include "chemical.hpp"
-#include <iomanip>
-using namespace std;
-
-class stream {
-
-private:
-
-  stream ( void ) {}
-  stream ( const stream & s ) {}
-
-public:
-  void check_error();
-
-  double P, T, m, v;  // Pressure in atm, temperature in K,
-                      // total mass flow in kg/s, total volume flow in m3/s
-
-  int i, j, k, error, warning;
-
-  string name;
-
-  int nb;		// number of chemicals to store;
-
-  chemical ** chem;     // list of stored chemicals
-
-  thermolib *thermo;
-
-  double tmp, tmp1,tmp2, *tab1, *tab2, *tab3, *tab4;
-  double step;
-  void bubble(), dew();
-  
-public:
-
-
-
-
-
-  double dp, bp;
-  double rho() {if(v!=0) return m/v; else exit(0);} // Apparent density in kg/m3
-  double n();		// total mole flow (mol/s)
-  double quality();	// returns the vapor fraction of stream (1=all vapor, 0 = all liquid)
-  double K(int);        // returns the vapor-liquid equilibrium constant of compound i
-   
-  // constructor :
-  stream ( const string _name , int n , chemical ** list ) : P      (0                 ) ,
-							     T      (0                 ) ,
-							     m      (0                 ) ,
-							     v      (0                 ) ,
-							     error  (0                 ) ,
-							     warning(0                 ) ,
-							     name   (_name             ) ,
-							     nb     (n                 ) ,
-							     chem   (new chemical *[nb]) ,
-							     thermo (new thermolib (nb)) ,
-							     tab1   (new double    [nb]) ,
-							     tab2   (new double    [nb]) ,
-							     tab3   (new double    [nb]) ,
-							     tab4   (new double    [nb])   {
-    for  ( i = 0 ; i < nb ; i++ )
-      chem[i] = new chemical(*list[i]);
-  }
-
-
-  // affectation :
-  stream & operator = ( const stream & s );
-
-  void set_thermo ( thermolib * t ) { (*thermo) = *t; }
-
-
-  void set(double, double); // Sets P and T
-  void set(double*);        // Sets mass flows
-  void set( const string & n ) { name = n;}
-  void set ( int _nb , chemical ** _chem);
-
-
-  // destructor :
-  ~stream ( void );
-
-  void write();
-  void purge();
-};
-
-
-#endif
+#ifndef STREAM_H
+#define STREAM_H
+#include "chemical.hpp"
+#include <iomanip>
+using namespace std;
+
+class stream {
+
+private:
+
+  stream ( void ) {}
+  stream ( const stream & s ) {}
+
+public:
+  void check_error();
+
+  double P, T, m, v;  // Pressure in atm, temperature in K,
+                      // total mass flow in kg/s, total volume flow in m3/s
+
+  int i, j, k, error, warning;
+
+  string name;
+
+  int nb;		// number of chemicals to store;
+
+  chemical ** chem;     // list of stored chemicals
+
+  thermolib *thermo;
+
+  double tmp, tmp1,tmp2, *tab1, *tab2, *tab3, *tab4;
+  double step;
+  void bubble(), dew();
+  
+public:
+
+
+
+
+
+  double dp, bp;
+  double rho() {if(v!=0) return m/v; else exit(0);} // Apparent density in kg/m3
+  double n();		// total mole flow (mol/s)
+  double quality();	// returns the vapor fraction of stream (1=all vapor, 0 = all liquid)
+  double K(int);        // returns the vapor-liquid equilibrium constant of compound i
+   
+  // constructor :
+  stream ( const string _name , int n , chemical ** list ) : P      (0                 ) ,
+							     T      (0                 ) ,
+							     m      (0                 ) ,
+							     v      (0                 ) ,
+							     error  (0                 ) ,
+							     warning(0                 ) ,
+							     name   (_name             ) ,
+							     nb     (n                 ) ,
+							     chem   (new chemical *[nb]) ,
+							     thermo (new thermolib (nb)) ,
+							     tab1   (new double    [nb]) ,
+							     tab2   (new double    [nb]) ,
+							     tab3   (new double    [nb]) ,
+							     tab4   (new double    [nb])   {
+    for  ( i = 0 ; i < nb ; i++ )
+      chem[i] = new chemical(*list[i]);
+  }
+
+
+  // affectation :
+  stream & operator = ( const stream & s );
+
+  void set_thermo ( thermolib * t ) { (*thermo) = *t; }
+
+
+  void set(double, double); // Sets P and T
+  void set(double*);        // Sets mass flows
+  void set( const string & n ) { name = n;}
+  void set ( int _nb , chemical ** _chem);
+
+
+  // destructor :
+  ~stream ( void );
+
+  void write();
+  void purge();
+};
+
+
+#endif
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/thermolib.cpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/thermolib.cpp
index f6bf0a1..13a3b35 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/thermolib.cpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/thermolib.cpp
@@ -1,174 +1,174 @@
-#include "thermolib.hpp"
-#include "defines.hpp"
-#include "secant.cpp"
-using namespace std;
-
-
-
-
-// affectation :
-thermolib & thermolib::operator = ( const thermolib & t ) {
-
-  if (dim!=t.dim)
-    reset(t.dim);
-  
-  for ( i = 0 ; i < dim ; i++ ) {
-    Pc[i] = t.Pc[i];
-    Tc[i] = t.Tc[i];
-    omega[i] = t.omega[i];
-    molefrac[i] = t.molefrac[i];
-  }
-
-  return *this;
-}
-
-thermolib::~thermolib() {
-  delete solver;
-  delete [] Pc;
-  delete [] Tc;
-  delete [] omega;
-  delete [] molefrac;
-}
-
-void thermolib::construct ( void ) {
-  molefrac = new double[dim];
-  Pc = new double[dim];
-  Tc = new double[dim];
-  omega = new double[dim];
-	
-	// C. Tribes add this for more robustness (variables may be initialized uncorrectly dependent on the execution)
-	for ( i = 0 ; i < dim ; i++ ) 
-	{
-		Pc[i] = 0.0;
-		Tc[i] = 0.0;
-		omega[i] = 0.0;
-		molefrac[i] = 0.0;
-  }
-	
-  solver = new secant<thermolib>();
-}
-
-void thermolib::reset(int b)
-{
-   delete [] molefrac;
-   delete [] Pc;
-   delete [] Tc;
-   delete [] omega;
-   delete solver;
-   dim = b;
-   construct();
-}
-
-double thermolib::a_mix()
-{
-   if (dim>1)
-   {
-      tmp=0;
-      for (i=0;i<dim;i++)
-         for (j=0;j<dim;j++)
-            tmp += molefrac[i]*molefrac[j]*sqrt(a(i)*a(j));
-      return tmp;
-   }
-   else return a(0);
-}
-
-double thermolib::b_mix()
-{
-   if (dim>1)
-   {
-      tmp=0;
-      for (i=0;i<dim;i++)
-         tmp += molefrac[i]*b(i);
-      return tmp;
-   }
-   else return b(0);
-}
-
-void thermolib::send(double* pc, double* tc, double* w, double* y)
-{
-   for (i=0;i<dim;i++)
-   {
-      Pc[i] = pc[i]*101.325;
-      Tc[i] = tc[i];
-      omega[i] = w[i];
-      molefrac[i] = y[i];
-   }
-}
-
-double thermolib::P()
-{
-   task=0;
-   pressure = 8.3144*temperature/molevolume;
-   solver->set(this, pressure, 1.001*pressure);
-   success=solver->run();
-   return pressure/101.325;
-}
-
-double thermolib::T()
-{
-   task=1;
-   temperature = pressure*molevolume/8.144;
-   solver->set(this, temperature, 1.001*temperature);
-   success=solver->run();
-   return temperature;
-}
-
-double thermolib::v()
-{
-   if (mole>EPS)
-   {
-      task=2;
-      molevolume = 8.3144*temperature/pressure;
-      solver->set(this, molevolume, 1.001*molevolume);
-      success=solver->run();
-      return 0.001*mole*molevolume;
-   }
-   else return 0.0;
-}
-
-double thermolib::Zv()
-{
-   task=4;
-   solver->set(this, 1.0, 0.99);
-   success=solver->run();
-   return Z;
-}
-
-double thermolib::phiV(int i)
-{
-   return exp((Z-1)*B(i)/B() - log(Z-B()) - A()/B()*(2*sqrt(A(i)/A())-B(i)/B())*log(1+B()/Z));
-}
-
-double thermolib::phiL(int i)
-{
-   Pr = pressure/Pc[i];
-   Tr = temperature/Tc[i];
-   tmp = 2.05135 - 2.10899/Tr - 0.19396*pow(Tr,2) + 0.02282*pow(Tr,3) + (0.08852 - 0.00872*pow(Tr,2))*Pr + (-0.00353 - 0.00203*Tr)*pow(Pr,2) - log10(Pr);
-   tmp += omega[i]*(-4.23893 + 8.65808*Tr - 1.2206/Tr - 3.15224*pow(Tr,3) - 0.025*(Pr-0.6));
-   return pow(10, tmp);
-}
-
-double thermolib::f(double x)
-{
-   if (task==0)
-   {
-      pressure=x;
-      x= 8.3144*temperature/(molevolume-b_mix()) - a_mix()/(pow(molevolume,2)+b_mix()*molevolume) - x;
-   }
-   if (task==1)
-   {
-      temperature=x;
-      x= 8.3144*x/(molevolume-b_mix()) - a_mix()/(pow(molevolume,2)+b_mix()*molevolume) - pressure;
-   }
-   if (task==2)
-   {
-      molevolume=x;
-      x= 8.3144*temperature/(x-b_mix()) - a_mix()/(pow(x,2)+b_mix()*x) - pressure;
-   }
-   if(task==4)
-   {
-      Z=x;
-      x= (pow(x,3)-pow(x,2)+(A()-B()-pow(B(),2))*x-A()*B());
-   }
-   return x;
-}
+#include "thermolib.hpp"
+#include "defines.hpp"
+#include "secant.cpp"
+using namespace std;
+
+
+
+
+// affectation :
+thermolib & thermolib::operator = ( const thermolib & t ) {
+
+  if (dim!=t.dim)
+    reset(t.dim);
+  
+  for ( i = 0 ; i < dim ; i++ ) {
+    Pc[i] = t.Pc[i];
+    Tc[i] = t.Tc[i];
+    omega[i] = t.omega[i];
+    molefrac[i] = t.molefrac[i];
+  }
+
+  return *this;
+}
+
+thermolib::~thermolib() {
+  delete solver;
+  delete [] Pc;
+  delete [] Tc;
+  delete [] omega;
+  delete [] molefrac;
+}
+
+void thermolib::construct ( void ) {
+  molefrac = new double[dim];
+  Pc = new double[dim];
+  Tc = new double[dim];
+  omega = new double[dim];
+	
+	// C. Tribes add this for more robustness (variables may be initialized uncorrectly dependent on the execution)
+	for ( i = 0 ; i < dim ; i++ ) 
+	{
+		Pc[i] = 0.0;
+		Tc[i] = 0.0;
+		omega[i] = 0.0;
+		molefrac[i] = 0.0;
+  }
+	
+  solver = new secant<thermolib>();
+}
+
+void thermolib::reset(int b)
+{
+   delete [] molefrac;
+   delete [] Pc;
+   delete [] Tc;
+   delete [] omega;
+   delete solver;
+   dim = b;
+   construct();
+}
+
+double thermolib::a_mix()
+{
+   if (dim>1)
+   {
+      tmp=0;
+      for (i=0;i<dim;i++)
+         for (j=0;j<dim;j++)
+            tmp += molefrac[i]*molefrac[j]*sqrt(a(i)*a(j));
+      return tmp;
+   }
+   else return a(0);
+}
+
+double thermolib::b_mix()
+{
+   if (dim>1)
+   {
+      tmp=0;
+      for (i=0;i<dim;i++)
+         tmp += molefrac[i]*b(i);
+      return tmp;
+   }
+   else return b(0);
+}
+
+void thermolib::send(double* pc, double* tc, double* w, double* y)
+{
+   for (i=0;i<dim;i++)
+   {
+      Pc[i] = pc[i]*101.325;
+      Tc[i] = tc[i];
+      omega[i] = w[i];
+      molefrac[i] = y[i];
+   }
+}
+
+double thermolib::P()
+{
+   task=0;
+   pressure = 8.3144*temperature/molevolume;
+   solver->set(this, pressure, 1.001*pressure);
+   success=solver->run();
+   return pressure/101.325;
+}
+
+double thermolib::T()
+{
+   task=1;
+   temperature = pressure*molevolume/8.144;
+   solver->set(this, temperature, 1.001*temperature);
+   success=solver->run();
+   return temperature;
+}
+
+double thermolib::v()
+{
+   if (mole>EPS)
+   {
+      task=2;
+      molevolume = 8.3144*temperature/pressure;
+      solver->set(this, molevolume, 1.001*molevolume);
+      success=solver->run();
+      return 0.001*mole*molevolume;
+   }
+   else return 0.0;
+}
+
+double thermolib::Zv()
+{
+   task=4;
+   solver->set(this, 1.0, 0.99);
+   success=solver->run();
+   return Z;
+}
+
+double thermolib::phiV(int i)
+{
+   return exp((Z-1)*B(i)/B() - log(Z-B()) - A()/B()*(2*sqrt(A(i)/A())-B(i)/B())*log(1+B()/Z));
+}
+
+double thermolib::phiL(int i)
+{
+   Pr = pressure/Pc[i];
+   Tr = temperature/Tc[i];
+   tmp = 2.05135 - 2.10899/Tr - 0.19396*pow(Tr,2) + 0.02282*pow(Tr,3) + (0.08852 - 0.00872*pow(Tr,2))*Pr + (-0.00353 - 0.00203*Tr)*pow(Pr,2) - log10(Pr);
+   tmp += omega[i]*(-4.23893 + 8.65808*Tr - 1.2206/Tr - 3.15224*pow(Tr,3) - 0.025*(Pr-0.6));
+   return pow(10, tmp);
+}
+
+double thermolib::f(double x)
+{
+   if (task==0)
+   {
+      pressure=x;
+      x= 8.3144*temperature/(molevolume-b_mix()) - a_mix()/(pow(molevolume,2)+b_mix()*molevolume) - x;
+   }
+   if (task==1)
+   {
+      temperature=x;
+      x= 8.3144*x/(molevolume-b_mix()) - a_mix()/(pow(molevolume,2)+b_mix()*molevolume) - pressure;
+   }
+   if (task==2)
+   {
+      molevolume=x;
+      x= 8.3144*temperature/(x-b_mix()) - a_mix()/(pow(x,2)+b_mix()*x) - pressure;
+   }
+   if(task==4)
+   {
+      Z=x;
+      x= (pow(x,3)-pow(x,2)+(A()-B()-pow(B(),2))*x-A()*B());
+   }
+   return x;
+}
diff --git a/tools/SENSITIVITY/problems/styrene/black-box/truth/thermolib.hpp b/tools/SENSITIVITY/problems/styrene/black-box/truth/thermolib.hpp
index 3d39c8c..3440270 100644
--- a/tools/SENSITIVITY/problems/styrene/black-box/truth/thermolib.hpp
+++ b/tools/SENSITIVITY/problems/styrene/black-box/truth/thermolib.hpp
@@ -1,50 +1,50 @@
-#ifndef THERMOLIB_H
-#define THERMOLIB_H
-#include "secant.hpp"
-using namespace std;
-
-class thermolib
-{
-   private:
-      bool success;
-	  int dim, i, j;
-      double pressure, temperature, molevolume, mole,*molefrac;
-	  double *Pc, *Tc, *omega, Z, tmp, Tr, Pr;
-       void construct();
-      double a(int i) {return (0.42748*pow(8.8144,2)*pow(Tc[i],2)*pow(1.0+f_omega(i)*(1.0-sqrt(temperature/Tc[i])), 2)/Pc[i]);}
-	  double a_mix();
-       double b(int i) {return (0.08664*8.3144*Tc[i]/Pc[i]);}
-	   double b_mix();
-	  double A(int i) {return (a(i)*pressure/pow(8.3144, 2)/pow(temperature, 2));}
-	  double A() {return (a_mix()*pressure/pow(8.3144, 2)/pow(temperature, 2));}
-      double B(int i) {return (b(i)*pressure/8.3144/temperature);}
-	  double B(){return (b_mix()*pressure/8.3144/temperature);}
-	  double Zv(), phiV(int), phiL(int);
-	  double f_omega(int i) {return (0.48 + 1.574*omega[i] - 0.176*pow(omega[i], 2));}
-	  int task;  //0=find P   1=find T   2=find v   3= find K   4=find Zv
-	  secant<thermolib> *solver;
-
-   public:
-      double P();		//retruns pressure at T and v, in atm
-      double T();		//returns temperature at P and v, in K
-      double v();		//returns volume flow at P, T, n(), in m3/s
-	  double K() {Z = Zv(); return phiL(0)/phiV(0);}  //returns the vapor-liquid equilibirum constant
-      double K(int i) {return phiL(i)/phiV(i);}
-      double compres_coeff(){return 1.0;};
-
-
-// affectation :
-  thermolib & operator = ( const thermolib & t );
-
-  thermolib ( int d = 1 ) { dim=d; construct();}
-
-	 void send(double pc, double tc, double w) { Pc[0] = pc*101.325; Tc[0] = tc; omega[0]=w;}
-	 void send(double*, double*, double*, double*);
-	 void set(double p, double t, double v, double n) {pressure=p*101.325; temperature=t; molevolume=0.001*n/v; mole=n;}
-	  double f(double);
-	  int get_dim() {return dim;}
-      ~thermolib();
-	  void reset(int);
-};
-#endif
-
+#ifndef THERMOLIB_H
+#define THERMOLIB_H
+#include "secant.hpp"
+using namespace std;
+
+class thermolib
+{
+   private:
+      bool success;
+	  int dim, i, j;
+      double pressure, temperature, molevolume, mole,*molefrac;
+	  double *Pc, *Tc, *omega, Z, tmp, Tr, Pr;
+       void construct();
+      double a(int i) {return (0.42748*pow(8.8144,2)*pow(Tc[i],2)*pow(1.0+f_omega(i)*(1.0-sqrt(temperature/Tc[i])), 2)/Pc[i]);}
+	  double a_mix();
+       double b(int i) {return (0.08664*8.3144*Tc[i]/Pc[i]);}
+	   double b_mix();
+	  double A(int i) {return (a(i)*pressure/pow(8.3144, 2)/pow(temperature, 2));}
+	  double A() {return (a_mix()*pressure/pow(8.3144, 2)/pow(temperature, 2));}
+      double B(int i) {return (b(i)*pressure/8.3144/temperature);}
+	  double B(){return (b_mix()*pressure/8.3144/temperature);}
+	  double Zv(), phiV(int), phiL(int);
+	  double f_omega(int i) {return (0.48 + 1.574*omega[i] - 0.176*pow(omega[i], 2));}
+	  int task;  //0=find P   1=find T   2=find v   3= find K   4=find Zv
+	  secant<thermolib> *solver;
+
+   public:
+      double P();		//retruns pressure at T and v, in atm
+      double T();		//returns temperature at P and v, in K
+      double v();		//returns volume flow at P, T, n(), in m3/s
+	  double K() {Z = Zv(); return phiL(0)/phiV(0);}  //returns the vapor-liquid equilibirum constant
+      double K(int i) {return phiL(i)/phiV(i);}
+      double compres_coeff(){return 1.0;};
+
+
+// affectation :
+  thermolib & operator = ( const thermolib & t );
+
+  thermolib ( int d = 1 ) { dim=d; construct();}
+
+	 void send(double pc, double tc, double w) { Pc[0] = pc*101.325; Tc[0] = tc; omega[0]=w;}
+	 void send(double*, double*, double*, double*);
+	 void set(double p, double t, double v, double n) {pressure=p*101.325; temperature=t; molevolume=0.001*n/v; mole=n;}
+	  double f(double);
+	  int get_dim() {return dim;}
+      ~thermolib();
+	  void reset(int);
+};
+#endif
+
diff --git a/utils/DisplayCacheFile/build.m b/utils/DisplayCacheFile/build.m
index a23f282..b74b719 100644
--- a/utils/DisplayCacheFile/build.m
+++ b/utils/DisplayCacheFile/build.m
@@ -1,87 +1,90 @@
-%% GERAD NOMAD Build for Matlab
-
-% This file will help you compile NOMAD for use with MATLAB.
-
-% To recompile you will need to get / do the following:
-
-% 1) Get NOMAD
-% NOMAD is available from https://www.gerad.ca/nomad
-% Complete the download form then download the latest version. Define the
-% $NOMAD_HOME environment variable.
-
-% 2) Start Matlab and go into $NOMAD_HOME/examples/interfaces/Matlab_Mex
-% The NOMAD MEX Interface is a simple MEX interface written to use NOMAD.
-
-% 3) Compile the MEX File
-% The code below will build the NOMAD MEX file and set the Matlab path.
-
-clear nomad
-
-% Default library names
-nameLibNomad = 'libnomad.so';
-
-% Default update LDFLAGS
-updateLDFLAGS= '';
-
-% Current directory
-cdir = cd;
-
-% Check and set nomad_home and create variables for path
-clear nomad_home nomad_src;
-nomad_home = getenv('NOMAD_HOME');
-
-
-if ( length(nomad_home)<1 )
-% Get a default directory for NOMAD_HOME
-cd ..
-cd ..
-nomad_home = cd;
-
-if ( ~ exist(nomad_home,'dir') )
-error('The default NOMAD_HOME directory does not exist. Please provide a correct value for the NOMAD_HOME variables with the command setenv(''NOMAD_HOME'',ARG1)');
-end
-
-setenv('NOMAD_HOME',nomad_home);
-warning('The NOMAD_HOME variable is set with its default value %s. The default can be replaced by using the command setenv(''NOMAD_HOME'',ARG1)! before runner the GERAD_NOMAD_build command.',nomad_home);
-cd(cdir);
-end
-nomad_src=[nomad_home filesep 'src' filesep];
-nomad_lib=[nomad_home filesep 'lib' filesep];
-nomad_bin=[nomad_home filesep 'bin' filesep];
-
-switch(computer)
-case 'PCWIN'
-libdir = ' -Lwin32\';
-nameLibNomad = 'nomad.dll';
-case 'PCWIN64'
-libdir = ' -Lwin64\';
-nameLibNomad = 'nomad.dll';
-case 'GLNX86'
-libdir = 'glnx86/';
-updateLDFLAGS = 'LDFLAGS=''$LDFLAGS -Wl,-rpath,''''$ORIGIN/../lib/'''' '' ';
-case 'GLNXA64'
-libdir = 'glnxa64/';
-updateLDFLAGS = 'LDFLAGS=''$LDFLAGS -Wl,-rpath,''''$ORIGIN/../lib/'''' '' ';
-case 'MACI64'
-libdir = 'maci64/';
-end
-
-%Get NOMAD Libraries
-post = [' -I.  -I' nomad_src ' -lm -lut -lnomad -L ' nomad_lib ' -output displayCacheM'];
-
-%Compile & Move
-pre = ['mex -v -largeArrayDims ' updateLDFLAGS ' displayCacheM.cpp ' ];
-
-try
-    eval([pre post])
-    if ( strcmp(computer,'MACI64') )
-        install_cmd = ['install_name_tool -change libnomad.so ' nomad_lib 'libnomad.so displayCacheM.mexmaci64' ]; 
-        system(install_cmd);
-    end
-    clear nomad_home nomad_src cdir post pre libdir;
-    fprintf('Done!\n');
-catch ME
-	clear nomad_home nomad_src cdir post pre libdir;
-    error('opti:nomad','Error Compiling NOMAD!\n%s',ME.message);
-end
-fprintf('------------------------------------------------\n');
+%% GERAD NOMAD Build for Matlab
+
+% This file will help you compile NOMAD for use with MATLAB.
+
+% To recompile you will need to get / do the following:
+
+% 1) Get NOMAD
+% NOMAD is available from https://www.gerad.ca/nomad
+% Complete the download form then download the latest version. Define the
+% $NOMAD_HOME environment variable.
+
+% 2) Start Matlab and go into $NOMAD_HOME/examples/interfaces/Matlab_Mex
+% The NOMAD MEX Interface is a simple MEX interface written to use NOMAD.
+
+% 3) Compile the MEX File
+% The code below will build the NOMAD MEX file and set the Matlab path.
+
+clear nomad
+
+% Default library names
+nameLibNomad = 'libnomad.so';
+
+% Default update LDFLAGS
+updateLDFLAGS= '';
+
+% Current directory
+cdir = cd;
+
+% Check and set nomad_home and create variables for path
+clear nomad_home nomad_src;
+nomad_home = getenv('NOMAD_HOME');
+
+
+if ( length(nomad_home)<1 )
+% Get a default directory for NOMAD_HOME
+cd ..
+cd ..
+nomad_home = cd;
+
+if ( ~ exist(nomad_home,'dir') )
+error('The default NOMAD_HOME directory does not exist. Please provide a correct value for the NOMAD_HOME variables with the command setenv(''NOMAD_HOME'',ARG1)');
+end
+
+setenv('NOMAD_HOME',nomad_home);
+warning('The NOMAD_HOME variable is set with its default value %s. The default can be replaced by using the command setenv(''NOMAD_HOME'',ARG1)! before runner the GERAD_NOMAD_build command.',nomad_home);
+cd(cdir);
+end
+nomad_src=[nomad_home filesep 'src' filesep];
+nomad_lib=[nomad_home filesep 'lib' filesep];
+nomad_bin=[nomad_home filesep 'bin' filesep];
+nomad_sgtelib_src=[nomad_home filesep 'ext' filesep 'sgtelib' filesep 'src'];
+
+switch(computer)
+case 'PCWIN'
+%libdir = ' -Lwin32\';
+%nameLibNomad = 'nomad.dll';
+error('The installation script for Windows is not yet available.');
+case 'PCWIN64'
+%libdir = ' -Lwin64\';
+%nameLibNomad = 'nomad.dll';
+error('The installation script for Windows is not yet available.');
+case 'GLNX86'
+libdir = 'glnx86/';
+updateLDFLAGS = 'LDFLAGS=''$LDFLAGS -Wl,-rpath,''''$ORIGIN/../lib/'''' '' ';
+case 'GLNXA64'
+libdir = 'glnxa64/';
+updateLDFLAGS = 'LDFLAGS=''$LDFLAGS -Wl,-rpath,''''$ORIGIN/../lib/'''' '' ';
+case 'MACI64'
+libdir = 'maci64/';
+end
+
+%Get NOMAD Libraries
+post = [' -I.  -I' nomad_src ' -I' nomad_sgtelib_src ' -lm -lut -lnomad -L ' nomad_lib ' -output displayCacheM'];
+
+%Compile & Move
+pre = ['mex -v -largeArrayDims ' updateLDFLAGS ' displayCacheM.cpp ' ];
+
+try
+    eval([pre post])
+    if ( strcmp(computer,'MACI64') )
+        install_cmd = ['install_name_tool -change libnomad.so ' nomad_lib 'libnomad.so displayCacheM.mexmaci64' ]; 
+        system(install_cmd);
+    end
+    clear nomad_home nomad_src nomad_sgtelib_src cdir post pre libdir;
+    fprintf('Done!\n');
+catch ME
+	clear nomad_home nomad_src nomad_sgtelib_src cdir post pre libdir;
+    error('opti:nomad','Error Compiling NOMAD!\n%s',ME.message);
+end
+fprintf('------------------------------------------------\n');
diff --git a/utils/DisplayCacheFile/cache1.bin b/utils/DisplayCacheFile/cache1_OSX.bin
similarity index 100%
rename from utils/DisplayCacheFile/cache1.bin
rename to utils/DisplayCacheFile/cache1_OSX.bin
diff --git a/utils/DisplayCacheFile/makefile b/utils/DisplayCacheFile/makefile
index 195338a..a94bd91 100644
--- a/utils/DisplayCacheFile/makefile
+++ b/utils/DisplayCacheFile/makefile
@@ -10,13 +10,13 @@ LIB_NOMAD              = libnomad.so
 
 CXXFLAGS               =           
 ifeq ($(UNAME), Linux)
-CXXFLAGS              += -Wl,-rpath,’$(LIB_DIR)’
+CXXFLAGS              += -Wl,-rpath,'$(LIB_DIR)'
 CXXFLAGS              += -ansi
 endif
 
 LDLIBS                 = -lm -lnomad
 
-INCLUDE                = -I$(NOMAD_HOME)/src -I.
+INCLUDE                = -I$(NOMAD_HOME)/src -I$(NOMAD_HOME)/ext/sgtelib/src -I.
 COMPILE                = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
 
 OBJS                   = displayCache.o
diff --git a/utils/MergeCacheFiles/build.m b/utils/MergeCacheFiles/build.m
index 9a1ce33..3cad040 100644
--- a/utils/MergeCacheFiles/build.m
+++ b/utils/MergeCacheFiles/build.m
@@ -1,87 +1,90 @@
-%% GERAD NOMAD Build for Matlab
-
-% This file will help you compile NOMAD for use with MATLAB.
-
-% To recompile you will need to get / do the following:
-
-% 1) Get NOMAD
-% NOMAD is available from https://www.gerad.ca/nomad
-% Complete the download form then download the latest version. Define the
-% $NOMAD_HOME environment variable.
-
-% 2) Start Matlab and go into $NOMAD_HOME/examples/interfaces/Matlab_Mex
-% The NOMAD MEX Interface is a simple MEX interface written to use NOMAD.
-
-% 3) Compile the MEX File
-% The code below will build the NOMAD MEX file and set the Matlab path.
-
-clear nomad
-
-% Default library names
-nameLibNomad = 'libnomad.so';
-
-% Default update LDFLAGS
-updateLDFLAGS= '';
-
-% Current directory
-cdir = cd;
-
-% Check and set nomad_home and create variables for path
-clear nomad_home nomad_src;
-nomad_home = getenv('NOMAD_HOME');
-
-
-if ( length(nomad_home)<1 )
-% Get a default directory for NOMAD_HOME
-cd ..
-cd ..
-nomad_home = cd;
-
-if ( ~ exist(nomad_home,'dir') )
-error('The default NOMAD_HOME directory does not exist. Please provide a correct value for the NOMAD_HOME variables with the command setenv(''NOMAD_HOME'',ARG1)');
-end
-
-setenv('NOMAD_HOME',nomad_home);
-warning('The NOMAD_HOME variable is set with its default value %s. The default can be replaced by using the command setenv(''NOMAD_HOME'',ARG1)! before runner the GERAD_NOMAD_build command.',nomad_home);
-cd(cdir);
-end
-nomad_src=[nomad_home filesep 'src' filesep];
-nomad_lib=[nomad_home filesep 'lib' filesep];
-nomad_bin=[nomad_home filesep 'bin' filesep];
-
-switch(computer)
-case 'PCWIN'
-libdir = ' -Lwin32\';
-nameLibNomad = 'nomad.dll';
-case 'PCWIN64'
-libdir = ' -Lwin64\';
-nameLibNomad = 'nomad.dll';
-case 'GLNX86'
-libdir = 'glnx86/';
-updateLDFLAGS = 'LDFLAGS=''$LDFLAGS -Wl,-rpath,''''$ORIGIN/../lib/'''' '' ';
-case 'GLNXA64'
-libdir = 'glnxa64/';
-updateLDFLAGS = 'LDFLAGS=''$LDFLAGS -Wl,-rpath,''''$ORIGIN/../lib/'''' '' ';
-case 'MACI64'
-libdir = 'maci64/';
-end
-
-%Get NOMAD Libraries
-post = [' -I.  -I' nomad_src ' -lm -lut -lnomad -L ' nomad_lib ' -output mergeM'];
-
-%Compile & Move
-pre = ['mex -v -largeArrayDims ' updateLDFLAGS ' mergeM.cpp ' ];
-
-try
-    eval([pre post])
-    if ( strcmp(computer,'MACI64') )
-        install_cmd = ['install_name_tool -change libnomad.so ' nomad_lib 'libnomad.so mergeM.mexmaci64' ]; 
-        system(install_cmd);
-    end
-    clear nomad_home nomad_src cdir post pre libdir;
-    fprintf('Done!\n');
-catch ME
-	clear nomad_home nomad_src cdir post pre libdir;
-    error('opti:nomad','Error Compiling NOMAD!\n%s',ME.message);
-end
-fprintf('------------------------------------------------\n');
+%% GERAD NOMAD Build for Matlab
+
+% This file will help you compile NOMAD for use with MATLAB.
+
+% To recompile you will need to get / do the following:
+
+% 1) Get NOMAD
+% NOMAD is available from https://www.gerad.ca/nomad
+% Complete the download form then download the latest version. Define the
+% $NOMAD_HOME environment variable.
+
+% 2) Start Matlab and go into $NOMAD_HOME/examples/interfaces/Matlab_Mex
+% The NOMAD MEX Interface is a simple MEX interface written to use NOMAD.
+
+% 3) Compile the MEX File
+% The code below will build the NOMAD MEX file and set the Matlab path.
+
+clear nomad
+
+% Default library names
+nameLibNomad = 'libnomad.so';
+
+% Default update LDFLAGS
+updateLDFLAGS= '';
+
+% Current directory
+cdir = cd;
+
+% Check and set nomad_home and create variables for path
+clear nomad_home nomad_src;
+nomad_home = getenv('NOMAD_HOME');
+
+
+if ( length(nomad_home)<1 )
+% Get a default directory for NOMAD_HOME
+cd ..
+cd ..
+nomad_home = cd;
+
+if ( ~ exist(nomad_home,'dir') )
+error('The default NOMAD_HOME directory does not exist. Please provide a correct value for the NOMAD_HOME variables with the command setenv(''NOMAD_HOME'',ARG1)');
+end
+
+setenv('NOMAD_HOME',nomad_home);
+warning('The NOMAD_HOME variable is set with its default value %s. The default can be replaced by using the command setenv(''NOMAD_HOME'',ARG1)! before runner the GERAD_NOMAD_build command.',nomad_home);
+cd(cdir);
+end
+nomad_src=[nomad_home filesep 'src' filesep];
+nomad_lib=[nomad_home filesep 'lib' filesep];
+nomad_bin=[nomad_home filesep 'bin' filesep];
+nomad_sgtelib_src=[nomad_home filesep 'ext' filesep 'sgtelib' filesep 'src'];
+
+switch(computer)
+case 'PCWIN'
+%libdir = ' -Lwin32\';
+%nameLibNomad = 'nomad.dll';
+error('The installation script for Windows is not yet available.');
+case 'PCWIN64'
+%libdir = ' -Lwin64\';
+%nameLibNomad = 'nomad.dll';
+error('The installation script for Windows is not yet available.');
+case 'GLNX86'
+libdir = 'glnx86/';
+updateLDFLAGS = 'LDFLAGS=''$LDFLAGS -Wl,-rpath,''''$ORIGIN/../lib/'''' '' ';
+case 'GLNXA64'
+libdir = 'glnxa64/';
+updateLDFLAGS = 'LDFLAGS=''$LDFLAGS -Wl,-rpath,''''$ORIGIN/../lib/'''' '' ';
+case 'MACI64'
+libdir = 'maci64/';
+end
+
+%Get NOMAD Libraries
+post = [' -I.  -I' nomad_src ' -I' nomad_sgtelib_src ' -lm -lut -lnomad -L ' nomad_lib ' -output mergeM'];
+
+%Compile & Move
+pre = ['mex -v -largeArrayDims ' updateLDFLAGS ' mergeM.cpp ' ];
+
+try
+    eval([pre post])
+    if ( strcmp(computer,'MACI64') )
+        install_cmd = ['install_name_tool -change libnomad.so ' nomad_lib 'libnomad.so mergeM.mexmaci64' ]; 
+        system(install_cmd);
+    end
+    clear nomad_home nomad_src nomad_sgtelib_src cdir post pre libdir;
+    fprintf('Done!\n');
+catch ME
+	clear nomad_home nomad_src nomad_sgtelib_src cdir post pre libdir;
+    error('opti:nomad','Error Compiling NOMAD!\n%s',ME.message);
+end
+fprintf('------------------------------------------------\n');
diff --git a/utils/MergeCacheFiles/cache1.bin b/utils/MergeCacheFiles/cache1_OSX.bin
similarity index 100%
rename from utils/MergeCacheFiles/cache1.bin
rename to utils/MergeCacheFiles/cache1_OSX.bin
diff --git a/utils/MergeCacheFiles/cache2.bin b/utils/MergeCacheFiles/cache2_OSX.bin
similarity index 100%
rename from utils/MergeCacheFiles/cache2.bin
rename to utils/MergeCacheFiles/cache2_OSX.bin
diff --git a/utils/MergeCacheFiles/cache3.bin b/utils/MergeCacheFiles/cache3_OSX.bin
similarity index 100%
rename from utils/MergeCacheFiles/cache3.bin
rename to utils/MergeCacheFiles/cache3_OSX.bin
diff --git a/utils/MergeCacheFiles/makefile b/utils/MergeCacheFiles/makefile
index d86324c..e3e2608 100644
--- a/utils/MergeCacheFiles/makefile
+++ b/utils/MergeCacheFiles/makefile
@@ -16,7 +16,7 @@ endif
 
 LDLIBS                 = -lm -lnomad
 
-INCLUDE                = -I$(NOMAD_HOME)/src -I.
+INCLUDE                = -I$(NOMAD_HOME)/src -I$(NOMAD_HOME)/ext/sgtelib/src -I.
 COMPILE                = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
 
 OBJS                   = merge.o
diff --git a/utils/Run_TestSuite/runNomadAll_parallel.pl b/utils/Run_TestSuite/runNomadAll_parallel.pl
index dd90b38..0a2ae41 100755
--- a/utils/Run_TestSuite/runNomadAll_parallel.pl
+++ b/utils/Run_TestSuite/runNomadAll_parallel.pl
@@ -34,7 +34,7 @@ if ( grep(/MINGW/,<aComRes>) ){
 	$MPIcommand="mpirun -n";    # version OSX and linux
 }
 
-my $keySearch=" Erreur | Error | error | error: | Exception | NOMAD::Exception | Failed | Arrêt | Stop";
+my $keySearch=" Erreur | Error | error | error: | Erreur | erreur | Exception | NOMAD::Exception | Failed | Arrêt | Stop";
 
 my $nombre_de_jobs_en_parallele:shared;
 if ( ! exists $ARGV[0]) {
@@ -61,7 +61,8 @@ my @list = (
 	["cd $ENV{NOMAD_HOME}/examples/basic/library/single_obj ; if [ -e basic_lib_MPI.exe  ] ; then rm -f basic_lib_MPI.exe   ; fi  ; make clean 2>&1 ; make mpi 2>&1; $MPIcommand 3 ./basic_lib_MPI.exe  2>&1"],
 	["cd $ENV{NOMAD_HOME}/examples/basic/library/bi_obj ; if [ -e basic_lib_MPI.exe  ] ; then rm -f basic_lib_MPI.exe  ; fi  ; make clean 2>&1 ; make mpi 2>&1; $MPIcommand 3 ./basic_lib_MPI.exe  2>&1"],	
 	["cd $ENV{NOMAD_HOME}/examples/basic/library/single_obj_parallel ; if [ -e basic_lib.exe  ] ; then rm -f basic_lib.exe  ; fi  ; make clean 2>&1 ; make 2>&1; ./basic_lib.exe  2>&1"],
-	["cd $ENV{NOMAD_HOME}/examples/advanced/categorical/batch ; if [ ! -e bb.exe  -o ! -e neighbors.exe  ] ; then g++ -o bb.exe  bb.cpp 2>&1 ; g++ -o neighbors.exe  neighbors.cpp ; fi ; echo ; $ENV{NOMAD_HOME}/bin/$nomadEXE param.txt 2>&1"],
+    ["cd $ENV{NOMAD_HOME}/examples/advanced/categorical/batch ; if [ ! -e bb.exe  -o ! -e neighbors.exe  ] ; then g++ -o bb.exe  bb.cpp 2>&1 ; g++ -o neighbors.exe  neighbors.cpp ; fi ; echo ; $ENV{NOMAD_HOME}/bin/$nomadEXE param.txt 2>&1"],
+    ["cd $ENV{NOMAD_HOME}/tools/PSD-MADS ; if [ -e psdmads.exe  ] ; then rm -f *.exe  *.o ; fi ; make 2>&1 ; cd problems/G2_20 ; g++ -o bb.exe  bb.cpp 2>&1; $MPIcommand 6 ../../psdmads.exe  param.txt 50 5 2>&1"],
 	["cd $ENV{NOMAD_HOME}/examples/advanced/categorical/batch ; if [ ! -e bb.exe  -o ! -e neighbors.exe  ] ; then g++ -o bb.exe  bb.cpp 2>&1 ; g++ -o neighbors.exe  neighbors.cpp ; fi ; echo ; $MPIcommand 3 $ENV{NOMAD_HOME}/bin/$nomadMPI_EXE param.txt 2>&1"],
 	["cd $ENV{NOMAD_HOME}/examples/advanced/categorical/single_obj ; if [ -e categorical.exe  ] ; then rm -f categorical.exe  ; echo ; fi ; make clean 2>&1 ; make 2>&1; ./categorical.exe  2>&1 "],
 	["cd $ENV{NOMAD_HOME}/examples/advanced/categorical/single_obj ; if [ -e categorical_MPI.exe  ] ; then rm -f categorical_MPI.exe  ; echo ; fi ; make clean 2>&1 ; make mpi 2>&1; $MPIcommand 3 ./categorical_MPI.exe  2>&1 "],
@@ -86,8 +87,9 @@ my @list = (
 	); 
  
 my @NOMADcompilations = (
-    ["cd $ENV{NOMAD_HOME}/src ; make clean ; make all -j $nombre_de_jobs_en_parallele 2>&1"],
-    ["cd $ENV{NOMAD_HOME}/src ; make clean ; make mpi -j $nombre_de_jobs_en_parallele 2>&1"]
+    ["cd $ENV{NOMAD_HOME}/src ; make del "],
+    ["cd $ENV{NOMAD_HOME}/src ; make all -j $nombre_de_jobs_en_parallele 2>&1"],
+    ["cd $ENV{NOMAD_HOME}/src ; make mpi -j $nombre_de_jobs_en_parallele 2>&1"]
         );
 
  
@@ -169,10 +171,10 @@ sub RunProblem($$$$$){
 #############################
 # Sub pour les compilations
 #############################
-sub CompileNOMAD($$$){
+sub CompileNOMAD($$){
 	my $aRef = shift;
 	my $index = shift;
-	my $failed = shift; 
+	my $failed = 0; 
 	
  	open(WRITE_LOG,"> logNOMADCompile$index.txt"); 	
  	for my $command (@{$aRef}){
@@ -182,16 +184,17 @@ sub CompileNOMAD($$$){
 
  	    print WRITE_LOG "Path: $Path[1] \n Command: $Problem[1] ; Managed as process $index \n";
  	    open(LOG,"$command |") or die "Can't run program: $!\n";
+        my $errSearch="Erreur|Error|error|erreur|commande introuvable|compilation failed";
 		if ($? != 0) {
 	        print "Failed compilation of NOMAD: command $! process $index \n";
-			$$failed=0;
+			$failed=1;
     	}
     	else {
 			while (<LOG>){
-				if (my @foo = grep(/error/, $_) ) {
+				if (my @foo = grep(/$errSearch/, $_) ) {
 					print "??????? Problem encountered when compiling NOMAD in process $index:\n     ----->     @foo\n";
  	      			print WRITE_LOG "     ----->   @foo \n ";
-					$$failed=0;
+					$failed=1;
  	      			last;   			
  	      		}
  	      		if (my @foo = grep(/warning/, $_) ) {
@@ -199,52 +202,60 @@ sub CompileNOMAD($$$){
  	      		}
  	      	}
  	    }
- 	    if ($$failed==1){
+ 	    if ($failed==0){
  	    	print WRITE_LOG "++++++++++ OK! \n";
  	    }
  	    close (LOG);
  	}
   	close (WRITE_LOG);
-	return;
+	return $failed;
 }
 
 #####################################
 ##### Debut du programme principal
 #####################################
+
 # nettoie les fichiers de log
 print "########################################################\n";
 print "Cleaning old log files\n";
 system ("rm -f log*.txt");
+print "########################################################\n";
 
+# Fait clean
+print "NOMAD clean started";
+my $thrCleanNOMAD = threads->create("CompileNOMAD",($NOMADcompilations[0],1));
+$failedCleanNOMAD = $thrCleanNOMAD->join();
 
-# démarre la compilation de nomad 
-my $failedCompileNOMAD=1;
-my $thrNOMAD = threads->create("CompileNOMAD",($NOMADcompilations[0],1,\$failedCompileNOMAD));    ### Version parallele
+if ($failedCleanNOMAD!=0){
+    print "\n NOMAD clean failed. Stopping here! \n";
+    exit 0;
+}
+print " ---> success. \n";
 print "########################################################\n";
-print "NOMAD compilation (not mpi) started \n";
 
 
-# démarre la compilation de nomad_mpi 
-my $failedCompileNOMAD_MPI=1;
-my $thrNOMAD_MPI = threads->create("CompileNOMAD",($NOMADcompilations[1],2,\$failedCompileNOMAD_MPI));  ### Version parallele
-print "NOMAD compilation (mpi) started\n";
+# démarre la compilation de nomad
+print "NOMAD compilation (not mpi) started";
+my $thrNOMAD = threads->create("CompileNOMAD",($NOMADcompilations[1],2));
+my $failedCompileNOMAD = $thrNOMAD->join();
 
-$thrNOMAD->join();
-$thrNOMAD_MPI->join();
-
-if ($failedCompileNOMAD==0){
-	print "NOMAD compilation (not mpi) failed. Stopping here! \n";
+if ($failedCompileNOMAD!=0){
+    print "\n NOMAD compilation (not mpi) failed. Stopping here! \n";
+    exit 0;
 }
+print " ---> success. \n";
+print "########################################################\n";
 
-if ($failedCompileNOMAD_MPI==0){
-	print "NOMAD compilation (mpi) failed. Stoppinf here! \n";
-}
+# démarre la compilation de nomad_mpi
+print "NOMAD compilation (mpi) started";
+my $thrNOMAD_MPI = threads->create("CompileNOMAD",($NOMADcompilations[2],3));
+my $failedCompileNOMAD_MPI = $thrNOMAD_MPI->join();
 
-if ($failedCompileNOMAD==0 or $failedCompileNOMAD_MPI==0){
-	exit 0;
+if ($failedCompileNOMAD_MPI!=0){
+	print "\n NOMAD compilation (mpi) failed. Stopping here! \n";
+    exit 0;
 }
-
-print "NOMAD compilation(s) success\n";
+print " ---> success. \n";
 print "########################################################\n\n";
 
 print "########################################################\n";
-- 
GitLab