From 5564e485dbd6f07f1f3c4b323fc26205d6ffc40c Mon Sep 17 00:00:00 2001 From: Jordi Bolibar Date: Fri, 9 Jun 2023 20:21:18 +0200 Subject: [PATCH] Continuous Integration tests up and running (#116) * CI updated for GithubActions * Update Project.toml * CI updated with yml file * yml file path updated * yaml file extension fixed * PYTHON variable set to which python * PYTHON env fixed * CI updated * [WIP] Investigating strange behaviour of SIA solver There's some outflow outside the glacier, potentially due to the staggered grid or some processing which brings some ice outside the main glacier catchment. Need to investigate the SIA code in detail and play with the tolerance. * solve problem with boundary condition for SIA PDE (no UDE) * restore old version of action * [WIP] Mass balance fixed. Fixed issue with MB, which was not correctly selecting the subperiods for the climate data. To be merged with Facu's fix of the boundary conditions of the SIA. * New CI and Python environment from Facu * Updated test reference files * Forcing intitialization of gdirs from scratch for CI * CI and environment updated * CI and environment updated * Python env and tests fixed * Update environment.yml Fixing environment name. * Update environment.yml * Update environment.yml * Update environment.yml * Update environment.yml * Update CI.yml * Update CI.yml * Test update and environment.yml * Update CI.yml * Update CI.yml with CA certificate setup * CA certificate * Update CA variable assignment * Update CI.yml * Update CI.yml * Update CI.yml * Update CI.yml * Update CI.yml * SSL certificate added to tests * Ref files for test updated * Docs action removed + tests with less glaciers For now I have deactivated the Documentation action for GitHub, we can provide them in the future once the API is stable. I have also reduced the number of glaciers in the tests from 12 to 5, since it downloads a ton of data on GitHub CI. * Using 2 workers for tests * Using 2 workers for tests (now for OGGM) * Update README with micromamba installation and other details * Fall back multiprocessing in CI for PDE solving * Multiprocessing for OGGM fixed * Avoid downloading Millan22 velocities in CI * Correctly bypassing download of Millan22 velocities * Including missing catch on get_initial_status() --------- Co-authored-by: Facundo Sapienza --- .github/workflows/CI.yml | 101 ++++++++++-- .github/workflows/CompatHelper.yml | 16 ++ Project.toml | 2 +- README.md | 28 +--- environment.yml | 41 +++++ scripts/dhdt_plots.jl | 100 ++++++++++++ scripts/toy_model.jl | 33 ++-- src/ODINN.jl | 5 +- src/helpers/climate.jl | 52 +++--- src/helpers/config.jl | 1 + src/helpers/iceflow.jl | 148 +++++++++++------- src/helpers/initial_conditions.jl | 62 +++++--- src/helpers/mass_balance.jl | 17 ++ src/helpers/oggm.jl | 63 +++++--- src/helpers/parameters.jl | 2 +- src/helpers/plotting.jl | 1 - src/helpers/utils.jl | 32 ++-- test/PDE_UDE_solve.jl | 77 +++++---- test/data/PDE_refs_MB.jld2 | Bin 0 -> 8834710 bytes .../{PDE_refs.jld2 => PDE_refs_noMB.jld2} | Bin 7355592 -> 8834710 bytes test/runtests.jl | 17 +- 21 files changed, 566 insertions(+), 232 deletions(-) create mode 100644 .github/workflows/CompatHelper.yml create mode 100644 environment.yml create mode 100644 scripts/dhdt_plots.jl create mode 100644 test/data/PDE_refs_MB.jld2 rename test/data/{PDE_refs.jld2 => PDE_refs_noMB.jld2} (53%) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 97259a5..8298a5f 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -1,28 +1,97 @@ -name: Run tests - +name: Run Tests on: push: branches: - main + tags: ['*'] pull_request: - types: [opened, synchronize, reopened] - schedule: - - cron: '0 0 * * 0' - +concurrency: + # Skip intermediate builds: always. + # Cancel intermediate builds: only if it is a pull request build. + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} jobs: - test-github-cpuonly: - env: + test: + name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} runs-on: ${{ matrix.os }} + defaults: + run: + shell: bash -el {0} strategy: + fail-fast: false matrix: - os: [ubuntu-20.04] - julia-version: ['1.8'] - julia-arch: [x64] - + version: + - '1.9' + python: [3.9] + os: + - ubuntu-latest + arch: + - x64 steps: - uses: actions/checkout@v2 - - uses: julia-actions/setup-julia@latest + - name: Set up Python 🐍 ${{ matrix.python }} + uses: actions/setup-python@v2 with: - version: ${{ matrix.julia-version }} - - uses: julia-actions/julia-buildpkg@latest - - uses: julia-actions/julia-runtest@latest \ No newline at end of file + python-version: ${{ matrix.python }} + - name: Create environment with micromamba 🐍🖤 + uses: mamba-org/setup-micromamba@v1 + with: + micromamba-version: '1.3.1-0' + environment-file: ./environment.yml + environment-name: oggm_env # it is recommendable to add both name and yml file. + init-shell: bash + cache-environment: true +# condarc-file: ./condarc.yml # If necessary, we can include .condarc to configure environment + - name: Test creation of environment with micromamba 🔧🐍🖤 + run: | + which python + conda env export + shell: bash -el {0} + - name: Update certifi + run: | + pip install --upgrade certifi + shell: bash -el {0} +# - name: Test OGGM installation 🔧🌎 +# run: pytest.oggm +# shell: bash -el {0} + - name: Set ENV Variables for PyCall.jl 🐍 📞 + run: export PYTHON=/home/runner/micromamba/envs/oggm_env/bin/python + shell: bash -el {0} + - uses: julia-actions/setup-julia@v1 + with: + version: ${{ matrix.version }} + arch: ${{ matrix.arch }} + - uses: julia-actions/cache@v1 + with: + cache-registries: "true" + - uses: julia-actions/julia-buildpkg@v1 + env: + PYTHON : /home/runner/micromamba/envs/oggm_env/bin/python + - uses: julia-actions/julia-runtest@v1 + - uses: julia-actions/julia-processcoverage@v1 + - uses: codecov/codecov-action@v2 + with: + files: lcov.info + # docs: + # name: Documentation + # runs-on: ubuntu-latest + # permissions: + # contents: write + # statuses: write + # steps: + # - uses: actions/checkout@v2 + # - uses: julia-actions/setup-julia@v1 + # with: + # version: '1.9' + # - uses: julia-actions/julia-buildpkg@v1 + # env: + # PYTHON : /home/runner/micromamba/envs/oggm_env/bin/python + # - uses: julia-actions/julia-docdeploy@v1 + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # - run: | + # julia --project=docs -e ' + # using Documenter: DocMeta, doctest + # using ODINN + # DocMeta.setdocmeta!(ODINN, :DocTestSetup, :(using ODINN); recursive=true) + # doctest(ODINN)' diff --git a/.github/workflows/CompatHelper.yml b/.github/workflows/CompatHelper.yml new file mode 100644 index 0000000..cba9134 --- /dev/null +++ b/.github/workflows/CompatHelper.yml @@ -0,0 +1,16 @@ +name: CompatHelper +on: + schedule: + - cron: 0 0 * * * + workflow_dispatch: +jobs: + CompatHelper: + runs-on: ubuntu-latest + steps: + - name: Pkg.add("CompatHelper") + run: julia -e 'using Pkg; Pkg.add("CompatHelper")' + - name: CompatHelper.main() + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + COMPATHELPER_PRIV: ${{ secrets.DOCUMENTER_KEY }} + run: julia -e 'using CompatHelper; CompatHelper.main()' diff --git a/Project.toml b/Project.toml index a870740..550839a 100644 --- a/Project.toml +++ b/Project.toml @@ -70,7 +70,7 @@ SnoopPrecompile = "1.0.3" TimerOutputs = "0.5.22" Tullio = "0.3" Zygote = "0.6" -julia = "1.8" +julia = "1.7" [extras] CPUSummary = "2a0fbf3d-bb9c-48f3-b0a9-814d99fd7ab9" diff --git a/README.md b/README.md index 5ac8fb4..3c82817 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,7 @@ # ODINN - @@ -25,21 +20,22 @@ Global glacier model using Universal Differential Equations to model and discove In order to install `ODINN` in a given environment, just do in the REPL: ```julia julia> ] # enter Pkg mode -(@v1.8) pkg> activate MyEnvironment # or activate whatever path for the Julia environment +(@v1.9) pkg> activate MyEnvironment # or activate whatever path for the Julia environment (MyEnvironment) pkg> add ODINN ``` ## ODINN initialization: integration with OGGM and multiprocessing -In order to call OGGM in Python from Julia, a Python installation is needed, which then can be used in Julia using [PyCall](https://github.com/JuliaPy/PyCall.jl). We recommend splitting the Julia (i.e. ODINN) and Python (i.e. OGGM) files in separate folders, which we chose to name `Julia` and `Python`, both placed at root level. As indicated in the [OGGM documentation](https://docs.oggm.org/en/stable/installing-oggm.html), when installing OGGM it is best to create a new dedicated conda environment for it (e.g. `oggm_env`). In the same environment, install also the [OGGM Mass-Balance sandbox](https://github.com/OGGM/massbalance-sandbox) following the instructions in the repository. - -The path to this conda environment needs to be specified in the `ENV["PYTHON"]` variable in Julia, for PyCall to find it. This configuration is very easy to implement, it just requires activating the conda environment before the first time you run ODINN in your machine. In the terminal (not in a Julia session), run: +ODINN depends on some Python packages, mainly OGGM and xarray. In order to install the necessary Python dependencies in an easy manner, we are providing a Python environment (`oggm_env`) in `environment.yml`. In order to install it and activate it, we recommend using micromamba: ``` -conda activate oggm_env # replace `oggm_env` with whatever conda environment where you have installed OGGM and the MBSandbox +micromamba create -f environment.yml +micromamba activate oggm_env ``` -Then, you need to configure PyCall to use the Python path for that conda environment: +In order to call OGGM in Python from Julia, we use [PyCall.jl](https://github.com/JuliaPy/PyCall.jl). PyCall hooks on the Python installation and allows using Python in a totally seamless way from Julia. + +The path to this conda environment needs to be specified in the `ENV["PYTHON"]` variable in Julia, for PyCall to find it. This configuration is very easy to implement, it just requires providing the Python path to PyCall and building it: ```julia julia # start Julia session @@ -65,16 +61,6 @@ From this point, it is possible to use ODINN with multiprocessing and to run Pyt ODINN works as a back-end of OGGM, utilizing all its tools to retrieve RGI data, topographical data, climate data and other datasets from the OGGM shop. We use these data to specify the initial state of the simulations, and to retrieve the climate data to force the model. Everything related to the mass balance and ice flow dynamics models is written 100% in Julia. This allows us to run tests with this toy model for any glacier on Earth. In order to choose a glacier, you just need to specify the RGI ID, which you can find [here](https://www.glims.org/maps/glims). -## Running the toy model - -A demostration with a toy model is showcased in [`src/scripts/toy_model.jl`](https://github.com/ODINN-SciML/ODINN.jl/blob/main/scripts/toy_model.jl). The `Project.toml` includes all the required dependencies. If you are running this code from zero, you may need to install the libraries using `Pkg.instantiate()`. In case you want to include this package to the project manifest, you can also use `Pkg.resolve()` before instantiating the project. You can replace the preamble in `src/scripts/toy_model.jl` to - -```julia -import Pkg -Pkg.activate(dirname(Base.current_project())) -Pkg.instantiate() -Pkg.precompile() -``` ## Upcoming changes A stable API is still being designed, which will be available in the next release. If you plan to start using the model, please contact us, although we recommend to wait until next release for a smoother experience. diff --git a/environment.yml b/environment.yml new file mode 100644 index 0000000..fa078ef --- /dev/null +++ b/environment.yml @@ -0,0 +1,41 @@ +name: oggm_env +channels: + - conda-forge +dependencies: + - python=3.9 + - jupyter + - jupyterlab + - numpy + - scipy + - pandas + - shapely + - matplotlib + - Pillow + - netcdf4 + - scikit-image + - scikit-learn + - configobj + - xarray + - pytest + - dask + - bottleneck + - gdal=3.3 + - pyproj + - cartopy + - geopandas + - rasterio + - rioxarray + - pytables + - salem + - motionless + - ipython + - numpydoc + - seaborn + - pip + - pip: + - joblib + - progressbar2 + - git+https://github.com/OGGM/pytest-mpl + - git+https://github.com/OGGM/massbalance-sandbox + - oggm==1.6.0 + - certifi \ No newline at end of file diff --git a/scripts/dhdt_plots.jl b/scripts/dhdt_plots.jl new file mode 100644 index 0000000..ed77e0d --- /dev/null +++ b/scripts/dhdt_plots.jl @@ -0,0 +1,100 @@ + +# using Plots; gr() +using CairoMakie +using JLD2 +import ODINN: fillZeros + + +function make_plots() + + # plot_type = "only_H" # plot final H + # plot_type = "MB_diff" # differences between runs with different MB models + plot_type = "H_diff" # H - H₀ + tspan = (2010.0, 2015.0) # period in years for simulation + + root_dir = dirname(Base.current_project()) + + # Load forward simulations with different surface MB + grefs = load(joinpath(root_dir, "data/gdir_refs_$tspan.jld2"))["gdir_refs"] + grefs_MBu1 = load(joinpath(root_dir, "data/gdir_refs_updatedMB1.jld2"))["gdir_refs"] + + n=4 + m=3 + hms_MBdiff, MBdiffs = [], [] + figMB = Figure(resolution = (900, 1100)) + axsMB = [Axis(figMB[i, j]) for i in 1:n, j in 1:m] + hidedecorations!.(axsMB) + tightlimits!.(axsMB) + let label="" + for (i, ax) in enumerate(axsMB) + ax.aspect = DataAspect() + name = grefs[i]["RGI_ID"] + ax.title = name + H = reverse(grefs[i]["H"]', dims=2) + H₀ = reverse(grefs[i]["H₀"]', dims=2) + H_MBu1 = reverse(grefs_MBu1[i]["H"]', dims=2) + # H = reverse(grefs[i]["H"]) + # H_MBu1 = reverse(grefs_MBu1[i]["H"]) + if plot_type == "only_H" + H_plot = H + label = "Predicted H (m)" + elseif plot_type == "H_diff" + H_plot = H .- H₀ + label = "H - H₀ (m)" + elseif plot_type == "MB_diff" + H_plot = H .- H_MBu1 + label="Surface mass balance difference (m)" + end + push!(MBdiffs, H_plot) + push!(hms_MBdiff, CairoMakie.heatmap!(ax, fillZeros(H_plot), colormap=:inferno)) + end + + minMBdiff = minimum(minimum.(MBdiffs)) + maxMBdiff = maximum(maximum.(MBdiffs)) + foreach(hms_MBdiff) do hm + hm.colorrange = (minMBdiff, maxMBdiff) + end + Colorbar(figMB[2:3,m+1], limits=(minMBdiff/2,maxMBdiff/2), label=label, colormap=:inferno) + #Label(figH[0, :], text = "Glacier dataset", textsize = 30) + if plot_type == "only_H" + Makie.save(joinpath(root_dir, "plots/MB/H_MB_$tspan.pdf"), figMB, pt_per_unit = 1) + elseif plot_type == "H_diff" + Makie.save(joinpath(root_dir, "plots/MB/H_diff_wMB_$tspan.pdf"), figMB, pt_per_unit = 1) + elseif plot_type == "MB_diff" + Makie.save(joinpath(root_dir, "plots/MB/diffs_noMB_$tspan.pdf"), figMB, pt_per_unit = 1) + end + + end # let + + # hms = [] + # for (gref, gref_MBu1) in zip(grefs, grefs_MBu1) + # H = reverse(gref["H"], dims=1) + # H_MBu1 = reverse(gref_MBu1["H"], dims=1) + # # H = gref["H"] + # # H_MBu1 = gref_MBu1["H"] + # push!(hms, heatmap(H .- H_MBu1, + # clims=(0.0,5.0), + # ylimits=(0, size(H)[1]), + # xlimits=(0, size(H)[2]), + # colorbar = false) + # ) + # end + + # h2 = scatter([0,0], [0,1], clims=(0.0,5.0), + # xlims=(1,1.1), xshowaxis=false, yshowaxis=false, label="", colorbar_title="cbar", grid=false) + + + # l = @layout [grid(6,5) a{0.01w}] + + # # Create the combined plot with the subplots and shared colormap + # p_dhdt = plot(hms..., h2, + # size=(1800, 1200), + # layout=l, + # link=:all, + # aspect_ratio=:equal) + + # savefig(p_dhdt, joinpath(root_dir, "plots/MB/dhdt_MB_1")) + +end + +make_plots() \ No newline at end of file diff --git a/scripts/toy_model.jl b/scripts/toy_model.jl index 4f510df..a57d29f 100644 --- a/scripts/toy_model.jl +++ b/scripts/toy_model.jl @@ -24,7 +24,8 @@ ENV["GKSwstype"]="nul" function run_toy_model() - processes = 18 + processes = 1 + # Enable multiprocessing ODINN.enable_multiprocessing(processes) # Flags @@ -36,11 +37,11 @@ function run_toy_model() # Reference simulations ODINN.set_create_ref_dataset(true) # Generate reference data for UDE training # UDE training - ODINN.set_train(true) # Train UDE + ODINN.set_train(false) # Train UDE ODINN.set_retrain(false) # Re-use previous NN weights to continue training # Optimization method for differentiating the model - # ODINN.set_optimization_method("AD+AD") - ODINN.set_optimization_method("AD+Diff") + ODINN.set_optimization_method("AD+AD") + # ODINN.set_optimization_method("AD+Diff") tspan = (2010.0, 2015.0) # period in years for simulation @@ -51,8 +52,8 @@ function run_toy_model() # Defining glaciers to be modelled with RGI IDs rgi_ids = ["RGI60-11.03638", "RGI60-11.01450", "RGI60-08.00213", "RGI60-04.04351", "RGI60-01.02170", "RGI60-02.05098", "RGI60-01.01104", "RGI60-01.09162", "RGI60-01.00570", "RGI60-04.07051", - "RGI60-07.00274", "RGI60-07.01323", "RGI60-03.04207", "RGI60-03.03533", "RGI60-01.17316", - "RGI60-07.01193", "RGI60-01.22174", "RGI60-14.07309", "RGI60-15.10261"] + "RGI60-07.00274", "RGI60-07.01323", "RGI60-03.04207", "RGI60-03.03533", "RGI60-01.17316"]#, + # "RGI60-07.01193", "RGI60-01.22174", "RGI60-14.07309", "RGI60-15.10261"] # rgi_ids = rgi_ids[1:2] @@ -68,14 +69,15 @@ function run_toy_model() if ODINN.create_ref_dataset[] println("Generating reference dataset for training...") # Compute reference dataset in parallel - gdir_refs = @time "PDEs" generate_ref_dataset(gdirs, tspan, solver=RDPK3Sp35()) + mb_model = ODINN.TI_model_1(DDF=8.0/1000.0, acc_factor=1.0/1000.0) # in m.w.e. + gdir_refs = @time "PDEs" generate_ref_dataset(gdirs, tspan, solver=RDPK3Sp35(), mb_model) println("Saving reference data") - jldsave(joinpath(ODINN.root_dir, "data/gdir_refs.jld2"); gdir_refs) + jldsave(joinpath(ODINN.root_dir, "data/gdir_refs_$tspan.jld2"); gdir_refs) end # Load stored PDE reference datasets - gdir_refs = load(joinpath(ODINN.root_dir, "data/gdir_refs.jld2"))["gdir_refs"] + gdir_refs = load(joinpath(ODINN.root_dir, "data/gdir_refs_$tspan.jld2"))["gdir_refs"] # Plot training dataset of glaciers # plot_glacier_dataset(gdirs_climate, gdir_refs, random_MB) @@ -87,7 +89,7 @@ function run_toy_model() if ODINN.train[] # Train iceflow UDE in parallel n_ADAM = 20 - n_BFGS = 50 + n_BFGS = 100 batch_size = length(gdir_refs) # batch_size = 9 UDE_settings = Dict("reltol"=>1e-7, @@ -101,10 +103,11 @@ function run_toy_model() # optimizer = BFGS(initial_stepnorm=0.0001) optimizer = Adam(0.001) train_settings = (optimizer, n_ADAM, batch_size) # optimizer, epochs, batch_size + mb_model = ODINN.TI_model_1(DDF=6.0/1000.0, acc_factor=1.0/1000.0) # in m.w.e. iceflow_trained, UA_f, loss_history = @time "UDEs" train_iceflow_UDE(gdirs, gdir_refs, tspan, train_settings, θ_trained; UDE_settings=UDE_settings, - random_MB=random_MB) # retrain + mb_model=mb_model) # retrain θ_trained = iceflow_trained.minimizer # Save trained NN weights @@ -115,11 +118,13 @@ function run_toy_model() ODINN.reset_epochs() ## First train with ADAM to move the parameters into a favourable space println("Training from scratch...") - train_settings = (Adam(0.01), n_ADAM, batch_size) # optimizer, epochs - # train_settings = (BFGS(initial_stepnorm=0.001), n_BFGS, batch_size) # optimizer, epochs + # train_settings = (Adam(0.01), n_ADAM, batch_size) # optimizer, epochs + mb_model = ODINN.TI_model_1(DDF=6.0/1000.0, acc_factor=1.0/1000.0) # in m.w.e. + train_settings = (BFGS(initial_stepnorm=0.001), n_BFGS, batch_size) # optimizer, epochs iceflow_trained, UA_f, loss_history = @time train_iceflow_UDE(gdirs, gdir_refs, tspan, train_settings; - UDE_settings=UDE_settings) + UDE_settings=UDE_settings, + mb_model=mb_model) θ_trained = iceflow_trained.minimizer println("Saving NN weights...") jldsave(joinpath(ODINN.root_dir, "data/trained_weights.jld2"); θ_trained, ODINN.current_epoch) diff --git a/src/ODINN.jl b/src/ODINN.jl index 75bd393..00ccf4f 100644 --- a/src/ODINN.jl +++ b/src/ODINN.jl @@ -12,14 +12,14 @@ using SciMLSensitivity using Optimization, Optim, OptimizationOptimJL import OptimizationOptimisers.Adam using IterTools: ncycle -using Zygote: @ignore, Buffer +using Zygote: @ignore using Base: @kwdef using Flux using Tullio using Infiltrator using Plots, PlotThemes Plots.theme(:wong2) # sets overall theme for Plots -using Makie, CairoMakie, GeoMakie +using CairoMakie, GeoMakie import Pkg using Distributed using ProgressMeter @@ -82,6 +82,7 @@ const salem = PyNULL() # Essential Python libraries const np = PyNULL() const xr = PyNULL() +const rioxarray = PyNULL() const pd = PyNULL() # ############################################## diff --git a/src/helpers/climate.jl b/src/helpers/climate.jl index da43334..c116cc1 100644 --- a/src/helpers/climate.jl +++ b/src/helpers/climate.jl @@ -5,7 +5,7 @@ using Dates # to provide correct Julian time slices function generate_raw_climate_files(gdir, tspan) - if !ispath(joinpath(gdir.dir, "raw_climate.nc")) + if !ispath(joinpath(gdir.dir, "raw_climate_$tspan.nc")) println("Getting raw climate data for: ", gdir.rgi_id) # Get raw climate data for gdir tspan_date = partial_year(Day, tspan[1]):Day(1):partial_year(Day, tspan[2]) @@ -18,7 +18,7 @@ function generate_raw_climate_files(gdir, tspan) @warn "No overlapping period available between climate tspan!" end # Save raw gdir climate on disk - climate.to_netcdf(joinpath(gdir.dir, "raw_climate.nc")) + climate.to_netcdf(joinpath(gdir.dir, "raw_climate_$tspan.nc")) GC.gc() end end @@ -32,13 +32,14 @@ Computes Positive Degree Days (PDDs) and cumulative rainfall and snowfall from c function get_cumulative_climate!(climate, period, gradient_bounds=[-0.009, -0.003], default_grad=-0.0065) climate.climate_raw_step[] = climate.raw_climate.sel(time=period) climate.avg_temps[] = climate.climate_raw_step[].temp.mean() + climate.avg_gradients[] = climate.climate_raw_step[].gradient.mean() climate.climate_raw_step[].temp.data = climate.climate_raw_step[].temp.where(climate.climate_raw_step[].temp > 0, 0).data # get PDDs climate.climate_raw_step[].gradient.data = utils.clip_array(climate.climate_raw_step[].gradient.data, gradient_bounds[1], gradient_bounds[2]) # Clip gradients within plausible values - climate.climate_cum_step[] = climate.climate_raw_step[].sum() # get monthly cumulative values - climate.climate_cum_step[] = climate.climate_cum_step[].assign(Dict("avg_temp"=>climate.avg_temps[])) - climate.climate_cum_step[] = climate.climate_cum_step[].assign(Dict("avg_gradient"=>climate.avg_gradients[])) - climate.climate_cum_step[].attrs = climate.climate_raw_step[].attrs + climate.climate_step[] = climate.climate_raw_step[].sum() # get monthly cumulative values + climate.climate_step[] = climate.climate_step[].assign(Dict("avg_temp"=>climate.avg_temps[])) + climate.climate_step[] = climate.climate_step[].assign(Dict("avg_gradient"=>climate.avg_gradients[])) + climate.climate_step[].attrs = climate.climate_raw_step[].attrs end function get_cumulative_climate(climate, gradient_bounds=[-0.009, -0.003], default_grad=-0.0065) @@ -73,16 +74,19 @@ Applies temperature gradients to the glacier 2D climate data based on a DEM. """ function apply_t_cumul_grad!(climate, S) # We apply the gradients to the temperature - climate.temp.data .= climate.temp.data .+ climate.avg_gradient.data .* (S .- climate.ref_hgt) - climate.PDD.data .= climate.PDD.data .+ climate.gradient.data .* (S .- climate.ref_hgt) - climate.PDD.data .= ifelse.(climate.PDD.data .< 0.0, 0.0, climate.PDD.data) # Crop negative PDD values + # /!\ AVOID USING `.` IN JULIA TO ASSIGN. IT'S NOT HANDLED BY XARRAY. USE `=` INSTEAD + climate.temp.data = climate.temp.data .+ climate.avg_gradient.data .* (S .- climate.ref_hgt) + climate.PDD.data = climate.PDD.data .+ climate.gradient.data .* (S .- climate.ref_hgt) + climate.PDD.data = ifelse.(climate.PDD.data .< 0.0, 0.0, climate.PDD.data) # Crop negative PDD values + # We adjust the rain/snow fractions with the updated temperature - climate.snow.data .= climate.snow.where(climate.temp < 0.0, 0.0).data - climate.rain.data .= climate.rain.where(climate.temp > 0.0, 0.0).data + climate.snow.data = climate.snow.where(climate.temp < 0.0, 0.0).data + climate.rain.data = climate.rain.where(climate.temp > 0.0, 0.0).data end function apply_t_grad!(climate, dem) # We apply the gradients to the temperature + # /!\ AVOID USING `.` IN JULIA TO ASSIGN. IT'S NOT HANDLED BY XARRAY. USE `=` INSTEAD climate.temp.data = climate.temp.data .+ climate.gradient.data .* (mean(dem.data) .- climate.ref_hgt) end @@ -94,13 +98,14 @@ Generates a new xarray Dataset which is returned. """ function downscale_2D_climate!(climate, S, S_coords) # Update 2D climate structure - climate.climate_2D_step[].temp.data .= climate.climate_step[].avg_temp.data .* ones(size(climate.climate_2D_step[].temp.data)) - climate.climate_2D_step[].PDD.data .= climate.climate_step[].temp.data .* ones(size(climate.climate_2D_step[].PDD.data)) - climate.climate_2D_step[].snow.data .= climate.climate_step[].prcp.data .* ones(size(climate.climate_2D_step[].snow.data)) - climate.climate_2D_step[].rain.data .= climate.climate_step[].prcp.data .* ones(size(climate.climate_2D_step[].rain.data)) + # /!\ AVOID USING `.` IN JULIA TO ASSIGN. IT'S NOT HANDLED BY XARRAY. USE `=` INSTEAD + climate.climate_2D_step[].temp.data = climate.climate_step[].avg_temp.data .* ones(size(climate.climate_2D_step[].temp.data)) + climate.climate_2D_step[].PDD.data = climate.climate_step[].temp.data .* ones(size(climate.climate_2D_step[].PDD.data)) + climate.climate_2D_step[].snow.data = climate.climate_step[].prcp.data .* ones(size(climate.climate_2D_step[].snow.data)) + climate.climate_2D_step[].rain.data = climate.climate_step[].prcp.data .* ones(size(climate.climate_2D_step[].rain.data)) # Update gradients - climate.climate_2D_step[].gradient.data .= climate.climate_step[].gradient.data - climate.climate_2D_step[].avg_gradient.data .= climate.climate_step[].avg_gradient.data + climate.climate_2D_step[].gradient.data = climate.climate_step[].gradient.data + climate.climate_2D_step[].avg_gradient.data = climate.climate_step[].avg_gradient.data # Apply temperature gradients and compute snow/rain fraction for the selected period apply_t_cumul_grad!(climate.climate_2D_step[], reshape(S, size(S))) # Reproject current S with xarray structure @@ -133,7 +138,6 @@ function downscale_2D_climate(climate, S, S_coords) # Apply temperature gradients and compute snow/rain fraction for the selected period apply_t_cumul_grad!(climate_2D, reshape(S, size(S))) # Reproject current S with xarray structure - return climate_2D end @@ -166,8 +170,8 @@ end partial_year(float::AbstractFloat) = partial_year(Day, float) -function get_longterm_temps(gdir::PyObject) - climate = xr.open_dataset(joinpath(gdir.dir, "raw_climate.nc")) # load only once at the beginning +function get_longterm_temps(gdir::PyObject, tspan) + climate = xr.open_dataset(joinpath(gdir.dir, "raw_climate_$tspan.nc")) # load only once at the beginning dem = xr.open_rasterio(gdir.get_filepath("dem")) apply_t_grad!(climate, dem) longterm_temps = climate.groupby("time.year").mean().temp.data @@ -175,7 +179,7 @@ function get_longterm_temps(gdir::PyObject) end function get_longterm_temps(gdir::PyObject, climate::PyObject) - dem = xr.open_rasterio(gdir.get_filepath("dem")) + dem = rioxarray.open_rasterio(gdir.get_filepath("dem")) apply_t_grad!(climate, dem) longterm_temps = climate.groupby("time.year").mean().temp.data return longterm_temps @@ -186,7 +190,7 @@ end raw_climate::PyObject # Raw climate dataset for the whole simulation # Buffers to avoid memory allocations climate_raw_step::Ref{PyObject} # Raw climate trimmed for the current step - climate_cum_step::Ref{PyObject} # Raw cumulative trimmed climate for the current step + #climate_cum_step::Ref{PyObject} # Raw cumulative trimmed climate for the current step climate_step::Ref{PyObject} # Climate data for the current step climate_2D_step::Ref{PyObject} # 2D climate data for the current step to feed to the MB model longterm_temps::Vector{Float64} # Longterm temperatures for the ice rheology @@ -196,13 +200,13 @@ end function init_climate(gdir::PyObject, tspan, step, S, S_coords::PyObject) dummy_period = partial_year(Day, tspan[1]):Day(1):partial_year(Day, tspan[1] + step) - raw_climate::PyObject = xr.open_dataset(joinpath(gdir.dir, "raw_climate.nc")) + raw_climate::PyObject = xr.open_dataset(joinpath(gdir.dir, "raw_climate_$tspan.nc")) climate_step = Ref{PyObject}(get_cumulative_climate(raw_climate.sel(time=dummy_period))) climate_2D_step = Ref{PyObject}(downscale_2D_climate(climate_step[], S, S_coords)) longterm_temps = get_longterm_temps(gdir, raw_climate) climate = ClimateDataset(raw_climate = raw_climate, climate_raw_step = raw_climate.sel(time=dummy_period), - climate_cum_step = raw_climate.sel(time=dummy_period).sum(), + #climate_cum_step = raw_climate.sel(time=dummy_period).sum(), climate_step = climate_step, climate_2D_step = climate_2D_step, longterm_temps = longterm_temps, diff --git a/src/helpers/config.jl b/src/helpers/config.jl index 9ee06c4..101aa42 100644 --- a/src/helpers/config.jl +++ b/src/helpers/config.jl @@ -27,6 +27,7 @@ function __init__() copy!(pd, pyimport("pandas")) copy!(np, pyimport("numpy")) copy!(xr, pyimport("xarray")) + copy!(rioxarray, pyimport("rioxarray")) end function clean() diff --git a/src/helpers/iceflow.jl b/src/helpers/iceflow.jl index 64571db..2fb44cd 100644 --- a/src/helpers/iceflow.jl +++ b/src/helpers/iceflow.jl @@ -1,5 +1,5 @@ -export generate_ref_dataset, train_iceflow_UDE, spinup +export generate_ref_dataset, train_iceflow_UDE, spinup, predict_iceflow function spinup(gdirs, tspan; solver = RDPK3Sp35()) println("Spin up simulation for $(Int(tspan[2]) - Int(tspan[1])) years...\n") @@ -24,7 +24,7 @@ end Generate reference dataset based on the iceflow PDE """ -function generate_ref_dataset(gdirs, tspan; solver = RDPK3Sp35()) +function generate_ref_dataset(gdirs, tspan, mb_model; solver = RDPK3Sp35(), velocities=true) # Generate climate data if necessary @timeit to "generate raw climate files" begin pmap((gdir) -> generate_raw_climate_files(gdir, tspan), gdirs) @@ -33,7 +33,7 @@ function generate_ref_dataset(gdirs, tspan; solver = RDPK3Sp35()) println("Running forward PDE ice flow model...\n") # Run batches in parallel A_noises = randn(rng_seed(), length(gdirs)) .* noise_A_magnitude - refs = @showprogress pmap((gdir, A_noise) -> batch_iceflow_PDE(gdir, A_noise, tspan, solver; run_spinup=false), gdirs, A_noises) + refs = @showprogress pmap((gdir, A_noise) -> batch_iceflow_PDE(gdir, A_noise, tspan, solver, mb_model; run_spinup=false, velocities=velocities), gdirs, A_noises) # Gather information per gdir gdir_refs = get_gdir_refs(refs, gdirs) @@ -48,20 +48,22 @@ end Solve the Shallow Ice Approximation iceflow PDE for a given temperature series batch """ -function batch_iceflow_PDE(gdir, A_noise, tspan, solver; run_spinup=false) +function batch_iceflow_PDE(gdir, A_noise, tspan, solver, mb_model=nothing; run_spinup=false, velocities=true) println("Processing glacier: ", gdir.rgi_id) - _, step = define_callback_steps(tspan) - context, H = build_PDE_context(gdir ,A_noise, tspan; run_spinup=run_spinup) + # Callback + # Define stop times every one month + tstops, step = define_callback_steps(tspan) + context, H = build_PDE_context(gdir ,A_noise, tspan; + run_spinup=run_spinup, velocities=velocities) S = context[3] S_coords = context[32] - # This needs to be passed in a cleaner way - mb_model = TI_model_1(DDF=5.0/1000.0, acc_factor=1.2/1000.0) # in m.w.e. + MB_total = zeros(Float64, size(H)) + if isnothing(mb_model) + mb_model = TI_model_1(DDF=5.0/1000.0, acc_factor=1.2/1000.0) # in m.w.e. + end # Initialize climate dataset climate = init_climate(gdir, tspan, step, S, S_coords) - - # Callback - # Define stop times every one month - tstops, step = define_callback_steps(tspan) + stop_condition(u,t,integrator) = stop_condition_tstops(u,t,integrator, tstops) #closure function action!(integrator) if use_MB @@ -70,8 +72,8 @@ function batch_iceflow_PDE(gdir, A_noise, tspan, solver; run_spinup=false) MB = context[25] S = context[3] S_coords = context[32] - MB_timestep!(MB, mb_model, climate, S, S_coords, integrator.t[end], step) - integrator.u .+= MB + MB_timestep!(MB, mb_model, climate, S, S_coords, integrator.t, step) + apply_MB_mask!(integrator.u, MB, MB_total, context) end end # Recompute A value @@ -84,6 +86,8 @@ function batch_iceflow_PDE(gdir, A_noise, tspan, solver; run_spinup=false) cb_MB = DiscreteCallback(stop_condition, action!) refs = @timeit to "simulate_iceflow_PDE" simulate_iceflow_PDE(H, context, climate, solver, tstops, cb_MB) + rgi_id = gdir.rgi_id + # println("Total MB for $rgi_id: ", sum(MB_total)) return refs end @@ -105,7 +109,7 @@ function simulate_iceflow_PDE(H, context, climate, solver, tstops, cb_MB, θ=Vec solver, callback=cb_MB, tstops=tstops, - reltol=1e-7, + reltol=1e-12, save_everystep=false, progress=progress, progress_steps=10) @@ -117,7 +121,9 @@ function simulate_iceflow_PDE(H, context, climate, solver, tstops, cb_MB, θ=Vec S::Matrix{Float64} = context[3] V̄x_ref, V̄y_ref = avg_surface_V(context, H_ref, mean(climate.longterm_temps), sim, θ, UA_f) # Average velocity with average temperature S .= B .+ H_ref # Surface topography - refs = Dict("Vx"=>V̄x_ref, "Vy"=>V̄y_ref, "H"=>H_ref, "S"=>S, "B"=>B) + + refs = Dict("Vx"=>V̄x_ref, "Vy"=>V̄y_ref, "H₀"=>iceflow_sol.u[begin], "H"=>H_ref, "S"=>S, "B"=>B) + return refs end @@ -130,8 +136,8 @@ Train the Shallow Ice Approximation iceflow UDE. UDE_settings is optional, and r `sensealg` and `solver` for the UDE. """ function train_iceflow_UDE(gdirs, gdir_refs, tspan, - train_settings=nothing, θ_trained=[], loss_history=[]; - UDE_settings=nothing) + train_settings=nothing, θ_trained=[]; + UDE_settings=nothing, mb_model=nothing) # Fill default training settings if not available UDE_settings, train_settings = get_default_training_settings!(gdirs, @@ -152,7 +158,7 @@ function train_iceflow_UDE(gdirs, gdir_refs, tspan, A_noise = randn(rng_seed(), length(gdirs)).* noise_A_magnitude training_path = joinpath(root_plots,"training") @timeit to "get longterm temps" begin - longterm_temps = pmap((gdir) -> get_longterm_temps(gdir), gdirs) + longterm_temps = pmap((gdir) -> get_longterm_temps(gdir, tspan), gdirs) end cb_plots(θ, l, UA_f) = callback_plots_A(θ, l, UA_f, longterm_temps, A_noise, training_path, batch_size, n_gdirs) @@ -164,7 +170,7 @@ function train_iceflow_UDE(gdirs, gdir_refs, tspan, context_batches = get_UDE_context(gdirs, tspan) # Create batches for inversion training train_loader = generate_batches(batch_size, UA_f, gdirs, context_batches, gdir_refs, UDE_settings) - optf = OptimizationFunction((θ, _, UA_batch, gdir, context_batch, gdir_refs_batch, UDE_settings_batch)->loss_iceflow(θ, UA_batch, gdir, context_batch, gdir_refs_batch, UDE_settings_batch), Optimization.AutoZygote()) + optf = OptimizationFunction((θ, _, UA_batch, gdir, context_batch, gdir_refs_batch, UDE_settings_batch)->loss_iceflow(θ, UA_batch, gdir, context_batch, gdir_refs_batch, UDE_settings_batch, mb_model), Optimization.AutoZygote()) optprob = OptimizationProblem(optf, θ) println("Training iceflow UDE...") iceflow_trained = solve(optprob, @@ -223,9 +229,9 @@ end Loss function based on glacier ice velocities and/or ice thickness """ -function loss_iceflow(θ, UA_f, gdirs, context_batches, gdir_refs, UDE_settings) +function loss_iceflow(θ, UA_f, gdirs, context_batches, gdir_refs, UDE_settings, mb_model) # UA_f and UDE_settings need to be passed as scalars since they were transformed to Vectors for the batches - H_V_preds = predict_iceflow(θ, UA_f[1], gdirs, context_batches, UDE_settings[1]) + H_V_preds = predict_iceflow(θ, UA_f[1], gdirs, context_batches, UDE_settings[1], mb_model) # Compute loss function for the full batch l_V, l_Vx, l_Vy, l_H = 0.0, 0.0, 0.0, 0.0 @@ -318,9 +324,10 @@ end Makes a prediction of glacier evolution with the UDE for a given temperature series in different batches """ -function predict_iceflow(θ, UA_f, gdirs_batches, context_batches, UDE_settings) +function predict_iceflow(θ, UA_f, gdirs_batches, context_batches, UDE_settings, mb_model) + # Train UDE in parallel - H_V_pred = pmap((context, gdir) -> batch_iceflow_UDE(θ, UA_f, context, gdir, UDE_settings), context_batches, gdirs_batches) + H_V_pred = pmap((context, gdir) -> batch_iceflow_UDE(θ, UA_f, context, gdir, UDE_settings, mb_model), context_batches, gdirs_batches) return H_V_pred end @@ -342,28 +349,30 @@ end Solve the Shallow Ice Approximation iceflow UDE for a given temperature series batch """ -function batch_iceflow_UDE(θ, UA_f, context, gdir, UDE_settings) +function batch_iceflow_UDE(θ, UA_f, context, gdir, UDE_settings, mb_model) + # context = (B, H₀, H, Vxy_obs, nxy, Δxy, tspan) + MB_total = zeros(Float64, size(context[2])) H::Matrix{Float64} = context[2] tspan::Tuple{Float64, Float64} = context[6] - # This needs to be passed in a cleaner way - mb_model = TI_model_1(DDF=5.0/1000.0, acc_factor=1.2/1000.0) - + if isnothing(mb_model) + mb_model = TI_model_1(DDF=5.0/1000.0, acc_factor=1.2/1000.0) + end # Initialize climate dataset - _, step = @ignore define_callback_steps(tspan) + tstops, step = @ignore define_callback_steps(tspan) S_coords = context[13] + dist_border = context[17] climate = @ignore init_climate(gdir, tspan, step, context[9], S_coords) # Callback # Define stop times every one month - tstops, step = define_callback_steps(tspan) stop_condition(u,t,integrator) = stop_condition_tstops(u,t,integrator, tstops) #closure function action!(integrator) if use_MB S::Matrix{Float64} = context[9] S_coords = context[13] MB = context[15] - @ignore MB_timestep!(MB, mb_model, climate, S, S_coords, integrator.t[end], step) - integrator.u .+= MB + @ignore MB_timestep!(MB, mb_model, climate, S, S_coords, integrator.t, step) + apply_MB_mask!(integrator.u, MB, MB_total, dist_border) end # Recompute A value A = context[14] @@ -395,6 +404,8 @@ function batch_iceflow_UDE(θ, UA_f, context, gdir, UDE_settings) rgi_id::String = @ignore gdir.rgi_id H_V_pred = (H_pred, V̄x_pred, V̄y_pred, rgi_id) + # println("Total MB for $rgi_id: ", sum(MB_total)) + @ignore GC.gc() # Run the garbage collector to tame the RAM return H_V_pred @@ -403,12 +414,14 @@ end function batch_iceflow_UDE_inplace(θ, UA_f, gdir, tspan; solver = RDPK3Sp35()) context, H = build_PDE_context(gdir, nothing, tspan) # Callback + MB_total = zeros(Float64, size(H)) mb_model = TI_model_1(DDF=5.0/1000.0, acc_factor=1.2/1000.0) # Initialize climate dataset _, step = @ignore define_callback_steps(tspan) S = context[3] S_coords = context[32] + dist_border = context[33] climate = @ignore init_climate(gdir, tspan, step, S, S_coords) # Define stop times every one month tstops, step = define_callback_steps(tspan) @@ -419,8 +432,8 @@ function batch_iceflow_UDE_inplace(θ, UA_f, gdir, tspan; solver = RDPK3Sp35()) MB = context[25] S = context[3] S_coords = context[32] - MB_timestep!(MB, mb_model, climate, S, S_coords, integrator.t[end], step) - integrator.u .+= MB + MB_timestep!(MB, mb_model, climate, S, S_coords, integrator.t, step) + apply_MB_mask!(integrator.u, MB, MB_total, context) end # Recompute A value A = context[1] @@ -442,7 +455,7 @@ Runs a single time step of the iceflow PDE model in-place function iceflow!(dH, H, context, t) @timeit to "iceflow! PDE" begin # First, enforce values to be positive - H[H.<0.0] .= H[H.<0.0] .* 0.0 + H[H.<0.0] .= 0.0 # Compute the Shallow Ice Approximation in a staggered grid SIA!(dH, H, context) @@ -456,7 +469,7 @@ Runs a single time step of the iceflow UDE model in-place using a NN """ function iceflow_NN!(dH, H, context, t, θ, UA_f) # First, enforce values to be positive - H[H.<0.0] .= H[H.<0.0] .* 0.0 + H[H.<0.0] .= 0.0 # Unpack parameters #A, B, S, dSdx, dSdy, D, temps, dSdx_edges, dSdy_edges, ∇S, Fx, Fy, Vx, Vy, V, C, α, current_year @@ -470,7 +483,7 @@ end Runs a single time step of the iceflow UDE model """ function iceflow_NN(H, θ, t, UA_f, context) - @views H .= ifelse.(H.<0.0, 0.0, H) # prevent values from going negative + @views H = ifelse.(H.<0.0, 0.0, H) # prevent values from going negative dH = SIA(H, context) return dH end @@ -484,20 +497,20 @@ function SIA!(dH, H, context) # Retrieve parameters #[A], B, S, dSdx, dSdy, D, copy(temp_series[1]), dSdx_edges, dSdy_edges, ∇S, Fx, Fy, Vx, Vy, V, C, α, [current_year], nxy, Δxy @timeit to "Variable initialization PDE" begin - A::Base.RefValue{Float64} = context[1] - B::Matrix{Float64} = context[2] - S::Matrix{Float64} = context[3] - dSdx::Matrix{Float64} = context[4] - dSdy::Matrix{Float64} = context[5] - D::Matrix{Float64} = context[6] - dSdx_edges::Matrix{Float64} = context[8] - dSdy_edges::Matrix{Float64} = context[9] - ∇S::Matrix{Float64} = context[10] - Fx::Matrix{Float64} = context[11] - Fy::Matrix{Float64} = context[12] - Δx::Float64 = context[20][1] - Δy::Float64 = context[20][2] - Γ::Base.RefValue{Float64} = context[27] + A = context[1]::Base.RefValue{Float64} + B = context[2]::Matrix{Float64} + S = context[3]::Matrix{Float64} + dSdx = context[4]::Matrix{Float64} + dSdy = context[5]::Matrix{Float64} + D = context[6]::Matrix{Float64} + dSdx_edges = context[8]::Matrix{Float64} + dSdy_edges = context[9]::Matrix{Float64} + ∇S = context[10]::Matrix{Float64} + Fx = context[11]::Matrix{Float64} + Fy = context[12]::Matrix{Float64} + Δx = context[20][1]::Float64 + Δy = context[20][2]::Float64 + Γ = context[27]::Base.RefValue{Float64} end # Update glacier surface altimetry @@ -522,6 +535,14 @@ function SIA!(dH, H, context) # Compute flux components @views diff_x!(dSdx_edges, S[:,2:end - 1], Δx) @views diff_y!(dSdy_edges, S[2:end - 1,:], Δy) + # Cap surface elevaton differences with the upstream ice thickness to + # imporse boundary condition of the SIA equation + η₀ = 1.0 + dSdx_edges .= min.(dSdx_edges, η₀ * H[1:end-1, 2:end-1]./Δx, η₀ * H[2:end, 2:end-1]./Δx) + dSdy_edges .= min.(dSdy_edges, η₀ * H[2:end-1, 1:end-1]./Δy, η₀ * H[2:end-1, 2:end]./Δy) + dSdx_edges .= max.(dSdx_edges, -η₀ * H[1:end-1, 2:end-1]./Δx, -η₀ * H[2:end, 2:end-1]./Δx) + dSdy_edges .= max.(dSdy_edges, -η₀ * H[2:end-1, 1:end-1]./Δy, -η₀ * H[2:end-1, 2:end]./Δy) + Fx .= .-avg_y(D) .* dSdx_edges Fy .= .-avg_x(D) .* dSdy_edges end @@ -560,6 +581,16 @@ function SIA(H, context) # Compute flux components @views dSdx_edges = diff_x(S[:,2:end - 1]) ./ Δx @views dSdy_edges = diff_y(S[2:end - 1,:]) ./ Δy + + # Cap surface elevaton differences with the upstream ice thickness to + # imporse boundary condition of the SIA equation + # We need to do this with Tullio or something else that allow us to set indices. + η₀ = 1.0 + dSdx_edges .= min.(dSdx_edges, η₀ * H[1:end-1, 2:end-1]./Δx, η₀ * H[2:end, 2:end-1]./Δx) + dSdy_edges .= min.(dSdy_edges, η₀ * H[2:end-1, 1:end-1]./Δy, η₀ * H[2:end-1, 2:end]./Δy) + dSdx_edges .= max.(dSdx_edges, -η₀ * H[1:end-1, 2:end-1]./Δx, -η₀ * H[2:end, 2:end-1]./Δx) + dSdy_edges .= max.(dSdy_edges, -η₀ * H[2:end-1, 1:end-1]./Δy, -η₀ * H[2:end-1, 2:end]./Δy) + Fx = .-avg_y(D) .* dSdx_edges Fy = .-avg_x(D) .* dSdy_edges @@ -578,16 +609,17 @@ function SIA(H, T, context, years, θ, UD_f, target) @assert (target == "A" || target == "D") "Functional inversion target needs to be either A or D!" # Retrieve parameters # context = (nxy, Δxy, tspan, rgi_id, S, V) - Δx = context[2][1] - Δy = context[2][2] - S = context[5] # TODO: update this to Millan et al.(2022) DEM + Δx = context[2][1]::Float64 + Δy = context[2][2]::Float64 + S = context[5]::Matrix{Float64} # TODO: update this to Millan et al.(2022) DEM if H==0.0 # Retrieve H from context if Glathida thickness is not present - H = context[7] + H = context[7]::Matrix{Float64} end # Get long term temperature for the Millan et al.(2022) dataset - temp= T[years .== 2017] + # temp= T[years .== 2017] + temp= mean(T) # All grid variables computed in a staggered grid # Compute surface gradients on edges @@ -685,11 +717,11 @@ callback_plots_A = function (θ, l, UA_f, longterm_temps, A_noise, training_path update_training_state(l, batch_size, n_gdirs) if current_minibatches == 0.0 - avg_temps = [mean(longterm_temps[i]) for i in 1:length(longterm_temps)] + avg_temps = Float64[mean(longterm_temps[i]) for i in 1:length(longterm_temps)] p = sortperm(avg_temps) avg_temps = avg_temps[p] pred_A = predict_A̅(UA_f, θ, collect(-23.0:1.0:0.0)') - pred_A = [pred_A...] # flatten + pred_A = Float64[pred_A...] # flatten true_A = A_fake(avg_temps, A_noise[p], noise) yticks = collect(0.0:2e-17:8e-17) diff --git a/src/helpers/initial_conditions.jl b/src/helpers/initial_conditions.jl index dd8f6fb..b98ba64 100644 --- a/src/helpers/initial_conditions.jl +++ b/src/helpers/initial_conditions.jl @@ -7,20 +7,21 @@ Retrieves the initial glacier geometry (bedrock + ice thickness) for a glacier with other necessary data (e.g. grid size and ice surface velocities). """ -function get_initial_geometry(gdir, run_spinup, smoothing=true) +function get_initial_geometry(gdir, run_spinup, smoothing=false; velocities=true) # Load glacier gridded data glacier_gd = xr.open_dataset(gdir.get_filepath("gridded_data")) if run_spinup || !use_spinup[] # println("Using $ice_thickness_source for initial state") # Retrieve initial conditions from OGGM # initial ice thickness conditions for forward model - if ice_thickness_source == "millan" + if ice_thickness_source == "millan" && velocities H₀ = Float64.(ifelse.(glacier_gd.glacier_mask.data .== 1, glacier_gd.millan_ice_thickness.data, 0.0)) elseif ice_thickness_source == "farinotti" - H₀ = Float64.(glacier_gd.consensus_ice_thickness.data) + H₀ = Float64.(ifelse.(glacier_gd.glacier_mask.data .== 1, glacier_gd.consensus_ice_thickness.data, 0.0)) end fillNaN!(H₀) # Fill NaNs with 0s to have real boundary conditions if smoothing + println("Smoothing is being applied to initial condition.") smooth!(H₀) # Smooth initial ice thickness to help the solver end @@ -47,21 +48,32 @@ function get_initial_geometry(gdir, run_spinup, smoothing=true) end try + # We filter glacier borders in high elevations to avoid overflow problems + dist_border = Float64.(glacier_gd.dis_from_border.data) + S::Matrix{Float64} = Float64.(glacier_gd.topo.data) # surface elevation + # H_mask = (dist_border .< 20.0) .&& (S .> maximum(S)*0.7) + # H₀[H_mask] .= 0.0 + H::Matrix{Float64} = deepcopy(H₀) B::Matrix{Float64} = Float64.(glacier_gd.topo.data) .- H₀ # bedrock - S_coords::PyObject = xr.open_rasterio(gdir.get_filepath("dem")) - S = Float64.(glacier_gd.topo.data) # surface elevation - V::Matrix{Float64} = Float64.(ifelse.(glacier_gd.glacier_mask.data .== 1, glacier_gd.millan_v.data, 0.0)) - fillNaN!(V) + S_coords::PyObject = rioxarray.open_rasterio(gdir.get_filepath("dem")) + if velocities + V::Matrix{Float64} = Float64.(ifelse.(glacier_gd.glacier_mask.data .== 1, glacier_gd.millan_v.data, 0.0)) + fillNaN!(V) + else + V = zeros(Float64, size(H)) + end nx = glacier_gd.y.size # glacier extent ny = glacier_gd.x.size # really weird, but this is inversed Δx = abs(gdir.grid.dx) Δy = abs(gdir.grid.dy) + slope = glacier_gd.slope.data glacier_gd.close() # Release any resources linked to this object - return H₀, H, S, B, V, (nx,ny), (Δx,Δy), S_coords - catch + return H₀, H, S, B, V, (nx,ny), (Δx,Δy), S_coords, dist_border, slope + catch error + @show error missing_glaciers = load(joinpath(ODINN.root_dir, "data/missing_glaciers.jld2"))["missing_glaciers"] push!(missing_glaciers, gdir.rgi_id) jldsave(joinpath(ODINN.root_dir, "data/missing_glaciers.jld2"); missing_glaciers) @@ -70,9 +82,10 @@ function get_initial_geometry(gdir, run_spinup, smoothing=true) end end -function build_PDE_context(gdir, A_noise, tspan; run_spinup=false) +function build_PDE_context(gdir, A_noise, tspan; run_spinup=false, velocities=true) # Determine initial geometry conditions - H₀, H, S, B, V, nxy, Δxy, S_coords::PyObject = get_initial_geometry(gdir, run_spinup) + H₀, H, S, B, V, nxy, Δxy, S_coords::PyObject, dist_border, slope = get_initial_geometry(gdir, run_spinup; + velocities=velocities) rgi_id = gdir.rgi_id # Initialize all matrices for the solver @@ -82,41 +95,44 @@ function build_PDE_context(gdir, A_noise, tspan; run_spinup=false) D, Fx, Fy = zeros(Float64,nx-1,ny-1),zeros(Float64,nx-1,ny-2),zeros(Float64,nx-2,ny-1) V, Vx, Vy = zeros(Float64,nx-1,ny-1),zeros(Float64,nx-1,ny-1),zeros(Float64,nx-1,ny-1) MB = zeros(Float64,nx,ny) + MB_mask = ones(Bool,nx,ny) A = Ref{Float64}(2e-17) - α = [0.0] # Weertman-type basal sliding (Weertman, 1964, 1972). 1 -> sliding / 0 -> no sliding - C = [15e-14] + α = Ref{Float64}(0.0) # Weertman-type basal sliding (Weertman, 1964, 1972). 1 -> sliding / 0 -> no sliding + C = Ref{Float64}(15e-14) Γ = Ref{Float64}(0.0) maxS, minS = [0.0], [0.0] simulation_years = collect(Int(tspan[1]):Int(tspan[2])) # Gather simulation parameters - current_year = [0] + current_year = Ref{Float64}(0) context = (A, B, S, dSdx, dSdy, D, nothing, dSdx_edges, dSdy_edges, ∇S, Fx, Fy, Vx, Vy, V, C, α, - current_year, nxy, Δxy, H₀, tspan, A_noise, nothing, MB, rgi_id, Γ, maxS, minS, simulation_years, simulation_years, S_coords) + current_year, nxy, Δxy, H₀, tspan, A_noise, nothing, MB, rgi_id, Γ, maxS, minS, simulation_years, simulation_years, S_coords, dist_border, slope, MB_mask) return context, H end -function get_UDE_context(gdirs, tspan; testmode=false) - context_batches = pmap((gdir) -> build_UDE_context(gdir, tspan, testmode; run_spinup=false), gdirs) +function get_UDE_context(gdirs, tspan; testmode=false, velocities=true) + context_batches = pmap((gdir) -> build_UDE_context(gdir, tspan, testmode; run_spinup=false, velocities=velocities), gdirs) return context_batches end -function build_UDE_context(gdir, tspan, testmode; run_spinup=false) - H₀, H, S, B, V, nxy, Δxy, S_coords = get_initial_geometry(gdir, run_spinup) +function build_UDE_context(gdir, tspan, testmode; run_spinup=false, velocities=true) + H₀, H, S, B, V, nxy, Δxy, S_coords, dist_border, slope = get_initial_geometry(gdir, run_spinup; + velocities=velocities) simulation_years = collect(tspan[1]:tspan[2]) A = Ref{Float64}(2e-17) nx, ny = nxy MB = zeros(Float64,nx,ny) - context = (B, H₀, H, nxy, Δxy, tspan, nothing, gdir.rgi_id, S, V, simulation_years, simulation_years, S_coords, A, MB, testmode) + context = (B, H₀, H, nxy, Δxy, tspan, nothing, gdir.rgi_id, S, V, simulation_years, simulation_years, S_coords, A, MB, testmode, dist_border, slope) return context end # UDE context using Glathida for H function build_UDE_context_inv(gdir, gdir_ref, tspan; run_spinup=false) - H₀, H₁, S, B, V, nxy, Δxy, S_coords = get_initial_geometry(gdir, run_spinup) + H₀, H₁, S, B, V, nxy, Δxy, S_coords, dist_border, slope = get_initial_geometry(gdir, run_spinup; + velocities=velocities) rgi_id = gdir.rgi_id # Get evolved tickness and surface H = gdir_ref["H"] @@ -135,7 +151,7 @@ function build_UDE_context_inv(gdir, gdir_ref, tspan; run_spinup=false) Plots.savefig(heatmap_diff3, joinpath(training_path, "H_diff_far_ref.pdf")) end - context = (nxy, Δxy, tspan, rgi_id, S, V, H₀, S_coords) + context = (nxy, Δxy, tspan, rgi_id, S, V, H₀, S_coords, dist_border, slope) return context end @@ -190,7 +206,7 @@ function get_glathida_path_and_IDs() glathida = pd.HDFStore(gtd_file) rgi_ids = glathida.keys() - rgi_ids = [id[2:end] for id in rgi_ids] + rgi_ids = String[id[2:end] for id in rgi_ids] # glathida = h5open(gtd_path, "r") # # Retrieve RGI IDs with Glathida data diff --git a/src/helpers/mass_balance.jl b/src/helpers/mass_balance.jl index 09d66b3..2f47567 100644 --- a/src/helpers/mass_balance.jl +++ b/src/helpers/mass_balance.jl @@ -54,3 +54,20 @@ function MB_timestep!(MB, mb_model::MB_model, climate, S, S_coords, t, step) MB .= compute_MB(mb_model, climate.climate_2D_step[]) end end + +function apply_MB_mask!(H, MB, MB_total, context::Tuple) + dist_border = context[33] + #slope = context[34] + MB_mask = context[35] + # Appy MB only over ice, and avoid applying it to the borders in the accummulation area to avoid overflow + MB_mask .= ((H .> 0.0) .&& (MB .< 0.0)) .|| ((H .> 0.0) .&& (dist_border .> 1.0) .&& (MB .>= 0.0)) + H[MB_mask] .+= MB[MB_mask] + MB_total[MB_mask] .+= MB[MB_mask] +end + +function apply_MB_mask!(H, MB, MB_total, dist_border::Matrix{Float64}) + # Appy MB only over ice, and avoid applying it to the borders in the accummulation area to avoid overflow + MB_mask = ((H .> 0.0) .&& (MB .< 0.0)) .|| ((H .> 0.0) .&& (dist_border .> 1.0) .&& (MB .>= 0.0)) + H[MB_mask] .+= MB[MB_mask] + MB_total[MB_mask] .+= MB[MB_mask] +end \ No newline at end of file diff --git a/src/helpers/oggm.jl b/src/helpers/oggm.jl index e78faab..2e75fca 100644 --- a/src/helpers/oggm.jl +++ b/src/helpers/oggm.jl @@ -9,7 +9,7 @@ export oggm_config, init_gdirs, PARAMS, PATHS Configures the basic paths and parameters for OGGM. """ -function oggm_config(working_dir=joinpath(homedir(), "Python/OGGM_data"); processes=1) +function oggm_config(working_dir=joinpath(homedir(), "Python/OGGM_data"); oggm_processes=1) @eval begin @everywhere begin @eval ODINN begin @@ -23,12 +23,18 @@ function oggm_config(working_dir=joinpath(homedir(), "Python/OGGM_data"); proces PARAMS["continue_on_error"] = true # avoid stopping when a task fails for a glacier (e.g. lack of data) # Multiprocessing - multiprocessing = $processes > 1 ? true : false - PARAMS["mp_processes"] = $processes + multiprocessing = $oggm_processes > 1 ? true : false + PARAMS["mp_processes"] = $oggm_processes PARAMS["use_multiprocessing"] = multiprocessing # Let's use multiprocessing for OGGM + end # @eval ODINN end # @everywhere end # @eval + + @eval ODINN begin + + end # @eval ODINN + end """ @@ -36,7 +42,7 @@ end Initializes Glacier Directories using OGGM. Wrapper function calling `init_gdirs_scratch(rgi_ids)`. """ -function init_gdirs(rgi_ids::Vector{String}) +function init_gdirs(rgi_ids::Vector{String}; velocities=true) # Try to retrieve glacier gdirs if they are available @timeit to "Filtering glaciers" begin filter_missing_glaciers!(rgi_ids) @@ -52,7 +58,7 @@ function init_gdirs(rgi_ids::Vector{String}) println("Generating gdirs from scratch...") global create_ref_dataset = true # we force the creation of the reference dataset # Generate all gdirs if needed - gdirs::Vector{PyObject} = init_gdirs_scratch(rgi_ids) + gdirs::Vector{PyObject} = init_gdirs_scratch(rgi_ids; velocities = velocities) # Check which gdirs errored in the tasks (useful to filter those gdirs) filter_missing_glaciers!(gdirs) return gdirs @@ -64,28 +70,37 @@ end Initializes Glacier Directories from scratch using OGGM. """ -function init_gdirs_scratch(rgi_ids)::Vector{PyObject} +function init_gdirs_scratch(rgi_ids; velocities=true)::Vector{PyObject} # Check if some of the gdirs is missing files gdirs::Vector{PyObject} = workflow.init_glacier_directories(rgi_ids, prepro_base_url=base_url, from_prepro_level=2, prepro_border=10, - reset=true) - list_talks = [ - # tasks.compute_centerlines, - # tasks.initialize_flowlines, - # tasks.compute_downstream_line, - # tasks.catchment_area, - tasks.gridded_attributes, - tasks.glacier_masks, - # tasks.gridded_mb_attributes, - # tasks.prepare_for_inversion, # This is a preprocessing task - # tasks.mass_conservation_inversion, # This gdirsdoes the actual job - # tasks.filter_inversion_output, # This smoothes the thicknesses at the tongue a little - # tasks.distribute_thickness_per_altitude, - bedtopo.add_consensus_thickness, # Use consensus ice thicknesses from Farinotti et al. (2019) - # tasks.get_topo_predictors, - millan22.thickness_to_gdir, - millan22.velocity_to_gdir - ] + reset=true, force=true) + if velocities + list_talks = [ + # tasks.compute_centerlines, + # tasks.initialize_flowlines, + # tasks.compute_downstream_line, + # tasks.catchment_area, + tasks.gridded_attributes, + tasks.glacier_masks, + # tasks.gridded_mb_attributes, + # tasks.prepare_for_inversion, # This is a preprocessing task + # tasks.mass_conservation_inversion, # This gdirsdoes the actual job + # tasks.filter_inversion_output, # This smoothes the thicknesses at the tongue a little + # tasks.distribute_thickness_per_altitude, + bedtopo.add_consensus_thickness, # Use consensus ice thicknesses from Farinotti et al. (2019) + # tasks.get_topo_predictors, + millan22.thickness_to_gdir, + millan22.velocity_to_gdir + ] + else + list_talks = [ + tasks.gridded_attributes, + tasks.glacier_masks, + bedtopo.add_consensus_thickness # Use consensus ice thicknesses from Farinotti et al. (2019) + ] + end + for task in list_talks # The order matters! workflow.execute_entity_task(task, gdirs) diff --git a/src/helpers/parameters.jl b/src/helpers/parameters.jl index e59b458..9a8fd5b 100644 --- a/src/helpers/parameters.jl +++ b/src/helpers/parameters.jl @@ -39,7 +39,7 @@ const loss_type = Ref{String}("V") # Loss function based on ic # loss_type = "HV" # Combined loss function based on ice surface velocities and ice thickness const random_sampling_loss = Ref{Bool}(false) # Use random subset of matrix samples for the loss const scale_loss = Ref{Bool}(true) -const noise = Ref{Bool}(true) # Add random noise to fake A law +noise = true # Add random noise to fake A law rng_seed() = MersenneTwister(666) # Random seed ice_thickness_source = "farinotti" # choose between "farinotti" or "millan" diff --git a/src/helpers/plotting.jl b/src/helpers/plotting.jl index 37ae845..49aec38 100644 --- a/src/helpers/plotting.jl +++ b/src/helpers/plotting.jl @@ -1,4 +1,3 @@ -using Infiltrator export plot_avg_longterm_temps, plot_glacier_dataset function plot_glacier_dataset(gdirs_climate, gdir_refs, random_MB; display=false) diff --git a/src/helpers/utils.jl b/src/helpers/utils.jl index 4abc272..caf5293 100644 --- a/src/helpers/utils.jl +++ b/src/helpers/utils.jl @@ -107,7 +107,7 @@ end function reset_epochs() @everywhere @eval ODINN global current_epoch = 1 - @everywhere @eval ODINN global loss_history = [] + @everywhere @eval ODINN global loss_history = Float64[] end function set_current_epoch(epoch) @@ -122,6 +122,10 @@ function set_use_MB(use_MB_i) @everywhere @eval ODINN global use_MB = $use_MB_i end +function set_noise(noise_i) + @everywhere @eval ODINN global noise = $noise_i +end + function set_run_spinup(run_spinup_i) @everywhere @eval ODINN global run_spinup = $run_spinup_i end @@ -157,6 +161,7 @@ function get_gdir_refs(refs, gdirs) for (ref, gdir) in zip(refs, gdirs) push!(gdir_refs, Dict("RGI_ID"=>gdir.rgi_id, "H"=>ref["H"], + "H₀"=>ref["H₀"], "Vx"=>ref["Vx"], "Vy"=>ref["Vy"], "S"=>ref["S"], @@ -225,6 +230,7 @@ function get_NN(θ_trained) Dense(10,3, x->softplus.(x)), Dense(3,1, sigmoid_A) ) + Flux.f64(UA) # See if parameters need to be retrained or not θ, UA_f = Flux.destructure(UA) if !isempty(θ_trained) @@ -383,7 +389,7 @@ function update_training_state(l, batch_size, n_gdirs) end function get_default_UDE_settings() - UDE_settings = Dict("reltol"=>1e-7, + UDE_settings = Dict("reltol"=>1e-8, "solver"=>RDPK3Sp35(), "sensealg"=>InterpolatingAdjoint(autojacvec=ReverseDiffVJP(true))) return UDE_settings @@ -402,32 +408,28 @@ function get_default_training_settings!(gdirs, UDE_settings=nothing, train_setti #### Setup default parameters #### if length(θ_trained) == 0 reset_epochs() - global loss_history = [] - end - - # Don't use MB if not specified - if isnothing(random_MB) - ODINN.set_use_MB(false) + global loss_history = Float64[] end return UDE_settings, train_settings end -function plot_test_error(pred::Dict{String, Any}, ref::Dict{String, Any}, variable, rgi_id, atol; path=joinpath(ODINN.root_dir, "test/plots")) +function plot_test_error(pred::Dict{String, Any}, ref::Dict{String, Any}, variable, rgi_id, atol, MB; path=joinpath(ODINN.root_dir, "test/plots")) @assert (variable == "H") || (variable == "Vx") || (variable == "Vy") "Wrong variable for plots. Needs to be either `H`, `Vx` or `Vy`." - if !isapprox(pred[variable], ref[variable], atol=atol) + if !all(isapprox.(pred[variable], ref[variable], atol=atol)) # @warn "Error found in PDE solve! Check plots in /test/plots⁄" if variable == "H" colour=:ice elseif variable == "Vx" || variable == "Vy" colour=:speed end + MB ? tail = "MB" : tail = "" PDE_plot = Plots.heatmap(pred[variable] .- ref[variable], title="$(variable): PDE simulation - Reference simulation", c=colour) - Plots.savefig(PDE_plot,joinpath(path,"$(variable)_PDE_$rgi_id.pdf")) + Plots.savefig(PDE_plot,joinpath(path,"$(variable)_PDE_$rgi_id$tail.pdf")) end end -function plot_test_error(pred::Tuple, ref::Dict{String, Any}, variable, rgi_id, atol; path=joinpath(ODINN.root_dir, "test/plots")) +function plot_test_error(pred::Tuple, ref::Dict{String, Any}, variable, rgi_id, atol, MB; path=joinpath(ODINN.root_dir, "test/plots")) @assert (variable == "H") || (variable == "Vx") || (variable == "Vy") "Wrong variable for plots. Needs to be either `H`, `Vx` or `Vy`." if variable == "H" idx=1 @@ -439,10 +441,11 @@ function plot_test_error(pred::Tuple, ref::Dict{String, Any}, variable, rgi_id, idx=3 colour=:speed end - if !isapprox(pred[idx], ref[variable], atol=atol) + if !all(isapprox.(pred[idx], ref[variable], atol=atol)) # @warn "Error found in PDE solve! Check plots in /test/plots⁄" UDE_plot = Plots.heatmap(pred[idx] .- ref[variable], title="$(variable): UDE simulation - Reference simulation", c=colour) - Plots.savefig(UDE_plot,joinpath(path,"$(variable)_UDE_$rgi_id.pdf")) + MB ? tail = "MB" : tail = "" + Plots.savefig(UDE_plot,joinpath(path,"$(variable)_UDE_$rgi_id$tail.pdf")) end end @@ -456,3 +459,4 @@ function get_interpolating_step(interpolating_step, tspan) end return updated_step end + diff --git a/test/PDE_UDE_solve.jl b/test/PDE_UDE_solve.jl index 42082b0..85ea156 100644 --- a/test/PDE_UDE_solve.jl +++ b/test/PDE_UDE_solve.jl @@ -1,39 +1,57 @@ -function pde_solve_test(atol; MB=false) +function pde_solve_test(atol; MB=false, fast=true) println("PDE solving with MB = $MB") working_dir = joinpath(homedir(), "Python/ODINN_tests") - oggm_config(working_dir) - ODINN.noise[] = false - ODINN.set_use_MB(false) + oggm_config(working_dir; oggm_processes=2) # Use all GitHub actions workers available + ODINN.set_use_MB(MB) + ODINN.set_noise(false) # @eval ODINN pde_A_values = [] # @eval ODINN ude_A_values = [] - ## Retrieving gdirs and climate for the following glaciers - rgi_ids = ["RGI60-11.03638", "RGI60-11.01450", "RGI60-08.00213", "RGI60-04.04351", "RGI60-01.02170", - "RGI60-02.05098", "RGI60-01.01104", "RGI60-01.09162", "RGI60-01.00570", "RGI60-04.07051", - "RGI60-07.00274", "RGI60-07.01323", "RGI60-01.17316"] + ## Retrieving gdirs and climate for the following glaciers + ## Fast version includes less glacier to reduce the amount of downloaded files and computation time on GitHub CI + if fast + rgi_ids = ["RGI60-11.03638", "RGI60-11.01450", "RGI60-08.00213", "RGI60-04.04351", "RGI60-01.02170"] + else + rgi_ids = ["RGI60-11.03638", "RGI60-11.01450", "RGI60-08.00213", "RGI60-04.04351", "RGI60-01.02170", + "RGI60-02.05098", "RGI60-01.01104", "RGI60-01.09162", "RGI60-01.00570", "RGI60-04.07051", + "RGI60-07.00274", "RGI60-07.01323", "RGI60-01.17316"] + end # Load reference values for the simulation - PDE_refs = load(joinpath(ODINN.root_dir, "test/data/PDE_refs.jld2"))["PDE_preds"] + if MB + PDE_refs = load(joinpath(ODINN.root_dir, "test/data/PDE_refs_MB.jld2"))["PDE_preds"] + else + PDE_refs = load(joinpath(ODINN.root_dir, "test/data/PDE_refs_noMB.jld2"))["PDE_preds"] + end - gdirs = init_gdirs(rgi_ids) + gdirs = init_gdirs(rgi_ids; velocities=false) # Don't download Millan22 velocities to avoid overhead tspan = (2010.0, 2015.0) # period in years for simulation # Run the forward PDE simulation - PDE_preds = @time generate_ref_dataset(gdirs, tspan) + mb_model = ODINN.TI_model_1(DDF=6.0/1000.0, acc_factor=1.2/1000.0) # in m.w.e. + PDE_preds = @time generate_ref_dataset(gdirs, tspan, solver=ODINN.RDPK3Sp35(), mb_model; + velocities=false) + ## /!\ Saves current run as reference values + # if MB + # jldsave(joinpath(ODINN.root_dir, "test/data/PDE_refs_MB.jld2"); PDE_preds) + # else + # jldsave(joinpath(ODINN.root_dir, "test/data/PDE_refs_noMB.jld2"); PDE_preds) + # end + # Run one epoch of the UDE training θ = zeros(10) # dummy data for the NN UA_f = zeros(10) UDE_settings, train_settings = ODINN.get_default_training_settings!(gdirs) - context_batches = ODINN.get_UDE_context(gdirs, tspan; testmode=true) - H_V_preds = @time ODINN.predict_iceflow(θ, UA_f, gdirs, context_batches, UDE_settings) # Array{(H_pred, V̄x_pred, V̄y_pred, rgi_id)} + context_batches = ODINN.get_UDE_context(gdirs, tspan; testmode=true, velocities=false) + H_V_preds = @time predict_iceflow(θ, UA_f, gdirs, context_batches, UDE_settings, mb_model) # Array{(H_pred, V̄x_pred, V̄y_pred, rgi_id)} let PDE_refs=PDE_refs, H_V_preds=H_V_preds for PDE_pred in PDE_preds - let PDE_refs=PDE_refs, test_ref, H_V_preds=H_V_preds, UDE_pred, rgi_id + let PDE_refs=PDE_refs, test_ref=nothing, H_V_preds=H_V_preds, UDE_pred=nothing, rgi_id for (PDE_ref, H_V_pred) in zip(PDE_refs, H_V_preds) rgi_id = PDE_pred["RGI_ID"] if rgi_id == PDE_ref["RGI_ID"] @@ -52,28 +70,25 @@ function pde_solve_test(atol; MB=false) if !isdir(test_plot_path) mkdir(test_plot_path) end - vtol = 12.0*atol # a little extra tolerance for UDE surface velocities + MB ? vtol = 30.0*atol : vtol = 12.0*atol # a little extra tolerance for UDE surface velocities ### PDE ### - ODINN.plot_test_error(PDE_pred, test_ref, "H", rgi_id, atol) - ODINN.plot_test_error(PDE_pred, test_ref, "Vx", rgi_id, vtol) - ODINN.plot_test_error(PDE_pred, test_ref, "Vy", rgi_id, vtol) + ODINN.plot_test_error(PDE_pred, test_ref, "H", rgi_id, atol, MB) + ODINN.plot_test_error(PDE_pred, test_ref, "Vx", rgi_id, vtol, MB) + ODINN.plot_test_error(PDE_pred, test_ref, "Vy", rgi_id, vtol, MB) ### UDE ### - ODINN.plot_test_error(UDE_pred, test_ref, "H", rgi_id, atol) - ODINN.plot_test_error(UDE_pred, test_ref, "Vx", rgi_id, vtol) - ODINN.plot_test_error(UDE_pred, test_ref, "Vy", rgi_id, vtol) + ODINN.plot_test_error(UDE_pred, test_ref, "H", rgi_id, atol, MB) + ODINN.plot_test_error(UDE_pred, test_ref, "Vx", rgi_id, vtol, MB) + ODINN.plot_test_error(UDE_pred, test_ref, "Vy", rgi_id, vtol, MB) # Test that the PDE simulations are correct - @test isapprox(PDE_pred["H"], test_ref["H"], atol=atol) - @test isapprox(PDE_pred["Vx"], test_ref["Vx"], atol=vtol) - @test isapprox(PDE_pred["Vy"], test_ref["Vy"], atol=vtol) + @test all(isapprox.(PDE_pred["H"], test_ref["H"], atol=atol)) + @test all(isapprox.(PDE_pred["Vx"], test_ref["Vx"], atol=vtol)) + @test all(isapprox.(PDE_pred["Vy"], test_ref["Vy"], atol=vtol)) # Test that the UDE simulations are correct - @test isapprox(UDE_pred[1], test_ref["H"], atol=atol) - @test isapprox(UDE_pred[2], test_ref["Vx"], atol=vtol) - @test isapprox(UDE_pred[3], test_ref["Vy"], atol=vtol) - end + @test all(isapprox.(UDE_pred[1], test_ref["H"], atol=atol)) + @test all(isapprox.(UDE_pred[2], test_ref["Vx"], atol=vtol)) + @test all(isapprox.(UDE_pred[3], test_ref["Vy"], atol=vtol)) + end # let end end end - -pde_solve_test(atol; MB=false) -pde_solve_test(atol; MB=true) diff --git a/test/data/PDE_refs_MB.jld2 b/test/data/PDE_refs_MB.jld2 new file mode 100644 index 0000000000000000000000000000000000000000..db8cd2a765d925e08b816d44a39d34a5129f0f52 GIT binary patch literal 8834710 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%0AdA7p&s0-5>8eDrG)=mT;+iTPr# zBbCGMnLku{I!&`T%A?=@pNb1^zDIo@bY^|O*zfY2RsJyaT@~kdcs(uUYn&bxChk%8 zf8k~Iol{o-%TnGISS1|u`f*{z{Ly0nV?R~jCwu++xyUEe)bFD&d-D^iU*};rd5_Ci zO1@CHNs;(R-xtv%<*$Xv@0gm8KJ~KE9_Co*qryqMrG3qNR<3{^$$C@Q@2N7cj}E?! zd1S5|_`=>Rz#U*3*abae9?=ytfA^4i>k{Z`5ZH<5Gv1}&XB@~pS}*#O<1ojO29y_r znc!@Y^9BdV1L$|vKAOhyf^owx95;jZR(eYRGzI0;!6+-T{{Z4ce3O+&0*AB>LeX=z#v>Jdg1L*Nakd9oHKZabM2olJUG6)Qj&C z37LM6{pNylH_#WH0W$t$JXD49ey|Q?c@AXWuNnQC0doG9200q!xWN2lI{G&P^Z=O` z;(i0J8|A?taK7LL*#Wc_-kPk|6=#h7MeMlK^s%t4dbKd{KDEy1UzDii!6f0DPgI_< zuUq+np~Grl^U_r|V)qjV9uh`Av0k|O?FsU{4{yvhs4waHLF6}@<#)>TmHJc0`{*H$ zOP)ke`d#$jbob}-{}av6w|`}{i=KG@L21tw*Xl;Un!-JzrUzV0pbv}( zMxaLvp+_xXA;@@>-zWIt{2JVc>(-20sbBm)u?_mg^#u9@+Kb*h2RjF0(p1!4HsrkeN5; z{<9TgZ<-bcDtpB5mFu-WYMuYL7`3iw@As?NdGH-7?^nF+Es>X+UJzz}`@FE|Mdb(V zO{F3)Jibp@|N1Dg`{0$z58M{`uE;|pnmqs1f1Wm|hr6nE&ud~xu&wxI7L0_mh%rE7@ z{!73}@EFe5K^rh1_j3Vj@SG%&`;Zy$QvYdJ)Tcn`g(qkO(jT;=znQPjhMWw>STPQA zBFOngB;-)spYveqJN2;$$4fzuTNRMYt&SH$&bK;V51IPj1)28X1^bHunIB-gaeekI z+Ort#%se6Ev^Mm|I?&Uqe;BuM-C-}D$2edNWcn%EFW)Bv^``%3d#yluF}Mw+KRFFK z1o!u_BK=?k&I<=Q&!9i(L%*@y0p~HEtjF*t!v0f1eh1|a zS>+KY=PVX`Eql^Y=oH@}c0F&}hr+OQ zyXm{9@;9OO>Vxv!4R*x_^?TR03ZI|vE%yKFU(19iW*#tTKK#8J2dihDGTz(N z{hRUwTmDQi+IwPjhs2lqFZHGw`L%A3Gr;2F>v_vQWslIs)9C-eFAKS8*D z3g~YoFMyl|QeT`Q(=RMQfBS*VE3JV2b3LgG_Fe$Sfc~JH(C3$VVy96*s`>qiFOG_R z$6dBvm{+CzLBHo(W&dkm7w(#>hi)AuD(XU)D zzh9_L`uKC>`TFM1UK~u$|AMAC^O( zIM1wue%L{8;z5op?y&n%a019YbTrQAKDK$hADD~hd4OrC#{lX_{aOr}{h9!oq<`>2 zIp+-$|5)^x{=WhJ%=`j*5ak^p{YX6Sw+Q6?l;b|_oqmg?p3|!<9zQ+ zkR8z;fgtk&J&+fp-8dgeN4s`|?r8r=Fcai_VK2^e0yA(w<{xF8u(Y3#Rlo2(no-XN zknKYMsNp(}=ad~#?hW!ej6a%CUInfIXM^@&1)iG;vY*H@l(Ri|Kn?<#|7}9Q7l5H) z75qR5I0$=Jak!>&Js}e1zQU_ktKSm}c;yzc*XX*7V$Y3_ej#*s|5O<5u~|5mQyFM$Wxf?z8lx2;nue3Wf6zeJ?zDcd$ISaF^6eZ>o~tFVwDnB;KgE z$+bY@oU%i2#v1PxSM$6r-k%l_nelZ)~KkmGbByKS;eBflSg4Nb7Ptyf^K}19Ajd4su^s3))ZeyB2$0jCMT>vfY!>53|8m z9H(Ed#eEnD?7(wqpIoOH!u!x~(T~xu(T{Qdz;{=HVm;^&vT)oJ zfgBG~p%=j`DiD5=tB-@?GJLHKa4vs zL8g8!hn^LK%ug{c<@tHIZX#HP=MA79nIP?{3H`JKq+Rj;r~BwpryH zPk%99t{=I2ws3LE2f}mP#1H5_ZLA0LoU$%raYf@VXHvcZF(%r`qfYQD+v1LnFfnU7u!zc2wT$N9Y97Tn)DKW##N z=npvV((c&LHaL%ZKtHh*?->gQSdrz)D5u@0Kwb=HgQZ{{$mh|X89#IU3qZZdAjrX1 z-R7QWCczh9Vmu0ZxZWRESl#;Bj3 zoOZK8^Oo+X44UF+wxZsdct0DwKm8;1lI`4w_T#*r^9AY;#}OCkR{|*Oje7D>t;i-% zi9dG?jx)jj13>P3=lIo*{^su&FmITQdQ1eJK`)T@#rkvH(r}#dLq6V@aX#aO9F!M< zWma;omCU%4_vLeF$Dw%c3@{9&K1M>00Hdr({iYsg;P^1e{r>dNw3~xyKd$@pJ7Nv} zQjFt~U^F-bbOF2ZoN_P?j0O1~d@t5h$MF%6-zTx&)F=8GXFQMk#PJ{q^*x5;r6BKT z#{HLqsbCT~52T-=|Dr$lM}NA3TwltAUBrVbuWqq#*v&>T2TTA1!4dd@I^lkwM}(=- z>i-r!@ugZn=-VA4b{qPQT1RLaRKI7?`g*6>`SR6jzHs4sl}DI;dzV-zlb}-$!sC>Noqn z7|-K)Lp%3JIrTFcGV@66e>;>P#QPP4gvfr~-*lRadPt79Nr$KjoLP7O#spg&-J7vXp= z*aODkzOzA&=RS~q!BQ{^{l5)d2Qr>%v$~GY*@EYlf@{D^a3M&)9)kXI0+|oyI#Cwv zA{=x9`(WqH6O=(-Xt4W(dp!&$zGFIL*qiCC7q^Ptef+7)6U=>4UWFXKmJbS#aAo;Fmk*{ZsD?bvd)(?D_s^42J{XqS0 z+4q0QerN5WlkwsQZXKwS`gpoYepA1$Z6@l^_gaqkJk9q<`|Jm4KkjHx50K+s31sRO z$CYZM-^zb1=01dQ^efl1J0UZV#rZ)9%6FjOO<)I}L%Wy(nf6r(xeBBnP(L|dIpg?V zydTH&F37ZJzAw+O!Ew$5IN#_-InU=fPdiV-^Ef`yzSB|8_u;rk((dX1w&8rv2a3=x z^q1T>z_@Jy=U)Oj?{>g-Jbo6(2f<1F2Qc(yCt*t z)TM^3d)#unaHpNxXH<0imtt>wW7mlN?W>w0@{aAc!iF0UiTyS_s`7f#J?BK;_OaS8 zJmjIiFHZc`R?2IhQQt8JG ze?vPj$Majk9*}z751D#RyK_UiEl7DfR`uV#QgO>l( zTxT%R_0Y{|w*+uD$aPuC$Ll}7b5zQovZEca9~f_DqyOp*nzVE044UsQy$AhF`=1S& z{=yA1^@-yj<4fux$2sdbHxAEbULyc9^_=4@?U3Vf7WD^Yyuf_mCA5PFj?-VHL8e{N z-t$pj2-5!6L9PI+LDs7YGVPu3F#+$8r_et~wVYG?gtAj_WvVP|tllNZ#x7 z8|8OP^k*jhEbn(`fSbIxpXXx+6E8Y_iFOG>`-KUAjT>iBH*dbdpgHBChYc>eZrx>Q zcaBSEAWt*;r(ihl7K5gHc1|@|-c`x?pL&vs{^q^{SLzGcgnnk6kqMc3uL#HqU>?Xg zRs4{qX^d07aGde6wf(iD{>+;U%lm7ZJIaGW+7IpB+O9cY;W%x5d<*VV3)X|QL&p1o zsBbHd(_h6yo((2|Dd19&??=CpjB;M@3E3B<9kCx{@cbHZ5S)VkVI030GS`>0AoF{N zA;{dO95+^e^m3`ol0hpYg~F$ecg1UpOz|y5Mo>bt9;Q5ul8V=8^B@J2ZWM zYopl5fmhV`yrWvwKHXcFKQHBWF%e=%cTEvC&zUOhaaQw!*l%7HIj`U&;p=11 z2%~G&chb$b&6Vdiytq-QZpAj$V%v>ZerL3g zzUQ3m!!cd{z3jg;c|Y84l$#ox2Mtbfp8F2$!~=T7@$jG_caM$VX|Vk5bH{O<<4Z02 z&mVda2KJ!b1@c+Q?I8U~He~t*l6u2=iH7@(;Czl}^drNl7voOapB>8GS#OZ`!}qK~ zc_Ya9n=3CZ6-;dL1}kNR*1&trd=K;}9F^@08Eg5%Th9+}Wf z>->NjcApK(yg)CDyhY^yboLtdpqZT1@0l#w{He&dj$SK_?3Vqy+RS9h7n&27&XRIX z^98w%sMZfOjr$MR!4IhQMavKgxlnlhRQ3PQ!`#*XV=JDOB=+o8pyL0K$tIDr-+Vx5 z@3BzWWxGZ=FK(-_J5%K+<5rHA`)=NJzwq(rUJ;gTP;txbeODOu)f>KxlzR8yDeI&9 z)FtBo%*RtF8tq|998m2vXWL?FpSOON{GuMUPu5w@jU5d}xw*pSUbHv!j9%ymv6tN1 z`yMf5{ijun44R{Epq)s(p#3{eSD_z|ff6rxM7lFh@PM8i!SM!=c3lsd@#%D&9}h-? z^a~X@pYen@uLpzi9#P;zFbAYPw?S^VBFAr%cHV4tUMJ)(a0u)MmxGaD2i639jxXx_tpi-`()jfXwW=*>S2R==-fbQmpe}0Dedz4ZL;pDU;mT%Pt#+4^rzgH zyBzH-d9~CP7u5WEt@&4@T%VUO^9OV0(38-&BCr8;K!3)A(%<^GW{C^*h6m{f9HA$i zKX9C<{U_r%_3H#=GsyUr-`COqWa7Cb$Im>}uL7i9_d&h@_JbVHk3l~E|KSOgGyc8= zndMs`r-6YW^_+HZgL3ZgT>m%@nf}2U_e%hor)xp`(4QVednUlH z&0wn)2O#tN6Mmn0mI}hx){UD^OoGk27yiHQvjtkGsoY=AN~; z;ys5%uX8o=1Nw`%JR$mhcT$+}voOh{>o0Ec5IJr5AF+=|O4WXXyr$hETmD}=C~<+N zY5tIHz_W(E>7RAWJVC$jjRmm(YLM{(_W`PPzLPD=j%_{1vn?Z5r}5-CsnVl(=K>u=PzgXl-e1McvPUn>0@oU~JDxA$-KH|Gyk(1$#bdejPe z4D^rV6Th>iUs#UwY(O*a&+(@Y^`TwT&ZT~qes{zHP4BX{U7F0FQpmpYdTmH zYB1W)?M{RJUze-A;qJl@4ZYQ?hgH7t@p;dP9@o~yNcpU^`$azY_axzM+tl}Znr0`m zrg49fe9xn4+BDd|GpLE(M1L>)3iMIQj00NX2O2=m8{*2soy=g(DIFx?^<<2IAzZ-Ld{XFSF{aFzET^w^*?g|u;Wp}ohezu z&+FBE;lwo#Qh)pR!i0mDt&#Wmaf0km)*im?Ybk%nLw&b!cHZA2Tb2r?UCvgR4eBMY zeIoLz=+A}o*MDTtyzei`GiY1uE;IVWoKi8zp!WQ(5}~GX{8i&@={G*;XNmhv8)n^w z{-+(=Lw~3zB=yM`$J4>3U>L~j3vgfNEAt_H;rXO5yuvbEE$Hq?i}v zJuX&CJfJ=G*)>w09M&s(dG)Q5@6twpwqE42HLDEjUe{%bd|U4G!W>75e=VA-$~A3* zlxtcM^gjah1t$ofzfH}*J^P!*&NR&h$7NrS<$jzum~otbLB;EuwqMGBoA;~ObMbOD z-cPqv`w;e5*GqZI=2qc~HkB7RHckEyqSn=*XmhGpj<2~|`2(BVuaf(=Oz{%#T^uf~ ztba{7e#+OvtDbU@`nq3rpYWYV_1)4+?G=%0uB{M89hLl|7XH(X(tg>`N#0doIWb<^ zY3$B9!juKF4xycIUMA;7byo;)|FFxT`5tHS*ZSkJ?-~7Mdc#@b1M{d~u0TH*gENf& zH#=%A(1T#;3CDTPQ~7-jzkANddG%J*A@jQj-iOySKh3x^3H4YAvV00;#s^N2nRg^P z@8NN8oEHm*gN!E{Xn&ySxkZ0C@4p~=Zb`+0G7egfGv2R3IsNQX$jqbXKrRCt!5%OK z&t*O*2=(JQ%s9*z?YIu)@7R{X-gklg9jkQ6KAYP-AacQP zTMb4#rhG5umQVs*3bu+JSpLH)=mW|;+uVDP*pa?8R_*WoH;>48;eyzkB@P3-LBM1ENd`|6S3fuXY z$l1@1m;1Zgsr*IMUvG%~%qMDp)KA$LMfUt~ti0dAcfmrtadUh=1 z$hz}E`JGh#wlG&|FaJMe9-+Uta<(Dse{Rkcy7-Gf(2ghCNPm6w!*bETLKlg9O%b~^ zL+{!a{l4B{e}e1X;s*|&90k2t0LFlfPop4noT-J}4-SC4z+#Yof%DyT=zTVr11<-7 zocW&UV&oZ~C!-HkXN0b0)w7!NR?$2k57?AF@;Y2Vp6o(v{{DWGb1 zOI!!J3G{*=U|y8#C{3sz=j(&8%jIZCj`t0)Z`W;>{Nk4Z4FWez0uegKP)( ziv3xBM^iZKOtA3HqiP)>J6+`gUFO>UU5FZ(Awy(;?f0mu7Veue(xxPw|?5gVeKm&1~W80rER& zT1Vu^BB#Ht@+rmTCkeV7Yd4H3%=NH#T8|`g6)Apdz zk0zf36QOUklX&O>*PHU7A8SCy{fi;fzMCO)oZ;^(RiK>b)1NRNSWJBfbHO#B%vUta zd=4`AEi8aM1LQn{>y-2xZ8*;PwjJJ2B53Bfo+wL(UH>HmfZtGU@K*b7W|1no| ziM{*Ps5nAjrSb`Wt}4FRHb%`q8dF{5`Z}L`h1CZZ3yVi@7M}d}xG*L0a;e{ajf&NJn`&$ozx@>XivPqMdTUMQBg{zm!VYbwB6;`}YGqz%Cq52D@>eERg+T!gJU@ zZbm)yZ=+YCT^55TgL-Y?HmQGI_bOq;8uebL4;~ZwpLEeTy*d3xL)H(RlzsJj%31k; zfTrUPx}2wJ2f+-`35+)M*g1CRLDBEmy|aXqCdCTxIwJdzwKX5e_^-b)YO<7TS{_&c z7Flr(KPILW z$@dDHWn85GK@XS*WE{`&{s{Eu0(b_bzo7l^#eKN%jbwf>6~~96S0wX!9M@}5FRm}t zLoNY1e_$L@jB+y=fafsp#rNcR>y7icZozn<9eT)dI|nlDm-ej2Jx%k(ad#_Dfb0vJ zz}es;kogFihgWU_WI3-fbPOp9j(pFdmfo zQ`)*&e;fT{-o0{}^i%#?$q#5vXI0)b^_b)fwecUkFYn?1z`Mfp87mFya|`AD^kLgr zDSuLnl=5>gr5ZGK9BqVdg`k|2O~qlE}R;uM*kfXTUbF3EU+df9rh65^rdhs);=Gv07JHeE4~>%aZSB z3g>-uyU_P{HLmBJSM!8R>s5Xra=eNMiVmvpm5UA>5W5eLX&0V|KPk)#7!tbJdCL7R z1*8bqC98RY%Pn0Z&l;=dH$R4`IOgnqD(?9(>qV*O+&`6HyS<`H4haBvIG<2>RF-aj4ef*vyO$8kRy<+NYgKkc03mmSWt1s%XKpf||t83(tbyb<*{ z3nrkxy(Hcv741#`Y=i#b`XT*7Im&e~6y!Pr=Xt}p?_#h8&r|C$`+ipYtbTZOtWhsL z%ez(pI;REs>+xL)W||38CzTJy`o_WjQa?H^ey$2DybTnE}4G~G8Z zUG#O&qiUYJ%=cGAzjgiD1Hx4wy)XKn6PYjk@~kf9_rEFo5cS6s{PEq$$Le9FL|4sS6Zg_F=|?llxx~-P}$%32=yI7Qn%VK6yK)egOGUT z531Ly^@4c~YJb8~KNSy5zh3!+lvoufOn+IeS02H4kt0=ZV(+H$vxR<6YW;KHn@2=` zt3vwLie1P#d^`HJA80T|-kZyH-9pqi0{OaNv4vfOt%WXAc-Z#kk|<;N|0E$#a+Sx)~zf5G@52G?)l^H7gAa3Si?_53E- zsT0~e1>`(`Kl=my^^sb@(Ww{)X908b^*)OHS8eE%U!;r2M}<{|E>Exz4zszBc;` zx$mdH{$`ZxZ?D=Xe64A*oM$Nl6NR76Q1QVlkE`#Qnx1<|?6h#V$|JaCsQkf})oPsI zo38d7o&Hwk2b^M$%lKdTobm(SPn;InG+N~&YohK@eqgrRpS#5O?JVj?7o_z|f7=Qr>>wQG@z>!w&L(TkpAB_)eAD$5EU8r@a40r-Md&>xB{J zM!%Y>zjrtE&9tiiThTk`yr&JlFu$}$;zj-1W3NNMW5zo_>UWhWu<rs?)+Wsvio-V{#pBThVlp58{?%sd&*tHkPfvj z&^l8SIcfb_vG;^YYCcf8M6Dx)Z&2$E`~B5=M6uIkIe)-2Nmw*)z3``jGs2tPZkBr7 zSf=uz{pVf~xjeH#IPNtyZ%TAJA@bSJq`kBsMn%c{ovf671zK3=acPGQnN`y6&3{Y( zn&&wFCH-BtY`bAM-ItA*`Fr`+HJ2IslIU>e0Q4ptejp5NMEPkeJz59*n*rK^9Ov>y zpDe%s3zmRYU<&97x`O^7<9PawZj@gD=|}P)=Yjzs*Xwpc|KdQ#?TqKSesxybQPX5U zhDEPBAs+*!T`lF^kY(N6BGWH0PT+m%2ULFj-}OX4)Q^608rqF{lIdvY2Cx!r1i2rO z{(*)ldAdUg|USS)wrIv73aCx2yeCrye>X?Y8NG z!@?EW-w99cQ1QYObN>=~?47p8b$VXd)xsNoyVc;7JAR)f_p|Kxk@L8YIP{+EH_%2s z^NO@*LPUZ=ef;o4!T`qy(9UAlnx@G(r~mzEq)~1jKT&(hcg@ zo_tF9Qi{57=P6l-*8^IQiya-USM!K@cG)7&h3ara+T-od3?tt$q;wMxqEj{YD# zH|#0TJro!zjCwCwxb>9UU*M6V>Kpa0@{4VUlz+R)dxpIKiuv;1TG{0tA`iasj?wPs zU-rFV^n>YAi~Qd;{gE@9pm#;k3xDWKCD?04&M&Ed98Z|H^TPc&59c^c`=`BUKp$p< zwEI5j#~D!Rm!?s6#`)ZrmkQYzRO8aW`REGVCj;bo>;rjN+Q)K#koMgMc`w)qn!zSe zwXde}I{E{~4fc2r{lIL<`@tC0oBJAOqy0D!@?*bPF#ZUgZh@o+Ngyt=rox^|pyq{@|}Ce-Zh`S$_+wJH&73 z-;cXb?lWnktXCI&>RO2R%my7mHSdb6mVJo&hLwfVt_vcvgs=XUX3%t5$ZKeCIZw0f z3l!Ns>ve;A?ExOAzvlc*`QasVx665(LW|@&^SE@8|9)ERMStenaZ-NmqXUMW=`O{G z44Q6!wBBI%s~?t%{Vn-e&D;0a9~3)XFsnr9_JGRw**!T^Vf@cf z@k0BuaZ>J{9wf|pI7WDOh4L>GZ4Zn5#3N4f-2b!&3R^!`^Me;Ay(99BoMQ&{(<`r) z`mcXS@&ei&wHfk$?@nkJ9;!Ppe15+8fy}gLR-^q*v{!Hi^kM`IgFej$<3UHToaccB zxQ{bPy_R{1W?ARObGcp?1$hkE0lPR3HiPwGEvVue%lD;_vq7#$Erz@hj0Kt3r`>bB z=6Fy2+9mC2iCe*q;1(;^Lst4|8Q&nE0Q*5(JfHK8Ovv_lZ^lV`A$y?x7!M3WX8wcu z5#~QyaeNB;VH?P}e+^{%3C0saC>Q^2j@@Bn+(-ZMGvx8YO(`{VRp>p5DTb=7?X{U4MSjkf(TD-zw!6QvwV@u7ZhyyU3-xcm|7?yX%M z%E(*7X}2Z|*PV>@i{7kNLv(k}rf;B>XMB z%`rfp_tplr5Bc2eO(Ku_>ViT2t=;!ZJu~ktH)y`~Ng3Dl=dxuSGEdTG8SP-&d$;)Q z#XfIv{+$Z_xd1ZX&T)e4fQ&CMKySD{Pz9OuSL!AA#jxL(qQAXB`T-MU`T@r4b)pZJ zB@VC>ECO@DbZ{O>dzXH<^eo5y037GIEc#$M&T*XMI_m-!9-l5_65YCr)-ts;?e;)d!4Xgq4L9VB` zLoPG!x5e+oopRsmqB^CTxl@k!T^S*) z$$L^b_>fvRu%C25z$b27+#24W7$+Fvq_Llnh?1%Egarnzj`3LXdi}9C9{T2v&eq zApHsF32L0vv}Dvn!+TeP10eI9Y{yu%AM-5Ra9#$O1#*1ldP@_o`&B!&0^1bY$n%r zC63TEt;9Ib^2c#whg|nf;$kUpxglDZ>E$JSszm&n4f+;N9@w+Sv6m{a!`Fw6#SgZ_su)2zB6+9 z`Wdn3thQ*O)2K*coheS}JtIR{kWngZ>`>o9jNX4qZ{&Y({kl~Cv1MhpkCzEX|VkL2UNdm8uiNodO-VTKB@=(RSsr@9PjBDhEZM% zE&!*1>~D@=<)SZ|)&nw57?Ju~zB>mCLG>P%d=O;Sua@s8A=BmCSj;5u?A%E+G#|zy0{GiWk57u1fAdT%z_B zuDdf`h-?ZfoG+VG+%JXfqj*$grcXoD;X9sU_Y0loa6mG$gv>hB*^p=3$0`xUxe}!@Cay+ z`UHWQ;9l?;7=`vo1U*6OyAxz*&<89BP3RZ)b1wSz49NH(3bO3C(0{lXC)ZuE;F8?u z_cI5DGh((1^PYQG_||7{30FJ3qxizd!oCW%KkcgLZ^!eS!9j2%c-%POIo9_{gXY`c zvytnuufR0bccZk!b2;xB)aUewK5KV7SEGHpK)(NMT(9OQ%Zi)ix_8!<$ayd^_v zGX7ZZPe0d*dJluALD5gkd1oQ_fM>uJZ{+;cLvsx3 zjSr~&PNt`dFOI!>K>B6vQRNTpUz2fPd*4CLAFkS}#+T=O#>su&I~{}P9|LWy^h@#s z=KXW?jr;0vyv8_3>TkN@{54XZ{)y>zUJPw_gG!8{D{SrHox)8^`rScg>dbUg;e#e7I{! z?$>*Hr|{(XJ;KZWU+sJ&e!5cH2>~b<$mLBB>!ls=W)58WgiBZWzZb* z-9N^COkV3Y%Ka?!LgA5%i3as6x+jSI=lszI%}XAjUTu?d%kLI}D-7!PzG^)q;%?c$ zpwHcS(P$t2wCQrW-aWua&Tk5R+2CipioX}xQa`X1^al5%eW`yQkdLF^M1M@VpQwEe z%ZKFm7d1`uz;RiB)K;#VDt5en{;=5hBiE|$2R>*yDzf{TABCys)V`sB#|K5$|9692 zx8@(UKJeY~4PyWHr9)DF*FW-H{gCY*dEQ+g$~b8b9r)d-r`aK7q46HNZ=C#|u_-ZP zG}=EGYy%npS3st};5c7`_E-$2g6t1p$c`Y#F?+~fU;s!zQ3Lq`cnQo0dA*7c|BVYc zkDG@6@B=+TXV4C$|K@z49sNT)q#r0mIsHHkWZHQ!WHJyk?cN)*C+K5!oN+@o%F94A zI0Vv1^XVx+h`m1X+EQWv%l8YvYEt`xZhP5HxA08=Ok{`f4E+Lr_40-np>p4j_$p} zXJ*R0O@DVl`GGeARR3A3jQ33dr-91vTYd)~@2}!3OM5|{2s(kZcg9a0#&a!yEg<7q z9_Mx8xV{bKx`I3EQIGQJAji2ixNjmj9h?GsfVLp*pLxMf^b_OqI>;4ZK9~VUf!6l! zhjQAxJLEA|oB)~rfN@1C%5%VtUI`_LcgkaIw`3*&|+lq>tuv=OwUjK7xt z=|ej+&pScV+5!2$8Cvr4xgu{m z_pGqYRes+_d%f&3%l-B5Uape=$7y-K%tuX+T#|7||7L>3D|%OrdY-1K=PiBmh*59- z_8f^1Ozs<+@g9zH|K`wNMZSK4nx7PGdRpZF9aj66wyaihsNZgtf4Hqz^jd%O1?FQJ zr*IxD@sOo{^b0CaYWcoI?)$?|$y1oy&OT_gukI5$+MwyTn|h6YGmTwckN#@~iw)`t zfv&==wFkwne@ZG8CcONV(0)?1@WVnC_j`2TD{}h1(}h_#$oG`m!f^S%Qd{EOV3h06 z2inVh^Aqlu=S3Zn@l4-!+y7(lJ;1yumhRypBj8Gw%n(G9h$I17XqF{M2`ia#NlOlr z;}AtaSP+opG9VcQL_s8uh=}AQVMQ28k|YaA{H9M;efsWSy?U>By*m9odZ?bB4%Jw0h4%5xlLqK= z?$Nc=fK@`LXsk2x2;MtYBidNNIZO`|>S!0W)F56PaU^gn{@YntMBt_=T+SMZJh z)5d6L_=0OFAAK8sii$`u9_9V#sv1?lCg2&{nTzkA)%s*ham%?;t;6S}5LIvZo#Fg#5FWXkCB4gvupt2RnDKmN?JtmEnE~FUtE_vOi8mJzLhM z)p+%_RXCqHmj@z_Xx#rHgVw*BZukj3Z)!*1kAZJ@9D#Xk`Xu<@UUw#;mhG>S6CXsE zo(wxruxv0ebLXzW1J~(&grm8MA3lHS734d0>3f0-ZB{}~QTet;yWbln(N6WslTm-O z&D5V6Q^Y?fyZ7I#)&2L=K}M0~JhX-LdoYS0f0Ngj*zH=Dp$ES{@k_-%WuFq1_1QJf zIu(8pUWQ-j*O!{-Wij_7HqL$RS+*D(GS*=fdl7%&5cDJOo%-+Bu)LTthEd`I{aEhE zD0VCUetOPN!Dui(#Ju?56ER}G{qbNQ@KJcA2A7Xwl=jB4yoNEBQTR;GJ7svB!h2O% zZq6urp2YH9#&N9Aq^w`@3*evo{X?A4o;oTg>|ywrO(?f*>2i%%n}?p^`=q?^2mFZW z4_2gwU0?42zhCux@{%rZ-!k(dUtPoZ%&t3rCfgh0llE8F+G*L_x#TI%f5`0|)aX@y zf2cflbKEyaX7N_&X$}6+9Y*!6g1uT>s zzsG4?C(r8p>r}Y(8n-)~u^%Jp;m3Ho>`xn6kM$XGZjJUv%+q?dI`*lg(YC%efCchz z)${1y-_R5Dxxpy`Om>yl&D%ZjU7%rgqu&|(zT}%&Kli702OiDZ0$A=eea~=y-4Mvr z>d|+Wor}fO_1VqNRztmKSH1yxasm_cUb%HK-A}jufJGSpj{4WQ-?tcLe-J-F#@COp z7iJV5*oJz4e6HfKEc^Tbmb=Hnjw}nxK5lcq_+8}Z`SCk$w=|>pyRy!qXTx6_e19>< zvW$|Sjb-71rO=c7?z6v?SRTzNen1bF+c1)TeOHQQ+3)XQK712lr02K3zs<5-7rw~P z_ltia^-FsaFPOvSBz}30<+MB=;e-4v3-489S@b0Hv4!&`-sP}fD``9M(@jQtZrHI< za%~58wnb#eZBBlJ>k%jJX|xNhYRq=>A!97#YDO10WiRZ@j?Oez%kFpkQ7-)W)inGb zI(^r0=;^ikx;?n@GQMBlOOxlA^n77Su6byGbH9li_ipUDL8Dvb3j7b_qp65bswTy; z&Q)|$pq*qk{k~$n&ZTvEbvEx7jcaCpf#;`5*9|+*?aJ?O$$PT>I6o=le0`svYB64A zJ`GzGvNMxQJqj<$h_H*`*p>8gJzjl@CTP}c{D`#>*@zxK9c@1 zu3_BFD1Nx?8xj|gaml{?A&*P^epzp_4++Y?Ehsz?mnY_P`>Ppk#^c6;~N5AxkoE4JrejPhNxe0L(>JIZ%z^1F)i`$zO0 zWa^fQ^!x_n)mYzQKl*#QOd`JSasOj9+D$qj&fvWIOJ< z)jSVHG|oKoD$Wf?(y02F-)_^%Z`^VJ0@h8njkLaEGkgsBV!jW6Md)`I?3gdkKz?;M z)|DMee+SK&{tliO*za6IJkxmLOi|swN?v^su;v@|oaaZsTl}0NJf4J%;*U4x{%2!6 z&Et^qOk%kYqu6^C%VNK+SeE?%rySQG#VGuhm zlg9Qjno)kA?iS1PJ82tP9>+L{QGN$uCd?b*=oa1rCG9G8l#O1{Px3hee@i^l_MtR>_{G0ilFW=4NXZa-8k2t5_ zkKrs!{3Q#^Zk%PvKX8`&zmie>fk7qz_TQARH;;p|PDgV)Js9&dj^pwL8PhY${x0^t zU60#On;B;^%Kj?*eO=BEXOw-u49jsbFXzj7e?Qx~%eaP-e*eWkFR{FyQOXN{Wa9ct zGYTKsEKg@#%XozGGGjs>zxY4G1EQZ|e7!7V9Y&dtg)HY~{eCEV=Xsa&K}4K&pN;KQ z{=UIfme(@M@14fw1G&DE%gtew-$mTQvdaj*aLw7Lbo(l*%y{5C-`3S=zZt)v#;dE= zx7O$<#VF4`^RS$a@fMFOCCfD!dogxpME!n!@OylecwtAr9?dvCjvU2uW5%+Km$}{b zjKvt`{M(uJzMto#B;!>*&+6S?v>zPF-w5;Gy)f3P-SGojk561Ji2U6nVgJUSY5gD{ z**Onr?na!_cruId{!(sF{69J0NE}A=0>8^2KgD%_d|tAR@2|yphx_X?E@q5ov>D}G zApU^xKwZ8r&;4t#EPNTw?I^}Id|lQ*^yK$b?0zD~Z5ZHDKYtX<9T{bxCw=+Pp*TNh z95h)LlV< z7~}c_axN&$dXn`d{!@L&yq?9*60)5NABf-Fl=H>kmwn#h z{Dq8b80Gho1Xpvu@Ix<_^J=sjp7wM<>{V^w)mSH{f$Ya($Kns%=YESHAoe$%^T#qS zV?=zwpU0&v%YMF^<;{$T7{%WZJMYZ;5nfoxvYcZi-q@V;rJYt>pPV21u>Q~SJdM_P z^;AC0r~BaI3O(=kkbU3<`ko+Dx^uY| zjMo|avEKJG%6a!7uY*jyE@a;v%JN7?`0f5Wy2`TfLm1n$oFfXeEPRrMW#N(bEZ1U` z_`@--cRr&&ujphlieE1Ko2+wrFQyESL$EB%Qm!M*VxO|^EzXZ*9K_g*aTMcKMu}%m zPW57*{gN{@#`4j*RUYqvFVt-<|Wte~|OS zEzU2({cFr9e!)_fX&*5B*p5H1evFr4!nGm4*4h-L9h^RRr5+u6c6iBa}#v44;I zJ&v(CqxhBSS&rp#A7hmD3;Xl+7sloKF*=O0?yIm|hEeuK+1Gn;|Bf-n7Nv5fN>_cC5( zjN*Ab%_#owXkG_mcMVyt&nSE`m1WtlLwKEw-yn9eo6D_X{4kEZpXJqz6B#2Ii!sW+ zE&Y{!UhFtNj|2APuNPTg;-`up3-b6IGfraM#(0wP5Tn$0kY#CSI=3hOft)L39QV23 z!gIol!Vkg+x452yjAB=4|LT%!hjqIu-Nii`>zvJzg3HOiEc%$j?HN1|!mD8{OMFHA z0qLLcgy>!7I}_J;ncG{-DCc<5drHpV&H5S57|9ry2gLr%@bzd$;eqrl%l^NW?O-^g z_yM(8PRkg}b|vvSIiHK&i#<2za$>iQS+2_%&RCMMFk@-PN{qD_YsASHS*}Yv!Ur*2 zUY<9~^8`892p>>f$UlGc`0}$}gh%E4AHn%z|6N%g&M4=B^(@PNc#Gw_Jb$r_t$5zW zKdi&D*kM7IOENZPoWnSuaVVqkMHQB%KE-lb##)TB4`pNd2={9<;~d73j25GeN5(69 z$-?85c#E9BY}V@}MvqbaEm@x>`2N(4g&Bu33SS7H3Ln(v{tF+-c|iPun|xjN;nFNi zyrw;mOYB_yHW}}JzFvgy+r}tsg`=|G?`0rx+ z^@v@TVLL3wSdcL_BYh9*#}Dznr~miQIX^dJ3C6OF!Vkh1ML1tE)?sYJDE*qlvdeg# zu^^9U5Mv6~hxk|IAO85eX1(~j*!@VB#U4InS$JC3ZBm}MhK#!zoAZ3jIw-?(2F7G@ zFel3rR|;o2gz+TTEA}BM>sZdm(*AZXFLqv^WqF=_j>l7&^V2e}=6vyw?z8@mFiISz z7|S7y5;rng?!kySy}xc&v%H1zG-FC`uMcB`PCT3?_S3D35woQ zaJl@9B^Y}!Ze&c%_AK$#?JSq&_)BNTGK{$J|?_056#1E7Gt2F0}Ut5Ibjf~wHg}>$b*;v+ldq#;5mSFh;+s_)t(Ts9#m;G4w z@w|LJ17l*w3vBoFcclFHfLK1uDCJBppNCQSLGq=3;RiWSbmj6R8HEQvWcehc_&2g1 zld)dbFp3?EoeS?Sgh#jfMCEaOC#psikr;ER}n&;;s zqs0Afwr_bKYXIB5y#Ljm<;09bxqK$ZSgvm_qwtOR1@Srm5ceyFu`Z*W4-TF?hA-(j)5 zmeFO5WsK_|q~!WT7?UxkWh}%f=Z#)0Ph?!mxRvoTV-_Bt#6vH$yq@*cnDw2BQSAIa zU(e0?k&Mxd;~2$0@3Jg@*}ol@ z#g6;1Ec<#|mc_m$U-perd|lR+Ja=u*db_}SUCcO|u`{FW6B6%{^|PC=r{sESF^*!~ z%qad^HSR|g;{e97j2juZGj3s&d7aPlhm4mPWgdlh`$|AevG98u9aDd0u7SyRux2QFuCr$I*td4x{jA36@2FvhRr> zCvkJ(;cBdR;dPnc%{*T*j6)gQFjixfb3js-kHxY3#VpTcT*kPcQTzqrgSh7h`n{%JuGS?nx~<))0Xzl;Aa{+yi0>+`%0U=+Xd zILp%+Q!{SodgVMgisc@R;#Ww2@^k({o?qel`Yg-5i~Stq@f~E8{Z{5*emix?<(<~2Vl)q~w??2Sy zdOU7Nc*kV<63?^CD1MLld4^o)aR@KUIEBx{_$wD@*yTx^WPzsFEj3E?8lgiadVvd zYq4CAF&X0p?$AEK9tnG|OVo?OC3}D10IOA?ro#?jh?}_I2TZ zvG;6zJuTxyo*7ajVIB}Zko975dlE0Y z!1KSKQT7QrCnV(j)!hG~j1i1A7%#IP_Az5FW_D`C>meS9@?Q*m2x>&BNnN!6@^YnB{_ubr@xR%wf4ZqpT0v|Ha-Dvfi)q{0Rz=ALRV) zjKcFd`93+%ZDd(^LG~5;9by0PTl4*LUvn-W&A5e8_(0b6XzsuG6L(mabMk1`tH&tz zRgmXrA)}n{_p<#858%5EKi(zsZ<_`Cv247NflXxs2Mb?kJcOmO$C6A{o<9;5u>=UAw#++Y;QTB;qEDNS&`6TOE=1b-;?tIbj!}@=p zgy$`au?=HqMw@Xu;|fOc43ASr_Z##-*;fKX6OZ-625#kpJuZ-sUDltlY(&hCth*9E7DOot`&ZoFBzc zh~aSw56qFLs@J>?h zPg%y{jO!W2FO+pXk@d2jF$?Qc{DHeHPv?1%{r4cxle`xc$#y!DaVDe04I~awgzdj! z9G(zAA}!~i<@<*-Dn@zlK=u=fCyIX{{-necC4L}rEIHS1U8rhT39lR9D3d6@VI+7W zUPAvHAm4vUkjzMsApSS0{eSu?X%_!4(-;~2|NK9Cg&f0p%Ewk+bdF(M8Qf?)Ra1kj zN$Xb=--tIFmknbGV}i6sycf)JMpDSiD3;tP_9%hhfZtHUcjIt6tX3}fTx74G97 z!T$mc1R4l55NIIKK%jv@1Aztt4FnnpG!SSY&_JMpKm&mW0u2Nj2s99AAkaXdfj|R+ z1_BKP8VEEHXduu)pn*UGfd&E%1R4l55NIIKK%jv@1Aztt4FnnpH1K#dU=?m(R6U-m zgIWU(1RD5@Ye2m}q=?de92BE~`rkncG!SUuAEg1+IekIpkJu@>3q0UPKJ~nogA`~W z(7-=O19tty`IJ9gcgnZrHCm;=3Dp>+Km&mW{y7>jJB@i!`NK7{y&SI5i`WG|@Ot$# zwH%~C1Azwq{u;1PUO;@nZJDu>@`r0xRuwgx=F;GN;Oiksfd>8w8t_t`EUf&2dLQ(J z{kuc+RMxV4?otJfR*F3tGzKZqK%jxYuLe~0y2X`0JTG-$@PPVub2Tly=XzGvXiT1# z3#k7cq(B3K2L6^B@D3aOVBXs`m9GRfJ3$?d zX1^4*AeZS4|G<25Ec^rOMvKS+TF0uB6)G>~K+;(|u(1n_{@X$^S5dDVDX`NQ-= zTS7M4UWcFHE!lv0qS_e$1${k8fd&E%{O@bPy;Bz77pS~RvF{rf+raL6@!Lg}%T{|L_y)QjJfU-0c} z*uU4m1@SSvS)(ShD zt}jS|2L78GP+%nW^To^ZMqdP(2+ zcTMIvJD&0fr#fXVt~yIw0~_AR zs_&EJ+$)ObFV3)zc)!b>l;|PKO`V%l`Gwr3>k4RerWL!d^Me#<;Lp^6)Atj+UtnJ! zjrR$xs;|;Hp~n{Dg+tfD1Gc(E=YtRPBVJ&yeHZKY&+O~tY|Fjc3U+FS5qycZo+otl{QYD|k`-NWFcjz2Yaw_74UWH0P6%q-a zFt&$Q(dEsQ$!LH4w0}A+|F0+4oCkY!hfRi^o9VLPxv8<6$2+<+#%*6;iG1gU1>gtO zu@&*fl1<cRQdRCsA^0uT$+X5#V&(?ra51&zfqiV}CtZ#e$9IR7gb9Q>) zaMDG>bzR6#CM+SldFCsW_saIC{cW6sb#GoZfU0aypj+|f*ZFD+k@T=qsx4qZZJoySW);^=U3#x8Hw`%J*IJe|W{OGDv|2 z{xl7k6Z^+kerx95dRW(9@iAEM#-w9pC!P9Y-CFT-K~{HS;Ws<6^-<2=RULL^)?Ev9 zW3E$v=@i5(u~B3XV{XxXWkwQz>|TmE+MhL0y9>qtyp^}mAFEA1_(9f&3qZRiy?14H zO%Hoj-Nw_nzZym3KHd`jcfU1gyp6VF99FfbV8`|cM+k4{!}#4P(P+mx_!-rcd@|~_ zUilno?mCTpV{J*&&!AkmU&Rl>dBKPX$))EdNP!0aObvK*66aNZgX;T5VH(X&HOQ_P zPr>^4N)^L;HR@c1Y~6Sn=(w|h#^@-Z-K7B5w^O4n?8|e%p?JgL+dwnn0OY&pYM`9i zH3tLT`1PO% z74;eJ^NPJs^)7x3@ds;5lD|b<=5ft$Q14^bz^>}>Q|*nD$p1~%1N)U>jKX@ik4}MI znZ1Z7tO+q#_in@GSl>>r!t@;SrLBlR8q25SxrFtC1N63DM80_~3CbDWUnQRTgNLQ^ zI5>|ua|WV*b9rj;k=mUH?RrgT0vo|~1u^wI~9$5Jj?l&sX_g!Y;yu^c(4pII0OrY245Y_+O^Tekg4FVsi z_q!MTX*)k@GWchpfyb@^RWWY?<+oyPEck*(H`D4cjmB4Vh!<9`Bwl!?C;7o2EyDV@ z=aJuQ-O33&x3})W`w3o$QVsO|mT{l3)gZjjXtzsG*!oSBv)WNS!fIF{sV@I-r{0I3 zQTpaLo`5}hSysZnoX{4qLscjh?A|f@5g#O_@3gHOr@<5Unc;-FngG2lv1HGsUdA}x z^VZMDJMx`EJ7%|3ig}+6B_|PPSaSU_3A0Ya5}yxtz4ly#d4njk5yPxlp>EavGhNZpM&4Gj;=yS+fe2Q@$qD z*fF^^1}V_Me^mqbmR{1&-^`EtVLhrzF=5J=y{Ef@54^!-XI_Wd-~qKFKlXcP)@sx@xG%|`9^76Z$0!siYq#WYoZ>N`#kYW z78`czb;t?(^V*&Ux|edmE}bo{$^JK;1Uk82BLCsbY;=Cexeeu=uKiJu@!Sg7trwn^ zcp#LX7ufG5gk8Hi1`t19ji7d>?j>C30j-bT0;;S_$S)W(n)>%{OZZ!Mfds_6Z7x0! zeQ2EpDbT=QL<45)MtPLq7kBihh-=xY?~)xXO$;7z>OZ1$K+b%yZ*${jviHV$U)A>+ zC8hz@mH0sKVo&gbTlX53Z?hbHV8qOXo#0lh3eXngyw(DhCSQQjK16!kbNFZyd;d5HddgC~I3>?e!nRX?K;HLX)@ z@Ltl-C??4IQ#9bztb_Gx)=hzZ)b>`xj?ITh;SZ>eZ;+jzNfW939y$FBx729XF9TF* z(?@Dq9k(rw?!L)QG#buH`VK<>`wvKNqodeY%{ldP{`M+%fj?u88cY1}7VYCk|BJ*2 z?Tf(f)tVhZD@`KsoOgZ~?kF^X?k)89Zp?fV132WoLt3FYg<8c;chMz8v7`8B$E;%C(u zq(B4z4GlOwKP{&GhTWXeSie?{19(1Qyfqv=;FQk?9&lzDktjDQQ!9<;7_+rTd(vFU zYDIJKg4;O{`~+*y2k;N9alK$~e$hW9nd@dIRenwGsw~)F&3*~Pw5+lf08gkRt!dw0 zPruhJ+qMvRz}?l9&Ocq-5?*})Xr&s4a^_bS@xna^^_b1t!T!zAwm|ENhE#uP zI*-_8PC&K?*1~nK=$qtE^tUJ;v2ZfQWg~7-KSvw%T=dPJ#nJCQq2~iXz@NY%{UtQu zBzX$)19RN7um|sEOT-D?wP|rKa3{V6`&O^lgWVfu<2K6gxw`fR(5bQjyx=S^h3odg z!Bjq^C;S69>1m2TJ{4MC-}l&(RT=hWXRc1|JT(?}YBk(Rd=%Q5?EdpJKqGHF@Sgkp z8pv+p5=OpNww`H2Jdh|7 z_HTu6Y^(hCtWRGDI@Ml7zB{7_m2)yh>g&$Hk15VLrVaST&w8xMUQh-8w-K_K>@e}O zw2$8{Mf?7$H(>8}`4_{C_uoJ@^dy0ZpC<4;Z6PLN>FPr+C5l{n4(Q zrv-SxTS0%%(in3H=L6lfe`kg&2uwgr_S)V$(}!pfqi?Ct;p^_KLfO%I1V({HwLeZ64+b~k#@z{!~ovKd~S;ssd>)A?XuMzpVXoWS|Ot2LRx%xnz4^Vz9rNMmSnJx6JwNvn+53r=gk`S)RqK@Wyko}Kkevpjf#&^haGyPK zJb1v{kP`Jdr|A6zbIfq^54zO_510wJ5D#=MLRjS-_`s@?8soK2)PTQYepJ7J)~CHR zcUs`)5g{7g6%o&9G^?#H3Oslp=N-FJF`!v*YaX2+q(B3YQv<5_h(t;^a3BlTzyCug zuwOgpeDHylwIl3XUE5E5u;U2r|5vhu7rb71$zNEs4CSmRcY_D4n(xBDuy5>mMb~d7 zO-^>V^Q%9^KQN;=B+&JmiMP={eEA~z>l?$!{=Zm5c3s<|cJI_9Je!WtxR2{@=y{;G zaTQQCK9BpoCpv)#%+l?!|GODH+W*UU0y?!O)APoR{Qmad(cl5IVPeD$oWk@R!D{hQ znC_>OeLKzx_S2!Iv}}E|fb6_XB;ua#ltOqf%X_mm&^*|&ur3#*Km-2`4LI>K;hf+k z7|>Mt9k2!riqz;0&D&a|8Jiw_U>=+fv^&vr1@nhbi7yh2h}7l0dKc(9R$jAh^D(&gP7+Y)O0t;wsk5q4+4Jrefn^gRswb+_##``-Qx#$o23 zO5-UPBO^c1t=-%sx=Kw0UU!<1R-RiJ+=bK*O1!vU;pn9+b`DTgx zC}-FI68?nQI|1%D$7BT`sOxvZ2WFSiuut#hTCiVdZ<0#7e&f=+*MIHY;C62e`%~ku zz<$jaN~51%&dYfIp{o6WdaY|IA$xoJQvThvKqLFRxNaxx3RG8i6AxVc6!veAGJs~~ zf#3ma!F25Z)}GU7*QoJ1VH2`;5~BGQs}sSsy@Fd*ai$UR4$Jb#q=P zrO|#szr$+9%)@&UZg_^`I^S7(HLb=V1seEEXrTNCtarCTH0;*>+#!2jmNZiN9du4_ zMqJRVRet0do%j~iwOrzSn5dMHs@Cy0=9X>9h^PO+U1@S;%4?+5CYQULO zg!Z%LnP6v5wdaTr($IT_=JFe`ce~4Vpx5R$(5mz%VfpGy(k_q{!8-rZ_|4N=9D^+ zRquDfQ|2enlKqG7#5uq!*&S$)C9AH-IUqty+?ie5C*65xsvE$eL zAiqeE0uB7vHQ=?O@AlnwM_@lz{x+~fr)6X8_eP;|uyZv#E9~ESy$|s~sewT6`PYHw z<{^aXETCPgJJ3iz9;n7tr|a8yp+0BuSi-7%30IWHb+>a9pq-Q6gS6gtaoxUfnD}5_ z81c!HL$G`I(mRC9-UF(3`-vaQRwW)N7!7~G>3Kx{K3u91?a7rL-M(zKx6xOlyl#1iu&B=3ZXsk>Imx3v-8kDZ+|}c7v7de zK&!%Q-~&6uI`DwI@BzgM>Se;YL=`BDahmI%r#RskZ@}*D=PJ?pzt1M1QLi2O|6RX= z{o7O1gz0grLJ!Mow4PoC|KDzFWB)hitoW{+pC30_)rX%z{_HtVEB~T*zckR8_I-9O z2Px3NUr_^|dV{SD zc5gmGzk6il+6O!A+zUpMiPkfLkmi&XaUW7fGC67hw za!!L8WTz|nJ%l>Rzyn76-mqtDaV+fHt-TBO?$(X$sP8lOctG>qDWJD2AJDDQALZ4x z8>q*O8Vo*AFAYIEPBU(Q*&*uB(R1JfufYlOW1P3hFPNB+`kyE(#R;0x-<9!(wg3-! zeY1iG)P~Ar_qtC%N$T}ACDl)4`KR;dq0%~E<=z_#w2HxR@Jf$|Y#nPx`rDWlJfMbk zh=+2$W}GYM-xs7n1OH1JP`6)tN$C#n;P-ha^&vZJ+a31jB)T;g0GE+3|AIdE#0f_yK;AAO#xu+h{;F$q)b9 zUYrd6x0P`>?9Sa1M)8BWog$S#TJKzW@PSckHSObdTf?5+LJ7$qIQ9zc-JRnCRroZZ zIr2WP8z%=4+Uvm|Ui3ZO?@h`ARM~e^{NTko#0TFjN4r+T@#u&3%^vWSiXBIO!s@T# zAJ}6@(RpWXlj^#kzcsndPATOVwvKkAb3^Dj_z`yX=PDyVauLND!YJQ4^JSRMH?O|} zKCm)m%B5vz$%4EZ?e{YS{eK22(7^w!2HdHK;O}}Leh9mAE;NUq;C&E9e!`G1u}`~3 zLGXdsrv>=Ho4lX)_m2m{&b`@9fX?i2vimn`0?pNFD1Uo5!v4ey-lIIk3)}0#KQNYW z1Rt2?i=Z9VV{l95Yt>t9MQXH{KA?EUXP2m7SHkFglak&)_KWbp2@%y-ot9(4}0pB;`+ML|9OfNOst$1vd#-qpn<=M z2E0+<ZAN!cQh z&}A+9=d@fw@kIaH&n2~^H`#NJvaoM+dj{COow;yzrEjR2yasT`caYufeQ;fUegJ%7 zWn7H&gORfb;stK;U5Fp*TZ0s6;P0*hZyf!7bEoFZI6t^^t7AX5PIQ8wU^SfwUNDP# zuvZm9zl&ftX-MaYP4mDL_WXCi3wFdR!jpG^D$g*ITPNWBR48v0uZjDOWvPJXlY_wz z)`ppA$1Iv2ykORH&=0fzK6;OFNb`EipA@g<@v0i#QX#Ns_XgRymzRF$)GhWTzFT%@ zwxjQ%yCw#jU+%$k2$k_N_`sVU3EprHCx#zkHv9f1U9V%%-(xp7_fD^6^Wy}=%J~?i zKm-2-4XAb7urIoYLn*FMbQ$c=t(G13sD{5q=lmKCXdlm)h3vQTa^i(L>tN?z$UdN1 zCll=7`Rr++IhNvxR^vXn?zF26w9jA0{ceq6gtwccUN6myXwS$u0PQ<%$D=2uEW}Nm1yS^#QZf2{dGqSi;mV(2Cu2s$ z7oA52_(1g;igVRJVeW%51{(NR8t|%Z053SvhhT?}{{zHI-*oaj_zQNQdazrwXa(4@ z-K90qTOLhzoopTD&ngbPcQbqrwD$4y#!{;xd*^Ba&7?6XuP)fc2fOEk57bu=!3V|< zjfkH{jKTTFaBhPa?7G7tTbsvGepE7`ohlXaMx7e)C!9~)5+4*=55K}W+!8!seE1wa zXXu*%=L2hIjTiMez4!a<3;Y2+;Xw*C;M>EbSHqOA20W(5=t}XsHH>H@Y|JI|no4$HW(_CXnAS_BDzVjM<8FfwjD6 zs2-mgF{y+`cSMfBAMo`Mq(B3|rUBPmU0C@Aysh;2n!Iu!P<-L*8DytLdVv?rg`KdU zThHGCnh#Q8pLaj*2K#o3k0yKX{4&lD#?E~}H_c9xht>qz$G)KQGY6p_r!>8%q$-rg zdkMza;lxYz^8(e>Z^>_HIGdhJ-i?RnCC=$j;1^iEA`mCAM^*w4IAN1<9xzu$6wu>x z4mJh){|r)~fj|SlQ3Gb8Q{;CSeim_lH7FC#58k$9k;<>bzWpqC!T4eX?AW**0X{I^ z%mp5>y1Wg0cTx^(ugg0wz2B%N4uxzE+D81)>OtOoy>c6y+F zYBbt+P8278Xp@fogm+yS z<=<{Uy$x{%V>s>0_TnUDr;lPI^>r)JCh&nhN6|iCnBHSD7tDs;t17Q_(B+KvYk+3U zr|=$=5%Mm{m+1L~6S0fp6RjSiKC4I)@)xFk7OC&Irc*pa^)CzmK*cXc=bC#%5ht*^ zbq~|!+zK@cX$(@Jfj|R)oCe(TMX|rC95Y~d-mKMRhhsL<`vGlBz(4SEy#zb9vh0Lk z;I$q>{y^prVed}8ZLoi5W4zAF@1Fb26vA8E@xHUUIVZ}gtOv-i=sBHurP~|iFGS3X z)c2_^C2@XmcP*v!L4%L*oWW^SzM{VFJ-zF25D)Yf5u`u^k3j?0(%Y4lU$58w7UFc~ zs*2zP`v>~&z)aPS>~(Gj*sVAePE2c@Ta1o1=zNgjd<|W1kOB<^8hHE~aKA{GPWjE) zRoj3Mj6KER7r0Nag&*%eIFEhYPJW8c1#1(+zTMFizyszhOJMhEMdhx#9y1rA5mB0W zVORo`Q&+o^|FG#9s;5;ms(1d4NPVAL+7vuwP2WKM*zyUT4>pG6($^(fE0(5KzTmuD zExyJe1sVu6@W*LD#gs&R-bg+R_UOe#M=D)??iX-AP*>8>xuD)c*t5#f7WQp)SV{KY z#{v)7$vXqBdgqYu4%m!x*465CUbveJ=LI*df?r^4E{Ai7y)Pd5BgLP=dBuFTJH3Z= z_}QwuA1Yth(i-i;=}T&Ke%Nkm3{s$hKm&ig2E5(7YAe55^XPfR@!gr-VW-Y@df(8h z`vJuR*PSK5V8amDyR)Je>|fohPkd1LYve1nhx~?kBT(K*OW#SksVad7+)o}x>h`=U zr*JN?s;vSK7|n9veFEpsi{Jrg%CIn9&R(^otVVN8M~ZX2S0C>aINv>gCx|2XiV0Gn zfj>|K>W4kpkG=Dga86JY9^pLilvt1FgkH0;@C&@;-C^f;rO~i^yJ0-ygQQ7-X4F;k z8xmF^e;|g=rlM|6td0>QlNoA1AmAHtlc%!E59alebW*XJA(nh`Rnf>4a^MelH0lQRL z@PIvTGJW}yhg8IBJhBB^=t_(ySb{uFEB&iDX8Tj1sVu6@W*Sw`F;gG zSByvRBfI&tQoJDZ5!ko2A(Hm}f+pZs=-E-vopVs`@B=jhzI69k8_90 z%D;ayYCd?tOLLd}k)b_tE-)4^3se5Eyw_`y{YO5HIDwsL)C)S_?$-Y~;QRymH3lir zK%jv?UIT8y&droxtvXf}&k@Xt1?YUx=sSuRWEld#z}fyW?A|H*i~$GzKZqK%jyDo(9wt9Vw1i z$Ba~dH=IqgVaHBrSMm#@_ks^p|BkSGds1%VfdUmtb`RpZ)2$!zKv-FNk6>B@dOkTS z1^f-WSS-CyRI5791zy3bVQ4SIjwBj?DS06?o>u-vFVXbu8m)?{&X)60lGCCuofoRy zETH^Mr|Kre6U-9Vp3!oU0u2Nj_}3cnZr;UytRiP(-&TYA!hWsJk+5fH0R1kiHKGFX zfl3SechjtcAK<24i+t-y5Ac9p`Vn}9&)2AoP9u{%BSdy-(CFYfYuQ_ujjv zMyvmH!~?vIPvJSD3ZMO=&UYtQL%uonYH^gC`yt{5M$K6`H(2?~Kz7H!0{i!_DCDby zFD29EgA`~W(7?aefOYg>YULL*Gv9&VZhyjm$9dE{c#dG!xJAzaSH1~5x1JskyEiV} z0D9I`;(>K~ja|LsA%Jc9Wnq0c_Q~$xQ zB1nM-0uB5N4LGIWg8%N0xs3OM?d!?ueWQrah!1ws-%&6(^n(4nGrJNGESN+*aP57R zvmE;U1GVrK_yxvBgZzT@2kCq;n*J_~n$o+v^7~|dGm_#3$KC`lm?vh1>wIrTR2VQ1 z{T)^7)f{ECY;H>rbZZ|2KN#h1!+-F;>Q)5T4_*W>SYOfKSMhHNQlNoA1HVxN)`8-% zKP$30?ce2|MBLvRdmnt@4tsucFbkdk`O3nb9AoLMuF1bZRbz-7DuS@(a>c z0v|Xv-UkmT^BtTctRziwj_|7rQlNoA1OKK5tkPZTDgR!zbsGEvv&CIHCrlrU{oeU1 zDeT^=z7%LA8$ww9Jb1vFP>jkYNJ-~|Pwt~0>(0mE7xy*#JI#hy8*xK7Vi4j5&hkd! z19R@T-~lK55S$mR*O%d(V5XZ0`!@edl)Lnrj<+FEv3)89WZ)1@LFSoJ2Z-ALs(=TsZfGT+fOCQ!@;c%L=BxMUeDGN~ zc);jEet;eObSB+ykOB<^8u;@ypoSi=sC2U-N8rC3U((+>QM<2F+^=3`?DNKU`uhn^ zfxF-Xm5hGh(6cIm2fVUFk#E%bjN*nvTEZ_d%@dKjeswK1`~ov)dz=rvt<}SHe%$1K ze=n!({rdmBC-B%6S2TGx-M-;n1`n9eOicn==LIRy zz~5a1F&*&yO5}1JA8P?-%7*fcSvdmDi z`Y$)oXun;dsYY+jBJAI8ifP`!Kv`WZ(V){W0$)57X`bS;;cn(f12~R)ax1 zfd>8r4LBXoz`ym@6c1B=d(O)bvF{o)idNFHUHd{6jb`nLS{jWv7U4YtcUu#j58R{; zC|=O(Q^XO?GYKPgIjit)*tJn@0_@yq{W017%-6sJcIq>b-KyW=y7OQV`31E;fM4KF zq~A4F3qD5uPHY;)3)J^jh!5H=sG-|&s`dgOSOu=(++s|hluPH^d)FYIsA?}tuVrIJ zZJZyxKAZAF)_K1nxm(;6N|)>N6y85Dr=&Qo&nLf>oZ=_{6u;z`+7I#r4g4+*EKPuY z%_@B^O!+se=n%3e?^YEp8yl^v8r8am*niE22Z#q^#*@7dybnH5@13Q1Uf90!y1Ws3 zrx`Hc+t}BQDp6$LOEbgny*wO8Jl_?vQEvlyz?-!R<(z9bzynsR@JL;cwfQ9Kb24;< zUtqoZ656$2n@8t`i%Y-<*7~-Uba}7u9;MMfdKBjcE5)SJT6RBQPwy99ERtW#|0>yL zR8FM}mALVn{C@XQO4Mt9Qv~M*eQS^c4g6I#;0-T=-}^Hsdli)5Nw>Lz{a6nY!Twdc zhCr`fe4w#x2Icp6s_F99d#&)EpS}5I*r64@KCjL<8Whi|(JD2fkw&{kPCDm5-;V71 z%h!kxuC#>R+f!x%t&0PJ?(Xk!-N^kM{0RHpu1H;vDq05T18?J6@(Z#>B0gdCNdZ3a z27HEoc<)4k51i}Gj z18?nDuygCBkI3$8WFcPobUS4CT3K9oE`*`Hx?Kr;;)HAm z_Y92a?cf8u)jHyXF(WW8>wS;L;s2RuUEazNQ5d-XyHpxg_EE5RYv4rigxB$KS)K3A zo&i6?IZ-v8mVYU!z16cS|Dx3~WiE|D3N-Ln)PVbbBlxN6Mpf*OM%Vk5mETd7V>0%4 zwQ4Q=f8)E?VgGLDHn10GPkGq=e>x_o=``?x(EYyloH`(40&#_8x5y5Gj+J$R1bY~N1LFYBi!|Da}aoKM`zNx%zMs%m&I*%;mp z<8+FA13qvjY%8Yg@%D^BJVAA+kMX*hD~0KNt6**LoHLvL?y9q_*RT5dUh!-3^?k<8 zy?C$D7@g?RulWzU=ueX>+vM`^DgV=ZgMSAa_*WXR(^Z52?+(ouru@S8moHV)XuZA< z`=l|c2cbFvUa)r@ft~n8eqTyinE2%v?s7{lg1vgh6XQ9f{p?$?YwPSm*ty#-J@~*p zSPW>LY(_lLt3Ix)>$xJ8U$^(<0{9j7xu?Mg&dB@V7q8M3oEN<81JI70X+3zsavDq(J@e-;mUlS>PkP;>vvLH z{c*3ym7RA-!k>3H4TU|c(Z$HlcdsHo=#l{TufF>hvN56>VY0T7%CF43G6(#jJ}L%u zLnfmhuT}x@f;Xi{GhNQ^a1H)~^*P5Wp1gzegOfBIeu6WgAmW{tbryb*_gy9Mp)+7G z^rG@qfL`p7L5M*XZ0@4L#U-lHhz{ho1aRJYd#*JF&jsI8~GQ z<3Tn;ofo7)1HYgF^Ux8p`$1cdXjJejV1AF4nahl^1@o zeV`uJz4=`(*sU6Fpq#Pq<(#_w?@eBTH!3LqCUfvv;BUQO<@pA7>R!qPd$u1=ibOr_ ztHbW?*d9QqU;?05XBb_d+Z$+n_b#DoL0Hr!UQo{gotL^3Kb$K9|HI1r2K)s#!Jr6b z_^Cxl#23{k<=`inRn~wP+yccAS5UEipeMUxUhsjw1!>GO_*Y)WY)bhV?(qWUfzLh- zG_wuGyx5DL!8yX&Q3&&8Z*#!gsN<*qEBZFB|NmJX_9fHx1u4+LuW7(MUkdBYxwSY< z`32q0Q{d0Kc_zRPtu~i|Zkg|4=WgiD@-W zQSGY_zrp(Wc2VRHO8&F)7w3mZxbEK?q(B3PeeLrc%GZPQQVr}UUY#qn@AMmrb?9aM z2>X`NvIx$-Zg@|iF`^65arzNjH?WS4?+Oray!Zs{-}?6XRJ#7(o17;+tY6PsTtWTb zn}1T?b|V_-`|Tnpi4PKX1s|9fYr=lr1Cz;)8`X%^<($2hVCQyBO`IRB{x7xG`R?4E zKrhdEpwnSEHJW)D#aCA)~0hx=IY=DJ0AVLMRlSn_`!Q+H^mj+ z=zw^mH@Fd=mwNZcf*;Htoq=|-&7|iHComsQyawO}tA7vD&%{0O+f?2OK;xrZ-~}(% zfxTOKGG@@@Fe@F-3QQLQf5OiS(mz-Os+1K^`QvvkUdMWgs|veE2=;fg$rtn-f7eio zizoS*aCbNOx!&Q=us*G<>##1Bal5>(_uo#|z$cZyc}S_cI*_Y`R%LKtAN&(f^D^ISE1iSu=i|0zT4~` z%6m`61CKaHC)8)YRua5m3|UP)^z}yYf_bHOLtT%t;4=Ekv*JD208G2Xa`UAZ&PlJcO4)1{9byGnKG!Rzh-MeH2RTa{E1!duIij4_eUvRU-!efEr#TOxJ5Xu|6A6 z|ND0&XG#?MWtQF$rhdnLzq#n1&tZ4ojql*Un}=6{56naq7jzC(fgPLQ=b-)n%eTqS zM-PVms|Vpx=+{F3MFGE2wc$9>oJ`*}sE2Pz0#*420j{e47wFp*|f2y<5qL!cVZ)R0IDSH7kedcC6U4 zKy%{96lX|RCD`|Uy#(pkHK3-v^0Pc(9q0}ou+LW@yI)-hJYXE5{mFFb_rJZGxv)<; zA+J+>pmm~f|5^YTePorqrXFHzw-*#xs#RiCVb|vS8OZ)u7Hg-k8~M)wRf*#5 zwd}k`-#gm7wi7Qr8w%d=njJ?ys=!h554O?sNcZ?&YWIza-~)Hvb?|{&zXyJT+4Tv+ z>kYsUsuVqsuy4&Kf1%ME@W)iqIaSbpnuRzYs4AI(Zm*Y1=zR73;glMK6lmb*G+=%j zl}h;+OtUO_z@C{A_G{Owi1Vl2>Itkf>sWR0fQp?0^j@X+e9d-W!TvpW5Us~=ACaG$ z@FePS3*>oT*Z)gNjs5m%drta+-~+Q& zN#cW{y~$5mvKPGI9Q42k-p2)~pKTw&FK~ub#e6u!YC}I>=u+A9S3X+F+r6kUNdHU?*xAM+j^rlI54*Eo?FIX`;$6c2?}Qx1 z{-Y9pL;H}GlrZ!Q;)PRBQu!U@;6Hd9XdV8NHm&1(izxr1o&6x<5{|VB_UvV!2m5!j zrA0sN+sv=h-mbj@yvXI+_8p zpY^lJT7L-kX5Scw^SpI;Wu)>;s-~G*YqVNNV1G9ohqpt1$z5dk)dvv|Olu7EI?&%= zc2<6aa%S}RxX&n<4fUw3C%`jKlFro5K_+;jB2L6spMaN?(i{aa@WlOFD;!@0nDBlZPdzp?fdc-hH6B&C+!+BWy`+58~Zn^j{k&Z+K|Z9wOV$;dZ8 zo`7=pYc}}6XkHR=0%uZfT8F=&M(fmIQ~B5I^2@RA+$QPBk8LoZlFqjh=K>G7mlKlR zS4j;thOec3uO;!o_;%FJoR)O|sgYs&ej|Ym**TgGcA-*_0Gcym2%GN)@93gGO-|Hp z?6YQ_No0q)^1)uc#5Y?izo5ObVH=IA^@~v&y#wc9=guel!3XB7yTl85GJ+4BC+Y7l z8cRb^&iMb>yUu_nmaZMDbdX*p^p12CkgSL(R-`B(YQ)|ZQ4|z|9mIlNM2rQoVg(y8 zN5ld)RIG>uMMOkJL`6mTl3Dk@@6Ek=DVAHl><=Dh=A1KUo|$uYcC*>2tswPFWw1S_ zg%jQv(3T>c2Uzo8lKqaY$MMfP6^4mQd5pC z@h5yjj*l^~o|tih;350KFfwi(UgNlCzI}l60cT_p8Rzp&F|xjhVk8u%lIvY866+x6)M1n~Dk0PYqxx>lw!7$uTi&w#Uh5kU3%xC!z$Z<1=;C(wpIfoP6 z9^hl*XdV*TYjHf&cg5g*00nn&oD=)W-(Q2CRX8884$Q&`D)Y&Fp*{`o3!sR6o*Bm4 zl6hv70q%$W7H$Ac9)ieEPS@V#1*;$E)!sGu311ya+Wr90Y zP{_pR1(wL5KD;vRb|5~#Gf#}caljOFA=h6axnG89inz>tT1Do8^{O}z5NF=v>jF+# z20ky*Pl=Q9ouu{W>q;^l?@tMoMy}HdugG=Vz#{XzPyIa30_^ zbsxjC12v}MJS58UaUP(DGx2o+b1eBj6k>1<$#&bw?H>PgHpPKW1Q!Ga09k&fxV=Jb6f7--o1- z*8xNfKJOC;&G7jMnj;~(_T;q}aH9{J~S{>}^QfvFxozX|Gs<>gQ2fuLG!kG5tmj(;|-lEgIf zdr;s`e(#z4d&gwIlZ!oge$!)vZFtBonm}Inm`%XvXO3?SlUL808Z!#F-zdQGOmvxo z$E{Ud8VX3zWyRK9^&y35doM-dPoB~uUD1H@@_LSZ+eD`^7Mp< zkb(bZfL*-Hnc!B?rO5m7?Crhq`l3agBln$MmB@Hsr945-*Kz(L3UbKv|EmQUIi1MgX=cx{dH&zy;;IM_Ap zT&5@8z{v5PgX`IT?{WVe?;AMZ@Y|!xAU6n~e`)XL;<#ibGlvn}Mp*nD=L60hDVz_8 z=UZ@mGk0{v`GDin7bDYI0waCof^T`i49l@;U&48ISchNXJV3k(#d&}!`5Nb6)*xxj zH=F+LbD7}v_%IWB_ZAC~LjGIOOYZfEU0h~?=^hT;1P%=_f^C=vQh zk7rlV!GRnFg4@Vh5`@<&vnbe$S7y$ANXBKc2F@p}w~9Dkq4@m&JnwT=@j+}NpQ~rd z&%t`MC$q`CRQbS*;7YJ}k0j%xihNHP$78=Uub%FoimyM|Uq0Y6x9WEXojy&B;MUN! zHsJjZy+E2gFQ*>Eyl_0bkKna4tu4ZNNDnO^#Y2ul4>BJ#kndNg-)P2VsE@(O&KZjH z2JPhLaGpGI;uy{Y%=zg!zYr4-Vf*aZ3HW{hYvECH9}ssG`@vQD^J9i39tUJL;Jn6U zX5srVe=aPn{r}DY`@={aUxd^HyuV~invi*b(+}@|iK|`kd5>vah!Kje8m+Vx~!L50{py9?ck*Uo=1r$rbN+)C!-mtA-$=wOcf zLXOjDA$4Bq^0nZ;NexoB#o_=E${=G$R zGBM|sncjN1p1tO{4X-Rbgbe%{1MKB_zf?Gi!cNE7z)y8~Q?aHf%(WzcMq`&mR z`2cFa;P~ZM{m%oKp;(R{dY{xAbO6UGYoH&_17I*7Unj6*Z`l!lVu^D!mBy=QR~Cu? zS^J-;;3{VA1iTLdJ7b(5+0`{TAJBslxjz_w3tulV+0EfRyX?UIIPO{dnIz8f#`PS# zGH&Q{EWa2^tCzC9-(W=!&3-5=*$;?Y#{dLVBs9vA!TJOiFQ{e6=u4`K9rH698N zAp@;pfOFmepZ8e16Y>6%v*s1vZ_dQ8Ew3;;T-V9{eWU4xldm<7xP4OeSz}SU zf53c<fG z^nkT^T{35XCiepu%`mcy0&qUycv|DQl3*>y$G%m&K@hWe0`HAuS^~A)D_or)X3`x`eI)k|FjuSI3KX)ZD$Z%Va|!5-(7!D z`Yoc)FiotV_fU<8tS4gXJY+Zd<9!szz>Lf<+`9ih*ootCzjW2km={`}5}6N7(}M}F zApM~oj&tVmKKQ&(4_!iHA^ABZdyOT|8}!Q2WFEMlK;~z)F=W2oTY>NAvZYSrJir__ z2loe`$oEDNeTQLQiDME@y#AP{$Kw3J{a1Jh8TbPOth}A%b>`?ea=nhW#OsZnxPy%A zockDAoMc>2XI0=bXR-)J!cmDV%ZOs6Jvf7}lZn#JI6mnKBQO5UspyWZ8>jvXIz^*0V^FXhtBj@XpInD#D z$%SMdP^u^SUTBT?1*|ML8Ekj`K>Yjz$9)uef3Ps96R%!)2pRZq2IwC*(+O?`{n;G6 zuIQga@pUJCogrT5?4jiTlKF0cDo>8t?c4itPbcH^E?Y|$?@yT{2#hRk@;&{u-GlJ? ziL3Iv1G-t;6WkhbU5w)k_BG=BT9gpS>lThP&OLQ95A67i^8hEp37?Od>UZ#UJ#%kQ z+|Cx2C;ixBN8*D7GX8vC<90$Jh`hdtxq|JmmyO2#QvJ1vQ3=WfSBS2;0ml!s<3d|r znI^gj#~b~9H=GBU+C4}-;Y;pU_BDF(oYC$$573us;xg@^8kq-N-;sH?TLzg2b_~PUbA*kp7uFw7{_X+&*a^Jf;+hm5 zLIzsR0Bc+n`FXPbHhf>5c6~jLC%V@Xd_P~1A)M>blZ=( zKbE;Sj(b{K9qyNyxkN$^1Hnd`|~b#eUD=ZN8b z0%u`woG&(5WREAm7s2vb=f%@wYd7QZvcj(6eGj{^JI)6zrvtysvs_W( zA!Oi>3>1#X>y>#bh&+#u?Lfv=kP@zE756bB{;2iGnoJEG2XL|upYI7}8ywFZ`MEgm ze^XGa$8rSRa{ga-S(a0AyhCapd7fRUs>hQjt|=MvkhR+pUr#Xo$=?OxoQ%Q#67xFa zc&9gC#__;Od`b4Fef$%HtH)7!E6vmYRR?=yoDRY5jPt(p#Au2r-H zc=d$XSRC&V^akez&f?`5X-%nQyQnIbCl-&y`f$Yr=WS;8MlYT|t9%#Ef1LAM4R~et zLlMk7Vb@)hR~8;Z2L2}lQzSKZ;_C_+*AMG4&3y2_jkRSn&fCOM@;%V3 zaq>9tF{2;i{Qxt>-H~TscnBG24Fm9Y)*0UUl6L2%BGDR!cFMraJbeF3kUFcuQiIn& zv9cEDCAN|_KEDf+|Hsw4?ZNvX&a0bdym2z?9^(5loF^yA&u!wo@Ohtx`jEIj2hQ@B#0`Xt`@~{4=|2;QbGXIt%X`{NonO{~w3h z(>jy)1+S3bD`wg!cH_kdak_~_bNOGokN?%oGc)pW{L=bl;(b2r=}dgS=NR86_y1qd zlh+abhU0o7F$CWqq!r5H_@~WDB=f;1^1U&?+J9kxLI!>$1H?dAZGvZTgPk4^ndbxX zexFzMZ$9W<4&wa}T_gct|FF0B#c|D^-H*%*C(Lo&v#e%ggxW%UJwQ9f@*=pzFiV2* zbq4+NM;Bh1IPZt;asL$_LI#8k{6iREt~`kE=Q9UK;p-q6@tpje!R*^}0i|EP2<})o z(qw+1_t=Na%sHwUp=%8OoPhIi(*L~g$~7T8gbWB7_?t4o+1U@@r=?}a;Oisy#x3}I z2;7e0_@;F}g3tHt%L~Z+i;5N)X*J)Tx172P>k$h~$>$pWrsEX4C1gOzK+6o!3oq6& zcw+9!@&p%Hoyhm0(T4lt=O%Bt&U6F=-KT?n~adLlTpriHV7pE0d#>(xuVFX_~m@^0xsianV0T5|@TAon=Fs z>G#cyD%XrCO(g!CFzXwNsnSI3=?t0_E)z5-S(;O`7>y>y?MPf?-#2qKW1b5%+TH$6 ziufPFe^}p|C=@J7wor0H{NH?#t^fJ^cj4=9Mw+Aw-zbA zmaw(`Q3)wkq7zrG-OL2~@{!ZOL=-;D>-s~`WD8YjQymg=eY z_M)Kv+G~%}CoILH+-z zegxV7yVbXLysh<{-(Gw5`0f0xGUeaTvj1OWtH*CgSSFeLt9T%L|Mh=c8ZYHhOL9~@CC`sk`;S6?`~S2uKM$?-|3~TZ z+Yy$@8ThMsAbW57U&`OMYmyq2z96LR3Tmh7DLFw%$^9r4)XzVyp5mjeez#SRk{2S$ z^xusK(yO-rrN+^AO;Ur>Z!fmgZ+q#ddY;HD@v3Hl>NvWML7-y~MBgS1mfpos?Tk57cNSFsmCi&;{uP#&bOZh>S zTZ`@0@{Q&zuhCr zPga-*NCv6-`MaRNdF5-M{N<}|cagH!R^;!nt@`}({PzCpa$EhQ=$1r*ot_{fQeF?onK1WU_uo0Yg?Vx?Q7}dUzJf}2df-wF`Mk)UPF4)pM zQ+~E2*WPx@{;$UN`unr>C?49{52Z(8TlL#5zsA|td5^(F#<|SiDdR(~AYXk0-fJ%02aqd(f4=_eGU?T?|NB>s`$vtG-~ZOyrS!g6p0Yz>Ywi6ox#n&UjNWUk zWK><67uPR18x?i$Wvp<%C&Ov-BhjPcB80zrarn7n4mx@yZE5|{6~g!@nWyIK?}9&U zJ+#r#&mKR&J5+!C^=&Ovb|`GGerxsk`=QGGD99cqC#b#M^}U^Dettz~G9p3>#6l;> zq6rTgugS;eAn8wYvnBe~Gj!tiOV;(gjS^|sb9aq@g2vsLC|eh3C(HvRQp~8ZW#-(7!ohN-4^#XN@QsWp=v_dh~+ zHV<{SpH+&~m-SZY$asrv-i0lRYidRv!&p_~ch8{ioAmoVc^!g$-Uo+u{d!G!Ux1te zYMy>Ie)s&h(E$JW_|^H_zqib9|9i{){3yT0A?-$q6Laqz42w|{S$-+p_`g8XQ$J%0U`^!Vl5 zT5iey4{L9FdS#cMOcujgR{Tk8Tes*auCf-I*HXDvo-Ji=)Sh^uNzV9_8GgHEnuFhucxjJX^t7$Z_Q26}i zXe|6&;$P4_Q1yQ|p7 zuG|^8kik+fncQKKDH1<*^)2$RLRM?*SQ^J(qu%od7!)QyLZ_B9G#w7^WfYusTS1@w zoDsg*ArLiIAmZ48LyT*${%!Hk&mUE$km8jp|5ezMA5{DI;*TER_xkgr^jjL2pnmxE zS}WIDJwf(Ua=5xV+n$2{N7Ih1MSm&6#ea($An?+&zaX!@e@>CH&yB;qS7&C^@g(`xg-H4pI5+drlJz3b&? zjq`i``dfkydR^d5XGrh*T zS+5!~8wlA2({CZ~>giEC0&bu;M?c?Q(X)VYF8<|{(heo4+aZVf8TX3+-^G73@!-u@ zI}s#D-zsfxJrd0|UwaeHnuCbx+Ql{5L1>hoo zskSNEWa&lmDQG=V>qrm^(ratIAp7mDZ)^WQO1>q3Tk3~jzpe6=eoK0PS^G=F`zCqz z35<=*;+Uh7iKywRm`vo!a>VJKb3Y@h7Ue#0--l|d&`4>wG&JHiqG@zZzvY*Wg1cI# zHAgleZ5_#)OpjD*-BRQI$K$9Y@e-GuYjRU|>s>F*or@+KIyaVV*o)$N8#MTa79r)_ zlbf;*B+oM$n65>|- zsG;n_`lOBZOcciG`%-1bC6sO|zVrFJBGl=^!0D;pvru`|OtZw}fsB21TY5bzq#>zp z6O*d5ptYaBe(yT^(ew7b{s_{i{A{V6k`sij)fXg3)eEvu)l+hRJG4-kz}Zt^z*zNU zN6-4cIgFvtPd6T4b_aFNeC@L6b~BP39lyjOCYgv$8 zLG^95|I6iP?9}VO-6M;kvf`=UOPLFd?0^d*BMQq<{{yv~Sjk^epyB7oeqS0;>b~3W zR6J=QX0bG*XxIxh!m?3oo2SKGM_vkqVrPp zW_R@Dj;~*!@*z9o=O;Q#$XFv$wQIz_HKdGzRS@%vawfA5Z`p7XZ_EKy_l|vMB-VOSMbQ-kk{M|)hmx3qJ{TvM{kyWghraByW z?WkNoQXJ?(2W?Hl@1l-ss~;#&*@yHdM@OZXZ$kDTy2=LWq@rbddUMXPmZ64COF|Ze zI-&d_1Dt}H=&-YA-z&OfjG%m9Xi89?9bA=p*-dk&0qm6{oaTqhgVc?w(7<8N=T9={#_GG(_Vr1U5`s@zumUVVZ6o%{Ty*0iBFV~%l_=j4*347O%s z#O_JAP}PY08`s`{f~+RG4o{ljh>S0vUKwL03x^h%F4>*00R0DbbG>?B9W=|HdXCvG z1Ck#?mL#jbLyA>S4%4N?p-=R{#IL7iV9$ru*RofCMylROs$oSL8YsCV`0bN#+!RRT%%_JlXVK3&Q3Fh7~^O+FE`D&T|V5KZ@rTy7}#W z%7Wws`5{RDudZ*czm!~i{rz737W>^-UlSRz#h$^4c`mAYb2GyBwlHCLQYXH6H9lMEBC_f zN`d-EFL>T~`_AItMxa*sH2>urb*SrqGkxU(X*m02qQ%Cd4`|fx@kQ>vpQ1&#yXHKQ zS%=E^x@6whc5dx@r+8^IE?YXg+q{WI=vaE!%d;*RfI^Y}y`hK>%@5r?OQl0 z%dWPNQk*f!cDfTBki8vt@tFfKKSfS^XKVu%ncgSV58A@w`~98wZ#9B!-OG}fpXx&L zn%M03;u^4d*CjuRhib4Utk2uoW0WB|tZ4N%F)?`Zw!_AmevL@{j;};*>c^eo ze6jVpvh)xzENe0n^R|GZo;w`qX&3x-^Ww5wxzmx;Ui7&b<3h z=`}J+KK{JielM!mVKe$!OSZJm1@SDfe#q4!+iD~CBKi8`C;Q20apSb!)zHxrIw%xu zx|wSZ372&GhbURXmb6`?SDv~L;pL?Al<;;q%Yb0$! zUv}cvtSx<~6;iODxlTT$ zNfc6sUD?%#B?{wnx8C>35{1fMY{M(ba$s%fbv*5qJgmLaWtx74D7eT)oU7`k3~!dw zmmaOu0;@05BGZoFL~;odhX-%gY%4#4C!TB($lEu?mfF9GwHx^Dx7*NPtoXCWLD~K3 z!&AF?sET{@fC zH!y|EC1-UOJ*q>u`#yX>?8T7w<^gJb{wSmgkAEivu9osEo)q_F7+=x5_N-qbV`u1s zub=!=5N(mik@d&RQAY1u`K!(=!3{>w7q*+sKnsmKBR0Yr>bK4c@X_rFG^6H(-bEHL zoNZ!RrKSO$*oDpwUfSRmI&*q%5*;qC-8m}COA{j3lvV5-AOoido_X8%;ajvcDJ^-` z6@&r@tj!z0`zjhftKXP4a>v`e-f!phe7{J0EgG8Gbgt@d0E8Jmxn%TFA0Cf*wJrUT z103t=Ha?clfIbH=l^JQcL6Us@l}<;Tfi*64&ZK*8;F|Anu-|ly z?ZUqH@O4XcaK$CHN8$0nmsyub?WyfcQ$Yyev+dZ2_;o0l7ahoL+ zp(9}=*(FB;z^mE*ovRGIo!U8~=150KyU1jGNtA?F<44#TaPK3Qt)0JckexbscoiCs zHj#wW6QnnMJR=W_mh?B9+usnDzluM6_p(0FGbRM(XS_mRs>H?y7yVM{)4i6UaTxU41Lfmey1s{?ct)n z;IaoOYzR2^M$#0nh~F7j^GOXB=jG(CcGrW3j0IC{HtIs%=e0@i-Y5g}%&cR&Daz0< z?$eIg!A(f?pwGQArj^K`%>0$qi(L#DxB8S;rzdFPsLh9;IAtO4xRO$>1+D-5Ks|Wq zs1hk9*!7rk@nq>ps5|#2GHR~@gnS4t2-)HUnscK+Z+++j#?jmC^5wcf#q0%1A+;_b zy~3!IqJaZgm)<{5@5sIX?^=GXGRh8|$2I#{o14MjFS#L`9qI5WY*#1o2_0cY-lXOi z<0Zf{@9?n`HX7hF@VvwgM^%{fvYXYjS_SZ1oHf2~YDef>b3S~!w>k{i5P6tptOUnq zbtVp$Dnaebu70OgX~Tlf8%^G8nn175kB!Y0 z)S+bSXvM%eY+?NWVWkQyegXq5%BFMin1YuX&Yq)Hi+s-;zVtl0y7q~taVCo0P&KwT ztQOr}u)Yu6h@#qXQ>09+-rd=zv-( zG2^3xA*^>gb|#Q11JBk~T%N&fMzLLsK8=!phW5&6%lK-YL$^9?Q+RdvD^hSIV$I$? zZ}Ymp)9ult$9`W?$kZ@;<}M!yUJ~()j*K8{Q}OQdDGm^Ox8nz8I|r~aKXhgCDtj)&4YE3#z5~q*egIp4TcZ5>UQLa z1Z;RNTdH$h87k(WFn=pGP!iLQ>=3B|r{JZoWTY14FaNN@J6{ckCJcz&(n%E>!fnzn z9aDz>9{Xo#&!a=6*QxZOkJMmN-mB)u3}vu-9O+i+LWd*8@-8zab)i@@wsg&FP3WF~ zb7s%zPe?CZCskhaGKwCzNR#FF?i_#0vZ=1ZUuHEZ-;hjr<8J8=OOIp;t=WYRi(^kSk9jD=DW~@Zhl)CZX#QDA z>2O^*Gs8F`!%rJF+3$9#*y>n{bvS6vQ2>?sX( z$GUQ4ZKPoO^La-dR(F7`p+TWyn)={YY%#6G))-urM2+H-bN~iy+%GSy4n+rtZ4c-t z2}Ls^?|jS_fy}zqwR-l?(3+ZBdWv&7(qa;U=k#vplX##hDnRI2XDRg!)nwrD`5E^O|+{CeC|Jy6UacA>=6 z0M<{?E1o-93uwh6Jud`l!m#9>krf|JA;C0ftL6<;nC)|`*uh#8`nmfw+}Ei@Oorac z+PLE=HLrB8#{C}c=IPt~|2Dth%0dt_z+-^*jfUUwdg?^KXs?baaqOW{8ZY-F-5Al6 za-UuxMZ=dJ``CU$bYjHtt(~P{SnLYAd6NZHm6m#!X<34QZ|nVx_xiB)#+p3lE;?wA zF=<%XNe(`r)ah$lssg(U)qCz)BnA-)*)xauSEE}|y7*xv!(PKRY|CNsd~_R zzjliDKe(19dKG9 z27Sy1Z$25X3`b43RQhIe<8d&&xMHpYI^xeX_i32I=Zfy8*Vb4=YQTd#8^@V}?GbCu z86MWK{Z8slT9YX(d!_0yZI%TTnqHUD9%2rY>=klni<-j3t!cqiXXrsS?PiM0Yb`i( ztnu>8xrVT6GppPv$P(!52k-j0rW5p;5Om9*;H+xdJ zpBEIMi3Mv{y+nOpo=^x|;L&D2_~)~Q^0#Iow37kWH$4j5Y346eqx}8@=1wbK6mPOJ zx66j8x}bz8^vP7s%Chh+a$l6*$yrquHf!c=Ow}}iV7p4?Kr3P0h%EUu32-v$6{4rzIdG$xVi!DT&8knhUjq=IK&_`uJJkJ zQFv!R-{2iTe7%=yzDqZI!9>By^eeU=@6hgND%(5{eng?wv0=VeGO#l4Y{P};YA}8q zF|%lr9*n#^WT?(HE7yU}pR+Hnjdjz9S5>iNmVY*Y3Dcv`I={DoKKk(imo^!|sqJC< zlecPt-SNO)<}WP4aEj~jx1)3*na-|Bu>OqH;sOZm+2w8Kfq5{8ePMJb6tX=lFaEw= zYxV!Kh4(M%_z!XOZCq6SKV_Jdzx+rmm^%34>BsXKN6I3Ox?DJp`i&mOyy)K%TuKIp z+9q{^hLQ*cty$dX;m!y29s0}^oDTKqzAi=&j&_EgdtJ3axAJuH*=Pe$e=d9L3|#|q z$GIWl936fvX(wa9RMUk4YevI>j8{FptRM+S}SzloTs~)cOSt8;D z(evg!nCayN&W|jersZ^l@qXSn<}LJwhsV!do$ludb}0wng{d2X?6`L-qoNGJY%V) zL3WS!M1Xcq&5)*Dsd zE~9^e66Nn7@af0sm$enjp8mSp`JGoTXUyw#G31OmbAI?@ZO5W3i zR?WMsbX~O;UB6bUCU^QSV&2zyr|J3ut-CloMSK3$)~??_`2CGTs-AXg*XZFh>~4B? zTbN%|IXs*J(lYnSogaPfg%SV*U=;Y64ew4wzPP-w`Z#y4_x1 z<_653^Jg)(xWQDttv37j`@*hiuETX{F3=<+v%vPEDU7c8U{mC22(%5GH;g}Q0(F_! z=11JM1Yc{DiIsPapl}OJo1AYBosJaDb|d3t*!#Rot+S+I?K1k@jqfE_ApW&gUs&Ei2G6xNX_BuS;G=>*j(3>v2am#i~8Sq z5<>eJpw?GQ*gosOPK)1vs%NU6=B-rks;u(Z^SY?A{rssz8QF%SUfK()(W?=;ZW6Do z;j6<#$!YOg!0cFR@8%;9s;VbW_a2}O)>oxpEf?c{FW)~jU8ai(OgvO|YUnFj@aQo{ zhj~yO3ghl=VZUWdH8o%FA0_@#<7Te#2LNE%xl-Yb`d9%z2Nkm3;8 z=I02hflz2vuYV#Y`~ou32rv;zmI9;G8pZDljo?_X(5xF$F0f|n6oaD!?4aB3*X!iW zTwtAHEbUnjACO&g%2M3J9g4R#mLxL!f^mLE!x0xp*yPnqd0UV%JWy`fU8Bw2-%HOe ze)Glz7CH_l+?QK{gk3MS$2+;_{T?QdZf@j0Pi1{=JtyA)x=Ry&9J10mL#5?F%DcPzcJBLIT<@2;WoPY06ZU=D7m&RTX;hBLar0b@^0#Pb z4qUkdH7yGxB1_7UnAYo(?H1K2Kk>qmM=CfMT8qiW?yU zB^KdTvW9wKmoRGVolzRlJglp>tpOc|Dr#ST6Ws|eK2f-t{9YbDUI?C_KSLXamx{*) zUr>Mn53)+%%#(w=b|2Bt19O)<5Hv331ZZ`BhZIc9z84RtSIO*t3b+_yXIT(s@Ug|YxR zTe0qxeS#NAxxc6a~r&4q9h?CMh zu-O6>R;0{F$IM~#v<8U}3=7ydH{)yiP-Cz4Y;Np^t zbdZ=mYyYNeVvy**^m>vaAdaOS)a-R>D__)n|Hd0tA;dprfa0mO_@_qNQAzdJ4%P2d z5x1Loq5R4O&(}TXZc{Q$WVl#fKBn>_7gbMqba%_)&nUV6eyQ%cFKDCGIQ`U@-1}(e z=Xc%jt^r%+`mCu}Rt2rMAIf4PbfMdUtDM+mZMZsq0O1^C12*->ljE7XpnLLheDyp% z2)3oojXP}s#h0}wa@MH9qCtHTVXVV_&Mxq%>9$KKKstZ3vaM#~IO(2qZQ;V(Y=?`{=1_O%gUsa#X29vWePCixC%CISDKPYn z0({b{3Xe18zQ<_Ub&DhZ;?TLNd!^-jHCX<*xqMA8Z7>P)8NRKjD%5OU=x-FL1QC^c zyEr{_hJ%X^#TL)Age9M1@4P3tpVQDq9vJwVwKeYf*ArEy@cS0czek&&531Z&{MRr7 zy?h+>^CB4w%<5vD{4S%y)g$kYXMRD_X^+L84Ag-E78?~UHYtK>nss@2KQ(ZAso7&& zm=44_$JYMkg(k0DNwy@I1|Yup2**N)am+vEk4N)8(izta!8 zNRHk(sFxoYZ)!eWV%-nkj_B*(e7Or0#MU2Fy3+;pqf9lfezAcCes^95ZmM*zMYkdUUVdap;69gKvSgb$tqw=QI2Nu1N7h4V)^s6)F9ekh0s7 z++Wr%yL$V1qm6~0??smFvGHER@V}LkIi>a;8rd~xb)}Oy+}+Hc zPM-I}m9CkAuSM6>(eDgllb-Lh<4-*x;qlol-%tV~PaF6x*6Iq1;n^EMjPZaTDm#_C zPIrXesRWosSi{QW_X^(!n1TG{q;dJhD)1!A<7_W^RfuKf&bV^@D_W-)pDJfqjZ{mm zE647>i&hN``&^><67{c8t4_((gnES}=^1zF;I%DLNm*Mf&hSsfrkrhp?_-4WJq-qs7|d`7`VqsAXp zN??f7?7Q@_Xh12(J61SO>H!B!QbsUMIznNT9Zmm`Ds|rHUk}te`ccSl|Nl#w;*T0H zRc5uNYm zYp4spgU3~=+%yE6?r(KY?>2+EPYt{1*BHTyN^7Nr24irFw_me1x-)!qV25Nf`-4r{ z!_UpqOt9@&s+O5C2)v4%&3JGlE^H-g+PA`2E6 z7{g|rnmros#*lNkxZXmoBXsNZT4$jp4I1hcBL>X*faG2C^@i9~Bl?c+B1eW+Gal%t zWXmpmizXSE#Z0uVMG>M}rblwmP;t-VTPRfddy&tqu=tIE_VUV4pddT^azCp~_5a=W zA15ovp4_&Y(MNK}`uy2BjGpji_^G?^(TS)&HhYekz~iN(n@1gV0KZWVQF|8IL3vRp z>4L{TU~_3oTv>V#7;RD-Qa6(U#Fon`CW{G(@wx3it+FcwTYjDKSeXG8UR5=Ir`()d_Y_U0?2L z?Fi4CIZhqSI>Q|8^Qp~Kj9}g%*FE71cHl96Q;Mf!e~8S}?4Xl28hWXe%)T}{1SZWN z%M7schoWcu6plUZ1?)0s@5N1?U?=*tlTUhAu)Q?=>q=i|u>5LjG~uYdS^&y4D#cCKEO1Hh#X`F*@0iTTRRy*YT1&i(SZg~_%-M1^Nt44w9ur7 z^=cJ(dPvX5d!Zz3`*0}asqr1O^@PeN^_V8c*bny3nTJmxhsSl++pK#b)6duCEr$4` z1DUQJKY1zg$3HcnKMKElUHnT8{3w0}+4)tp@%R7T{f0@N*;H1R&ZyoIvmosYVt7n` zke(=|1C6mG?u6dag~#R$=`9HsaB9k-6Avxjff;}JcF06~(C)N#NaU?u)MYc|qEqqK{jO z+~BH6;QQJg9?)SyFFoUE7f`kJeXH@t8Eg-(nP2#h``q938067p1c{?JB&diPgQoBG zCEgr`bQ11jQ(hg;)8UNP3FJJ zf16PLd2Vg_yVt|N)Ie+bYp>j|qK)6bAJ*@f>SX&`kz7 zx(D0_Ca3p7^=*2cV99x5G}tV)~WM@r@5wktExpO zJjj)Me((fy!xU7fckhY$=}Sm*Y1daG+PBdCJzggoO^Q*a&NlJ6KD&QZ{8Q`Whpmf$ zi6M%YpN&78F3SI(){myomivi=_cHSBQxrgq*p2>)g69@YZ`){ULDnm#rXLrt7 zZOAjTsNc`Mf8LyuH&J(9H*h>WU}DE$cbKzQf3W7O?vS&nu=(V+?htsUe^z3g8{C_d zArmO>1jOntGw5@C;YE)(Z_jMChZW&H^tbG{0me#WS(_LuDDs~FqlaIJO|pX^tC-0jR(pYY@Nk{AFaTh})q z7zW9wHGM6l`@qp>7nU`=>j7hH-(2#xCtyM4b>w#61J>WXKWP39H`uAVFm4q0Iii%y zrE`YeHUt)$b>jLn1Bm=;EfzC~`#s>XNtgSSs6a`Y`G?MuBH*H*2dD1+=XXf1-L|!O z@jM)*#B?|4osxr$-qv-0Fft8!R?T?R+43j~?l`1w{w_ebXq6}W=zc^Kw_KSV{izly z9-SW}I;8>)NWMQXI`cpFzD+DO&+WyZwm$x$hTF?yYxRCMEtDUE`k~q>6eQQ``YsW- zkI|YF7^(gvb5a&0GWHmT=vpvdpbO>F{>wsDA!X^tS+!y2aGH7R?wmPJ(Ep%k>4aQI z$WWx|*JV3HM_C_l*%J)t_j&jV?+aaFrtzl=Gwyr6Mu-d_P`;XgfqVMSV-B_l^S85a zDE6>{Wc$QT#{+F3pufiUlQ$e-<42{hT2a<8{k2w%(*imaX7>+#`>_-FZn3@F;Vm5k zZcdXGDYk?_j@ymxStES1cnb% zHHMEb#Yb}Dxt|}{Sk=|;)`QxjU~lo)1dQmYlI|7O9gH5C4n$$T;IV%5r-$A_aLDz{ zGPkfmxE3+*X=0i;ED=e!FFfB9rj2_LIV`O^)M~G+)+%rW528=s&fM<@)YlhPL39UL z-b-O##o*-M;)KhtqA+2c%hjjc_psmk;vZ>MCIU_CW`-%}yhBYH10qvD-$!|ShZQ{D5stJ(bAu&c zD>J@L82>!}sPYe65C2d@KZ-{|cK&Kw`2G6f{&<)yiFlkfmyv8&zAwvpA4Ba`C#5L= zo5=cO>hY1{9bwf3*X3zqS};^S#-@|J3FPdao|0E;i^ zKSYb2;2>+J|A;4cu&~#@_micJAjx=t#7ZkG=os(n=-=5J)I}HdkJ@1jhasbeo&hbVff%mJtV06%;TgyN60Kz>-tB-DXShktH&gzj11U}c<(tM^P zd^~=I7!`Zux48dCB*ic7Zsbe1;zc9Sa9PpRnxYcat8-a(Kt2s*hHOqJ9w@?Mck|?# zS;}xpra)9|u_A;=m-qZ?AO{WdGMNE$#9-~Lv?0|muA}kkBahChnvQnKDtx*T#6%L3 za~HgM5+tZ!s{i)lw_*J2f#Qc6C{_O1NcHzuA^-R&KLpiN?d`@vJtgKz+}z7>SlNAz z>iG*O{o^EKi_6c@sLQK&N!^x*st$);MRn}qR!;@`#FbVM)nqcKc{}&_dmgD*EPHJX zcLuCF^31stxZm-V_l%}P*Z*Vh%fqSM-u}%~=6Rmyc^>0=C_~7Q455Kar7~4YBvh1; zA{8>FqLiV5kmpW?1|gCmibSN$h0t$b*RQAd`tEb>mz+B1yyt!W^Vy$!-P5|)T6=GM z@3q!F)6>fi1Idwo;8pCGIwc0*AvBKHoCH) ztw$5rLO5sGsQmorR|U%VT^+!f^D6rw)!z&od(7Az)oeJnC z0y`tt(-D3W*kzud!U?`DLgG>H_z33|Qba^PXM^{9lEb}3+2A~_FeQ091+Y82H)}hU zVUs+LqT#vK*zs&5kLOX9Sh=AkFZSl>eDR6LbDF z!8Bw*pwqD7%s3kqr#thxo@RqBTZA~CSV#j|Vny(F!o5E?oDA=s(iQ`YQHz5D>!qQh zdh7MxSP9_sA`ideDFb=K{(}3D5bi%Yq|5FgrVUYC)t|P#lLw=#D|mc|b)l4F;#tr! z1deTvZs3_x2bB7GS@?(ubT3a>zN(cGKJN4~vLf8KRPIzPWZtX@EIYOf^^b_bhwTrd zslHbKVI2w}8BUBB;xVVI-;(Ym4`NAsRUI|JfL$t_;i>D4=_{Ia`q|` z&Lw`i{@CkJg5afR?0>DC6H0u~*k?SZ0(A0FGlg*}a#K}mJ59|)Y?PnA(Dmpz=9fNO zL-W%74{^T_*h0sbl-_qYKhBZD`M(uO)!}!^7h6Z-d=}~lw9yDV&OZOTLon{2aCo9P^jA&u$M|R}196i86 z^Lz@zK6_p!JF#nr1mWWWr-poGeu%(?AEcCs!=VjkA4J*-=NIo&7B3*YuSn^gI8}L1 z7jBD*^R?BX;9ah}q~M4Voa!yKN}u%5~4yc0r0YhaWAucG%v^+o~Jd52an7w^#vKwnT z%pOxFP5}>R2IOttv4W)VZP4Q91n<6-LcJt$2+{JARr)9kwSoG1>up8htVFf2f{QfF z1jng_3-Q9%-9DMC^y%SB^M*3zwmi)4%pw2G+Cn6zG$-r`4-XVq`_FpskH^{voKD0p z|MrLd5#I-lcwFb>#N&+X6U+Z?9Pj5}g@3kwc%Hw?5AF}gKkIkV_TEx)f^H{7kn=j? zl4YkhVJ}nKK4gXEU@f)rX(hUZ^92jv?%~)$4IF(ZYa0! z%E5@8=!B1~9TYiDzAcK82YbqrfRFJSFpG@dIJjLF`WypF6MWgA3H)_OBbh*6^7N_J zR&gjuV6tTSDh1NfmFw$m2%leY2U}C(eI2F19?x zdHt*(VtZo#v;KaUe%M~F+c~XfJr!aRI>l~i1lB*IQ)<|D3*#!tY5&Yg0~&z>Gy$7f z3Evxxy(sZvfcpv7hq)X$z-BHm={@1T-vDLLN{X!_ke5}J@l=#>F7OqtvDF`S;KIQU zIIgk+EWdt{{CrjeEId2Kzv@{)2AR9it^^gB<18I=BAkQjF{E-U=D7^K7#_NvLoEy@ z#t}PTtl@zj%N{nVo=}1pC!S8(h{!|fh0B~;vD%2|1tHZFSR%YR-Qz`!4$KR-$1>8G^9gW>{%`1K!YjW_&J`y~I z6=hv~(N0DUvrik_^Q@SFK0v2n&$u`=Xd~CIm)gR73!4idm`lFBwvW(I3{XqKIB zTLCTXeM@ikYXjMN8Ao@*zJko#+i7Ors=;FcN!d3k+Hh%9t`wdbz*Y7LYrU(AkmpV{ zr@$uzuh*>9744UToG3>3PHt_0;9DkP9xGw8tny*bm<9AC#M_Ar>q1h|_VDx^!u_OF z$NdgR%EMCbowgy3a^U1G)DyW@94=%Acv8F}oTnP^@h)M#40zm&Z^gFB!ZM%w`cijB z@XMjtlwzYu_pPIvZg0Yl|0s&u@F>HGJ9^=N9v)IMe zmrVi#*q~?kDi=G#eP|m_UiTp*7lQoU(XKnYt$|FRe8r7&Q*aA)Xge{b3vsdTO1Wms z;I#(zoTRuBxJT+zRw}9kr?=lA?|m)Ezm)vfy4tC{J4{eNI6WM0sR(4TLKK z_bc^{OoVd=inO9%P7wA9k0w!HpxNmNm)@DSEj=m>`g5;z zKff^n7QrNcnJg6IwzMV6tQ7)Jrc9?3_N&%Eab0o#hx-1@1b9Dj#Jh*{zYFm^ zeire3iS2MXDJ0hayEv)*NXh5TGkJ>B&|)MUW2t&t^s?qT7VV1MH{hPbqTL-lda~s} zbA+;l$5tL5b+IO2DN_W_OILKXJq#e?qiRMk;q(2&hIOAm_{tJKPn^9s-LDSu)fb(` zD%GLU&n%}XR~bssAUy*LCD4>D8T31$3QTtr_5@xtgCh~2PEiWFL9cd6$ZlnM2z#xp z%Ib~i3^dYC{YDb zsx@3IGAY4BdrsPTRTtK4OZP}*`2W`ZyaT^51$75Z9X*uRL63OI^*4^sng+u`_|6|c~o?J9`T5QfXe&ExfiO?c9!z8 z@M&!@_Y-!ZxUUUwTx;aGo+tu+ZP19wa~0UIKcMr8ungQ@sijgt*zd0$cf*UHS`MzM zKh|7tkHEy~UB~Zt@O(FdD0eUUZ<$y3LJyN--0KJF2ikZZg!okf<9}Me+ z!Okgx*=bsh3>ROQ|-HX12Vv*8w>+WQSFT(-S4bm!UM{d$kr zdER>dOBC?_;z-;rT>ei*;(Uque0dY=|J@wVmpBhxPK?BQ^Kw-F;051}HAX^G8D(uB z-eQAi&w0+3(8EX0OB2fp`vqz+t|Q9{`-ea8Ut%lVtw`9nXwkoUiH@pC7-! zRtVDG8Dfqu2wfDWIjoRWEKW0{IaW(|97+nwX zZ=kjVeHGDxJQGn^@AP61S28n%a%Yk=4yuCpfjsl7mtwFwU1fF7CBpBVpFMnb(o+{= z%Uq8O5$+$_!TiWU+FcNqi;6EFbx{KKJq2~j^!AvLPmovGEjz4tL#EO@i&NP7D~VCB z523&6d11lz`yZkhMj}sK{%=LR+obx3xBt_TRQ|;BMfXF~>sFO@@e3n$=A+K>?{YBh zoRNuZGIJO=w6k!pCES1b=x*6@V=my7a8cirM+;QG{6Ts)ydWzmaEs#uFZw)YT7vPp z0mN^9%M=)70b>!5YqK_R!;Q0aY4pofp-9bj@1r5Y_m0fAxd$>?fp56B2qAnAaB!V# z7w+Fr?9R7;k zEbd63scFGd_a+9KtGvM;KGMVPERXzE>mRS{qU-rT)DZ9Yza9VX;lb;>&^&N`Qn*k* z^Xh39%^dZlH$kl4)ENY5U&DON!&vksCa|;g-iO{lA_umxY10GR)S&&4*Zy-KB`9i! zn^tztAuabq#!n|{1C9Cm)wbno;NzX0T3s&&4hIs;Dz|dLQeFL?yO{!T_>vV>k}3!6 ze02A#n$?O%d`?Jpn z^VaKMq7e4IAOBnMf7-AubX>n}0bxIn_Z`7~OBFalx>${M zzo9e)i9opQZW`FkXmsq}T@DD-J?b-UMh;}Rj)^2b=Y^RWiLIHs9w5guHuBhT3ouky z?2P!P3)4xd=hhgZP@Pak{y|C&xY-j*XV0>O{-?gXS3Ou^Uyix(+FcZoadJn|OTs;@ ziQ3Lg!dOu59j|@#QXVIAzsIyjfdMU6o1zLy!tDKqY~FO z>tlmW0*SA(A7k4z7^f{ZjAP5=i%rxNhcKIM@3VBfMPSGI4g6cArD11X_mwDDCJ^s- zgj`Qnpm7vi=XslOk2=GHFprB8u$79(t}LAn(xiRVj?}Y)ez|LpwK+9V+dFewpEm(B z|Ldws`sUE!dHTsm9#8mo&Nq74U=`4nJ4#>b(}8wJU&#qubr{dxsZ_dt@t0E{R;?Q z$Da*_+u``L_J3Ocrjz-dmPow{D`CSV>m_VR?!=x3gX}(ROW%hy7Rzz0?8e!Upj1|v zX18u=Q{aVXGr9%Yv+AeE^w7i3DmJ;1Ce#{*R{6N z!k!)2Szj#*I2~G@AFHt(I8%IU+Eo=mXy53r3>9aPO1evG_@M!Mtbi?7*-k_|$)0S@GE)(xW>r0viHNkLh9_ z?^J>0oLa5%^lmJk8nxI#c@n$i;$7rupMb*+4Um87D5cg0Cw zZ&q^~VZX33$G0QTS3;FX_xlw!t6>KDa-nslI%JWR6zH9x1k>TtJy_jRBDE$g4ue8T75zZFUK`*+J1ThHH}*Mj{| zl#_ofuIEM!TW-MD*Ez_C%;%E(&XGZU`o#yz@0eiQy^hrDW0Y|FOw-`_LoV=I+cKlp zLk*p+L$R85)G*TRcr3tF0KBBt=%|&|;pWFP$s*QlkT&MOJxBzF-h;baUq@?$(zzpj zO%y6n`#f{5+ZTZgd8e9_Bkf>^*kvev$qR}DXI5dM4A7Im?m#BZH_YYj_>B?TFPQY3 zW4HWjX(9DS`;CyNg#Av67wQ<82CyBT~NdBC9>_2E?n-Xzj{(z1nl2`>D_T` z92+-tD?AuciS6f*pjdf-D;6C;(PNVtIp28#3$EM$FvYO%`TpDRuO5cQ*6***bHVWn z1)DOQC)16zi#ZKFUTi>aN(Jts9DRYE86BJa*!2}ND&MdEzL^c=(=ggu!si1OK{N)N z8##gRvdS6#ZDg?H5W|gEYYFFu%+{)UgFb+yulKr-ijY0pQ_t$F53X8R>x{Mp-0~We zojAb*r|#A-?NCw&{jW!6*BY#c%=fWNGIdm;s&MexTUsSJaXHFp9R(lUU}ZM-^OqPL7>rXe= zQH^3xHyqEM*gTH;KAz1CdG`rZH`M4>+?Mfw?*sn-%vkI^Cbq-p8L|AY;&}YO3K!e2 zpUsar&d=H}TED(zDy{v2C1xY+?l0IjirtIq**n0-2evJ4Of74)Vb5x_BKkoZ$jH6B z>ih>z)Sfk>MyrPlXr$U-uOOWFu}={@j99BcY#%qv=VsJWPdE!90D8!2S+iE>0oNHnkcEam|6}TRy9NeR!4wbK`QtyPyg3FBW zcnymnT?bl-S zA{B43{uXR!@u5I++KB>L(|y%%#H15@L*~mzxt$++)?aB3c2kA?Vu!q*f)Q+an0=ks zoe{)z;Lw4u`sC0)s;04W3{-Y{+ZkMygpkL3F1wsy z0=YHIzgkk>pYL^_xZVq{*FQv&IDecIr-#cIip2J$_(J{tYCTf<{A&4P^ImKoq~a~s z-%s0_0yDh=XQHopJa!3*RE*4+4K#wq?AXSj);Kq2Jwn}G?Xas z%cNbe6`0U0*18-9X*sz4#H3>?8-aEA%@5o?st%M=l^N2yTJSBQpVdiP0_fJq+#i0o z0-VzJl=TRq;B*x6{*a{zIxzd-^-U=-yVg`1_fQ#T3b?1Axl6+NHBQX_(M(W!zp<1# zo$$TmGXA@JtCXPNLF(mkJz)s6Qhe={Nw`<&Bu(@Yqe|?0f!~Jcx>8KkB`Q|><-vdJ z`X@C{h~@bB6U%>=<9>+oXZ`#ted0WR7bngak3%dc#c}U#;(0C94X%$PZijOmNy+i{pT%G8?`PxV z`gk6{8gc)`NF0Z_otP8rFO(DeA?6G9vuHgkgPqHpqAnrR!yG;QWaN;?R=M-j4k;)u z<(80L&kTt>(~YI$nPDU*b*pR<50J%=9sb6<9|9k^ze3E|7Q`mCxt)j@2B;1Ab;Qr-4ley zi>x_VWC}|*pL>31GcSDf75Yd!MF*7%&S??bDdBvKK)wk#7hD@C>w2|;74~qKXN#B% zplt!$wOMi`z+#vFhsn)Cu-_nB)PI{aoa6qyvqVf3J|31d)urSDp)G42C>g|nX-%oe zH4i0Ny4tU?fkgx84rC3k>mA2J`_J2HD4oPw_HE4+rw_nbRLi)vO?P36s%PwS&30l( z%4kpX@fiQM^BX1rmzj`O5#1%GNJM(LOSE$ zGQ-k=Z^Kq?9AH&WU8&V53fi5cfz8)tVOrQEAk9h=xbA$_PD_!5hSa@VK3tH30o#e} zE5STaF{)qQ<(-W^Yq2U(-4KO6KYT?gz@h;Y%r1x!sBXh#*2YZpTi(PrfBCo~x>EDE zt^Zi$$#fO>e(Z%txm&3B3(R2j92R(}2z$J{cgtNzreF0uKs?Sk|JiZF?T8WgLoEN* z{CCH}{r_s5uMVW*E!K{dKVmuVpIH9eIq$mo`2O6(h^R8_BFva8RwAfF*!+a!LeS}`oK?gO0Dy`%q zye}xcz40OsY*?we?|6X*sLI5y>b0vpaaHZ=i76!JQs8O3_mc<(6Ut{c(1mU7Y_!|T$pET_N+aS!Uyx-_ zT-UV}(}2t4)Km5^DPc|XtpC(o!l^@*XmFk_Czz=YFfD(j3r|A*GuJt20rR-9HCrb; zWH3BxwM%A$)jZQtS#pvPoG3=Ezk+b@Y0hkFR)r+U#?GCrej@@qFQ}dvNo0f8T#BrW zEOJHgND=mN%Hwq%5_V&=OZJBmgxNdH_G{TU&mW#=Hm-0Qsc+-OF4a!F z31D0F{{uhbe@~2{r#-ny!vIETdsOmQX?OtBQu^4Wg(Z@_V#Ja3?qkSdzWi}qeT06(G+V~@SuZT zpBZM{#ZgnOz|cz}@+ftN-ngotI9fq=<(;J?GurbwnE6Q;Ejlb+b?O**DYAs`(?RFR zhnW9e8@BzypRje~p{tD(C?WAH*K*EQ!uNtr(j8{D?67Gjz2yL(9K?{Pi_;VCDGM0# z3c2`70!l<&r%&4n!};CU#|r)V;8~{@Bx52Vy!XhL273v(u4=OJJ-a;g1a0@q2~_~^ z)v?=VBqYHvs|Z<70amj7KG z&xaJwm)BzL=JQLc9gjz|{L|B#iOp1-T=MNdEJdWUun) z$m5Hdk!w~>BGju5eVi)jP`YZpP74h_RC+RTuYi&ms;}3j_vMZ#y46#d?QOp}x_w)r z@r(*J%1m2y$K^;XvXAY-hhWNm$d|JZ4oA}@AfmA^BADF?_mi#ZaCuuzI7iIR(=+NY z8w`8UEUl~MglSW_YPnk&Qn%fa%Y7mOs__m-mKBS_3kH*0L;AwNAI-&KF+Ub)Z(|?tq!KJh(nH zv7F#%hm8h7ta^hpn7!z>4S6;6P^uaJ@&?;979qo1xhFR8$NI%6kEHQlUxLl*Z)y1e zq1fELt9k`-wb--7qi*Ch?U-g~5#91!uOIr~3mleF(cgD~s=s3H-oEw7!BVXB%J$ft z(kU#C&gaRQ4bjBwl`YCwnt!*;sUk}!Jh3qr9=7H&sxJ#fCt1iT|uLnv3G(9GIgeC+`O@k+sRfvlns z-)O{F5XAri*&{1sj}y)#;&b`tr8I>pYw2BYqH$_hT#~J6(Yx0Z9`=`fL)4d9lWEa*A)2PX3==IEkihE8WzHu~BE#t> zM_4w>AR;eIZvOb;c8IjpbOzmF`J24IWE+B=(`lL81`-RGXm0wbRh~@L;MXXQE z=d=IWcHBR)9WGxi{xW|~JKpY!Sh*Upct**evnCH=f0eoJ1lt>g+=;qNo^uLWI`q1E zY&ki)#E&(grHB>HF*UbWy~Kzz8$8%2ss9Eqc5Wn#Usbu-Q}`7>`Z(FgVXt~GR^5yo9pzLXNoUnm(Fon(T$bvg88seBM+ zeLHs34l(HMLJe<+5bg)$*)15VsSNB}u8$uVmj}0~jEtx$6%fTFFV(y1!qT_Pc~4a; zfF7G(?P!PssLuuu7QRyh!s!7BUt)U zF>!Xr|N4Jn)fc6PE=?+Ij?I}o`Pm_CEm=T(v*~3l>uQP0x}VqSZzo1# z{l#+JFDZMx{Z}I%kJv9RUnu^xePnJCt%s;(m?}oepr@`(%U`<#!uU z^;^M?woGkaDiuJFM!%#BuaU1JHUEC}E7AE9`Rx)JYG67ip4xXBCLDHm%~_~l`EvrgK>LyE9b zYI9dcD<$Z-JPmhgC5PB&(jCr@|Sz%s+E!M+z zeslWMDva7q#$>$d4z|8^b*|fp6kbPMAFn&kNg=K`ACj^sme1!0Zzr}R#c}=LjiloL zZu!sli#Q*W_VpRO4%)t3kd-pS3})~W`RK>CCu>t5LglL-Chu5;G{-LEx^V6=;r)5H zq$@9moImmU)>#U|=lN~H4gwuCsPOt?!!whtsNIljW=Zi#qw%%Y)xcAgz=fkd~AU1&fxuC1* z4B$z>sp!?kDeOV#o{#+3YB6P-7?j1jd$`{Jyt!!y`l$GILB0gCNMb@Rg-k~wghXzV?w>{8ZdL#rL1f~7wE;jx9pY`f#A1J zRw30~K#>=jangtZ?99tobZr~M23M*J?Bb#W?~at~%<5Cvy|?_vw32VJ0EZL`Wy-hM z_)gV6Z?E}(+qp1|I{M9D)a>D+I^vwm& z`W?HlCeCA`u7g8Zw`6$!a9S>Q`YvsCx4SDQeEHe#!k!x#W57#imAW7I8{y^0=goYG z>ytv<9&g7vj<|fGh})6Eh5GqbdZhCB-SYYJ$K%hZM@B2uR$9>+fNX4Y*S4i8Ln21^ zUv2GaL6Vbl`$PCCP%6VCbH@`H&=lD_A2{t<(diQD*FzO-Xoj|}K2Yhwzj&q|gn~%R!zVH&UbKP#VitfmK>-I;!h53ht3t!Dt z94-tGJK1&&F+5l4{m9yX!S>%Bg>h_Pe37+o0^9fI$@}z4a60ub9HS>v3=TDIvzLW3Rw_Ziu`8;MSZz zH>|1=)Qt31f}7J9Q@`v`1NU)<2;tc_EH{pNM_)}GX5s(XtJ~@W*1?tWctraQ_M`Cs z`5+9h<2?AER)1t+MD~Bw`0pje_N4fK@8#FGlFH+E$$wc7{26v?dNw&A++UP)lc@ly zeOG+5v$+$QzRamwE`A$PEm(Wu<@Rx;k#5f($LFjlqjY>p>=sVcdF4pp13v-O!av)! zpH&z={C2%KVkm)jth-BplT8$jQ_hoQ72!e8hu0ZZF;JrZO;whj%%K=9;|h%0tmY4& z-xGJJd|Svak?`7z)pGT3Rv5S<2g7U*PdOe!VC`k`*ZJB%yZ*^~k$v~1`u(sVS=zdg z$uF4XbVZIS;ohJU4vB+XGem*vwED%*`RYJ1p=)TKrwm0|H=^}@m%`IyXFeZ2p$$W< z6pT58(!g?Z_1G~sb?{VDh~a2Z0G8vZ`X@dyxMS?l{4rP*SYw)^j^>~svdy5nSydIj zb!>U>yUqkk(OfSEHF?NknG)BNj-R3J&?dL_T7Bpj~Z>}|1I0qT}THog~9 z16~%TYF;f7NLs@bb(xy*yrL7BEzLp+^l3fkCJ68QxjgN-^KP?(s=mjp=2=$AE?jwj zlO6+9t&VqvNIoD-Q!2kp*yj*Nzbuq5hHyU7dW}52Bn@bDY#qKk-iqnf2dl*Hj>O{5 z=v0ocDaKw>Dus+Jaarv8CmudhJnVY|j<_Dqam3}sh_}y&#CE@%&zH~dYX8&yx+16( z@Y&%IvgfNU?b5nFM0$Cf{A_H^kM+gR#Y1(z?iC^-ro1B=qeF+eTnnfIInkx9-mU`8 zqG(pTq~OK_N@$e*re|_I@@S5C!FA`W!l)UggcE);rEM49*FD@q=DNYN?)_)N8BQFwui0k|ZHFEv>uk;-r$eSe+8oS!&u$=za zM>7W4VXSG=Tu(y=UfsDF^Vv}Wqym)MY4#J=i}O=qMm0t7Jbh3pj6oJGt`)8x{;UeG zvQImd?2&-pd!HtaH;Td2>ihb@fEsMufgBpsL19R3gq8J_ z5p?AyWjs7O85E-Gg`_Nkz*#FeNp}0l}Q1g|W zIaW!*mj@d*GP<#WrrpyU$!nQmkX<2AB$yKnKMT-0-4lm(+1;UE9tyyFy{ACRi|AL8JGWb1tnx~4mk-qz5FmR*!^y~`|L z;Fu5$b6D$cQIi0Qt?qv6!%~nH+_ftAyf`GboDGY;st6VyOt}tkRG}^My|n8o3E=cP?=Lfg*3Sgs0cZ)JRk6SZOX z+POoW$|w|MZw(COQ-L$C8ydfz*Mm?B|A#9OC8!p=pSZe35H|QVXz#x&2G+%Q$idrKJOH@B>Z{`3YK_Q7H_kJ)t~#8UVCo>^`rC&$aUSX`|C`Rwra#pbnGJ3Q{+jX$0L?%9zk zxe6MD_o2qEeBS4Xu*gx=CS?M#KBhC{=G2Jn_Mzv|A?&Mj&lJ+~o@783?P>dOcCn&Y zo?l)gkSK<>ebbTHTPJ}&w=UTqcTftwTe)An#fua5D6y%rsTxPZrpmY#PQS)pWp-GZ zZe+*j-H$xol!kUW-E$$_nen)+YwZI>IPYi;C)$Om2gI)piyT6%9XCHn<`_lXO{p!q zTgH)1J6mTZvmYUnJH7_?o@zuQm+QKD#6%&kY-y`x0<4Ii4}Qea9=G`rTpocqZW}CQ z&HwSdL8ckw;cGM*i#d##8-1apfNg`TlG6%V!9=0aXK6X%by~{1>f{g~yj!0<=r|?@ ziRbGT_f0E9_6x}^pN>d?$|l|S^gI$^!!jf&{zVSrxre5O3Ht=dP8<6?Cfry4$fikC z{4O7CPmzoG(8LdC&c_&3+USAL>yVN?F{Y4zn7&^4lLi#pw_4qET><0k%q;uu)!?Dw zzU{`U5^#ddt?dfo9OC>a<-AzJImp}h*MbL3TMzq|dfmE_HxiXXbKibqPT`eAd(I^|DsACF<4&~EbX*%nl;5zYl&#Oj zLIa|dHB+?x&iC%Fk7WLu8AZ+bG%UD z1DIUQH4zyX3@JMISm5!)8wi;}m3>0cB(j3hZpG{Y4z!W#0ng3p8l*)f%;vo9HRK_O zftB;gD~Qlpcc+L1dXODtOY;xmgX>x1uRbWVLvQ__Cnr7$LFLKE?MCtPP*j$-{q1UD zxRfnc{&0W~0?u-LzLy{Y`iwV+Z>*AqqLZ;pyF&zl&%WvP$6$VV^i|H7!(S5O_)W+L z4y%K*5Bn#-QyM_F<86EL7d>$N@Xq$p25ZoCh@Y8oHiYK|PLJf;Wk6k=?Rpsl*z;g*g}cn{3;w@to(Z_vbwKQvlpkWfzlxK}=dYG8y1%EEea^nKA`uB| zeSfLz(hG#ck34H-)fmDPGCbw?dRu8|oIs49I0wy$p8m1!@dV%8QnyU7&Oj!Qs`_5r zS&x*(=Y0t|)PnSoyU+bJ`Uty?4h5Pr_hMg!DOwQieynlhif7hnJCbT?u{P=> z1sXlaWg0xlg8Fe9*Cl-uNBz@Qt!gZM{Ug8Ja4PK^4MSKCGCLdP)r%?iI2C`OX8}oQJ5^FU2%^?0S2Eobnm~$2Pbvvbc%F&pk~=Vp7UIipua2Kc5jbAa=5Y7c^uZinBe+Drn>=FC#tAk(Mv9&r6Ie^Nk?n8kV7cAdd zDu%I*VOJhi*e>U1g%;1pG1G*7&f|y2T{x`2V9i~gzBH!QM)NeugLPYQAO^R<)G z!{vV!lFIY%k}ta7vNfNaE!2)8`Eu))tu3!XxK=&8C?rdUMqBZ6AE;+VGs7CRHrsHZ zNt#u`Z8tel?b4R^ugBR?FNISPP1M5Zilj=ZLOoT~I+WFUDvBK~vfa_Id1V;MXt@+b zP1cOm?mQ)S%>KW=_p?rXea7DSAQCMa3e>dsk%j@fFwwYo2;&_-ohw??h-Du0tq0TJ zkX6k->7h+uk?qaVoBioNA)05C*RpKy#grSY))fy2?Z7d@6D6M{lUVal5y27VwQiz@cRyjAlXL=>nkX}*`Ah6I?K ztSsK3C=Q2Tz9(ZW69tEWbKJG=#^CIBGc)g+Ip|BJJhr>I0uCz#uMzXs2Y%_-Vw`@` zpq&-baX*BWME6Mk0^@y%}d zpek@PxG3m&Si)x)?{6&^Od!>|+VT{K6ddSe^_<+L24w5joL=d={#k&K{?p)+>{ zIvn`eQ9IDrnQo^?t0YW&GQ3&QSV!0WTQ`cKN4K6$%sEJp&P0an|El-~8RI|0a$oEo zf-1%i9;dwd<8}7fQ)&Mx?=a-3Fe0%(zXTDQ9$GJJ{Sm1^40gquk0Nt*M+)zkjU(^V zb4Lsdx{$4Vnr)7RT}E~wciuP?&i_)MU>!|Kd4oCZ?4RUbnu%ph=#0fU{nvh3_kxXG zE^Xmhk=Kmj;MZpeRl_p(>AO?NO`8ad%5EVv=){2#BVS20@2%M_{S$nsq8Z2WLoTxD z(y8~^UT;?6StY5D~(t2iZC1Sp3XfO zt1^j&G94JZXf%hNkZpY9roaNWcJE$DM{&X)+n8bXJA~i+amzK`TOtWwTPtKvsffZd zOrowvf)%V%Lx!Fb)}KTwi$`UU14w&)&}e8{1rAGu+kzfxfw-x8(&zP}P}HIJDqT$! z$_)=cytIWIQtz+_A5-OoRRUG@_FEY?B`>@e+XBG<(T`aL-9gosw#y zu@ykU#$zsbOkky1hS1mZqF@oxvu5KqaoDhB`-s}zSuC-UWuN1ze9WDWwZ8R88m1;# zRKavn=Xb6DAM=pJ1LAp0ijy$^_Js*^|yAYYrmbSDv^%^RfA{ z{xgr|>L{&AML?<8ZE)-naxWHCne3Gj%p!LEJJF5?? zBK@`pVQMDKNKsHcHtaMh2h=h6JpEChnS%*S)y>Z$`>9qa$)Bi0s#hp>Y&V!e0w%i8 zU83VfpUXWJi0BbQDQ+M&Yu0e1JK_fUu|a;+&aC0ZgCSpsyrdy+4`=o(`Yz1E$6bhO z>H$^}O*^=0Jo*py`#w>A)bq#0`FkD^=YjLTDjPiBUya25n=d{oePTHojh(p^H&-RH zmm7Vk+Nyuxln=wlok6`k_`)k_`?-0*lGREriSlZ;<2+iKKy184Qkkdj` zzIW^?(7^4-C=}jupyQ8js$4uo_#Fdw;+%>LD?09l++^KCjcP`k$&YXiBA%aL`JS^X zL{?tiJK&epiO^796qmCpLkjp6>CK+@BlRb%oq})XA}O>-ltr(8z<}X_jix;p_}5MKt(lU8>q}fl_Up@mltn`7nn$8w z)`AYPYVbp7hxPr=Dn1zSq*-y_lnYkZu(^GUWQ9@jZi=EOT7=&tykXg7wFDBVKc11R z3ni}CeDex#$A|BK3*!C$yO6lf3(W(!!}W3g162~+EM-d%BawPL`kI$~K#U(G_y;i3 zp#P7(_YR06*&4n{B1u3%G7^=H1QCgS$Z5zqNKTRz1d*s9pqL0^z>I<-K~Mpa)J-%2 zDk4EZq9{Q?R1_8Y=6#<#-uJQ(pRTLx?%v^_GgWo!oKwH9>S?O0YF{R z?6~YWi;$`7G_Dn%NBYShXBKBt!r)$=+()`hpp+FSEqd_-N}hXxrgV5$-xN>-%MI;%rcO=*@@xoDrzsuKY!{j@ps`q9U*T^SicKaL6 zH}VwF;#!a1z4ZVs+!}PR_UIfMFHRkAp-+p+WmVDj4oHB{%(y8H$7ke<1IZ!NG8)YG zNy72=ITlRr>;uCpMk*{g4SQjEQWU>0$i{h{wGd{wQFU2JjW{;&jK_m$+mO>~%UbiCc$t>vf&#xvoFdx4rO zg=b$Hqs89OJe=RtD~5^j`E=Sj&Y}f1nF{@3@?UuUt3wd_$+yZc{pcV1;afTUXuYrD z{Js8`wAXk|pfr@m9w`q**|Vz0k%JrwpANR*=f^Rxs(is^pqbyHd5rrNa+5VGm)d3s zNj%PSYSds1>6TJ%zp4Hjq1YtE&d)T4riWdrRbRJ&w(E@?GDMbPg=^}qLp=M@;-bPQ zRAds!;s89PXjIe~+>!9jceJSS$M)}3;`7+H@jA*KO2PP{@+R_tYm)4C-!>lmtSzWN$(brr$hZ#d8$X{!nF)J0!-F&s&dszKgVHJ(dre~WlURK+}W zBL(XHQOjfkNkC^;Vpm!R35YVTLj@^D5S^!)C)TWMN0ja2T#FS-5qp914Si?-y&th$ zta@NQHw7}7z9OS<>oijEYHi|c7kYR>|A1PqnFZDumPWjCm_aJ z=FpObhXENq+~CtH_B35}H6*TZ&uVO(L%XKy>bB`E$5f^gtGFN1V9G|fwz)pw!B`%i z)$lsTk8SL&*;gsafhFQ5Ej2HTVrw6ZKt2BbA8Vgpv?G@gwr!hG>8VXJSZmLQquI`a zn7(56?W60mzl`U)f`s<_qgT;;_#a9bkfgwb^AsMPc)^SHSzn4w>1zL?_pj?h;JElQ zElv~k2y$`xuS)-{cnEg?EJ@%;@JC25mW1-(D;L`#v3c8+5sIZFlY;@e&FeoQ+(I|P znU9f!of1{%gGp+@iuGD1$Uh^8j+bq!-Te&Fa4gx9LeqmZeZI2}8)-&ZJNm6C^cK)P z)e(WJqDrx#<88A+8@5WH!?_;*b_gej!bu39$7HBg(NA_ z-M>lGimbYqX(o3o4>9+t*R3;YLU$x>Vl$gcM?Y3h@5`~7MGrg58sFT~istT7%hLP& zGiFa>%J8^)sTS^rXu5zeuJb8#eev$ z`T!|A`{MZt;Uh?J&4b2R`BLQgN1i!l`D+NHNn}&+watY449U^8CRZMCy;19FUbllh zu?68C?~{97H;n`zocE4brw7Fw!P%*Sp2Ys5ogN9wJ6t?01272AM*3wmd{ zmqSb8GB}5en?2>)fmlvdxpl1lj5@x{Ps+N(h0R)eMVuLA!1l(xO25j@i^=YarlmLF z!D8g^2j8*g#F~>lt;{%NvEh4rDU|WQM|j6Y^vR_R3GD9N@tL&Gg4l5{9<{Ri0u;-%}CKBV;=Ji{9*cC)y|_ubWmYmcVXWQ9i(7)+GQ;$pq$?$$R>vj zDkHZ_Kjxl6T6BVUinorTiAPRSvD^p8Ooz4^s_I1 zc^KJle!966@mR6Y{yePhntG1bd6yPhx?Lv28sZi`;usc&DJV2@zon)SC;RLe$%!gG=-sVnC&{ z&N2c2UST9Ti?dp+a*1vDm+^gM`O7ApRl8`@ISy+z>de5c!z|I8|S!lFPOsV=12$w0HNR zIULWOtG#Za=bk=1@ld`R?Oc0vy_(8fw5@i=%<(WPzj8-*l{){*;wq7Y9 z_PwGQHncre`)u_(Y{1!OCc=9i_O{FZ%9RZwSfOi#{6UbyE-H2Bs^p4bU=+zbZ{}0=h9Sj-Pw%Lq;%6n&y@Oh-tnf|P)4>P>)RJT1RzzBuL zBXujZ7~zz@QMZX41=yDKJs`U^gV1T+)3TB8Kq{_Hg}tw&#y)2ZA>83i*o2`k!<`uX z`Id&Sub7FnF4@0M6;UqirMZacOqw}~c8wvD?bp}r-jIXv(eIOq(9A$ub|lvM9>>p1 z+nnaI-+2fzW)tU>MKP3iIQ6gwzdK<(E^a@Gu-0a_8%PdfWZ^@aKs${qOES-IPY~>iMGct+ z{=7o#MmL%>qL|31fM#9w32Jlt&AQ#i+z4qxv;HjktNi}n_7UPF$gkBW==~^3@JFz> zI8Dg^y^@4`GrL;k)0@cS@tYq?&a8wfSGRK!@7REGa!vN-7Yty$l1u7fG9zrg9WF=;5)$`eGb~RSN&LO zE{`qr@pYt*-<|Tl%rGj@a&kjqb=Yt2E9*I%b*ObVBRN}Dc*FW?5z8a_lL`JKNPmcJ zXI1MsVvzH(Z$9HL8hxE(O@{wl^mNKyv5~1Rv|Xm1Q{4Xh&&fCC_dRr?+ypu9Ii{c( zc^_F{ZOEyO8$@DoPj2p-?Lp>Qm63X?F(i>P|)=$KE)2Q+F5mE^SO z;d5rfjH-7#T`*mPrA$#`-M5)BselhnYR#Njcm@gYOqdLIOgz0{K0pM^n)778l`f9O zTPLG_ErQr}X{Md}Nzz!g%9U>2{eoC~_YE9(&SzAJ(=@nD@)24l?xlBSgnsko`uv~|1iJ)DFiS`iBq9H=F26Nig5F*_j> zzI#1+9RK8v_LwuMDixR_=a?haQ+Xp01N&huI1{fVKo}jG>{t zvTPjHsr$$~8ZwPGx1Pg&vU-FH(8d*M4TYmNnl74*r^lE4em^0_KR3&PLzJ$2FB_K* zM&@?WWmp*aBh>K}m6i0z5byW7cjiYPBJ{gYStB1GBbAxu7F$}wkcq9XYDv-&h>N8d zE<0@+QQDf~8vTS3xDIZM(J-R|qkBGS9+X^|saJUG4IVzMG;Q^#&vFb{q13*e4)}Ed z1zpFEE6%WB&VJ*Q?<=@5!}eB|l9TxNg>R%Y z(=z;hVOO~JN>lul%)`6m3r?)q&d_A#s1=Q|KsD=ud_0sfTd|SGlY*4R z^{qwjqeyvO$Bt;aVU&^WVCZDcd$cH8MT}#P4eQUlc)>bx6&4@Dz%hcdV%84PF*HwS z(HJ>}DNVUEsCy1Y(Ak%xYWw8v6X-Qck*VD+XLo)aL0UIe%)HZ@Mgq&Jd^^|WA?wMP z2cK~{jr5Av@|w?&Au~_oFDEz^AV=~;o3?$-cEsG8M-^K&@7+^ zaozb3Qz)@HgzZY~ASE`wox)I~8Gnw)SzcwjFn(;Uv3<3~DoL!pO)aj>LjyTUU!SF=GaMe4I|y$D-R?4<1fARE+L&)XcCkK8D?sBBOH6XW zG?JFl5lFKA4T7jVrc!boLT2i1POR#cYb*)A{|q>wq)Ws(iM2Bcf`H}QQ7P$k?Gigwl5S9bA^xU`jG|Xy zF|p-OpW)Bb!f`2Nu9NzVzKCOF7r5$6xDPDZulhw#tn}^3N49To5%)ufkz=-_bDG}0 zNT=b06fwwScmWu?^JIK%d-toUAr*AA+ zs{emu^}oE@QtkW8=0D#}+DH3J5KXFbTi)XL79s8M%@*4?h(un^5EvcrLb?uH8njZo zAqwhUT>|G^QSYIzK%;wpNM}OUu4>f7DkM%PiXarhYFq zw((h|@JN;CSI0j&jrYrIB~}O*d3KEI$Z5osQ|^hl+c|`tEa})euG>g>O@;XAu`xu+ zgxW;#_z1GwCYWb#(>M}h|H?d*egZk1FPUB{v4HH1^Yab5Kne=0A4F=a)4(}tkBQo-#QBPQ@c zxv>8wKX&*OU-333eyoyRV%bwqUM#v$+S~oHJoZ_9M@C%&U?Dm4zMa>5Q3Xj)&2GB@ zbd2WgOQ+k97yq9_=$AiwU@c{rkiS@duYZD_@2&r%>Jj4j+sRvprQaE;yjLsH5@Ov* z(~iu)e+=Q5x)3At_!yFP9f-x{o_(9iOHmnt^c5@m{ymS3G8LYD#KDem(7YSN@Vi&; zyEhD&wALWyo9Jaei_DM#h){DfO)>- zGM50>M3KL__Y5m`zEiH+Egr#WM&5aq&Bst_M@m6q@rD zmR1*0P0tHWNlN(pLwoBPl}2(T%50wjaxet3Hi=p;Fn<-9ydgDy=Uv>F@lP-q(RRUe zTSy#|i|w}$Z;nI5we|e8)NZ14XQnpv)to@?O_NpVemaV5N!c16cCi?dTJvbdb&G>Y z{v}-vZqhasXO(oFI=TamnQzpcw`xJ%#wVK^*w3Lu?~*5up7la!{pjE{O7hk3e?mOp zE4Lw+$<;n>LIPH3s`_lXgB0F-(-kH$j68|CM%F(?0*9$2^=dj7kf=gKiW4>+Xs(uA z@Q5M{9P&{tHVb)*HhQe$d*MWat$F$sab87(jh=tmc@KYHV9PtTsoTN)*vox^5~*qU zea2GFyilf&Ws>_DFHaP}lrL!PBA3QcuS;)A7Anu8QrAXlI*Rocw|Cd~w(ED+Blsam zLiNRILjJePKU)7={Vb(N@c*}!ds#muT)4XdZM3R?CDf#Yx>^h|iRRa$VxdjG_jp>+ z6I_j!tEMCf{bq4He=ir3a|mbLiLp?GraB==dVe|+xK7EUqqXhJbEyPBC;!Lx4{Do= zZ?YB#;O7A@A6aR_U4l^CO`hMc?t}W`-0IffU-#vHF>ySgV*k_|HPRI)%$CJbqO~y& zky{;H(VpSdnb}t9rQ-h9b}ZGt-<@x^Dq#)ZhxG`}C0b0`qXRkgK)u6RV;V_}=o3y6 z7(uE%KX91zS0O3Mh8dH>bg=j8@EL=lTgV~oaE>zIEPEjIi_^XkJXE-a;E z-0S5wZcL)ZU(IJWpI>8P>E~U3r zKB3-!yIjnNz=M!aNE0L>pQLonCQJVE806f7n$){9wFs`EuOd{a54k%jciuw%E~25C z+O{j$9C0&Lq}1HH;*XC1FMbz&AjI{1_s^q%>Pr7 zVzhxO#u5IESKOKuYfIW~s3pow80Sm1>-Puz&#JMQ%eS^}aXn)CKgkhz5ON7=f+XaB zkq@awbTmAQ;})tgYq@2XzXNsLJVU*ayUuHk4>M>vJt8e}{}o}rZ>e_t z?s)%U6&7>(*5)m)M@;|!lUvN^|6lu$mlFIDED_R6NrE0h67&dZf+XZGB?)@pEDvZK z?`|JLvQ#n3_*wN}rJbPmzn8{;lm=T#t}m zTz_#sA^o%E;y9K{FOFj=z2BR^*zT9K!{?K-qv4cDqWJ^GQT!S` zKw1(?CuC~tz;gpt_i6c5^5j11dLBJ)X)%nZ#2>*ajAQ7AcCv%d8MmN!KaS`(#?37C z-2cVjFZ!_S7x`W6_V>m?&?m^H>=DZU?s9Sa2-&3Fp8nv3WR8sig`OQ8u?dgxY4JSvRSfKmb_xn=uE$NR~@E-)0 z;z!8;4`qCUkpEASi`z#?FV#Lm`BIWlZ*loj`HS@k>EEkQsJB=W?0iiU>U~Y`TgwUd zz9zrb-nZ&~%^$J+KM8z|>wjwhdE=kp_iOR}(Q<;HrQ~A!OX+WlWg#2IapAg4?yZqMcu$a@g*88J+KiltO`(H~F+VeHNKUz-kLy&*e9-%(L z-k&82eizH1?SHX9V)}n4@U7QjaqVxd_eb@9mfyv8|0?OP@%p22e$D>3mM@OuTkHMV zdW+*ErvH<`w_XoIt#8%;tLqWk^Q+~za{5tmeycx%-eSLt^9kv{s$3jDG5tRT{;JpO zXT|kbz3$)I-X9(R_xk7c_xf8(|L>arv$!s4*F;atoQy;wB-XAYmsV#V2q7%g{=^oW`jBZz{C0KK*~p;QnQX1#gCo zgmmA(lwuE{WFOZXvP~ja>km}a_Prj+d{|SMFVHEFEdHQ6Gb*zrDAqxRcCL}S> zO%48p5Qr{_1c(HFF@YSDA;#1yVGx>g3*lUbK==h5Pk;b`Q&I)JVu%Wyy~2}ZS*8qK z#Z&vt&k^She(~iZx+fC&DFkq;Pi$>e1>nKUd|7>RfT!|z10(YgXcbitD-S||`G}z5 zsI59sg3N`sTvdoo&<>iuM4UhPDHnrilt|zg6G&$o8q?8GgxWi`^t*l4p}JB!ZDzR^ z&WrKky-FSKo4P1nOO4x8wnNPtM-2NGyk;rOK5$p=CW z%{wfO5LjRD$$ywy2NWp|m{~h=pJcNE80(hbFWRaJHqrWlf)PCM z14AL2A`&1H_{9Wb>JFOgot1?h#`Y$29h&f9dd~Ljygsb(YSlWCY7DrePXyl5m_V;2 zZmg|U7rLX=eZ)7&z%LG)=$=S`NZ=MuSG=~X17(X#6 zDs2Mk%)-Lg!}Vdu&f9A>O96gD2t<=a0z?A8m_WlRz24DwUZC}^jrBgM4f@9#e46$c zL8K5Hot?Z1SU)^ta+Tc()gvGnaK^DouB8GH1 zaBrWrxgGZH|2OTu6_Mj3DhhSWnd=Hi*ZtRX{pA;y7{LD}aGiH}LETUlRJyWcPhU3x zmxc+;h%6k4)`do`y=Dm68T%zqNbA5HrQLx>Sw-l6GdnadMh5>>e3!$|xsK<`dcV%)C?xRYC7qqAyo))VQZv;YwH9B*&%1;|RioIXmo5%xt<9y!;;5Bme& zh%Th?fih!EL9;6N7fw4@d%Bvb$Uvx>&E=Kp3Ls=8(eZFZ5O&iw-V>9PfupBpW(%Uk zf#+hWGM~TDmwNwH&ct^8wFqct?FczkAq9NXMJjtmG+|@e#=)mz`al|5>J%5L4|!Yi z2c4RAVegcN$`(TnkS5!qydU51|5~m1>uTdbm0sK zhnAqL9yn^CIT}`;J>uvZA zAIH~oDG_Isf&X>L3(G2H(BFFU?6#0~kmlygl(|a@Hd!aGi=ILtZdh@0@Ram#>i_W; z5-ku3e4W6?j^|ui+Z92?{=UYWUD`mt+#lQHrwf}{4b@il>wq3>)B9z4n(#vWy^VVl z0KMrQ|9ybpzw{6J)4t51#viW=&a))T{n~Y5KGvf2u7f^EeUh-Q9Wnr;xf-kJWrlE2 zz#+A}P6rfxy|3zQ2I!tR6@Q0R1B5=6GGb5EL3G>4M3FM&H(Y9UCv2YF0l0*FL6YsM z1@AZUZm?&Gi$_kpvOV+THQ%4keZCCaa7+3Pnp$%#7tK}Bw2n^X)ph8?EOQq z6PxiDC2(@eo{}Y11$OS%QGe2^4n2h{q?!t}U{K^J-zRM?Sn#+fY`Q`dm`5U#9E9=X zKyQ0N|6Lha;BnU!Efj$?pMxZ;&DlVsNAOPnac+24J-9)1pHIHzRbAZ-M@f>=7#$_zp9qWCT*HA9%uu^ZjYYY2087SazV4PltG;7NU`7UYcC zR%`XC!J8icx&YyjLI8*`6aTF|{mR(1bgeIOU;sx1@8 zf%JZ*#^Gl;@Sjyo8!*ua?oe@+d+r>A*13X}!K(2Yg#`CdSJ&VSiQV>yh`GP_SxF zq-vWM@W(ML9iCE#7?Kd~OF9TtY9?Lk+oBC0_Qf6)HPM1PfyPa-wyH3&c4+lv>u;Z< z|17{N!^+EM1Z9ET#F0~3%^2o(jS3t!HwBg4sf~^MOu;WqkM>Ep5tzEMOFgbPfV%ju zqSO(6s2h9cT_~&vrM<LU7G?~f>#&%nnYtZS#=?tpzJ*jxR zY?bk6ju6*#{aO8i=;wbYQ2y}HHmzV8h(6>)}opUC?SB zQA`on2QTwW5cxK-36oHX_$d&^eDrKF%J51=42(xdSD;1IxSy853&t{$Ia)o;nMb} zS$D~F;7)AY<$+=?IJx%nAlW+neUk5L3-VSMc>M#-q|fStLhIy1zhnbYI34$5b%+r- znc1w1=Ni2Srb%rG+s~Xo&Tm)VaC=QYO|jrZMUQOTU!lfT00Y%Z@*CWi|m_7R}UM&rRUs z>20TqDskYx#j!CeQy*g3J!)R}G5)mve&F*J!vX<)m~?ntVk3YbhYN{S-jXK3GG&7L zCz^sS<$c%XET&+fznk7k$`m9`+(vgX7=X5I!Cv7|J-8QlX{ymk2h#0#whH0rO(I{h zG01Ju2GKLdk%3$~u=>!70k&HPFj$aad8!Ks%RR1KV`nymb1FlR0&ESz!60N$t1u3( zo!!!I$!r7;H(pfbQ<%V|A_=RS1IBReSy+5|tpVXo8#J%@ ztp~EL&HHM5i04cFt;f{gICy{7G;`9IYr#P1?W^Sts_-iHBKZK5E~uYOFOm_`gJp*r zV-MG8gX+bS_s7DNV1~ItrF0`eLF+B1*aB@>*cV~ee%1hnP6|%;R+&MUaE3$iXLAtS zHc4r$VGg$*$4=;Jnt@~4*2BA4jNxdWb~sOt_7A@ww6obP_nyiMSVf}s zllko_ZAiu)jv7qW0^L2skE06yJx_Qcet3I4j|nudC_8V;U<3>9W3{~acAXpR85Y=u zZ(rKEn@*j^5b)|uAk{?^xOz@zi(jP?h|X$J+`!)#d#(?jZ*@0>!zcS5)*Uo}H^&#A zHD6Ezmh}zu>1PCgIG4Y1*CdAi3kh_e>dQS|FAJgyOjP758(}hGnU->o8mzh$dylh5 z3+7l@LXYQZKt=e}3+4;>?@imcd%4nZFmXIamqo+^l5`mNUNf-*otC)Q?VVQOlGDF2 zsly7AY)96-IA{fA91@aiLM^}{{O~S4X1zb$?`H$93$S@=09}Fmw$wA0pzLWU*uZB6 z?=Koh#-6r-T>~+kukrVTTz{`s+saKKdF@fnJPi|g7w*^j?5zPclZn_b0ejrPCY%_t? zfex0>@%J5uD$C}ojV7?CMl@`VjVUPHXlZyFZVdDvt8_#aD8I;sV- z31luY0r=;GOLe%{VVW?lc8qehsxi>UiTaW1Six)?ay41r7R+Byl7pHZyd(YSA5d=x zCHo6+C&$L=^tCWA3#u`L1isu9^G;JJXTd#7t-z1p3lAb#rE!oJF#jT`4F_*HJsw;cHH41F z;OA8A2C&c9FmWJE4+_nukCLcrgVUkOfou|02=M9I40>AN5lS^2@>(CBemG-tQ^^2= zA2NB}3^W2I*)x(LY64@IJ_*<<8G~8h?ueQYQwYE)#pgDef}`K%O?JsR;Lv7jJ-i+V z7uZP-9$?o8zK@kzxJY#2UVZQ=kY4mceNdoW-Eh1aYis<$%Lvj&6?~&F8^Q7; zUD@irI9OA*GN51H5L!w56j<2|K=N4l>*Iquu;ALum&mIP2bxZkKj_tm)}$+Q?*eq8 za5U!eX>C0i*1veX4L`2AkFU0T9%~G54*4%r!v7z_=N40yKxGO;-I_^quZ-dHN0HK~ z3L{Xo3pH@EH3o+2ZBNh78G`Dgo1f)&=)lYRJ7xY-svz?C{Y=|hk?-d46->lpB7yHB zurrhXZICN1G~b+3o+(-n4|)W9uFBxo%u8a`th7C>Xnp8J zF5(PPHS8zNx4VL5H@}KOohyh(e$qH*;tF8{Dw{i2y1?qm12w0}9AVS==<)|ot)O1Y zt}vs+0KO~8|EJO&t8mpmb_-~xZZgSHFoW{hLmwPD@cS?AMc8&0;J^R%2j53W;UK$8 zC`k6U32@6zFk36*zqjSFip(h^NZGj4qhf^t#4GIf95K)ZL=fi}8LtD%LdCu{%k)5{ zeMrg0P!Haue(o*ZU;rN1%a7kR#6d@QUZD604qV()DkSoZ;oW&`#hXt2ylH;(z9M7WM zWntRwu%z9M-`*cXcm7LPg^>+u`XIZ>E?c89PL-1kb zunSauyg6ca(GjxWOj+~b|IhzXO*v0aXV3de2h7MSg`yZxj<|Zj| zpxV)XvT()-*56kca!xXZbEL(Q)Q3zVNIj2@`YjG#>RI=scj^J=`#R#jx-LB4A|BlsVbv)WI zjwVRCL@C0iawfab=?(DWLdXY|B3`gE8M_(kBnHTUpz$%1Z{HX7qqq|75DEMr0*8+; zwB42$1`F;&I3{16D=76t9n_AmFETZoicYcm~~S zIEbIm+d>~Qx@WHuOuyrn2vEbp@uN0(Hc;UJ%Xzsg_M;)ZDLX5(j>Q11w5CsS-!OpZ z67;lXHu(LWrB+>B(KzU=Jz+#uh=U{hcb`NOOaa*+g)CoZ24}o3+!EI|!LK)TQqT`D z0R2YcxXhgfaM<{0b?GAm7*4#js_!fUnek=qqGO6sWOR*!jYAfmOUBkJ9TfOse0~&X zqMiS40&O|v+UomEK$1DF2N`h}C5$Dh#}K_24~raSoc4ED?4Xj`_J zK=q@Pin<0oj#OuIpNqrKr}gq!ix~e|Gi> z;Q3xo>|K@{kn5J^L@T*~OReWA?NEoG-v6`9iZSLYZ3q{u-Ps^&3@u>}B`*|BVC@NN z?r3roXzPEUpW-UgSqkK^blS%D0!DK@KhK-pWrD?b9cf3 zHm;v+psX~26{lJ})H$?(gwj+qvr8TN>$M$?!@qxjLM&6pspn%HKb_-$N3SQgaw!7# zxDWP1WF}C`a`?U?r!9<_%XJi5If0@pEn>#z4!gx~$D1GZgt8suT)FH%;FewDyH0mA z1oiOv1l{)mPHwXPi6n2B?cl!hX9_9NgQn@?vm`HdIp{Ds2hVhSN@3 zmV8m)zfW8?`Jua`wKQaGSk-d1k@#G(R6ii*|1knbcTmjo1u}z5m~4oUfF&r%kJ7|v zIRbrzKV{PfS2)D+&hH|l2Pg$Q$=I=b!=ubh4w2B!utoH0)M-{)?Xc7 z?nmPT=blu~B1)c+sUlQ4XiJ)exAf>eH#pT`t-l3H@Ur8S3SwvL!RugpQ5;e3zSLuPGGGx^q_H z=U2`ZkErnk=#8zlnf|&A?mNYJgLc_gi9K+5xrSOGoim zCop6vWRASz3T;C%FISd(LhLy!&-2bc@c4+xo-%YZh#5?WQtsXid3vd~JB)nb>Ji*V z+;vYl&>y}x;fNdbR9tD~YI6dEsLzsP8*JbyJ^iD#wtsvb(&B3qYogq{AZY;d``YOm z_08b%`DM1gr_Eu*sQ;yvN6nzMX1UhXpgE8UFYL*yOZECf1wO|8u!EoVe;ubCy>-?5Ayk_fdj)n2s}SNg$PH=JbG<`L0_L6)(8j z#%f9*15a8>Xz)6RW53_Y1vE9lToZ(Eg15tqivWwdTVT3DN2TmG{~usx~*mso57T<3KIZkrjx@vabFCK)6A zzM}36hSyA?cOUtM5OOovdGF>$MF$fI=CwQ4h~MuJp1{+8HPaBbZ|8cPbU_~+?g?C^ zGtmXsPR36mn{}X(^7T{JUIQ50v5c$U*#I!kOYRR}>%xj>(>sI@B5?2X{Ium)jN$=RUeFc9O}0VA8$>_OJzg(_ zzfU|IsO#M44nlr68H~=lLIG1P<+>DS7*0{WIIZCTb{`qjlss*qYI}duYW#VOgeVzy zJ#Y5TTtEovugS53P;+;7Gtf+PmCq8h0TIoxb7t&zP-`71|Lm;|@G(-Y(&Ms$h3pM^ zo0+Y_mg_#d4~048UG=Zk(K3Se9$p)rO?qIa?sURZ41X@c{L8u{!A9V%!|K!$hw}EhritFM5hU zZ@zK0$`*${eVBTn7Xh6!;|mm4;s6kj}1W z_SPLXja6KuO>%`TZ0VVUj4tp#8@p6J;|TZe?#L?Cum=MMifg@#c#%+FWjR|m+y6rK!YYM9= z`Zga3Fo)~X%j=t}O@Ve537!8*94Nl4E|_b?pC?QCXj`L=KFHzT5O2|^Zk5o) z?~4$9@sdOb9(>e`%*5}9tXO5!(a2&5lvbsCM|lmv0W0K857vYxxOjnAT@$Vs791A6 ztplw>sk{SjhEP*dFtXD!9*-368IqmChOu>KYyhM&*#=(+&*Um z_p=gvbGJD|TMB1d_<|d-O;)MWsCdG>ldpBkB!0cYScbIOa!=43HvG)8)&tUcPvmLQ zxPfBEl?&9XT_9oKy40ihH$hY?Ew8zNBPcdxd8T#PgU6H8ab3slK(Re;c?&82haC1q9z4};T=?nxN{>5b&> z`aw;QzA|CGIa?8)o4;o>;Zg^ZRAEOoDLtr+RXbnYNSqJ+A)S|K}2vKQ~zZy12lr*A0~V%~(5_-QnU6gCh~yZh#AtPh6Jc z3Y_Uqk-6nAFj}20b*aV~XiC=~9FuegzZG6pylhTTF20>LD{B)3v+k?x#qW2r){G^I z=5YkeYv(;WlI`I`A|vjtmmOTYAQ`=k!447`_(zVpIejy}aJ{CiH@nh33zF0hei zUFK|_tw53l4`w5vq zhtIsw32IZQdGOhkjn@pN_oTfJQ7}ExjFFQo_NnQwQ(ZdOnD#Y`Ses~8a8vLOIOrKvMZyLn! z?@Oq=c2v|J>OP)R+FZQ}u0L;Wt02R#Kf1Y9uC>4gt{yU`>0xt)k-?8gqmo^Lp}o#` z(*;+E5b+hebkG&{n9iQvc)%6zbMSSM;9Nl`Uw0d(x@_s?3mfkNCVH+by^&a|_APa47$ScaP^t7r;flfofm)Wwk3!^ZO#@vVhWn*iQ*T+CSc>pED(Fw7%bv0m|W;G zhNOAF8l4OH^GcF6V;qwWA<%Po%IzV2pf}4(HNc;voF&6>@WX^22(lDD2sgv8Cr++C zKz&mm#JIJeogTygE|oC*#CV?;sOOYERioAdA>6IN`ITBw{UrZ|1;09ezlI9u+D3rS zvS$^KAD4$8dU1%xhy?y*0zK@LB+m|;!O(U_G6`B6pczy439q$>eQiqar8_o3=>+#0 zLHxd@{ESbV8xmb%XMdl*=>u0V)k;XYiQli}bY1Mx3Tk&4*?z~(`J_AGoDYS+xAK4r zS{Kn+8c%SkE}ork@B}WL8P|G7FIZ;L-=U%H1)=dPO%K!H=OaA_2B~|!p>D#F<5Y|{ zIIRpl#h~mBeVRr!#vxun^#FavM&kiV6%z(gkuIRGb+R>M+zy`l9P_(wVF_LnvQt+m z@aG`zq|smY41W&MH8CWD&KN$69y=V@U?Qx^Uzo z)pivxUAP%sdPWMrZYfo>KGo-~K6F#EXs&v!1Iyow`tGRJ0^Y}MLEU$?z>HdG@L9eV z+~L@r8v1G@#NWs!yFMfX!L^ZXakRhPcc=zIIii_-P&`nfhE#(B-&0PN|udT+>agu8;2 zn*nj6+S;;dGsv(AtlxKcGf+!&Im=x1h2?S#Aq;wcaJHvloaL1-OvkCZXD9eVQI_Mm z^2p7Ay$kdsPw|FQ4xYl%|wPWf7UV*OHjGb&zyo^7qoky z!tjEu2_y=&P)Fm>dAy$KDb9|c2h_^ly`mA(0Skxr&!-%<;CN)P*QpULVA?qu(7a3+ zqz!p%KLqQ-lc$;82AX=HJ<7PF;+__0B#7Omll=Gj>5E~?yT%1YHqIed!BsKw&Pvq_peW0?4Ot>68ISe+H^J? zQ?1v6+}oZwdTMi+fA+pv+0Y)M&VP`LUT_9nPd;@_rYi(l>aAlbb^|hQ+8}Ca4+uN~ zwUXTHN?P{?p30Shc=w&=DM7%pbg#>j%UX4=bASM-8sK(r8Y3%nRyqYrVkr#myS(Z>VT^X zPnKAsGAw4zADq*)hfEHd_cdEkv#J31mE=|6sf?eWG*NKguL3z0J)~n)s&G$M*W&tC zW$@jeQ@w!7LTuKyb=Tes|Hj^8`@}Snz+Zs?b*`{w$*~P^IH{z}-P;N-vz*=EFKG{{ zFD{b5!k=p-ldHMy@)K9M2~#^MK;MmNmJgFnT zV8Lm?ufgUIxrNU|XjB7W-4*AqOW}dAO7G-$LCYDoE`{;2%jW%5&{?(hn0-Q*kK0_Wn!3x$~+fbz_# zHM#in8B2c3vd=y25YrS9iYLc%oJfE_K~E&bgruon2KK@~Y}!?T-bgWUGO} zW~P)QimI?ICTcdcUlvM8EAns@La-2YW(RA;Z~u>2$}|99be~}XLe_HXP(=C%Dbtq>N-{3UHuE^1k)YlA#_xxyB?{WvqHLc)1CY=N31RS zH1}G@9Ul#c_pK)Eghf0rD6aW=qiEJZlIMai8o26mF0X5{e-n4K3UagOy3Zfl1RaG}wJt)m|C~o22v4lej~1VCOCE&5glm zu$sAQyF3^a;RPJDS%I*+BA~E}-ye~_c6T`Be9&jer7zV>#5eRT38s4Jie;5%9Ho)= zc>m#e#C}z4cyFaoYTjcCUEu>eV-pFU!w(h**1ym}ihg5T8vk#{IsBNEll21E3~m9( zM?+794roF0OP_wlcWsCsd#IFT2}Z8ff-d{)@wKd&QTn?J_)=0u7kfM){;`WPK-&u=-gRpx=zR%ZvEqK( z=lsX^B{b6y{Z%MzEFP?Vv z^ipJbVXH=I*ysum9Qc&orgg;`F9t7)pS7_Ab%QduRRF>37|HLyDn=E5>#QsqJr6a1 zppJ$0QSlF1^^iTG{Nz595oGGM_FR5t0G0XT6LqYFZe8yI-vCu2PjOA?qTdrO9KTia zzQSJvq+ITF0da1~`s#dmeOD0QmTV+-mXh-f{#N|S_5N=na4sOjxwljfR|Mq0787yH z*TN5-v`u$_@a@nY;YBVuGj#78llAgVez3{S}01ME_a|M z>L_@9gP|olc8Bb|c?#ZB2p;YS=4XYar0he|X~>HhxfTEuhm0v_nY#39I|>olqqEQn;MT6D#=`4CB{&LsvT3 zv|)tcH*lkCU{?(Uqv51%L~C>m>nklMmimQVN>lmrCcJ^c`X&(>~VS&aPQE@CYF=7=8_ z)KqB#Px?Y}n^a3HpAV*}&V<*1h>N_j;k-|~EA)DoPOpDqjbEW$dVBcGjc#3}ur4jo zB=n)K)_vY%Xki4qTNl=eFzO@Xs$JZeq&}*gUU9U$7@;%EVyySPKKj(O=GVySBg%XI zJHI@DbDLS?_GwKR^O-zj5&Kz};aB~WkCPGjS4O}{E%*GsMFT`UmTmUYu}5U~tR`I})HN6%_)er*LI z&P!)z%lJ*8MYDH)oYer-xiTHx@;YD*)t!@6(SZb4uG(HoEj(h>QBRD~z+!iGcU6Q4 z`cl~ql8%$(3I3JWI{DiFb_A%TM7E7x(#AE0Q&WAz4lo!mJRTqDhQ@gF+%6)nFo&bq zayemN+@8|CUG$wF+`3j4wrvamS+n?+1itu!CxvfFaB$!oX^1A_!F$cV5*iX_k~;i!?E)~y zn{@BCiy!)J8EbDlc;n#y##dCk-Ov-+OiiU|3;COybv_dM>>LZd$=k)uP&YSpv4h}m zy(m7=e!PvyZ+fDiEfQ`8&MVxLvnMU!owbe9+;S6^MfG%b67fjE9^a_5-E;|l=K0s2 z=^MdwTL0F)6kSYSJRrL#KoxCz^A;z79&183M z*S)WJb*mRPe&+a=MewD(84;gz)FQ!(Ly)PT6o_TLSNnU<1%jG)cR6DZ!J|Z%Rj%z4 zhy@3xJP*%6&{5avY$WUtyZdslxm5+C_Uu5xU`-%+PYRL5iSx@$&tEJrC!tNpVn5Zh z0F?7yVtTg24+G-yV>=qWVRxt5wa&&3b8;(Y_b1yRB5ngs8F9Z~xXih4MUoX{JNYES zh`1%|n*(>+b*<5!+D3Ey3Bh;f&-_%?+X7ZeOP7|{5c$_RQ8QB?^uW`!p2O>=79tK# zGm%2IVbm^5vG7R_AyU=dr-{p#uypr{meN5zY&~dXz_!Ja z;3?j<|IDNZ7%yxP=6*}WEo<>VX)4b|NY*H zz5sMYT+`KiO2QX~+{g`E0+HO>VthF@5K@XOtzHw)for)HCQfXDc-0`W)oGDLkT$0t z8Ym=TM`hjs6PG^@KKc5HxylRCX5W(rW?T@?RCp*k$sT+gKizs)Xa_Y5><+jkq~Yrl<8*NZwDu#7*e2n�bx-Hki?Y^P-EN69C-+5SkLRb$S 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

ehq(&76ouomEy~%L4xnl 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