From 6eb9761f4879e6c74e5f87f38604401250d9eb1f Mon Sep 17 00:00:00 2001 From: "Gerald E. Fux" <38002396+gefux@users.noreply.github.com> Date: Sat, 22 Jun 2024 22:07:53 +0200 Subject: [PATCH] Update Documentation (#135) * Update Authors and References * Fix documentation * Remove unecessary copyright statements --- .github/workflows/python-package-tests.yml | 2 +- .readthedocs.yaml | 30 +- AUTHORS.md | 55 +- BIBLIOGRAPHY.md | 106 +- HOW_TO_CITE.md | 13 +- README.md | 51 +- docs/conf.py | 2 +- docs/graphics/overview-2to1.png | Bin 99139 -> 96777 bytes docs/graphics/overview-2to1.svg | 1358 ++++++++--------- docs/graphics/overview.png | Bin 162013 -> 157926 bytes docs/graphics/overview.svg | 37 +- docs/index.rst | 107 +- docs/pages/api.rst | 26 +- docs/pages/authors.rst | 94 +- docs/pages/bibliography.rst | 436 +++--- docs/pages/how_to_cite.rst | 25 +- docs/pages/install.rst | 8 +- docs/pages/modules.rst | 67 +- docs/pages/tutorials/bath_dynamics.rst | 4 +- docs/pages/tutorials/parameters.rst | 4 +- docs/pages/tutorials/parameters.rst~ | 853 +++++++++++ .../tutorials/pt_gradient/output_20_0.png | Bin 0 -> 19922 bytes .../tutorials/pt_gradient/output_21_0.png | Bin 0 -> 23622 bytes .../tutorials/pt_gradient/pt_gradient.rst | 386 +++++ docs/pages/tutorials/pt_tebd.rst | 6 +- examples/spin-chain.py | 2 - oqupy/__init__.py | 54 +- oqupy/backends/node_array.py | 2 - oqupy/backends/pt_tebd_backend.py | 14 +- oqupy/backends/pt_tempo_backend.py | 2 - oqupy/backends/tempo_backend.py | 2 - oqupy/base_api.py | 2 - oqupy/bath.py | 2 - oqupy/bath_correlations.py | 4 +- oqupy/bath_dynamics.py | 6 +- oqupy/config.py | 2 - oqupy/control.py | 2 - oqupy/dynamics.py | 2 - oqupy/gradient.py | 2 - oqupy/helpers.py | 2 - oqupy/mps_mpo.py | 4 +- oqupy/operators.py | 2 - oqupy/process_tensor.py | 2 - oqupy/pt_tebd.py | 6 +- oqupy/pt_tempo.py | 2 - oqupy/system.py | 2 - oqupy/system_dynamics.py | 2 - oqupy/tempo.py | 2 - oqupy/util.py | 2 - oqupy/version.py | 2 - tests/coverage/api_test.py | 2 - tests/coverage/base_api_test.py | 2 - tests/coverage/bath_test.py | 2 - tests/coverage/contractions_test.py | 2 - tests/coverage/control_test.py | 2 - tests/coverage/correlations_test.py | 4 +- tests/coverage/dynamics_test.py | 2 - tests/coverage/gibbs_parameters_test.py | 2 - tests/coverage/gibbs_tempo_test.py | 2 - tests/coverage/gradient_test.py | 2 - tests/coverage/node_array_test.py | 2 - tests/coverage/operators_test.py | 2 - tests/coverage/pt_tebd_test.py | 2 - tests/coverage/pt_tempo_test.py | 2 - tests/coverage/system_test.py | 2 - tests/coverage/tempo_parameters_test.py | 2 - tests/coverage/tempo_test.py | 2 - tests/coverage/util_test.py | 2 - tests/data/generate_pts.py | 2 - .../analysis/bath_dynamics_plots.py | 2 - .../performance/analysis/bath_dynamics_run.py | 2 - tests/performance/analysis/mean_field_run.py | 2 - tests/performance/analysis/multi_env_plots.py | 2 - tests/performance/analysis/multi_env_run.py | 2 - tests/performance/analysis/nt_corrs_plots.py | 2 - tests/performance/analysis/nt_corrs_run.py | 2 - tests/performance/analysis/pt_degen_plots.py | 2 - tests/performance/analysis/pt_degen_run.py | 2 - tests/performance/analysis/pt_tebd_plots.py | 2 - tests/performance/analysis/pt_tebd_run.py | 2 - tests/performance/analysis/pt_tempo_plots.py | 2 - tests/performance/analysis/pt_tempo_run.py | 2 - tests/performance/bath_dynamics.py | 2 - tests/performance/mean_field.py | 2 - tests/performance/multi_env.py | 2 - tests/performance/nt_corrs.py | 2 - tests/performance/pt_degen.py | 2 - tests/performance/pt_tebd.py | 2 - tests/performance/pt_tempo.py | 2 - tests/performance/run_all.py | 2 - tests/physics/bath_dynamics_test.py | 2 - tests/physics/degeneracy_large_test.py | 2 - tests/physics/degeneracy_mean_field_test.py | 2 - tests/physics/gibbs_tempo_test.py | 2 - .../gradient_functional_target_test.py | 2 - tests/physics/gradient_target_state_test.py | 2 - tests/physics/multi_environments_test.py | 2 - tests/physics/multi_time_correlations_test.py | 2 - tests/physics/pt_tebd_lindblad_test.py | 2 - tests/physics/pt_tebd_test.py | 2 - tests/physics/tempo_lindblad_test.py | 2 - tests/physics/tempo_non_diagonal_test.py | 2 - tests/physics/tempo_qutrit_test.py | 2 - tests/physics/tempo_spin_boson_test.py | 2 - tests/physics/tempo_superohmic_test.py | 2 - tutorials/bath_dynamics.ipynb | 4 +- tutorials/parameters.ipynb | 2 +- tutorials/parameters.ipynb~ | 922 +++++++++++ tutorials/pt_gradient.ipynb | 14 +- tutorials/pt_tebd.ipynb | 6 +- 110 files changed, 3484 insertions(+), 1372 deletions(-) create mode 100644 docs/pages/tutorials/parameters.rst~ create mode 100644 docs/pages/tutorials/pt_gradient/output_20_0.png create mode 100644 docs/pages/tutorials/pt_gradient/output_21_0.png create mode 100644 docs/pages/tutorials/pt_gradient/pt_gradient.rst create mode 100644 tutorials/parameters.ipynb~ diff --git a/.github/workflows/python-package-tests.yml b/.github/workflows/python-package-tests.yml index 2570a658..bbbc3ceb 100644 --- a/.github/workflows/python-package-tests.yml +++ b/.github/workflows/python-package-tests.yml @@ -1,6 +1,6 @@ name: tests -on: [push, workflow_dispatch] +on: [push, pull_request, workflow_dispatch] jobs: tests: diff --git a/.readthedocs.yaml b/.readthedocs.yaml index e1be8b31..b41a7b16 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -1,11 +1,35 @@ -# File: .readthedocs.yaml +# Read the Docs configuration file for Sphinx projects +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details +# Required version: 2 +# Set the OS, Python version and other tools you might need +build: + os: ubuntu-22.04 + tools: + python: "3.10" + # You can also specify other tool versions: + # nodejs: "20" + # rust: "1.70" + # golang: "1.20" + +# Build documentation in the "docs/" directory with Sphinx sphinx: configuration: docs/conf.py + # You can configure Sphinx to use a different builder, for instance use the dirhtml builder for simpler URLs + # builder: "dirhtml" + # Fail on all warnings to avoid broken references + # fail_on_warning: true + +# Optionally build your docs in additional formats such as PDF and ePub +# formats: +# - pdf +# - epub +# Optional but recommended, declare the Python requirements required +# to build your documentation +# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html python: - version: 3.10 install: - - requirements: requirements_ci.txt \ No newline at end of file + - requirements: docs/requirements.txt \ No newline at end of file diff --git a/AUTHORS.md b/AUTHORS.md index 7e7f6c04..6292850b 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -1,29 +1,34 @@ Authors & Acknowledgements ========================== -Lead developer since 2020 (start of the project): [Gerald E. Fux](https://github.com/gefux) +- Lead developer since 2020: [**Gerald E. Fux**](https://github.com/gefux) () +- Co-lead developer since 2022: [**Piper Fowler-Wright**](https://github.com/piperfw) () Major code contributions ------------------------ +**Version 0.5.0** +- [Aidan Strathearn](https://github.com/aidanstrathearn): Gibbs state TEMPO [Chiu2022]. +- [Eoin P. Butler](https://github.com/ebutler414), [Eoin O'Neill](https://github.com/eoin-dp-oneill), and [Paul R. Eastham](https://github.com/paulreastham): Process tensor gradients and optimization [Fux2021, Butler2024] +- [Ewen D.C. Lawrence](https://github.com/ewenlawrence) and [Peter Kirton](https://github.com/peterkirton/): Degeneracy trick in TEMPO and PT-TEMPO. +- [Roosmarijn de Wit](https://github.com/rmadw): Multi-time system correlations. +- [Piper Fowler-Wright](https://github.com/piperfw): TEMPO parameter tutorial and automatic estimation. + **Version 0.4.0** -- [Joel Beckles](https://github.com/JoelANB) and [Piper Fowler-Wright](https://github.com/piperfw): Extension of mean-field evolution to multiple types of system +- [Joel Beckles](https://github.com/JoelANB) and [Piper Fowler-Wright](https://github.com/piperfw): Extension of mean-field evolution to multiple types of system. **Version 0.3.0** -- [Piper Fowler-Wright](https://github.com/piperfw): Open quantum systems with mean-field evolution [FowlerWright2022] +- [Piper Fowler-Wright](https://github.com/piperfw): Open quantum systems with mean-field evolution [FowlerWright2022]. **Version 0.2.0** -- [Gerald E. Fux](https://github.com/gefux): Chains of open quantum systems [Fux2022]. -- Dainius Kilda: Precursor code for chains of open quantum systems [Fux2022]. -- [Dominic Gribben](https://github.com/djgribben): Bath dynamics extension [Gribben2021]. -- [Dominic Gribben](https://github.com/djgribben): Multiple environments extension [Gribben2022]. +- [Gerald E. Fux](https://github.com/gefux): Chains of open quantum systems [Fux2023]. +- Dainius Kilda: Precursor code for chains of open quantum systems [Fux2023]. +- [Dominic Gribben](https://github.com/djgribben): Bath dynamics extension [Gribben2022b]. +- [Dominic Gribben](https://github.com/djgribben): Multiple environments extension [Gribben2022a]. **Version 0.1.2 (TimeEvolvingMPO)** - [Gerald E. Fux](https://github.com/gefux): Improved memory cut-off [Strathearn2017]. -**Version 0.1.1 (TimeEvolvingMPO)** -- No major code contributions in this version. - **Version 0.1.0 (TimeEvolvingMPO)** - [Gerald E. Fux](https://github.com/gefux): Implement process tensor TEMPO (API and backend) [Fux2021]. - [Gerald E. Fux](https://github.com/gefux): Implement core TEMPO functionality (API and backend) [Strathearn2018]. @@ -33,24 +38,12 @@ Major code contributions Acknowledgements ---------------- -**Members of the TEMPO collaboration:** -- Kristín Arnardóttir (*University of St Andrews*) -- [Piper Fowler-Wright](https://github.com/piperfw) (*University of St Andrews*) -- [Gerald E. Fux](https://github.com/gefux) (*University of St Andrews*) -- [Erik Gauger](https://github.com/erikgauger) (*Heriot-Watt University*) -- [Dominic Gribben](https://github.com/djgribben) (*University of St Andrews*) -- Jonathan Keeling (*University of St Andrews*) -- Dainius Kilda (*Max Planck Institute of Quantum Optics*) -- [Peter Kirton](https://github.com/peterkirton) (*University of Strathclyde*) -- [Thibaut Lacroix](https://github.com/tfmlaX) (*University of St Andrews*) -- Brendon W. Lovett (*University of St Andrews*) - -**Project administrators:** -- [Gerald E. Fux](https://github.com/gefux) () -- Jonathan Keeling () -- Brendon W. Lovett () - - -**Project maintainers:** -- [Piper Fowler-Wright](https://github.com/piperfw) () -- [Gerald E. Fux](https://github.com/gefux) () +**Scientific advisors:** +- Jonathan Keeling (*University of St Andrews*) +- Brendon W. Lovett (*University of St Andrews*) + +**Other Collaborators:** +- Kristín Arnardóttir (*University of Southern Denmark*) +- [Erik Gauger](https://github.com/erikgauger) (*Heriot-Watt University*) +- [Thibaut Lacroix](https://github.com/tfmlaX) (*University of St Andrews*) + diff --git a/BIBLIOGRAPHY.md b/BIBLIOGRAPHY.md index a70a50b9..4e11c10e 100644 --- a/BIBLIOGRAPHY.md +++ b/BIBLIOGRAPHY.md @@ -3,24 +3,55 @@ Bibliography The code in this project is based on ideas from the following publications: -- **[Strathearn2017]** Strathearn et al., *Efficient real-time path integrals for non-Markovian spin-boson models*. [New J. Phys. 19(9), p.093009](http://dx.doi.org/10.1088/1367-2630/aa8744) (2017). +- **[Strathearn2017]** Strathearn et al., *Efficient real-time path integrals for non-Markovian spin-boson models*. [New J. Phys. 19(9), p.093009](https://doi.org/10.1088/1367-2630/aa8744) (2017). - **[Strathearn2018]** Strathearn et al., *Efficient non-Markovian quantum dynamics using time-evolving matrix product operators*, [Nat. Commun. 9, 3322](https://doi.org/10.1038/s41467-018-05617-3) (2018). -- **[Pollock2018]** Pollock et al., *Non-Markovian quantum processes: Complete framework and efficient characterization*, [Phys. Rev. A 97, 012127](http://dx.doi.org/10.1103/PhysRevA.97.012127) (2018). -- **[Jorgensen2019]** Jørgensen and Pollock, *Exploiting the causal tensor network structure of quantum processes to efficiently simulate non-Markovian path integrals*, [Phys. Rev. Lett. 123, 240602](http://dx.doi.org/10.1103/PhysRevLett.123.240602) (2019). -- **[Strathearn2019]** Strathearn, *Modelling Non-Markovian Quantum Systems Using Tensor Networks*, [Springer Theses](http://link.springer.com/10.1007/978-3-030-54975-6) (2020). -- **[Fux2020]** Fux et al., *Efficient exploration of Hamiltonian parameter space for optimal control of non-Markovian open quantum systems*, [Phys. Rev. Lett. 126, 200401](https://link.aps.org/doi/10.1103/PhysRevLett.126.200401) (2021). -- **[Gribben2021]** Gribben et al., *Using the Environment to Understand non-Markovian Open Quantum Systems*, [arXiv:20106.0412](http://arxiv.org/abs/2106.04212) (2021). -- **[Gribben2022]** Gribben et al., *Exact dynamics of non-additive environments in non-Markovian open quantum systems*, [PRX Quantum 3, 10321](https://link.aps.org/doi/10.1103/PRXQuantum.3.010321) (2021). +- **[Pollock2018]** Pollock et al., *Non-Markovian quantum processes: Complete framework and efficient characterization*, [Phys. Rev. A 97, 012127](https://doi.org/10.1103/PhysRevA.97.012127) (2018). +- **[Jorgensen2019]** Jørgensen and Pollock, *Exploiting the causal tensor network structure of quantum processes to efficiently simulate non-Markovian path integrals*, [Phys. Rev. Lett. 123, 240602](https://doi.org/10.1103/PhysRevLett.123.240602) (2019). +- **[Strathearn2019]** Strathearn, *Modelling Non-Markovian Quantum Systems Using Tensor Networks*, [Springer Theses](https://doi.org/10.1007/978-3-030-54975-6) (2020). +- **[Fux2021]** Fux et al., *Efficient exploration of Hamiltonian parameter space for optimal control of non-Markovian open quantum systems*, [Phys. Rev. Lett. 126, 200401](https://doi.org/10.1103/PhysRevLett.126.200401) (2021). +- **[Gribben2022a]** Gribben et al., *Exact dynamics of non-additive environments in non-Markovian open quantum systems*, [PRX Quantum 3, 10321](https://doi.org/10.1103/PRXQuantum.3.010321) (2022). +- **[Gribben2022b]** Gribben et al., *Using the Environment to Understand non-Markovian Open Quantum Systems*, [Quantum, 6, 847](https://doi.org/10.22331/q-2022-10-25-847) (2022). +- **[Chiu2022]** Chiu et al., *Numerical evaluation and robustness of the quantum mean-force Gibbs state*, [Phys. Rev. A 106, 012204](https://doi.org/10.1103/PhysRevA.106.012204}) (2022). - **[FowlerWright2022]** Fowler-Wright et al., *Efficient Many-Body Non-Markovian Dynamics of Organic Polaritons*, [Phys. Rev. Lett. 129, 173001](https://doi.org/10.1103/PhysRevLett.129.173001) (2022). -- **[Fux2022]** Fux et al., *Thermalization of a spin chain strongly coupled to its environment*, [arXiv:2201.05529](http://arxiv.org/abs/2201.05529) (2022). +- **[Fux2023]** Fux et al., *Tensor network simulation of chains of non-Markovian open quantum systems*, [Phys. Rev. Research 5, 033078 ](https://doi.org/10.1103/PhysRevResearch.5.033078}) (2023). +- **[Butler2024]** Butler et al., *Optimizing Performance of Quantum Operations with Non-Markovian Decoherence: The Tortoise or the Hare?*, [Phys. Rev. Lett. 132, 060401 ](https://doi.org/10.1103/PhysRevLett.132.060401}) (2024). BibTeX: ------- - ``` +@article{Butler2024, + title = {Optimizing Performance of Quantum Operations with Non-Markovian Decoherence: The Tortoise or the Hare?}, + author = {Butler, Eoin P. and Fux, Gerald E. and Ortega-Taberner, Carlos and Lovett, Brendon W. and Keeling, Jonathan and Eastham, Paul R.}, + journal = {Phys. Rev. Lett.}, + volume = {132}, + issue = {6}, + pages = {060401}, + numpages = {7}, + year = {2024}, + month = {Feb}, + publisher = {American Physical Society}, + doi = {10.1103/PhysRevLett.132.060401}, + url = {https://doi.org/10.1103/PhysRevLett.132.060401} +} + +@article{Chiu2022, + title = {Numerical evaluation and robustness of the quantum mean-force Gibbs state}, + author = {Chiu, Yiu-Fung and Strathearn, Aidan and Keeling, Jonathan}, + journal = {Phys. Rev. A}, + volume = {106}, + issue = {1}, + pages = {012204}, + numpages = {8}, + year = {2022}, + month = {Jul}, + publisher = {American Physical Society}, + doi = {10.1103/PhysRevA.106.012204}, + url = {https://doi.org/10.1103/PhysRevA.106.012204} +} + @article{FowlerWright2022, title = {Efficient Many-Body Non-Markovian Dynamics of Organic Polaritons}, author = {Fowler-Wright, Piper and Lovett, Brendon W. and Keeling, Jonathan}, @@ -48,30 +79,25 @@ BibTeX: month = {May}, publisher = {American Physical Society}, doi = {10.1103/PhysRevLett.126.200401}, - url = {https://link.aps.org/doi/10.1103/PhysRevLett.126.200401} + url = {https://doi.org/10.1103/PhysRevLett.126.200401} } -@article{Fux2022, - title = {{Thermalization of a spin chain strongly coupled to its environment}}, +@article{Fux2023, + title = {Tensor network simulation of chains of non-Markovian open quantum systems}, author = {Fux, Gerald E. and Kilda, Dainius and Lovett, Brendon W. and Keeling, Jonathan}, - archivePrefix = {arXiv}, - arxivId = {2201.05529}, - eprint = {2201.05529}, - url = {http://arxiv.org/abs/2201.05529}, - year = {2022} -} - -@article{Gribben2021, - title = {{Using the Environment to Understand non-Markovian Open Quantum Systems}}, - author = {Gribben, Dominic and Strathearn, Aidan and Fux, Gerald E. and Kirton, Peter and Lovett, Brendon W.}, - archivePrefix = {arXiv}, - arxivId = {2106.04212}, - eprint = {2106.04212}, - url = {http://arxiv.org/abs/2106.04212}, - year = {2021} + journal = {Phys. Rev. Res.}, + volume = {5}, + issue = {3}, + pages = {033078}, + numpages = {14}, + year = {2023}, + month = {Aug}, + publisher = {American Physical Society}, + doi = {10.1103/PhysRevResearch.5.033078}, + url = {https://doi.org/10.1103/PhysRevResearch.5.033078} } -@article{Gribben2022, +@article{Gribben2022a, title = {Exact Dynamics of Nonadditive Environments in Non-Markovian Open Quantum Systems}, author = {Gribben, Dominic and Rouse, Dominic M. and Iles-Smith, Jake and Strathearn, Aidan and Maguire, Henry and Kirton, Peter and Nazir, Ahsan and Gauger, Erik M. and Lovett, Brendon W.}, journal = {PRX Quantum}, @@ -83,7 +109,21 @@ BibTeX: month = {Feb}, publisher = {American Physical Society}, doi = {10.1103/PRXQuantum.3.010321}, - url = {https://link.aps.org/doi/10.1103/PRXQuantum.3.010321} + url = {https://doi.org/10.1103/PRXQuantum.3.010321} +} + +@article{Gribben2022b, + doi = {10.22331/q-2022-10-25-847}, + url = {https://doi.org/10.22331/q-2022-10-25-847}, + title = {Using the {E}nvironment to {U}nderstand non-{M}arkovian {O}pen {Q}uantum {S}ystems}, + author = {Gribben, Dominic and Strathearn, Aidan and Fux, Gerald E. and Kirton, Peter and Lovett, Brendon W.}, + journal = {{Quantum}}, + issn = {2521-327X}, + publisher = {{Verein zur F{\"{o}}rderung des Open Access Publizierens in den Quantenwissenschaften}}, + volume = {6}, + pages = {847}, + month = oct, + year = {2022} } @article{Jorgensen2019, @@ -99,7 +139,7 @@ BibTeX: month = {Dec}, publisher = {American Physical Society}, doi = {10.1103/PhysRevLett.123.240602}, - url = {https://link.aps.org/doi/10.1103/PhysRevLett.123.240602} + url = {https://doi.org/10.1103/PhysRevLett.123.240602} } @misc{OQuPy, @@ -123,9 +163,7 @@ BibTeX: pages = {012127}, title = {{Non-Markovian quantum processes: Complete framework and efficient characterization}}, - url = {https://link.aps.org/doi/10.1103/PhysRevA.97.012127 - http://arxiv.org/abs/1512.00589 - http://dx.doi.org/10.1103/PhysRevA.97.012127}, + url = {https://doi.org/10.1103/PhysRevA.97.012127}, volume = {97}, year = {2018} } @@ -169,7 +207,7 @@ BibTeX: publisher = {Springer International Publishing}, series = {Springer Theses}, title = {{Modelling Non-Markovian Quantum Systems Using Tensor Networks}}, - url = {http://link.springer.com/10.1007/978-3-030-54975-6}, + url = {https://doi.org/10.1007/978-3-030-54975-6}, year = {2020} } diff --git a/HOW_TO_CITE.md b/HOW_TO_CITE.md index e9aadf34..bc82a981 100644 --- a/HOW_TO_CITE.md +++ b/HOW_TO_CITE.md @@ -5,18 +5,21 @@ How to Cite this Project Citing the Code --------------- -- **[OQuPy]** The TEMPO collaboration, *OQuPy: A Python 3 package to efficiently compute non-Markovianopen quantum systems*, [GitHub](https://doi.org/10.5281/zenodo.4428316) (2020). +- **[OQuPy]** The TEMPO collaboration, *OQuPy: A Python 3 package to efficiently compute non-Markovian open quantum systems*, [GitHub](https://doi.org/10.5281/zenodo.4428316) (2020). Please consider citing ---------------------- - TEMPO algorithm: **[Strathearn2018]**, **[Strathearn2019]** -- Process tensor approach: **[Pollock2018]**, **[Jorgensen2019]**, **[Fux2021]** -- Bath dynamics: **[Gribben2021]** -- Multiple environments: **[Gribben2022]** -- Chains (PT-TEBD): **[Fux2022]** +- Process tensor approach: **[Pollock2018]**, **[Jorgensen2019]** +- Optimization: **[Fux2021]**, **[Bulter2024]** +- Multiple environments: **[Gribben2022a]** +- Bath dynamics: **[Gribben2022b]** +- Chains (PT-TEBD): **[Fux2023]** - Mean-Field TEMPO: **[FowlerWright2022]** +- Gibbs TEMPO: **[Chiu2022]** + BibTeX ------ diff --git a/README.md b/README.md index 12d955a6..e3a5b319 100644 --- a/README.md +++ b/README.md @@ -1,43 +1,46 @@ -**_NOTE:_** The former package **TimeEvolvingMPO** is now integrated into **OQuPy**. # OQuPy: Open Quantum Systems in Python -**A Python 3 package to efficiently compute non-Markovian open quantum systems.** +**A Python package to efficiently simulate non-Markovian open quantum systems +with process tensors.** [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/tempoCollaboration/OQuPy/main?filepath=tutorials%2Fquickstart.ipynb) -[![Build Status](https://app.travis-ci.com/tempoCollaboration/OQuPy.svg?branch=main)](https://app.travis-ci.com/tempoCollaboration/OQuPy) -[![codecov](https://codecov.io/gh/tempoCollaboration/OQuPy/branch/main/graph/badge.svg)](https://codecov.io/gh/tempoCollaboration/OQuPy) +[![Tests status](https://github.com/tempoCollaboration/OQuPy/actions/workflows/python-package-tests.yml/badge.svg)](https://github.com/tempoCollaboration/OQuPy/actions/workflows/python-package-tests.yml) +[![Codecov](https://codecov.io/gh/tempoCollaboration/OQuPy/branch/main/graph/badge.svg)](https://codecov.io/gh/tempoCollaboration/OQuPy) [![Documentation Status](https://readthedocs.org/projects/oqupy/badge/?version=latest)](https://oqupy.readthedocs.io/en/latest/?badge=latest) [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg)](https://github.com/tempoCollaboration/OQuPy/blob/main/CODE_OF_CONDUCT.md) [![DOI](https://www.zenodo.org/badge/244404030.svg)](https://www.zenodo.org/badge/latestdoi/244404030) [![Unitary Fund](https://img.shields.io/badge/Supported%20By-UNITARY%20FUND-brightgreen.svg?style=for-the-badge)](http://unitary.fund) -This open source project aims to facilitate versatile numerical tools to efficiently compute the dynamics of quantum systems that are possibly strongly coupled to structured environments. It allows to conveniently apply several numerical methods related to the time evolving matrix product operator (TEMPO) [1-2] and the process tensor (PT) approach to open quantum -systems [3-5]. This includes methods to compute ... +This open source project aims to facilitate versatile numerical tools to efficiently compute the dynamics of quantum systems that are possibly strongly coupled to structured environments. It facilitates the convenient application of several numerical methods that combine the conceptional advantages of the process tensor framework [1], with the numerical efficiency of tensor networks. -- the dynamics of a quantum system strongly coupled to a bosonic environment [1-2]. -- the process tensor of a quantum system strongly coupled to a bosonic environment [3-4]. -- optimal control procedures for non-Markovian open quantum systems [5]. -- the dynamics of a strongly coupled bosonic environment [6]. -- the dynamics of a quantum system coupled to multiple non-Markovian environments [7]. -- the dynamics of a chain of non-Markovian open quantum systems [8]. -- the dynamics of an open many-body system with one-to-all light-matter coupling [9]. -- compute higher order multi-time correlations (e.g. for 2D electronic spectroscopy). +OQuPy includes numerically exact methods (i.e. employing only numerically well controlled approximations) for the non-Markovian dynamics and multi-time correlations of ... +- quantum systems coupled to a single environment [2-4], +- quantum systems coupled to multiple environments [5], +- interacting chains of non-Markovian open quantum systems [6], and +- ensembles of open many-body systems with many-to-one coupling [7]. -Up to versions 0.1.x this package was called *TimeEvolvingMPO*. +Furthermore, OQuPy implements methods to ... +- optimize control protocols for non-Markovian open quantum systems [8,9], +- compute the dynamics of an non-Markovian environment [10], and +- obtain the thermal state of a strongly couled quantum system [11]. ![OQuPy - overview](docs/graphics/overview.png) -- **[1]** Strathearn et al., [New J. Phys. 19(9), p.093009](http://dx.doi.org/10.1088/1367-2630/aa8744) (2017). -- **[2]** Strathearn et al., [Nat. Commun. 9, 3322](https://doi.org/10.1038/s41467-018-05617-3) (2018). -- **[3]** Pollock et al., [Phys. Rev. A 97, 012127](http://dx.doi.org/10.1103/PhysRevA.97.012127) (2018). -- **[4]** Jørgensen and Pollock, [Phys. Rev. Lett. 123, 240602](http://dx.doi.org/10.1103/PhysRevLett.123.240602) (2019). -- **[5]** Fux et al., [Phys. Rev. Lett. 126, 200401](https://link.aps.org/doi/10.1103/PhysRevLett.126.200401) (2021). -- **[6]** Gribben et al., [arXiv:20106.0412](http://arxiv.org/abs/2106.04212) (2021). -- **[7]** Gribben et al., [PRX Quantum 3, 10321](https://link.aps.org/doi/10.1103/PRXQuantum.3.010321) (2022). -- **[8]** Fux et al., [arXiv:2201.05529](http://arxiv.org/abs/2201.05529) (2022). -- **[9]** Fowler-Wright at al., [Phys. Rev. Lett. 129, 173001](https://doi.org/10.1103/PhysRevLett.129.173001) (2022). +- **[1]** Pollock et al., [Phys. Rev. A 97, 012127](https://doi.org/10.1103/PhysRevA.97.012127) (2018). +- **[2]** Strathearn et al., [New J. Phys. 19(9), p.093009](https://doi.org/10.1088/1367-2630/aa8744) (2017). +- **[3]** Strathearn et al., [Nat. Commun. 9, 3322](https://doi.org/10.1038/s41467-018-05617-3) + (2018). +- **[4]** Jørgensen and Pollock, [Phys. Rev. Lett. 123, 240602](https://doi.org/10.1103/PhysRevLett.123.240602) (2019). +- **[5]** Gribben et al., [PRX Quantum 3, 10321](https://doi.org/10.1103/PRXQuantum.3.010321) (2022). +- **[6]** Fux et al., [Phys. Rev. Research 5, 033078 ](https://doi.org/10.1103/PhysRevResearch.5.033078}) (2023). +- **[7]** Fowler-Wright et al., [Phys. Rev. Lett. 129, 173001](https://doi.org/10.1103/PhysRevLett.129.173001) (2022). +- **[8]** Fux et al., [Phys. Rev. Lett. 126, 200401](https://doi.org/10.1103/PhysRevLett.126.200401) (2021). +- **[9]** Butler et al., [Phys. Rev. Lett. 132, 060401 ](https://doi.org/10.1103/PhysRevLett.132.060401}) (2024). +- **[10]** Gribben et al., [Quantum, 6, 847](https://doi.org/10.22331/q-2022-10-25-847) (2022). +- **[11]** Chiu et al., [Phys. Rev. A 106, 012204](https://doi.org/10.1103/PhysRevA.106.012204}) (2022). + ------------------------------------------------------------------------------- diff --git a/docs/conf.py b/docs/conf.py index 008f3fa3..f125e3ee 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -18,7 +18,7 @@ # -- Project information ----------------------------------------------------- project = 'OQuPy' -copyright = '2022, TEMPO Collaboration' +copyright = '2024, TEMPO Collaboration' author = 'TEMPO Collaboration' # The full version, including alpha/beta/rc tags diff --git a/docs/graphics/overview-2to1.png b/docs/graphics/overview-2to1.png index fa899e29946fba53c83d913908eac43621ec29ee..e30de391ebb97c718095f986cba32727be1cbe0b 100644 GIT binary patch literal 96777 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®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 literal 99139 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 P+3fp;; zBt@(ThGoP`5>CmroW!die)Vn6r)qFIev%z^xUatS0b2W1VhoHhpvWeKSS9wcVFKbc zL~fvRmR8WIDK&@kp8@7%2O%-?0hNgDJfx3A#u&&c#*2w8JbAx8Jf6q^5j|JmnmCLG zd#K^g9x+m$^n|CC5D-?WBhziG<<*UtU74S|i=<0|eU6#R3(g(hInM=IKxVGCb4OL7 z!?BH)A+bI81@^F(ctI{jQdp<^&P49J)g zaSA2m8W3>TR<<^0s@G&2Z6=-mI}4D68bWrR=SX9&dr1KlkISOvmrSM1ko>YWmc5oV z`I4Ri?h9f!Lj|urv6yh|x%BJZzq%@aYLXO{+n^Ddda#aVyOwDl93{y^MV35$V)|XD zQ}H&hm|1+FgOqj8g>}cp(*C2Ui8`AM#*y$+6M2>WVZEh8<)`KWL*Wa^De%71WJ1o> z4W$~%5=wierMvWZu1s6|kDd7y%b(~Oii??prKpeOY_3l4NA$d5x|D0&Oe&;*6@HaV zMJj(M{m%)tky~H7f7Xqc6cMQY<(u{EJX6VWnG@cIf=&L=xKXjP zmybSjf50>8`w{(HO?7HL!$69f*1(kort5yGLO|S$+i3etG3}2A5Im4P#}e`FGHD_{ z;`Pz?ylF3qKr%_!vfd6fp=*yo|Ck-q2rYLe(VY1Ei?n8vnUmLNTn`iLcQtRxe^z3x z3jn8z{vJ7Ld`ECTK1^6@v*FGpxM^X~H@?$&p8UNXUz__~u~fcA;1;!;h+P7~L*1KD z@cg0bxLS0ej<1OFRj>ZO9+14jQ}3s{WI@DA2OpBX$XgyKy3t zz^-o9V;_c+hUaFjm{2vf9NBFT^uJIXmDC&Br|-0k!(ii? zTVAu}(l)NBYVKKDcg&4uiaY5oyOP2}0edWREhp$;YL}^TtMZEOFV|#FH@E#8Y)Rg; z0x`dEp#1O7O#1atX^7r@xg!Y|06-FU-w1f?!J4A3+H_2B>S3F3;+vZfOP&HRF~EJd zJ0S4*e|PwS1BMPwVnRSRf1!;kbj-raBk&}%t-VFfKj9?0O>Q=-vG{CiH&ZXJ1qLct zIXbs_ngS4zl)DzsYis+s8Go&LQB$5XVn~SnEz*Giqp|smCi-1L9}@Bf^df2% zn;>KrGwhzD`?P&Ff=CetHjIs9lBDnCK<*VWVZY01`vYvL(qdBs*kW|BdNvNjQ65NE zI2)%Ssu&w3q-UGz>yCcnmXbvX9H~*L<9B`iL6>qpS^_i%! zyIeH&S3gS*Kvl*B1T)c)JYmesw$try6uYj~L%*y$_iYJi_C^e9WEubn#7MPL#z|4c z_OH^!iyhDa{*SKL3@;G~4eWdFplK7h@B%qEYrIZudI{Oq>+J>U;R!~x_z>h2BIj~E zJ(X}&jrWRb9TSsmy~7gnlnFfUB%0w7hUY2$LTZ9q6dME~qRF{l^3qFK{?Vfy-eZhk zqEk9ztkqgS=@mwVl@pIh2?oh{#_Id}MI>{wQ-*;%Ge*zd$r`UmT91bo8aEftGc*t> zgD^!AW9OyuJ8j|!$R(xxF=9JLA;@Udyr7`&AkDb7b!kdCpI1~DXpwA8rqaGn*2p*v zQ6DJ>)9hSBTD&&~B45uV`aJOrPHDAoD{3Y>{rYifCgH8i(ZuUXcw~2dcB~`+@Y0tRGawId1n4wLB8L*nh16QTz;B39bWvZwqsB9wTcQ;~j&3 z6&G?aNOd3SqIvXGJ>LCO&-<=i-Y*M%_h(3#&$4R8nOlVs{|BnP&%dH&GKZAB<4 z1%-`-b94~QE5}lS=<;Ws7QG)8FJAq!lBPj`BlQ(18LDQ(mm!RP*WULfNZA-Xd4s)X z+~8t`fPf#_z5XD$ww_a+ot;^Zppou@OZJ_OiH0V4r2xa}yFk6-p_-qh=UoU+iPBri zx&ORlZJb&UQ9NpFY^)3L3mLVd(M1%52ESd+5Npn!KCr{~1@n;}zv%9sJj3Bc1pn>u zkD{K;kgs2Hyvx(3coj7ao~i2L$#fmII&dv6m$^1ea_uc2#^(R8`4{h72ZF9>p@uH6 zgnN5rSC7BVhq8+bowi%T3GhAr@=yltV&uGH?tIIlH_rpgNBTDlly4Z7_W9#s@W{(Z zu|!52yjG#2?VBv+>PzN!a%)BYv-GwIj3#LM#jQB`d?aU^Y#V*7=oF9j22XfZ;^L7` z+7$e+UCuVRbHAFH929eQ&eRBV)$q8T@wXf7J5!B6;JncW>C_RD;}6Hr<0JVT$u5*2 z>IcJPlkF(V$b9K_%!gy7x6$F!nWOl39oEiY=Ci+1UzzV)u?lY0bR~kxo!!!8sjnYgx3?+1Q!@i?`!F755UP^*~EG0{Wha+G8=s~{a?ynj3kHTYr zzKxAN*7zYa3=A|J>MJ*{0FxMhF#WxP&h;9IIm=C~R(xtjCj5dSj zvcrX?z_UXF=F81s?-ms~6|-{#O~M6drfp)G<`opA4YqKFtG?8-)-$9t9saMg+jyvi z8&g7pt!$gasjo$oUo4im8;*Sg@CC_Y29AQWP!Wp)wBUgWG3XHvVsBPfGAS;JCTPvv zVZ0{4N4CF?cW)$_NC`GKw2?U+dBtF5z&Sq`Qy)VEq!?;Cx;C%()u0JWZi@N;3)OSF zm+7g}<7j?!=q`?+0s`a2Rp|4vJU;fCiI8RMDVs8XB0h#>&!k_nh4HdXVYziGvM=>umdY?4i$a z>nQCzKm^HKRKRqBKV3Zblot^ZZ0@8DW86c5YoxWc*ss^5AmNmh%pu(knrkLGkSIjj zH#an~*(?xLUkUe>aX0hCWW35O$Lb6qS)J!jo_+~K+}ucE080jaPf2XAM007zpvm+Y zi~f@^Ixsyc|EXqbbl3bp$1bM?%ruJv;{K8>`$O)2sMa18iQ_;bxd@Mm}y9fea>?Ews4RPk^W6+ zv`B_w&k;cl1P}botNW`GSrzy|K)hf4j$v%B7x!l}RkcOM*4dd_>EeAXRKmZ$Vj0)0 zf0~(XZz(rm70IAg#^x{<%irpT+up3Zo3l?q5W zkmnfr{ppyri(~rkVV&BJUvspo`%NzEMBL?i>d&^yGjUvpe7>KEgE7}k_*~9-o)o<& z{WMC|2n&d6*=x(QekPI#Rw|lkANxLzO(%xVQxIy3#$b}mRvruJ3pOgQyk-&25d6gn z%>)=G_)9`orLD)8gt9MxhC{; zZYZc>#t&g&w(*%>KBcyQq6zqI_YvS(`4fKArFw~7Bilj^k)nvFRhNge$+@BEh0kQ{ z-Z=4o&s4w^_I$%WMDAP3o%>)#h3)nc^D}bCqcWam7T6ntvF_jCR8_zTtBCS#9^6$mSOeRLnOb(`gKO!BU3|AHGqU$D0~ zzxWrtyc!=ZXJ_Xc=6%m6Mp7N_Jh|Dk2L0yvLt7O0z0q?EXtfgkck}g^*&ix2dx3!? zqN$^2uzDWA`rg_)hD@KY-M%Bc<)>y~z|qwZZQ&O0^sTT^3j6gp4B7K-mYDL;_^_}rusB17 zI2sx%+sL^`S*Uu`d2U*1j?<%J1uX5CH`NC8Y%v z0qK+$l~C#K?v!p25s(Iv?(XgZ29T8Q?(U&G-ZQ^{JkRs}y)Hk1%-r{hefC~!?S0Of zxh;9@e)%B9A3ImI-m2Imb>V&nZaSDtm(}xoh*xMaPbkctT*tsbg6^74tqJ}sYfrV& zhOexQ_2xqJ-oolIN33}ChjUOd49WM)@0_mzN5ms5S|U%M-6URYii1t+Ki%+!E$m;G z$u6}u2EL%94E-@_BKK`I^CQkm6v_(jvi_$}Qt!pYusx{tpF9Z};_mi=MLY(fj^kg$C%d+263+CK^@@Zx2cEC|jUvG2-gMgv!8yuBY?__ddzvDpubaM$A-2T>n zNbN7~nPHXXoklt5>fZ7@&W={0ivdmjVqq-ZLERz{Uz&4nWQ8lk4|Badp};jBL|(%L z$6l?{hvo@hJrutgmA%W?=rb>0tk|82OkmY&$`~c=3EF@63rT>Tb9ymfM+WGNAsx(N ze~9IAlC7>j)Hk0`CBSZkH#yaD4~(Fl@1=RA?5p5aw~cI=7Gs*3;No5ULVqQXHg|Gz zLMva*Z^>uBd`&4NTdI>rYNEM6S|@3@@8ZH{eW>kz+Si&kMPOLMu3ya#7xg#i#$+ypBb6=vMtxw4|Lr?qRiRRxx$-4~=)PFz@VT|%K58G4cg0SeFsB}mtCofIFXKt~5VEbR*zkg8e_$qH9^%<(4-)w_th`BP; zvF5!XxW_4qj@`)EVZ;t41#RBmaskJy>GkS>_P24%8TqbW(x%t2M1j5Dn<@6MJWhU= zZdkvVweJ$Gtg;gw1zW(J+Sup!&x-WeLV4oWw`>wZ855oo5Clq=EpwR8AqDc z{(LQ^`7VcPnm9W|6QC4Oytv2Ley`jF|Y(deZe> zWXnx2fRZ4PSlHa=^JVzoi+}!%juBm$3Ooeo`a-RvuOlOIna!M8e2rN`Mx1nxX30|u z!kC@_SkOJO6tj<-0i=?!NIw3_=6`JOdeERTQfEx$3pzMp+2*$B6+#Qmt6#;sc6lPXGqwnBLM^^FJRjBVQ`e^h}|PaWzy4&OP&D=wP#$ev$X;4q9Z4|2I2&kv3i z{KfkZuGj8S2g@AfrAP&OTRhx0C$rSCYEDL8=n4V=F|~aDw<#hvwhK6wEOad-g(9US zVWGQ+&Dvf}&hRTaIXP#1{HQdpw)PG)d)zNUp`lVxA7u~%w$zMW+dqoog1IR+%%F-o zl|G7%HE`w|c^&eai7Q(0_KJObVu9nka_TM)hkpP2)AIZ)1~?7{g|vjdz26KDQQTp| zU9bDS^>n!nSu%M|S=F1r(|vsM4n3vdr}ZQ^Rt~o1ls)xYyB*Q&no}n0@v^_Uv74Lr zV?Qrd($lF%ETqA$KhX1?8gQJt&DJss#53W@EngTNG=s%Fx%_$*Hpd4p6Ym>!to$S{ z-gR<*%v8q8`ts#VgA0d}^z`8yMj9F#Gdu-pYrgWMi_`2cgi&*-P4|bdLtJfLj@MTb zynUj2YM}-_)k2DE-O4Wo1(O*`CK~PPPD?6EK)Af`Uz^7xB>Cd*?(R2@d%LZeeJ1}x z-IIGu*T5pNxHsyew)V-r*6jhtF4aLwk|&JD_)+a#S64YDFLGoEYJgfHUB#{Ha5>Z@?^41@iN?S_6HsD z>CETf4DCPi*dZ!4W-iqh*LE-ek!Do)+mDTb-wA%7w%DmlJ)%);S3?fbaI}*=rs{?V zFfW|KeM0K!s-rLIl+$U2u&*imf;xZvcu3HnBofkXSjNTP(lPt{^I1EQ-~}IuKEw41K16G?Yfp(fPL-yKDLjpp{<=K<2@Totku)|vZUjWM*EkQA>A zEMHk#ykJsxroJ`T^IP|vK*xvkZ8X6}ZW(1a zy9+sst2zVVrctD?O}p7v@C2mrJlu|D@PAOnJPf=h_d`7;qQyoO)QKU=MiZ)GVU?AdygY);t_p)y;xSm2Vi2-V(aKY zmt@j1IdMBf$0rAtS60SS^1#SK{B92z!8d!8qM%=_0fG%$zZI@R&nji*&N4xwCZ4d- z12INzW}@-K8!%9ZwRSqU zZq(zsqlCSg5jI92Q`X)wi$`K7Z>GT1Q{IkI&ha8XHgk3W9Z!5tq%=IPTuIgS!HV@& zu@^-*LCt6`$uZAmI{Y3oS?Z`5zwv8v@deiYj89s`v!wc_>)4dvzuN+{g7Q?eNXLz6 z5Uog-f5la(8n=GP!@%&nEWeb zY?b~Sgn6@iusK=Hr6QhV=Nwi3>O%i&mBT9qxT;wGJ3{&?!kkzUEsI`>uMFD102VXH zyqY~eY6DLZoa3_{=!s-@v;PAa&@T}TUFFOdO~K$uPKB3`A3tV@Wsjsc{6afnZuL3H zuZqWWHGJIBeXO1Yyc8^?g#Kj5Z26sRyua4srsj4Qy^@#d=GO`nj`YCEGsK^xRTU_u zPVSgTmbWt!osQ_dfB(G-Mw0<{&l}x11K-XaA0h z>ku!##~=0u+Rn%5dfQ7JfQTojquR!c4dQzg3l&g|V|pNYY~SCxEL+cIk^`hLS}Y%y zn@d})S=W0t=5>73ZU=6Q$S89MNDdjc+XBpmoCM$i0SeDxC5elRH;=86j?jdz0JK;Q=gAy;^{0EW_0XM)sZ=IE5~zL=Oq&oJ@W=F z886ldUBJ}_ge}{pXPp1=bPZhQ8B8LO7{i==Jo9@&zUX|ljQYvuOl0h)3B7WWpXT3R zvvnRpntavE>)U?iS!Bb9Ab`#*A5<2?SO6_Kh9Jm5LgJA@q2U0oz$j|S`;&qq*V0gH~aWq3> z5AfBgB_+}sG<_`WHH%kcZxZ<(AI8`jPdc?BXgi12F~bW8c<~MY2^v#4lPN5JwRl-dJ}P8?LKn9`~`^qa}px?^dFk})u3U^;C%-Nr3%M5 zxVVQNs~M*?o9AsYgaauSF-n4Lg26Zu=;fQ*WgX=oTKG8HjaAz4t3l>&&VV^sRun`A6+kn@E_?7V@l! zVt3vLFf(iOPfX^3NIF^OfIEXk!Cr;Co!0YQEkPFx8XISpon9S=nn4EDGr6cHo{# z7{y@BV(JT2Eb{!r_-{GVpr0R_k~N(VmwCp_N7F6pj%I5e@xi!mjzWoA#qPUDAM4YZ z8A^h2cfQ*t0vJe@#h3L<0d2v?eE5H56vmC`9Cf=e2oJtGfID8K+t`p?Rl zWOT7cOfh`TgS3F>aB_pPn6Tg6y(5)Wm7wb&758-*IVBt0_aLSXli@;<=t_3(JdG-1 zd@}kKn+*bEX+Cq0uo-Ua7vNyx-EnYX$P37)kHQL}B6Zt)V zKR`hrZcrqF^rr~)b*1?@-!Xh+UE#ELq^71eS!j5sJU;B6N8Th)q7I_ROU#N=h%#_LpZFa6SYOL+6T^A!Tg(OVC056 zNZ;P(UU$G{9I%9JHz8jL2RcVNN;+5#`g={=Iy(#4zbgQ?y*XRWGf@K7SIwl=gq|Y+ zpk0o1URZ>G(tx=EL3?LA-2i)9TBWHR1+Kh2F_+nU9i10|J{X<`8gBb5cZQLs%i)Uw zq}Z7>Q&a0XmgLz8ErtJNuiD`pGzr>ncn&aQ{(u=^Oo%Q63(W;{)NW~c2y+UH>qd_b4P~@hafc~ z;7CYFy5Qrt_Ye+LVTGoFIeGmU8@u(gjny-WWzA>$A}`_zB88{Ae^~*6SXh2(u;U>k zBg=owE89Nw$s98XNEY3bBG=FJpT zJD^obCe*CPcOr9H%=C?GqJ3?02s^?jed~3`!M@;{Uj23Ivm+V5l=sBk{QB)BA!vrO z)1_O=YgiZ(t>W}uV^1`LDzOYIL*=2{a!;b~mpb>6AV9B|T=znuWL`|Mtpd!_A!{ip z{Dy-Qw?9JybT8vW5}}Lz+aWVHjjsN{%>T-J34u7B>!6NcN*PL)#cr1e1K#?iLT(Y9 z3679buK^}4ey`}_^LvIxIuJxRH#ZyDzoF@zyLzg@g);VMVSmBuW##Pa0nT}M(&n`~s5>2X6s`MLb*M^dKA9!?K?KRHapwYn?UPZC9~R z=h$@?;Hta4&WW06VdnN5S26^?jCD(=KLz}y%kMYoW{chAGIR00nYCHWr(dFCll+b1 zo3~hSdp=?A6w7Oe1$lF?_G^Ea1k53gWQyDRH%|K?PSX8pZH+yeDLL7@$5a*|FV$ao)~^X``D56< zZW%%ewC zFFhk5I9O+D8O36%Hk3-FNDgIh-njK_?uKj43G9ld`Z66m1ITN>nEXsB%_)GouSDiN zO7CkHa$LKPvU%9EZI3Qw^A$@1W-z6z_XNAD=g@du?r=I>j##|Tp16}cn>QE@*Rnd# zou*p)OVuvG1{Tb@D{QXG`?VTGVeXf8U+)-lq{t_r0zm!wT_Pjv;VI~P^+4T`>|L77 z*Q3d24$VS22*RE;!=T@E_U1)uG_?BQl*XE&b9$0wRT_s6`72J8dS|8B_= zF^d_ypST;dZ+G1V)uHEkzY7*2sr|MnYq>3B`4caBc;b-VoXi=#0CEK?k!)@_QHT~= z!@T{*I3^%Yfh0~Iqn+WOMxx?cfmkIS6~|?Mg@~;=vXMp_jVpcKr|POr4upio^PaaX z9Rg#AO0NJk7QEjX2$@KUspv5TOFjtj$H^t1w-iF%V2L6keA0E8?Mg8=Q2k|%aG2B+ z_XjqC3lY6Pp$0iOd~HSy>T{J>u< zW<0`+>ao6Vt!wV~{9f@s7r4_pGltHD69B~vNaH^P17Fe}WQ`jtAgdc>^4(-^d9gSy zD-bY9CQ07bf%Fzoju>*b=VRj3B(2%N=&fBb5@#q?nav~vEf|p*DDET+S;L5nW4Bm+ zZq%!pE4xDLb@u?+8z%%f=f1Ce+ngqCfH!j_Cu0)l@8+L^6`q!sS7B9o2!prZ3Dge) z1HSu(AKP%q(O7Eu%!pY=i=jxZOu^hw!YB`F*RZqI_<4S!y=ep*ZZ?`pblY^Rr9a)= z^1&uwHVEK~YU^H%Cf@QhV_d zIXt38Q74*PS_da4UekkJ*J0$@ZhQi;i(er#=Q4%0j5XF;#*5#W>D1F70o~L8I6&Xj z@m>~Fu+;ioDr8FxYacCDeqx^(NnlJ;H^~)~LzKM|02A%k5^2D!8eF9pcP(3ly@CFU zj{M<6bdg$#%?-F$nTt#->|K>x&e@Ychmkqv!R3Zlvav`dUUoo`Tnuvw;tUn>Xu66A zI0I-y1C90ZNUPW9`ws@oCEY^&A99*c7#<8h<1iZzj$zg^*u2fkO8;O8!lFdldm|wE zds#3Z>jSz2KvDYl4~A#tJb4lLG31!UoVpje+VW$C*BWgd9m5&tF|o1nwkLz$3c`Kh z%J8GXYe9T)6*SOKO~=0mdY%U2_Yh>r(5gUf8P^GX$Bw&|zb*zb-;3$#QO(qtkf-!S z7c`ef=wDcN!vQYL&6$a!m)vnAgRCKwTB768c6DQ_bC!q2*I0yj5E&904Ak@wY*kqt zy2G|6zU(xeptb|4M}=RTCw~9?s~$R~StWszTFb|(QQQ}6D%w&I%nTs z5jSNKS8cQCNt|Iy$drcLE?{Gf@xN|_t4ySQ;VvQ)0+OHp`m6{seCZlY=GfRPDk}al zAL066S>OMc#4yhmjL0nI_a{BQe8g@+8 zEZje8-c#qUDwa>cG*`mG$N!XLC9pYOQR4~)f#hWJ@$YKp9^8daje1*Efr0B}TbYMq zIorgl(njk9!72PnqLT3uu_&4!LV`npnvImnBnkPtKKkiF^3|IdkAnG?`pM|h6>wG| z$ToGO)f~!G|4X8hI^{U};9teXUei3vVV%E~Z+}@M2HBY{Lc`7J%M{L_*)|1I-49=1 zJ&VFZw-XoxmZe3NeLGn0%Gw7xPA}OuRyxH$eMvcKc1$IlbQ%`Ex z8S|&<1MTskiYU&*uIU!PM4uKK!(rdb&xRAQC??U~`S<6EO_TxKmCNb@ur;JJX|&}z z5S!F?6thlmb3|_MM#_ZpqyOf=-Ucaz*teE6z(Umo7%3^eOG{-=?{LYI&IDC8dSE%O z_p%f+qk6@HPZdJ@g%n4WEcF=^Hk9W#BwD3D#ym%c-KA!vG1gN*AAnJNL zlNCyp06Py45C0|~qNbuclNrB|8^HEvxqB^0O}k`|y}DeLb`6Gk(yZ0&7hSL zJe~J-6ImsEI)m`)>I#UPYv4<#_G4wm=Gc2xkf53AY}aso9TV}E32d7A{^gtP1aFB% zE_pKh2ZoY`U=k%Hes|_q_UrnIimLgTjB|Cbq*pVwixg>7^ss$}$&Bq<3^O;8_!d+ukwMJ6Vi$^_wl^VE|}4P+sh^aLe-Wn@feK@&x?z=g)co z(VxI?t;s65kq4+O<&Z(4!pCTKHaWp84D5mA_r<*VFOc(mo`8#C3suU0g51sWeH-`O zlx$p@vvlc(B`hpTI;?6=C-*m9j)bOHqVF8Df^hT6L%4$QGfVGQCs~I)*W>rZGD3Z1 z?0Sz@ygq3TYLCrvP^-RxW0W_7`LP;&Ua$`OFc23JGE2}J8eR~s9-rd3zgOzDT z3$>c~6wf;p0EL0R%v0&bOp~2`vYTAogJxZ*lI4uK=6S+YEqocifksNg}g?=H1AZrveDfz`q{+rV)7*a`ZJ3@;RHpgMFz{r1W45R{C1}V*Y zyWK9zUy;8!${j?eU;f(;Yf2%Dc})vqbHz;yxbdSlas<>NK^X)0s0Y`(D82V~JYX76 zWoObQXLp{VDk9-qDiCg(&gB}2>V8?nUCFt-gKM5m?O-_cP!a8HXKW{5tkVVp+_jCN zY3bV{94BdDt}M4BKV7INJBb5Qta^IOZaYRO{EDcH4CR}jOh7udk+;Thbx@eU)+-Fi z8VHxMeqYBwC(`FD7XX47j}fWWguvE(0rua&e-V29*drYQEj017y-T!j)c(JT9w*hG zN<{hQWMs6aycz$xoJa!vGcf=ij(d~c%}CmEMecM;43b`C1o(>QBbDDJfr;ywE90!DPeqmZDrh|oJpPE2gp+N6 zlwR5J4#zMl8mNiU<_}8hgok$u!{|e$-tvw$pC3}6{tTMYBD98si8ytkEGn+Z?|n(; zd*;zU*!4)g{+9~gIDfGw)Y%)AGr!ceoee!c?(lX|w>Q2f_R@=KViS6kMk9TX4D?Xq zdnLAJdpe^!8BKRh~n?6Z}soU!}MrYxl2bi@e zcC?(RZ@5P)H{9xbawY(dFj1+X?}=fc3JZ9=;4Ty!XGh3-Kd@G5k>PRD8OA6up)@U# z#1m5yQ+#~dOhGGC`r`V0S8wxNdqoBI(#}|NV3c-b8W7&nRd^MHc0~k1(TpCDKu$?G z^xCH-dlTz_0)}f5IOF-X#P=TkZ!-?4abBZWR?LnEmqk4zCy!p2e+9UZy;(+sxT9m; zO$+so8Y#(sj*iULdklU8qt|H&@cb1n3c{b{Q&{ zB{i+ZmyqL81;1!Q?n@34K05JOMe?phlP~o}iO_U(8@t>ZrfR}Dz zk>13BDv5W1!Wp;5H&;ztxywnPqh26>8Ry&zzBdKIifxzd{C~w>P$eMbY~f zZT@_8E=llrk>)3hg(j6~*;~{-K)FUy&d(WcJ@b#_>Gd!4KS@cg1ML}-CwlhK1Y8Ub zGM}xt!y*8|*{!CQ_uS2BW(l=1Q~M+G_mctgmzObz#K*}(7>gGXCvfYjES;A34^d!k z_kSawO#Gk+a6rIy=L7tjbh0J^#m}rQc*T2PSis#T_7TjAt#;hV5pT{S?cbJtlx zlQDETvaKS9o#T>-kg9K=3skP>d^Ysdox#Y9i}RX9W?sI5Q4m8Gjz(%`BY%JoL89uf zALpB~P7+N`O|#Mb)<1@COebV7iLyAqtBB^7=ckY4#^6y9=G-v=e_mfa=N7@N?HNiY z*dkF#F2c{W77+ z^*0Nmer<9L0@-0yDVKSvzN0oDnuf#e>hnvd9hPUcG($lT7`$^s||2cpeoJ2E^dPfUMMUq#1?tGhK2zm$d1Y_5831Im?7q}4v%Aj9{Jf>QuRRQZl z*Q81kzSC{sI_@o)zr-+#F{q|u2qoN2i+Ds{PEG}8|Lk3~gFM7gnew9MOZ$w%oXkAa zCZ@rs7u0VmO&6X4i0SQ7&nX(>Ix?@x2kLg(o14Gc;?rlxmu!pHn%r4{mu~(N6<$&7 ziD9$deBrn!e(R=S7`nZkwO^`p5;{<4dK?X=?4a$OwLm!&E7tGFLw1|pT!p5L!t8>a z&bG1)A|Cs2-sT&cF>4L!p6ec9g=8!&94`;nFp5<95Y7%11EnjC|MH0P12%lJI}+2@ z_E8jz>|wZB+e9T`E@8{nuO4Ax$%Vnrvq3Q+&COMXsHC`nfPe!xyCOGd)VG|w-I=1@ z?+K9`y}k76#SZ{Qr3MHjPX2XvJO!Zjpb_$877|~Mm5NwdIomh9o$`Y-fL4NKz|xgO z4)C=8uE`n%N8Y&qlbwR`Seez~cb=CtG{Z$=({b5ESs57_f`Sbmn)slmEUARzV)aCD zxG{&Vz;pyUmKRz863KBFJG6HiEMhCdqi2jH&q0T;rVk`9wJ5GDmM3GQ!^3s1PIr3& zV4Zf{%&d}%8I*!PMW_7HMS#GpfA#&Rnv4k8G6-19$`I&e>`n9`P=};A z&GP&u?_~CP?Tr9nlelrf(@mrN{YLv4NY1ESPT-I`zhQ<^*|HqBfv~1}OmMt+57TK2 zhr4XU#X!l?CxF2Rg!oio21`4-(2;)rzlDxue8-@c4)JAZrFjdXM^pNzisq3 zj`F;LzsjoSOBnMc)Kq}4+KS4{`vFL_d>=WK~0$9Ibfu*TB*FajmTy$J_)b?Nx2g@A?mrU~R24!=Y(c{`51{16x zWJr@f4+U;53DlSw?iIRU)_NSH9vj_;o_jEVj$+Ed3XF?i&jQc`QTSJKeWnLQu(I;% zrL!WELKUb=Qq*$*&n)5Ge0^F6ugTOobpi5i>u4LSx#y0JOR$@0^+7au{j?xLC3N@j`{O#>qN9kehvY%Q(|sPGb!h{SFy$SWW!9svZE z0d+h{Z=CZBEc2Vg*oTGAn2AeA<_Rt4H*__2EoJ7-H@ z)nxyu6VXMiy=_i&=M(UK<7=!_A)7O5%&#{vAc>QUh?=oL zIR2yt)tQInSW?02E0h1>*>ep<`Jk*c9y~Z=Tzq3A2l9mn|(tn+q zulnF%O6GSxmM!ELR26LXJ?R0!Z(u4auOQ0q>v$`|;;+O5s!^D*B{SR0;5`&_zBr4Va= z#eDK4mQCL=f52;LxM>Sy`a#)(qOpf}d5=bk;H?U%o6|}rcMr^;DC~>YM0?Km6*9wR ztuwQZx$OdlLW7?RC?&-ulDCS6BDOe~-`xcPl`b!bklp|s)S+K#1k0M3X(9v)$M&do z7xT(%*(Ti;Czui_e6SL5JKp%tqfn^e3u-Y8pk&j%@lDT5>XT<-E=jD^ez`d@K+FZp zEmp`4)d_9_hn|;#QW9{JnDG7loDGjtSF#=1e`*2zKsC{D>_o{ucdu5h!V0IuHn+i6 zx5EwpE*hd@8HB4nP`*i4ALPqR94~jL zKA-`l1>+t$lm?5VK)J+Zur{D$@bCP2<3WR+|8jM;n)zqa*&6@M%uI!yFJYi~ER>wL z88DX3tu5JVcNCzi-1p0d0z@rtVZk67Un4`f*B1<;8mOKP9zeDR3ldR|0ZLNL_>W~mdQd{kDE1!hV_WHKEgsz504`PbR`qSzdSa! z2ih=DY;>~|oVA`ezGA!oq(xYGG*?kwzp~;aFf6QdZI%d>LP;nXyaW+$dEGVn!}WQ3 zPEIFCT|MWw$Q+l508uBDg6GFZk~-i$GNAF()$ot+z6pU8kUUg^$YHL8+hw+{T_ooC z;#vUg)bTq@g6bGrw&q241_b|X9?FA?9`01+Bt6E!%#v!n!mA!7eRc#=dQ6)3SvqO& zf%{c3C%K=3p#U%o8b&#IMxITudBl8@QN7rF`)P-r>AsUe?q~o1i3=z>8u=3 zdshZ>^*FdVCX=;!<5WFqX_ScAhjtE6lcA*r9|e6jxg}M&e&2|S$?9c}*9*XEt+s9J z?4LvsmvUV9OgC^p{_r=S(|)HKK681&3aD=+x3=K!=je1GMiSi#7WPR1Sia^rk)hBz z&pqRM(?tnNQ9gnqwCnOUlc{XYcw~9f$@&BUsZx#hprnrDyWpIKEh^BjET^UtTZ4zS zyXm}siVlT-fQpB>0O)jhbdu>f=c+9LII!rUjlT$N?db5$Nw+*$<*6(}* zE~(w}%V70~*MR4kX=*u097A`~`X8B2Ws?E?sqxke3nb^K9WS_F0M^ob$({qSbrvWv z%NutZS|erFhGnXq62ot98~Q-?M>-WXyS;{T(wn2T0qIC1#!4n!P_YA?3s@IHz>+|) z8v4BtJt2(Z*o1i&ZTKYzGJj;7@+EJ21X#2hbYc4sNS){;_60 zP+*9tG?NaS`Pk$t0_Z#7LlK*s%83G5yKJ*%U${?s*!lT`+52C!vazKr&Ya~{J52RO z86zR7o!aU?-6&Of&%|z-M7<9HKb}&>T#_QIERUQU zLCkN*cNs0>aY0Rw3cnW@d$t7F%^tAdcy%zbjag^Q0*Mf`j33{~zkXG`a605#LC?k{ zfK(Xlstoz^=+JXdonv{p9Yf>PIn@DACgOG&x4Apl38nO|C-Y}LV*B3Ru>vwSs1SGr zsu7{*+te)u(vuNB*ES%L(jl4f<$#`~(t7C8YqV?ZZCJV4r5q@3<%GU^Ov#3@tlB#0 zV5yD#W39CZpj5vT)Q;^AF2UUsa?Nh=`_m> zz-Bj{eeO=~Y6sjLScsRWWXL!_gDa}4sF}2`AH~E)b+$bOG9@0J+Q}^j1|w5k%*3Jf`W8|yL+kC%7b!Hh&@z3Fpt|3BN9=U;$cOaLJC^QVksRcy@#GpNak z8h&#PT}4=<8TLJ@e19`xq1EIETr#M1imUia$7we9cZ=pWhY^JOp7AxA zJalEav+>lGAooA17h59G7u$@B+PCTY=|dAEF}zQxCXQfmk-?rAh5YRcRs36m_dmG> z4q%-<8v}W}Dw3fN%R-2aMUNtS#KDXJeF6+R$0y^@|N05>YeWIqsr>K1fZtcma1b)+ zfBs$a1^DZn98Eid)hB4qoCvJOw$9h3rf?ge0rdtFWthlh*kV;{xd*=d_K%ezy71GU@9S`s z@XAJbV&U$fV%2wn)+?tBm&WbqL_{VGB+qd=U@J@v3k_kfk(eK$Kh7ACmY-s==9k=l zyZ-UG{q<)ApZ~~2{qIvQK3bg)p3_NQ-F&pL;0J+88}(GTjavY0FMzviN?4HMu9q0K z7H2^4x>I7TL_KHT zXqK>Zu^H^wwmje5DKnc9e*cF$uFRfV$m<+M{XAv$g2!q9lAn^2^_k3gZ+TUDre{d^ z$<}Bh{n{7f88@61RD^E+Q$v*PUxxD0YIWy6kvIwUflOI2S$_gydPZa!L*B*3L*g^y zz=22zU`?R$FJV|}jbDEt!G|Jyw9?6Lu!TcX%+jqL?eRX<|cD|Fiw1`j3 zUNFsBg#1oU?ia7K;jhl0V1*quSruJEjrroo?9xqi*-v+vwCX=Z3JTdQX71ci)$ioe zLb;LmTQ`qzL+V^mV(UFA>?_BHU=DVF zwI9j8iGUFN&qJT$F~#^>Q$D-EdG7ZkQvnYT9lhEM>k$gX#5`A6QuWiWXKVU0i{TX4 z>N@@d2SZlIumc4c;6v6PJ+ z-<0&@p2&Zn4&Kowv|oMvM&(JouYSzF(sOW>4|$lsKQljz^E$DFdKvDP>QvO3*ZLJT zz4O@L-iO!Yj8F6Y#?y{#etcKn&hIvv9)zGD*+RaZ6j}spH=yXs+C-g+j9M9>Q~uB3 z-LzsQHHBD;G0R#?Iw(G=t`Y^8a1ITYGAZEUx2%7CN*42o;$DZ}(Jk!Tpg5$NS{d6N z6TLMlQe8JSM}D8j^JUHh$Zvf7uLdJH;$0+jB zySg>D+3Lq#T_e=l_*?L{QQ!9m93o2+{*QTZK8brT{*RFy!UFck* z`N`9%{^%Oaitp;Dz|J}{4QHA+j$8Ct%j~CV84}q@k8I2F$E*p=YCzJs|ckazOb z$o%!?C9^BG$LL>g)86n_S|UZ#i0Xw^Fz}Ouo938XY8D@Lb&0R+j9|zp%VuX;r>|4W zKYINA#iM`yTV`Igt^4Y^`C|#$HBA#k|7~FugU{y8R%EHk7~VKR(bt;;q|BGE1MD@P z`TLxr^?x7O@cC=7xH`V3!fLFM)$#^Xx;2O@%?!^n)A0!V>F4$JW8L)|`Yzq8&AUpJ z5{Pibxs8wO1IXkqRl~_aS`p&?NDTjd{dZclgru&#?rJs7=w_LfwtuCwuaGpsB2A*6W| zX^yovrb=Z)QAwfM*Q0>7p#(EKWIN1}F+rT;F5kph&AmUjwoS;>b9sQ0v-IC10NRrN zr0!BR7S@OUm@Xnb`j>B>4O(o?CepEy=1^NIG^6pvAQ^AFW=8bET#0NU5BM+&e z10p3@`Y)JsUfQNiO{vn-)6*Zu4 zOemmrO*YKXP@HV)-uVA61i#Le<+~mBH9?A`=fSrV(Ryv$Mzy=;XrxwC!g&jQ>IVMU z+A#fjD!$yjJPZMDoi3Ii9a%qb7xeg+rd6MyB1bDF*<7rug0o&*(m!;vb;@-S1jqd~ zc&7$+MD=1Tx6SR${~YLL^YWtuD1`c-*}mwjXYN-x!-qVdVE2wMcg(xBJz}@%Fl9Hg zst|qGh8A(f#bNfdkMC^JT$}@oln*6RsR#)|PoIwyqIkJs19dnpHMpdA_P}b(FfL)S zTE?TLk4hoSPRoDrt~6d-F8?A9%)2 zJr?<(f4HNK)EvxnJTzZUJzdF;7SxV&S-T!WEE6W+fz0x;mujEWJ4PFFI@#b*@vkO4 z`ClVIyL4C|^i$$d`m_L}=zHZ62pG(e6LsCCF3sAiW4?9F1yq!&F~mN>FyaMH9hlZwkYZtCx1FBIGg2vO#>Y@ACWP+Mb!^z3^?ln6uR zZ3>={Z!vI>r}#0CAkRlf&?T}j3f|*Xp*{Xj@IbhCX|&=gO7_>jW?|cc*u2E2J#$T= zP(eqgTA!inpdZzIjeehOBG`scccLxTR}+rGbm)Oys0C<~tFIci!` zOKes&46npKp#g*J=S%J6-9p>{z;)e$tROV>ov5R2Rd5WJr8-wf{3R~ZqX+UM%KL4@ zePZFiqGi|bKm(v5st+UQBbSc4gQ{&9VmZJa=ERV1U6T~C1~r%px9QR4X(09ge3(@S0x-J3W|USj)D+j z8MB?;g4_~nSKU(rOvcnSIW(=ifo6Z5D;@XG50jmF-+z%L#I#TF{#)qc@{(-25&~&B zzeE*G2`gD>wYi*Uf0>;P0yqkEy1n4qaBW?0XXwkKt;+%Cqn6PKkCyZ$PM3>|l|Pn* zX48fe?{T!;JVZfltr|JDM27^8QS6jCegBT2rfVl0^mvSJkNab z&>8Y=?~Hw@QNEtO$uoUjKiEN{Xi9Mn_}DwvkzV|v>g1CJa@2niL7UJ@-MOTN0C$qv zjwyHBr2~0*q~h<|0qZ5LNk?6-+fvkk_Ro>10}HtxM<^|14Qz z?}du|7V1JLdbUGzRyQd^O4{U(?Ix{>T>ldp63fwm9X&wmL)TN&+9_1~{g|z^-3rwx zgoO6YC15(>AtLmcJqJWeTyo&YwSUQ@fItxy1=7H`-xG)>ITfFek9eE1>)V^mk+QL^ zHsUCQSCb1aJbg|aFxd6hU=2MmlfLV3i;Om*WXN`F_aD4%`j`0H8X!`_7TzCl(vr4B zu!>83LWYQ!Wy&-aa|Lhjv~>4A^t*z3xnx$!E9_!BU!s6pq)=rK1Hh1h+m#2$hQH|w zXvW5IiR`S0bkQr|banN6cZzv|)%}8ljR3`h3-V4)+FEJ}^*weuCK`h$d5T8|B-gqcc9~ts>~gpb$lmeYLiZzqlVc@z#B*TBd0QZANck z+9h1Cta-`S=4$!_X`?gY-=?t@Gnpo)YKElHd9J-zUfv&z{$-?`y-lRe%fJO5ER!+K z+j!@|xxdympr0#;$M{$p+x3!jKU&Z3yBnl6XKreiA+2}E9$4_qEv2Q0l&VOmRGRsj zW}xc43kwa`8!I%$;*`|;OdP5W!_L{*|0ykzXMgX9>Ke;ZNl1gW!#Esr*AxsubUU9k z0AD09Pv)fd13pPk{3qpA9lJI@gM;tj*ukZaZonHGTk(It_GeZ&``}_=Xs9!i#}5nH1cd&+Ak;%(#m-YL5&kq!ye~r{B zP0K)RBP4e~&4bTVcX@$>=T}2<)4cNd54u_R=jXFC#MMd!Ci9a|;o@yjkF!lji7_@kgeWd9zKV^PdOKs%1~+l7Aq z%SvOtIKQod8}g#~q?gsd{`lDGWV%3nJ>LI1j?oa-p)o5FQmnINXlSHzQZAHiSw=40|900VmecV?)ej!oT@a`&c%89qs2-wtbsDg- zd`tv77fw#9xT7t2zK@aOR{9h_j&9=nL3@Nne*Kc2ohF3+(2yVkOnjkRjaT3B3Owz;%ybJ?|O zxy5DMTDGxl+jWQc-19uY_wVjL_kEo>@WpZEBLkGcXm{r=$J@dsltkby-F#e`8K0Fe z9(_AU2v&_4Exm8w0)5C+S5p!R+_qk^~Iz1 z5A7Pt=$LMJSGwDHzJU<6sw-S8zR38eWqtAAq9y!F4c<&V={)a5rlibOZStuOg2SJm zLfQZ zjv0tJJCX$XCYq~Z38%~Hu80$dy5>&5+FqY^&UlQyfxOe$yB7<3Xz(()6!3XBwtLCq zF+#fJv%^@U0~QWMnQWiiC}uPB*Jd>9WBSV46uKS{8xO*qo{xl-S7|M2^o%E3QdJ1h z+Kn$L&RS7OR&g;2f5umInCE8+NfwhoD+tQ&-A5b|w_HE?1(%(;Zat6^Gpg;~Z?pC3 z_oUg)@H_iuE)KryTDw2~G()=V@OCG1UiR=4tHTttx0i*{F5;_Bq$)|XZwPUML1Sy%s9o@ZR!B_?W+Vc2VzdTvppJr4=>K*CyQArL3w5Vt z@%_(pHqiPICrAfIB?Nu(0zq8ACkpHAZi}hrY0&q2Z>Gm@_I#Fled2tNvq$%X*2r%O z;Uhf(GAqrGxP{T+5stX+aCWV^k)I+>A_zc6tu`fduu@R(?+tMyTDxxKx|GxrCE!sT z?OoITC0aC~(7oPq{)}wN?+N|4(QW!BK_=qtYGcL6-Odj*+w0@^i~lNa{qyM<^^e9P zg&mS^y!`iu_jQ{Hkzu)Y149EFJu@(-OP@1tSmtocTlo!_vPXpemeu`Ys95&KMLFCL znHC2Xi|Xk!`q+x+n}s%?r&rSWli{=Hm?BQ@_xq&8vUqcuMdefYyR&Wn5fQwlyMNuS z;nF=;GZ)z4Y&yEzZfer~$)9m3zl*+kt(8M85w70<@x3H!WG>5BwVvP z-e|T!?&8hS_a+egI2YpwO|W_{>&ckCW*D)t5mc!RneiK(UEejin2R4Pb+40uq(#G+ zK2tEz0ezUZTl4B-w*vgHhTk;#r_#iB%yyR zh12c>*ixJYCT@O=&UKdl{y{-+!MD>Y@mcvffw+-`U#>Vy3;E##GH-uxD|aZXs>0#j zl!&3zu~kB7Kj<6YEb!U7ZHro2EVp2!F&*I!u1F3Ii|K!%jGbbQ`4xvu1?y&NQIsW$ z_0F{5`K6>=L%t(uyW*2jI0}6-2WIiE43z&{@3&i6YA0RmYi!(O3-RC#*8uhlA^P-|$ZZnAA^;6a-!d)sYcTBmsTRRNv zZ|}~i!BTtx!*Z#Vr^_$JvMXOEYwc}6ht%19|5P)pB%Mo`^oxxHd2 z8J4lzK2hRozY@_`S8nwB2>P@3lZ1a&$-!Ld@|2e>H#Z_|c`tfh59np6PHavB-mcj; z&fDKnKy{+OZhmp-es)5(y_}HZbzP6TP!x^mGgnyt`HI<+EdhdLlulbXfawMqNXv^$ec!fn8}=qa zGmpO$ynKPDgaN%+cF;W@YXz%={Y2HSNKvK}NG7gsPqy*Zj-YCukJ6L$dK(`X?^{!Y zUFC2=`$V@vovFfc5fwb21B=f`BiEeZZ zq}qh(etELgj_d8Fc zXOtw1qGAf3_w`GD55_T|oG|~)S)#>^s99Sv?u`))gS9yDWeiiArc6s5EB#hhNLRK_ z^6A3W6D74eA?44A0ZUePNx)SEedR-?6#uZY;|DK4_?| z?Vq+zaZDdo_H}w(FB{EluiHdx;nn4Wo&s`kh{0z;&pYN5#btjU)jwxvMnglN!b&Xl zE#i6C!gbd9Md1Ds^lBod=Z_=sS*cMom+vQ8d!)rQkuKk(=PbYmT2}h2L9IQUU^PW) zM1w>-TnylHq_SM$0YN`HN8UB6OYS!-zx2P#0U$6#q=M19LPBqdfo zm8;oJF**|U@ayn*(weKq#XP3|c-em{QiDYhS;!gw%jP3ka7VC_8KO%9?^^TyxBb!=K^u_#03sZ6Eo8o9YxH$rQVHVrv z?gAiCP|P7+ROR~l0l<3CYKoMPJ2^|#P`IG*gMX(!`6qUg=S~dU%d^hvda?jj;g;ud z9I%@IatMRo@0WnRJCQs1V5Q^Ey4jkU8xYxrW$PRn=&0j-Wli$-ET*7KQ;3Asq+meo z_%b#qXseF0B;eKgZtnKW{imllP;IXRvsQoNH2An{l@3xky6I>a7g-JU3f2BBl2olb zDw(AgyJo2ne_vxW^$PXMDT|ybJZ;HSr0@N@zaBYhqdWNr-joFa1~#HiT$?|k3`5Mn zUA`^!sx52l;^;Z#s?(#?)Ml635SZcqRxeRhf@PmknP~SApRcj;r|x}_S5OuKIPzV$ zvL_-+*A%C&>+L?BQ|pGk+r0M?s{v+gh06$U=z%>(z=xA|ZmQ`hX@qVtUcJI}0>)f2 zMdd``-FqAeaiY8xoIf-qR6OfLxnie6z=s4YzMx$jSmZAs=x95>4k$;EEMX~9d22(A zAN93BX=&@|?h6VL06*cKkhSSAgpo9Ocl&A^n$xfb{`hZ%%6sEX$PukcV);2*maEf=bMp(MbRPQNB;PBe1?75n z583tMYjLR8N`rn&Ws{gjpfA1l{FcAexZV5R{;i1ucuAIE zZl9i$d(^MKawOxw_y>o7M$XB9;#hdM#{UuGKq(PZ^!*0-rLO`O^bB67pPW!Vo|~y_ zN<$UAxagC^NL5YZy+hr$?+MW0N8gfvj9s8+pb8BB=92wO0!y=3eK}}YQ&{Hma6Au| zG<{h@s{NGTt7i`uO{mihhf1_0i4QF<=(^0&*B8(amOSnR(aS5yR(kEGthlnIvP1ZY z8!oMQhuN9T_0!H~G#c}DWTETJyV)_`bfFLzE;a%tftB0^n3DVs?>`u!kaw?j8+^JO zdQzbg%=eZBYGt-4juk2eKttdz(t}tP=Tedsxt{~^AKLB&RGPQ%*SnZBIA;Y6lq<*a z%yhr++n%XOcg@tz{yeI2WvnMPIgsyB;YZhhZo(W4eFQz=BCgDMQ6o#x zRh3wuGqnn-jf(Nk)`o>X{zjZ)Ol$%)V>G;|+ovVhEx1*iw@}|zM%nsA_&`4N-Q3&aBg`e`s3}B5s^eW5F-fs-FQ*t^Bu73=Hj&fGsYqZn%W^A*zm6c7hY2RZ zRlC>r{i=Zf(F#XJ3*`+x{`so2$8_mCUEHBghx&@kJC(CLKQc0Wl#ZH07U@)u?v8ZT zz1d2Jfdq2X>fJ#hUi)_Wb^e`^CWC?br-Je+^^!I{?5GtW$~QcQzEQ|VYU&Eo#q zMZ5KdxNuwABOxJHNX~+7n3(O&EN(3PM@0Ak;hsv1FzVo?Ne#yrNTb&2+hu90v7(12 z>g~2j^ow;r?$XSX|5gyxz6qr;AUVU1JJ%_Lq~wqBt}U_sqa*%PY%WXAZh_Hyezc`A-A2rn zU(byqNXJQ14vH`{Zm(*C)thfW&Zw#=25iPe8W=kRIO1PB)^NR-E6=>{0!W(q21ipnkK9!wNCX#lPzc|Fl_Vt6brq~k$0Sa8* z{76TM9gOISzfN~&@*%q2`Y4u2FXhi>vbcect#z-;9&7jb=TeD30$jwLq)qFUiyqz2 zU&{#hR*Iy|q7BQs%Fx<0J9Dcq8fvYVotHVHB{FD>rew<7y3lHMCBN<&% z!e5Z6z*W`E_Lej$3^)8Ut~+nZNg|1Kf%z*j6a7DI#x!#+`}gZl3a;R4ifocAL@GQ^M{cveN!9{{C9g&0PyDh*g}b zgtS{U>|DJPB|Z<6gYnb+NM{n=)BUw|s02$PrdW2Y($V338XklWu8dU%RZTA;McM`Q zWQLz4Y8U`S(&jmm&&|v$@P_?>meC$rGki3Neis>0gH4Tk3Ik$)RvE<#(-EM+_xP<5 zFMLdL1^@%xs{pT_oE$bIH+C*{PW7SWg2ZQ`!W9Wuno#vV>Z9xP4NM(rqev+VZJ9O6 zqCwp9m1MrcbCgcE;HkvW83UK!0`)*mcd0nz`dQ#2#p!CR5|1{2#YuF@D*|E+e+F^J zjeQH7&?ruhlHkbjyiB<{Gy}3`>s7Nfd(SVmrJ!Tk4Dna*UjC;Ez>3)*b1#(t%s}&T^&M?6#zZx)m2Ybh%er!Hs?@K?M<=2JTf~ zrW%*)2pUUhu8;iGly!)(bM#9g`79{lDh|6R!|BEYjedsr!PtH$+u>FY1|J*s<21uWvsX~%?*+}XlydlRs$>4Urf2?e_ zx)vY7vBh zTY>W?+(Uz#Bi8Spw4j@Jt zz7z&`-K|wh1L8WKbu)sMl8T}T;OW%stU{Z(HNQwokuV?}xMayMNZLdq8UG zd!MKOxG@4MBEeQMJ3BYtyF2*JlquvS4vP@DhwOGvI+tGoFSi>|Lv`D1Ec3IPM=X|n z_K2`Y8|On`q&kOdXt-07Gecwe?d>mPRI<;W7ty`Vfsq%8#@=F&!;?iP`_!DIjbF2uXB7>x#NACePWU{K!HvDD;Rr4X>C6Y^ z@UTujdOPN4r&@N~mn-K=HmnuzM@8DZyqsKU3uGk#>BFJ2;{YVn4|3U*7#|lr2Aze^ zml@ohZ1`FM*Nlb$|1ecwf47j?W(5_4MK31y+TWd@pXwE)YAazK~BfFp&L8vn6PLN z-_#;d)=Fl)su07mhCP##Df*~|mooSFJ4y;%QvPRKXAdSvOK|mi=^Z=LXD*q)7MLns zaiwjHSpzJd#mPt@RCh=fl05Hxg$e3RX73ONxa%4}fc;xtVv`{3ya_KFrg=Fdx{=JswK@Nt9hIAy4 zfps1MX<$Id2p2kW-dY!F%$tBf2xMa|R(yO0yNy%7`qJ)kRI_LVR4C??cKt&%p`I%N zTL{{2P3Urb;Go`Q5J#2nn&{tVd+4+7X`tTP(0$Mc z=g5ZF<>h<1;Ce`yoQSSBG(gLYyiIBc2M5>0?P-IM)_F-URHom8km5dz&23|at`v^FG=+mk*ylP8SeKlSBDz8v;r3;B_U5aw~nylruX zARf68<1NgVr&7%_qy>ltW#`t3_r2d(`>SQ^d8Ym0$IMI>Y8mMQ`J{5%X5#63d_EH> zq#^}BGNS7x00G$*asAJSSM&K6@Y)OYb+I|!w+xh+FnOhKkUq0>a&-4nDFL3EC*}dv zab3B9L0mgx$Z8U9S|GG-tAKxKT8O_n2RkmS+ZxTmK-lFytFEc~kzP&^nn+Fl0>1_HQ50ot4Jp6;Gj zi;3cJ(OfUk&l?QIg#U<%?aj+oDsIhNh#d)D-@EcN7vOEiB3T$0keTxCv(s*Q3NU9& zMv*3(A#uqD%8;8-hCQ&#rMvSU58Tcfj=vX1B2n$`*SJH?4=cjC)T?)~8JB6$=1t8C))%Y8 z*{x@4Kqdw9OHo(>P!a~AhUbsFN1^NaG3zf#9uR|z!d3r`9dNrb1??8-+LZ>oh*=M2 zWl``VXtR$r;OEW0+j&Q+c-AusxTFRho-c==fFyC;Zl3t@3uC%!js1x$K=r65z8y=+ z5JPwv| zGru0g+jv^27rsIG%iDQH4Ndw4Y}r!pNU?`nhxitdQKaivHHrfKqY~f%$&i_wh2)F@ zKVcVoM@kA~9eShylJv|a^*<;SM;FE=!?Am1Y7QDIJU^;q0XDnTlh3_V3;>tNG`Pqd z30C@6)<{59D$?`Zaj!M1ygUq$zb@-uQ#(EGw^=XIp2DD@+=%9Je8&BUSw@EEOA-T( zD;=BC5`U%WZ!>=%Ede5_13SRz{4v}#J6;{>693>j(=~|F$H5fO^(7B*JUs8~!mgyY zS7+zM?$jo1I%8^XGLqxMbMV6RTMo=E)^^TiF!6#C04uq|e#z|R=+hLWZUu6fK4?*9 z&=4YjKN0`qm;Oci97&+u#OEo1m$j-dKWC2yQS{;G-H|tXG+ZK`#z@meTI2bb53cM! zlg#v~ESeji%>YmhFhh@0gxA-Hnw}%u=XVGw@s%Swz&?2W#rx!>rXEZt{v}$RmPt^>Z*QV+ z{(&oJRb#R=pGT_>vdmu4W`zHiR`=z?{-p`vTGR~7lCb4l+eR!l8}cp94#eQZbUZ07 z+L`Q1g7Au4UPdMcW_NQnTj11oAcGq_`!2EK@|)f5g`@Q<5&&^4>P)F-g-GAmGxY(` zW9{;ezKmogHcc*N)+x3`Od9-SruWo zJmlKUp#iNiRT-bBukI`^J0s)(&#=pVdXoYT9sm^MQxn;xKKYn*rL*N)@WrM{*`}HK z{)_MH^~ZeXGV^mn33A|+8^;cSXyqh@bAc|&6(!e6EqOuK6K!_FVELO?@DT<;SV zFD_2b)x_1YePkzU>Z3x%fO5=TJpAmRBd{5J$=Cql!%cbh7;eXhCB0`6U1lOoTWZE$ z)#nNR5TqBfmU8xdh~M|eQ9g`EctH}C$e5X<@@@VG<3+sxu0fr6rJYEp>E^pt zhWC#ITrarJiJ{xIeIlsO@{5-jzO_Pg6RR{pzXC9L{P}9EG68I(U0m!6yR{>ks|wbC z@YE1*nIR8WKwBI23bKD@&1bjk8$!ape<_j6d7lx`oohFv;=d=MMP~jht$)h_`iU&* z@1epT6A5p>S}&AnnoCaX-!3SyAYQ>~NX|a(14s&hlIxFnh!;??oFD?P~j&` zMPsWtc(`f`irxB)qcvAU1}t9%w664=UlQE8dopyI1nR9x`GuU0s8J7vwN~5PYNm}I zoTT*d_K@_cD02Zgk_H5ktEg2~SJGP6)|Md-&1w^qYEBaqlizE8Vyjfso&1wgULn1l zav{ZG7S>sxwv8Vtx6qaZg`uG_ICM^=(w*Ne=dwcZ_1O_wC+&q6DX{!(H%_=+?*-`C zY-hSNQK_%B5D#acM4#6Iy`bN_cCFq}&slq%uxJ+pqpr;eMw4@G4iDt~Pi*bomO+W6 z&*$J4!S+6SeR#ldd~&k4zzz${CdK|}^Hp)(&g~wS%l#Y;sZfh&yOM7^&I677Sq& zpeBsL3s<`_8XU~7d^%8s(Dc)O?ddk$TQVV!TG5T1@7|bE)S#z9Ibtns81o}e^J#%` zS(5$U#qjh}i7SSiG;IS*FXJxdh-y7kfVJ?kvUgWs5O=njiLsxdKPX%Kp3ZM)XKQU~ zAB)T7;I%<^VE#Ha74@I}6RXO;^+s4 z+kqo8{RgG`Jqj+J>$Mc9xLut#nO!}-3srJnUcd8in%-2$RDLmhE^X%cCnLrEckPe4 zQx1I0D1G|Mk23Y9ReJP<+IZXB>zg!RW<8Lh_LFm2OH>W$Ye z#~BiGVckScvix|t-pMnG3?$QEg2~m}D{Rra?+qzgNM&n6W?9}_s1AW)tkh9y98HEZ zJf+R3q-h_jh59{(ZM)ljE?*@5%D?xvFOLYV3`1kD`76G`qn#{k>^S&BKPU0WvU}Zo*?@W9#2Misq)@qDN(t-X74q?I>d9T)fE6$bfoRksg;z+qw`Ul>PAIKfai^ z95lF61tXgiS|ts6LwCnwqB6;COhxTJ`@26YxhGzlBaSvce=n+{DD`4X?m1-&zO?bO zh9>8$7J&-y9boNP^M-eO$B4VZvblA|MMYn?=Fjo@ z&83t3sPb{(w*kYA4QXK)1f8@>%P;M?XX5|b1-frMRHYTo#Y)u&!Wad!CWNe(xmB26 zJ%w~`8a}^ zu^drCjBUsDBjLftnjJ=nqOcDvaLvqqGj-9E^9aMe&6eI9Y--Pu(o#Lw(3HTjZ3@%o zGbHcG#8N0Jg(@;x+2vJ)zI^zAxA1Z4AOK>&tvkh!XmeOBH6+u z4nc>j+&I;@`M!ZCl-T?8LzjhzGSn6Uc%)hoO>%2}avplv={%o=1Hz(S+J{C*gymiB z$iJU_$aLWUKP>>E3e}-6Sei3rlv4fE7Xh-zFo9-j86qLssC0@$D1FO<_gCAuT>@a0 z+;o71)^w`sT#p#_{DtBs=v`Gio=@HMLQUXG$6L(X+l5eY70o-kc@ zQvujp`8O_Z7~0mY=Bf~n13P$9YJZcqyPt+1E%9nX%F#e%xAoo+ttcp34srKl zL_?FTR5xApTVX1qT3sAY({4Gx$*Fxg0H&n#n=U-p2k&AbaAHj{OPbvczMidIqyH4 z1Z$PUKeZ|lqx5i}c!eIu-V4;34y=m&M?x1c585(!Fn(vjrsZi3!mz~@RbVd=J2mb! zEhMeih}HU@5ep)=jR#c2uY+*px(?>+jA1>b@-iZ+uDRYbk%7W7?}^xvsI>!HDZvKJ z-3_N2MWflUwY?o6Dq04p=7)Z@N4l~Gcg!>e=X`3G(NiPJlZh;>+kDz(_by7!w}Enx(D4g()?)DlQ@zVt7!}96RFzSX6Gw)!Jv^5JUC*6`VRE$z6DR>X3fzb~aP6+=!N&8tQh&%S z&&lcdrV*c2Gc1|l#Xw`o<6KcBEu&Jm{F#1pY4;sf3-h^ z$1+ltBPV}qRIj`=ibQ+keTVr4XWi@gngD(*G`&@RvWJIp+RzEd_^O6A-`JB%hGa&r zAPF+~>wQduhJ#ugQgl>bw2|Odpg1g6fkFkI#qQB)tR)&<%GL7q5A&t&~ z=GE9Z6Z4~OgHNmk((`h>VPK)<7hOF`owbu9x2_ISsX43qcn?^b3!rvMtxM}1CPc$} z{^$4Vr3;Uoz_`elq zu`-W%+geiS{MnQ;uY4)c@0ByG_!A#s(|}D;s`giU0_Xu$9KvnBBO}e@*V|6%Jq1=#04Xuh< zZ5)2>`g=*PB_5p61}j)%xM#)^yO5Ba8Z`1P-**Uyp;=s;Z&*ANaDp@5k0+SA_e<@_E2b{_Dpy^){xme_%+wKI&M6`}rtR9H5(i=Fxyf_O~ph z;}Wtb1XhB$_)a=GJt(N?zAoW87obh>Ycykv@s?<{9fIYNMX=V_;@~JUIxRArXn_8c zy@_$>0NYuT#tQ;zFve4pkY>Px#i|fRrP0*aGgm))T)=EvYVlWVh9OlaN&f@=0mtJD zx%A9v^X|JnGo4qj^G&nd_9c;9g({hMdj+Dy_`uR@dXwv?m7=`tfF`Gp>lf8<$QfgO zK-jc5RSQ!ytwP7w2ILCoQg!4{->9(x3*8wRUQ{X;XPlbgdiIBeK*LY(c@sdNV`qsB}) z=HZ|8Fe{?Vn5|D<&lOP!bAU+)!}$?mMs>VATD2MdyWnP6;XiLAb)75Z9)s0h5eh2Q zj745)R?OkuLp58nH1&Zw;h$rr^XSiHFiYdB?yOrzMW?H-DlEy;^UfT>mqWMx!=s|W zaKgCk5!Ui3l=RU8!R^z!hY%3OT5sZZPVEv=7;LcAxZr8_X8q3mz8I}X!Tt^z>g;j( z{obK@*YAi!WgxF|JG|MH%FNtZKRWkkp08tL*d!PEpEpL@3P~R{&z*xyuU#_Q1SiIh zqJWEB+sPe`G#Y-&q!(-~;qB%C9n+mp^k;i>xCf_ddKW!zK8MDd>NPbJ?TuH<>D(MT)EP^_&|UrSvIS8%sgRTOBn)0%euKm2!wWU z9!r?N0L`u85sw!Mpr>7r?+KK|u3*DeyfWxC2+TaMUKneZp8CpH75W*4z-zZ?Ju`$T z41rExmsa?Ts07A0mvX<@Y|q-rIRFB8zt3AcytRe$>*yh}5dcUW3}}^@$LU_??ttn8 zn7|2QDh1B2A~_$NYehL0hxfS2-ot%s-RS5hpRP5bAoLlZ=e$b0LDKZOHkFV-fAs-Yzq0=|rVwjOHpLxdQe<|-M&SWN z{Yj9$lKUa_tMAxSgr%wKn*$!=wvB!du343O%-tq%zty)_@g%ZCln{1r)y^1}QWtu6 zu(NX{nD)$Pk7mw+*co8(gks5X(jbp30#kE zNP+AMAu_^0(wJy^YNqT0zmBApUinM<*zV?lg$=OB_$NzX72$pZ?AuP+V(|NN*wbp? zbhObEO`1t`iPv8L({UBbK+}IdGp;pkPH?@sfw>MW3hDBN^p$h@48eje%`D0eac^44 z^}~0`Xvv!F@&A)O4wM@)RS1-|y8_}ZuJ5()lDgJ6Ixk)1f#)k(Vu}@p0nic1#ufcv zq}B(su4lMap?<{02)>Y#tZx&MD?@!Er^MW~;ogk%VOFQdC7hlL{Q2|jTko6zK4{IM zz7HR1n-&!Q8UFd4dZoAG^$>O}&ZKlY!30*~pEHAzWZ`pJ#OI;g5Yq^aweLT#q|Fy` zn+X8osA6UKl$&4sNs+DU>=XIVg@hkJ!-&wA&$engk&yl}1C4mkD$+o{vB~zR-XLQ9}8~K;y5_C%5~gCeP;a!6+aZ`r|!2Z%%Z` zG(tp>?dz?>>vJ1Zr1vv5F*@I-#qRpqfil-5Gb%wd`6cMt!Si!z%RLn{%0F(k1f^B) z&U^jxKB?ZCtSzy>+jxl9psVzB&MY2S3&Ld!qk+Y2+Tz;)+NPF2P)DJ{CJ zPqW*MNgd}P)jR7FRKS1-sVyP->+L@}vvgkKiTRHatF85zIsR;MTP5bpOEzO#Pjnx8 zVVxMf)JKiBs)f<~vXaQOE#M2oc-?r3?2uVf038=Z0<_|eE6`=?UY^)1K6V%jD*)@t zyV8TjE#84w`*&)c<>mJFP5;^3z)*(QiG9MRM#O1)?i*Lv!CWpw1ku`j66Fl^kaO7}4zuI)Q0sLTTL;6|*VwXVd^XZN1}M61cE(dUz0@SJ4L zU#B`Rr=uN#HnhQe8rt2dX3q@^A?E)J$6l#_&*T{DAXPnkA@!XPpfvXYY`mV|AKPPJ zI>uG6plCh+HyKGt&M|9q{Qw%485?Hp{{oCO{%pQftu(>K z4RSYj^RcoC5meS^eR=hdAQB-$jZY{B7gb>biLNbhInGx#OU97V{QP|vp+IM*82 z#djOAezmajZQ@P=Mk6^dMrgr_ec%c|%gDh>Z-4rpSz&5qyzMu%3G7Q)pyEIX$Hd-7 zjgArrhSQ>4QcX!sIN-YQTMOBM3I|H2Yd2}xq3@gicwZzSIByiiRjo-$ThD+X*JDkM zf-AqUENloer%=mZq!r$a`mdUCeSni!I)W0k-2*yh#wF)Yt3*X;fPuRfzA*Rp3Ww6lKw|$}CzWMs30eh}CE-of3tO>6weC=w9qz(G*xUyPc zSppmw$^j;~=+|F=D2q?J7z9VvbErzPI&3eyG%M(5QWtdq?bq0YI#SY@`OcSBEaDFE-peq0>; z{n8Xj$0$+2`ci@zjkFeT9VhAe3@^y&Iv34Ap)Gt+zSDht6 ziJ3B8-qWx4u(qKur)$ytS81=Xg3^C2veu#p8H@X(*sw z0?C%Mw(LGd{>E}s3;oeXJ(w-gCiZ7+m}D*mC4Fq>IKs009-)fP-C-i^bg>3E6=i^* z#L7IT4u7#Zk{>{O47D`Imr5PoiGFg_YIY^?1>fD=3b!%aVVtL!Ln5Ybn{?@@13G zs%z~ww|aR<>Y&UQrQe4MM03RhZ8K6Rs`{Ea6BTB=f+jxoish~^L`=7thQ-t^^=t20 ze+DvXYPBcuG^;Yu$NxP~r=sKy3moFC+Uz(N!pY!diHR$d|GZPSW0Ln+f39`lPI!X8 zAjNsYx_x5Tda!`-s|+2oYLzfG2Ct7VUIY>DBj{a&4r z&7`Xxa{nGR>}IrdlZh~yF?w&51&@r%80qrN7cj5=&T3uSe|ZX8p)=0p}r&i{A&!$qsJpJ(erck z;w{I8kt-rE7P071@88wdwvcMn@d^igARo+ z6@s7qXiGn0N&e&%&Jn+7kkt$E_SH6#Xi6lS{&2;!C%c7ED5?6#&>;J zomRd4s{M6B4H}$YSdbG+x9{!`-4A(cEW7KrFJp!x!9xb`UnbxjbT%m+QkUHC7+RKw z-7pko-NU}FcDluICgxHoptN+3x~VJCxUdWTCJ`PLxf{&BsQ$FezkJ3se$(`~*&T!3 zLYa!5HR!hOPGU}}kldOv%JS|jN95rwt%5ccPU?^T8?U~htkd|>@)x#IMrhmHd)u2d~4M!J_tZ`8>4RJQ5$@CB;Rq0UQ7Qc}Oh#kr9`^<0>6 zpm5s1y54qxtADn9RQTN)Zax~f zbiDcbo`B^yXShImKqWM?C33vn#;?URk89(P$r5&k7DU`nF4&E~zP{%SZQt)&4nz)V zc2=?RO3IC8FRd~e@u(hywD1{u$BcR%uDfv@=?w=i2460%r@lS+OSn#6>+E&y0c}y>U)T84L}VqxeAoY8CR#dxkzM^#I}& zoTJTHb~JUuoejnMJq9AZ;F|#ZJPOK+Di2K3o|Sjs8f}*ohd57go94cRi#dU1o2PgW zGdYQU#O)Y1<8v}}{ewPUGKt5KK2Ch^_9p^b_*T9X&wSHug|1w7{sM>p-CN&J zj_Abcf8hg>aV?9U01U<(%G8CevV2%GBhV2>k$oezuW(bakXJ6p6C{6UTLT8yqfEb zN3ZJ7?3pw%9_9l?p64BYvM)ZrC8yN3Nlh+9EXMWvQa)OGJ-gcU5|V52ypi$ln}gS^ zF)K|gPrb=W1j}@ZLhYBzpLKilt~aFoLyd>^jYkfNnU-Bm$cp7As5`Bk2`3~-oDO?R z1d>#c==5*bbzW)h&OCEB`#Hg^9t&SuNp)jb>>jJ^@Q9p=`>WM-H=Anj91lVi3AkyM z`SHY`qvxgY9EYw=#(KQAO#OceFz`meuQIF;tmypMbg2NdrfxBElChd&#!Zi#B7Q-a-iIne8&1y(tEijm2A%PJ->KlzaRd9 z(bdUhii=pgCUt9UVC?^$pKPiMdnBaDHH9@Sp+DIOh~bp{G@;WUVbMw9?Iw0*%iw#Q zM~GM(T;4a;ScQG7Eo#JM1P^&j2Jf(Z3oSmTyMEVr=*Is>#mUa-@6x_&y;XvZB{)FZ z4c@^X(XR&NX$v=u8V>Qkd{L)-yB;IbNB!extfaCu?|Y_)A8GGs zHZ+#w)gBzP)OKe-o?Y}in122Ig^Tl)f2+Iakoc2V;95n$Hl%;M*OT>LhB_KQ)&^5D zSJ7efM7RvXPfkOHV}Xo(Fz1}Fvgy7}YZp%zNa4?e4ugOeNl8f`c2)qaFtHL+YPJ`D zuC)g~Y0*jP9{dH+EB9oLFWwDDW3Z@LAC)cS*>F_1v1ffMvC-{RAsrFK2KVZ_I0;zl z?ni&2#x;lFkUjN?$cTbtg~%HQ!UGdI+Ody>sOT`lXXr@p!1s*zn{Hsm$r~Bj-h-`*m=o4F=;oA@GcGA+BeZ|73O{po#NdR9m0Y>)|RtLfVI*B`fx2wx#L8*C0u)_=3}@JMbR!>6HI zAEwRBUR!GR<=_k{Q18lSaycE#wvO$5)h*>-wegBxey<9>kS?%@`>@LqDCh=mp79c2JU;H4 z-_b5a+QfPhkoq5~U-ZEcxSwn|e7-9G9)k5e&gSBYdSqHTDm;fzb!W%)qq)HbR%le@ zT=8yf+|qnVeb9~JY&Ykir>mw0k|*Y<)~Qd=G5oWeb>hJ92JTP#X4XO4*3#NSmSs%#PT>M`59Q5j zmz8WiwXPBMYYI)soVSTjwW69f-+K!w!dz z&VIUc?7c+mCF5auJuD28)LrMsN{lkbDD{+NKM^5qPYMM)#NS|cOX0&$Y3l7-=w%Qf zzMTK~fFHn06SF0bE^&Sh_qczJx$y~ ziqQU>|D_<-_Z6Rc(oPREIB}YioV`mJ81NU`>6FA#vzm&lq2GDh<>uv98%!}Kl)vzd z*?d5jqK=y^cCg5cz?W{`K}E%154XDQobtRL5_@!*)}|}UyKcq5eSiwOIi*EX`+q!r z1yEdD*DN;)!6CRqaEIU$B*7VcaCZqVK?e)LHMm0v?mD=;yK8WF_jkD8{a+PSQN;|* z*|OH!-Mx03HMpIST_gZDbz&J9X?Y) zh+3*(fqe5d4qIG*TOM1GAgk55?}fX&uCtge$9)~U&g8fUB$TiJH$;^*<>?JTQ3X_b z#wTl4ch{(W{R&QM&+DC3)F<>qA0-T4CSw-D!Sx6XweqOH(_ zsT@M9Wyi!9Ic>(Nuz=r3Pcv0Y()Z5aq(?_eM8Tg((cTKr)m?mqpr(yD=G*B4L$|w> zi_rWTYO0ViB3Al94L|=)nZDy?xi@RNHOjTOc5a8YrZRV+?JNI$J+VsR^&mk(1uO9l zQQK0LX~jrEQ0Uh9s1Qb-2}Lqd^Vb}4ab<6#ce?B=y?tyi>4K|P$vr}Ovj_3G@_?BW zUz&RJjkGh-19lup=m%qz7!c=}QzYMif3Fc89Zt1a*2E97l9HgWIbZ`TW54DSPUZ+_;B7JDP6AHsAD1uddv-{@+t3ERJFDW=@LPYL zGYIIkbLt5l-^1FS*nbR`qRXbklBB}0vM#o(hGyzAxe!cWbyYPmUTS3>blbzGn9z3c>VQb_;;6!*4gu zlafVACO&NasYKRu{px@t7yW-)fNov>$P?ds%DZKjxC=-azWj2eDefH)6f89sAAb9E z`*t9Esk4Q6!6kd;kXPM(+HJeuw}bSPg_q@&h4q`E;d&g0q}1L_m&@xIQ1*8l!C#6` zLLEh#8|1x=@YqTJe^OK&z7-TGyG(c?-S>`oUhYokg;5l$>+UbdU6{$Sn%qAy-rlEF zqUH(T*_^3)H0!^b%l}=?G86S3^C{JBk+eOzPE66VdtAb{a1Tzm3D{KZj?eBA_0p}6 zm<^0%Jh1b_^%KwhdmLQ`ztqG!i|hph#>8aQF4EsW^j(^HZ^X_{DK2h4Wuc4+i+^^O z-Q5+9f#FLoC^*VR$%cPa^AzsXNi7z_biagu?8Tdr9awMX#(7gL^%N=8Io_xhHNxwC zg%_c_kbZJa4gJivab+vI4*GDe=vJf(oX+8~Rd<0vYGtF;)7o7SI&1G-0Pay#A<86c zhbg|@gX4p^WT~w_n-D2>qbF-v&Fw6xv?Sl)U*Iy+Z3NLr(2y-y0jIUBc>%EBfGj$3cUWStYmELW(-bh)(x>EQl!lw^(@ zQ5v1r+4bd|`ufQ-&GCxP)VwM2biT4S5oap3v{zfbM44Gn-1#lK3y!DMRIpKf4ZfDf z2CqHav2D1Bh4v*2VIG>+5EMcK+%-L>Wou+GT0M(1Su}jm(4g*XK&L_vR18v*AZlK! zaC*6G<+6Qn0nNE9daySWK>uZSAfOG>{~;#E?*EM0dk)O+dZh4MH+N5<cC9(Qfz3Ej)8Kh=-1dalAyX9cRC?PefuoZ+ zY$zWhQ+w+0&~Amdei2{{<*-snqD+-_n(rTmNe5mh^73NerBXXP^VC{~8eN!*>NblP zm$4Y*c&ky-IC}PA5qO<(+K2>fyLpHkzKQhK`r39sozKp8StFGV*485s1r|Dmiyf_l zmHfQMXLiUCNbu1f-Xff<=ANV^@#Xrx_F?xXTtIxL^7+k=n8U{tO5pe+nmP935=Te~ z#Mrm*uXo!HSe$U7N_sG`*;TN>NUU{Z-ERi3oJWbgoLSZ+1^KOqhKG|eG0D~v;iI=t zA!IoTtoTLuKhIB_PstE`jt)94XA8?;cU@>aD#%Fi96iel9HdPSq2f?}NrxN_n6&7A z$_x90KJZ!WJ4Zrq#FV_QR1OdH+s}u=x1n)O19BFIzS0lQuE-t;^(v~0PT}DGqftTX z!&dLB>)HHi{`n{Fyoc{QXN7u>RAq;Y)j7+nFJrF#H&h^9f$0V>7eTx;Occu+1JTu_ z$IEtaayJ!3Iqf>R-b^Jovtw{XdUG;^8|*@`nw(xkyF{p0PPdP})rzO&qkz%~03HDA zUf3Tqz9g?(32ECyIFES+u#Rd%CNJdaxTvd&>6*BV9^BM=oYyr(bI{o_J&SSa10v*lyimOR!U%tN!*v8}u@DQ54e-bMn;O7EOxHfVt2tnBq_TV)RRq#G^K`?qK%&Ah@1&`r(GfzO3l6Pevwxyo}}R z%ag=F%+T5iBJAu+Qkc#~yx;NY)0WTB5b~(K?FO#_8yGVN9E|i)q~Nb^n~HGOTUU%N zpsk6PAUt`qT9m^A8^@GOJ!#R<#2_%Po+;k6MqO*pz{KV!w4OLV=>RD@mOx(A3jTVA zc}_FF>1Hle{~(=W=*a+TIDc0Qj%jC!TBmF&K^9FQrBN>K7K@1{PXkkRl5(Qd-HjE_+rZTlr%J% z{l&BAQ#6h^pDwS~$lXj}5D*aD2U*bE;^-z<^MJRTU@3M-U9>3F>b~9fID_V|Qtt-0 z+Nb$kSyrk_=G0vsYFP9aF&iC#|NMpi13QYfw{AYVgr9{EU_!PsdS8G_5`vatGCA@y3~z$a$1mI1W(6W@ zXHE%;A{1A6K<#+xrmjEVV)!Ck*0p=V84L656 zGX^T~o^Z&Uk3+*{+gINpjhY%64bA`v_rgLlU>;t6JLoo5 zs)Xi(Hd={VBCLKtc=8VRoxZ`h{=Z%VUq&!#>aT5IYbPfV5N^y=!96!R?-bg@>M!RbT$zow*SHPtV2m!e zS-zLj{f9EUEBY6P)?YzHF?w&(hmsDOa-8Q%MYV(ds&858NlgQ#-#l5KZ@)1=NsJ0d zWg4HAY1x%mnI7pq@H*b%;Dby`jZ%pZ@wk2yQoO(U6aR2=$EfBU&0QlJN^b%LlC8cu zRU8f%Om=Sk0qN#OhrLIQW7q&AOG~wxHD%gWrst3{+#!SI_@gEcb4iUrrA+N+kEoTE zBR9*XMUR_}kk`sVu|RpsvCKCP%Bki_8t=q|Ju-)0R$;b-$_)4oNDOP55JxD;iINBn zOiOKiAEds%c16Yy6VuQ8^do5M>nHsBY_456qgbR#2 z_a?0bT_VJ%3t98UkocxbhqL-5aSj*!n{%l2&7Am$6gEzoPCgdZUn^NoQBw9s#}*%%#3f?LgB=)y3+#bi6_rR- z^yCd9D)<)MutAAIhsvcABn7|or|kMhQbw33GUFCJS+aKF7Be~@HJPAjYz~n^A)Tt4 z3(gL3vhaP^H#3}PUG@IEYioZh+rJ;$ z@HI4ab(y3V-q^VN{`ZTn#f(gCi6YdZ`ucLyyY;bS(Q>Bz+XUqy6Vp}1i^GkL;O;7^ z(nhiF5k>)4ps6gvXD5O&Ij&RVQMslSx3X;8sy@w`lR{~ISbw39NS~+xqmuZ}CTd47RMRR%;PRT+Lr8J#e zva#FaSR~9#uL-f7|0J}r2Bv1$-^5iuh7njk^c#}&=>*3lz(8$oR%GQX7gnN5(86_~ z9{#iv*|IvAg>18Wt*wRW)MLEl({3XZWG6Ja4@}R*w=-#eNdMJ#-g)1;v7rR6L&y5} zHw~&x+4D1jN2_YFwML&x_7CJ49e2*Kf7U9FHv8+^-+cZjz;?q82_C_0Yo=M|?h&F( z@`4}`&?-@eesa+(q|wT7WL+HMvC$(P4V z1RAC+Ejn=Wig^ci4ag}yxjJx)MPl95A{eg_1hB(m`i;NuF8ND%p}`}cvK-ja69GHs zA0E1B#`inRC2+rw`pNO)B`ae~0e4;uQqsUtDDI1a25tRrmD%?)DlnZY2?^{mX-0I% zgI3LlnAD-760ONvsThwN>#c&cO~Z^xwBT>w8mgEP3Az$4Z_Iq(jFpW>SvcdSrrA|(R=&bGUfrqbmKM?H99m*X3U7PfD1gbd^8o9Hq z1@J{OL6^s%paFX0)#teWrk5>;4ss(zr(@)t=z@%=FJKToOw0;V7r+2g#9*f~Ycy=L zxFdT<9=(uA#2MkN0VC%261pYx{Pl(w)-J6tP2-kkVZNTHrvn?oqlIKb)F&Hn3lp>zBmatxJ+33hsXIS2OwRu$<;Jh3AOB z9YX{2vO8c&O>d*!3IcY`0ADI%ccYg4tIsnKRKBfLI=$wk?|U=ENisdbS%Gf0Gc>R1 zCSXE1<2OiZoGHbWI`w>m5TnDp*5;qFA_I}sVnh-|)#(|WU{PQ3EHYX?0w3u}k~IsX zENPpq?ja3tt@Di?A<J`p%UF{~&eivi!a}nw*J3EQLSHp$`xiUx35Z~Q2+(EHXWx_-KEkCg^A zn1N^$R8YTlOf`kqID6V;F*{AI5kZ136%QWEv2@`o(dz_!L%&TFyZS5nHvwy=AF!$c zQdSU%5^QCHDpf`((iWlDzDYOz*ik70F{a(Opvxe*LumHL-L8XJ1 za*RU2fAI(|z%oig_6JL8gAfVA1GWOuF1%J-V1Z`Gni;AV7{f9>itGK06aSq4zOm+b zP$;*ht|D;nCpk?S79#A!&2g^g)qb_bWNDu@;LHj5$V)dyq~)u%n!|3Qr8Q(r>n5cn zoj;i=x#g6(q(2N8gI_@tMPm8f2%?V21DDg~0U?EgsUf|ZfNcQfp5;He{tUJ0$Pr+u zsQ$zNKD*j49r5758|JU&EIH}+dqFYYOKuH{kpBC(KeTBoOC)oYX;b!pn+%j$<-+}H z!+Vq>_2w<6R=aW!-QC z5cv=s=5t_U3ew~@qgctz2OR{d+t7{a=M_es3tSk0%)>%peEZ)~0epHq z6EjRW|R9p&#Qwy!Mx$CRbm|UkB;%h}e888y|Nh?RA*}#d9DqDi|ln0vh*6 zL4vWUGVMDT7XlLa=+vI_NKn@FiAOi8gjB9MlCJHK>SkZ zHIdhkgUwMENmf)9ph24aGn%S~R}qY^VV$TU18Xx$(T%C&na8%!6(zd{@JK09DOk#EONM9tm6958&ZzN0cWi?05OTGV* zx6RsQz250_V8-^sPUWc1@Ts;;s+dj5##ULN!^N3Kve~_ z_9@Wu@bFChR>U01_}tl`(rSOV?gq39((fbUOU@n()bBZl=d3c5^YMiMb;)T@Q0)L; zF=8eF1w7t9VF0f7-SbK`lG4&9?X#=fci~V44(mmywxOj|5x8rmZYX_AtRyna39212q=*!*KNP*T$!9_eYbCsMe0XW)tK+qSMLWy*4T{3@b;eK8N= zmWLTTySAyh#Og3)9s8?}U#8R-%ZG=Eo?+yy=u;NUl_C!j$`DW2%t-EcFVh;$nBn0v z`6|<=2#f%^d{t^95b67}U7%De2;g_?z?v<-zcO>SS_HY9PK=jmI;q+|R`szyRzdP~ z-wd|5M;X{Q^`9ylnFEG~Exjfgb`m+@okl&kTm|D_smbqsN@UkUJCW`%|5vwlXw@6? z9;m&fTY93Pjj{#h8uGdwz8(-$_Wat3!)H(7m3A;(`P81ky=vHOP!D%Ff3Z`Jlq8u`okqx6eSW&lhP?e^b~PjQPI zIsEQIVm3^mzFg1cJToH3x3aSG!(}CmIDZrS z%Z1fdO$3h7wTQ@sIR_wP5!d*FQro0`UY`Y7&i&>o5~xBK{J&tbRM{$@JDShx-e{&peRa^+Z+TFKLQU@S73UI@SdBKsOJU#r z$^=Kn#s|pje=L$u)!!^@T_?rv4jIqdQ)uM+saf4N*&lrH;|G6m=*G}bIIBk2s3_ud zImB;M7SWGyzYpfBXtR2c+)P9MnZ1lBbgkiXC8Upw2E>N*3$7I)YCyq|Ev{mHRMh(N zStGaV))VSML9Cb7VX3r(^NnXC!W$~3Opz3(Dti#8>KYgFFSP<6=j&2S;_-Orv0Pd2 z4=XpqVxu^A-qkSB$~JnyG&K~hrw)Kqm& z8={y-mtH={9xe9zRF#b$)?!)0?ZdftMLj*$Fp}_QlNHWDjJIzTObBh%bL3n3Zy03J zE6Cgj(``_YSHy)KkVC?XZ|;iU9B+jy(;IXUzWqm18o2Rg1dWz$z;s*k<%6|t{UjhZ zd)n`q{-@F7f|>h7;N5SRgqgX;AQlPaum4q48_gOSV|g#qFs|-17*%!n3PoH;>Zez= z4JK#5EqJ)NYKj-najBD_+Fc*GJMT^RMyCq$h!@BNYXdkPE_qgnIN!t2(3p)kmPA(; zuEG?#0}mPP>nj-=L3fG=JeYy?!s+nKb8iCz=B@pvq#!ZRFA@|2{q!s|QlFA~-jkc7 z!9x3uTaU4iMCVevnd2WEj~Z6!XTOSsJm-RF$>=m~=SK$m|5|rZ@6Fy-GWm0X7UyQ~ zC(9#hbob^NYVppF-xy+IAn{Z4Fh*NHL`20#Ta@#d$`kwN_;VTDADw6cx}>BxH)=(k zLwXHzwfyep-aos+^Z#vtZ<3T4UK-GJz{Gm2sO%QF(veywy$5gx|2Cb=G{UU%dPvDp zj4@?=x^pRPP|1>AydD+&Ld$_9Ej?qqEQf+74v&I=uW0C)cXQJvVEE<%ZZIXRXyUBI)wruYi zg5{9XH}_#;A|`Y?0Gw1>Yh|Tex1h8YToHwCncxwoWcu}HW2bD=pwF1=kmuKlLJN29 zu-QT?X(Fq4Qv3R8@i8bgzzOE4*ZJIR)p1ki*{L27BZVT(dj7LJR*Al19jXSS*C%`4 z6TiFTz4HoRoO9O1!45BnWi)32#l=VX4x}$7$_@?Q^5C~s7V`D(F73H;X*)PS={e(i z7hQf2ad~|BVqp>T5HvoO%8!z@!_j%5C*fs!r$>tG?rlVYSv+J7ebJaR`1UU#u8QNV zp0a58%`_C6BLJ|k)t6Wt=J4>1z1I}2yCbYlyR%I*j+)<^(!e{oABIxcTmITBsIEN# z`P(@b3H+7&Q1bGr;56z zeM(W}(@5$E(X8>)gYD%Ztp=QM@t;6BeI^vYwxwIr#R{+apQiJFl>)#x%5I)zX{W_b zV@g|Cg+2UEV6CWPcfRN9u=`L0z1O=;c>xSPs`ZTw1nxfoULja zm9C4aY!6`R)&U!=$NBl@lMwFu|Wub`yqq<$AZtBHVGHhL) zp;vWyGe2Z$Ws`7MKQluH0!fdpI2wrr1tE~LQbmwh2dwRBw*G$A4zTeiU5MyW-Binr3sb@U1W+1Uu?CmjkQobTYBw`59k5F;%uledFFmw`_$7Z z=4M2W(xb=Ae0XYIC8nh`+)^rk!TRox;EE)hMskX9zfHVo@VcaAFcm9rd{-satWVIu(jLT7O+`@WFJt) z#iWE%RON*m0+PKxW7rqersD^n@Xu)Hv(HA^Ip0QUq9kws9=)(09C3etfDII@^mtkY zD7uhco}*Qf9&z!@{iP5z8kD>r34sPH`M)LpO{4?(QEl`Mi;>K1S1IY{=}KSK)g;hr zJl2%xF#Z9iKfnu|QPF7<`e^%6(t_5M&eTi3VkoB-R zipy!vn>jz)-Wx4xMwPukyNb02eyYU6IQtcKp_K_1$e=s2W;~p)8N*eI*-^@nq}8E& zj;#OWfftfkY`71uCz@qWt2pOaN)W;C@Ao4S5C^FzuG}|N3AP(8Eoz*-yS?}uXbbWsl*P<1eQG-tzr3aCvX!jefu7%COvj2tbH zv$I2bG!TEQV!GTgM&K8vj5h4 z;LBeh=Uzjq@(q3P!+=JG?M%pb%c|)uSCPu z-OxO`jJK?t%Jke2>@yYzc#W{|P2lXj=hQm-%tz6yJn3(LH*yAwYOCa`?d*h-JZCNl z?GDQ@?X4P6QupM-B=!wUNy&a>6@v(1g4d-$UiW-8>XY7j&5$s3Pcwo`&sa5Ci`pHp zznsesWn5)z#yjtQmgbPf#0zZ_B@G>luN_nG_~}zejx+1Njq(M`!ft68oG~ z##=)36iaG=xEyA@5ExYq`N|kfch-=}D^*}GCO2kGi>-b0S-LTx8TpQDAjkcf=@VCU zOy(47S;4x(Pv&90867pu`ugkS{Q%x>GcPabU`SZCuUtkRgG*%aJ5^Z2$!gvb?w9^) z1S3hL(L=JF@ee0E5{6%3YOeMTv|33VQaaEWlo{A0T^|$iNJ+8I?r$W5l|gA58Gl(# zJz9DfYpvxUT5mAUZ}gV*?uqf|-Gg%8-ELeQEBh|gXDQ8$)pd1wTbvj75c?_w!& zgUXb_yQJXy-1R~DwL?H0nT#<#%25jgue8K|Jlk2qE7|S$SZ^)^m<^NJo|3xvS0Y9k zxYhosQFQZ?@@@lmklQD4sK2?rbiQm+x(JPyWdMBng0EZYcv9;H{9| z>=Pr}-aXgJ^GTx_Q5+SOfRs>u98oB!WWu_(;(Ob~P;zi+!=DlDmp`NDDp-@PCy}F1 zN-)YU1;e>_YDk{N!cm3ItEMZsK+KjJjh|v;uV|Ye2^S;GwPX1LSxL4*(RjFX>uf>D z9HImI%UBO|{*0!NI5sB5U~U5%+j<^~T4;CQ5Hg^4B#1+V3V(IiCfXZkr3?&+#vlsQ zO!|CgWo#o?^_ovIl`=O5B!hO=QQ)h>Jy2IG;H+%_TBR0x9*TC%j zr8#|&E3Hqbg1_Wy7jPZ^fU~b|M8OLj;pa4PmzrCQCjV)87Z2n#!bs+^Lfu)6?k93{ z%{)wTHX|MM6^5G#T)rPvQIh3cvvR@;A0i8{?hFnd8YlTCKR_@vYwbzaaEQ*C=S=tV%)~BBJ*fQ7gO5z)$^K zraS|~cGXO-@wHqi?zp2Xt?C8SQh`KTZ& zDqB3>4zKZD@%|Lk1X<4v*Hnr?!hWZO-N^w<5P#BDRf!@!!b(lt>Dz|_PV4ua0gCc>|n--Hd^< zP3@|PRnOJW^r4-js$A5eFV3;=0 zQH8_gr6&=JUG%AFt+bYjf-Joe3D?e4pS1a%nirrX1%&srOpSADy(^kRQ5XcoZ4yFg zCT9Wt4M|?GU;D^0{-^i)yRRT(%gaWcJ+%lQ$!SH{QfpgjGi_^ZyeUNG{MGrTIgLFp zf{=rH4Ar`vW6=FKd?X40a{!tmcc&zBuEO&angr#HP~V!1v4lg zA9mS=v?9A(^W*%9v& zWOXGJzB8~g3Z4CYvgWx?B-^49qBMKl$A~x^qe&iTsM1QNd(tGaBSK^Ta-$n&T^ZsQ zXtgTdQ9{@qFOLw{8^UM4g5qR6iw9^r2$2W_W~1wl1LNYN zGX11;>+6Q|XFIAjR@$MXoJR`yk;%~Ag=Vv;k(lVzphRW) z0RiER!)hrOa|cNeZm+rZlhQ&*P*`jM#2Eh&s&OxU^6mPD+g6QZ+4rBKA9%Ff|Q0X!}}+O5`VAK-qqS1Dqix zQ4mGZaRd1{v4gcEqWocVOI0fJHINR(!=o1W(eg@p-3V@QJP~}vOSX?YSj?;32qh`I zL!>Q?{T}jJmG`(|S~KD?DvbyUR8-4G`Zgqj0m5wGHmvPnIjJ5)r%}FiM$2aM_h*NC ze2V*#&76oV^@G-+YtG-Yvz)NR$A;woB>OZ80Y)*X_7c9%zgKRx& zn35HqZ3SBuDx5WLw?2ms5Q3f00*#WR<3%)-JV8D~fioQ-8PJr#=5pi4ARK${rj0pt?@+w=ThTFQ7sb{RlWKw7vIIIBw$50OPX?b5IM|Yz2a++ zna2i*_xiTZ4SOvu3-o?*7hnZ!&TX1gu;#d0(_$fBAFcGqhgih!BG(aBNMK79w=jC}ZlEQ^0xFzkuHi+DK7bIB%S->KiA+oD%`5=wb37)(~Ev0ysu3#r_r&??GM%Z+eo zm;c%?Yi(cl*ZTn3iUxrD0!sZ2K0v$DdywX054qw5)Zb_QtVB(9vbB0g`?6Q2Y&B4a z^_cP2ap=~EmibH6@w0^_d_c(jlBzpOwVLI@b8eN_L{91{R-5b%|m$me1)p(Kg=QmFmr7SnMnWRjFag2)hv7^u;nGB8yBs2LctL{R> z3>qeZ9nbbtcCB2Khk2M!>~t$vPn$pS0oE7NviNYbt6hAtjYWbp@P}o)(qI^5voz{m zr(}?A+IW)OkHkGyM9V=CzA`FdK(qbf-57Q2{&0Hd7AwW~gJUL*eBxwt)pN)Xr_P@0 z`AZsum#4ueDkLe-Xiomm0&KpEj)GLXkxW4D4Lth#a49%g=A4nb!@J0RJlIf=dv_Lz z#uLl5hE0Om1t)}RsGr9wLvoM3opT9M|1j`5s_oUZj@~b}TC~}u%8)uCWJ;WsbPiB? zNu7AT<#9NLp;tNnGa&%E$+3X?nh6fliDc>n@v44COH-58;?VVwnCNxm%&#_T&a(%y%BpbLOrB|!+b7L)jCv=-}+@`x!!_9DhGUziYK{vO?=KLL*+Eb0suF-O-_2%uPqjeP&y0N7efOD5RTc*3#bG0ObM#%lGr<_}S z(_VBfXH&*1p~I7mv)41TPAcA@3~guRNb8j-96b`zBaLt)JNQQc8=a)*hbP3b#KpOw zquND?Ry9=~D8OhdsZKx?^|A5kVVW^3;4j~UJH8msqndU}&l98%q+YpeY<7Yv_ z#^iKs-JKNK$)J$Qnd3=wK&1!`2yF?xvje+zJ1Ee7@R~~nC}{LeJ#+JjtU_l4%$QhetX4%_)oHzL=KJDN zEYBdnIN6tOr6zX)^>5Tj(ytF?32lWswImxfa$8s25{BP2DjVnka-oe_(W=w)5MA>-)kf4bJZ^jXSBh($ zPyH+U{Y~dY9m}RgR;-txUr5Pwo+Gd4F(ZNh8y|_*7vbslGDB5pVf(_bq$EYlg+^s! zw%CVN581gNPcXD51lKe2qGGD#*GKJ+QG_Xi7pVYHV0vY?qkg>uN7P)cQ!B{G_bX}e zJ=+}Q%?8}?c#3fj8-UlI_O4{THgzM-dMIw+3Xe@G%LU?u<4qN@mt7zEYTMkd40l}6 z{8!_hep2_2XJV-pe{b8#B0cT5g?oU~h9fAC%HMBL?z+4xn}FI>QPS^v+nkQWDZRFEAGk7({qudkN(a}_&@ldWEBEU+ z!m0NVY0AvS=y6)LjaE~(WJ2k3RKIZ;5qr8?KubjMUKObzBE!Q@VXl_Q&ou7F!1mhj zWzB`ahbd47nVr}GWPZ;&sh8pGwe{=R0}Vs8Gk2QMZxYS-DER!BoZ{j5kyW8<(OB~* zNHy`OInl=b&nG*^I|0yooqr%gT1R|WKt~k0>F7grR^YSIU=P$U(0^@L{j%efv)N*@ zToF^V+NQHESjl{ z_ayeg3&}r#6K-0s_s-lFaoGL~`p>4`gn`qGa|@vN&*OR-Buw$=Vwr|XwjEG?^15Hs z>%CM)l?l40{1A|S?haC@5q%>KKvDT0Yy|krAl8;!%JgW3+@$G~&CWGNs_SsmhYQsQ z3V%pwzy-0(a1jKI>4!FVX|r0TI?WaBi*-p^C}jk)$j&w{X!3&hRwSgJTxD}Ri2^6m zKf7ae%wt<^T;abQ5d=to;>X7G(o-`hY%5A$D=mRSQL=jE^rz+!x&2)EhDctuFzz za!V>7B#N9Y4_1ms3Z0-e6JEzN0!1?oP}PH#tWt}TtmB58^!%WpLu7dTRnl=7U--l} zveA>W#=+%>7T!onl9e?A$6QU%|jD8ycuh+n&&!YnsRLVhuN;f ztJRIuyQA$5)&a?(We(&NH0Ccwe4gXgrf58ixP8B~n`|eVR1#|)it5dvqU7RN16v9O zRtR;tc0b0=yDoxgwdTN;y@bDELQH#sA?zF-bt0>#KKNz$E+7MKbP>kJsDRg*Vogswykj`(6E@zllt5I znYV!Zok`=WA03^}X2z8t;vOwEn^4I@f>66Bu{ynk&dW^B_=NSAdP8^fwx0%6^F{KR zSLD1(2XIh)OTyE(4(d`KFBB_WIRS!dUwGcg=)?!S`hMd+Q8D+eIE9UDQV@Zb^A}1S zt)>>YlmLU-Gwf~83UyzEr`g{M?HKdSlk@Gw8!ejtd_NXhZ6`lnfc#+q<&SUoqF2Yc zPRw}0n*OCV=eB1ui@KwlRr?Zl?pmy21$^@YclWOq;=fx_UgkHq8a&%&3jr!xH|_eL z)+2|#zfxitESx^`&RbP}9DJ$9Ku6yy&to|zQ@xvLBK@nkxbDP{+?ZrRe)#X>l&;Dj zcZ2&|sk;n=yASHF|Ax7JZflM24iG|IzJlv-R>yKirA;%`aFVW1{*xCL(=kmi^2MKa ziyao`pBzR~=4K5E6NV`=(X)L#KmJzh6|~dZA;e%hv2K3~Msm0A!GWBMQ8Q)@iOlP? zzsiF33C2s|maa8MDcuJeRW8&uBy#C!3X~XY-a0$v`Bnme?ir>S`%}Z6>Cy=sQyS~&0sKF?7^IO9LBaBCGlD=zzc!)y>m2B;Es*UCK39_?*^OpV&i8>$pf zbZ)9jo+Em1g{b+f#|k}rxm~PjT-1bj;g~#Da!aTMIPrs?Z(#^MXSH*0Wyrz_CvVk#GCwlQj8WSfKyiqu)~Uv-g_ zELEcHa7i=$qcKc^L-)d&lqTTLN$S51ZRx7%46V4BbLc8Eiq=b@XVlF25SCHZK}0`H z@We^rsmVDxJ5zX%9zTlrLvA$;*g;*{cMO?wl3gK85c}`UBb&&2)g9l8`to>d(AL54$6n4)@Va!{OOxU)T|c{#n8428mym|kFRTmg zYHbHu&6R31#0KOe8$-G8q4;Q|k?Y$=f+XE*N84slK1UHrbDoHd<~K0;=nAOBDJIR_ zT50=nOv`}1bh=<<+fWXnLe=s|#>G0C=~jj+5{V3tyw&t+NS^RWQa0mKGPoB6X@L-3MTTXnRS*KbgeNVJ^g zN^Q?Wgo=2FzRdF$f9sMKOi;MIZrVU6B5;YkC_{-};D_#Pyh>|J3jeB~jok;5cS)8k zj(*KU>79k zl-}^h$nt|Wgf4oOF-l6q%~5H)`w1t;BsPv!8T*gQ$mKynw4+Mj42Ks{5zUIGGG#OZ zm-w9E6$cc~)v=uRqiew$+nuIGwgBq zj?3plgt6ZJO`ZzXYNShg9HcP%lAw;Gq{$DTyrpUekwcN&*BtvVzTLUUcl|}3Tx~2# zvR^+>SN6`&*R1i1m`aJUS&~ghD_iNEKagtLD)VM_S|hmd0;Z7lo4H;rvnu8CMIP!w zpis?WcdUO=)UV&&84r=2!_)X#Eyp(L@}UkSZyCwS2QI)~^$5T}Lvz$5m%|Rfjn(rp zma|jl=^S6djzCo7q1V>6ZfyH{{Duai#xvj8rg;1&P_35}0kn(EXC8y0|7myFq`Tmc z04)8FEA zN5Z$z*a3VB34eB?L!Gs3yB}E{ur)Poz>8tPH-`Vn+;Fu@-XZHWK!{dHEZ*esy|*aY zbHn^<+>lq0u95IvkRo;MBe(V9AW`N-SGzvPmz?0Alw!7{kC*j-Y2{mL&-TrcQ)b_f zpG5`DQU+Eceh$RCnYCCVW zxZy{gt$uFLv%|E7zI`}5?_#Z+9a`~yw}{3fbp;VVG0mEgDYs$LLZgz$v!zk_4N7X@ z1($Iyd0t|{MPzh#6S|<|kRU**(Sem2*(q~j46?Rf``veMcM9l}^!xnkKM{m~2o}X- zEoTV0JpN^1OaJ*Z-5ZA6EU)k{ho2n?-e;i?aviri%FAngcQjI9^rp; zy`&Qzcx;Xl%j0rUu5tjuzZfdqLJAI)-ZxOhwIPMNr=hcsf`@m`GAk24e>K>Far%P+ zV|TKLT{Mdym65KaM*4S}^oZh*2s%2k#q|C8WV4ezt2Vf7cJ1=&t!jyU%x^ysCLE-G z3*rNQri>a?wCGdN#>cS|bcPIw)*am%R*8a(!z^*Hxm=fz3l5r)R5RdXnIW*Tgz57 za5Ute6We|U1qqt#+U&W!)ZnBEBJg>FBW9Ac9PU@%eDUQX`+x0y^;?u(*Y-t7hk$em zA|Q=)ONgL2bV;j7cMUOwFoXyLB7$(!H%fO%cSs|`ASoaq9U}}myw~XS+|ToUf5Lmb z`-kfXj$@cTd#%0Jd7f)ud-ZJ%3Ch4iXp+Qbo>;ja@+DNGjf#hr&{JYjdx8L${iKW~ z4{W;GtmdUt@{i>0x9Gj)&%HQnhO59i1e)dR&f!w4S zR^o5PMV(`D8Aey$m-fb6_BA+7moo%}#*)_EHzKQ?KBz_hW}?PW-^yD)0n>UK_IkEZ zyuQ&E)8|a!?@$KAHjsT}m-T`VYy|ZPnMD6)|LE}E?C6%Yb^VmRc@rNOwf^fW?@J-) zX&({&)kND0LOKxA_}Ah+dAdGsi!Jw>XOMLEweZeaG;`3!_E^6v&7vLhbMe~FYgm=}TUuixyowN_m zQ@TQ~;iN|Payv>y8~5ESjE5av^xgz#&SkMI_Yg7&DY{obTB>APtz!UAU~)jB{XH|` z((-o#VRY`k`$1S-H-V>IAiz0cS1NlviDC|iJ|+_<9uPp@rj8ja^0oRT6KINw)4_04 z=M4Q6Jt>FrGmw86{Tk@?qNCWYug!nItPVLHCxp>!*0}f@(oQr6=$N7w_%gq z(cG1=s#mx5cDiJABrpt3cRIWX(3E8@n-7j|Lu7WO?VKNQ-em%Bw)sgXPlf6u%!5rd zx|M#6uIEwXqypVU1lAp@RquA3+A&?X#|!=owbJZYg^|o`a)H+}+8Cp_GAP=F7GFb# zx4b;jES#HFLT|Q|si}xH_HG8^-xy$Diq79SlGWgPe>JQ1MriyZU&4}>e6={?CWH~* z&807V(~SAf4_^v*zoW2vGb$)OFK(gu7E1Vsk7-LiK^~4rk^Mx9aoipGpv(J4$=4|X zurp#sicCk(IBVuLlCHsd;o)YTQ)MG?yMWO-TK|FSscb6D$1ORHfx!|+<&_|(EaVlD zVrBzvqJ^hd8@FCulPg9`=@zRu%My5OrW!2S{B?I=4)q1X7p1Zm{j#hT^dB-xW2@;I zjnX4JeEzMhh9?tZ#WDUzL%nHAAy(*$HyX~?AXrGRrf;6R{J#2x!Sj81?E)@US=^J^SBs>F5?5P*UC zn{lQ;MSAKJn>U|6rE+2%x#B_{X*|aE%U^+~yB=g#V;qKVot&AN6PF)}203pbSrM!c zg8K#(Ca$0NE;BB$^@voR;~E@}TDq-NL`N}5=W*n&Sf(Oila2z75}$*F#}c9_D}pwj zmRK~fh>DIEELMn0?o6kz)|FURl66?2!!@{6;?lBmoe;v~RX%dO+hUpRikcr)?@cH| zsTj!%OUZpPisWIm7u5#n&dFKPU8E8Kn9)5}+i^^;n!}(ymgfv>Hk6nEksxd1i?MqB z_^B)_4Ev4&zA@6YjkxlPU3bvdtjY=N-Eac1ei3BM}iK9#vDB8l` zJGJ#_!``JMzG*m*mtpRSmrUVQBSR2f>-FhYq_NOwj_UNh$1RwjivcX#f4|bImyq8i zei`DD$k$9FV8NWh9D*Kkic`Nu!8(mtq#y0;xI7W+SW*RRRd_xWU1hM2g!<#qmxjl9|N&)tYbQSJ*NT%F~^2Vbd z6Rxk+?>rMTZ?`>@GSkgdS@E`#^LAxkb3S1c9q2dcBc&Axqf($-&U>>#sBovJ`@#3E z_i_5xFq+ zfXuMdF55L-)I^E4$kl!ao_T{e$M6ACm896HJaN~DN>_AkC%4t#D=acXP4HKMzOdwj z^C5I@9=Z#_E-^R`B}UcbmMl^F&GH^(qIVUJXXo4V50u9keF{g4bq~a}P8?~s|0WSH znj${eb^`$USZL_c)etuQO$aVd7T)A0H;KZtlX^CC#(w>yBzcY)1NpSKwIamglKEDE zfEt|IK{cx(J#uL(548sKqj$StYGz(=4SpXS5~e)q{-cfbWbcQEfLRsLgqb7A82Pm@ z@Qxp0TP*dWu>|?Eo@m13svDr%P&D58qnXq(X(!!;OT zgV+nQ1qzTdehbKwP%MP!^CMRdcOEcE1_(4ax9C>ttvV+gHaeS1%gW{$&K^%!z$k?l zgCoXQxNR9MaY6&bepo)^$Qi9R^mAJ)IYg*pN&+v6=1(mX7Fm8eG(TN*{5_h7gm-6d1{jf@ABja4j+PWHo5qVc)X8Nxr25c_NGmgYt9cXrVuS54-QmTtI?5Q zyNbi!3f*TS&RpXj?%1l4nF zCczHDw>L8LG<9-O2-+c<8o62e_Q*TPoQlD@imDV*o775Q_cZ@HK)<~FElr`~;c?OGDzTje9R``(|Wv=1M6BAj9mG1`A)waVy>uRfvJv?KX-j*c-Gu|l9kcfh2%g{d8CL2W;S|5P4P;wP z$dZ+NUdK`o>^RGY-;cCzuQ{6zfL8jiwj+ZS9_4P?Ek0Yg!t{>3M~GA*sqvEw({0?7 z_0k(J^-2jo9kk1HaTQg4Z9OxbeRlK-#W3dkw2_~5s_+XFTN%8{;6noW#sm($g%lS! zW|4(s^6c)FYWDA^opa<&A0pev9Fy+K3-k99h7g-EPqd+;H)26WE17H*$-N=s5PbO8 zbA_4U7nOBmO`3dl%!)$w%*twNpK*i!-uE4t6V}46$__7C2gNAZl9 z#lRjw@PH?hMKR^F^%WX&yk62E0Z43jr}%A$L8gX^TM)}{P7CFxg?B!X&DmETCa0Nr zvlxyvljMN7Nm8pBx6lA%xvCfo1?WG%e4nY$U)~UeVrwMS?gaH^lxUku=FhPjwzR1$ z2HQs`%A8bP_TrocJ;qS#W86APN$FPGu=_?=vo-4?t&C!FlVDGlR|l#Ad3H_QYccaj z0eDy{*T7!~0N@=h9zk2U&_;Ubo}|v2D2QmN83=v{h<8UK+uQ_N#dd5nJk&8FE@Lmg z7T7m%SP%L_x{KO^CHF#R9SCM7nXM}il?+4=9%@kJ9p5aFYj<)u`CD z)p~lL?X_Lu0DLL@G4q2TRQZN6dqW}47}7jD0XU>QN=-mLgDKhL=Z|Zst^1^bc^y1q z6^R<|``y>(Nc~BGgoiGbo@>0~1*W%Wee{p9nCqVz`t1+B&@x$=ZQe7@7BPxbAbp?F za(@6}cs~bKaHzw>hts?Xm)PL@yY6o6+pC-=eW60HX+f`20OZ-X?X$dE7gU7Vu|h-X*E=rw|9pMU$NIo{|Y zD3C760s_BMFT9@_{|$NiWuGqJ8gp^JxjZQfVnJrPl5{BXH4B)aQE=ZlZ9;*>(al3o z{+G2hLLKUzi#t_=pm$x^id(9w-x30Q9@_}-4}KwsUTnipS=hDx#7k%+USWE4+k1#9 zjy=1(dsiHw_+<-?h?VuSC0hfnBG1cM+TJ;j#TJQ#FI(h9gXC{L~gqAS!q^;PSxY<9j;(kfnFJ(@^V7{}7FJQ>>)gGr)86E;mKqi;GC5 zD@B4lQKv-p15U-04|ZnWuH%3tb$meoBL)yU5tIE1eOsaozkVtz5@~ns;Q*jJlw?5} zcZC$`?kMpIv1A075S1F?0qzE$tij0a?(1H!ar$<9p!D3NcE@d721*Uy%QEVJRZ{i3cw3$QP3$W5H2zhaG6|yfQCk>X042LeTeLxrp z{Unp8MXdCxLE5y`bwCCye&R=h?1PFb(P!hA=1)n<>o&sdH~@&9oYR8Hh2lZM-Kuyp zyD!3V?GVR0sBN-!#`GK^O)@C0!e->?dK)B zFHtXxuY=T-%$S1x_Tqq z_VlK(qDW%r6 zlA2MLN?MXp#=&s;N|yt!Z3`JZE3|#A>?D7l-nTbIyjCQSH;wu}aab+4?K~0*QK|43 zDxz60%UvvBG__PtIFw4Ca|Ql|-(9h)_|$fKO#k#c5V{kUlI@kZ_r1W~zuc3YK;cFC z6`LGFP>P)QHlmck9mtt) z&$@p2O9mt3OSk3Ab`NP3cb%3Qp~^F|vbjS@6nH@Wv=SfQqVRov3$7im_%f^97}6|3 zElmMhmzn|l1i7mWGv!cMr{L#~FDb(ha*=`fk3|otQfr!pM;7FtD{@oE?7Q?a+MAVM z1=dQ`-{!KX8Y_|Fe71ZuNz)?;g?r=RU`UStDugmE>adhY` z-fJ2fL4mxDMFvKkDEc9AqDi${APOv;b+j?eh?kKAP-?m`)^kLQL^G}y`l!317^~2P z2cKQ5d}w&gr0vfZ1v)c!=(gH|La$ezTP1W>8wiE^kkwr_;m@a&4Szk-lobRsaqMKE z-S^$3!9q*0_H}*ERx&O4%kc8f2>Cf8OTw+*Nl(tqmW$hwitgay(cv@ z4|t#SlRiykKx8WP)tXUOc%V60dJcb;U0HVD>5*rIZBl%2Hd*X zXLPjZJ8tC|NZ#NrBid^~MT(rw&PlAh4`1r;X;B2!{L_&zrm2qof$;Xdzhq^HW#9^r zZ03ylb-ti)IZ4iMeoe#gF8*3kos^3nbC3=`Cb{9s$i}+(cC`w`&1dnc@nC|(1z2u) zzNXxbD=TGI6`*T5YQ)Od`_nSeU*cq;4n18QEpplF$%pQ~6{8ExdGb*TU|_)xUaKS! zkyeh^o1Cpn1ECLTqVCTIcNbW;y&oNSl#q6J<&QU?jz`sF?!SSgyP8tRkf*`E;DygT zjx=9Opc$?&sGv^-!4wfiW^*XN)ZQ(jo&<%&{u_6{X}WmqZVKWX3MA!M*D$lzpXqkAnM5Mx5z(C>c+4><9PS&jYKq%k)PDJOiU1}n(N&;4Z)4ZTX38#$t$0y0 zV4tAt`adZpP~bLtVA8D$e5hDMeplc%t0AdlH+>a%HKb}_eqvTmAA7sNDjy4-Nm?^+ zdlh}7qbb*Ww%I9RQtQKBquHosL1WUvPSd&-dVMo6 z*cZl(Y;F26zI5_qdk%%PAn+<&M@%%h{#rX%?fnmt(#-b^LLS(?HW|YSbvWFQ89Z;d zT#HCpub*g97ohH16b8s&&g3ai9=m%T4}9h}8w&3m9rNi|o1-L_U{9Kv$u=*1%Dc3V z2RA3kfJA`_)_vp5qTnkr5K4;N&9+^nVwk!j#Yb=0@8%?D8qQ)QwWkzqP1>~J#sC=C zZ~%~_j8}O)HYhisa4j48bal4lS1F9Wk>zWTDHfIW2&S)ivKR(B$IiI z4|~|^aNgkR9-bQ!C7^i*__!F2aeG(sU(U>>B{^9$CQ@MK#&COYW=lePmVo(VQ*>DZ6&cw$koe$7Nf%+@h zg@`|nk=r>lR^}@N3$lt2wm$yVg_HY-%&C=wWjGOsc3F*lPgLaqrgpzC^$M((5XHic zJv=H+s;q?^4TNGT1eN-Z1=B11S7w}(kI+_4;B|yqCuhZ$yk>KRssu3j#79Uosu9df z&fm_3fov!hdr9WyvkxE}D%(Ot+HRLAW1z%`b#pg?Cspy*+|0LUj5kGEqX< z#P&X;O_{qE9*8q|q%|l2QjWD9J7G?*=HNdtOo`R^L{v^g zZOdxIOAx<-4K`#`Fdj@m`)Ns>O`1sfY&Y9)XFoLb-kanZwB0>-qCei7Pg?r~o|gGJ zRZW>z@0_&jlUV5i0F@^Ae#YwpNPc`#kI(3_$ z4_@!(h?Rrt9P@a6vPNk;vo?G*&MOfp9`dhMMk6hvOUE%a4@c? zMRYrpa}2pG3Fi&ZmI;wnC_cv`vfslqH9Y***)R5pg-e3v>BO$-=3w$CwL1x=RcYdG zG2qQqxl4AB$8rtL`hOhyS>d;T%ue?|U%R|+P^cqocC`M%%h>IG{a^~;yI4UEr{9N! zu&(#^5eV=dk)?$t&0tiMu*z*2l{n zG6cx4$@^oNfC-WQ_E(rGM>gV6>3ZgS|8iuRa>&s`_dp5sF&`G7sYPo;o5fB>ci2*Z2{R^5qDOjlcdkjQvZ~u*DN5H+psqDRq4V^+7 z&wRma^ACFe>Tzr&?=^^ zbGRt%nNjKN{>QLcRkf8JGcrmYAVvqi&twqVkJ%EbkD90LCUo|L?Kmz@rAp=xD1*~# zho0{2yL*K#8-`wEz*c}jWuIr>D{p04)cUJ{eXS-C%1(&xPvYm*o6`9I6^S=Le8sS) z=FM`iNXZ+vtM%CEwU8$c#0ejd2II8###x562Zre_A312VIZ|m=p(L9=r9LWJny6Vy zHV^?h?t2UGTORRjcr%CuaF@+Bx+%U8VLCu3ia{>~Sds^lBa*^#0c`*8Ul%qcWsCkq z?c!9IUu`aLQpYS5lXC^-3T<)5HOv!naz31r>u1A(J9{-T{&tg5hB$TS`9OS{wX$|p zbb)yJ?96m~Q#SK+U%fg16MW$N%0|5E)_QiR*P1bf*2ewk;so)T@Mm`A00368#;Rd7 zS{9#}2*U4_U5~xbyK2k;7MIW}DmLP2@hNEGNWoa{&f%UrW_Kx->RnTu(UU^twyAbtyUKcJl5cuEBjrtXR;<$9+Dcy*9YYe!Gx5T$^ zgFIBVaO&PiWO|_L=jVFAHl|q=W`iSh;Vlz_gW!p>-gbcK4p;jpL11;XCdPxikZ7c&Kxk_|Nhwn zP6nI!*z*KUlo{RN+XE9r7Ppf$b<3XX;=dJ!M@oe2@E33fn(My%Z$0EKvQUCpr$}Oq z%YJEd8{i>4pL3;N^^k0s2mZBp&nkF-+~xgIHRnnIyVw1nzjNlk9>jDB0s!tkO*LhM zKZUK|pHcoN5~-=Z{3nuv7$WZ9u^MFAO#c=bL3k$qM?JzWAD8_zI*(d8vr;o??cqeRIFeA516Q>4FCWD diff --git a/docs/graphics/overview-2to1.svg b/docs/graphics/overview-2to1.svg index 713a3521..44056656 100644 --- a/docs/graphics/overview-2to1.svg +++ b/docs/graphics/overview-2to1.svg @@ -7,9 +7,9 @@ viewBox="0 0 329.99999 165" version="1.1" id="svg307204" - inkscape:version="1.1.2 (1:1.1+202202050950+0a00cf5339)" + inkscape:version="1.2.2 (1:1.2.2+202212051550+b0a8486541)" sodipodi:docname="overview-2to1.svg" - inkscape:export-filename="/data/git/OQuPyAdmin/docs/graphics/overview-2to1.png" + inkscape:export-filename="overview-2to1.png" inkscape:export-xdpi="92.360001" inkscape:export-ydpi="92.360001" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" @@ -30,22 +30,23 @@ fit-margin-left="-2" fit-margin-right="-2" fit-margin-bottom="-2" - inkscape:zoom="0.58281018" - inkscape:cx="575.65913" - inkscape:cy="128.68684" + inkscape:zoom="1.1656204" + inkscape:cx="761.82609" + inkscape:cy="255.2289" inkscape:window-width="1920" - inkscape:window-height="1043" - inkscape:window-x="1080" - inkscape:window-y="410" + inkscape:window-height="968" + inkscape:window-x="0" + inkscape:window-y="27" inkscape:window-maximized="1" - inkscape:current-layer="layer9" + inkscape:current-layer="layer1" showguides="false" lock-margins="true" inkscape:showpageshadow="true" showborder="true" inkscape:snap-object-midpoints="true" inkscape:snap-text-baseline="true" - borderlayer="true"> + borderlayer="true" + inkscape:deskcolor="#d1d1d1"> OQuPy + id="tspan1164">OQuPy - - Multiple Environments [7]: - Multiple Environments: + Chain of Open Quantum Systems [8]: - Chain of Open Quantum Systems: + Mean-Field Dynamics [9]: - Mean-Field Dynamics: + Sys. and Env. Dynamics [1-6]: + style="font-size:6.35px" + id="tspan27456">Sys. and Env. Dynamics: + + - - - - - - - - - + id="g169991" + style="stroke:#02284b;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + transform="matrix(0.48,0,0,0.48,-8.12276,114.59717)"> + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + id="g170112" + style="stroke:#02284b;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + transform="matrix(0.48,0,0,0.48,241.87724,112.59717)"> + + + + + + + + - - - - - - - - - - - - - - - - - + id="g170142" + style="stroke:#02284b;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + transform="matrix(0.48,0,0,0.48,217.87724,112.59717)"> + + + + + + + + - - - - - - - - - - - + id="g170392" + style="stroke:#02284b;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + transform="matrix(0.48,0,0,0.48,193.87724,112.59717)"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id="g1702"> + style="fill:#000000;fill-opacity:1" + id="g6826"> - - - + id="use6574" + transform="translate(302.79501,93.917999)"> + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect31444);display:inline" /> diff --git a/docs/graphics/overview.png b/docs/graphics/overview.png index a6eec53c9542702df723e5eec7dc38580dcdefa9..e473ddf3443d91bae0d85d9d24a680059d9dccab 100644 GIT binary patch literal 157926 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%0AyrS-gcmDLi^EPN&hpumc;^ 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∾p=OiIA$cC36cTus`x{kaYOCl-}W^^{=w;-Nd zSZZo@xSbfVy!);8CF3n4${ZR=2yv~&3V1oa5s;~|pqTJ1ydQmI{k(-~P1`5D3sREX zU59l(hNmD%viEDD`@d~CU47T0S%c%jO68M!P{dNC&keNHZF9@7;2L-#Aeho4!-_n* z@=RCl6?ycUB1EhiA5#Z9=SaXfYTtrr-^FG4Q$wJz|F?oL>W$Mr=Iit@04aSSj*XpM z71XtJSWqs*QACnY1?dxj*8vQ36teWb%43*g@ae$#p~|UtwrY5sfV~Rs>bW7KuWG!w z9RM5U7AwJ$ex(&B0D?(;oa_B^2&QGu-QKJvteo(N37Tj3m~I>_Puba*wP(L8#2}+C zuH*oT%8OuRqW8Y^sXOG*J6Lyib)gwr{_qZ#hH0gHUG6^T)nv#9c(e+= zt^LQ`qfnE<^FsbonTF4IK=BhE!h0b)8X`gL@XmIAX@iJE`KxYbMzIgZvin*k+=gaY z7zh1_75!R~2{huwI~K1+^=DvYD^l*8uh_^@(+9QWHBWjCSXdTo3AeljFb;L729{MoZ3=c~ zeMDs@Do$$1WYxqhfZn@AV{b9W{PDjLktJSOa1)QEnA?O{RCCd~pDhQYmS>x{XzXGY z@s0qJHmH5?o^|Oeg|-_Gy^r^;-9Q+GsOuFxu%n1cF!H&P*PV9(?Aj6n#_xeLU#9`g z5mL|*ak2WLb7#PU|M7ex;l}igwqB=|70MSKbkc-RwGvx6A;ZTDxnm zv!l=Ge*8K)JKJJ}N*$&cuG?Lqtk&7BZ)UR!<`w+Gz*@DY17VwJp&VI&*R5~!F1(-#6<&Z5ajcX1Ww%`WEqg6Q zV?=6iKnf&~(Ddh^In(f^EQn zt26LhW|suxk9^q=QZ=nYZ?fxY*znD(o(8-V?@)d2$Kyt;)DG`j>H`XR?hVk4RK%jw z2!oR6dj>2x1N#g_6?*Xld8tPyIDMnj=#U-dGV`pFp^1U>W3s4zFFtQ_!>H$wmL zvAJcFE0^*>DP-%DoL#Jbuh`2W>OYH0O8*}AAg-#4)7e>0-*e{$%~`W<8SK5o_7#cc zZ{=-lca61dxSc_#XaU}zGZzo5MQ-z{vs*haC5lmcyc_)!KDOkVlNw#yco_|r+`PaSoi%0E(b3w%1Y^??~cD}!QIUG zWLwC)^o@aFiflJeOAJ6Nyc|(bXVDf%Ek%sizMQ3GSN4n&re}Cwa0_2bs?M~H?+Vr) zdAIADDlF-_P6v+9W`LAq21rRZfuAFx%7Gp`ngAc2AVMK6IAGUlOPY|SM+wob__9VMOH1dq-ye@y1k2bK)8Ubw?cC`hLVM_j&V-k=7z z-ERQ$;4iaXf&!sd`toi%12FG+HgKx|FMckqW?JawQs1J!G42!vkAK3hV|TPeUcFy9 z?C_Bu3g12#%6#a++cNV`Jzy#%`}+y#!gIr3hoK;uz5V<2o56OQ3-6d;Qp>btuv7t{ z4W~~7jrJ&O=iV6txi&yAt3=VRs#1)-z8)*t`{p^xVTG`P$;M8*22*lLwRKPqsAyaC zW(YT@sQO7{Dlg8iI`1^iVgZd2^tF-o}IsJ z&07^*`2|4|7ZszAOj3&baOVb6u#P{9cp$kQ9iKEmP5eF$bO!&DeP#n7{y6f_jme_N z2^4^zSJfPTP5Q<;zuw(9>W0*NefH++cyxMP$8_eQwBrXGkX`Bj`nlN?c*k?Q zAamnVgX1o5^@Z0<=nG`RF@I*UHT_Y;z_x76f`FRZr)|8oEx&D-n{^yLe~AIBATGdE za;r!huMH|}UOD3@{O|>%57#Euo+a4@AbcXtv{Ps6p{TgHrA{n z!#}hrx$SvMgvvBz^u|M#@e=#}=XmQNta5#PVYHfuZ!~YDJ#84 zphCfw0{$&)(_@Tma@WN8n8AoE#h+P#0C-yT=CBhqS&BOt5rCAxv)BjB4bKZ5BJVU} zU9++be`zAh@)aO_v=(Vv`S0NH==FQ;44oj(=ld+Be=ijUD<{%BR|&>>$NeLdAky5( z&Og2a?Q2yY+oAwkJc5DQ04ct7+^R1FSgQ_OYC|Ad!W6IrQti6i6IdJACSia;e?cOc z?lfk5T~_(oZ>?nsT+MdS5fgvc+{FCqLq9quMkM$!@vgi#0`zD}^{}xxJ438x8Z;iy zw;wMKcBa;aMVf_u64uJWRK|D1dhXvV`g2u~3Bb7oH9G!eW2LyKDo7*lem@KO*7WZs z!}Y%VY*oj%V0=*Km3X4`e9iQ;lmj5kr*C;N03-4}OhH851`^ccIr82EYx#y}J0gki zEV5;vmtl=?j%^pNaE; zco^{3>*Gr_`K7iV+?knaOn}D>gcRV-Y)+v#C|cmSU9Hx8BMe$Beqkw}f^6nVK`c5+ z`^{-FfK0UA+H9Lj?%C>pU>UQY7Q#K4^!Req$p#naJa3`4#EatrlSA1b!C%HoQ#ZoWYBYy zfA4+51KJZ4Y=nSb$|+`M7v%e$9*voR9$x%;n30t;_t!Gy!vF^Oyzg};{BBRLnDu(4 zQ=d|SBnpbX60dd_#p2 zHGhBC-1zZVQX4PJbpefaLVayBI;42TlD%%U?|F0D_ql}>3o zcVMA+PWu?@W4U)1rU*2g3_lVi zQEpC)Y6YOPY|1sgQOpFD7wC)#2eo7w3wK~mJRIP3+Dt2zKzcr2Ap?+XasfUx9L#tO zml;r8mECS@9y?l}zua(y_0H%o2F#eXwwYDz9~pSUh>;?Ey+ZHv|DM{t9y>B}A^H|1Vcg`cGnZl2r zmJN-v&%OFz>T7`HyMI1bU6q`Z0!*9BobSO}7ZM@m7B=T+ zyGe)rI!ylVj3;4ZHfpCR@@k1N}gUUuNF{ zgM4;jRTa5ksxPLXg5{}8r~sdKenR&4#}B$g$tAapfw36O7K$l{^FA!)&ys^J?33m21+r%+CF8{#e_QXY%SPa09j;HFKqlp{OZ{|z?v*aAPpe@2X zts&4auOu_O>6AB{aSgPt0uzF6|7hrp(k#YWFNAI|F}8cSbKCA|i{fNIzi{Z2Z=Xqq zMxN7+Q7S2D#tujh+egI=xn|&aweZBhWZ)c7WbrwFBMVaC^tR4$XYY{d<(K5+AprAJ z;|HgmR2{!LFmn0E;jgePAs;q?vHwn^W#a#{;&~^qLgdGHYBG&!l~@e-*9mtGtaEcW zr#JSos;zW2C(h}&c&-+jGhMJ!`+yyD8>b-S03DJia|t`^3M zL`*Pg0taEXe|2N&n(;&O(s1?cv*AqPn$5KkH$#W{yF&v(u&B5;vmY#MEp5Yz>9?gH zwaK~O5$iKAhxtzq!W{zS>m!#LLF!@gXwFYU9wN?y5`}!G{|PleK(Bz^xe_|lqL)8# zV*nqa?I3_Eg(Bd=&syh<2Pn?hs9f1zv-kORMNlubV6yicQSyysHTIMU-x5?0_d5f- z<6)q}!J2b?Op}or=}59fv)gD#qRgq~XR)xfhycy$hSKRwpj&~sK;)hTGg#c^^eur| zsZiHX8fGO`<>_DhfJ?1%{@RhD_md@G!R*GRE=u+Mm<&j@zF&iW3tY5@d*QZC<%qc( zl%SfpIMo>x8Tp=XDtU^X-Z4gQAMdYjE@Kqh%*lNor?Z>gqoWewAwZxEAy(OO4wE$d zWH|2&J$rwKIP|gsEqX=xrHhVIR12vp?dCZuMf5p1D;3kw&hhBei>n*1J_?E zdxhxuBtOxdaq}v!k%0SSR|?ULR_Y+MH2 z2(4<1V2dI>B@SEb?-Eq<9ACk*TTa72En^0SS$#)k?As*ezN-q!`V2 zMje#BiQ};!6&!UJh;Gl{I2}JEl~^Mbn7V3|uHMx}Qy(&klI^u{LK#%PURJB=N+k+g zszQ9FW-r1yJA>CMn}!Tox{lWQ=<&oqoyL!taRXVPpDQcUDLnC7K%Imyu=QxMJ$SCN zy+C-n>Ha#}ar5{4Mq3w{d7HcXj$5L!uF{5$(+NIFYa&#hxewbRYRsOj#zd``A`l2>ZB+6`~aF0MeO$$n8f8v&8ip zX)-_dZBLtBktPqc4r-qAqvUc^B(sK1cQgLPCd8mU9^&benM$E`)w^=WWWI=hhD@Uq zuAaN@jMuyd9&J5!y1BIe@})s}vlWipxeBgm$^|eQk z3ETfefD9+S`Kr#Y4p(66X?2;HLAwG1SbQda&&p$J>kg0R%LL?aNgpW z9xm%D1G~@>Ji{e3a=rgCKy|Zbl7~3qbiFLhvkqf=+qTD?r_tc^lP1n^@}gT3 ztw&AVSI4(6z0^l0tNr9z%}Wzz9iQRZQvAhjSrnn1w|sPHJ*5frylSlAFtI+gw0NHLw&-01#KmApZFOvRs4!IANUABX$NVVe zF20APiF~#`H1G07yeT=s4rORTOiGMWJi81-qb6spzMEd9j>u!1;R0KX`QEE<#^Gg@ zN?)T_c=-}z{+E3*W}z=I!SCKtl`i=EXIM*r?|z&_Ltt_9Y@S^CVKyu-MNyam@tDG0 zYS+p{j-k_)TUlU%^9q~4&emRD%BVy*H9BQ*)&{K_YLC6fZ0nu8q?FU44ToC`Co!QD zagj1)BZovL=7*Uh;aWo#`$s+5ocnjKr*IKz^+uDpI_wZarHM#sA2vx*-%HEWSNa_8 z_4}pQ(rjE7$mjJAQdwdUr>pL6VD$=1{LB4RG*#72>-X4xVFJbJ68DFL*g&4p?U9t~ zLiN?fBo!wau~doO^Bw~hgS~9fdnR3LOumlHCi9cq)wSNmy90m6ftQb(JmTmUo_J?I zFlsOByQkIsAES20KMs3GXZ$h>yhM(U~jtC4^T=(Pn z-`xEY`m1IhdmqbZ%^-^J(e+oV&Fb+ zIH3lGQ(uanOs_8AxU6g6m=53H990&4WHIK?jqoJ)b8`|6htRKlq{%T|uf7)QEP;Mj zeYg#HB0`o+@*TfeH+`h^chT(|%HdGLhd9d04+0Md%rV{g|A&G0b7(o1=|9SFRjEq$hmjH{D=5slHH!Vs#2;=9&D% zv+na7!_6-q7kxT>IWLPjLXdGYpKBS3phcR3POrSZE%JC=1fOFcAZm9LKXe8SQTTid z@8*~J*AYcQ!J%lNNnFAe%=O}5T8yHLgQ892)zMOgY4w&;5|WkcKFp>ZB<9Cwz#aJ2 zqU-5_zku{%h-V{gFHfKR3Yw2Yt zy=Oz)z>-6}?{+s$&iY79^v&ifBEQ@K$9%3j7{$`31xUIu*XCA<*Y1uMe#czLep@R+ za=Bq%LkG$f@pg`zYk#Ic&3f)o>bNq278^oi*5!Z!iQ^LMv3fZb z3i0K-$dbdif|k(s3>QLj|IAVoO~sy|m2TFHw20}U5K2!orx{FRHi8y*Qm4-KX2A$l z<|aj?3*SB88Z5w?E!%SE%O)Fs!%p$@l>O7(57;{U!;oD<1m9cBlme`kOz`9tNk_No zR5?02*VdKh$71V*bCZBL^ByY{X)xzBErsNx^2d*7m-8_+7^`bQE>c_5q>qNyd*6~S?TC&tRbxxs9K5A^Niz;WeSs@_>yUg#wv&_1ipJ=5V%2@AMKNCEjlPD#@ zk;}vph49>lo7)qs`-c`4BdNAr>lZoNxSLkMpcnO_4tt`vHF!#2zV`vGSM%bj;^yAP zu*csJh(XMgvicy~C`xVKLI z&IA2*dq~Kev^_q2pT)kPgOG+iV%UJ?P3Pd`+J}}0J~0SuUpg3D zzUS7Tbog@Pebca?EMtMe-`Ne4e_tjs3#Eh)>o#U;hN^SPiWBLA8$9_IXM-zT((jrk ztbJ~Pn+#LU3LC-oUF@Z1Ol+c0WUhRN0^ju<3x++MEJbpWt81+3r3JrS7kd_hPzUF zKlZlQW%(=z3FDpzj&)3Fw*HW2vTy~RqBpGbdu{I#S2jN892FvnJ}9-%TK zjX0-8{U`X6b&-Es+JW^M*&6K1N(|z92^*T*;aWKz_Zz(#`IE8X{)vPEkFx7AE*`w+ z&sHx{=Ilw5_-@1b;PF#X_&BGZbbiMUDADO8O1*Or=}+^Ti$D7`7j~#; z)cW?4@bLsvFzpF4d8X9QHGPoftpT)8|Da#ubcQ$rmAMvB1A@h8M+EhL~kFGhIQ|)o$`M7?Q*o}Jfo6bp9D*=3q z>gvjVM`JyW`GwAvp7(X?hwL$iX=*7D@`(OuVclJ0*`{r>X&tfJ}0 zz8x)}*BNXqWxqbFbaQjFK2*Eh^M~~~L-RZyXHO$*YW;5jp`^7fYDj)fbk`9%S%l3! zF86V7TkilgifG{zpOr$(a@q+xB3T^0%=~!em&3&Gs<1fai2s}!d*!WZE+)pKQwk73 zVhBb4ZmLHA!i4A&j40Tm>`GF-XmWj^O%9pO7MFOEr2G3NJ118WBPBNf&$iq_7CyLE z*&(wf9z9Ne>Xu4En1OTd;FPEp$mR$L{kZR~G*jyBg(pS9SIqH3aeGA409h?V`R+*g zkP!uClwpKDU$9(#?<|Q{R(DAOgoh18!=gdt%7tCvnZLjG-9PM* zH~bSwyxR@N)h7lDm6K$Q?@;u4t?+NuQc)K(##DD7Bcw;5zTit5&77e5`7l?Ak(-|O zUCYha5#hnWC(A$T#P8(8%ip&hro&%pn70mEO+;@HYip_>c+c6-^;F6v5^^dKk%s^0 z$wb_}bOUn$%%7SuI@jznCU91o5DGO&qq&bdH(_WAt~&{_48~k&b3Mx5jbL8y?C@lJf7+^!xMFRW<@T4Yxj^jx5J4A^d8u zQmU*q8JU-|d)L%rWS_$pN4rOo}_?Z!FCiD;-_&-JM2hc3dPH?WSR2`3h$^Kt9wpmQ~Dp|G~ z#hoSALS#G~$ZG=b#@*Z>%FeeLAwq;~^S{fb^*UHjzO7W=@r9X-t^b35?x)L-~3tx5dI}4lBI+*`AVCDkirzvY&DJC)*`qooI$H^+g7Oko)>>%qgAq+@zt-zq9C1Tr^~ejaK>EFXcoVOj!{s)#-IzQV!vYYl zKmF_^Lq~^eHhCP`zrmOI*K)?}P392tI_|2U@iv*+Qg-#W1Mk(2Id&K8Sp>dZiipo$ z3&vr3Gq$4$<&nndSi}JrRjM#k`4)L5T}r30P!B7Eb5x~|kIWzYst+_)IdqdbM#LcF4Hz zSYwZQZqu7;Y-Ow2N@(mZ0RsbPc-6$rVmWNaD10+CjcL|W-?(XjH8VC@a;O-XO-Q8Uqxr=@FIq&!5_QS8HZLO-BbIdVD z&7wWEEc5ag!~JMPxQfq-{Q{9RM!J5Z-Kj#J2wd?vR6kZiJaeF;=@aRvnD*$*$(Z7w zoc~5lSK)xWW2MWRMt16xlmMRikk!{rZk*A~D#Q1i3{Ou`;|*WgL7%jbDfne1Yph8( zF}vJvm}o^Z1RT3YO+%`4-YWj!@OdJB>#3hnb(LsMKgq)%59dlX2IpY>A%K!KarD=$ z*~QI9H_!8Vu0pe<`GV%kZjs#;?$U}#ro9tdt8jF4G=PMVt*~*dae1 z!6Y&p2mzsB+$9)I8Pc{XPd&AotIRE8Q^#OPH{{Au1TiNX0Coz>d$ z;5^-Z5dS*=5!n`74BBr>nUoX@W3|M2aPImX>NlLVH3^6L1Ol+vju!nZyxcK>iv3T~ z1*FO?N5{KS1Jn~6ghl(DzN9_;PECzCorLB;^~Pw^^>}JfbTwdSXVo9V&WH@{Y_RI< z1zMzuyCq{M#`&!zGiy0ShyZ8BH+mzACuiV=`-x0#8dZoxPZpP)|pxW`^XoL4hLz-73ZU^?I6NKGvGwbxn5 z;!`t9X7RFhE80|QRryM2xm`PRcseREUhD3aYY~a!kgTbMio*ZyK|pXYwPu|aB1l3? zM%cq*$BHyIS*rd#B<^NmG=p~oP3auHA7{11dT@?|H%?jkbHyuh+D9qWkr;&Y^YhO@ z1_5E}E%o#Y((Mri#DrZQ4)Cwk{Q7bXLPdSjTYD`>ywzz%2$WRWxWmE3+6eZ3>D-Sb z*r3KX97~{0nQZ3fUtX5H{Th!e2W16#Zg2FwH!P&31EcejBy$yLq!)FT1xT&t8@ir( z;!=9FfQ51BSOqK$gZML%lBtxM`l7yrQ2~B_R-icXXxt`nadlN&vc=~%4XRKp?MtUv zh0!Ce)NI#xG$S1!V7EcLzSs9(;hpNB1ButCFlAN^kj}X z&w7oF%7=vb4HqjB!F3W=NHF|&xC6kUJ1zcbIp+1m>y6ma=O3L9KU}-DW@4ZlqpgM) z1W_fiH`RUovWHAIySWnU+Ec`TK#PR^qT^knMBTEmv34}*2RZzF!d=8s5I8iccy(2^ z+XIjE^5UN1at@MOb%9!o#)r0!g<~Q_397Z$`*U^^@GkG}w8;TJdUA@Dmi%WI-jA`H ziwNibsBa%leUJ3J9Q$tja!>G9d<7* zIgW%-^aaGeonFeQy2tR+bCb-S;YVwpt>*qxd8E1({x5Z-OZsb$y8yUu8agyIDR^LL z3Z#ZdMmoD;@BW$hvYE|E5z4&YyBrR@ng3k3FscxmA|tMlzAzW?=JvoU`A8`Iv)!yZg&%X*bO|6(t1wF&!6%_7o_Z5)znz2Py%eqqc zO+4lcQD0I7i9Dss%8)^4LBV-45^z47zq{|W+amUBI2Z&S;7X!M`oXPkxtY-B8d8Q^ zxJ#{kDxNw*v`gIhO z&K#&(*ewT+`ZjecR5p3`(mo~%UcUL!etO*zz@GPi)8Lk=PQ~ z_`ZbV$G*T{N>0)u8G-cK(ZC&n1bv9}SZ?m-N2VkDReLm#C!%1R8~KJgh`Ex(J0PI& z>c0}JSZVx>&E(r!kHAY=F2MnaD-Y*m+&-(tfH~EQz5qt8%JX&Mp8Uc*@2lN;PFJ>D z?|ZV<<8cTkB#K;DZKl~sqHx=lCgI^d!`?M-!|T4thWLbl9~5Hit>@@> z2O)e^`r3WjCC0vTm|k5K!=uJloOGweW`U>kBY_>~K-zVZ*y0BY-!SaRh&iO!=Y0)A z9;a2=&{8QXW)8R3?*nw(j)4T|@^XPdy><7dKoovR=z zxIOSM^@BWb(7q3m7LQJ*K4ZEv`IcS2(s^Z@;a5Rf!;5_RLxbu>Sg_Mc!cf=AtN3er z@;pg7KX*{;S5rixG@m(YZ!3t&rwO@PFkT(-8g z=tpn~V|*oo^;vrr49}mI&Z|=p1*_6hR|(;V{s)Q-AW~(BiN8m*1(5f_Dilb*NPd0y zro>4WD9nHWy1ui63~Io1h4}lEoR6A(H0SyfdQWz07&YI(?K=N0$ND>iqijl4mhx8s z^5qQ0eq-)EAs2y{0jrsttA=)mS6eoz+!(;PCpNmq2yhZ1BY`-BT67PjZwn@A@aE95 z5d}_S`dY{nyYgj@ch&KTROXyUSRZS>#4OEfVe*U_`l6ou>1Ot}0=_e>H4yN<@}NYj znn$K2UQPsT>`yoSR#=KJG{xmJgjc4k?R_4^47@j6k+F?J74^Bt%#s5#GV8TC9d^NX_Y=UXqj% z)ptD`81DVo3&2Cj^+wbZ*4c(${>=^8CMC?#{D-AqUQS91)8S$>KQ&SIC#lG}wK7-}-n>{~EddYZic8Z)IrOG_l}& zcp)nvx}}D1mMpk2wg+r}!7T{b;Xeu;RFuxQ;kO5ABbJmK8$%u~Q1C~y5Leq#)jndV z;XoL=n>mrc@V{c%A^ypk#T5RfAX27~WHEP8W3vNKYJ(+mybJAHg65${#{Wg|9PI%h zVo6pFgi2)YMw}h}TO`b;3ns^p1+aFg)(z*1$1V=t?a|XsJeaZ@Y=|<;S9%+`9}O>y za*MFkZ(Th$76k?{U(3Ec4|RHP2oC4F8M)uEBe3W!vbWDm2UUVJJ06a2@@O2OY%n)-0x@V zJ)N8;^SGSmGh$|vY*uS6D4`!nva*sY{3Udm(8oreSk|I6Laz2Fs!>s%Ug&)`gGqoI z;BPmu=bhpwj@J?xu||`TNw3An3)qHurXJ9OHeX&2N6ZZot>$6)MCgK;wBMR}$KdqUvH-20$$@tZy(Bt&wa>ZP z8lbY6tC(AQUe3|L9ZKrj+qalt;SV;!KFpBW)B!%se$DByHN1=nQZhv4idf|Jq)_;g z2O+kd^;n%lze7m)h^}DF`wkAhl#g>%mIK7rVafMF!{B(5|HzOeg#tXIh`p^fE zyUg%fXAiE`>rA<4nX@#?9#WShqq=cQyx5wbj}!U!g`BWwnbLe!We(X-4Owt2jlfisT_Ocm!t$RvHWJP5%RZ*=Eq}S?ZJLS6Sg$&Bw}5?$4h$e?w5qrAJW? zsV;s5=thz@AqaOTOIXnHJQx-Rnb=?tpb!2n$-Y%Dgvd$@c1SQ#icv(te*ENr28Xf_ZJ=R@vHqx88q(BM&qt5Wu zWJT7+SNEs49t3K5r6Hye(hewHezLpUvEy+u{Km6NbRkq@qKs<6g$NWc$<|-=9|~5e zzIcLMjORZwygEoaex`Q%Wd7e^2T3QudwKjj{tXFyJ-C@3%M#S@2WY12eGPuBR^5vJ zUVGycf*_v2MMpn$)e0Bo5dcNSB&O=W-N(<@he~X}Sl`%59R_05$X(CQhLM~(ij!+o zlkkLyB_f5>lO=4dN{COXSwUcXqm91%iI`r&;)3t9D%3u%0mbYRLtLKU{1PJfx_bTa zwrsy2+0|H?y%<-_9N2L4qP$HY+HCJ&D{I*=ndR0$ZL?W{N{ES&00~C=;g}B)TS`yw zK|bwcy1g-XyQ!F!THIyPl+~-y>6R@Hz5qIEYnRPiOVKcyHpg5#fk4M**~@pZ|kOIXU>86FK^Zpih9JKdH#r94e|S3$P2xm~f++A5}(I127TK zG~6U@=@??eTyHCZ%CsZU-uO5ph{wMp2cL3|E82i~5;$y0b$3aCP}pBrf4LxbDAw*6 z_u4EnQb|J={|fG7eM;d}`M~08V={%U>j3F8U_>}v);902F0M?IIU&lObYU80cWllx zohpThveffES@TpiVg}CM zv9i{WxTHGVonIgP?dY-*P-$_&F$3EYl7lRobImmn=tNbH4}~@xlXQQX-~V66LpYlO z1Z_IBn6UFJ)KBpRz2?My{epc{`JcfsyS!1inz*f9=H;c(O?&_9Den zdR*LnT9^Xn&OrF@i>_Zla!fGgyfORRGitASQH5qZUS7XUr9B|^x;Y>DG}l{0f~=OkBVsC>-ZEmQ zGM%vh;>-Af16;8J#+_mIBHw#k$o}Y;K!xrg5GbgX6M?{M5m-0@EiUI?s8bq(&t#n5q{Ki*Mj{opi{W#3`vmJtbA zG*51?o14EYEw+sOaFFwuw+`~X1`4Ey8O4VpRvN-jA%0`0vPLiz!I?_(O*N1nsBFuf7n=V-Z^O(o=sm(O%Z5=BF`|9Z*^bO>LA`tN9U~)I6CqGww+WnktA)wUHzK2l zb_z7^3Y18a?Qq(mEg%q&_X$cGho$TsSAeoVHNhOY(~PrGeRYHOJBL%GF)?Jzl)our zOyY|NQ#5~v*_xxZBxrbnt*kDBf<||Pg7yd#QrI~(oWGV0|1@e(6Mw|NDHvmL*0d8L z)bUWH>+`6=wEg-c8|<~3Wuhqbj`&n0Wcl5<>iGfY7&1LNQ9DiSxT%p>lq76LJ~%1k z*5J04B`pd;SNMO4wg1e--pdMX{fEgwkdInW3rwbL@W9m`K&9HO@59%a%=C@Ihf?74 zR&q0C2_b@9tS^;63p7Nh&y|ywT6q!*xxh-SatrYKJ9UeAakxthzK;wTLwKz-{kpN0oMAZnUO{W&cu&>>CFQ5nA z6MSRvk16V{&{!e%Y{d;-s!wW+)*4BJJ6?q5M@1$0MMvzJ`AUlLvEC}NQI}JQ1&+w+ zG%&|0(+)gMpD3|di+n*aD^e(*&@41Ig{V*B5yG3-=hwTTp3q*5DT&9l0w$nyMCau= zLH1@&lT204QZDZ}uHar@zd$r9+^Q)4BxF78;rvdlbry$7+p3n(za`~gs#*~qkdC96 zxVd5XWHWmz+?_YJFWT|$Qrq|GrL#Hv`vyZOq(Y**QV#hKI|4xvr!FxNa)d0G+>$E%$ zeRYAFl|Mv&_?!&9L2T?$RcnmmiyQt%g-Xma%MG;n-nY;#i;k81Jc)_1V9eLM70~xx zN+{4g1J@!~SVvCz7TW5giVcr4>4!x7J$(j%kO>+f*e%?xS03uSVF7p=T&^POdyh26 zK=mlWiT_xzTst!aA5g_m2_S1Vb#}dg5}-~2$RSCL8a~$Ty4t5+4y!SfK}g4uLpWo} zji{OI`85&O9M^}7#2Tr1KTgH>kZJ!RVzS+)3c7(R5}5WKIWughhT{h@&aZ-(B!U6r z-9hIT({LUnM`g)nY9$IWF(FUjyCFthC?De^E|XS$M3*dGY?5#iw2<8)wV$K=RUr>% z=pUS|k{jC@coF8rqJ8u}Gjn9Mqxq%H@X@&~>FFh60=Uh3e9P_HR6ANQk~I4p(vbj` ze{(Aoam6Ds6)AH8fYP@*3Vt;ZVTJp@YIkhJ$4U$i)D@wssS!8Tn1;2jEaq9)JHeG> zsmquS4*7-6|6?o&X!%zDS(oOHiWw9T5VSxF@YQ=`Sxn9(ZJ&HPNQcC#V{nosfA`$b zC;wexP7pMgpp7>8ImGx4>XU@J4gp|e@p~KZibd;4zalGvWv~lO!Vixi0ta3RV!?pz z4bcWS_ih0OOe;<^k@Y>q$^~p9B`x)ku4#^eY{9_e1Ep%{>%AE~c9clLR9Nf^vphio z%^Hz@0dVZ?9t8j6EkTj}U#8t3*#eQv^vP)ak3`d%Y{-PUm6HA3dyCylM)kk;s5XN2 zj1AWYIa7G9rLL`nkSvmZyq*U9bEb3pY(D^G(UTLxf}=5jn2ZijdqBgWDDqobv}~fQ zTL+HWnbo6}f4oSSC2bm2xVv(ZLx-n|E=@M$t)j_)Z^CQ4IlwkKHC`>n_ucqMQsY`) zJ`x}iEYM)tIvC4lc7){m=gb|AoK6+lDrvXajs^V=$@_1V1yuCAXVglI9ee^x@+jHD zsg2s#o8DiDdw-YD3Nyhh+c(^n31K`Yd|q2h4Y9eD)W& z!s#USxg$Z0>sl;)(Yj^A`fj`*SfgVcZ|Ek+vP2ID<0S+ix#OZq#1DT@4TQ7=EH^uo zNlE`{0U9I2Kmqoo$|p~(4qJQC6;t-{n=wN;LYAWC=fqUJ1|ehYawKo$xTX5iq%GYi ztngd!r)w^wQo?{Su9m>kC(M!^z!<0Xf2@2?`3lAPf*++(eei6VaW_D&csw2K;c~cy zES%^AfnX2lS!Mxr3O;-noU%flP!LEpc5#K;F{=aapf@a@`<8~C#$Tuv4L1z7t6De# zJeDCR_czCp<-yTp-@88BEH57u6@Ffwp&#JCkgL5p!zT1gDw)lFzFk4%Hc>u(nFKrA z-kfmTdfyJ)6;f1$q)+THzjkkLu28rb>%$WA)>;!6?CeC204Qni@NYw=*f|E(37=CRPI$Zi^6u6V ztg|yJ!5fh7juvDESE@+RT&*#QNZhQ4^_cLu6L-mFiO+AFu7_FFFDJsn< zhVZuxjnU|yuc%DgyTJ(AjRfxK7)cJDZSm$g-2059!f<4DpZ`ZeeIt(r$d^S#?%eSr zfdGVe`A8#a^*w(%31k*UP2KbqgDx6F;ydLen=?ViV@o8s?EI}0tk zv$1sVjjgrlElpEb|3_O#W<&S-q*o|V$O`{OCxKLz`vnmauyN2L>0vTjGq2}yZEvF+ z>p3>*Ill`Jj;v=^ox*uCZY1&X3b3{hpTk?I9{c+zbMe< zoBkZ0+i$=`$uIo>naGzImz zKuaM&lTph9HNUC@KLBKpi9*o~3>C6R#QwglNpn}K@7FjB@oU!Axl*;NhQGBVt#_lW zL2zvZH#fMGI!u0l7wwK?5du8=mp>d|hs~N94^!0cjFty4Wg7Ie8h3g+dX5b=dOlC^6P%`@7!N`NV85DUEgR~C!?)(HDqCKlM zCnP$Ujj?w4nKRBK|J4yLE}eUQ;wQ9=?&|%~CfAd_W%ghjxi73BQ8S7*Q^hi&u7MEJ zF+YAeKLikZ{B*~(<<*KYc|5nAx3Rzfl<_~sIt2U%#TfsZoqoUjuPg*y(|opWp73@F zlzhs0&vybK=dVNoy+~rw;|*g>YBN{~=KPk~Mf+GmmQ9i%Nn zw!!JOfZ6Z)xx?9Anqh(AW0f~g2$5}ofJ*7-!KS&idHQR$J@jYdkFZ+9c#%b6f*xu2 za|(5ccUll2i+w2g{z)M}AiV>NKj>x--j?J4@5gQOSjl?8e#99~t*Lh5ci{6NwCW_Q zL;WG9povfH4aQ=NB7#OLpiB$)q9e30YZ~PSMR@;UT6O)Qo5;TGI%DepqAc9_-8*^t&bCj_}ws#?XOW+{Y$ljHU zz(EtEHM@2x9mC31q4Ixedm}3(*7f_(LgxK`7J)(!SS3coM4i0o04r$>j%3a(jnu6| zarifueKJ6n+1`ccRznBwEf9=sa2`6Owh^6Uxm#AC)+uiT%_+q^(e~o#M?M)mQsf); zQ^=+H@@sHm1}g4fFUENyB(m8w^251^z}=IFydz$3Mj+b`-=Mt>3?9H)J$*UHeCQC} zmZEUcwQ*}j!E5{~ArUStX7&E^yGG1kdot!Y{FRJk+RF_po8S%=b-OmWhf|xaxA*%; zH>yorK@+WQF;qXr)?XSLF>=Chze8f zEl$Q(AhxdIPDenBVb}E#Gg(5%g(~dMia9Tx(*|?u?tv z#0>n2W&HZZ&WJzDsPCsdt?1tF^TkEc44{T-a?)1~x6Vs=v^!&G<%?;wS_6X5n^5M2 z>JvN4Ws&Q-gtWYkR`YoCeTFTT za0j!Xvn0LpU!YharB5IQ6r@wGTbBS&((Kv=~e_J7mPLh2v?>4PaTDn*CEgUFQ;j7 z;J?#~ezTp{YN(#CRPCkCW!c_p*i!T1k41|>J0+&%E-f6!NMpac-w_iEnEv?UJn9E2|Jwo-ODr%gO!d=3iE1fR{fF<4ixeQZ0SH!Ot1$r1)mr=p>;k_*E9afa$;&^9R+|ZSDrf#l*lNI6Yl0CUnMK zsBb|Fc4$TI!+FQR3&}?9c_E%828Q4R%pFOuR_j^JqVRmfckD$D^KUn8 z@Kx_d2LH3oECgyOHlJ@rMi0w9FC zG(ajyY@@jMyZp{!A_VymTUGsFpufR=06ZyNbdFtCVWyE3?-!CBc z_Y7>2QDgvwE|1GCEhEHv8IdK!LjtK1PXBs$5Vq`MC}q5JcRxktu;oZ zSJT=aIjcZ{W;MDYDzT7o`vm(4cBQ{L^rk;+h5it?y^Y(L8NXmNLG;+E*mNinPn{<; z7gJ{7geW-I2y}%+5juF_V)%D2q{X(Kw;fsJ@0b5#Y{HcEPsa&U^netl?PasP%Brg= z!o8=B%0bDFBF9d$#MdV!HQ+p|z>$1L0vy;DKfDlL9n}`r;yk^IuB$ofVQGKx!s^~n z8le2?q<%H1LEo^?vTCiuM>EcP>+=tKSEp$zRJ&YTz26p;V4U-FqMC-KJonuQFmT8oW2bO7yKda;?(5+6|5s@MccBDMMwCz4#hX|TM7G9S&{PQN`&?5x2hFq` zR-sR|9d7BQRLY-xrr_J5yQo#!MjqblH$O6EBBS9xm}r#JdLUJ-2kvX7Yhg~_f&>JI zM(!TVjYWTq@k0(^Iw-zP2dO)gcS2;NKD`?`6DF|G~!R@4^`UQmr``DXBks$60i(DrLT z0mbASh*Nw6cMT-o3;CYcJ{q{}=NRWYfe~j)m{>Uyl;W|H5U#P9iW*EG!n7rRd>lwL z`b0Mt2#7Af`B7b=Q)33~a}{wk8Sl!(_i`tS8R!b$AEBLpF`265D;LY;Sg5l&JTqD1 z@w?dj$-SRTLq{X%JdHqu@C$e!S?ms}UXqGO+kjmR^N^UAFjqeC6+3`nFrzx;_3*+P zu@ClEJ&IP=9&*zm-42&2_=$7=WxjTu3P{4Z;&Ns+beO*pbLAy+Dq{yXIz;5 zta*BR^ypitlI?0XG=6t|5EN)xben!Y_BEAiN0p+33TKup@dA6nKcW9k|-Z#Q^aAG5$Xr>r&|%MJ;X z;V?ryzv(+8z{%A&$)vk^Hd`w!!H*bNW&7TpdQ+!?(>d1*;ipcEj4a^q2TIzfOhN}z!s&zVJbs@fB2_}h^ zFujy2{8cE56V6S@lb{Wj%wt#x9-KZzh(t$pu2MI`r&C@xO0p{PIwi0~iy%g9cQ!LB*A;_3=sCcS* zn@Si-!6OFUqT7go@v--;>_88PHWlD%6yWD_r%XFH#w}5_46El&R&w}c*I3$q)5Y$Q zQ_`cnTP)O!nrr()f#ltL4-q{;aA$ixoQQx^nVlR@-FX?=JaIFEYIDr+ z%t(p#KciTNPa^@u*Mn$_i~x-oITjBAf9XXGq7Q3BA;7$b7xg7&XI?P*YvgX$7lR6V z&u##`jvqra4?e)7>Z`j*)7F#puqQDUuY6x}qjd zX(0(`PRa}baEMqG^w>kT;h9m}bU$MpBF=y7szHnGJHq6Sd|We37y-VgXHdUkci{C@ zA&*N2{ci^wWT$W>?ovD($r4YfD;W~rl->KB8PnsKAkZh1$UZ7d0KE@t6mVx8=N5SD zoNG%L#sS;zYJma6jLy=3Z23BBlQWivKb##*>##a6VwHmX^4} zDlKD@d#ddFD3V>7w69NeTZfo`73}$R8!?dqxZlBS<=vZMc8jk~RB_u{BJ2tI4Hov@ zh&FgS&^whs5pJy#f`qK6f`LXAP_t+JKB-c(M1xN-TiWIC?p%C=3$!qpZ*aPKt#+RCmC>;#>1hADm>4*Cqgj%<>87+@kT`QqyK}J`4YYV;>qH;l{T!tSw-w5?X%qXe^tqCt zsU@7P@v|$Id}BUknjI)Dg49`7U1BQ}&3ZcQCmu{M@j1hbgpG5Dxs^k+y6q{Pc@+mfGH;EAU*$NOG}x5zaN6AG#XmULG+Z@C;sXo`bDmxE zfve1>H22cBJ^xC}#pQ`;nR)~pBz`0exi1NR|kWPdhWI88h6Q(xlCmB>jHLS2Vx2n0t4UHr?0o zk^Z9p0#Wk>(R(e>nYF4&v5p6rHi7)aR(em?ITf(s^Pk@y3qI-$zRRk<^8qwvE)i^# z(s&1o13J)KRexzZ8(2S3Q*PW(bkDaMB93P8L)2=P&Af2Y4A5*96cms%TtBxJ1EUA* zG3x~Uf9t7ysBU*eZ-d@7GqOTsSSYSv;a<-N>gjD~x21Z7-${u}iwOAeYkhUN4~>W@ zP!xQp-`zCh$4<5e1C9SY6}aQSHpt5 zw!1%+ncQ}2ndD9plQjX-SP8^W znr>K4_9Zw>S0@>`eQ36u&UP9CO!7@9-zDR7bBenU@l>2Wt^jD@=)6BGGephH4yFGy zg`h4xHMOySH2C6fZHhXY#p~K;IOURp*WonGS2QT^^WY>5$(6l}rRe7Z)$3q*I6ixX z!+V#q1}aA6=)K|3GbirvjLixDPSB@AZ#mM}d`Y!XeiE=VjbAS&uKimd@VP5a$!Nv> z39_x8r0Z-$iQnr2Mju@vBqB;!a}oU7Z^x(gp}0nE?ZN@)#p_X#`N{u$CFP@p?5u8R zae^F#g&x;UIKr?m*@lgyQ$XG_O4Z*0R9l%em?LMB-p3VjviG6#wc7AcJT=s2%52ZI z@EXKkKhe;E#}AC#TUlPAYpSBn8$wIBTdpX-i=OXWdo&#Gv+o1mwf8=KWUsWi@TeaC zQ(KSaCG%ccva{ji{1WZEt32kT67o?cuuzS(gaiIrM_j~NG(79>{CWk= z7S7Wr>2M!yk+Mc2s|lSH?SOZ8#g>ptq!h^ zvtnYXXW_fvnZahI=^5)WpA*E`^HjUOYHCaohE|Icw_i8;M71YI0u4ipnS{}=;u%~n zM|gvT#WmZ+ARVJxtK~F57s%o{axwB5==ou4^2B$r;MbxZ-GhWXA3|oKF z*pycz2{sb!s?ZSN@dwfOxv0lL>d{};C0d3xf;)X<^P&3Q^!WAseq!&H6vk(cSue-1 zgbHSC%N`u=#XnSMuv4twWXC9(L}z%;&z6=v0BQ8)MM^IUIAbo1#@tIQ>PNWO1B?5M zebkdHD4O^Qc-7CJli7oJXADbNfE`R_=~n%6Nt1^c0cR8GYu;I_MbF%aY7YFBG0|9b zA@jKSc-D*H*!gC2zV{gK1z+ERu8dzJkj>Tb`IF}=CfC?sfRLNQV)V{PCOrU{?puYX z?8sUEXt{ImKp(I#UGwg$`$8U|VOl!(_5E!&mhtl8J%SMrR%$6q%aC5}SGIy5+o^?g zg+ExgJ>9#GLe`v&53YZN+pI-KPgU>qfC*#8zwz!%i`dUB zf3EBx*GT)O0nd*nncRuaU?VyUd>;_m99U^N8nJU{WyGV4Xy9f~ZIqWaMY z7#jSkm^!-mD%fubfrcHC?$KmaOvEKdk*q^>qTlh*6o6Jg z!^YP9_v+s|2s(Fu%6utP-5Pra%jc=;0IOkof9rtHn&Ec{qr)ohRg0keA+yCoC6m&a z>-m@f#gBMaTiYsies7ewptDISiRa1hdGacMIi>Cm5 zL&WPEOFUMU>swHwN*a`RSdMN0x9js-7O&U4wCWQfpc0s#+X`r33RBgJD*ky%-%wPH zuR0r+%xGvLYSoGm4}SF5x1?luVbZ|DA_&T)PDZG6EE1XrmW)sZq~C<~6F3E2=;?23geDzrkz%rQ^&D(uq~f3*@NIb_q#7=b z!vj`C>-$BYZqjNm?sme(4%XBO ziLi=P^9sK9O@ejn?AZqI@yHxj_m_s2(EcV>fKbPl;gI3E7IFLJOI^OYxZ`jPs*7ZE zv;EHOeYz+9wRbh1!oG6IWfE~?u1fw>yo0%gsN>eA5Ip-Sb?MuyI6 zd*On0j~$&2-U5yumiQ_&P#j~dW_Q>ZOgKqm?chzfJl?TQm zM>)JR&d`HafOPN|i?`YT(}I+jN!x}iCcgC|j4Kt3nCJtpvmJ|Wl#on%Xp~Nqet(k8 ze6>A6SGUNNK->4eb>61zmfUxk$zw}Ec>QS z=8O@MF52)Z3Z+iAGESY~2Y;1%giv&LCt$s;G#nBme6bf&4s8MtdmcAK__IFjEx?TJ z{Ov{DpDHtK>c^zp^!I`a&e5t6l&6ut>Xu2#y8F}B3AB&M-+tFa`T3|PGeW&*bSn|3 z{>3$jA{gb{9)Q>!HkOT(gLP}Y!WF`N!@W}@6Ni%X-K8TJ9VfiUa?fHKzh|Zn=GfaS{Y}Y zeUhR}{HfB6g3IE9Tdc}GVprKxM@DW>cRR&#?__}-so9*9QJ}c7u=zmKY@?9`zV)<0 zaL(2hVcKgkd67Y#A2@~pm6_jt(a6TyBdnMZj&YJwY$ zYW$NimE2@^hbw!3ie_=N_#HD}v75Q`rPk%?64@;}i&4GfmNo|GnYaFPGgU1c$JR$O zg+O*SE5jpSj0T&N^3g*@Z^CwviXz+WD;v6jZC~De=zk5xgO;Q!tvGGUdjdj`;c3coxiH z@E@H2raNC_-#h3nSAnn;9*k#QxNREj(AfT3ABBEK)s_!lS?nb7-dU0C)NO#opI0f-1tM`U` zbtChwo`_F+h|KV&#>UnOSABhA_x3%btHf(gC%ypC{Rzx^7!q!Q!NE{CB=1~|J3HGg4S zCSNqp<26aZswXUIa&Td1zYJ=HWynAVVR*8SS|JnMa+y{NvY;F8L({E~{Z4V}sdMit z{JgW#PH=xPlVwL(mACNAYYCF8J9c-7wRh*;iSg#}i08bg9iDERXNpz!o;69&Nk0xt z=@mam$*REAN6+8u=V~eKDlSs#9>jwC^3hVENAWR5B4Y~d=tPCBBu&es*z8{W(N<*y z!sLVZwQZSY$eP^6zO#{L9cP{F(i+!%1?^D6ERLWZx z2>J7QUtAeP6E{~A7!@umKIx-#9D;87jh<6+8-W;YB0@HM+D1OX@ub|2gFGdVhfYa*8`lZaoJ zE~&z==}??e^QI>tTkKDHqrLEYW2srK^j9hfbqFK}&$6Y&AD&}wI9QZ8=lbMW~EOK8ZJ|x+aJcX04kn@2s2i0c3f7~8Ai@Xq$>5T-- z*{;u!h|PPu)X~}V1(dmHJwd|y0EW_ZnW3# zir|G%=~c_a0*6#LJHtPfu2y0>9&t~*MTdVTAIR_1@Y120I;|HwX;N=@@U6n2 zP6s@i=K!NHT(O^GTZyfCAePsex4@qBFkDQZt?6vjr26(vFajMlwXF_GX!Uh*KQ(Sn z=UIAjrXH<7Th&7z+!Cdu1vaL`7%pEr!9~B5@2xUzN$IuH^4fj8>y0&# zOh8@FC^F_G!=}>lq8z9w$a4+mk2qZVTG-I+2F`{gVEO;r`wFirzqMOX zL22pOv?3|pwUJc1q`Ol(H=%TQcS?7+bc1v^(%q8x-TFJ{yXQN9!5!o7F=+N1>s?RG z`OIgnEE%zjhgvub3*@IHqZncGo@>4Z({3Oyw|VN9U@;WlGQjuzh57XOn}iLLyazVfqmm~i3jg`LNPmp5+|6+{mSiN zr3ooCiJfCGgq>^@&S=uL(Y15AryY522ZII`MnIPZdk&mB)duOs>FVjqaBBM|ieF|s zwYM|Y#IStRCfZBCG|a62r0_wP;dNQiL?CXzIS_?jyLa~q8r|^T+bcb_yF;u`!ud{4 zhJYBehi^D^)Y95nQxvajY!$xz0H5j6*<+L*OMapH9L87DS!iIp`Sne++-%d2Vd{qx z(vS}(N>2?Flw-}GL9_F7z}uNH-;psfq2~_939WovN&aQzFLMfg-ot8ZK7v4o-ruas zZD|uuyn5IUUY%N7K)$Rw>>{_|srXoaxRq_E;%V{@zBajZ;vGid&kS+O$ZE?pT>2aTbTV=X*{ywnQfNOQ`$aXjP`bUEjc<+QOt`$oaCkXitunK{M?&)B zk5)dO3Xfs&d%NQi|C^w0q@USN+TNk(6~p^8>r=to&X?<4r5cT2NqWNs7p_u&w#+yI z3E4ERroOLeb7z_QwR!iVMoPJHw|$F*nQ@#7T}RGZ%i4}kc;X<3X8>SZZz=b+-w%zm z6)3=A1mc-pdU8Z9Ha@*D30$l>vd^#6o=PyI7id=3qDG+)ZUF78$k0uR zN&^jzkuLR*Ap%zW7w{-Vx)(OgG@R>fhYenfX~fZUA}avB&dJ$BE81+wIei zG;lb`A!MlW`aVdfIlvdILO%xG8S_?=^2@+yl8fI?N>9#jmJBY-)ExHKZsrD|$A%`6 zaX*@jNnRW-JpX04bR3u$yw#cgiAAMW4E0g| zo%w7I+wK1QT5hqCdz4slp6f*YTTt=WhYECeZgSRjqUj?}WSE`l?_`Jsx`YZgj`jkX zZZ5zM<4gPiGKUIYzBUYX?kYLFf;k z7_|yz*)WZ>(pU7C&U@y?gYn{C3)? zF92rsh-Hbqwj`7g&NiM=h`sS1=;)w(p)$U$E8S@hBCo_Er=`V8Zvhn_|4R$Nip_C% zHEAjl7V=|oidN44;6?lPchm85y;0`_aNSnb2EYX|8c&c~B)J}TKF$haUD4lU-pR8T zjw2w|h6)Spu(b51wN#*8r$2=TwkT)X2HvI*lVy*OPbM_EFak6?>FkltwvUU@^$+Q| z%MxsW@c`Dw(7tiMEaQaSz8xP|ZRDe%fO{+psfwwVFKBu;)~3bp=?5%xslPmA3gjhB zjaT=m@6~F)DaKWlfWuNJTJZ~=Gw*kPO5VJK7fQJ76u3BEL@Y34b3@!@o9Fy4->2Rb zK!icxoWtk7^bb_6w643vdNa7+5WGTopY{s(jRbD7o}a}lm@i-)dQl}RrG>7I`Uek-t_is`qwKd~cjyc@*Q?%>la7kr<8s3kr+o&t2RryFu9RE60b^osY zy1f879FrK^2gTn=*B~A)ov$`U=DkINJsc=}r2A-sHbW_I@6hhxtaeA%im}xS{9JxF z-cl-i%%t4)xdMkK%?-lnBwLa9t|pFMESecIm5OX` zHxW|!U7i6Gcy%#0xja5k`-hCg#E+TdOr>InjU>@FIa;34*2kEt>?_1q0G2Wu@EM}s zZ|eEuLn1#ddeS#<+WKb2$yEnR1z;>vhIW5EzZKI_H34X3k#kj1rn5&R?RGtb-&r+7 z5h$<%A2&hmiIIlxW-5}|WP|y!?s58gI$$#!MZfvsQ~e(kvnbxBccD(*6nWiI$&jl(;2R{R47wnl;XH zTK5HU-k8ZrZ^P6MxCtliW@SWn<+d2iiYZoRfo_2rD14LI%iJQ7WgMec(gXCiwC1DP zx%|GzfA;Ji4AC&KN0yhbvEt2_pJrCd@27vO7sn9D@|TXHTi%#y1Pjm3_pL>jr2tR; zvTH@A98Yy5?>l}a+3G{oV0&aExHRVd8OmFX!5fy7(|vWXQ(JyIz2rfCKCr9WxHo{=V)X2?a)erVf%wJ*@r z7BGmrrcy#vOQaoO>G^(~hlKz}ZF0x=m}f|!O_dED{Xwbd{d=iU3LeiNW%@Ek&Prd# z?y*nqWa7(je<&V++eDAG=BxzM^>*$>cjnv(UD@wore5+Ee$7Upx9ul!ym(I7`GmSG<2-KQ71Gipcqb2xSPXJ| zRlRSnI^R7dFirV=dqg_FS zvT0wABh;0xje^W+@!ig1*#JLAe7Ax_#~M=|an4N%CCXF_J37VI4%fhugy^N%GXY;U z2SwMiWTI9J*+}-sO>C(|S_t7~h4;II_d*;x`0cLv(k!Q%HiO*))xEpO4C=^_TT zYP08wp;CUgQsUBMf&Inr^$oKR$XUt7_bZC39$Pkd_q%`J{HZtK92B&XjI)|@pRU8v zB$9!2WmawwdL&e2!?;3Q4PQv8d>j+a9$W2C=HWiQCl(>A`xTD4MQ*&9{*J5f(YUM36PooFytmfwC z)%!Q^QJ)-8Tb+pYe*Q!+uc{0AEZ=;#)!E0iVYBh5aPa$_bKYq$Wer#Zx}J*AK`(Nw z!cX$F2=_JN_siJ{P3J(5+s29jDd=Dsv_I?ALhK24QI{Tj_mQ+$W5i|cAYl-B?lsH{ zzn0e_@h7z*dImrV?KH3vypB~Bac^6gaiYv!aZk)&UK5#22GWGh?AUg&LAvD~GVNG~ zBc)(drTp^g_}33>_wCSMn+bnMD6v^ph_@&OscEoB$0gK>^A~0~l{z3hY{RnUpd)s8 zMFc_~GX+gKWUhv4%2nvjdU{yK+1gjz^;E+qGuEuYbI$H+XK@2&yOgJ#F*>wYzvJ}r z*ha!J>_Z5%V0p>s68@bPBk{Pip%8NZZbsvFc_{p0*?unwpdpfZUS2zpuF|0d@{%Rh`XO!6PF-3;W&V?x@}++mZd0 zcYr!0c(LzE?-Jukif57P);`Z2N*3m+%o$VfsPf)`eOQp+>pSdfdZi&=C>=#KWoISvO}*syFOVfQmw8ff-L8qd^C=9B0R8d zA_DV6 z=yupX{e>-RL(79)=+M*vgV))G2=@y~mq?q?tFVjFi*xKNdb~*wc(v(+hdFYq(eL2Z zzTD6NB~i0({q+^ymBiScB|W$Ay-)E?Rk%1|_n4kq_eADbG9rReCl2f|ix3ZNp=}P~ z2XUgGb(b=IfYfrDD23kHLMxm+VcgSuu9X2`fe2X5yx>EV@Eiym7Gbk{A53Ce+X@s3 zUP|BB&0H5qa4ZP))g zDY{QOPs%V6;w-Hs@k|tX`7bt@k>-%t@-SRAa{w>@>d+h+W_mi#Mr&L6c6m@9$yG{` z+I0kk#9e1c0Oja!o6&EHV^x2;q+@%2=YOo;DR zwrUJUAhv~}E$1v(yQmqGI*1EMk!AZdQPfTf4fFU z$Mh18#UPMM8le*}s6nwXyehA9@M#GptgU zB2YkBuz-9JV!<9(Dt=HcyX~y_p|1HG|HWz8T4t^k!o`WDY$jTt5p$T2*t5}zl0qvk zn1s9GkkK-7Zu)0?tZa(?2;61Siz5iN%#hiE10CAv&aq`UXH{&{V}3^pGM zg4PmITd$uw2Egyy!JD7r(vD5GL*i;~Gwib0RMiT;yDxp4bvJ`s?lwC*I)1WqDb-#JJ%VCpp>~Rl^h~BH(U3|b zf?UN@iNG1akeR4dVH_ONZS<5dR9GKMzjy(xv2?`m8n&houhUyupxu0bU&DiT$}Ip% z&i-EG!oQ{X571R*gs6+P-}H6AuUyUxeXfC(1`K^>MAMH?NAQ4EQf-!6+gkez9w902tU3rghA$suU7;u7(mpN*urq zJs3~*$$J9ZDTiH^T02^M3m(B6zvSTL+472B#71mbxbwi8L@Jq5f2cOhXLfeI>5h8PQd<-y63?&66DLX&nn9Z8kMpuuRAvO5c_R6s_oeiek zc11?@NP(utx9Yxa6pyk2gk`H-Ps5vOZS5W1LVI9Aq+|TXzhwy4(GhXB{~+^|!~_j< z4`mOzC_b4=d6-1VH_>dSUE=f$60L>Tk<=ozZz}Yz>*+K{KbBa^R$17w7S6*>iL*^Z zgfvBgtZZk@9$D#N>b=r2xCv2{0F`4lR3o&=@xxRUO2y-e1z|(;Zs)d!DDY-vd0EOI z)1rP~EJ3=zrk|7O!M5ur+zgu0rSsD)X#2mVF!z*6Yp_Ks0_yt_X_jsID{MTdrhIW~ z>X}l}YTA>OhT8vrzWN7f_+>#t%`~X6nWM3981OnfL?DE@ zBjdqCT-zo&M25V=3y9`Sr^m?C#)aH)=ws~x0jQ7n?b@rBU9=-O%$T?@JAoYNIGzg4 z9rx=`Cs_F7yA3Attd)+Xxj_^C2oGp^Lc!&>2Q6C3K}Kwpt| z>f>=Jhw9jOY48DWjpFt^l^TBFn|O|Fh0aWPkOY}iXTleWp9Sr&i*NOrOP6`lGPl_Z z#{*Zw;aLl{DS@gwv2Ntkl6}KnpK5&rr|w=~$a^uX0>3M>@aXt20ws@DQ!%P-Uqo}6 zMdWHU0_iS)k4`9a+N>oh6^lIVS<6|Q-lYUV{<1u(7y^CoVnnzIU%ZIU|n@AQg5ob*kQBpC_Vp<)s<{CzdL={6#4j3(Xeqe;>0PTMi0rTWY#Ofx^wAk zlIqkzd{+XjX0;wQb-@mk8NAlbOT$Jm;B@F`guNO46`|Gv`owN^on)zc+=G{jOfkA(0r#bI4n?i;6z zW!+fMd+loWX-VF2itO+#SD=T7BQusp5!(>aQ@@(fwh$otbySW~xlf-{(r0~%N9Vk* z)AqX)|6DYtdjc#hS&cTxaVP{VHWe9V)_VM%=>Z@vRUweXgnDOtqTlEK50xx?KyAqS zavH2w;m1asDOhmeat^|W|9AQkZ>I%NT)m5?25PB@mZUYcOilz`N|)nOYj2&{oCp%9 z^9SmHK@c-nD>1K4{%j85%?I(6R9)%e*4-~hSj_K%1H`=7SXwmQRDn)seaOifd{h+X ziv@t{SDV`NCSp0#v9If{+)K#kkQ*!@o#(cB`tiDYj{_Dhy=_Dmy#099d65gM(VJFM z0?H&{p`1^13Hb|QeHSa((3qR^Cfxf4n0+;k*MMMb;A8PDA8K8i#@FmrmNN*B2!A-a zwZf)fl{e2@4D;Cq)0KymLg^1#;s}O~DE3S*!P?`>fW5I4jWHSn@F$k9te1QacxH39hHsR=gl{51a8FH(>3 zCD*=p1StSLrY=JVTndKPk#EFG6&0_>S^F?G8Z_|7&UFrm7hb0LbgAS=VMgT3lWSr7 z*ZWWjcl(h6js?%~?Q*vtISswwad^Kf8IFW3P*y><;K5#rF*Pdppgy16Q?%f^LJE6o zA=0aO;j)B8=6R$Cq~$M-UplF%_mkEs2wa?^U=X0JV`N1pYQBlopVgMXZ6@$>x`Ma zk2yZZQB!ll0@JhPnG^IqpH2fL0&Zo8CIzzD7RIFC`G-!TN~0cG+YO+UX#f+T^Cdu> zvpkyjDXwGcui#R}Mh3{W3RN>d3#6gIh~5CZ9ld==O;%I;O@$5?CVuPTc(y-;I1+IOE$m?VbDlhs@N! z?6LzG70F+HiA4#FR%{(BB6*OMCiw zVNlas3+>!45p&Buhv@)F(Q`{F%id1T4y{Pxl>Y_p0CZ0T9uD4>giy2Foot>I9mYo8 zX`WoA4mOLym6nPkX`>7^W&L_z)RP z2niC|6NBgil|PFFF#3BCo~O)t@->P6s?Tq3mU6oWZvDCHNIWk0#N}r#!sLG5sYHs@ z{jvo<$_vzLj3lU52``Ps9=All=1BG;Obn;KfL^8J1}SE?@#(6+-1?m?NaZnP-n`7HX1Hf>ss~`kDjYi?Y#EkxqhlA_yLc< z9QVMpe-s7*0d(=%i*WQ|#J~a(`O@mb7wYvqzdkS>BO3J`@EtF9pKSZCWPZESYp{Bw zm91C7ePTas^?j&MQ6q(LEbEcurc}WW5ZI9NlcBe-MgFWZbZne7V?#}EcxJN9(EA<- zv;`j;1MHInw#ImPH`G}$$Psz<$=0!!eU{Oa+)SAo3C3EUGebSuFXCfYy~`8Aq}h_! zU0#;(xuB@|P|z-dUQ{3&h+^qooFlwi6YKjmU7&o=4oBZH|9 zG>0OlAkoTBow+<>_UqU|(>>!%y+aY`iRva@JR0W^AK+eSA>4k`R7Ew@`;Q?P^vzECmpD_(}IdxE^T zr@TdV_6~vTlg%`-WHAtld&@ zyvBX3KVRii{Pan-XhOEw+9QTu=@os7i_|XQ3W4FILi(rh0jTtd*@+UpL&diCy1Mlc zY9*V#0W^$J-(E|)l0$oJQ)5-B1a4{AN>3`YkZ4S5zG6Qfmp(q~qXYHQM)6w=tkWw& zdJf~+g}EQ|^N0fgOW8|WW>vU3TE|HUZ)=+qKIi?dd#P0K%56)-IFo4<)Dyh5i=^72&IN1400`J(p zHwVs;-_@hjiT)HYoC*W2f&TM~tbp>p(>Ap_3%el5>AQ=9K$cq>fDx4~)8lEc#fDIl za{WGs6CIcXQX_aLD{qkhjGl0MScG^9%Cu7hhDbTE$LtM}dbpfBPy5JpkB&R0JF4-Y z1l$nz?^obVh9p2$!ul{>At1n`2z$naH9#sra0$_JI0j#qR0e^tvHF9tl?9NNywyXX z!79@KK19V+5!)|Yr{;38JBz&R!i%1sFDPrm`Jz^1M&ey`meMa~yq`7LTVW(Vz=<<8 z0?Eszjlq`W`fF)_wCSop{th=(7lOOuDXrI0M&z)r7l{YT(-Qi&*gXtbPH=5_2iZ5n z?%ZkiS=Me`tp>zoGFthfiPspXs0Gvo$Ir>pZMSWGS(C9G^kYw*Zw}aq`L25bMntxU zlAMVe;S_;}lY6#vZVZ+l@g)}Zs&AACQdU46E-*3d@}ypT{iB4-qSO7WQUs>m9X`MT z6E`=1$F!0!p?!C$Y3vuW91M&^SpoLzl8{N$BKa&>oDkkV_W&tUKz%h4Z?$#EA+`Q5GSU*0zc?jK|bj5(NtB)u0+ zLVdpri0rfMooEf3EztWGqqpkuvh0Lg5Oquo4@2=w;LJ|ha1dYwBAaigahX7__{haM zZOmDFMB3q4;TlIuzoY@Fo*ktCG~@i|Wq=qPJR?*f2yAB#@B#V3d6+g~^%j(=;YcgO$5G zz?%pJ%7+$yL#^~cZZ5Q~tAI{`PBD9QwC-~yWtOd;EPB&wtd6`lP0+%_D$;A@AeSv~ ziZyTy7fXY`cAN#5?s4Fzi>;FAx%c5r-b+3B9aoaSMJcDfU zd$olAe%z9gP|!bVc6Gkp3X@L$__iam8#ZErW+-BAX6-Q=*MwzNtc!AIB&JlZfVBtp zAc!D#K!6U%y|%0_6MeRP8?W}>2FUisQ?Je_+{>+|kU0kqQKER{q&t3f{Sll09S$ln zQ`v?$yqf3xU9o{ooc1;?_{_JXD*)qFREGw)(4~h^+|@W3s?hVoUnC2vKgBB7#6q2I zwMRrPP4!m$JYbX$NTgkO7a3iItu(;RIH~H>Gp23lC-^XV3Qi)YW zsbouJM|xR8M(_P%Cf{NjUo7{VH!&JoqUGegL#pL?`c7$KkTRA0c_Q9Y*jgn=saU1` zp0mM{iD0HQ>X%0<;pUA)k4bR~7rYWipwhxOOk8OHir44_boEJusC6LApJo_7Mp>v~!f`T&RJZC&041n991$`lrPzo3rT)$7k z9~8ONW{%9q-5k@^!amk(~P-`qsn_<+!-N2PU>q6~BJXmfF&jz4>vsv$8TXer69Pklt_tbtBzfb|I9hP;53I61xZ+pWY;M)TQI#!s|x z5ps0L(geRK5kx%ulq}yfGJ1Ykj$^*xuO$>IKA2hhUP8ij7E@w5A(!mWmi@@MC_Y<( z`>6|Fy+ZBuHFqlaxJJL>b3={4+X6R=i!OTW@whHbu3|E@5W!8GRd9m+n6 zj1z9j?EMsv_07c;-FwWmxbN)%DgV>xhcI$l^=sWoIY05(KE40tKcaxPB%lT0Rjnl# z`-%xfzqe?;-1P|yIdSE6nK#KkUn!8;sW9KZIs) zb+Y)5%`&;%`chg$xbrA`ZU6eG03U|xJKF!{2I-fQLOR-m+ui`Gz#xASxb>g8p*t#1 z5bw~~h@7sqU{LwSrhI!#Jy@y9&0G>x9tqI_{iv{ORSTEEy7H6x)+|aiA(!?z^jjW? z9WF~|`LY8qeb2VPRZZN1u(R~nPiRQ->YiMJ0P<_~D0`cG6eZNzUs@}8j*$U_~Lw_Y-t*vUu+uv5zM6T`hXv;R5ka=%P z8GQP$9K4md0zqzvyP#Uqz0$d8H!cL|X%XCB`)z%1hq@UWNp%RO+n18qZt`sk|9M*cLG z4E*yIxa!-+F3O&)yU8;z$Y*7GEwtcACl$&xAUe*e-`TA1u`jxNV4IrmNrvwq9r%8; z%**^#Q<@@@{6Vh5X4YYc?vc}j_?oz_@8aBCk;b<*RV~ZqVJ|`rWYlVGpMv4Q6Al<; zj#9HririNWF(K&Q}AR-&qF2ko!u5WJ% zpCCM2mXBKHmh)eSO=KIM!;o@uq2DnScZapbL5X(f`)#VtFFT7SoUN9OFPN!~hmC{< zvk=W42|KLRQAw||=cZL-2dD5c{VxRS*h5Jp-R2%QR%FzCfL;)j?!q|QZ|=0l9X+B+ zx%}CB8?w2V8FUZox$@=~H-_X%lLb+^6@f#c|72o+vwy%!cJ=|S5Tl;1!lLJCopiF` zk)M=;`{~J)6y4ILkl%H~W5UO`g8g2f$BJD!SWA{eyZ0rXPY&2_!_)oat(FOzkH9fp|Q|6j!Awry?$|6QBQA z((m4)bddVh-B`)!_iuJ)h$8hE3{Wl+ostiQsxH6I{i2JvS`?Z=pNLG!;#sIKufuJu zv-EM4GJB(aq_KMy4K&LDa&ba#2Yg6aijbm3$_NwCiL$>XEwC@j#vHpbrT&xw(5ew} zSFM}VZ4wfIjdLov@0k2)_6J1P;pREM{5SsgACS4lyBHi!ThS-03Zq*-uAT}^T#%2zI z`X*j$dEiLpdb<2qqOQ|Bmmc~EOcLF~GxXv-4F>=4D@-aO4# zX*GZ?^i;sqgj|WDr|ZEVJ~dU?Ss$d7DHU6scFb1qP;Oq@KdnDLcnh8`&2l-PT*N9h zD~@?_*4fSBUR%*W^o({!vM7UjudMCbmo`9TIKe{+*m7G2k5^d#m+Q8M^RfSD|)1f#pyEIL!Mv zRzjuGnz%5YArJ?}Tz~)jWk7K7!+LAk@~v3j*FyzThO6Qf-3UPP0yN~U?)Yij$IYW6 zcp67M4(CdBCaHxBy;*JtQwfib3C9KgZ9e+fwZUo)t>>J z6u_gU1EQ`3@SSlC^j(k zNd{Do@FJc45e)ug>4wiYTuZ;IW%ta1?lQ(qWD8|KOCB|$x-23kzNZB0JQBDgx(`V! z*6TaE`BP?9zsTQy%I!$MyIzC#{$UAmRzsCDKER>yLuF=g#u}t_KmDsA7@BZnEQ}67z#v;Vmsx<%3tN-MJ7x)0{X2hWL{0C86@?0qZ5=>1^ zXDf9z{lZWXCYGXalY?@RQ^%F1XlkZii=}Id=Wd15JO2Zl1XKpnOqpf46tQ#KTv+>E zCC3dCt?nItiP7+SwoJ;##wOG|Kllq!>rWyRfiOxnyOjD4fm@H>y|=B*$uTJDO~E+46u70t06$Y>?iHL?q@$$w(^>M(jq8SiHylpokDHWrD zRTB^wY6xnex^$C;R?LH6XULby8SKvQM%pX2@qehR3h26QVecPL%H<{q5Z2dru}mS};(XPHZKnT+$Zh`tm4 zPjLeVCJULEjzpY6O)^^gdqWLWid~cv4~?8$W_(HoQ9$3$eU^q@)Jqxd{Vv4KQOjH5 zfL55l@aSLGG_VCQK>u`1y`f@+QRjFJ`x&7VLdddgqED~UiUFD~75r5=HC7=32mqS! za#p;4pYL>iS#P*?J@;F94)#AUlROx3Qzufn z@@f_Cy(4dc4Dovi^61PlY+)@ZM6jkw=k&M2C zb{Z+NJ69Swy>asb+e5Wx2`YsNFqJsvCdC7S>5zI2QB!yd+sC#$84bZgwGwP|#iGg& zx9^xK{`1N7WwGYVA^3vldR;oxvN?|-y^{F&N-74`(;I(&S&IWa4*ce8|%ztemw>Z{V$hT$@zXySqzAu)q220D^Ga;=5hYYqKY+E$0O-%9`dpo%bO105csCo*@~2D_j~L`)edgM}Oa;v?%w-tg zy>m_bU@-UAkXt(8%h6jXn6CuAOvI}}8u%ahF{WH1U1Q7XatcqLtq<;!msdF5E*N}; zh#+^PC}{5uSUjBH!YT?u{TvuZG@tIn~;oE#_JgWX$-T%E0SEW{n=< zFX-EBcI0?gjFjZhgajgZRMe1aur&Bu4!fTr(7u{}?(Q?Xz4TidQLN^spGr*Jk?R*&%-0d zqi*%f9>!AD)wK^(m)SByp(HZREX<)&{xu^ZdE4D@!oh7T72|0XHXCg5#)i^6ugKY9 z{=E7NsThLWWFCZ)XRO48-Bj9mzIdLD;j!)&-t6W;HgacH!g{_x?_Kd|8N9wr>1XZH z^z=9g7;>X3nz0H?K2EUxc`n2MWTwIWMX-3~{*kiue1_{O;Ixi!c57;P=TuG@0UqdQ7?>Yp6D{SW^d#TN-P$Ccak@h|;41b<9{Xl3kJ^kJe6Lf&Wco^v2Xx}X|QLtMS@E$-K9fyO1q6f&q z3=B%es%Q2CmiYNeE+85^(kOxjn~z_QC*!gqH~ z$C^lYBYP*AhJk{TDAUp#U9@4iw| z1FGvmsawR9P%7ps=Cifq>1NY!BdWVU*xMOzu$wmW4|}Wk9H!bk00lT%L>zF*bSllf zIPcZ5gX2nqa%oq1OeVjC2BbVEJO=(>!(}cX&vR*Z^uqPDFe#O3qripfp&wUo{|XJ& zSxUr3b;v_U9(iY>X}BRSZrb@McV^?8sSF{j(e{>OP_UmTg~w$!?fT&Jm(>uZkCDJR zf1>`G=K}LdNy++`jl&f#>Ypu2?n!Guf9}0Xnm4hq2-3WS==J(H>0LHTjV&&YZ!LR$ z(bT{2?c5lbd!yIId=^blv#XRz*be~-tRA>-!ImuNE(nCt&YzH0aJe@1`x+-i5A z=Co6L(c_1*`|%VP2gmI-7lky*Ps$*~MiCp`51X5t!j_uulShT&!wZEQOP9&y6SMYx z4+E~30iQUuh*pT)b#c<4h4BIRDZmpj3yd;MuOBdWHV;-ufy&D&u3cAD^mGCHWw+8A z*AGl%hd!lZ79^ZXH%?B_{{<$vI%V8d2p8G|yOw4(-Mb||Heg<-*VM=yDx>Q&G;o$S zTPVh0VH;U$a!v>SIX(;w;dQIW(P{#CDsN3joV=$u-*6~ z+{(>T#m&5ni|HohQOrb*v-V%_e*F~u^9=(Y0rVqLQlHMn*s|EeN}*V#iHzN9ff&MX z77)%7I(B07&J_z+yIdUG?q&2q#y=m!xW zBB2wv!^Ph_gMlfJ|1 + borderlayer="true" + inkscape:deskcolor="#d1d1d1"> OQuPy + id="tspan543">OQuPy Multiple Environments [7]: + x="266.6835" + y="36.331238">Multiple Environments: Chain of Open Quantum Systems [8]: + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:Roboto;-inkscape-font-specification:Roboto;text-align:center;text-anchor:middle">Chain of Open Quantum Systems: Mean-Field Dynamics [9]: + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:Roboto;-inkscape-font-specification:Roboto;text-align:center;text-anchor:middle">Mean-Field Dynamics: Sys. and Env. Dynamics [1-6]: + id="tspan27456">Sys. and Env. Dynamics: diff --git a/docs/index.rst b/docs/index.rst index 8d1cfa38..4bd1eb0e 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,62 +1,62 @@ OQuPy - Open Quantum Systems in Python ====================================== -**A Python 3 package to efficiently compute non-Markovian open quantum -systems.** +**A Python package to efficiently simulate non-Markovian open quantum systems +with process tensors.** .. image:: https://img.shields.io/badge/Supported%20By-UNITARY%20FUND-brightgreen.svg?style=for-the-badge :target: http://unitary.fund This open source project aims to facilitate versatile numerical tools to -efficiently compute the dynamics of quantum systems that are possibly strongly -coupled to structured environments. It allows to conveniently apply several -numerical methods related to the time evolving matrix product operator -(TEMPO) [1-2] and the process tensor (PT) approach to open quantum -systems [3-5]. This includes methods to compute ... - -- the dynamics of a quantum system strongly coupled to a bosonic environment [1-2]. -- the process tensor of a quantum system strongly coupled to a bosonic environment [3-4]. -- optimal control procedures for non-Markovian open quantum systems [5]. -- the dynamics of a strongly coupled bosonic environment [6]. -- the dynamics of a quantum system coupled to multiple non-Markovian environments [7]. -- the dynamics of a chain of non-Markovian open quantum systems [8]. -- the dynamics of an open many-body system with one-to-all light-matter - coupling [9]. -- higher order multi-time correlations (e.g. for 2D electronic spectroscopy). - -Up to versions 0.1.x this package was called *TimeEvolvingMPO*. - -.. figure:: graphics/overview.png - :align: center - :alt: OQuPy - overview - -- **[1]** Strathearn et al., - `New J. Phys. 19(9), p.093009 `_ - (2017). -- **[2]** Strathearn et al., - `Nat. Commun. 9, 3322 `_ - (2018). -- **[3]** Pollock et al., - `Phys. Rev. A 97, 012127 `_ - (2018). -- **[4]** Jørgensen and Pollock, - `Phys. Rev. Lett. 123, 240602 `_ - (2019). -- **[5]** Fux et al., - `Phys. Rev. Lett. 126, 200401 `_ - (2021). -- **[6]** Gribben et al., - `arXiv:2106.04212 `_ - (2021). -- **[7]** Gribben et al., - `PRX Quantum 3, 10321 `_ - (2022). -- **[8]** Fux et al., - `arXiv:2201.05529 `_ (2022). -- **[9]** Fowler-Wright at al., - `Phys. Rev. Lett. 129, 173001 `_ - (2022). +efficiently compute the dynamics of quantum systems that are possibly +strongly coupled to structured environments. It facilitates the +convenient application of several numerical methods that combine the +conceptional advantages of the process tensor framework [1], with the +numerical efficiency of tensor networks. + +OQuPy includes numerically exact methods (i.e. employing only +numerically well controlled approximations) for the non-Markovian +dynamics and multi-time correlations of ... + +- quantum systems coupled to a single environment [2-4], +- quantum systems coupled to multiple environments [5], +- interacting chains of non-Markovian open quantum systems [6], and +- ensembles of open many-body systems with many-to-one coupling [7]. + +Furthermore, OQuPy implements methods to ... + +- optimize control protocols for non-Markovian open quantum systems [8,9], +- compute the dynamics of an non-Markovian environment [10], and +- obtain the thermal state of a strongly couled quantum system [11]. + +.. figure:: ./graphics/overview.png + :alt: OQuPy - overview + +- **[1]** Pollock et al., `Phys. Rev. A 97, + 012127 `__ (2018). +- **[2]** Strathearn et al., `New J. Phys. 19(9), + p.093009 `__ (2017). +- **[3]** Strathearn et al., `Nat. Commun. 9, + 3322 `__ (2018). +- **[4]** Jørgensen and Pollock, `Phys. Rev. Lett. 123, + 240602 `__ (2019). +- **[5]** Gribben et al., `PRX Quantum 3, + 10321 `__ (2022). +- **[6]** Fux et al., `Phys. Rev. Research 5, + 033078 `__ + (2023). +- **[7]** Fowler-Wright et al., `Phys. Rev. Lett. 129, + 173001 `__ (2022). +- **[8]** Fux et al., `Phys. Rev. Lett. 126, + 200401 `__ (2021). +- **[9]** Butler et al., `Phys. Rev. Lett. 132, + 060401 `__ (2024). +- **[10]** Gribben et al., `Quantum, 6, + 847 `__ (2022). +- **[11]** Chiu et al., `Phys. Rev. A 106, + 012204 `__ (2022). + .. |binder-tutorial| image:: https://mybinder.org/badge_logo.svg :target: https://mybinder.org/v2/gh/tempoCollaboration/OQuPy/main?filepath=tutorials%2Fquickstart.ipynb @@ -85,12 +85,13 @@ Up to versions 0.1.x this package was called *TimeEvolvingMPO*. pages/tutorials/quickstart pages/tutorials/pt_tempo + pages/tutorials/parameters + pages/tutorials/n_time_correlations + pages/tutorials/pt_gradient/pt_gradient pages/tutorials/bath_dynamics pages/tutorials/pt_tebd pages/tutorials/mf_tempo - pages/tutorials/n_time_correlations - pages/tutorials/parameters - + .. toctree:: :maxdepth: 1 :caption: API Reference diff --git a/docs/pages/api.rst b/docs/pages/api.rst index 96085733..947b1068 100644 --- a/docs/pages/api.rst +++ b/docs/pages/api.rst @@ -38,7 +38,7 @@ class :class:`oqupy.system.TimeDependentSystemWithField` Markovian decay) that depends on both time and the expectation value of a field (a complex scalar) to which the system couples. -class :class:`oqupy.system.ParametrizedSystem` +class :class:`oqupy.system.ParameterizedSystem` Encodes a system Hamiltonian that depends on a set of parameters. class :class:`oqupy.system.MeanFieldSystem` @@ -62,21 +62,21 @@ class :class:`oqupy.control.ChainControl` Environment *********** -class :class:`oqupy.correlations.BaseCorrelations` +class :class:`oqupy.bath_correlations.BaseCorrelations` Abstract class representing the environments auto-correlations. - class :class:`oqupy.correlations.CustomCorrelations` + class :class:`oqupy.bath_correlations.CustomCorrelations` Encode an explicitly given environment auto-correlation function. - class :class:`oqupy.correlations.CustomSD` + class :class:`oqupy.bath_correlations.CustomSD` Encodes the auto-correlations for a given spectral density. - class :class:`oqupy.correlations.PowerLawSD` + class :class:`oqupy.bath_correlations.PowerLawSD` Encodes the auto-correlations for a given spectral density of a power law form. class :class:`oqupy.bath.Bath` - Bundles a :class:`oqupy.correlations.BaseCorrelations` object + Bundles a :class:`oqupy.bath_correlations.BaseCorrelations` object together with a coupling operator. @@ -114,7 +114,7 @@ PT-TEMPO ******** (Process Tensor - Time Evolving Matrix Product Operator) -class :class:`oqupy.pt_tempo.PtTempo`function oqupy.gradient.state_gradient() +class :class:`oqupy.pt_tempo.PtTempo` Class to facilitate a PT-TEMPO computation. method :meth:`oqupy.pt_tempo.PtTempo.compute` @@ -125,25 +125,25 @@ class :class:`oqupy.pt_tempo.PtTempo`function oqupy.gradient.state_gradient() Process Tensor Applications *************************** -function :func:`oqupy.contractions.compute_dynamics` +function :func:`oqupy.system_dynamics.compute_dynamics` Compute a :class:`oqupy.dynamics.Dynamics` object for given :class:`oqupy.system.System` or :class:`oqupy.system.TimeDependentSystem` and :class:`oqupy.control.Control` and :class:`oqupy.process_tensor.BaseProcessTensor` objects. -function :func:`oqupy.contractions.compute_dynamics_with_field` +function :func:`oqupy.system_dynamics.compute_dynamics_with_field` Compute a :class:`oqupy.dynamics.MeanFieldDynamics` object for given :class:`oqupy.system.MeanFieldSystem` and list of :class:`oqupy.control.Control` objects and list of :class:`oqupy.process_tensor.BaseProcessTensor` objects. - -function :func:`oqupy.contractions.compute_correlations_nt` + +function :func:`oqupy.system_dynamics.compute_correlations_nt` Compute ordered multi-time correlations for given :class:`oqupy.system.BaseSystem` and :class:`oqupy.process_tensor.BaseProcessTensor` objects. -function :func:`oqupy.contractions.compute_correlations` +function :func:`oqupy.system_dynamics.compute_correlations` Compute two time correlations for given :class:`oqupy.system.BaseSystem` and :class:`oqupy.process_tensor.BaseProcessTensor` objects. @@ -161,7 +161,7 @@ class :class:`oqupy.bath_dynamics.TwoTimeBathCorrelations` function :func:`oqupy.gradient.state_gradient` Compute the dynamics and gradient with respect to some objective function for - a given :class:`oqupy.system.ParametrizedSystem`. + a given :class:`oqupy.system.ParameterizedSystem`. PT-TEBD ******* diff --git a/docs/pages/authors.rst b/docs/pages/authors.rst index 9721b276..b969df92 100644 --- a/docs/pages/authors.rst +++ b/docs/pages/authors.rst @@ -1,56 +1,60 @@ Authors & Acknowledgements ========================== -Lead developer since 2020 (start of the project): `Gerald E. Fux `_ - +- Lead developer since 2020: `Gerald E. + Fux `__ (gerald.e.fux@gmail.com) +- Co-lead developer since 2022: `Piper + Fowler-Wright `__ (pfw1@st-andrews.ac.uk) Major code contributions ------------------------ -**Version 0.4.0** - - `Joel Beckles `_ and `Piper Fowler-Wright `_: Extension of mean-field evolution to multiple types of system - -**Version 0.3.0** - - `Piper Fowler-Wright `_: Open quantum systems with mean-field evolution [FowlerWright2022] - -**Version 0.2.0** - - `Gerald E. Fux `_: Chains of open quantum systems [Fux2022]. - - Dainius Kilda: Precursor code for chains of open quantum systems [Fux2022]. - - `Dominic Gribben `_: Bath dynamics extension [Gribben2021]. - - `Dominic Gribben `_: Multiple environments extension [Gribben2022]. - -**Version 0.1.2 (TimeEvolvingMPO)** - - `Gerald E. Fux `_: Improved memory cut-off [Strathearn2017]. - -**Version 0.1.1 (TimeEvolvingMPO)** - - No major code contributions in this version. - -**Version 0.1.0 (TimeEvolvingMPO)** - - `Gerald E. Fux `_: Implement process tensor TEMPO (API and backend) [Fux2021]. - - `Gerald E. Fux `_: Implement core TEMPO functionality (API and backend) [Strathearn2018]. - - `Gerald E. Fux `_: Setup Project (CI, API design, project planning, etc.). - +**Version 0.5.0** - `Aidan +Strathearn `__: Gibbs state TEMPO +[Chiu2022]. - `Eoin P. Butler `__, `Eoin +O’Neill `__, and `Paul R. +Eastham `__: Process tensor gradients +and optimization [Fux2021, Butler2024] - `Ewen D.C. +Lawrence `__ and `Peter +Kirton `__: Degeneracy trick in TEMPO +and PT-TEMPO. - `Roosmarijn de Wit `__: +Multi-time system correlations. - `Piper +Fowler-Wright `__: TEMPO parameter tutorial +and automatic estimation. + +**Version 0.4.0** - `Joel Beckles `__ and +`Piper Fowler-Wright `__: Extension of +mean-field evolution to multiple types of system. + +**Version 0.3.0** - `Piper +Fowler-Wright `__: Open quantum systems with +mean-field evolution [FowlerWright2022]. + +**Version 0.2.0** - `Gerald E. Fux `__: Chains +of open quantum systems [Fux2023]. - Dainius Kilda: Precursor code for +chains of open quantum systems [Fux2023]. - `Dominic +Gribben `__: Bath dynamics extension +[Gribben2022b]. - `Dominic Gribben `__: +Multiple environments extension [Gribben2022a]. + +**Version 0.1.2 (TimeEvolvingMPO)** - `Gerald E. +Fux `__: Improved memory cut-off +[Strathearn2017]. + +**Version 0.1.0 (TimeEvolvingMPO)** - `Gerald E. +Fux `__: Implement process tensor TEMPO (API +and backend) [Fux2021]. - `Gerald E. Fux `__: +Implement core TEMPO functionality (API and backend) [Strathearn2018]. - +`Gerald E. Fux `__: Setup Project (CI, API +design, project planning, etc.). Acknowledgements ---------------- -**Members of the TEMPO collaboration:** - - Kristín Arnardóttir (*University of St Andrews*) - - `Piper Fowler-Wright `_ (*University of St Andrews*) - - `Gerald E. Fux `_ (*University of St Andrews*) - - `Erik Gauger `_ (*Heriot-Watt University*) - - `Dominic Gribben `_ (*University of St Andrews*) - - Jonathan Keeling (*University of St Andrews*) - - Dainius Kilda (*Max Planck Institute of Quantum Optics*) - - `Peter Kirton `_ (*University of Strathclyde*) - - `Thibaut Lacroix `_ (*University of St Andrews*) - - Brendon W. Lovett (*University of St Andrews*) - -**Project administrators:** - - `Gerald E. Fux `_ (*University of St Andrews*) - - Jonathan Keeling (*University of St Andrews*) - - Brendon W. Lovett (*University of St Andrews*) - -**Project maintainers:** - - `Piper Fowler-Wright `_: (*University of St Andrews*) - - `Gerald E. Fux `_ (*University of St Andrews*) +**Scientific advisors:** - Jonathan Keeling (*University of St Andrews*) +- Brendon W. Lovett (*University of St Andrews*) + +**Other Collaborators:** - Kristín Arnardóttir (*University of Southern +Denmark*) - `Erik Gauger `__ +(*Heriot-Watt University*) - `Thibaut +Lacroix `__ (*University of St Andrews*) diff --git a/docs/pages/bibliography.rst b/docs/pages/bibliography.rst index f7098c72..866cf93e 100644 --- a/docs/pages/bibliography.rst +++ b/docs/pages/bibliography.rst @@ -1,211 +1,243 @@ Bibliography ============ -The code in this project is based on ideas from the following publications: - -- **[Strathearn2017]** Strathearn et al., - *Efficient real-time path integrals for non-Markovian spin-boson models*. - `New J. Phys. 19(9), p.093009 `_ - (2017). -- **[Strathearn2018]** Strathearn et al., - *Efficient non-Markovian quantum dynamics using time-evolving matrix product - operators*, - `Nat. Commun. 9, 3322 `_ - (2018). -- **[Pollock2018]** Pollock et al., - *Non-Markovian quantum processes: Complete framework and efficient - characterization*, - `Phys. Rev. A 97, 012127 `_ - (2018). -- **[Jorgensen2019]** Jørgensen and Pollock, - *Exploiting the causal tensor network structure of quantum processes to - efficiently simulate non-Markovian path integrals*, - `Phys. Rev. Lett. 123, 240602 `_ - (2019). -- **[Strathearn2019]** Strathearn, - *Modelling Non-Markovian Quantum Systems Using Tensor Networks*, - `Springer Theses `_ - (2020). -- **[Fux2021]** Fux et al., - *Efficient exploration of Hamiltonian parameter space for optimal control - of non-Markovian open quantum systems*, - `Phys. Rev. Lett. 126, 200401 `_ - (2021). -- **[Gribben2021]** Gribben et al., - *Using the Environment to Understand non-Markovian Open Quantum Systems*, - `arXiv:20106.0412 `_ - (2021). -- **[Gribben2022]** Gribben et al., - *Exact dynamics of non-additive environments in non-Markovian open quantum - systems*, - `PRX Quantum 3, 10321 `_ - (2022). -- **[FowlerWright2022]** - Fowler-Wright et al., - *Efficient Many-Body Non-Markovian Dynamics of Organic Polaritons*, - `Phys. Rev. Lett. 129, 173001 `_ - (2022). -- **[Fux2022]** Fux et al., - *Thermalization of a spin chain strongly coupled to its environment*, - `arXiv:2201.05529 `_ - (2022). +The code in this project is based on ideas from the following +publications: + +- **[Strathearn2017]** Strathearn et al., *Efficient real-time path + integrals for non-Markovian spin-boson models*. `New J. Phys. 19(9), + p.093009 `__ (2017). +- **[Strathearn2018]** Strathearn et al., *Efficient non-Markovian + quantum dynamics using time-evolving matrix product operators*, `Nat. + Commun. 9, 3322 `__ + (2018). +- **[Pollock2018]** Pollock et al., *Non-Markovian quantum processes: + Complete framework and efficient characterization*, `Phys. Rev. A 97, + 012127 `__ (2018). +- **[Jorgensen2019]** Jørgensen and Pollock, *Exploiting the causal + tensor network structure of quantum processes to efficiently simulate + non-Markovian path integrals*, `Phys. Rev. Lett. 123, + 240602 `__ (2019). +- **[Strathearn2019]** Strathearn, *Modelling Non-Markovian Quantum + Systems Using Tensor Networks*, `Springer + Theses `__ (2020). +- **[Fux2021]** Fux et al., *Efficient exploration of Hamiltonian + parameter space for optimal control of non-Markovian open quantum + systems*, `Phys. Rev. Lett. 126, + 200401 `__ (2021). +- **[Gribben2022a]** Gribben et al., *Exact dynamics of non-additive + environments in non-Markovian open quantum systems*, `PRX Quantum 3, + 10321 `__ (2022). +- **[Gribben2022b]** Gribben et al., *Using the Environment to + Understand non-Markovian Open Quantum Systems*, `Quantum, 6, + 847 `__ (2022). +- **[Chiu2022]** Chiu et al., *Numerical evaluation and robustness of + the quantum mean-force Gibbs state*, `Phys. Rev. A 106, + 012204 `__ (2022). +- **[FowlerWright2022]** Fowler-Wright et al., *Efficient Many-Body + Non-Markovian Dynamics of Organic Polaritons*, `Phys. Rev. Lett. 129, + 173001 `__ (2022). +- **[Fux2023]** Fux et al., *Tensor network simulation of chains of + non-Markovian open quantum systems*, `Phys. Rev. Research 5, + 033078 `__ + (2023). +- **[Butler2024]** Butler et al., *Optimizing Performance of Quantum + Operations with Non-Markovian Decoherence: The Tortoise or the + Hare?*, `Phys. Rev. Lett. 132, + 060401 `__ (2024). .. _bibtex: -BibTeX ------- +BibTeX: +------- .. code-block:: bibtex - @article{FowlerWright2022, - title = {Efficient Many-Body Non-Markovian Dynamics of Organic Polaritons}, - author = {Fowler-Wright, Piper and Lovett, Brendon W. and Keeling, Jonathan}, - journal = {Phys. Rev. Lett.}, - volume = {129}, - issue = {17}, - pages = {173001}, - numpages = {7}, - year = {2022}, - month = {October}, - publisher = {American Physical Society}, - doi = {10.1103/PhysRevLett.129.173001}, - url = {https://doi.org/10.1103/PhysRevLett.129.173001} - } - - @article{Fux2021, - title = {Efficient Exploration of Hamiltonian Parameter Space for Optimal Control of Non-Markovian Open Quantum Systems}, - author = {Fux, Gerald E. and Butler, Eoin P. and Eastham, Paul R. and Lovett, Brendon W. and Keeling, Jonathan}, - journal = {Phys. Rev. Lett.}, - volume = {126}, - issue = {20}, - pages = {200401}, - numpages = {6}, - year = {2021}, - month = {May}, - publisher = {American Physical Society}, - doi = {10.1103/PhysRevLett.126.200401}, - url = {https://link.aps.org/doi/10.1103/PhysRevLett.126.200401} - } - - @article{Fux2022, - title = {{Thermalization of a spin chain strongly coupled to its environment}}, - author = {Fux, Gerald E. and Kilda, Dainius and Lovett, Brendon W. and Keeling, Jonathan}, - archivePrefix = {arXiv}, - arxivId = {2201.05529}, - eprint = {2201.05529}, - url = {http://arxiv.org/abs/2201.05529}, - year = {2022} - } - - @article{Gribben2021, - title = {{Using the Environment to Understand non-Markovian Open Quantum Systems}}, - author = {Gribben, Dominic and Strathearn, Aidan and Fux, Gerald E. and Kirton, Peter and Lovett, Brendon W.}, - archivePrefix = {arXiv}, - arxivId = {2106.04212}, - eprint = {2106.04212}, - url = {http://arxiv.org/abs/2106.04212}, - year = {2021} - } - - @article{Gribben2022, - title = {Exact Dynamics of Nonadditive Environments in Non-Markovian Open Quantum Systems}, - author = {Gribben, Dominic and Rouse, Dominic M. and Iles-Smith, Jake and Strathearn, Aidan and Maguire, Henry and Kirton, Peter and Nazir, Ahsan and Gauger, Erik M. and Lovett, Brendon W.}, - journal = {PRX Quantum}, - volume = {3}, - issue = {1}, - pages = {010321}, - numpages = {18}, - year = {2022}, - month = {Feb}, - publisher = {American Physical Society}, - doi = {10.1103/PRXQuantum.3.010321}, - url = {https://link.aps.org/doi/10.1103/PRXQuantum.3.010321} - } - - @article{Jorgensen2019, - title = {Exploiting the Causal Tensor Network Structure of Quantum - Processes to Efficiently Simulate Non-Markovian Path Integrals}, - author = {J\o{}rgensen, Mathias R. and Pollock, Felix A.}, - journal = {Phys. Rev. Lett.}, - volume = {123}, - issue = {24}, - pages = {240602}, - numpages = {7}, - year = {2019}, - month = {Dec}, - publisher = {American Physical Society}, - doi = {10.1103/PhysRevLett.123.240602}, - url = {https://link.aps.org/doi/10.1103/PhysRevLett.123.240602} - } - - @misc{OQuPy, - author={{The TEMPO collaboration}}, - title={{OQuPy: A Python 3 package to efficiently compute - non-Markovian open quantum systems.}}, - year=2020, - publisher={GitHub}, - doi={10.5281/zenodo.4428316} - url={https://github.com/tempoCollaboration/TimeEvolvingMPO} - } - - @article{Pollock2018, - author = {Pollock, Felix A. and Rodr{\'{i}}guez-Rosario, C{\'{e}}sar and - Frauenheim, Thomas and Paternostro, Mauro and Modi, Kavan}, - doi = {10.1103/PhysRevA.97.012127}, - issn = {24699934}, - journal = {Phys. Rev. A}, - month = {jan}, - number = {1}, - pages = {012127}, - title = {{Non-Markovian quantum processes: Complete framework and - efficient characterization}}, - url = {https://link.aps.org/doi/10.1103/PhysRevA.97.012127 - http://arxiv.org/abs/1512.00589 - http://dx.doi.org/10.1103/PhysRevA.97.012127}, - volume = {97}, - year = {2018} - } - - @article{Strathearn_2017, - doi = {10.1088/1367-2630/aa8744}, - url = {https://doi.org/10.1088/1367-2630/aa8744}, - year = 2017, - month = {sep}, - publisher = {{IOP} Publishing}, - volume = {19}, - number = {9}, - pages = {093009}, - author = {A Strathearn and B W Lovett and P Kirton}, - title = {Efficient real-time path integrals for non-Markovian spin-boson models}, - journal = {New Journal of Physics}, - } - - @article{Strathearn2018, - author = {Strathearn, A. and Kirton, P. and Kilda, D. and Keeling, J. and - Lovett, B. W.}, - doi = {10.1038/s41467-018-05617-3}, - issn = {20411723}, - journal = {Nat. Commun.}, - month = {dec}, - number = {1}, - pages = {3322}, - pmid = {30127490}, - title = {{Efficient non-Markovian quantum dynamics using time-evolving - matrix product operators}}, - url = {https://doi.org/10.1038/s41467-018-05617-3}, - volume = {9}, - year = {2018} - } - - @book{Strathearn2019, - address = {Cham}, - author = {Strathearn, Aidan}, - doi = {10.1007/978-3-030-54975-6}, - isbn = {978-3-030-54974-9}, - publisher = {Springer International Publishing}, - series = {Springer Theses}, - title = {{Modelling Non-Markovian Quantum Systems Using Tensor Networks}}, - url = {http://link.springer.com/10.1007/978-3-030-54975-6}, - year = {2020} - } - + @article{Butler2024, + title = {Optimizing Performance of Quantum Operations with Non-Markovian Decoherence: The Tortoise or the Hare?}, + author = {Butler, Eoin P. and Fux, Gerald E. and Ortega-Taberner, Carlos and Lovett, Brendon W. and Keeling, Jonathan and Eastham, Paul R.}, + journal = {Phys. Rev. Lett.}, + volume = {132}, + issue = {6}, + pages = {060401}, + numpages = {7}, + year = {2024}, + month = {Feb}, + publisher = {American Physical Society}, + doi = {10.1103/PhysRevLett.132.060401}, + url = {https://doi.org/10.1103/PhysRevLett.132.060401} + } + + @article{Chiu2022, + title = {Numerical evaluation and robustness of the quantum mean-force Gibbs state}, + author = {Chiu, Yiu-Fung and Strathearn, Aidan and Keeling, Jonathan}, + journal = {Phys. Rev. A}, + volume = {106}, + issue = {1}, + pages = {012204}, + numpages = {8}, + year = {2022}, + month = {Jul}, + publisher = {American Physical Society}, + doi = {10.1103/PhysRevA.106.012204}, + url = {https://doi.org/10.1103/PhysRevA.106.012204} + } + + @article{FowlerWright2022, + title = {Efficient Many-Body Non-Markovian Dynamics of Organic Polaritons}, + author = {Fowler-Wright, Piper and Lovett, Brendon W. and Keeling, Jonathan}, + journal = {Phys. Rev. Lett.}, + volume = {129}, + issue = {17}, + pages = {173001}, + numpages = {7}, + year = {2022}, + month = {October}, + publisher = {American Physical Society}, + doi = {10.1103/PhysRevLett.129.173001}, + url = {https://doi.org/10.1103/PhysRevLett.129.173001} + } + + @article{Fux2021, + title = {Efficient Exploration of Hamiltonian Parameter Space for Optimal Control of Non-Markovian Open Quantum Systems}, + author = {Fux, Gerald E. and Butler, Eoin P. and Eastham, Paul R. and Lovett, Brendon W. and Keeling, Jonathan}, + journal = {Phys. Rev. Lett.}, + volume = {126}, + issue = {20}, + pages = {200401}, + numpages = {6}, + year = {2021}, + month = {May}, + publisher = {American Physical Society}, + doi = {10.1103/PhysRevLett.126.200401}, + url = {https://doi.org/10.1103/PhysRevLett.126.200401} + } + + @article{Fux2023, + title = {Tensor network simulation of chains of non-Markovian open quantum systems}, + author = {Fux, Gerald E. and Kilda, Dainius and Lovett, Brendon W. and Keeling, Jonathan}, + journal = {Phys. Rev. Res.}, + volume = {5}, + issue = {3}, + pages = {033078}, + numpages = {14}, + year = {2023}, + month = {Aug}, + publisher = {American Physical Society}, + doi = {10.1103/PhysRevResearch.5.033078}, + url = {https://doi.org/10.1103/PhysRevResearch.5.033078} + } + + @article{Gribben2022a, + title = {Exact Dynamics of Nonadditive Environments in Non-Markovian Open Quantum Systems}, + author = {Gribben, Dominic and Rouse, Dominic M. and Iles-Smith, Jake and Strathearn, Aidan and Maguire, Henry and Kirton, Peter and Nazir, Ahsan and Gauger, Erik M. and Lovett, Brendon W.}, + journal = {PRX Quantum}, + volume = {3}, + issue = {1}, + pages = {010321}, + numpages = {18}, + year = {2022}, + month = {Feb}, + publisher = {American Physical Society}, + doi = {10.1103/PRXQuantum.3.010321}, + url = {https://doi.org/10.1103/PRXQuantum.3.010321} + } + + @article{Gribben2022b, + doi = {10.22331/q-2022-10-25-847}, + url = {https://doi.org/10.22331/q-2022-10-25-847}, + title = {Using the {E}nvironment to {U}nderstand non-{M}arkovian {O}pen {Q}uantum {S}ystems}, + author = {Gribben, Dominic and Strathearn, Aidan and Fux, Gerald E. and Kirton, Peter and Lovett, Brendon W.}, + journal = {{Quantum}}, + issn = {2521-327X}, + publisher = {{Verein zur F{\"{o}}rderung des Open Access Publizierens in den Quantenwissenschaften}}, + volume = {6}, + pages = {847}, + month = oct, + year = {2022} + } + + @article{Jorgensen2019, + title = {Exploiting the Causal Tensor Network Structure of Quantum + Processes to Efficiently Simulate Non-Markovian Path Integrals}, + author = {J\o{}rgensen, Mathias R. and Pollock, Felix A.}, + journal = {Phys. Rev. Lett.}, + volume = {123}, + issue = {24}, + pages = {240602}, + numpages = {7}, + year = {2019}, + month = {Dec}, + publisher = {American Physical Society}, + doi = {10.1103/PhysRevLett.123.240602}, + url = {https://doi.org/10.1103/PhysRevLett.123.240602} + } + + @misc{OQuPy, + author={{The TEMPO collaboration}}, + title={{OQuPy: A Python 3 package to efficiently compute + non-Markovian open quantum systems.}}, + year=2020, + publisher={GitHub}, + doi={10.5281/zenodo.4428316} + url={https://github.com/tempoCollaboration/TimeEvolvingMPO} + } + + @article{Pollock2018, + author = {Pollock, Felix A. and Rodr{\'{i}}guez-Rosario, C{\'{e}}sar and + Frauenheim, Thomas and Paternostro, Mauro and Modi, Kavan}, + doi = {10.1103/PhysRevA.97.012127}, + issn = {24699934}, + journal = {Phys. Rev. A}, + month = {jan}, + number = {1}, + pages = {012127}, + title = {{Non-Markovian quantum processes: Complete framework and + efficient characterization}}, + url = {https://doi.org/10.1103/PhysRevA.97.012127}, + volume = {97}, + year = {2018} + } + + @article{Strathearn_2017, + doi = {10.1088/1367-2630/aa8744}, + url = {https://doi.org/10.1088/1367-2630/aa8744}, + year = 2017, + month = {sep}, + publisher = {{IOP} Publishing}, + volume = {19}, + number = {9}, + pages = {093009}, + author = {A Strathearn and B W Lovett and P Kirton}, + title = {Efficient real-time path integrals for non-Markovian spin-boson models}, + journal = {New Journal of Physics}, + } + + @article{Strathearn2018, + author = {Strathearn, A. and Kirton, P. and Kilda, D. and Keeling, J. and + Lovett, B. W.}, + doi = {10.1038/s41467-018-05617-3}, + issn = {20411723}, + journal = {Nat. Commun.}, + month = {dec}, + number = {1}, + pages = {3322}, + pmid = {30127490}, + title = {{Efficient non-Markovian quantum dynamics using time-evolving + matrix product operators}}, + url = {https://doi.org/10.1038/s41467-018-05617-3}, + volume = {9}, + year = {2018} + } + + @book{Strathearn2019, + address = {Cham}, + author = {Strathearn, Aidan}, + doi = {10.1007/978-3-030-54975-6}, + isbn = {978-3-030-54974-9}, + publisher = {Springer International Publishing}, + series = {Springer Theses}, + title = {{Modelling Non-Markovian Quantum Systems Using Tensor Networks}}, + url = {https://doi.org/10.1007/978-3-030-54975-6}, + year = {2020} + } diff --git a/docs/pages/how_to_cite.rst b/docs/pages/how_to_cite.rst index 7d467c2f..c2470704 100644 --- a/docs/pages/how_to_cite.rst +++ b/docs/pages/how_to_cite.rst @@ -1,23 +1,24 @@ -Citing this Project -=================== +How to Cite this Project +======================== Citing the Code --------------- -- **[OQuPy]** The TEMPO collaboration, *OQuPy: A Python 3 - package to efficiently compute non-Markovianopen quantum systems*, - `GitHub `_ (2020). - +- **[OQuPy]** The TEMPO collaboration, *OQuPy: A Python 3 package to + efficiently compute non-Markovian open quantum systems*, + `GitHub `__ (2020). Please consider citing ---------------------- -- TEMPO algorithm: **[Strathearn2018]**, **[Strathearn2019]** -- Process tensor approach: **[Pollock2018]**, **[Jorgensen2019]**, **[Fux2021]** -- Bath dynamics: **[Gribben2021]** -- Multiple environments: **[Gribben2022]** -- Chains (PT-TEBD): **[Fux2022]** -- Mean-Field TEMPO: **[FowlerWright2022]** +- TEMPO algorithm: **[Strathearn2018]**, **[Strathearn2019]** +- Process tensor approach: **[Pollock2018]**, **[Jorgensen2019]** +- Optimization: **[Fux2021]**, **[Bulter2024]** +- Multiple environments: **[Gribben2022a]** +- Bath dynamics: **[Gribben2022b]** +- Chains (PT-TEBD): **[Fux2023]** +- Mean-Field TEMPO: **[FowlerWright2022]** +- Gibbs TEMPO: **[Chiu2022]** BibTeX ------ diff --git a/docs/pages/install.rst b/docs/pages/install.rst index 8677f667..413d551f 100644 --- a/docs/pages/install.rst +++ b/docs/pages/install.rst @@ -7,20 +7,20 @@ Installation How To Install -------------- -* Make sure you have `python3.6` or higher installed +* Make sure you have `python3.10` or higher installed .. code-block:: none $ python3 --version - Python 3.6.9 + Python 3.10.14 -* Make sure you have `pip3` version 20.0 or higher installed +* Make sure you have `pip3` version 23.0 or higher installed .. code-block:: none $ python3 -m pip --version - pip 20.0.2 from /home/gefux/.local/lib/python3.6/site-packages/pip (python 3.6) + pip 23.3.1 from /home/gefux/anaconda3/envs/oqupy-ci/lib/python3.10/site-packages/pip (python 3.10) * Install OQuPy via pip diff --git a/docs/pages/modules.rst b/docs/pages/modules.rst index 4abc0e86..131bc6a4 100644 --- a/docs/pages/modules.rst +++ b/docs/pages/modules.rst @@ -9,10 +9,10 @@ oqupy.base_api :members: -oqupy.bath ----------- +oqupy.bath_correlations +----------------------- -.. automodule:: oqupy.bath +.. automodule:: oqupy.bath_correlations :show-inheritance: :members: @@ -25,10 +25,10 @@ oqupy.bath_dynamics :members: -oqupy.contractions ------------------- +oqupy.bath +---------- -.. automodule:: oqupy.contractions +.. automodule:: oqupy.bath :show-inheritance: :members: @@ -41,14 +41,6 @@ oqupy.control :members: -oqupy.correlations ------------------- - -.. automodule:: oqupy.correlations - :show-inheritance: - :members: - - oqupy.dynamics -------------- @@ -57,18 +49,11 @@ oqupy.dynamics :members: -oqupy.exceptions ----------------- - -.. automodule:: oqupy.exceptions - :show-inheritance: - :members: - - oqupy.gradient -------------- .. automodule:: oqupy.gradient + :show-inheritance: :members: @@ -98,42 +83,38 @@ oqupy.process_tensor -------------------- .. automodule:: oqupy.process_tensor + :show-inheritance: + :members: - .. autoclass:: oqupy.process_tensor.BaseProcessTensor - :show-inheritance: - :members: - - .. autoclass:: oqupy.process_tensor.FileProcessTensor - :show-inheritance: - - .. autoclass:: oqupy.process_tensor.SimpleProcessTensor - :show-inheritance: - .. autoclass:: oqupy.process_tensor.TrivialProcessTensor - :show-inheritance: +oqupy.pt_tebd +------------- - .. autofunction:: oqupy.process_tensor.import_process_tensor +.. automodule:: oqupy.pt_tebd + :show-inheritance: + :members: -oqupy.pt_tebd --------------------- +oqupy.pt_tmpo +------------- -.. automodule:: oqupy.pt_tebd +.. automodule:: oqupy.pt_tempo + :show-inheritance: :members: -oqupy.system ------------- +oqupy.system_dynamics +--------------------- -.. automodule:: oqupy.system +.. automodule:: oqupy.system_dynamics :show-inheritance: :members: -oqupy.pt_tempo --------------- +oqupy.system +------------ -.. automodule:: oqupy.pt_tempo +.. automodule:: oqupy.system :show-inheritance: :members: diff --git a/docs/pages/tutorials/bath_dynamics.rst b/docs/pages/tutorials/bath_dynamics.rst index 53924bdf..69893ab2 100644 --- a/docs/pages/tutorials/bath_dynamics.rst +++ b/docs/pages/tutorials/bath_dynamics.rst @@ -33,7 +33,7 @@ and define the necessary spin matrices for convenience Example - Heat transfer in a biased spin-boson model ---------------------------------------------------- -Let’s try and recreate a line cut of Figure 2 from [Gribben2021] +Let’s try and recreate a line cut of Figure 2 from [Gribben2022b] (`arXiv:2106.04212 `__). This tells us how much heat has been emitted into or absorbed from the bath by the system and how this transfer is distributed over the bath modes. @@ -167,7 +167,7 @@ behaves as well. 3. Bath dynamics ~~~~~~~~~~~~~~~~ -In [Gribben2021] +In [Gribben2022b] (`arXiv:2106.04212 `__) we can see that for linearly coupled Gaussian environments the bath dynamics can be calculated through relatively simple transformations of system diff --git a/docs/pages/tutorials/parameters.rst b/docs/pages/tutorials/parameters.rst index 1cac23ce..61f244cc 100644 --- a/docs/pages/tutorials/parameters.rst +++ b/docs/pages/tutorials/parameters.rst @@ -1,5 +1,5 @@ -Computational parameters and convergence -======================================== +Computational parameters +======================== Discussion of the computational parameters in a TEMPO or PT-TEMPO computation and establishing convergence of results diff --git a/docs/pages/tutorials/parameters.rst~ b/docs/pages/tutorials/parameters.rst~ new file mode 100644 index 00000000..1cac23ce --- /dev/null +++ b/docs/pages/tutorials/parameters.rst~ @@ -0,0 +1,853 @@ +Computational parameters and convergence +======================================== + +Discussion of the computational parameters in a TEMPO or PT-TEMPO +computation and establishing convergence of results + +- `launch + binder `__ + (runs in browser), +- `download the jupyter + file `__, + or +- read through the text below and code along. + +-------- +Contents +-------- + +- `Introduction - numerical exactness and computational parameters`_ +- `Choosing tcut`_ + + * `Example - memory effects in a spin boson model`_ + * `Discussion - environment correlations`_ +- `Choosing dt and epsrel`_ + + * `Example - convergence for a spin boson model`_ + * `Resolving fast system dynamics`_ +- `Further considerations`_ + + * `Additional TempoParameters arguments`_ + * `Bath coupling degeneracies`_ + * `Mean-field systems`_ +- `PT-TEMPO`_ + + * `The dkmax anomaly`_ + +The following packages will be required + +.. code:: ipython3 + + import sys + sys.path.insert(0,'..') + + import oqupy + import numpy as np + import matplotlib.pyplot as plt + plt.rcParams.update({'font.size': 14.0, 'lines.linewidth':2.50, 'figure.figsize':(8,6)}) + +The OQuPy version should be ``>=0.5.0`` + +.. code:: ipython3 + + oqupy.__version__ + + + + +.. parsed-literal:: + + '0.4.0' + + +--------------------------------------------------------------- +Introduction - numerical exactness and computational parameters +--------------------------------------------------------------- + +The TEMPO and PT-TEMPO methods are numerically exact meaning no +approximations are required in their derivation. Instead error only +arises in their numerical implementation, and is controlled by a set of +computational parameters. The error can, in principle (at least up to +machine precision), be made as small as desired by tuning those +numerical parameters. In this tutorial we discuss how this is done to +derive accurate results with manageable computational costs. + +As introduced in the +`Quickstart `__ +tutorial a TEMPO or PT-TEMPO calculation has three main computational +parameters: + +1. A memory cut-off ``tcut``, which must be long enough to capture + non-Markovian effects of the environment +2. A timestep length ``dt``, which must be short enough to avoid Trotter + error and provide a sufficient resolution of the system dynamics +3. A precision ``epsrel``, which must be small enough such that the + numerical compression (singular value truncation) does not incur + physical error + +In order to verify the accuracy of a calculation, convergence should be +established under all three parameters, under increases of ``tcut`` and +decreases ``dt`` and ``epsrel``. The challenge is that these parameters +cannot necessarily be considered in isolation, and a balance must be +struck between accuracy and computational cost. The strategy we take is +to firstly determine a suitable ``tcut`` (set physically by properties +of the environment) with rough values of ``dt`` and ``epsrel``, then +determine convergence under ``dt->0,epsrel->0``. + +We illustrate convergence using the TEMPO method, but the ideas +discussed will also generally apply to a PT-TEMPO computation where one +first calculates a process tensor - fixing ``tcut``, ``dt``, ``epsrel`` +- before calculating the system dynamics (see `PT-TEMPO <#PT-TEMPO>`__). +Note some of the calculations in this tutorial may not be suitable to +run in a Binder instance. If you want to run them on your own device, +you can either copy the code as you go along or `download the .ipynb +file `__ +to run in a local jupyter notebook session. Example results for all +calculations are embedded in the notebook already, so this is not +strictly required. + +------------- +Choosing tcut +------------- + +Example - memory effects in a spin boson model +---------------------------------------------- + +We firstly define a spin-boson model similar to that in the Quickstart +tutorial, but with a finite temperature environment and a small +additional incoherent dissipation of the spin. + +.. code:: ipython3 + + sigma_x = oqupy.operators.sigma('x') + sigma_y = oqupy.operators.sigma('y') + sigma_z = oqupy.operators.sigma('z') + sigma_m = oqupy.operators.sigma('-') + + omega_cutoff = 2.5 + alpha = 0.8 + T = 0.2 + correlations = oqupy.PowerLawSD(alpha=alpha, + zeta=1, + cutoff=omega_cutoff, + cutoff_type='exponential', + temperature=T) + bath = oqupy.Bath(0.5 * sigma_z, correlations) + Omega = 2.0 + Gamma = 0.02 + system = oqupy.System(0.5 * Omega * sigma_x, + gammas=[Gamma], + lindblad_operators=[sigma_m], # incoherent dissipation + ) + + t_start = 0.0 + t_end = 5.0 + +To determine a suitable set of computational parameters for +``t_start<=t<=t_end``, a good place to start is with a call to the +``guess_tempo_parameters`` function: + +.. code:: ipython3 + + guessed_paramsA = oqupy.guess_tempo_parameters(bath=bath, + start_time=t_start, + end_time=t_end, + tolerance=0.01) + print(guessed_paramsA) + + +.. parsed-literal:: + + ../oqupy/tempo.py:865: UserWarning: Estimating TEMPO parameters. No guarantee subsequent dynamics calculations are converged. Please refer to the TEMPO documentation and check convergence by varying the parameters manually. + warnings.warn(GUESS_WARNING_MSG, UserWarning) + + +.. parsed-literal:: + + ---------------------------------------------- + TempoParameters object: Roughly estimated parameters + Estimated with 'guess_tempo_parameters()' based on bath correlations. + dt = 0.125 + tcut [dkmax] = 2.5 [20] + epsrel = 6.903e-05 + add_correlation_time = None + + + +As indicated in the description of this object, the parameters were +estimated by analysing the correlations of ``bath``, which are discussed +further below. + +From the suggested parameters, we focus on ``tcut`` first, assuming the +values of ``dt`` and ``epsrel`` are reasonable to work with. To do so we +compare results at the recommend ``tcut`` to those calculated at a +smaller (``1.25``) and larger (``5.0``) values of this parameter, +starting from the spin-up state: + +.. code:: ipython3 + + initial_state = oqupy.operators.spin_dm('z+') + + for tcut in [1.25,2.5,5.0]: + # Create TempoParameters object matching those guessed above, except possibly for tcut + params = oqupy.TempoParameters(dt=0.125, epsrel=6.9e-06, tcut=tcut) + dynamics = oqupy.tempo_compute(system=system, + bath=bath, + initial_state=initial_state, + start_time=t_start, + end_time=t_end, + parameters=params) + t, s_z = dynamics.expectations(sigma_z, real=True) + plt.plot(t, s_z, label=r'${}$'.format(tcut)) + plt.xlabel(r'$t$') + plt.ylabel(r'$\langle\sigma_z\rangle$') + plt.legend(title=r'$t_{cut}$') + + +.. parsed-literal:: + + --> TEMPO computation: + 100.0% 40 of 40 [########################################] 00:00:00 + Elapsed time: 0.8s + --> TEMPO computation: + 100.0% 40 of 40 [########################################] 00:00:01 + Elapsed time: 1.6s + --> TEMPO computation: + 100.0% 40 of 40 [########################################] 00:00:01 + Elapsed time: 1.9s + + + + +.. parsed-literal:: + + + + + + +.. image:: parameters_files/parameters_12_2.png + + +We see that ``tcut=2.5`` (orange) does very well, matching ``tcut=5.0`` +(green) until essentially the end of the simulation (the precision +``epsrel`` could well be causing the small discrepancy). We know +``tcut=5.0`` should capture the actual result, because +``tcut=5.0=t_end`` means no memory cutoff was made! In general it is not +always necessary to make a finite memory approximation. For example, +perhaps one is interested in short-time dynamics only. The memory cutoff +can be disable by setting ``tcut=None``; be aware computation to long +times (i.e. many hundreds of timesteps) may then be infeasible. + +The ``tcut=1.25`` result matches the other two exactly until ``t=1.25`` +(no memory approximation is made before this time), but deviates shorlty +after. On the other hand, the cost of using the larger ``tcut=2.5`` was +a longer computation: 1.6s vs 0.8s above. This was a trivial example, +but in many real calculations the runtimes will be far longer +e.g. minutes or hours. It may be that an intermediary value +``1.25<=tcut<=2.5`` provides a satisfactory approximation - depending on +the desired precision - with a more favourable cost: a TEMPO (or +PT-TEMPO) computation scales **linearly** with the number of steps +included in the memory cutoff. + +A word of warning +~~~~~~~~~~~~~~~~~ + +``guess_tempo_parameters`` provides a reasonable starting point for many +cases, but it is only a guess. You should always verify results using a +larger ``tcut``, whilst also not discounting smaller ``tcut`` to reduce +the computational requirements. Similar will apply to checking +convergence under ``dt`` and ``epsrel``. + +Also, note we only inspected the expectations +:math:`\langle \sigma_z \rangle`. To be most thorough all unique +components of the state matrix should be checked, or at least the +expectations of observables you are intending to study. So, if you were +interested in the coherences as well as the populations, you would want +to add calls to calculate :math:`\langle \sigma_x \rangle`, +:math:`\langle \sigma_y \rangle` above (you can check ``tcut=2.5`` is +still good for the above example). + +Discussion - environment correlations +------------------------------------- + +So what influences the required ``tcut``? The physically relevant +timescale is that for the decay of correlations in the environment. +These can be inspected using +``oqupy.helpers.plot_correlations_with_parameters``: + +.. code:: ipython3 + + fig, ax = plt.subplots() + params = oqupy.TempoParameters(dt=0.125, epsrel=1, tcut=2.5) # N.B. epsrel not used by helper, and tcut only to set plot t-limits + oqupy.helpers.plot_correlations_with_parameters(bath.correlations, params, ax=ax) + + + + +.. parsed-literal:: + + + + + + +.. image:: parameters_files/parameters_15_1.png + + +This shows the real and imaginary parts of the bath autocorrelation +function, with markers indicating samples of spacing ``dt``. We see that +correlations have not fully decayed by ``t=1.25``, but have - at least +by eye - by ``t=2.5``. It seems like ``tcut`` around this value would +indeed be a good choice. + +The autocorrelation function depends on the properties of the bath: the +form the spectral density, the cutoff, and the temperature. These are +accounted for by the ``guess_tempo_parameters`` function, which is +really analysing the error in performing integrals of this function. The +``tolerance`` parameter specifies the maximum absolute error permitted, +with an inbuilt default value of ``3.9e-3`` - passing ``tolerance=0.01`` +made for slightly ‘easier’ parameters. + +Note, however, what is observed in the *system dynamics* also depends +the bath coupling operator and strength (``alpha``), and that these are +*not* taken into account by the guessing function. More generally, the +nature of the intrinsic system dynamics (see below) and initial state +preparation also has to be considered. + +Finally, the guessing function uses specified ``start_time`` and +``end_time`` to come up with parameters providing a manageable +computation time over a timescale ``end_time-start_time``, so make sure +to set these to reflect those you actually intend to use in +calculations. + +---------------------- +Choosing dt and epsrel +---------------------- + +Example - convergence for a spin boson model +-------------------------------------------- + +Continuing with the previous example, we now investigate changing ``dt`` +at our chosen ``tcut=2.5``. + +.. code:: ipython3 + + plt.figure(figsize=(10,8)) + for dt in [0.0625, 0.125, 0.25]: + params = oqupy.TempoParameters(dt=dt, epsrel=6.9e-05, tcut=2.5) + dynamics = oqupy.tempo_compute(system=system, + bath=bath, + initial_state=initial_state, + start_time=t_start, + end_time=t_end, + parameters=params) + t, s_z = dynamics.expectations(sigma_z, real=True) + plt.plot(t, s_z, label=r'${}$'.format(dt)) + plt.xlabel(r'$t$') + plt.ylabel(r'$\langle\sigma_z\rangle$') + plt.legend(title=r'$dt$') + + +.. parsed-literal:: + + --> TEMPO computation: + 100.0% 80 of 80 [########################################] 00:00:03 + Elapsed time: 3.0s + --> TEMPO computation: + 100.0% 40 of 40 [########################################] 00:00:00 + Elapsed time: 0.9s + --> TEMPO computation: + 100.0% 20 of 20 [########################################] 00:00:00 + Elapsed time: 0.3s + + + + +.. parsed-literal:: + + + + + + +.. image:: parameters_files/parameters_18_2.png + + +That doesn’t look good! If we had just checked ``dt=0.25`` and +``dt=0.125`` we may have been happy with the convergence, but a halving +of the timestep gave very different results (you can check ``dt=0.0625`` +is even worse). + +The catch here is that we used the same precision ``epsrel=6.9e-05`` for +all runs, but ``dt=0.125`` requires a smaller ``epsrel``: halving the +timestep *doubles* the number of steps ``dkmax`` for which singular +value truncations are made in the bath’s memory ``tcut=dt*dkmax``. + +Let’s repeat the calculation with a smaller ``epsrel`` at ``dt=0.125``: + +.. code:: ipython3 + + for dt, epsrel in zip([0.0625,0.125, 0.25],[6.9e-06,6.9e-05,6.9e-05]): + params = oqupy.TempoParameters(dt=dt, epsrel=epsrel, tcut=2.5) + dynamics = oqupy.tempo_compute(system=system, + bath=bath, + initial_state=initial_state, + start_time=t_start, + end_time=t_end, + parameters=params) + t, s_z = dynamics.expectations(sigma_z, real=True) + plt.plot(t, s_z, label=r'${}$, ${:.2g}$'.format(dt,epsrel)) + plt.xlabel(r'$t$') + plt.ylabel(r'$\langle\sigma_z\rangle$') + plt.legend(title=r'$dt, \epsilon_{rel}$') + + +.. parsed-literal:: + + --> TEMPO computation: + 100.0% 80 of 80 [########################################] 00:00:04 + Elapsed time: 5.0s + --> TEMPO computation: + 100.0% 40 of 40 [########################################] 00:00:00 + Elapsed time: 0.9s + --> TEMPO computation: + 100.0% 20 of 20 [########################################] 00:00:00 + Elapsed time: 0.2s + + + + +.. parsed-literal:: + + + + + + +.. image:: parameters_files/parameters_20_2.png + + +That looks far better. The lesson here is that one cannot expect to be +able to decrease ``dt`` at fixed ``tcut`` without also decreasing +``epsrel``. A heuristic used by ``guess_tempo_parameters``, which you +may find useful, is + +.. math:: \epsilon_{\text{r}} = \text{tol} \cdot 10^{-p},\ p=\log_4 (\text{dkmax}), + +where tol is a target tolerance (e.g. ``tolerance=0.01`` above) and +``dkmax`` the number of steps such that ``tcut=dt*dkmax``. + +Note ``TempoParameters`` allows the memory cutoff to be specified as the +integer ``dkmax`` rather than float ``tcut``, meaning this estimation of +``epsrel`` doesn’t change with ``dt``. However, the author prefers +working at a constant ``tcut`` which is set physically by the decay of +correlations in the environment; then one only has to worry about the +simultaneous convergence of ``dt`` and ``epsrel``. + +Comparing the simulation times at ``dt=0.0625`` between the previous two +sets of results, we see the cost of a smaller ``epsrel`` is a longer +computation (5 vs. 3 seconds). The time complexity of the singular value +decompositions in the TEMPO tensor network scales with the **third +power** of the internal bond dimension, which is directly controlled by +the precision, so be aware that decreasing ``epsrel`` may lead to rapid +increase in computation times. + +The last results suggest that we may well already have convergence w.r.t +``epsrel`` at ``dt=0.125``. This should be checked: + +.. code:: ipython3 + + for epsrel in [6.9e-06,6.9e-05,6.9e-04]: + params = oqupy.TempoParameters(dt=dt, epsrel=epsrel, tcut=2.5) + dynamics = oqupy.tempo_compute(system=system, + bath=bath, + initial_state=initial_state, + start_time=t_start, + end_time=t_end, + parameters=params) + t, s_z = dynamics.expectations(sigma_z, real=True) + plt.plot(t, s_z, label=r'${:.2g}$'.format(epsrel)) + plt.xlabel(r'$t$') + plt.ylabel(r'$\langle\sigma_z\rangle$') + plt.legend(title=r'$\epsilon_{rel}$') + + +.. parsed-literal:: + + --> TEMPO computation: + 100.0% 20 of 20 [########################################] 00:00:00 + Elapsed time: 0.3s + --> TEMPO computation: + 100.0% 20 of 20 [########################################] 00:00:00 + Elapsed time: 0.2s + --> TEMPO computation: + 100.0% 20 of 20 [########################################] 00:00:00 + Elapsed time: 0.2s + + + + +.. parsed-literal:: + + + + + + +.. image:: parameters_files/parameters_22_2.png + + +In summary, we may well be happy with the parameters ``dt=0.125``, +``epsrel=6.9e-05``, ``tcut=2.5`` for this model (we could probably use a +larger ``epsrel``, but the computation is so inexpensive in this example +it is hardly necessary). + +So far we have discussed mainly how the environment - namely the memory +length - dictates the parameters. We now look at what influence the +system can have. + +Resolving fast system dynamics +------------------------------ + +In the above you may have noticed that the results at ``dt=0.125``, +while converged, were slightly undersampled. This becomes more +noticeable if the scale of the system energies is increased (here by a +factor of 4): + +.. code:: ipython3 + + Omega = 8.0 # From 2.0 + Gamma = 0.08 # From 0.02 + system = oqupy.System(0.5 * Omega * sigma_x, + gammas=[Gamma], + lindblad_operators=[sigma_m]) + params = oqupy.guess_tempo_parameters(bath=bath, + start_time=t_start, + end_time=t_end, + tolerance=0.01) + print(params) + dynamics = oqupy.tempo_compute(system=system, + bath=bath, + initial_state=initial_state, + start_time=t_start, + end_time=t_end, + parameters=params) + t, s_z = dynamics.expectations(sigma_z, real=True) + plt.plot(t, s_z) + plt.xlabel(r'$t$') + plt.ylabel(r'$\langle\sigma_z\rangle$') + plt.show() + + +.. parsed-literal:: + + ../oqupy/tempo.py:865: UserWarning: Estimating TEMPO parameters. No guarantee subsequent dynamics calculations are converged. Please refer to the TEMPO documentation and check convergence by varying the parameters manually. + warnings.warn(GUESS_WARNING_MSG, UserWarning) + + +.. parsed-literal:: + + ---------------------------------------------- + TempoParameters object: Roughly estimated parameters + Estimated with 'guess_tempo_parameters()' based on bath correlations. + dt = 0.125 + tcut [dkmax] = 2.5 [20] + epsrel = 6.903e-05 + add_correlation_time = None + + --> TEMPO computation: + 100.0% 40 of 40 [########################################] 00:00:03 + Elapsed time: 3.5s + + + +.. image:: parameters_files/parameters_26_2.png + + +The call to ``guess_tempo_parameters`` returned the same set +``dt=0.125``, ``epsrel=6.9e-05``, ``tcut=2.5`` as before, because it did +not use any information of the system. We can change this, and hopefully +resolve the system dynamics on a more appropriate grid, by providing the +system as an optional argument: + +[Warning: long computation] + +.. code:: ipython3 + + Omega = 8.0 # From 2.0 + Gamma = 0.08 # From 0.02 + system = oqupy.System(0.5 * Omega * sigma_x, + gammas=[Gamma], + lindblad_operators=[sigma_m]) + params = oqupy.guess_tempo_parameters(system=system, # new system argument (optional) + bath=bath, + start_time=t_start, + end_time=t_end, + tolerance=0.01) + print(params) + dynamics = oqupy.tempo_compute(system=system, + bath=bath, + initial_state=initial_state, + start_time=t_start, + end_time=t_end, + parameters=params) + t, s_z = dynamics.expectations(sigma_z, real=True) + plt.plot(t, s_z) + plt.xlabel(r'$t$') + plt.ylabel(r'$\langle\sigma_z\rangle$') + + +.. parsed-literal:: + + ../oqupy/tempo.py:865: UserWarning: Estimating TEMPO parameters. No guarantee subsequent dynamics calculations are converged. Please refer to the TEMPO documentation and check convergence by varying the parameters manually. + warnings.warn(GUESS_WARNING_MSG, UserWarning) + + +.. parsed-literal:: + + ---------------------------------------------- + TempoParameters object: Roughly estimated parameters + Estimated with 'guess_tempo_parameters()' based on bath correlations and system frequencies (limiting). + dt = 0.03125 + tcut [dkmax] = 2.5 [80] + epsrel = 6.903e-06 + add_correlation_time = None + + --> TEMPO computation: + 100.0% 160 of 160 [########################################] 00:01:09 + Elapsed time: 69.5s + + + + +.. parsed-literal:: + + Text(0, 0.5, '$\\langle\\sigma_z\\rangle$') + + + + +.. image:: parameters_files/parameters_28_3.png + + +As both ``dkmax`` increased and ``epsrel`` decreased to accommodate the +smaller ``dt=0.03125``, the computation took far longer - over a minute +compared to a few seconds at ``dt=0.125`` (it may now be worth +investigating whether a larger ``epsrel`` can be used). + +With a ``system`` argument, ``guess_tempo_parameters`` uses the matrix +norm of the system Hamiltonian and any Lindblad operators/rates to +estimate a suitable timestep on which to resolve the system dynamics. +This is compared to the ``dt`` required to meet the tolerance on error +for the bath correlations, and the smaller of the two is returned. The +description of the ``TempoParameters`` object indicates which part was +‘limiting’ i.e. required the smaller ``dt``. + +Often it is not necessary to calculate the system dynamics on such a +fine grid. For example, if one only needs to calculate the steady-state +polarisation. Moreover, the undersampling is easy to spot and adjust by +eye. Hence you may choose to not pass a ``system`` object to +``guess_tempo_parameters``. However, note there are cases where not +accounting for system frequencies can lead to more physical features +being missed, namely when the Hamiltonian or Lindblad operators/rates +are (rapidly) *time-dependent.* + +What sets dt, really? +~~~~~~~~~~~~~~~~~~~~~ + +The main error associated with ``dt`` is that from the Trotter splitting +of the system propagators. In a simple (non-symmetrised) splitting, a +basic requirement is + +.. math:: [H_S(t) , H_E] dt \ll \left(H_S(t)+H_E\right) dt^2. + +In words: error arises from non-commutation between the system and bath +coupling operator. This simply reflects the fact that in the +discretisation of the path integral the splitting is made between the +system and environment Hamiltonians. In cases where :math:`H_S` commutes +with :math:`H_E`, such as the independent boson model, :math:`dt` can be +arbitrarily large without physical error. + +Note ``guess_tempo_parameters`` does *not* attempt to estimate the +Trotter error, even when both ``system`` and ``bath`` objects are +specified - another reason to be cautious when using the estimate +produced by this function. + +---------------------- +Further considerations +---------------------- + +Additional TempoParameters arguments +------------------------------------ + +For completeness, there are a few other parameters that can be passed to +the ``TempoParameters`` constructor: - ``subdiv_limit`` and +``liouvillian_epsrel``. These control the maximum number of subdivisions +and relative error tolerance when integrating a time-dependent system +Liouvillian to construct the system propagators. It is unlikely you will +need to change them from their default values (``265``, ``2**(-26)``) - +``add_correlation_time``. This allows one to include correlations +*beyond* ``tcut`` in the final bath tensor at ``dkmax`` (i.e., have your +finite memory cutoff cake and eat it). Doing so may provide better +approximations in cases where ``tcut`` is limited due to computational +difficultly. See +`[Strathearn2017] `__ for +details. + +Bath coupling degeneracies +-------------------------- + +The bath tensors in the TEMPO network are nominally +:math:`d^2\times d^2` matrices, where :math:`d` is the system Hilbert +space dimension. If there are degeneracies in the sums or differences of +the eigenvalues of the system operator coupling to the environment, it +is possible for the dimension of these tensors to be reduced. + +Specifying ``unique=True`` as an argument to ``oqupy.tempo_compute``, +degeneracy checking is enabled: if a dimensional reduction of the bath +tensors is possible, the lower dimensional tensors will be used. We +expect this to provide in many cases a significant speed-up without any +significant loss of accuracy, although this has not been extensively +tested (new in ``v0.5.0``). + +Mean-field systems +------------------ + +For calculating mean-field dynamics, there is an additional requirement +on ``dt`` being small enough so not as to introduce error when +integrating the field equation of motion between timesteps (2nd order +Runge-Kutta). Common experience is that this is generally satisfied if +``dt`` is sufficiently small to avoid Trotter error. Still, you will +want to at least inspect the field dynamics in addition to the system +observables when checking convergence. + +Note that, for the purposes of estimating the characteristic frequency +of a ``SystemWithField`` object, ``guess_tempo_parameters`` uses an +arbitrary complex value :math:`\exp(i \pi/4)` for the field variable +when evaluating the system Hamiltonian. This may give a poor estimation +for situations where the field variable is not of order :math:`1` in the +dynamics. + +-------- +PT-TEMPO +-------- + +The above considerations for ``tcut``, ``dt`` and ``epsrel`` all apply +to a PT-TEMPO computation, with the following caveats: + +1. Convergence for a TEMPO computation does not necessarily imply + convergence for a PT-TEMPO computation. This is important as it is + often convenient to perform several one-off TEMPO computations to + determine a good set of computational parameters to save having to + construct many large process tensors. You can still take this + approach, but must be sure to check for convergence in the PT-TEMPO + computation when you have derived a reasonable set. +2. Similar to 1., the best possible accuracy of a TEMPO and PT-TEMPO + computation may be different. In particular, there may be a trade-off + of accuracy for overall reduced computation time when using the PT + approach. We note that the error in PT-TEMPO has also been observed + (`[FowlerWright2022] `__) + to become unstable at very high precisions (small ``epsrel``), i.e., + there may be a higher floor for how small you can make ``epsrel``. +3. The computational difficultly of constructing the PT may not be + monotonic with memory cutoff ``dkmax`` (or ``tcut``). In particular, + the computational time may diverge *below* a certain ``dkmax``, + a.k.a, the ‘dkmax anomaly’. We highlight this counter-intuitive + behaviour, which seems to occur at relatively high precisions (small + ``epsrel``) with short timesteps, because it may lead one to falsely + believe the computation of a process tensor is not feasible. See + below for a demonstration and the Supplementary Material of + `[FowlerWright2022] `__ + for further discussion. + +The dkmax anomaly +----------------- + +We consider constructing a process tensor of 250 timesteps for the +harmonic environment discussed in the `Mean-Field +Dynamics `__ +tutorial, but with a smaller timestep ``dt=1e-3`` ps and ``epsrel=1e-8`` +than considered there. Note that the following computations are very +demanding. + +.. code:: ipython3 + + alpha = 0.25 # Doesn't affect PT computation + nu_c = 227.9 + T = 39.3 + start_time = 0.0 + + dt = 1e-3 + epsrel = 1e-8 + end_time = 250 * dt # 251 steps starting from t=0.0 + + correlations = oqupy.PowerLawSD(alpha=alpha, + zeta=1, + cutoff=nu_c, + cutoff_type='gaussian') + bath = oqupy.Bath(oqupy.operators.sigma("z")/2.0, correlations) + +We firstly set ``dkmax=250`` (or ``None``), i.e., make no memory +approximation: + +.. code:: ipython3 + + params = oqupy.TempoParameters(dt=dt, + epsrel=epsrel, + dkmax=250) + + process_tensor = oqupy.pt_tempo_compute(bath=bath, + start_time=start_time, + end_time=end_time, + parameters=params) + + +.. parsed-literal:: + + --> PT-TEMPO computation: + 100.0% 250 of 250 [########################################] 00:01:37 + Elapsed time: 97.3s + + +Including the full memory didn’t take too long, just over one and a half +minutes on a modern desktop (AMD 6-Core processor @4.7GHz, python3.6). + +What about if we now make a memory approximation, say only after +``dkmax=225`` timesteps: + +.. code:: ipython3 + + params = oqupy.TempoParameters(dt=dt, + epsrel=epsrel, + dkmax=225) + + process_tensor = oqupy.pt_tempo_compute(bath=bath, + start_time=start_time, + end_time=end_time, + parameters=params) + + +.. parsed-literal:: + + --> PT-TEMPO computation: + 100.0% 250 of 250 [########################################] 00:08:04 + Elapsed time: 484.6s + + +That was far slower (8 mins)! You can try ``dkmax=200`` - on my hardware +the computation took half an hour; it may not be possible to complete +the calculation ``dkmax`` much below this. + +In general, there may exist some ``dkmax`` value (here close to 250) +below which the computational time grows quickly. On the other hand, for +longer computations, e.g. a 500 step process tensor, increases of +``dkmax`` will eventually lead to increasing compute times again, +although the dynamics will surely be converged with respect to this +parameter well before then. + +The take-home message is to not discount that a stalling PT computation +may in fact be possible with an increase in the memory length. In these +situations one approach is to start with ``dkmax=None`` and work +backwards to find the ``dkmax`` offering the minimum compute time +(before the rapid increase). diff --git a/docs/pages/tutorials/pt_gradient/output_20_0.png b/docs/pages/tutorials/pt_gradient/output_20_0.png new file mode 100644 index 0000000000000000000000000000000000000000..f96cf77bc9d028d550624e950fb28ed08279fb9d GIT binary patch literal 19922 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 XwO+~GWGaBCH|2}Z4_XwMJB9uOz*PHU literal 0 HcmV?d00001 diff --git a/docs/pages/tutorials/pt_gradient/pt_gradient.rst b/docs/pages/tutorials/pt_gradient/pt_gradient.rst new file mode 100644 index 00000000..621a3832 --- /dev/null +++ b/docs/pages/tutorials/pt_gradient/pt_gradient.rst @@ -0,0 +1,386 @@ +PT Gradient +=========== + +An example of how to compute the derivative of an objective function of +the final state with respect to a set of system parameters or ‘controls’ +using the OQuPy package. A more detailed explanation of the method can +be found in the supplement [Butler2024] +(https://doi.org/10.1103/PhysRevLett.132.060401). \* `launch +binder `__ +\* `download the jupyter +file `__ +\* read through the text below and code along + +The following packages are required + +.. code:: ipython3 + + import sys + sys.path.insert(0,'..') + import numpy as np + import oqupy + from oqupy import operators as op + import matplotlib.pyplot as plt + +The OQuPy version should be ``>=v0.5.0`` + +.. code:: ipython3 + + oqupy.__version__ + + + + +.. parsed-literal:: + + '0.4.0' + + + +Contents +-------- + +- `0. Introduction <#introduction>`__ + +- `1. Example : Spin Boson Model <#example---spin-boson-model>`__ + + - `1.1 System <#1-system-definition>`__ + + - `1.2 Process Tensor generation <#2-process-tensor-generation>`__ + + - `1.3 Objective Function : The + Fidelity <#3-objective-function-the-fidelity>`__ + + - `1.4 Adjoint method <#4-adjoint-method>`__ + +Introduction +------------ + +The process tensor approach to open quantum systems allows to +efficiently optimize control protocols of non-Markovian open quantum +systems (see [Fux2020, Butler2023]). For this one first computes the +process tensor in MPO form of the given environment interaction and then +repeatedly applies different time-dependent system Hamiltonians. This +has the advantage that each trial system Hamiltonian can be applied with +minimal computational efford to the same precomputed process tensor. + +Such a computation of the open dynamics for a set of different +time-dependent system Hamiltonians is demonstrated in the tutorial “Time +dependence and PT-TEMPO”. The search for an optimal protocol can, +however, be accelerated drastically by computing the gradient of the +objective function with respect to some parametrization of the system +Hamiltonian. + +In this tutorial we demonstrate the computation of the gradient of some +generic objective function :math:`Z(\rho_f)` which only depends on the +value of the final density matrix :math:`\rho_f`. Let’s assume that we +parametrize the system Hamiltonian with :math:`M` parameters each at +time step. The derivative of the objective function :math:`Z` with +respect to the :math:`m^\mathrm{th}` parameter at the +:math:`n^\mathrm{th}` time step :math:`c_m^n` is + +.. math:: + + + \frac{\partial Z}{\partial c_m^n}=\sum_{i,j,k}^{d_{H_S}^2} + \frac{\partial Z}{\partial \rho_f^i} + \frac{\partial\rho_f^i}{\partial U^{jk}_n} + \frac{\partial U^{jk}_n}{\partial c_m^n}, + +Where :math:`U_n` are the Liouville system propagators given by the +system Hamiltonian at time step :math:`n`. This expression is depicted +diagramatically in Fig S2 of the supplement in reference [Butler2023]. + +The three terms in the product are understood as follows: 1. +:math:`\frac{\partial Z}{\partial \rho_f^i}` : The derivative of the +objective function with respect to the final state. This is computed +analytically and corresponds to rank-1 tensor in Liouville space. 2. +:math:`\frac{\partial\rho_f^i}{\partial U^{jk}_n}` : The derivative of +the final state with respect to the propagator at the +:math:`n^{\text{th}}` time-step. Due to the linearity of our network, +this is the same as the diagram for the time-evolution of the initial +state after :math:`N_t` steps with the propagator(s) at the +:math:`n^{\text{th}}` timestep removed. The rank of this tensor depends +on the order of the Trotterization of the propagators. PT-TEMPO +implements a second-order splitting, such that the tensors are +rank-\ :math:`4`. 3. :math:`\frac{\partial U^{jk}_n}{\partial c_m}` : +The derivative of a propagator at the :math:`n^{\text{th}}` timestep +with respect to :math:`m^\mathrm{th}` control parameter at the +:math:`n^\text{th}` timestep. Due to the second Trotterization, there +are :math:`2 N` half-propagators and therefore :math:`2 N` +half-propagator derivatives. These are computed via finite-difference +and are of rank-\ :math:`2`. + +Expression 2. is not calculated directly. Rather, we perform a forward +propagation of the initial state :math:`\rho_0` and back propagation of +the target derivative :math:`\frac{\partial Z}{\partial \rho_f^i}` for +:math:`n` time-steps. The stored tensors are of rank-\ :math:`2` with an +external ‘system’ leg which connects to the propagators and an internal +‘bond’ leg connecting to the PT-MPOs. By joining the bond legs of the +appropriate tensors from the forward and back propagations we obtain the +rank-\ :math:`4` tensor $ +:raw-latex:`\frac{\partial Z}{\partial \rho_f^i}` +:raw-latex:`\frac{\partial\rho_f^i}{\partial U^{jk}_n}`$ which, when +contracted with the propagator derivatives +:math:`\frac{\partial U^{jk}_n}{\partial c_m}`, gives +:math:`\frac{\partial Z}{\partial c_m^n}`. + +As an example, we model a spin-boson system coupled to an external field +and compute the gradient with respect to each parameter. + +Example - Spin Boson Model +-------------------------- + +1. System Definition +~~~~~~~~~~~~~~~~~~~~ + +We choose the system modelled in the supplement, a spin-boson model +representing a quantum-dot driven by a laser pulse. We consider a +time-dependent system Hamiltonian + +.. math:: + + + H_S = h_x(t) \sigma_x + h_z(t) \sigma_z , + +where the parameters :math:`h_x(t)` and :math:`h_z(t)` represent a set +of fields controlling the system dynamics. This means we parametrize the +system Hamiltonian with two parameters at each time step, +i.e. \ :math:`m\in\{x,z\}` and :math:`c_m^n = h_m(n\, \delta t)`. A +system of this type is represented by a ``ParameterizedSystem`` object. +This object requires a Callable which returns the Hamiltonian for +specific parameters. It encapsulates the system dynamics via calculation +of the propagators :math:`U^{ij}` and propagator derivatives +:math:`\frac{\partial U^{ij}_n}{\partial c_m^n}` using the functions +``get_propagators`` and ``get_propagator_derivatives`` respectively. + +.. code:: ipython3 + + # function which returns system Hamiltonian for a given set of parameters + def discrete_hamiltonian(hx,hz): + return hx*op.sigma('x') + hz*op.sigma('z') + + # definition of parameterized system + system = oqupy.ParameterizedSystem(discrete_hamiltonian) + +We then provide a :math:`(2*N,M)`-dimensional tuple of parameters which +define the value of the fields at each half time-step. For simplicity, +we choose a pair of constant fields :math:`h_x=0` and :math:`h_z=\pi/T`. +We choose a pulse duration :math:`T=5 \text{ps}^{-1}` and model over +:math:`100` timesteps. We work in Planck units throughout +(:math:`\hbar = k_B = 1`) and take :math:`\text{ps}^{-1}` as units of +angular momentum. + +.. code:: ipython3 + + max_time = 5.0 + N = 50 # number of time steps + dt = max_time/N + +.. code:: ipython3 + + h_z = np.ones(2*N) * np.pi / (2 * max_time) + h_x = np.zeros(2*N) + parameters = np.vstack((h_x,h_z)).T + parameters.shape + + + + +.. parsed-literal:: + + (100, 2) + + + +2. Process Tensor generation +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The bath and interaction Hamiltonians are + +.. math:: + + + H_B = \sum_k \omega_k b_k^\dag b_k + +and + +.. math:: + + + H_{SB} = \frac{1}{2} \sigma_z \sum_k (g_k b_k^\dag + g^*_k b_k), + +respectively. The bath interaction terms :math:`g_k` and +:math:`\omega_k` are characterised by the super-ohmic spectral density + +.. math:: + + + J(\omega) = 2 \alpha \omega^3 \omega_c^{-2} \text{exp}(- \frac{\omega^2}{\omega^2_c}). + +with :math:`\omega_c=3.04 \text{p s}^{-1}` and :math:`\alpha=0.126`. We +take the bath to be at :math:`T=5 \text{K}`. The process tensor is then +generated as follows. + +.. code:: ipython3 + + # spectral density parameters + alpha = 0.126 + omega_cutoff = 3.04 + temperature = 5 * 0.1309 # 1K = 0.1309/ps in natural units + + # numerical tempo parameters + tcut = 2.0 + esprel = 10**(-4) + + correlations = oqupy.PowerLawSD( + alpha=alpha, + zeta=3, + cutoff=omega_cutoff, + cutoff_type='gaussian', + temperature=temperature) + bath = oqupy.Bath(op.sigma("z")/2, correlations) + + tempo_params = oqupy.TempoParameters(dt=dt, tcut=tcut, epsrel=esprel) + +.. code:: ipython3 + + # process tensor creation + process_tensor = oqupy.pt_tempo_compute( + bath=bath, + start_time=0, + end_time=max_time, + parameters=tempo_params + ) + + +.. parsed-literal:: + + --> PT-TEMPO computation: + 52.0% 26 of 50 [####################--------------------] 00:00:00100.0% 50 of 50 [########################################] 00:00:01 + Elapsed time: 1.4s + + +3. Objective Function: The Fidelity +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +For our objective function, we choose the fidelity +:math:`\mathcal{F(\rho_t,\rho_f)}` between a target state :math:`\rho_t` +and the final state :math:`\rho_f`. For simplicity, we consider a pure +target state :math:`\rho_t = \ket{\sigma}\bra{\sigma}` such that +:math:`\mathcal{F}=\bra{\sigma} \rho_f \ket{\sigma}`. In Liouville +space, this is expressed as +:math:`\mathcal{F} = \langle \langle \rho_t^T | \rho_f \rangle \rangle = \sum_i^{d_H^2} \rho^T_{t,i} \rho_{f,i}`, +where :math:`| \cdot \rangle \rangle` denotes a vectorized density +matrix and :math:`d_H` the Hilbert space dimension. The derivative with +respect to the final state is then + +.. math:: + + + \frac{\partial \mathcal{F}}{\partial \rho_f} = \rho_t^T. + +We model the state transfer between an initial state +:math:`\rho_0=\ket{x+} \bra{x+}` and target state +:math:`\rho_t=\ket{x-} \bra{x-}`. + +.. code:: ipython3 + + initial_state = op.spin_dm('x+') + target_state = op.spin_dm('x-') + target_derivative = target_state.T + +4. Adjoint Method +~~~~~~~~~~~~~~~~~ + +Now that we have defined our objective function, environment and system, +we are able to perform back propagation in order to compute the gradient +and dynamics. This is done via ``state_gradient``. The function computes +:math:`\{\rho(t_n) \}_{n=0,..,N-1}` and +:math:`\{ \frac{\partial Z}{\partial \rho_f^i}\frac{\partial\rho_f^i}{\partial U^{jk}_n} \}_{n=0,...,2N-1}` +using a forward and back propagation of :math:`\rho_0` and $ +:raw-latex:`\frac{\partial Z}{\partial \rho_f}`$ as outlined in the +introduction. It then calculates the propagators and propagator +derivatives :math:`\frac{\partial U^{ij}_n}{\partial c_m^n}` using the +parameters and ``ParameterizedSystem`` object. These are finally +combined as in the chain rule to get the derivative of the objective +function with respect to each parameter at each timestep +:math:`\{ \frac{\partial Z}{\partial c_m^n} \}_{m=\{0,...,M-1\},\,n=\{0,...,2N-1\}}`. +The dictionary returned contains: \* ``gradient`` : the list of +gradients +:math:`\{ \frac{\partial Z}{\partial c_m^n} \}_{m=\{0,...,M-1\},\,n=\{0,...,2N-1\}}` +at each half time-step \* ``gradprop`` : the list of tensors +:math:`\{ \frac{\partial Z}{\partial \rho_f^i}\frac{\partial\rho_f^i}{\partial U^{jk}_n} \}_{n=0,...,N-1}` +\* ``dynamics`` : the states and times \* ``final state`` : the final +state + +.. code:: ipython3 + + # forward-backpropagation + combination of derivatives + grad_res = oqupy.state_gradient( + system=system, + initial_state=initial_state, + target_derivative=target_derivative, + process_tensors=[process_tensor], + parameters=parameters) + + +.. parsed-literal:: + + --> Compute forward propagation: + 100.0% 50 of 50 [########################################] 00:00:00 + Elapsed time: 0.1s + --> Compute backward propagation: + 100.0% 50 of 50 [########################################] 00:00:00 + Elapsed time: 0.1s + --> Apply chain rule: + 100.0% 50 of 50 [########################################] 00:00:03 + Elapsed time: 3.9s + + +We can now plot the dynamics and the gradient: + +.. code:: ipython3 + + plt.plot(*grad_res['dynamics'].expectations(op.sigma('x'), real=True)) + plt.ylabel(r"$\langle \sigma_x \rangle$") + plt.xlabel(r"$t$") + plt.show() + fidelity = np.real(grad_res['final_state'].flatten() @ target_state.flatten()) + print(f"The fidelity is {fidelity}.") + + + +.. image:: output_20_0.png + + +.. parsed-literal:: + + The fidelity is 0.9012528539245532. + + +.. code:: ipython3 + + plt.figure() + plt.plot(grad_res['gradient'][:,0].real,label='x') + plt.plot(grad_res['gradient'][:,1].real,label='z') + plt.legend() + plt.ylabel(r"$\frac{\partial \mathcal{F}(T)}{\partial h_m^n}$", + rotation=0,fontsize=16,labelpad=20) + plt.xlabel(r"half time step $n$") + plt.show() + + + + +.. image:: output_21_0.png + + +Voilà, we have computed the gradient! We can easily plug in another set +of system parameters and rerun the calculation to get the gradient for a +different field. This is particularly useful for optimisation of the +objective function because the long calculation of the process tensor is +done only once. We can do lots of faster calculations of :math:`Z` and +:math:`\frac{\partial Z}{\partial c_m}` for different system parameters +until we find an ‘optimal’ (minima/maxima of :math:`Z` within some +tolerance) set of controls. diff --git a/docs/pages/tutorials/pt_tebd.rst b/docs/pages/tutorials/pt_tebd.rst index 33635241..761d2000 100644 --- a/docs/pages/tutorials/pt_tebd.rst +++ b/docs/pages/tutorials/pt_tebd.rst @@ -5,7 +5,7 @@ An introduction on how to use the OQuPy package to compute the dynamics of a chain of open quantum systems using the process tensor approach to time evolving block decimation (PT-TEBD). We illustrate this by applying PT-TEBD to a 5-site XYZ Heisenberg spin chain. This method and example -is explained in detail in [Fux2022] (`arXiv:2201.05529 `__). +is explained in detail in [Fux2023] (`arXiv:2201.05529 `__). - `launch binder `__ @@ -74,7 +74,7 @@ Example - Heisenberg spin chain ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Let’s calculate the dynamics of a short XYZ Heisenberg spin chain with -the same parameters as in [Fux2022]. Before we include any environment +the same parameters as in [Fux2023]. Before we include any environment coupling we first consider the closed chain with the Hamiltonian .. math:: @@ -130,7 +130,7 @@ parameters: 3. The relative singular value truncation tolerance ``epsrel``. We describe details of the computation parameters in the supplemental -material of [Fux2022]. +material of [Fux2023]. .. code:: ipython3 diff --git a/examples/spin-chain.py b/examples/spin-chain.py index 2c44fdf3..19ce7183 100644 --- a/examples/spin-chain.py +++ b/examples/spin-chain.py @@ -1,5 +1,3 @@ -# Copyright 2020 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/oqupy/__init__.py b/oqupy/__init__.py index f78ca3b1..51b3281b 100644 --- a/oqupy/__init__.py +++ b/oqupy/__init__.py @@ -1,19 +1,49 @@ """ -A Python 3 package to efficiently compute non-Markovian open quantum systems. +A Python package to efficiently simulate non-Markovian open quantum systems +with process tensors. This open source project aims to facilitate versatile numerical tools to efficiently compute the dynamics of quantum systems that are possibly strongly -coupled to a structured environment. It allows to conveniently apply the so -called time evolving matrix product operator method (TEMPO) [1], as well as -the process tensor TEMPO method (PT-TEMPO) [2]. - -[1] A. Strathearn, P. Kirton, D. Kilda, J. Keeling and - B. W. Lovett, *Efficient non-Markovian quantum dynamics using - time-evolving matrix product operators*, Nat. Commun. 9, 3322 (2018). -[2] G. E. Fux, E. Butler, P. R. Eastham, B. W. Lovett, and - J. Keeling, *Efficient exploration of Hamiltonian parameter space for - optimal control of non-Markovian open quantum systems*, arXiv2101.????? - (2021). +coupled to structured environments. It facilitates the convenient application +of several numerical methods that combine the conceptional advantages of the +process tensor framework [1], with the numerical efficiency of tensor networks. + +OQuPy includes numerically exact methods (i.e. employing only numerically well +controlled approximations) for the non-Markovian dynamics and multi-time +correlations of ... +- quantum systems coupled to a single environment [2-4], +- quantum systems coupled to multiple environments [5], +- interacting chains of non-Markovian open quantum systems [6], and +- ensembles of open many-body systems with many-to-one coupling [7]. + +Furthermore, OQuPy implements methods to ... +- optimize control protocols for non-Markovian open quantum systems [8,9], +- compute the dynamics of an non-Markovian environment [10], and +- obtain the thermal state of a strongly couled quantum system [11]. + +[1] Pollock et al., [Phys. Rev. A 97, 012127] + (https://doi.org/10.1103/PhysRevA.97.012127) (2018). +[2] Strathearn et al., [New J. Phys. 19(9), p.093009] + (https://doi.org/10.1088/1367-2630/aa8744) (2017). +[3] Strathearn et al., [Nat. Commun. 9, 3322] + (https://doi.org/10.1038/s41467-018-05617-3) (2018). +[4] Jørgensen and Pollock, [Phys. Rev. Lett. 123, 240602] + (https://doi.org/10.1103/PhysRevLett.123.240602) (2019). +[5] Gribben et al., [PRX Quantum 3, 10321] + (https://doi.org/10.1103/PRXQuantum.3.010321) (2022). +[6] Fux et al., [Phys. Rev. Research 5, 033078 ] + (https://doi.org/10.1103/PhysRevResearch.5.033078}) (2023). +[7] Fowler-Wright et al., [Phys. Rev. Lett. 129, 173001] + (https://doi.org/10.1103/PhysRevLett.129.173001) (2022). +[8] Fux et al., [Phys. Rev. Lett. 126, 200401] + (https://doi.org/10.1103/PhysRevLett.126.200401) (2021). +[9] Butler et al., [Phys. Rev. Lett. 132, 060401 ] + (https://doi.org/10.1103/PhysRevLett.132.060401}) (2024). +[10] Gribben et al., [Quantum, 6, 847] + (https://doi.org/10.22331/q-2022-10-25-847) (2022). +[11] Chiu et al., [Phys. Rev. A 106, 012204] + (https://doi.org/10.1103/PhysRevA.106.012204}) (2022). + """ from oqupy.version import __version__ diff --git a/oqupy/backends/node_array.py b/oqupy/backends/node_array.py index 406262e2..dc2639a9 100644 --- a/oqupy/backends/node_array.py +++ b/oqupy/backends/node_array.py @@ -1,5 +1,3 @@ -# Copyright 2020 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/oqupy/backends/pt_tebd_backend.py b/oqupy/backends/pt_tebd_backend.py index 6647d99e..a018aa6f 100644 --- a/oqupy/backends/pt_tebd_backend.py +++ b/oqupy/backends/pt_tebd_backend.py @@ -1,5 +1,3 @@ -# Copyright 2020 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at @@ -14,9 +12,9 @@ """ Module for Process Tensor Time Evolving Block Decimation (PT-TEBD) backend. The algorithms in this module are explained in the supplemental material -of [Fux2022]. +of [Fux2023]. -**[Fux2022]** +**[Fux2023]** G. E. Fux, D. Kilda, B. W. Lovett, and J. Keeling, *Thermalization of a spin chain strongly coupled to its environment*, arXiv:2201.05529 (2022). @@ -280,7 +278,7 @@ def _compute_bath_trace_gammas( """ Trace out the bath correlations of the augmented MPS to yield a canonical MPS. See Fig. S2(k-l) in the supplemental material of - [Fux2022]. + [Fux2023]. """ node_dict, edge_dict = tn.copy(self._gammas) self._bath_trace_gammas = [] @@ -297,7 +295,7 @@ def _compute_bath_trace_gammas( def _compute_full_trace_gammas(self): """ Compute all local traces over the gamma matrices as shown at the top of - Fig. S1(d) in the supplemental material of [Fux2022]. + Fig. S1(d) in the supplemental material of [Fux2023]. """ assert self._bath_trace_gammas is not None @@ -442,7 +440,7 @@ def apply_nn_gate(input_data): Apply a nearest neighbor gate to the augmented MPS. This algorithm is shown in the Figs. S2(c-h) in the supplemental material - of [Fux2022]. + of [Fux2023]. """ return _apply_nn_gate(*input_data) @@ -460,7 +458,7 @@ def _apply_nn_gate( Apply a nearest neighbor gate to the augmented MPS. This algorithm is shown in the Figs. S2(c-h) in the supplemental material - of [Fux2022]. + of [Fux2023]. """ # -- compute inverted left and right lambdas -- diff --git a/oqupy/backends/pt_tempo_backend.py b/oqupy/backends/pt_tempo_backend.py index f6de91c5..a2086ada 100644 --- a/oqupy/backends/pt_tempo_backend.py +++ b/oqupy/backends/pt_tempo_backend.py @@ -1,5 +1,3 @@ -# Copyright 2020 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/oqupy/backends/tempo_backend.py b/oqupy/backends/tempo_backend.py index c2238d61..e5e30158 100644 --- a/oqupy/backends/tempo_backend.py +++ b/oqupy/backends/tempo_backend.py @@ -1,5 +1,3 @@ -# Copyright 2020 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/oqupy/base_api.py b/oqupy/base_api.py index 65f57a10..d89dbbf9 100644 --- a/oqupy/base_api.py +++ b/oqupy/base_api.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/oqupy/bath.py b/oqupy/bath.py index c4c560dc..42662974 100644 --- a/oqupy/bath.py +++ b/oqupy/bath.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/oqupy/bath_correlations.py b/oqupy/bath_correlations.py index 25ab635f..3bc40b4f 100644 --- a/oqupy/bath_correlations.py +++ b/oqupy/bath_correlations.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at @@ -102,7 +100,7 @@ def correlation_2d_integral( ``'rectangle'``. shape : str (default = ``'square'``) The shape of the 2D integral. Shapes are: {``'square'``, - ``'upper-triangle'``, ``'lower-triangle'``, ``'rectangle'``} + ``'upper-triangle'``, ``'rectangle'``} epsrel : float Relative error tolerance. subdiv_limit: int diff --git a/oqupy/bath_dynamics.py b/oqupy/bath_dynamics.py index ce6f17b4..b9b4cd45 100644 --- a/oqupy/bath_dynamics.py +++ b/oqupy/bath_dynamics.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at @@ -12,9 +10,9 @@ # See the License for the specific language governing permissions and # limitations under the License. """ -Module for calculating bath dynamics as outlined in [Gribben2021]. +Module for calculating bath dynamics as outlined in [Gribben2022b]. -**[Gribben2021]** +**[Gribben2022b]** D. Gribben, A. Strathearn, G. E. Fux, P. Kirton, and B. W. Lovett, *Using the Environment to Understand non-Markovian Open Quantum Systems*, arXiv:2106.04212 [quant-ph] (2021). diff --git a/oqupy/config.py b/oqupy/config.py index 7f3c5215..592dfa7b 100644 --- a/oqupy/config.py +++ b/oqupy/config.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/oqupy/control.py b/oqupy/control.py index 0908b6d5..1cbe3155 100644 --- a/oqupy/control.py +++ b/oqupy/control.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/oqupy/dynamics.py b/oqupy/dynamics.py index e0f1a854..f58c7373 100644 --- a/oqupy/dynamics.py +++ b/oqupy/dynamics.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/oqupy/gradient.py b/oqupy/gradient.py index 554b1cf8..9c177436 100644 --- a/oqupy/gradient.py +++ b/oqupy/gradient.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/oqupy/helpers.py b/oqupy/helpers.py index 9a1303cd..7127c1d3 100644 --- a/oqupy/helpers.py +++ b/oqupy/helpers.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file in compliance with the License. # You may obtain a copy of the License at diff --git a/oqupy/mps_mpo.py b/oqupy/mps_mpo.py index 6a24a85a..580a158c 100644 --- a/oqupy/mps_mpo.py +++ b/oqupy/mps_mpo.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at @@ -348,7 +346,7 @@ def compute_tebd_propagator( class AugmentedMPS(BaseAPIClass): """ An augmented matrix product state (as introduced in the supplemental - material of [Fux2022]). + material of [Fux2023]). The full gamma tensors (one for each site) have the following axis: (L = left bond leg, P = physical leg, R = right bond leg, diff --git a/oqupy/operators.py b/oqupy/operators.py index bc75896a..88421af2 100644 --- a/oqupy/operators.py +++ b/oqupy/operators.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/oqupy/process_tensor.py b/oqupy/process_tensor.py index f3002bdc..d5df0623 100644 --- a/oqupy/process_tensor.py +++ b/oqupy/process_tensor.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/oqupy/pt_tebd.py b/oqupy/pt_tebd.py index 9a657096..350b5fd1 100644 --- a/oqupy/pt_tebd.py +++ b/oqupy/pt_tebd.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at @@ -13,9 +11,9 @@ # limitations under the License. """ Module for the process tensor approach to time evolving block decimation. -This module is based on [Fux2022]. +This module is based on [Fux2023]. -**[Fux2022]** +**[Fux2023]** G. E. Fux, D. Kilda, B. W. Lovett, and J. Keeling, *Thermalization of a spin chain strongly coupled to its environment*, arXiv:2201.05529 (2022). diff --git a/oqupy/pt_tempo.py b/oqupy/pt_tempo.py index 025cb9a6..9cc6f822 100644 --- a/oqupy/pt_tempo.py +++ b/oqupy/pt_tempo.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/oqupy/system.py b/oqupy/system.py index 248ee430..13cc2d21 100644 --- a/oqupy/system.py +++ b/oqupy/system.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/oqupy/system_dynamics.py b/oqupy/system_dynamics.py index 0a4fa01d..1ddc9659 100644 --- a/oqupy/system_dynamics.py +++ b/oqupy/system_dynamics.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/oqupy/tempo.py b/oqupy/tempo.py index a2deb82b..896679bc 100644 --- a/oqupy/tempo.py +++ b/oqupy/tempo.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file in compliance with the License. # You may obtain a copy of the License at diff --git a/oqupy/util.py b/oqupy/util.py index c7081b07..07d8c91b 100644 --- a/oqupy/util.py +++ b/oqupy/util.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/oqupy/version.py b/oqupy/version.py index 0d00fce2..df9d9f52 100644 --- a/oqupy/version.py +++ b/oqupy/version.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/coverage/api_test.py b/tests/coverage/api_test.py index 580d6db8..4c9f4862 100644 --- a/tests/coverage/api_test.py +++ b/tests/coverage/api_test.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/coverage/base_api_test.py b/tests/coverage/base_api_test.py index c159c2d3..2ea3986d 100644 --- a/tests/coverage/base_api_test.py +++ b/tests/coverage/base_api_test.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/coverage/bath_test.py b/tests/coverage/bath_test.py index a44d935b..b4d6fc4e 100644 --- a/tests/coverage/bath_test.py +++ b/tests/coverage/bath_test.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/coverage/contractions_test.py b/tests/coverage/contractions_test.py index 5e6cda86..14452563 100644 --- a/tests/coverage/contractions_test.py +++ b/tests/coverage/contractions_test.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/coverage/control_test.py b/tests/coverage/control_test.py index 2eccef5c..c934f377 100644 --- a/tests/coverage/control_test.py +++ b/tests/coverage/control_test.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/coverage/correlations_test.py b/tests/coverage/correlations_test.py index 66102aae..6a67a534 100644 --- a/tests/coverage/correlations_test.py +++ b/tests/coverage/correlations_test.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at @@ -35,7 +33,7 @@ def test_base_correlations(): cor.correlation(None) with pytest.raises(NotImplementedError): cor.correlation(None) - for shape in ["square", "upper-triangle", "lower-triangle"]: + for shape in ["square", "upper-triangle"]: with pytest.raises(NotImplementedError): cor.correlation_2d_integral(time_1=None, delta=None, diff --git a/tests/coverage/dynamics_test.py b/tests/coverage/dynamics_test.py index d79dcb39..e0f90efc 100644 --- a/tests/coverage/dynamics_test.py +++ b/tests/coverage/dynamics_test.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/coverage/gibbs_parameters_test.py b/tests/coverage/gibbs_parameters_test.py index 807614f1..36211b80 100644 --- a/tests/coverage/gibbs_parameters_test.py +++ b/tests/coverage/gibbs_parameters_test.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/coverage/gibbs_tempo_test.py b/tests/coverage/gibbs_tempo_test.py index 07217195..a530edfd 100644 --- a/tests/coverage/gibbs_tempo_test.py +++ b/tests/coverage/gibbs_tempo_test.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/coverage/gradient_test.py b/tests/coverage/gradient_test.py index c767f237..59dcff30 100644 --- a/tests/coverage/gradient_test.py +++ b/tests/coverage/gradient_test.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/coverage/node_array_test.py b/tests/coverage/node_array_test.py index d59b8078..71c4af78 100644 --- a/tests/coverage/node_array_test.py +++ b/tests/coverage/node_array_test.py @@ -1,5 +1,3 @@ -# Copyright 2020 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/coverage/operators_test.py b/tests/coverage/operators_test.py index a1c8ae12..8406f331 100644 --- a/tests/coverage/operators_test.py +++ b/tests/coverage/operators_test.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/coverage/pt_tebd_test.py b/tests/coverage/pt_tebd_test.py index b2fcc541..e05901ca 100644 --- a/tests/coverage/pt_tebd_test.py +++ b/tests/coverage/pt_tebd_test.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/coverage/pt_tempo_test.py b/tests/coverage/pt_tempo_test.py index f0a97892..b9812f9b 100644 --- a/tests/coverage/pt_tempo_test.py +++ b/tests/coverage/pt_tempo_test.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/coverage/system_test.py b/tests/coverage/system_test.py index 69a677e0..5c233760 100644 --- a/tests/coverage/system_test.py +++ b/tests/coverage/system_test.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/coverage/tempo_parameters_test.py b/tests/coverage/tempo_parameters_test.py index 6b1348d9..7e910379 100644 --- a/tests/coverage/tempo_parameters_test.py +++ b/tests/coverage/tempo_parameters_test.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/coverage/tempo_test.py b/tests/coverage/tempo_test.py index eb71f5fd..95cec34f 100644 --- a/tests/coverage/tempo_test.py +++ b/tests/coverage/tempo_test.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/coverage/util_test.py b/tests/coverage/util_test.py index e6781520..3ab6c2b7 100644 --- a/tests/coverage/util_test.py +++ b/tests/coverage/util_test.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/data/generate_pts.py b/tests/data/generate_pts.py index 58e92807..d362e269 100644 --- a/tests/data/generate_pts.py +++ b/tests/data/generate_pts.py @@ -1,5 +1,3 @@ -# Copyright 2024 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/performance/analysis/bath_dynamics_plots.py b/tests/performance/analysis/bath_dynamics_plots.py index 96a488e0..d321e970 100644 --- a/tests/performance/analysis/bath_dynamics_plots.py +++ b/tests/performance/analysis/bath_dynamics_plots.py @@ -1,5 +1,3 @@ -# Copyright 2024 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/performance/analysis/bath_dynamics_run.py b/tests/performance/analysis/bath_dynamics_run.py index 1ce044fb..0da1677f 100644 --- a/tests/performance/analysis/bath_dynamics_run.py +++ b/tests/performance/analysis/bath_dynamics_run.py @@ -1,5 +1,3 @@ -# Copyright 2024 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/performance/analysis/mean_field_run.py b/tests/performance/analysis/mean_field_run.py index 4bd900da..0c31104c 100644 --- a/tests/performance/analysis/mean_field_run.py +++ b/tests/performance/analysis/mean_field_run.py @@ -1,5 +1,3 @@ -# Copyright 2024 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/performance/analysis/multi_env_plots.py b/tests/performance/analysis/multi_env_plots.py index 44b47e6b..1c4f06e9 100644 --- a/tests/performance/analysis/multi_env_plots.py +++ b/tests/performance/analysis/multi_env_plots.py @@ -1,5 +1,3 @@ -# Copyright 2024 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/performance/analysis/multi_env_run.py b/tests/performance/analysis/multi_env_run.py index 53ae8fb4..c07fc19e 100644 --- a/tests/performance/analysis/multi_env_run.py +++ b/tests/performance/analysis/multi_env_run.py @@ -1,5 +1,3 @@ -# Copyright 2024 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/performance/analysis/nt_corrs_plots.py b/tests/performance/analysis/nt_corrs_plots.py index 175463be..5a846db6 100644 --- a/tests/performance/analysis/nt_corrs_plots.py +++ b/tests/performance/analysis/nt_corrs_plots.py @@ -1,5 +1,3 @@ -# Copyright 2024 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/performance/analysis/nt_corrs_run.py b/tests/performance/analysis/nt_corrs_run.py index cad09317..1f5ee06e 100644 --- a/tests/performance/analysis/nt_corrs_run.py +++ b/tests/performance/analysis/nt_corrs_run.py @@ -1,5 +1,3 @@ -# Copyright 2024 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/performance/analysis/pt_degen_plots.py b/tests/performance/analysis/pt_degen_plots.py index 3a42759f..b815d359 100644 --- a/tests/performance/analysis/pt_degen_plots.py +++ b/tests/performance/analysis/pt_degen_plots.py @@ -1,5 +1,3 @@ -# Copyright 2024 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/performance/analysis/pt_degen_run.py b/tests/performance/analysis/pt_degen_run.py index 5a949cc6..a2f75aff 100644 --- a/tests/performance/analysis/pt_degen_run.py +++ b/tests/performance/analysis/pt_degen_run.py @@ -1,5 +1,3 @@ -# Copyright 2024 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/performance/analysis/pt_tebd_plots.py b/tests/performance/analysis/pt_tebd_plots.py index f086d691..86d77a0a 100644 --- a/tests/performance/analysis/pt_tebd_plots.py +++ b/tests/performance/analysis/pt_tebd_plots.py @@ -1,5 +1,3 @@ -# Copyright 2024 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/performance/analysis/pt_tebd_run.py b/tests/performance/analysis/pt_tebd_run.py index e2bf54a5..96b199c6 100644 --- a/tests/performance/analysis/pt_tebd_run.py +++ b/tests/performance/analysis/pt_tebd_run.py @@ -1,5 +1,3 @@ -# Copyright 2024 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/performance/analysis/pt_tempo_plots.py b/tests/performance/analysis/pt_tempo_plots.py index a40c0525..5dfdb32b 100644 --- a/tests/performance/analysis/pt_tempo_plots.py +++ b/tests/performance/analysis/pt_tempo_plots.py @@ -1,5 +1,3 @@ -# Copyright 2024 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/performance/analysis/pt_tempo_run.py b/tests/performance/analysis/pt_tempo_run.py index 19a769f7..2cc7dd1c 100644 --- a/tests/performance/analysis/pt_tempo_run.py +++ b/tests/performance/analysis/pt_tempo_run.py @@ -1,5 +1,3 @@ -# Copyright 2024 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/performance/bath_dynamics.py b/tests/performance/bath_dynamics.py index 0b8e03bc..c17190c4 100644 --- a/tests/performance/bath_dynamics.py +++ b/tests/performance/bath_dynamics.py @@ -1,5 +1,3 @@ -# Copyright 2024 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/performance/mean_field.py b/tests/performance/mean_field.py index ea693bd2..93fc4a91 100644 --- a/tests/performance/mean_field.py +++ b/tests/performance/mean_field.py @@ -1,5 +1,3 @@ -# Copyright 2020 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/performance/multi_env.py b/tests/performance/multi_env.py index de5bd06c..972f33ab 100644 --- a/tests/performance/multi_env.py +++ b/tests/performance/multi_env.py @@ -1,5 +1,3 @@ -# Copyright 2024 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/performance/nt_corrs.py b/tests/performance/nt_corrs.py index da2738ad..31aa3ccc 100644 --- a/tests/performance/nt_corrs.py +++ b/tests/performance/nt_corrs.py @@ -1,5 +1,3 @@ -# Copyright 2024 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/performance/pt_degen.py b/tests/performance/pt_degen.py index 4590ec8e..d750490f 100644 --- a/tests/performance/pt_degen.py +++ b/tests/performance/pt_degen.py @@ -1,5 +1,3 @@ -# Copyright 2020 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/performance/pt_tebd.py b/tests/performance/pt_tebd.py index b3e5db52..f4adee67 100644 --- a/tests/performance/pt_tebd.py +++ b/tests/performance/pt_tebd.py @@ -1,5 +1,3 @@ -# Copyright 2024 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/performance/pt_tempo.py b/tests/performance/pt_tempo.py index 94e5cf37..9b59caa6 100644 --- a/tests/performance/pt_tempo.py +++ b/tests/performance/pt_tempo.py @@ -1,5 +1,3 @@ -# Copyright 2024 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/performance/run_all.py b/tests/performance/run_all.py index 495dc550..272b2a77 100644 --- a/tests/performance/run_all.py +++ b/tests/performance/run_all.py @@ -1,5 +1,3 @@ -# Copyright 2024 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/physics/bath_dynamics_test.py b/tests/physics/bath_dynamics_test.py index 7ca4fc99..2d0372a3 100644 --- a/tests/physics/bath_dynamics_test.py +++ b/tests/physics/bath_dynamics_test.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/physics/degeneracy_large_test.py b/tests/physics/degeneracy_large_test.py index 2cb6a40e..4354d113 100644 --- a/tests/physics/degeneracy_large_test.py +++ b/tests/physics/degeneracy_large_test.py @@ -1,5 +1,3 @@ -# Copyright 2020 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/physics/degeneracy_mean_field_test.py b/tests/physics/degeneracy_mean_field_test.py index 92cf9b9e..782a1609 100644 --- a/tests/physics/degeneracy_mean_field_test.py +++ b/tests/physics/degeneracy_mean_field_test.py @@ -1,5 +1,3 @@ -# Copyright 2020 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/physics/gibbs_tempo_test.py b/tests/physics/gibbs_tempo_test.py index 9da6dee5..ec4c5897 100644 --- a/tests/physics/gibbs_tempo_test.py +++ b/tests/physics/gibbs_tempo_test.py @@ -1,5 +1,3 @@ -# Copyright 2020 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/physics/gradient_functional_target_test.py b/tests/physics/gradient_functional_target_test.py index 3cb4e4e8..50058a89 100644 --- a/tests/physics/gradient_functional_target_test.py +++ b/tests/physics/gradient_functional_target_test.py @@ -1,5 +1,3 @@ -# Copyright 2020 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/physics/gradient_target_state_test.py b/tests/physics/gradient_target_state_test.py index 247111d9..54c6aeb0 100644 --- a/tests/physics/gradient_target_state_test.py +++ b/tests/physics/gradient_target_state_test.py @@ -1,5 +1,3 @@ -# Copyright 2020 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/physics/multi_environments_test.py b/tests/physics/multi_environments_test.py index 61696f25..0e842d38 100644 --- a/tests/physics/multi_environments_test.py +++ b/tests/physics/multi_environments_test.py @@ -1,5 +1,3 @@ -# Copyright 2022 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/physics/multi_time_correlations_test.py b/tests/physics/multi_time_correlations_test.py index 3d849e0c..0e424106 100644 --- a/tests/physics/multi_time_correlations_test.py +++ b/tests/physics/multi_time_correlations_test.py @@ -1,5 +1,3 @@ -# Copyright 2020 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/physics/pt_tebd_lindblad_test.py b/tests/physics/pt_tebd_lindblad_test.py index 5270eba3..09175b33 100644 --- a/tests/physics/pt_tebd_lindblad_test.py +++ b/tests/physics/pt_tebd_lindblad_test.py @@ -1,5 +1,3 @@ -# Copyright 2020 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/physics/pt_tebd_test.py b/tests/physics/pt_tebd_test.py index 7d9002da..1dc6ffa9 100644 --- a/tests/physics/pt_tebd_test.py +++ b/tests/physics/pt_tebd_test.py @@ -1,5 +1,3 @@ -# Copyright 2020 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/physics/tempo_lindblad_test.py b/tests/physics/tempo_lindblad_test.py index f485b29b..1a9027c2 100644 --- a/tests/physics/tempo_lindblad_test.py +++ b/tests/physics/tempo_lindblad_test.py @@ -1,5 +1,3 @@ -# Copyright 2020 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/physics/tempo_non_diagonal_test.py b/tests/physics/tempo_non_diagonal_test.py index 7461a33c..85a03528 100644 --- a/tests/physics/tempo_non_diagonal_test.py +++ b/tests/physics/tempo_non_diagonal_test.py @@ -1,5 +1,3 @@ -# Copyright 2020 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/physics/tempo_qutrit_test.py b/tests/physics/tempo_qutrit_test.py index edd9e8c4..4492fa42 100644 --- a/tests/physics/tempo_qutrit_test.py +++ b/tests/physics/tempo_qutrit_test.py @@ -1,5 +1,3 @@ -# Copyright 2020 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/physics/tempo_spin_boson_test.py b/tests/physics/tempo_spin_boson_test.py index 029073f1..362d2322 100644 --- a/tests/physics/tempo_spin_boson_test.py +++ b/tests/physics/tempo_spin_boson_test.py @@ -1,5 +1,3 @@ -# Copyright 2020 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tests/physics/tempo_superohmic_test.py b/tests/physics/tempo_superohmic_test.py index fd89de23..d883dc38 100644 --- a/tests/physics/tempo_superohmic_test.py +++ b/tests/physics/tempo_superohmic_test.py @@ -1,5 +1,3 @@ -# Copyright 2020 The TEMPO Collaboration -# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tutorials/bath_dynamics.ipynb b/tutorials/bath_dynamics.ipynb index 39220b89..e09a7010 100644 --- a/tutorials/bath_dynamics.ipynb +++ b/tutorials/bath_dynamics.ipynb @@ -70,7 +70,7 @@ "metadata": {}, "source": [ "## Example - Heat transfer in a biased spin-boson model\n", - "Let's try and recreate a line cut of Figure 2 from [Gribben2021] ([arXiv:2106.04212](https://arxiv.org/abs/2106.04212)). This tells us how much heat has been emitted into or absorbed from the bath by the system and how this transfer is distributed over the bath modes." + "Let's try and recreate a line cut of Figure 2 from [Gribben2022b] ([arXiv:2106.04212](https://arxiv.org/abs/2106.04212)). This tells us how much heat has been emitted into or absorbed from the bath by the system and how this transfer is distributed over the bath modes." ] }, { @@ -217,7 +217,7 @@ "\n", "### 3. Bath dynamics\n", "\n", - "In [Gribben2021] ([arXiv:2106.04212](https://arxiv.org/abs/2106.04212)) we can see that for linearly coupled Gaussian environments the bath dynamics can be calculated through relatively simple transformations of system correlation functions. For example the change in energy of mode $k$ can be expressed as\n", + "In [Gribben2022b] ([arXiv:2106.04212](https://arxiv.org/abs/2106.04212)) we can see that for linearly coupled Gaussian environments the bath dynamics can be calculated through relatively simple transformations of system correlation functions. For example the change in energy of mode $k$ can be expressed as\n", "\n", "$$ \\omega_k\\left\\langle a_k^\\dagger (t) a_k (t)-a_k^\\dagger (0) a_k (0) \\right\\rangle = \\omega_k g_k^2 \\int_0^t dt' \\int_0^t dt'' \\left\\langle s_z(t')s_z(t'')\\right\\rangle F(\\omega_k, t', t'', T), $$\n", "with\n", diff --git a/tutorials/parameters.ipynb b/tutorials/parameters.ipynb index 37fd3deb..c9b6cb9a 100644 --- a/tutorials/parameters.ipynb +++ b/tutorials/parameters.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Computational parameters and convergence\n", + "# Computational parameters\n", "\n", "Discussion of the computational parameters in a TEMPO or PT-TEMPO computation and establishing convergence of results\n", "\n", diff --git a/tutorials/parameters.ipynb~ b/tutorials/parameters.ipynb~ new file mode 100644 index 00000000..37fd3deb --- /dev/null +++ b/tutorials/parameters.ipynb~ @@ -0,0 +1,922 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Computational parameters and convergence\n", + "\n", + "Discussion of the computational parameters in a TEMPO or PT-TEMPO computation and establishing convergence of results\n", + "\n", + "- [launch binder](https://mybinder.org/v2/gh/tempoCollaboration/OQuPy/HEAD?labpath=tutorials%2Fparameters.ipynb) (runs in browser),\n", + "- [download the jupyter file](https://raw.githubusercontent.com/tempoCollaboration/OQuPy/main/tutorials/parameters.ipynb), or\n", + "- read through the text below and code along." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Contents\n", + "\n", + "* [Introduction - numerical exactness and computational parameters](#Introduction---numerical-exactness-and-computational-parameters)\n", + "* [Choosing `tcut`](#Choosing-tcut)\n", + " - [Example - memory effects in a spin boson model](#Example---memory-effects-in-a-spin-boson-model)\n", + " - [Discussion - environment correlations](#Discussion---environment-correlations)\n", + "* [Choosing `dt` and `epsrel`](#Choosing-dt-and-epsrel)\n", + " - [Example - convergence for a spin boson model](#Example---convergence-for-a-spin-boson-model)\n", + " - [Resolving fast system dynamics](#Resolving-fast-system-dynamics)\n", + "* [Further considerations](#Further-considerations)\n", + " - [Additional TempoParameters arguments](#Additional-TempoParameters-arguments)\n", + " - [Bath coupling degeneracies](#Bath-coupling-degeneracies)\n", + "* [PT-TEMPO](#PT-TEMPO)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The following packages will be required" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import sys\n", + "sys.path.insert(0,'..')\n", + "\n", + "import oqupy\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "plt.rcParams.update({'font.size': 14.0, 'lines.linewidth':2.50, 'figure.figsize':(8,6)})" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The OQuPy version should be `>=0.5.0`" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'0.4.0'" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "oqupy.__version__" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction - numerical exactness and computational parameters\n", + "The TEMPO and PT-TEMPO methods are numerically exact meaning no approximations are required in their derivation. Instead error only arises in their numerical implementation, and is controlled by a set of computational parameters. The error can, in principle (at least up to machine precision), be made as small as desired by tuning those numerical parameters. In this tutorial we discuss how this is done to derive accurate results with manageable computational costs.\n", + "\n", + "As introduced in the [Quickstart](https://oqupy.readthedocs.io/en/latest/pages/tutorials/quickstart.html) tutorial a TEMPO or PT-TEMPO calculation has three main computational parameters:\n", + "\n", + "1. A memory cut-off `tcut`, which must be long enough to capture non-Markovian effects of the environment\n", + "2. A timestep length `dt`, which must be short enough to avoid Trotter error and provide a sufficient resolution of the system dynamics\n", + "3. A precision `epsrel`, which must be small enough such that the numerical compression (singular value truncation) does not incur physical error\n", + "\n", + "In order to verify the accuracy of a calculation, convergence should be established under all three parameters, under increases of `tcut` and decreases `dt` and `epsrel`. The challenge is that these parameters cannot necessarily be considered in isolation, and a balance must be struck between accuracy and computational cost. The strategy we take is to firstly determine a suitable `tcut` (set physically by properties of the environment) with rough values of `dt` and `epsrel`, then determine convergence under `dt->0,epsrel->0`.\n", + "\n", + "We illustrate convergence using the TEMPO method, but the ideas discussed will also generally apply to a PT-TEMPO computation where one first calculates a process tensor - fixing `tcut`, `dt`, `epsrel` - before calculating the system dynamics (see [PT-TEMPO](#PT-TEMPO)). Note some of the calculations in this tutorial may not be suitable to run in a Binder instance. If you want to run them on your own device, you can either copy the code as you go along or [download the .ipynb file](https://raw.githubusercontent.com/tempoCollaboration/OQuPy/main/tutorials/parameters.ipynb) to run in a local jupyter notebook session. \n", + "Example results for all calculations are embedded in the notebook already, so this is not strictly required." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Choosing tcut\n", + "## Example - memory effects in a spin boson model\n", + "We firstly define a spin-boson model similar to that in the Quickstart tutorial, but with a finite temperature environment and a small additional incoherent dissipation of the spin." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "sigma_x = oqupy.operators.sigma('x')\n", + "sigma_y = oqupy.operators.sigma('y')\n", + "sigma_z = oqupy.operators.sigma('z')\n", + "sigma_m = oqupy.operators.sigma('-')\n", + "\n", + "omega_cutoff = 2.5\n", + "alpha = 0.8\n", + "T = 0.2\n", + "correlations = oqupy.PowerLawSD(alpha=alpha,\n", + " zeta=1,\n", + " cutoff=omega_cutoff,\n", + " cutoff_type='exponential',\n", + " temperature=T)\n", + "bath = oqupy.Bath(0.5 * sigma_z, correlations)\n", + "Omega = 2.0\n", + "Gamma = 0.02\n", + "system = oqupy.System(0.5 * Omega * sigma_x,\n", + " gammas=[Gamma],\n", + " lindblad_operators=[sigma_m], # incoherent dissipation\n", + " )\n", + "\n", + "t_start = 0.0\n", + "t_end = 5.0" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To determine a suitable set of computational parameters for `t_start<=t<=t_end`, a good place to start is with a call to the `guess_tempo_parameters` function:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "../oqupy/tempo.py:865: UserWarning: Estimating TEMPO parameters. No guarantee subsequent dynamics calculations are converged. Please refer to the TEMPO documentation and check convergence by varying the parameters manually.\n", + " warnings.warn(GUESS_WARNING_MSG, UserWarning)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "----------------------------------------------\n", + "TempoParameters object: Roughly estimated parameters\n", + " Estimated with 'guess_tempo_parameters()' based on bath correlations.\n", + " dt = 0.125 \n", + " tcut [dkmax] = 2.5 [20] \n", + " epsrel = 6.903e-05 \n", + " add_correlation_time = None \n", + "\n" + ] + } + ], + "source": [ + "guessed_paramsA = oqupy.guess_tempo_parameters(bath=bath,\n", + " start_time=t_start,\n", + " end_time=t_end,\n", + " tolerance=0.01)\n", + "print(guessed_paramsA)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As indicated in the description of this object, the parameters were estimated by analysing the correlations of `bath`, which are discussed further below. \n", + "\n", + "From the suggested parameters, we focus on `tcut` first, assuming the values of `dt` and `epsrel` are reasonable to work with. To do so we compare results at the recommend `tcut` to those calculated at a smaller (`1.25`) and larger (`5.0`) values of this parameter, starting from the spin-up state:" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--> TEMPO computation:\n", + "100.0% 40 of 40 [########################################] 00:00:00\n", + "Elapsed time: 0.8s\n", + "--> TEMPO computation:\n", + "100.0% 40 of 40 [########################################] 00:00:01\n", + "Elapsed time: 1.6s\n", + "--> TEMPO computation:\n", + "100.0% 40 of 40 [########################################] 00:00:01\n", + "Elapsed time: 1.9s\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "initial_state = oqupy.operators.spin_dm('z+')\n", + "\n", + "for tcut in [1.25,2.5,5.0]:\n", + " # Create TempoParameters object matching those guessed above, except possibly for tcut\n", + " params = oqupy.TempoParameters(dt=0.125, epsrel=6.9e-06, tcut=tcut)\n", + " dynamics = oqupy.tempo_compute(system=system,\n", + " bath=bath,\n", + " initial_state=initial_state,\n", + " start_time=t_start,\n", + " end_time=t_end,\n", + " parameters=params)\n", + " t, s_z = dynamics.expectations(sigma_z, real=True)\n", + " plt.plot(t, s_z, label=r'${}$'.format(tcut))\n", + "plt.xlabel(r'$t$')\n", + "plt.ylabel(r'$\\langle\\sigma_z\\rangle$')\n", + "plt.legend(title=r'$t_{cut}$')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We see that `tcut=2.5` (orange) does very well, matching `tcut=5.0` (green) until essentially the end of the simulation (the precision `epsrel` could well be causing the small discrepancy). We know `tcut=5.0` should capture the actual result, because `tcut=5.0=t_end` means no memory cutoff was made! In general it is not always necessary to make a finite memory approximation. For example, perhaps one is interested in short-time dynamics only. The memory cutoff can be disable by setting `tcut=None`; be aware computation to long times (i.e. many hundreds of timesteps) may then be infeasible.\n", + "\n", + "The `tcut=1.25` result matches the other two exactly until `t=1.25` (no memory approximation is made before this time), but deviates shorlty after. On the other hand, the cost of using the larger `tcut=2.5` was a longer computation: 1.6s vs 0.8s above. This was a trivial example, but in many real calculations the runtimes will be far longer e.g. minutes or hours. It may be that an intermediary value `1.25<=tcut<=2.5` provides a satisfactory approximation - depending on the desired precision - with a more favourable cost: a TEMPO (or PT-TEMPO) computation scales **linearly** with the number of steps included in the memory cutoff.\n", + "\n", + "### A word of warning\n", + "\n", + "`guess_tempo_parameters` provides a reasonable starting point for many cases, but it is only a guess. You should always verify results using a larger `tcut`, whilst also not discounting smaller `tcut` to reduce the computational requirements. Similar will apply to checking convergence under `dt` and `epsrel`.\n", + "\n", + "Also, note we only inspected the expectations $\\langle \\sigma_z \\rangle$. To be most thorough all unique components of the state matrix should be checked, or at least the expectations of observables you are intending to study. So, if you were interested in the coherences as well as the populations, you would want to add calls to calculate $\\langle \\sigma_x \\rangle$, $\\langle \\sigma_y \\rangle$ above (you can check `tcut=2.5` is still good for the above example)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Discussion - environment correlations\n", + "So what influences the required `tcut`? The physically relevant timescale is that for the decay of correlations in the environment. These can be inspected using `oqupy.helpers.plot_correlations_with_parameters`:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "params = oqupy.TempoParameters(dt=0.125, epsrel=1, tcut=2.5) # N.B. epsrel not used by helper, and tcut only to set plot t-limits\n", + "oqupy.helpers.plot_correlations_with_parameters(bath.correlations, params, ax=ax)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This shows the real and imaginary parts of the bath autocorrelation function, with markers indicating samples of spacing `dt`. We see that correlations have not fully decayed by `t=1.25`, but have - at least by eye - by `t=2.5`. It seems like `tcut` around this value would indeed be a good choice.\n", + "\n", + "The autocorrelation function depends on the properties of the bath: the form the spectral density, the cutoff, and the temperature. These are accounted for by the `guess_tempo_parameters` function, which is really analysing the error in performing integrals of this function. The `tolerance` parameter specifies the maximum absolute error permitted, with an inbuilt default value of `3.9e-3` - passing `tolerance=0.01` made for slightly 'easier' parameters.\n", + "\n", + "Note, however, what is observed in the _system dynamics_ also depends the bath coupling operator and strength (`alpha`), and that these are _not_ taken into account by the guessing function. More generally, the nature of the intrinsic system dynamics (see below) and initial state preparation also has to be considered. \n", + "\n", + "Finally, the guessing function uses specified `start_time` and `end_time` to come up with parameters providing a manageable computation time over a timescale `end_time-start_time`, so make sure to set these to reflect those you actually intend to use in calculations. \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Choosing dt and epsrel\n", + "## Example - convergence for a spin boson model\n", + "Continuing with the previous example, we now investigate changing `dt` at our chosen `tcut=2.5`." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--> TEMPO computation:\n", + "100.0% 80 of 80 [########################################] 00:00:03\n", + "Elapsed time: 3.0s\n", + "--> TEMPO computation:\n", + "100.0% 40 of 40 [########################################] 00:00:00\n", + "Elapsed time: 0.9s\n", + "--> TEMPO computation:\n", + "100.0% 20 of 20 [########################################] 00:00:00\n", + "Elapsed time: 0.3s\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize=(10,8))\n", + "for dt in [0.0625, 0.125, 0.25]:\n", + " params = oqupy.TempoParameters(dt=dt, epsrel=6.9e-05, tcut=2.5)\n", + " dynamics = oqupy.tempo_compute(system=system,\n", + " bath=bath,\n", + " initial_state=initial_state,\n", + " start_time=t_start,\n", + " end_time=t_end,\n", + " parameters=params)\n", + " t, s_z = dynamics.expectations(sigma_z, real=True)\n", + " plt.plot(t, s_z, label=r'${}$'.format(dt))\n", + "plt.xlabel(r'$t$')\n", + "plt.ylabel(r'$\\langle\\sigma_z\\rangle$')\n", + "plt.legend(title=r'$dt$')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That doesn't look good! If we had just checked `dt=0.25` and `dt=0.125` we may have been happy with the convergence, but a halving of the timestep gave very different results (you can check `dt=0.0625` is even worse).\n", + "\n", + "The catch here is that we used the same precision `epsrel=6.9e-05` for all runs, but `dt=0.125` requires a smaller `epsrel`: halving the timestep _doubles_ the number of steps `dkmax` for which singular value truncations are made in the bath's memory `tcut=dt*dkmax`. \n", + "\n", + "Let's repeat the calculation with a smaller `epsrel` at `dt=0.125`:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--> TEMPO computation:\n", + "100.0% 80 of 80 [########################################] 00:00:04\n", + "Elapsed time: 5.0s\n", + "--> TEMPO computation:\n", + "100.0% 40 of 40 [########################################] 00:00:00\n", + "Elapsed time: 0.9s\n", + "--> TEMPO computation:\n", + "100.0% 20 of 20 [########################################] 00:00:00\n", + "Elapsed time: 0.2s\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "for dt, epsrel in zip([0.0625,0.125, 0.25],[6.9e-06,6.9e-05,6.9e-05]):\n", + " params = oqupy.TempoParameters(dt=dt, epsrel=epsrel, tcut=2.5)\n", + " dynamics = oqupy.tempo_compute(system=system,\n", + " bath=bath,\n", + " initial_state=initial_state,\n", + " start_time=t_start,\n", + " end_time=t_end,\n", + " parameters=params)\n", + " t, s_z = dynamics.expectations(sigma_z, real=True)\n", + " plt.plot(t, s_z, label=r'${}$, ${:.2g}$'.format(dt,epsrel))\n", + "plt.xlabel(r'$t$')\n", + "plt.ylabel(r'$\\langle\\sigma_z\\rangle$')\n", + "plt.legend(title=r'$dt, \\epsilon_{rel}$')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That looks far better. The lesson here is that one cannot expect to be able to decrease `dt` at fixed `tcut` without also decreasing `epsrel`. A heuristic used by `guess_tempo_parameters`, which you may find useful, is\n", + "$$ \\epsilon_{\\text{r}} = \\text{tol} \\cdot 10^{-p},\\ p=\\log_4 (\\text{dkmax}), $$\n", + "where tol is a target tolerance (e.g. `tolerance=0.01` above) and `dkmax` the number of steps such that `tcut=dt*dkmax`.\n", + "\n", + "Note `TempoParameters` allows the memory cutoff to be specified as the integer `dkmax` rather than float `tcut`, meaning this estimation of `epsrel` doesn't change with `dt`. However, the author prefers working at a constant `tcut` which is set physically by the decay of correlations in the environment; then one only has to worry about the simultaneous convergence of `dt` and `epsrel`.\n", + "\n", + "Comparing the simulation times at `dt=0.0625` between the previous two sets of results, we see the cost of a smaller `epsrel` is a longer computation (5 vs. 3 seconds). The time complexity of the singular value decompositions in the TEMPO tensor network scales with the **third power** of the internal bond dimension, which is directly controlled by the precision, so be aware that decreasing `epsrel` may lead to rapid increase in computation times.\n", + "\n", + "The last results suggest that we may well already have convergence w.r.t `epsrel` at `dt=0.125`. This should be checked: " + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--> TEMPO computation:\n", + "100.0% 20 of 20 [########################################] 00:00:00\n", + "Elapsed time: 0.3s\n", + "--> TEMPO computation:\n", + "100.0% 20 of 20 [########################################] 00:00:00\n", + "Elapsed time: 0.2s\n", + "--> TEMPO computation:\n", + "100.0% 20 of 20 [########################################] 00:00:00\n", + "Elapsed time: 0.2s\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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0pyOJSJRaEDnNhHzuunp6QwYMKDWuP79+zN16tQ6l+nZsyfz5s2jpKSEw4cPk56ezqRJk8jKygJg1apVtGnTpnploCafz/etcffccw/XXHPNcXNmZGR8a1xycjJut5v8/Pxa4/Pz80lLSzvl99cQKv9m1jWlO99POIuXy+ezz+PiiX/cyv/c9I7TsUQkCtV307uTxo0bx4YNG2qN27hxI5mZmSdcNiEhgYSEBA4ePMjs2bN54onwFlev10tJSQlpaWkkJiae8HmSk5NJTk6ud3afz0d2djZz587lyiuvrB4/d+5cLr/8cqBh7+9U6IA/B/z48qn09BsA5rryWLr2I4cTiYi0bPfeey+LFy/mscceY/Pmzbz55ps89dRT3HnnnQA888wz9OvXr9Yys2fPZtasWeTl5TF37lwmTJhAv379uPHGGwEYPXo07du359prr2XFihVs2bKFuXPncueddxIKhRo1/3333cf06dN56aWXyM3NZcqUKezatav6wMITvb9GV9dpAK3t4fSpfkf717z/qz7177rncpyOIyJRIJJP9bPW2nfffdcOGTLExsTE2N69e9upU6faUChkrbX2F7/4hQ1X2jdmzJhhs7KyrM/ns2lpafbOO++0hYWFteZZunSpnTBhgm3btq1NTEy0Q4YMsY8//niT5H/22WdtZmam9fl8dsSIEXbevHkn/f7qcqqn+hnbRKcRtDQ5OTl22bKWdWe92184g3/HFALws5RruObCnzkbSERatdzcXPr37+90DGlEx/ubGmOWW2tzjjVNm/0ddN/5TxNftWnpLztfo6S0yOFEIiISDVT+DuqTOYyLPcMA2OE1PP32FGcDiYhIVFD5O+w/Ln+OToHwt/81xascTiMiItFA5e+whPgk+gXDp45s9FVo07+IiDQ5lX8LMKDjSADKXYY5n//F4TQiItLaqfxbgIk531wxatlXcxxMIiIi0UDl3wL0yRxGN3/4lMvNlXkOpxERkdZO5d9C9CZ8t6dNvkoKiwocTiMiIq2Zyr+FGJgyGoBKY/hg0asOpxERkdZM5d9CnD/yekzV1Ra/2PGxw2lERKQ1U/m3EJmd+9CjMnyzny2Brx1OIyLS8uzevZvrr7+eTp06ERsby4ABA5g3b16d8xcVFXHPPfeQmZlJXFwcY8eOZenSpc2YuLZp06bRo0cPYmNjyc7OZv78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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "for epsrel in [6.9e-06,6.9e-05,6.9e-04]:\n", + " params = oqupy.TempoParameters(dt=dt, epsrel=epsrel, tcut=2.5)\n", + " dynamics = oqupy.tempo_compute(system=system,\n", + " bath=bath,\n", + " initial_state=initial_state,\n", + " start_time=t_start,\n", + " end_time=t_end,\n", + " parameters=params)\n", + " t, s_z = dynamics.expectations(sigma_z, real=True)\n", + " plt.plot(t, s_z, label=r'${:.2g}$'.format(epsrel))\n", + "plt.xlabel(r'$t$')\n", + "plt.ylabel(r'$\\langle\\sigma_z\\rangle$')\n", + "plt.legend(title=r'$\\epsilon_{rel}$')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In summary, we may well be happy with the parameters `dt=0.125`, `epsrel=6.9e-05`, `tcut=2.5` for this model (we could probably use a larger `epsrel`, but the computation is so inexpensive in this example it is hardly necessary). \n", + "\n", + "So far we have discussed mainly how the environment - namely the memory length - dictates the parameters. We now look at what influence the system can have." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Resolving fast system dynamics" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the above you may have noticed that the results at `dt=0.125`, while converged, were slightly undersampled. This becomes more noticeable if the scale of the system energies is increased (here by a factor of 4):" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "../oqupy/tempo.py:865: UserWarning: Estimating TEMPO parameters. No guarantee subsequent dynamics calculations are converged. Please refer to the TEMPO documentation and check convergence by varying the parameters manually.\n", + " warnings.warn(GUESS_WARNING_MSG, UserWarning)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "----------------------------------------------\n", + "TempoParameters object: Roughly estimated parameters\n", + " Estimated with 'guess_tempo_parameters()' based on bath correlations.\n", + " dt = 0.125 \n", + " tcut [dkmax] = 2.5 [20] \n", + " epsrel = 6.903e-05 \n", + " add_correlation_time = None \n", + "\n", + "--> TEMPO computation:\n", + "100.0% 40 of 40 [########################################] 00:00:03\n", + "Elapsed time: 3.5s\n" + ] + }, + { + "data": { + "image/png": "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piuwC4sQEfkX4H+BwzhFrbfgtOPqLIpJMsa0AW3+z4lIN86/ZT02mgQR+TJwP3AIp4biH4By4LvZ/t4aUATMGPMTEZmFUzgzF2eewmuMMQeDvbJIWQf4q8E/4358F6c4SU3sA+5/H075/GeAT+f2UiJrDvB997/tOPMTXm2M+V2gV6XONAuAH+EcHTUBTwEvycVris6hUEoppVTatIZCKaWUUmnTgEIppZRSadOAQimllFJp04BCKaWUUmnTgEIppZRSadOAQimllFJp04BCKaWUUmnTgEIpFSki8q8iosOilAoZDSiUUlFzCfBM0BehlEqmkzKVUpEgIkVAF1Do+/R2Y8y5AV2SUspHMxRKqagYwllvDXApzu6blwV3OUopP10OppSKBGNMQkTmAp3As0bTq0qFimYolFJRshbYpMGEUuGjAYVSKkrWAM8HfRFKqdNpQKGUipILgM1BX4RS6nQaUCiloqQAWCki80SkJuiLUUqN0IBCKRUlfw+8DTgCfDHga1FK+egcCqWUUkqlTTMUSimllEqbBhRKKaWUSpsGFEoppZRKmwYUSimllEqbBhRKKaWUSpsGFEoppZRKmwYUSimllEqbBhRKKaWUSpsGFEoppZRK2/8PaASEHUPSnLIAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "Omega = 8.0 # From 2.0\n", + "Gamma = 0.08 # From 0.02\n", + "system = oqupy.System(0.5 * Omega * sigma_x,\n", + " gammas=[Gamma],\n", + " lindblad_operators=[sigma_m])\n", + "params = oqupy.guess_tempo_parameters(bath=bath,\n", + " start_time=t_start,\n", + " end_time=t_end,\n", + " tolerance=0.01)\n", + "print(params)\n", + "dynamics = oqupy.tempo_compute(system=system,\n", + " bath=bath,\n", + " initial_state=initial_state,\n", + " start_time=t_start,\n", + " end_time=t_end,\n", + " parameters=params)\n", + "t, s_z = dynamics.expectations(sigma_z, real=True)\n", + "plt.plot(t, s_z)\n", + "plt.xlabel(r'$t$')\n", + "plt.ylabel(r'$\\langle\\sigma_z\\rangle$')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The call to `guess_tempo_parameters` returned the same set `dt=0.125`, `epsrel=6.9e-05`, `tcut=2.5` as before, because it did not use any information of the system. We can change this, and hopefully resolve the system dynamics on a more appropriate grid, by providing the system as an optional argument:\n", + "\n", + "[Warning: long computation]" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "../oqupy/tempo.py:865: UserWarning: Estimating TEMPO parameters. No guarantee subsequent dynamics calculations are converged. Please refer to the TEMPO documentation and check convergence by varying the parameters manually.\n", + " warnings.warn(GUESS_WARNING_MSG, UserWarning)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "----------------------------------------------\n", + "TempoParameters object: Roughly estimated parameters\n", + " Estimated with 'guess_tempo_parameters()' based on bath correlations and system frequencies (limiting).\n", + " dt = 0.03125 \n", + " tcut [dkmax] = 2.5 [80] \n", + " epsrel = 6.903e-06 \n", + " add_correlation_time = None \n", + "\n", + "--> TEMPO computation:\n", + "100.0% 160 of 160 [########################################] 00:01:09\n", + "Elapsed time: 69.5s\n" + ] + }, + { + "data": { + "text/plain": [ + "Text(0, 0.5, '$\\\\langle\\\\sigma_z\\\\rangle$')" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhQAAAF7CAYAAACKMBL3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABnkklEQVR4nO3dd3xdZ5Xo/d9St7otS3LvjkucZjvFISHVgQktEC4JPTOUywB5h2Eq72XegbnAcIFhyMxQbhhmgNACoSVAiNMTiFPsOHbce5PVZfV+9Lx/7P3ss4+sfsreW17fz0cfy+dsHT2SZZ111rOetcQYg1JKKaVUMrKCXoBSSimlok8DCqWUUkolTQMKpZRSSiVNAwqllFJKJU0DCqWUUkolTQMKpZRSSiUtJ+gFRNXs2bPNkiVLgl6GUkoplTHbt29vMsZUjnSfBhRTtGTJErZt2xb0MpRSSqmMEZETo92nWx5KKaWUSpoGFEoppZRKmgYUSimllEqaBhRKKaWUSpoGFEoppZRKmgYUSimllEqaBhRKKaWUSpoGFEoppZRKmgYUSimllEpaZAIKEXmtiDwoIjUiYkTkrgl8zEUi8rSI9Lgf9/+JiAy75nYR2Ssife6fb03bF6GUUkpNU5EJKIBiYDfwF0DPeBeLSCnwKFAPXO5+3N8An/Rdswm4H/ghcKn7589E5MoUr31CuvsHg/i0SimlVNIiM8vDGPM74HcAIvLdCXzIu4FC4P3GmB5gt4isBj4pIl81xhjgE8CTxpjPux/zeRG5wb39nan9Ckb32121fPvZo5TNyOV7f3ZFpj6tUkoplTJRylBM1ibgWTeYsB4B5gFLfNdsGfZxjwBXj/SAIvJhEdkmItsaGxtTttAXjjXzyqlWnj7YyPGmrpQ9rlJKKZUp0zmgmIOz3eFX77tvrGvmMAJjzL3GmI3GmI2VlSNOb52S91612Hv/vudHHeSmlFJKhdZ0DigiY2V1CVcvrwDgZ9tOaS2FUkqpyJnOAUUdUD3stmrffWNdU0eGvW+Tk6Vo7x3k16+cyfSnV0oppZIynQOKrcC1IlLgu20zcAY47rtm87CP2ww8l/bVDXPzmmrmljlL/f7WEzg1o0oppVQ0RCagEJFiEblURC7FWfci9++L3Pv/WUQe933Ij4Bu4Lsisk5E3gb8PWBPeADcA9woIn8vIqtF5FPADcDXMvRleXKys3j3lYsA2FfbzrYTZzO9BKWUUmrKIhNQABuBHe7bDOCz7vv/5N4/F1huLzbGtOFkG+YB24CvA/8CfNV3zXPAncBdwC7gfcAdxpgX0vuljOzOKxaRm+303frdq7VBLEEppZSakij1oXgKkDHuv2uE214FXjvO4z4APJDk8lJidnE+K6tK2FvbzuGGzqCXo5RSSk1YlDIU54XlVcUAHNGAQimlVIRoQBEyKyqdgOJMWy9dfXp8VCmlVDRoQBEyy6uKvPePNmrXTKWUUtGgAUXIrHC3PAAON3YEuBKllFJq4jSgCJklFUVkuaWnRxo0Q6GUUioaNKAImYLcbBbOKgTQkx5KKaUiQwOKELKFmUcaNaBQSikVDRpQhJA9Onq8uYvB2FDAq1FKKaXGpwFFCNkMxUDMcKKlO+DVKKWUUuPTgCKElvtOemiDK6WUUlGgAUUI2QwFwGGto1BKKRUBGlCEUFlhLrOL8wE9OqqUUioaNKAIqeWVTsdMzVAopZSKAg0oQmqFb0iYMSbg1SillFJj04AipJa7dRSdfYM0dvYFvBqllFJqbBpQhNS88gLv/YZ2DSiUUkqFmwYUIVVVGg8o6tt7A1yJUkopNT4NKEJqTkJAoRkKpZRS4aYBRUhVluR779dphkIppVTIaUARUrnZWcwuzgOgQQMKpZRSIacBRYhVlTjbHlpDoZRSKuw0oAix6lJn20NrKJRSSoWdBhQhNqdMMxRKKaWiQQOKELNbHs1d/fQPDgW8GqWUUmp0GlCEWLXv6Kh2y1RKKRVmGlCEmK2hAN32UEopFW4aUISYP0OhR0eVUkqFmQYUIeYPKOraNKBQSikVXhpQhFhFUR7ZWQJAfYfWUCillAovDShCLCtLqCqxvSg0Q6GUUiq8NKAIOTt1VEeYK6WUCrNIBRQi8lEROSYivSKyXUSuHePa74qIGeGty3fN9aNcszozX9H4qjVDoZRSKgIiE1CIyB3APcAXgMuA54CHRWTRKB/yF8DcYW9HgZ+OcO2Fw647lNLFJ8F2y9SJo0oppcIsMgEF8Engu8aYbxtj9hlj7gZqgT8f6WJjTJsxps6+AcuBZcC3R7i8wX+tMSaWtq9ikuxJj47eQbr7BwNejVJKKTWySAQUIpIHbAC2DLtrC3D1BB/mQ8AeY8xzI9y3TURqReRxEblhjHV8WES2ici2xsbGCX7a5NiiTNA6CqWUUuEViYACmA1kA/XDbq8H5oz3wSJSBryDc7MTNsNxO/A24ADw+Gi1GcaYe40xG40xGysrKyf3FUyRvxeF1lEopZQKq5ygF5Ah78EJnu7z32iMOYATRFhbRWQJ8DfAsxlb3RgSmltpQKGUUiqkopKhaAJiQPWw26uBugl8/IeAnxtjWiZw7QvAysktL33mJLTf1i0PpZRS4RSJgMIY0w9sBzYPu2szzmmPUYnIFcAljFyMOZJLcbZCQqF0Rg75Oc4/k255KKWUCqsobXl8FbhPRF4E/gh8BJgHfAtARL4PYIx537CP+zBwyBjz1PAHFJFPAMeBPUAeztbIbTg1FaEgIlSV5nOqpYcGbb+tlFIqpCITUBhj7heRCuDTOL0idgO3GmNOuJec049CREqAO4F/GuVh84AvAwuAHpzA4g3GmN+lePlJmVXkBBRnu/uDXopSSik1osgEFADGmG8A3xjlvutHuK0DKB7j8b4EfClV60uXWYW5ALR0aUChlFIqnCJRQ3G+m1Xk9KLQgEIppVRYaUARAbOK4hkKY0zAq1FKKaXOpQFFBNgMRd/gED0DoekKrpRSSnk0oIgAm6EAaO7UbQ+llFLhowFFBMwszPPe15MeSimlwkgDigioKI4HFM1amKmUUiqENKCIgIQMhQYUSimlQkgDigioKIqPMNejo0oppcIoUo2tzlclBTlkZwmxIRP5gOLrTx5m65FmZuRlU1qQyzuvWMjGJbOCXpZSSqkkaUARAVlZwszCPJo6+yJdlLnzVCtffuRAwm1/ONzI1r+/iawsCWhVSimlUkG3PCLCHh2N8rHRR/bEJ80vmlUIQH17HztOtQa0IqWUUqmiAUVE2MLMKGcotuytB+CSheU88OebELG3143xUUoppaJAA4qIsEdHo1pDcaSxk8MNnQDcsraaqpICLltYDsCWPfXaUlwppSJOA4qIsBmKqAYUW/bUe++/7sI5CX8ea+riSGNnIOtSSimVGhpQRERFkRNQtPYMEBuK3qt5Wz+xrLKIFVXORPlb3IDCub9+xI9TSikVDRpQRMRMN6AwBlojVkdR397LK27h5et8QcTS2UWsdIOLLXu0jkIppaJMA4qImFUU3Xkej+6NZx9uWVudcN8tFzp/33m6jdq2noyuSymlVOpoQBER/oCipWsgwJVM3jMHGwGoKsnnkgXlCffdsjaesXjqQGMml6WUUiqFNKCICP88j5auvgBXMnmH3NMdly4sP6eB1UXzyyjIdX4MD9R1ZHxtSimlUkMDiojwTxyNUoaibzDGieYuAK8Y0y8rS7zbD9ZrQKGUUlGlAUVERDVDcbypG3soZaSAAuCCqhIgnslQSikVPRpQRERBbjZFedlAtDIUh31BwmgBxYpq5/bGjr7InWBRSinl0IAiQuzR0Sid8vAHFMsrRw4oVroZCtAshVJKRZUGFBFim1s1R6hb5mG3A+a8sgKK8kcebntBdTzQOFSvAYVSSkWRBhQR4mUoohRQuBmH5aNsdwAsmFlIfo7zo3ioQQszlVIqijSgiJBZEZvnERsyHHUzFKPVTwBkZ4m3HaIZCqWUiiYNKCLENreKSkBRc7aHvsEhYOyAAuLbHpqhUEqpaNKAIkLslkfPQIye/ljAqxnf4cZ4cLBilIJMa2W1U5hZ395HW090TrEopZRyaEARIRX+9tsROOkxkSOjI91/WLMUSikVORpQREi5r7lVFAozbUAxszCXiuL8Ma+9oNp3dFTrKJRSKnI0oIiQ8sJc7/0obAt4JzzG2e4AWDSrkDzvpIcGFEopFTWRCihE5KMickxEekVku4hcO8a114uIGeFt9bDrbheRvSLS5/751vR/JVMTpYDCGOMFFONtd0DiSQ+d6aGUUtETmYBCRO4A7gG+AFwGPAc8LCKLxvnQC4G5vrdDvsfcBNwP/BC41P3zZyJyZarXnwrlM+JbHq3d4Q4oGjv7aO8dBCYWUACsrNKjo0opFVWRCSiATwLfNcZ82xizzxhzN1AL/Pk4H9dgjKnzvfmPR3wCeNIY83n3MT8PPOXeHjplM+IZitaecNdQHG/q9t6fyJYHwNLZRQDUtffSOxD+UywT0T84xPYTZzne1BX0UpRSKq1G7oUcMiKSB2wAvjLsri3A1eN8+DYRyQf2Ap8zxjzpu28T8O/Drn8E+HgSy02bgtws8nKy6B8coi3kGYozrT3e+/NnzpjQx/ivq23r9QKMKNp5qpV/e/wQW482090foyA3i9/cfe2EszVKKRU1UclQzAaygfpht9cDc0b5GJu9uB14G3AAeHxY3cWcyTymiHxYRLaJyLbGxsbJfQUpICKUu1mKsG951Lb1eu/PLSuY0McsKI8HFP6AJGqMMfzl/a/w+P4Gut1+Ib0DQ/zfp48EvDKllEqfqAQUk2aMOWCM+ZYxZrsxZqsx5qPA74G/SeIx7zXGbDTGbKysrEzdYifBFmaGvSizts0JCErycygpyB3nasc8X0BRcza6AcWOU60cdbc4rrugko2LZwLwq1dqvO+LUkpNN1EJKJqAGFA97PZqoG4Sj/MCsNL397oUPGZG2cLMsNdQnGl1MhRzJpidAJhbHr/2dIQzFL94+TQAWQJf/h8X8+k3rgVgIGb4rz8cC3JpSimVNpEIKIwx/cB2YPOwuzbjnPaYqEtxtkKsrSl4zIwqjciWR127ExDMLZ9Y/QRAfk42VSVOA6yobnn0DcZ4aKfzI/baCyqpKing0oXlXLVsFgA/euFk6OtflFJqKiIRULi+CtwlIh8UkTUicg8wD/gWgIh8X0S+by8WkU+IyG0islJELhSRfwZuA/7D95j3ADeKyN+LyGoR+RRwA/C1DH1NkxaZLQ83QzFvEhkKiG97RHXL48n9Dd6/zdvWL/Bu/8h1ywHo6o/xgxdOBLI2pZRKp8gEFMaY+3GOc34aeAW4BrjVGGN/Oy9y36w84MvALuBZ9/o3GGN+4XvM54A7gbvc694H3GGMeSGNX0pSolCU2TsQo9ltDT6ZLQ+In/Q4E9Fag1+8XAM4tSO3rI3vpl13QSWr5zjtxR/aeSaQtSmlVDpF4tioZYz5BvCNUe67ftjfvwR8aQKP+QDwQCrWlwk2Q9EzEKNvMEZ+TnbAKzpXfXv8hMe8solveQDMdzMUta29DA0ZsrIkpWtLp5aufp480ADArRfNpSA3/m8jIty0por9dR0cqO+gvXeA0gkWqyqlVBREJkOhHP7mVmHd9rAFmZBYaDkRNqDojw3R1NmX0nWl25P7GxiIGQDeun7+OfdvXOzUURgDO062ZnJpSimVdhpQREyZb+JoWIv7bEEmTLwHheU/Ohq1kx6v1rQBkJeTxQb3qKjf+kXx27Yfb8nYupRSKhM0oIiY8oT22+EMKBIyFFPc8oDoFWbudgOKNXNLyc0+979WWWGuN69k+8mzGV2bUkqlmwYUEeOfOBrWwkzbvKm0IIei/MmV6fjbb0fp6GhsyLDnTDsAF80vHfW6jUucLMWOk60MxoYysjallMoEDSgixj9xNKw1FHVu2+3JZifACUKK3SCkJkIBxdHGTnrcgWYXzS8b9boNbh1Fd3+M/XU6pl0pNX1oQBExCRNHu8PZLdNueUy2IBOc0xB22yNKGQpbPwGwbsyAwldHcUK3PZRS04cGFBFTUpCDuCcpw5qhsFseU8lQAMxzA5HTEaqh8Aoys7NYWVUy6nVLKgqpKHKyTNs0oFBKTSMaUERMVpZ4WYow1lD0DsQ4665rsic8LFtHEaUtjz01Tv3E6rkl5OWM/t9KRFjvZile1oBCKTWNaEARQV63zBBmKKYytnw4e3S0o3eQ9t7wfY3DDQ0Z9pxxMhRjbXdYdvpoTWuPTh9VSk0bGlBEkM1QhHHLo9aXVZg3icFgfv6jo1Goozja1EVX//gFmZa/jmLnqdZ0LUsppTJKA4oIss2t2kJYlOnPUEx2jocVtYBit68gcyIBxQVz4jUWhxs607KmoBhjgl6CUiogGlBEULi3PHwZiikWZfp7UUShuZUtyMzNFlZWF497fWlBLnNKnWBrOgQUfYMxHth+mjf827Os+8dHeGRPXdBLUkoFIFLDwZTDNrcKY1HmGTdDUV6Yy4y8qQ0uqyopIDtLiA0Z7/HCzAYUq+aUTHhY24qqYuraezkU8YDiaGMn7/7PFxIyU3/9s52sm1+WkGlSSk1/mqGIIJuhaO8dYGgoXClm29TKvgKfiuwsobI4H4CG9vAPCDtY7zSounDu+Nsd1gq3BfeRxs7Q/RtOxle2HPCCCXsctqN3kL/+6c5If11KqcnTgCKCSt2Awhjnl3eY2NHlU62fsKpK3YCiI9wZitbufi9TtKyyaMIft9wNKHoHhiJ1PNavprWHR/bUA3DrRXPY+qmbuPPyhQBsPdrMd/5wLMjlKaUyTAOKCCr3TRxt7QlXYaYdOW4zDFNVVeIEJGHPUBxv7vbeX1wx8YDCDgkDONwYzW2P+7aeIOZmIf78uhXk5WTxD29cy+KKQgC+vOUAZ7vC9fOplEofDSgiKGHiaIjqKIaGDE2dzhPI7JIkAwo3Q1Ef8gzF8aYu7/2lsyceUKzwBxT10Qsoevpj/OSlk4DTV+OiBc52T1F+Dv/0lnUA9A8O8di++sDWqJTKLA0oIihh4miITnq09gx4r1hnJ5mhqHYzFK3dA/QNxpJeW7ocb44HFItmFU744yqK8rx/xyie9Pj1KzVeMHvXa5Yk3Pea5RXMdL82uyWilJr+NKCIoLAOCLPbHQCzi/PGuHJ8NkMB4d72sBmKuWUFkzrVIiLetkcUtzy++9xxwPm6X3fhnIT7crKz2Ly2GoBnDzXS1ReuOh+lVHpoQBFBZb4MRXuIMhRNHfEn/soktzyq/QFFR4gDCreGwtYNTIbd9jhU3xGphlCnWrq90et3Xr6I3Oxzf43YIKNvcIinDzZmdH1KqWBoQBFBZSGtoWj0ZShSVZQJ0BjiOooT7pbHZOonrOWVTkDR3juY8L0LuxeOtXjvX7eqcsRrXrNiNkVuxkYbXSl1ftCAIoLyc7IpdH9Zh6mGorHDv+WRmqJMgPqQbnm0dQ94k1Unc8LDSijMjFAdxQtHmwEoystm3bzSEa8pyM3m+tVVADyxr4H+waGMrU8pFQwNKCIqjCPM7QmP3GxJyKJMRUVRPlnivB/WXhT+gswlU9jyWFkdn+lxJEoBhZuh2LBkFjkjbHdYdtujo2+Q5440ZWRtSqngaEARUfGJo+EryqwoyifLRgNTlJ0lXh1GWDMUCQHFFLY85pUVeJmmqLTgrm3r4WSLUzdy5dJZY157w6pK8tyAQ4+PKjX9aUARUWEcYW63PGaXJHfCw/KaW4W0KPN4k6+p1azJBxQi4tVRRGXL40Vf/cRVy8YOKEoKclm/uByA7Sda07gqpVQYaEARUWEMKGyGItn6Ccue9GhoD/eWx5zSyR0Z9Vvutus+5muQFWbPH3UCioLcLC6aXz7u9ZctmgnAgbp2PT6q1DSnAUVEhTmgSPaEh1UZ9gyFG1BM5ciotcgt5qxr7w11Ay/rhWNOQeaGxTPJyxn/18elC8sBGDLxqaxRt/1EC5/+1as8daAh6KUoFSoaUESUDSjae8Lxqi+Vbbctm6Fo6eoP5SmBE24PiiVTOOFh2e6axkDN2XAPCWvo6OVooxNEXbm0YkIfc5kbUADsONmahlVlzoG6Dv70v1/k9m9u5QfPn+RPv/sS9209HvSylAoNDSgiygYUPQOxUDzZprLttpXQiyJkfRraegZocQdfTaUg0/K367bFjmHlr58YryDTqiotYH75DAB2nDyblnVlwpnWHm7/5nM8eSDepMsY+Idf7+Grjx6MVGMypdJFA4qI8nfLDMO2RyrbblvVCb0owlVHcSLJI6PWwlkzvPdPhTyg2H7CCQjycrK4xJd5GM+li5xrd5xqjewT778/cZhOtwbknVcs5L/u2khFkfNz/m+PH+LBnWeCXJ5SoaABRUSVFoQsoEhh223Ln6EI2zwPfxFlMhmK6pIC72hl2DMU+2uddturqksoyJ14Eard9mjs6ONMW7gCw4k42dzNz7adAuCm1VX889su5sbV1fzsI5u8oOKbTx2JbLCkVKpEKqAQkY+KyDER6RWR7SJy7RjXvk1EtohIo4h0iMgLIvLmYdfcJSJmhLeC0R43LPyNo8IQUKSy7baVOM8jXE9Ep331DpOZMjpcVpawwM1ShDmgMMawv64dgNVzSsa5OpE96QHR3Pa45/FDDLrbeX+5+QLv9mWVxfzZNUsB2F/XwXNHmgNZn1JhEZmAQkTuAO4BvgBcBjwHPCwii0b5kOuAJ4A3uNf/DvjlCEFINzDX/2aMCdez1whKZ4RrQFgq225bFcW+bpkhy1DUtDoBRXlhLkX5OUk9lg1ITraEtyizoaPPazO+Zu7I7bZHc+G8UnKznX/IVyJWmHm4oZNf7jgNwJ+sm8O6+WUJ97/rikUU5Dq/Rv/z2aMZX59SYRKZgAL4JPBdY8y3jTH7jDF3A7XAn490sTHmL4wxXzTGvGiMOWyM+SywHbjt3EtNnf8trV9FioQtQ5HKtttWdpZ4wUnYaihq3YBiXtmMca4cnw0oTrd0hzZtvq+23Xt/9dzJZSgKcrNZ6wYhO061pnJZaXfvM0cYMiCSmJ2wZhblcfv6BQA8eaCRww0dmV6iUqERiYBCRPKADcCWYXdtAa6exEOVAMNzrjNE5ISInBaR34jIZUksNWPCF1Ckru22nx0SFrZeFGdanQBnXnnqAoqOvsFQzWbx21cbf6JcPWdyGQqIb3u8WtMWilNJEzEYG+LRvU7L8JtWV3FB9ciBlN32APivPx7PxNKUCqVIBBTAbCAbGD4QoB6YM5EHEJGPAQuA+3w3HwD+DHgL8E6gF/ijiKwc5TE+LCLbRGRbY2PjSJdkTNgCilS33baqQ9rc6oyboZhfnny5zcIIHB219RPVpfnMKpr8v7FtcNU/OMTB+mi8it9+4qy3zWMHnY1keWUxN7mTVX/5cg29A+FvUKZUOkQloEiKiNwOfBl4lzHmhL3dGLPVGPM9Y8wrxphngTuAI8DdIz2OMeZeY8xGY8zGysrKjKx9NHk5WcxwK+3DUEOR6rbbVlUI22+39w7Q4R4hTEWGYuHMCAQUboZiKtkJSKy72F8XjYDCDjTLErjRDRhG8/YNzrZHz0CMrUe1OFOdn6ISUDQBMaB62O3VwJg1DyLydpysxPuMMQ+Nda0xJgZsA0bMUIRNmNpvp7rttmWPjjZ39TMQC0eq3GYnIEUBha8XRRgDir7BGEcaneFlk62fsJZVFnmFmQfq2se5OnjGGG+7Y8PimVSM83N9zcrZ3tf35P7p05K7tq0nVMG8CrdIBBTGmH6cgsrNw+7ajHPaY0Qi8g6cYOIuY8wD430eERHgYpxiz9ALS0CRjrbblr+nRXNnOEa1pzqgKCnI9bYRwtjc6khDl3dscs0UMxS52VneZNUoZCiONHZy3G2tfvOa4a9jzlVSkMsVbvfQx/c1hLa4dqJONnfzyZ++wmu++ARXf/EJPvebvbT3Bv/CRYVbJAIK11eBu0TkgyKyRkTuAeYB3wIQke+LyPftxSJyJ/BD4O+BZ0Rkjvs2y3fNP4rI60RkmYhcCnwHJ6D4Vua+rKkLS0CRjrbblv/xmkLSfrumNf6KbX4KAgqI11GEMUOxv27qJzz8Vrn9Kw5EIKB4dG88y7B57fgBBcANq5xtkZrWHg5FZBz9SO57/gQ3/stT/OLlGoYMDA4Z/vMPx7jxK0/xh0NNQS9PhVhkAgpjzP3AJ4BPA68A1wC3+moiFrlv1keAHOBrOBkH+/YL3zXlwL3APpwTI/OB1xpjXkzPV5FapTOc/gdBBxTpaLttVfqKPBtDUphpMxQ5WZKyrqCLQh1QOAFAbrawbHbxlB/HBhQNHX2c7QpHtmk0tn5iWWURyyon9jXf5MtkPL4vmtsehxs6+KeH9ngZqddfOIfLlzgndJo6+7n7xy+H/t9OBScyAQWAMeYbxpglxph8Y8wGY8wzvvuuN8ZcP+zvMsKb/5q/NMYsdh+vyhjzOmPM1sx+VVNX6k0cDTigSEPbbe/xisM3IMwGFHPKCshO0RHZRW4dRW1bb2hqRSzbg2J5ZfGERpaPxt9hM8zbHk2dfbzsdvScaHYCYOnsIpa6bdijWEdhjOF//XI3AzFDlsCPPngl33rvBn76Pzfx2TdfCMDZ7gH+z+/3B7xSFVaRCihUorBseTT5XrGkfMvDl6EIy5aHDShSUT9h2QxFbMhQ2xquIjj75D/ZDpnDrfLVX4S5MPOFoy3YEogbV419umM4expk24kWWruj9Ur+5y/X8II7UfZ9m5Zw9YrZAIgI79u0mOsucE62/eSlU2w73jLq46jzlwYUEWYDiq7+WKCvalt8T/RT6VEwlsK8HArznOOx4dnycJ7wU1U/AeHtRdHS1e9931dNcobHcPPKCigpcLbpDoS4F4WdqpqbLZOaqgrxgGLIwNMHg+1VMxmt3f184Xf7AKgqyeeTtyR2BRUR/uktF5LvZqicTEa4MmkqeBpQRFhZSOZ5tPgyFOUparvtZ7dRmkJwymMwNkRdu+2SmboZcmHtRXG0MV5cuLJq6vUT4DwprXK7TYZ5y2P7CefV97r5ZZOaqgpw+ZJZFLkB8NYIDQv7yUunvP/H//imCxOmGVuLK4r4+A0rACcg/O2uSByGUxmkAUWEJQQUvYOBraPFTe2WF+aSk536Hym7jdIUggxFQ0efd6IllVsec8oKvEFoNa0hCih8Y9qXJjGm3bJZjoN1HQwNhe9oZU9/jD1nnO2YjYtnjnP1ufJysljvftxLEdkWMMbwU3c8+4qqYm69aPSuoB++bpmXhfzRiyczsj4VHVP+7S8iC9wZGyogYWm/bV/ZpHq7w7InR8JQlJnqHhRWbnYWc0qdjEeNbzR60I42OgFFTpYkbMtMlQ0ouvpj3sTWMNl5utU74bBhCgEFwMbFzsn0I41dNIfgZ3Y8L5886/0737FxIU47npHl52R7XUFfPNbiNTyLurNd/ew81apt05M0qYBCRC4Tkc+KyE7gBNAkIj8TkfeISHlaVqhGFZaAwjacqkhTQBHf8gj+l7P/STCVNRQA82fOOOdzBO1Yk/OEsWhWIbkpyD6tqg73SQ9bPwF4mYbJsscshz9eWN3/kpOdyMkSbrts/rjX33H5Qu/9n0Q8S9HQ0cvnfrOXTV98nLd8/Y9c/rnH+Ouf7eTV021BLy2Sxv0N4TaR+jcROQE8jtOW+gvATJxeEDuBvwDqReRxERlxDoZKvbAEFOnPUDgBRWv3QOCFYGd8JzDmlqWuhgLiAUoYMxSp2O6AxFkgYTzpYQOARbMKvbbvk3XponLvOPG2kAcUXX2D/MathbhxddWEjn0vryzmSrcr6M9frqFvMJqv6p873MR1X3qK//zDMXoHnN8rHX2DPLD9NG/75h957og28ZqsibzkuAIQ4ANAlTHmXcaY+40x7caYXcaYzxljLgeWAT8H3pDG9Sqf8y2ggODbb9stj9KCHEpGKFxLhs1Q1LWHoxdFbMhwwm0/vawyNQFFWWGut7UTtgzF0JDxAoqp1E9YhXk5rJvnBE5hr6P47au1dPc7AcE7Ni4c5+q4d17h9BBs6epny57hQ6DDr769l7t/vIMed4tj07IKPv/WddyytpqcLGEgZvif923nUIhPI4XRuAGFO43zbmPMY8aYhMo/EVnvu67GbTz1+nQsVJ2rNASnPIaGDGe70xtQ+F81BX10NB09KKz55U6NwpCBurbge1HUnO2h3w1slibRIXO4C9w6isMha099pLHTC8ynut1hbVzivIJ/9XQbPf3hfQX/wLbTgPN/7PpVE5+g/Pp1c7wXNHbLJCoGY0Pc/eMdNLsvhL74tov48Yev4t1XLube923kK//jEgA6ege5679foqEj+P+LUZHspuiLIvJV/w0icmuSj6kmqCA32+tcGFSGoq1nAFusP6sotU2trDDN87D1Damun4B4hsL/eYJ0tCn+hJ+qDAXAcvexjjV1eSdmwsBf77BxSXIBha2jGBwyvHKqNanHSpeWrn5eco/IvuWSeZM6oVWQm81tl84DYOvR5ki14/7aY4d40W3g9Y6NC7jzikUJ99922Xz+2u3DUdPawz/8anfG1xhVyQYUrwLtIvLfvts+l+RjqknwumV2BxNQNPt+kaStKNMXUAR90sNmKOamsAeF5Q9SwlBHccx3ZHRZimooAG/qaN/gUMKpmaDZeoeS/BxWViXXxGvDYm8GYWi7Sj59sMHrCHrTBCaqDve6dc7x0tiQ4YmItBo/2dzNN58+AjgFwp9987oRr/vYDSt448VzAXhkT73Xm0SNLdmAwhhjPgPsFJEHRCQXp95CZUjQ7bf9Ta1mpquGIiQDwrr7B71+H3PL0rHlEX/MMDzR2oLMorzslM5oWeFrkHU4RMcOd7qZBH9R5VRVluR7hawvhbQw88n9TifPkvycKWVkrlgyy/v98+jeaNRRfPPpI15W7F/ecQkz8kZuXCYifOrWNV4G+IsP74/8SPpMSDagaAcwxnwNeAh4EEj9b1o1qjAFFOnKUBTm5XjdB4Pc8qhvj3/u6tLUZyhm5GV738MwbHnYDMWyyuIxexNM1nLf9M4jIamj6OmPeT0V1s0vS8lj2m2Pl0+cDdXWDjh1BLY1+LUXzJ7SkeCc7CxucluNP32wMfQ9HGrbevj5dqdm5KbVVeP+O88vn8GfXr0EgJeOn+WxiE6QzaTJ9qFY5v/7sMmd38MZBT65aToqKTagaO8NPqBIV1EmwOwQtN/2F0rOSUNAAeHqRWHbbqfqyKg1uziPUnemR1gaI+2va/dqgS6cl9wQNMs2xursGwzN12m9cqrVexFywyQHoPndcqGzVdIzEOMPh8J9zPLeZ456RcYfu3HFhD7mo9ev8H5W/8/v94cuMAybyYalh0TkztHuNMb80hgza7T7VeoFn6FI32AwP1uY2RhgxXV9uy+gKEtPAWpYelH09Mc44wZQqQ4oRMTb9jjS0DXO1Zmx+0y8J8a6eanJUFy8oNx7f1fIGiU9eSD+avu6SZzuGO61F1R6A8PCvO3R1NnHj90mXK9ZUcH6RRPb4ikrzOVj7vySww2dPLYvvF9jGEw2oBDgL0TkgIjsF5H7RGRzOhamJibogMIWZRblZU96kNJk2MLMQDMUvoCiKl0ZivJ4hiLIPduEgswUnvCw7LZHWGoo9p5xnvCL83O8UfLJWllVTEGu8yt21+nWlDxmqjzh1k9cvKBsyg28wNmOvMYdc/7YvvrQvoK/b+sJr3mVDRAm6r2bFlOS72QpfvD8iZSvLV2ON3Xx/v96kcMNmeulMZUaikU4DazuA4qBX4vIf4qIDhoLgO1F0dE7GMh/ZntcLF0FmZYtzAy2hsIJKArzsr1fMKlmtzz6BocCDZ4ST3ikrgeFtdzNULR09SdsmwVld42ToVg7r5SsJAsyrZzsLC50sx07Q5ShqGvrZV+t8/Ven8R2h2W3PZq7+nn5ZPgKUIeGDA+4tRMXzS9j07KKSX18YV4Ot7vzS5491JQwgTesjDH844N7ePpgI7fe84eM9bWZShDwLmPM/2uM+bwx5q3AxTgtuP8utUtTE+HvltkRQB2FzVCkqyDT8rff7h8MpoukDSjmlBaktEjRL+HoaIB1FP5fmkvTmKEY/rmCMBAb4oDbtTNV9RPWxQucgGLfmfbAfm6He/pgfLvjxtXJBxT+I6dPH2hM+vFS7fljzd7/pf+xccGU/u++d9Ni7/37IpCleGRPnVd0e/uG+cxJ8ZiA0Uw2oGgCEkpdjTGHcWZ5fDBVi1ITF3T77XS33bb8xxabu4LJUtgoPx0nPKyE5lYB1lEca3YyFJUl+RSnIRvjPzoadMHi4YZOr1gvVfUTlg0o+mNDHAxJG+etR5oBp338RSk40TK7OJ+1c51A7NnD4SvM/Pn2GgBys4U3XTxvSo+xvLKY16xwMhsPbD9Nd//gOB8RnK6+QT770F4AZhbm8revW52xzz3ZgOIV4MMj3H4CGH9MnUo5W4EMQQcU6SlStBK6ZXYEkyK3x0arS9P3tS4oj+/f17R2p+3zjOekO8NjSUVq6gmGWzhzBrnZzivFoFtw766Jb0dcOD/VGYpy7/2dIaijMMbwgtsl8oqlFUn327CuXenUUbx6ujWwJnsj6eob5OHdzvCzm1ZXJ7U1+96rlgDO9vKvXzmTiuWlxb89cYha98XP371+ddq3o/0mG1B8GviwiPxURK4XkVkiMh/4B+Bo6penxhNkhsIYE9/yKM7MlgdAY2fmT3oMDRmvp391GtOHpTNyvIxAkBmKEy1OQLFoVuq3O8CpL1hS4Tz2kcZgT3rscU945OdksaIytfUiSyuKvHqbXaeCr6M42dLtPdlctSx1B/KucQOKIQNbj4YnS/H73XXe8LO3u3UQU3XzmipvwnBYx7afaO7iO88eA+CyReWTGviWCpMKKIwxLwJXAhXAo0AjcBJ4C/DJlK9OjausMLiAors/5u0LzyxMb0BRVRJshqKlu5+BmFP0mq4eFOAcqfSf9AhCd/+g15F0cZoyFBDf9gh6y2OvG1CsnlMyqXkWE5GVJV4DpTBkKJ4/2uy9f9UkixPHcvmSWV5XyWdD1I/CFmNWFOUldTwWnCDYBiU7T7cF/nM7km89fZRBtzj/n968LmUFxhM16f89xpjdxpibgDnAnwBvBBYZY36f6sWp8ZUlTBzN7L5eJrpkWrMDnufhr5JOZw0FxOsoTgeUoTjZEt9qSWdAYQszT7V0B9ZlcWjIsMc9Mro2xfUT1sULncc91NAZ+OTR54862x0lBTmsmZu67Z2C3GyvM+gfQlJHUd/ey1Y3gHrLpfOn1A10uNsui+/s/2pHTdKPl0r17b0JnUAvWpCen+exjPsdFpFFInLOT54xptkYs8UY87AxpsV3/cWpXqQaXZBbHs0Z6pIJTlvqINtv+0cYpz2gCDhDYesnABamqCfDSJZXOVseQwaONwez7XGipZsu90l+XYrrJ6xL3DqK2JBhb21w2x7GGF5wn2CvXDorZfUT1jUrnAzAieZuTrUEV/9j+RttvemSuSl5zOWVxVziPlH/ckdNqOZ7/Oez8U6gH51kr41UmUjI9gagUUS2iMjHRCRhU0ZEskTkBhH5mogcA55Oy0rViGbkZnvFbZkOKBK6ZKa5hgLiJz2CGBBW1xb/nOk+gmUzFB29g4G0VE/IUKQxoFhRGZ/oGVTHzL2+DpkXpilD4T9JsTPAOopTLT1e99NUbndYtjATwpGlsAFFVUm+F9Slgs1SnD7b402oDdrZrn5++IJT13HVslle2/dMGzegMMZ8E1iJM/jrNuCwiGwXkf8tIvfhHCX9PpAHfASd5ZFRIhJYt8yWrvjnm5XmGgqIb3sEkaFI6JKZwsmbIwl6jPkJN0NRnJ+T1syTvwNnUPvRB+qcgELEGWedDgtmzvC+j6/WBBdQ+Osnrlya+oBi7dxSZro1XUHP9ejsG/SOx960pjqltQRvumSel935ZUi2Pb639bhXfDrZTqCpNKFNJWPMSWPMfxhjNuMEDP8KLMMpyHydMWahMeajxphHjDHhOTN0nrDdMtuneYZidoDtt+vdV3azi/NSshc7lqB7UcRPeBSmrYEXQFF+jlc1H9TR0X1uQ6slFUWjjrJOloh4/SiCLMx8/pjzBFuSn8PaFDfwAqcA9Wq3DfcfjzQxFGAb7qcPNHrp/1vWVo9z9eTMLs7nuguc7Z3f7qqlbzDYupiB2JCXnbhofpnXCj0IUynKbDPG/MAY825jzP8yxryUjoWpiQsqQ2FrKHKzJW2tqP1s++0gtjzqO9Lf1MpaEHC3TLv/nc6CTMsWZgaXoXACinRlJ6yL3W2Po41dgU0GfuGo7T+R+voJ61r3yay1e8A7jhuER/fWAc6MoU3LU5+NsdsebT0DPBVwd9DH9tZ7vxPff/WStL4IGI/O35gGAtvy6Ix3yczED3FlsfNk3taT+fbb9pRHOo+MWrOL88lzsyCZDihiQ4bTZ+MZinSzR0ePNnZl/BVtZ9+gVy+yem6aAwrfHv7uAOZ61LT2eD9Lly9N30Do1/heHT97OJgn2oHYEE/sdxo6X7eqMi1DCzevqfaKxB/cGWyTK5udKC3I4Y0Xp6b4dKo0oJgGSguCqqHITJdMy2YoIPPtt+0cj3Q2tbKysoR55c7nyfSWx5nWHq/fxqKMZCicOoqegRhn2jL7tfpbYa+ek+6AIl6YuSuAOoptx72DeN7xznRYOKvQ664aVB3Fi8daaO91jtBvTvF2hzUjL9t77Mf31dPVF0wr7uNNXV4B7NvWL0jrxOeJ0IBiGggsQ9FtA4rcca5MjYReFBnc9ugdiHHWbSdcncSo58nwelFkOENxKuGER3q6ZPr5h4RlumPm/tp4QLFqTnqOjFpVpQVediuIUebb3dMIeTlZXqOtdLFdM7cdPxtI3w17uiM7S7ghBdNUR/OmS5y5IL0DQwlHVDPpxy/FO3a++8pFgazBL3IBhYh8VESOiUive9rk2nGuv869rldEjorIR5J9zLAp80aYD2Q0bZzpDIV/QFgmT3r4g5c5ZZn5Wr1eFBnOUJzIUFMrK2FIWIYLM+0Jjxm52RnZ3vEKMwM4OrrtuBNQXLKgjPyc9L6KtUWB/bEhXvJlRjLBGOM9uV+xZBblaTx9du3KSu9370MBbHv0Dcb42TankdUVS2axMs11QBMRqYBCRO4A7gG+AFwGPAc8LCIjhmYishT4nXvdZcA/A/8uIrdP9THDyP5QDxnozOAUvJYMjS63KgMaEOY/MpqJokyA+e6QsKbOvox2kbRHRnOyxDuBkU6VJfleQW+mCzPtCY8LqovTVqTod8nCcsCpZ2jOYEDc2TfIfjd42rA4ffUT1qbls7Hfzkz3o9hb2+7ViqRru8PKy8ni1ovmAPDMoUZauzN7+uyRPfXe7+B3hSA7ARELKHDmhXzXGPNtY8w+Y8zdQC3w56Nc/xHgjDHmbvf6bwPfA/46iccMnYRumRma9Nc/OESHu0+Z7jkeVlDtt/1tt9Pd1MryHx09k8Ftj5MtXd7nT/Vci5GICMvcLEUmj44aY7wTHqvTvN1hBVVHsePkWWzicmMGGh6Vzcj1ilAzXUexZU986yHdAQXEtz0GYoaHd9el/fP5/eiFE4Azovz16+Zk9HOPJjIBhYjkARuALcPu2gJcPcqHbRrh+keAjSKSO8XHDJ3SANpv+6PxTPSgAKcQyk7izGQNRb0/Q5GpGoqAjo6ebMncCQ9rhXd0NHM1FPXtfd7/lVVpLsi0/B0zMzl59KXj8W6OmeqgaLtm7q1tz+j2pN3uWDO3NK1t460rl1Z4je4ezOBI88MNnd5clrdvCL4Y04pMQAHMBrKB4dUv9TiDykYyZ5Trc9zHm9RjisiHRWSbiGxrbAz27LFf4oCwzAQUCXM8MpShAKexFGS2hsIGFHk5WZQXZqYAdUEAza2MMd6WRybqJyw706Opsy9jGbZ9dfEeCek+MmqVF+Z539dMFmZuP+E88ayoKmZmhrYn/cdH/5ihbY/TZ7vZW+v8u2YiOwFO4ecbL3ayFM8fa0548ZFOP/aNT3/nFeHY7oBoBRSBM8bca4zZaIzZWFmZ3CjcVApiQNjZDA4G8wui/XZdu/O55pQWZKxpzJyyAm8fOlMZitbuAW8bKxMnPCz/SY/DGaqjsNsdkLktD4j3o9hV05aRwVKDsSF2nGwFMrPdYa1fNJNCt09DprY9HvOdtEh1d8yx2MFjxsBvdtWm/fP1DsT4+ctOMeamZRUs8/3/CVqUAoomIAYM/0mpBkbbvKob5fpB9/Gm8pihU1aY+YAik5NG/YIYEGbbbleXZuaEB0BudpZXAJqpDIX/hEcm0sVW4tHRzAQU+91XslUl+Rn9+bUdMxs7+hKKfdNlf12HN+MhkwOj8nKyuNJtoPWHw00ZCZ4e3ecEFPPKCrgwDa3FR3PpwnJvizATTa5+92otrW4m791XhSc7AREKKIwx/cB2YPOwuzbjnMwYydZRrt9mjBmY4mOGTiAZiu6gMxSZP+WRqRMelq2jyFQvipMZPjLq/1w5bjomYwGFbbmdofoJy1+YmYnjoy8lNLRK/wkPv2tXOlnc2rbetP+7tnUPeDUFN6+tzmj7aRHxshQ7T7Vyojm9tUA/cjtjzi7O45a14SjGtCITULi+CtwlIh8UkTUicg8wD/gWgIh8X0S+77v+W8B8d7T6GhH5IHAX8JWJPmYUFOVle8feMpah8D2hZ6quAOIBRVvPQEaG8hhjvH3RTLTd9rMnPTKVoTjp+0WYyaLM3OwsL4DJxBjzgdiQ9wS3Zm7mXskCrJtfhn2ue7WmNe2fz47Xnl2cl9EgERLHmT+b5m2PJw80EHOPsmSqfsLvzZfM995P57bHgboO79/07RsWkpcTrqfwcK1mHMaY+4FPAJ8GXgGuAW41xpxwL1nkvtnrjwG3Aq91r/9fwP9jjPn5JB4z9ESE0gLn9EOmBg/ZDEXZjNy0T9/08ze3as5AlsIJXJy5IZk6MmrZDEVdey+DsfTPLrEFmbOL8ynKwLA3v0wOCTva2OW1F0/3ULDhivJzvFMtu9I808MYw3b3hMeGxTMzPjRqRVWxt02Y7joKe7qjpCAnLaPZx7NqTon3s5TO0x72qCjAu0JUjGlFKqAAMMZ8wxizxBiTb4zZYIx5xnff9caY64dd/7QxZr17/VJjzDmZh7EeMyri7bcz09iq2euSmbntDoif8oDMFGb697mrAspQxIYM9RmoGYmPLZ8xzpWpZztmnmzpTnvmaX8AJzz8vMLM0+ktzKxp7fF+fjdmoKHVcCLibXtsPdqctoF+fYMxnjrgDAO7YVVVYK/a33ypc9rjQH1Hws9YqnT3D/KLHTWAk/3JxKydyYpcQKFGlul5HmeDCigy3H47oalVQDUUkJltj/jY8syd8LBshiI2ZDjZ3D3O1cmx9RPZWZLQ+jtTLlno1FG09Qx4WaF02ObrP7ExjQPBxmK3Pbr7Y+w4eXacq6dm65FmutzC0yC2O6w3ucdHAR5wW2Kn0m921nqnsMIwt2MkGlBME6UZDihsy9dMdcm0KjM8IKyh3TfHI8MBRUIvitb0Psn2DsS8V7OZrJ+wlvue2NPdMdOe8Fg6uyjtcy1GktDgKo0dM7e5/Sfyc7K4cF56B4KNJmGceZq2Pba42x252cL1q4I7zr+oopCrljmZoF/sqEl5RuaHbu+JypJ8bloTXOA0Fg0opgmbochUY6tMz/Gw/O23M3HSI3HLI3PHRgHmZTBDcfpsNzb7nuniPYiPMYf011HEW24HM0xpzdxS71TLrlOtafs83kCwheWBbQPMLs5nrVv4+mwaGlwNDRmv/8RVyyooKchcgfhI7rh8IeD8fnxsX+omkO6uaWOn+7Ny5+ULM1q3NhnhXJWatExueRhjvKLMTHXeszLdftsGFOWFuRlvb1uYl+NtKaW7uZU/9R5EQFFSkOsV8KWzBXdbzwBn3G2soAKKgtxsr3YjXYWZ7b0DHKh3AqfLA9rusOy2x67TrSkfirarpo0G9/dAJptZjeZP1s2lxC2Qv/+lUyl73P/+43EAsiQetISRBhTThD+gSHcTmY6+Qa9KPtMZCogXZmZiQJhtapXp7Q5rXrnzeU+nOUNxMqCmVn6ZOOkRVIfM4S6aXw7A7jNt3nHHVNpxstXLOAVRkOl34+oqwOkk+eSB1I4seHRvvP/gzSEIKApys7ntUucI6TOHGlMy2K+hvZcHdzrFmK9fN4cFM8NXjGlpQDFN2IAiNmS8AqV0afFtNWQ6QwHxo6NNGchQ1HcE09TKsoWZmcpQFOZlJ9SpZJIXUDR0pi0oPuCrvs90Uyu/S9wGV939sbQEUNt8Da3WLwo2Q7Fh8Uzv95O/PXayjIlP+Lx4QRlzyzJ/OmkkNoNgDPwsBcWZ3996wnsB94FrliX9eOmkAcU0kclumS2+LpnBZCgyN8+jrs35HJlsu+03v9x5NXKmtSetmSf/lNFM9yuw7ImLrv5Y2tpS73MzFMX5OQlFr5lmj44C3t54Ktn6iQuqixNa8wchJzvLy1I8c6iR3oHUvODZX9fBUXd77NaL5qbkMVNh3fwyr/X3T146mVRxZk9/jB+6vScuW1Se0fbpU6EBxTSRyYmjQWcobECR7hqKgdgQzV3xwWBBsL0oegeGEuanpJptFxzECQ8rYaZHmjpmHvC13A4qcAJYWV1Mvlsomeo6ioHYEK+4QcrGDLfbHs1Na5yAors/xvNHm1PymL97Nd6R8g0hCigA3nvVYsBpO/7rV2qm/Di/2HGas+7cjg+GPDsBGlBMG6XnUYbCbnm09w6mtQlSQ0eftw9dneEumVYmelEMDRlOuY8daEBRFT/pcbihY4wrp8YYE/gJDys3O8s7Prr9RGr7M+w63UaPmwUIuiDTeu0FleRmOwFcKk4/GGP4rdvi+uIFZYHV/Yzmrevne1nNbz19hKEp1MkMxIb49jNHAef3wOsuDL5GZDwaUEwTGd3y6ApHhgLSe3S0vj24plZWYi+K9AQU9R29Xlo2iBMe1pzSAorckdfpOOlx+mwPnX1OY6CgAwqIZw/217WntGW+PwNw1bLMt6EeSWlBrtcS+/F9DUlv3+2r7eBok/MzErbsBEB+TraXUTjS2OX1ypiMn7x0iuNubdOHrl1KTkiPivqFf4VqQjIZUNgumXk5Wd4TQCZVlWSmuVW9r0tm0EWZkL4Mhf/I6KIAumRaIuI1uEpHoeJ+/wmPDA8FG8kVS53swZBxTmWkig0ollQUhqZQEeBmd9ujtq2XPWeSa03t3+4IU/2E3zuvXOTNWPrm00cmFUR19g1yz2MHAVg4awbvDGlnzOE0oJgmSjNYQ+HN8SjMC2Qf2j8grCFNxXuQ2NQqqICivDCXQjdoS1eGwt/qenHAqeN0Hh3deyYcJzysDYvi9Q3+UxnJGIgNeQWZm5aHIzth+bs7btlTN8aVYzPG8Fs3oLgkhNsdVnF+Du+/egngFN4+dXDiR2a//cxRL/v6N69bHUhH16nQgGKaKMnP8cYiZypDkek5Hpa/Y2VDOjMUbtvt3GwJpFYEnFftNkuRrl4U9oRHliR25wyC7ZhZ396X8sm5e2ud4sdFswopDbijIkBZYa43ofKlFAUU/vqJsGx3WAtnFXp1I798pWZKdQUAu2vaOWa3Oy4OZ3bCuuvqJV4W9x9+tZuuvvGHNza09/LtZ53aiYvml/HGkGZgRqIBxTSRlSXeL8l0BxRBTRq1Zhfne8FTegMKJ0NRVVJAVlZwJwLsSY90ZSjslNF55TMCa9Fs+Yd1HU1xHYVNs68NwXaHZYd2vXKqNSWzH/z1E0GM8R7P7eudpk+nWnp4cYpB1I9fcmZaZAm80TeQK4wqivP529evBpwXBF/ZcmDM62NDhr/86St0u72EPnXr6kB/90yWBhTTSKbab9u220EFFLnZWcxyh5I1dqRxy8Otocj0DI/hvOZWZ9MzIMweGV0SYP2E5Q8oDtal7qRHW8+Al+GxPQLC4HK3MLN3YIg9Z5I/PmoDiqWzi5gT0Mmksbz50vneaY+fb59806fOvkF+7Y7wvmFVVeAZtYl471WL2ej2j/juc8fZfmL0QOpfthzgj4edf8PbLp3H1ctnj3ptGGlAMY1kKqCwfSiCCiggXkfhnwaaajZDEdQJD8tmKNp7B+lI8TaAMcZLHy+ZHfxe9JKKIi9Lsrc2ucI9P3/9xNowBRRL/XUUyR0f7R+M10/YqZdhM6sojxtWOcWZv3u1lu7+8bcA/B585YzXCfhdUSlUzBL+z9svJi8nC2Pg4z/akfDzaP1+dx3feOoIAKuqS/jC2y7K9FKTpgHFNJKJgKJ/cIgOdx8wyICiyn2ST+c8DxtQBFWQaSWc9EjxtkdLVz8dvc6/ZxgyFDnZWV5dwf66FAYUvuAkqFHeI5lfPoN5biYh2TqKV2taQ1s/4Xf7hgWA0xH1kUkWZ/7oRadr5NyyAq67ILhR5ZO1vLKYv77lAsA55fL2bz3H73fX0jcYo6N3gP/v17v58x9uB5x6uG++Zz2FeTlBLnlKordiNSrbYretO30BxdnuYHtQWHbeRLoyFB29A94roaADioReFGd7UjrU6rjvhEcYAgqANXNLeLWmjX21HRhjUnKSyG4nzCrKC6yN+mg2LpnFgzvPsO3E2aS+3q1Hwtd/YiQ3rKpiZmEuZ7sH+Pn2Gt562YIJfdyu063srnECwzsuXxiJvgx+H7rW6Uvxzw/vp7s/xkd+8DIAedlZ9MeGvPe/eselLPN1jY2SaP2LqDHNdAMK/5N+qvmbWgV18gHidQ1NnX1TrhYfS52vB4Wd+BkUO88DUp+hON4UL3xcMjssAYUTMLX1DFDblpoaGZtivnBeaaAtt0diu1m2dPVzuGHqx2XtJM/llUWBB8FjycvJ4i3uRM4/HmlKmAA7lvu2OtmJsI/wHo2I8OHXLufe9270joIDXjBx1bJZPPyJa9kcgqmpU6UZimmkfIbzBN/WM8DQkElLdXBCl8zCAAMKt4ZicMjQ0t2f0D0zFWpD0NTKqirJJzdbGIiZlDe3Ou4WZGaJ00AnDNb4TmHsq21PuvCudyDmPVGH6YSHtclXePfUgUZWVk++R0ZLVz8vn3TqJ/z9HsLqvZsW8/2txxky8JUtB/j2+zaOef3B+g5+/rJTxHnzmupQNeyarM1rq3nsk9fxzMFG6tv7aOnqY8OSWbzp4rmhC3YnSzMU00i5m6EYMnj74qmWkKEoDjKgiD/Jp2Pbw5+hmBtwtXxWlni/QFOeoWiOHxkNS/OcNXMSA4pkHarvZNDNYoWpINNaXlnkBXNP7G+Y0mM8daDBmztjJ3uG2fLKYm5f72x1PLq3nh0nxy5I/cLv9jFknMD3r25ZlYklptW88hncecUi/uLmlXz2Let48yXzIh9MgAYU04o/Y9Dak55tj9BkKBKaW6X+6GgYumT6eUdH07TlEZb6CXBqgezXu682+aOjtqEVhOvIqCUi3OiefHjpeMuUTvI87gYipQU5oR9xbX1i8wXkuXUQX35k9P4Mzxxs5Cl3O+eOyxeFosupGpkGFNOIzVAA3sjbVEsMKILrNuif55GO5lZ2y2NWUR4FucG/cveaW6Vwy8MYEw8oQnBk1M8O70pFhsI2tCrIzWLp7HAWu13vZhUGhwx/ONQ0qY8diA3xjPuEe92qKnIjUqw4v3wG777KOfr53JFmnhwhOzMYG+ILv9sHQFFeNp/cfEFG16gmJxo/eWpCyv0ZijQVZtqAomxGbqBV1pVpHhBW1+Y8cYchOwGwcKbzhN/Q0UdPf2pGtrd09XtHgMOUoYB4HcWx5q5J9yoYzgYUq+eUkh3SroObllVQkOv8f3rywOS2PV463uL9O94Uge0Ov4/dsMIrUPz4j15OODrbO+CchLBD3T56w4qE//cqfDSgmEb8GYrWNGcogjzhAVCYl0NxvlNTnI6AwmYogq6fsPwZhBMtqWlJbQsyIbwBhTFM+BTASAZiQwknPMKqIDfb64r45IHGSZ1cemKfE4BkCVy/Kjq9GcBpo//5t65DxOlL8f7/epGfbz/NHw41cdd/v8hj+5yx3xfNL+MD1ywNeLVqPBpQTCP+moZ0HR21AUWQPSgsu+2RjhoKr0tmWAIK3xO+/6hnMo41+XpQhOTIqLVmbnyfPJk6iv21HV6zp/WLwl1bcIObXWjs6JtUl1BbyLlx8ayELGVUvPWyBXzl7ZcgAt39Mf7qZzt5z3de4PmjTrbiyqWz+NGHrgzF1qMamwYU00hpQfwUcLozFEF2ybTS1X67dyDm1aDMDcmWR0JA0ZyamR4nQnhk1FpcUcQM9wkkmTqKl32nB9aHvFjxBl92YaKnPXbXtHHUDTBviNh2h9/tGxbw1Xdc4hVpWpvXVvO9P7uCkhBMh1Xj0z4U00hOdhalBTm09w6mr4bCDgYLwSsh23471UWZ/iOjYclQlBXmet0FU5ehcB4nTEdGrewsYdWcEl451ZqSgGJWUR5LKsJVeDrcgpmFXFBdzMH6Th7ceYa7b1wx7lHCH74Qb/b0lkvDPXlzPG+9bAGvXVnJiZZuBmOG4vwc1swtmRbHKc8XmqGYZmzKszUN8zyMMZy1GYoAe1BYXvvtjl6MSV23zNoQBhQQ35Y4lqKAwtZQLA3Zdoe1br5T87D7TBsDsamN9t5+wgko1i8qj8QTk+3NcLihk62+UeQjae8d4NevnAHgxtXVkZi8OZ6K4nzWL5rJFUtnsTaEXU3V2DSgmGbi7bdTH1C09w56DYLCkaFwAoregSE6+1LXyKu+PTxNrfyWutse/mLKqTLGcMKtoQhbQaZl+yk4o70nn6Vo6Oj1RpZfFvL6CesdGxeS705b/f5zJ8a89lc7auh2T/y856poTN5U05sGFNNMmftE35aGLQ9/D4ow1FCkqxdFYoYiPK/6FrtP/PXtfUkfpWz2HRldHNKtgI2L/aO9Jz+J8+UTrd77YS/ItGYW5fHmS5ytiy176zgzSiMzYww/eN4JOBbOmsFrV0brdIeaniIRUIhIvoj8u4g0iUiXiDwoImOOqBORT4nISyLSLiKNIvKQiKwbds13RcQMe3s+vV9NeqUzQxG+gCI97bdtD4qS/PjR1DBIODqaZGGmf9skrFseC2bO8IJGu3UxGbZ+IjtLuGRheEaWj+f9Vy8BnBb6P3rh5IjXvHT8LAfrnfkk77picVrm9ig1WZEIKICvAbcD7wSuBUqB34jIWJVk1wPfAK4GbgQGgcdEZNaw6x4D5vrebk3lwjPNHh1NR1Fm6AKKNLXfthmK6hBtd0DiE3+yhZmH6uNTLVdUhbN7pIiw0Z3EaUd7T8bLbhCyZm4JhXnhCQzHs25+GesXlQPw4xdP0juQ2MhsMDbEl36/H4DcbOEdGyc2/lupdAt9QCEiZcAHgL8xxjxqjHkZeC9wMXDzaB9njHmdMea/jTG7jTGvuh9TCbxm2KV9xpg639vkc6shUjbDyVC09w4yOMVCttGcDVtAkaZumXaOR5jqJyCxV8SxJOsoDjU4vR3yc7JYMDOcWx4AG9xtj8aOPk61TLzteP/gELtqnBkeUdnu8LNZiuaufv7u57sSgql/fewg29xg6d1XLqYixZN2lZqq0AcUwAYgF9hibzDGnAL24WQfJqoE5+sdnju9RkQaROSgiHxbRKJ7mJvE+RptKT7p0RyygKJsRq53bj2VNRT22OickPSgsEoLcr0OpanKUKyoKg5tO2qAjb7eEdtOTDzW33Omjf5BJ6COyrAsv1svmsvlbnbm16+c4V8fOwQ4g7K+8dQRwJl38vd/sjqwNSo1XBQCijlADBg+MafevW+i7gFeAbb6bvs98D7gJuCvgCuAJ0RkxJBfRD4sIttEZFtjY+MkPnXmJMzzSHFAYbtv5uVkef33gyQiXnMr/8mMZAzEhmjsdIKTsGUoIF5AebwpuRoKm6FYGdLtDmvtvFKvwdW2SdRRvHgsHnxEMUORm53F/33vRq93xr89fohL/2kL7/uvFzEGZuRm8x/vWq/dI1WoBBZQiMjnRiiIHP52fYo+11eBa4DbjTHehqQx5ifGmAeNMa8aYx4C/gRYBbxhpMcxxtxrjNlojNlYWRnOqurEeR6praNo7ozP8QjL+XDbJ8J/MiMZDR192OxymE54WHbbI5mjo209A9S7Rawrq8M9Cjo3O8srqNx+fOIBhe00uWhWIQtmhu/fcSJmFeXx3396hfd/2t/99nO3rQtt7Ys6fwVZqfQ14AfjXHMSuArIBmYD/rRANfDseJ9ERP4VuBO4wRhzdKxrjTFnROQ0sHK8xw2rxImj6clQzAxBDwprrhdQpGasd53vceaUhW9v2vaiaOjoo6tvkKIpnEI53BCfjXFByAMKgMuXzOL5oy0cbOigrWfAqxMaTVv3gJfNuGlNVWiC36lYOruI+/7sSr71zBFKC3JZOGsGm5ZVRKavhjq/BBZQGGOaOHcb4xwish0YADYDP3JvWwCsAZ4b52PvAe7ACSb2T+BzzQbmA7XjXRtW/hqKVB8dtTUUFSHokmnZ7oD1bX0MDZmkj8/VtcVrMeaUhu+Vrb8w83hzFxfOm/xxyIO+Ex5h3/KAeA2EMbD9RAs3rq4e8/qnDjYQcxuw3bxm7Guj4KIFZXz9XeuDXoZS4wp9DYUxpg34DvAlEblZRC4D7gN24Rz5BEBE9ovIx31//zrwp8C7gLMiMsd9K3bvLxaRr4jIJhFZ4m6vPAQ0AL/M0JeXcuUz/BmK1G552FMeYcxQ9MeGEopGp8qf6QhjDUXi1NGp1VHYgsz8nCwWzgrvCQ9r/eKZ5GY7geKje+vHvf5xd5x3SX4Oly8ZfkpcKZUuoQ8oXJ/AeZK/H/gj0Am8yV8PgVP7MNv394/inOx4HCfjYN/+2r0/BlwE/Bo4CHwPOABsMsZMfV5ywEoKcrAv0lO95RGmSaPWXF+dQyq2PewJj/ycrIR6lLDwN7c61tQ5xpWjswWZyyvDfcLDKi3I5Vq3E+TDu+vGnOsxEBviqQNOQPHaCyrJy4nKrziloi8S3V6MMX3A3e7baNfIWH8f4foe4HUpWWCIZGUJZTOcqZStPanLUPQNxrx5GWEKKOaVx7MIZ1p7uTjJHj81bqvj+eUzQrn3XlKQS3VpPvXtfRyon1pAcbDeCSguqA7/dof1pkvm8sT+Blq7B/jD4SZuWDXy6e7tJ87S3uv8nN60JtInwJWKHA3fpyG7JZHKGoqzXfHHClNAkeoMhR0mNT/EJwPWznWmcE5lrHeUTnj43bym2hua9dDOM6Ne9/g+Z0skS+D6UYIOpVR6aEAxDZV5x8xSl6EIW9ttq6Ioz2tulYqjo6fPOnUJYe4eucYNKI42dp7Tlnk8/hMeUSjItEoKcrlxtRMgbNlTP+LXPTRkvBqL9YtmhurnVKnzgQYU01B8nkfqMhRhDSiyssTrRTHaZMaJ6uwb9LI6Ye5dYAOKIRPfvpgo/wyPKBwZ9XuTO4Wzs2+Qpw6c21jud7trOe4OTXv9usn0vFNKpYIGFNPQSI1wktXSHc6AAvy9KJLLUNScjQckUQgoAPaemdy2x8GInfDwu2FVldeh9aFdidseg7EhvvroQcD5+bzzikUZX59S5zsNKKYhe3Q0pVsenfH+DGELKGwvitokMxR2uwPCHVAsnV1EQa7zX3eydRRRO+HhNyMvm81rnb4Sv3u1lj8cirex+eWOGo42Ot1DP3r98lCNnVfqfKEBxTRkm1t19ce8AUnJavFlO8rH6VSYaTZDUd/R5zU0morTCRmK8L56z84SVrnbFftqJ77lMTRk2HXamcDpz3JEycdvWEFBbhbGwCfu30F9ey99gzHuedwZnlVdms97rloc8CqVOj9pQDENJczzSNHR0ZauPu+xc7LD9WMz181QxIYMDR1T3/awGYq87CwqQz4Seu0896RHXXvCaOuxHGvu8ibQrl9cnq6lpdXK6hI+d9tFADR19vPOe5/nNV98wgsG775xpQ7MUiog4XpmUCmRjnke9tjorBB1ybTm+TpaJlNH4fWgmDkj6Rbe6WYzDB29gwmZlbHsONnqvX/ZwujOgnj7hgW8Y6PTcORoUxdN7tC6C+eV8o6NC4NcmlLnNd1onIYSJ46mJqBodjMUYaufgGG9KFp7YYr1ePaJOcz1E5Z/y2JfbfuECix3nHQGZs3IzY5UU6uRfPbN6zjW1MXLJ1t5zYrZvPHiubzx4rnaGVOpAGlAMQ35Z220pGC+BcQzFDNDGFD4u2Um09wqSgHF6jnxI5/7aju45cLxj0naDMXFC8pCt201WTPysrn/w5sYMibyX4tS04X+T5yG/NNAUxVQ2MFbYdzyKJuRywx33/xM69S2PLr6Br3vVZgLMq0Sd5Q1TOykR3f/IPvrnOumy+jrrCzRYEKpENH/jdOQf1ui2Xfcc6piQ8YryqwsCV+xooj4elFMLUNR4ztyOr88/BkKgDVz4oWZ49l1ug17AOayReVpXJVS6nylAcU0lJ+TTYl7Dj8VI71buvq9J6MwBhQAc91tjzNTLMqMSg8KP3vS40Rz97g9RxILMsvTuCql1PlKA4ppym57NKUgQ9HYEX+M2SE9TmkLM6fa3CoqPSj8rlgyy3v/WV+Tp5HYgsz55TOoKi0Y81qllJoKDSimqQr3ib+5M/kMRaMvKAlrhsIeHW3s7JtSMy8bUORmC1Uh/RqH27BkpteK+umD5862sIwx7DjVCuh2h1IqfTSgmKYq3DoKe9wzGU0d4Q8obHMrY6C+ffLbHnaOx/zy8PegsPJzsrl6eQXgBBSjNbiqae3xskzTpSBTKRU+GlBMU+dbhsJf93CqpXuMK0cWhbHlI7nugkrA2ZYarQ23fztEMxRKqXTRgGKamu3WULR09yc13wLiNRQFuVkU5YWzrfGSiiLv/WPNXZP++Cj1oPC77oIq7/2nDjaMeM0vd9QAUFWSzyULyjOxLKXUeUgDimnKbnkYk/zUUVvYWVmSj0g4twPmlc/wuiQea5xcQNHdP+idholaQLGoopBls51g6ukD59ZRnGrp5sVjLQC85dJ5kZswqpSKDg0opqkK32mMZI+O2gxFmAdmZWcJSyqc7Yrjk8xQHGuKXz+RFtZh81p322P7ibN09Ca2Wn9w5xnv/dsum5/RdSmlzi8aUExT/m6ZyR4dtQFFWI+MWnbb42jT5AKKww2d3vvLK6M34+L6VU5AMThkeO5Is3e7MYZfvHwagFXVJayN6MhypVQ0aEAxTfmf/JMtzGzsDG+XTL+llU5Acaqlm8HYxI+OHnEDCpFoBhRXLasg393u+c6zx7yamd017Rxxt3/eun5+aLerlFLTgwYU01RFitpv9w8OeRNLQx9QuBmKgZhJaKU9nsONTkCxYOYMZoS06HQsBbnZvPMKZ8Tqi8db+M9nj2KM4UcvngCcQOktl84LcolKqfOABhTTVHlhHvYFaTI1FP4+FqEPKGb7TnpMYtvDbnmsiGB2wvrb16/yvv5/2XKQP/3uS/z4xVMAbFpWkTDiXSml0kEDimkqO0u8yaBNSWx5RKHttjWVgGIwNuRdu6IqugFFYV4O//KOS8gS6I8N8ZR74qOqJJ9Pv2FtwKtTSp0PNKCYxmxhZjJbHk0RaGplVZbke30yjk8woDjZ0s1AzKk5iHJAAbB+0Uw+dsMK7++3rK3m9594rTdETCml0ikn6AWo9Kkoygc6k9ry8GcownxsFJwx5ktmF7HnTPuET3oc8p3wWFFVkq6lZcwnbr6AhTMLKS/MZfPaai3EVEpljAYU01gqMhSNEZjj4bfUDSgmuuVxOCGgiHaGApytrndcvjDoZSilzkO65TGNzU7BPA8bUJTk51CQG/4TELaOoqa1h77B2LjX2yOjlSX5lM3ITevalFJqOtOAYhqzR0c7+gYn9OQ6ElvQGYXsBMQDCmPgZPP4Q8LskdEon/BQSqkw0IBiGvO3326ZYh1FVLpkWksmcdLDGONlKFZWa0ChlFLJiERAISL5IvLvItIkIl0i8qCILBjnYz4jImbYW92wa8S97oyI9IjIUyJyYXq/mszxt9+e6rZHVLpkWssmEVDUtvXS1e9kbqZD/YRSSgUpEgEF8DXgduCdwLVAKfAbERlvU/8AMNf3dtGw+/8W+CvgbuByoAF4VESiX+5PfIQ5TH2eR1NHtAKK8sI8ygudWojxhoQlFGTqlodSSiUl9AGFiJQBHwD+xhjzqDHmZeC9wMXAzeN8+KAxps735s13Fuc83SeALxpjfm6M2Q28HygB3pWOryXTnGOjjqlkKHr6Y3T0DQLRCSggPo9jb23HmNcdmmYnPJRSKkihDyiADUAusMXeYIw5BewDrh7nY5e52xnHROQnIrLMd99SYM6wx+0BnpnA40bCLP+WR9fkMxT+rIY/2xF2ly0sB2BPTRs9/aMXox5ucAKOkoKcSAVMSikVRlEIKOYAMaBp2O317n2jeQG4C3g98CH32udEpML3uPZxJvS4IvJhEdkmItsaGxtHuiRUSvJzyMt2/omnkqFoiFgPCmvjkpmAM8575+nWUa978VgLAOvmlWkDKKWUSlJgAYWIfG6Eosnhb9dP9fGNMQ8bY35qjNlljHkMeCPO1/v+JB7zXmPMRmPMxsrKyqk+TMaIiFeYOZV5Hgltt4sLUraudNuweJb3/rbjLSNe09De64323rS8YsRrlFJKTVyQnTK/BvxgnGtOAlcB2cBswJ8WqAaenegnM8Z0isgeYKV7kz3xUe1+Hv/jJpwGibKK4jxq23qntOWRMBisJDpbHpUl+SydXcSxpi5eOn52xGu2Hm323teAQimlkhdYQGGMaeLcbYxziMh2YADYDPzIvW0BsAZ4bqKfT0QKgNXAk+5Nx3ACh83AS75rrgX+ZqKPG3a2MHMqpzzq2noByJLo9KGwNiyeybGmLl4+cZbYkCE7K3FL43k3oJiRm80lC8oDWKFSSk0voa+hMMa0Ad8BviQiN4vIZcB9wC7gMXudiOwXkY/7/v4VEblORJaKyJXAA0AR8D33cQ1OluTvRORtIrIO+C7QiRu4TAe29qGhffIBxZnWHgCqSwvIzQ79j0qCy906io6+QQ7Wn3vaY+sRJ6DYuGQmeTnR+tqUUiqMojIc7BPAIHA/MAN4HHifMcZfwr8KZ1vEWgD8mPhWyfPAVcaYE75rvuQ+3teBmTiFnLcYY8Y+bxgh88qc2ofGzj76B4cm9eRZ4wYU88pnpGVt6bRxSWIdxZq58RHetW09HHfbcl+1TLc7lFIqFSIRUBhj+nCaT909xjUy7O93TuBxDfAZ921amusGA8ZAfXsvC2cVTvhjz7RFN6BYNruIWUV5tHT189Lxs7x30xLvPpudAK2fUEqpVNFc7zTnDwbsFsZExIaMV0Mxrzw6JzwsEWHDYmfbY/uJxMJMWz9RlJfNRfPLMr42pZSajjSgmObslgc4sysmqqmzj4GYAWB+BDMUEK+jqGntSZg8ak94XL50VuRqQ5RSKqz0t+k0N9efoWibeIaixpfNmFcWzYDi6uXxkpp/fngf4Gx3nGpxvrZNWj+hlFIpowHFNFecn0NJgVMqU9s68QyFf3skijUUAOvml/GGi+cC8PDuOr77x2Pc/eMdAOTlZPH6dWM1WlVKKTUZGlCcB+yWRe0kMhT+gCKqWx4An33zhcx0p49+5qG9Xj+O//2WC1lcUTTWhyqllJoEDSjOA3PdOoqaSWUonGuL8rIpnRGJw0Ajml2czz++6cKE2+68fCF3XL4ooBUppdT0pAHFeWDuFDIU/h4UUR+c9ZZL53HzmmoALl5QxmfefOE4H6GUUmqyovvSU02YPenR2j1AT3+MGXnZ437MmQg3tRpORPj6uy/jD4ea2LS8goLc8b9+pZRSk6MZivPA3LLJn/SYTgEFQH5ONjetqaYwT2NopZRKBw0ozgOTbW7V3T/I2e4BAOZHsKmVUkqpzNOA4jzg73Q5kaOjZ3zXTJcMhVJKqfTSgOI8MMfXLXMiWx7ToQeFUkqpzNKA4jyQn5PN7OI8YKIZiunRg0IppVTmaEBxnrCZhslkKESgulRrKJRSSo1PA4rzhG1uNZGiTNsAq7qkgLwc/RFRSik1Pn22OE/Yo6O1bb0YY8a8Nn5kVLMTSimlJkYDivOEDQ66+2O09wyOea3dFtGCTKWUUhOlAcV5Yt4Ex5gPxoa8wk0NKJRSSk2UBhTnCX+3zLFmehxv7qI/NgTAiqritK9LKaXU9KABxXliwcx4QHGsqXvU6/bWdnjvr51bmtY1KaWUmj40oDhPVJXkM7MwF4B9te2jXrffvS9LNEOhlFJq4jSgOE+ICGvnORmHvWfGCCjqnAzFsspincqplFJqwjSgOI/YLYxDDR30Dw6NeI3NUKyeU5KxdSmllIo+DSjOIzZDMRAzHG7oPOf+tu4BzrQ5JzzWaP2EUkqpSdCA4jyydm6Z9/7eEeoo9tfFb9MMhVJKqcnQgOI8sqyyyGulPVIdha2fAFitGQqllFKToAHFeSQ3O4tV1U7mYW9t2zn32wxFSUEO88q07bZSSqmJ04DiPGMLM/eeaT9npsc+twfFmjmliEjG16aUUiq6NKA4z9jCzPbeQWp8k0eHhgwH3C2P1XO1fkIppdTkaEBxnrEBBSTWUZxs6aZnIAbA6jlaP6GUUmpyNKA4z/hPb/hPevi7Z2qGQiml1GRFIqAQkXwR+XcRaRKRLhF5UEQWjPMxx0XEjPD2W981nxnh/rr0f0XBKSnIZdGsQiAxiHjuSDMAIniFm0oppdRERSKgAL4G3A68E7gWKAV+IyJj9Ya+HJjre1sPGOCnw647MOy6i1K58DCyhZnbT5ylu3+Qps4+frrtFADXrJhNUX5OkMtTSikVQaF/5hCRMuADwJ8aYx51b3svcAK4GXhkpI8zxjQOe5wPAO2cG1AMGmOmdVZiuBvXVPH7PXU0dfbz708cBqDPbcX9sRtWBLk0pZRSERWFDMUGIBfYYm8wxpwC9gFXT+QBxDkD+QHgB8aYnmF3LxORMyJyTER+IiLLUrTu0Lp9/QIuWVgOwLefOcr3nzsOwIbFM7ly6azgFqaUUiqyohBQzAFiQNOw2+vd+yZiM7AU+Paw218A7gJeD3zIfbznRKRipAcRkQ+LyDYR2dbY2DjSJZGQnSV8/rZ1ZAkMDhm6+p3THR+/YYX2n1BKKTUlgQUUIvK5UYom/W/Xp+jTfQh4yRiz03+jMeZhY8xPjTG7jDGPAW/E+Z68f6QHMcbca4zZaIzZWFlZmaKlBWPd/DLef/US7+9r55Zy/apof01KKaWCE2QNxdeAH4xzzUngKiAbmA340wLVwLPjfRIRqQLeAnxsvGuNMZ0isgdYOd6108EnN1/A0wcaOdHSzd++fpVmJ5RSSk1ZYAGFMaaJc7cxziEi24EBnG2LH7m3LQDWAM9N4FPdBfQBP57A5yoAVgNPTuBxI6+kIJeH7r6Gjt5B5ujsDqWUUkkIfQ2FMaYN+A7wJRG5WUQuA+4DdgGP2etEZL+IfNz/sW4x5geBnxhjOoc/toh8RUSuE5GlInIl8ABQBHwvfV9RuBTl52gwoZRSKmmhPzbq+gQwCNwPzAAeB95njIn5rlmFsy3idz3O9sV7RnncBTiZC7ud8jxwlTHmRKoWrpRSSp0PIhFQGGP6gLvdt9GuOacAwBjzJDBqYYAx5s6ULFAppZQ6z4V+y0MppZRS4acBhVJKKaWSpgGFUkoppZKmAYVSSimlkqYBhVJKKaWSpgGFUkoppZKmAYVSSimlkqYBhVJKKaWSpgGFUkoppZKmAYVSSimlkibGmKDXEEki0gikeubHbCYwgVWNSb+HydPvYfL0e5g8/R6mRqq/j4uNMZUj3aEBRYiIyDZjzMag1xFl+j1Mnn4Pk6ffw+Tp9zA1Mvl91C0PpZRSSiVNAwqllFJKJU0DinC5N+gFTAP6PUyefg+Tp9/D5On3MDUy9n3UGgqllFJKJU0zFEoppZRKmgYUSimllEqaBhQhICIfFZFjItIrIttF5Nqg1xQlIvJaEXlQRGpExIjIXUGvKWpE5FMi8pKItItIo4g8JCLrgl5XlIjIx0Rkl/s9bBeRrSLyhqDXFWXuz6URkf8Iei1RISKfcb9n/re6THxuDSgCJiJ3APcAXwAuA54DHhaRRYEuLFqKgd3AXwA9Aa8lqq4HvgFcDdwIDAKPicisIBcVMaeBvwPWAxuBJ4BficjFga4qokTkKuDDwK6g1xJBB4C5vreLMvFJtSgzYCLyArDLGPMh322HgAeMMZ8KbmXRJCKdwMeNMd8Nei1RJiLFQBtwmzHmoaDXE1Ui0gJ8yhjzf4NeS5SISBnwMvBB4B+B3caYjwe7qmgQkc8AbzfGZDzDqBmKAIlIHrAB2DLsri04rxSVCkoJzu+Hs0EvJIpEJFtE7sTJnj0X9Hoi6F6cF1VPBr2QiFomImfcrfSfiMiyTHzSnEx8EjWq2UA2UD/s9nrg5swvRynPPcArwNaA1xEpInIRzvesAOgE3mqMeTXYVUWLiHwIWAG8J+i1RNQLwF3AfqAK+DTwnIhcaIxpTucn1oBCKZVARL4KXANcY4yJBb2eiDkAXAqUAW8Hvici1xtjdge6qogQkVU49WTXGGMGgl5PFBljHvb/XUSeB44C7we+ms7PrQFFsJqAGFA97PZqICNVuUr5ici/AncCNxhjjga9nqgxxvQDh92/bheRy4G/BD4Q3KoiZRNO5naPiNjbsoHXishHgCJjTF9Qi4siY0yniOwBVqb7c2kNRYDcXz7bgc3D7tqM7ruqDBORe4B3AjcaY/YHvZ5pIgvID3oREfIrnBMJl/retgE/cd/vD2RVESYiBcBqoDbdn0szFMH7KnCfiLwI/BH4CDAP+Fagq4oQ90TCCvevWcAiEbkUaDHGnAxsYREiIl8H3gvcBpwVkTnuXZ3GmM7AFhYhIvJF4LfAKZyi1nfhHMfVXhQTZIxpBVr9t4lIF87/Zd02mgAR+QrwEHASp4biH4Ai4Hvp/twaUATMGHO/iFTgFM7MxemncKsx5kSwK4uUjYC/Gvyz7tv3cIqT1Pg+6v75+LDbPwt8JrNLiaw5wA/cP9tw+if8iTHmkUBXpc43C4Af42wdNQLPA1dl4jlF+1AopZRSKmlaQ6GUUkqppGlAoZRSSqmkaUChlFJKqaRpQKGUUkqppGlAoZRSSqmkaUChlFJKqaRpQKGUUkqppGlAoZSKFBH5sohosyilQkYDCqVU1FwBvBj0IpRSibRTplIqEkQkD+gEcn037zPGrA1oSUopH81QKKWiYhBnvDXAlTizb14T3HKUUn46HEwpFQnGmCERmQt0AC8ZTa8qFSqaoVBKRcllwE4NJpQKHw0olFJRcimwI+hFKKXOpQGFUipKLgF2Bb0IpdS5NKBQSkVJDrBaROaJSHnQi1FKxWlAoZSKkv8F3AmcBv454LUopXy0D4VSSimlkqYZCqWUUkolTQMKpZRSSiVNAwqllFJKJU0DCqWUUkolTQMKpZRSSiVNAwqllFJKJU0DCqWUUkolTQMKpZRSSiVNAwqllFJKJe3/BzlpEaR124VbAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "Omega = 8.0 # From 2.0\n", + "Gamma = 0.08 # From 0.02\n", + "system = oqupy.System(0.5 * Omega * sigma_x,\n", + " gammas=[Gamma],\n", + " lindblad_operators=[sigma_m])\n", + "params = oqupy.guess_tempo_parameters(system=system, # new system argument (optional)\n", + " bath=bath,\n", + " start_time=t_start,\n", + " end_time=t_end,\n", + " tolerance=0.01)\n", + "print(params)\n", + "dynamics = oqupy.tempo_compute(system=system,\n", + " bath=bath,\n", + " initial_state=initial_state,\n", + " start_time=t_start,\n", + " end_time=t_end,\n", + " parameters=params)\n", + "t, s_z = dynamics.expectations(sigma_z, real=True)\n", + "plt.plot(t, s_z)\n", + "plt.xlabel(r'$t$')\n", + "plt.ylabel(r'$\\langle\\sigma_z\\rangle$')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As both `dkmax` increased and `epsrel` decreased to accommodate the smaller `dt=0.03125`, the computation took far longer - over a minute compared to a few seconds at `dt=0.125` (it may now be worth investigating whether a larger `epsrel` can be used).\n", + "\n", + "With a `system` argument, `guess_tempo_parameters` uses the matrix norm of the system Hamiltonian and any Lindblad operators/rates to estimate a suitable timestep on which to resolve the system dynamics. This is compared to the `dt` required to meet the tolerance on error for the bath correlations, and the smaller of the two is returned. The description of the `TempoParameters` object indicates which part was 'limiting' i.e. required the smaller `dt`.\n", + "\n", + "Often it is not necessary to calculate the system dynamics on such a fine grid. For example, if one only needs to calculate the steady-state polarisation. Moreover, the undersampling is easy to spot and adjust by eye. Hence you may choose to not pass a `system` object to `guess_tempo_parameters`. However, note there are cases where not accounting for system frequencies can lead to more physical features being missed, namely when the Hamiltonian or Lindblad operators/rates are (rapidly) _time-dependent._" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### What sets dt, really?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The main error associated with `dt` is that from the Trotter splitting of the system propagators. In a simple (non-symmetrised) splitting, a basic requirement is\n", + "$$ [H_S(t) , H_E] dt \\ll \\left(H_S(t)+H_E\\right) dt^2. $$\n", + "In words: error arises from non-commutation between the system and bath coupling operator. This simply reflects the fact that in the discretisation of the path integral the splitting is made between the system and environment\n", + "Hamiltonians. In cases where $H_S$ commutes with $H_E$, such as the independent boson model, $dt$ can be arbitrarily large without physical error.\n", + "\n", + "Note `guess_tempo_parameters` does _not_ attempt to estimate the Trotter error, even when both `system` and `bath` objects are specified - another reason to be cautious when using the estimate produced by this function." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Further considerations\n", + "## Additional TempoParameters arguments\n", + "For completeness, there are a few other parameters that can be passed to the `TempoParameters` constructor:\n", + "- `subdiv_limit` and `liouvillian_epsrel`. These control the maximum number of subdivisions and relative error tolerance when integrating a time-dependent system Liouvillian to construct the system propagators. It is unlikely you will need to change them from their default values (`265`, `2**(-26)`)\n", + "- `add_correlation_time`. This allows one to include correlations _beyond_ `tcut` in the final bath tensor at `dkmax` (i.e., have your finite memory cutoff cake and eat it). Doing so may provide better approximations in cases where `tcut` is limited due to computational difficultly. See [[Strathearn2017]](http://dx.doi.org/10.1088/1367-2630/aa8744) for details.\n", + "\n", + "## Bath coupling degeneracies\n", + "The bath tensors in the TEMPO network are nominally $d^2\\times d^2$ matrices, where $d$ is the system Hilbert space dimension. \n", + "If there are degeneracies in the sums or differences of the eigenvalues of the system operator coupling to the environment, it is possible for the dimension of these tensors to be reduced.\n", + "\n", + "Specifying `unique=True` as an argument to `oqupy.tempo_compute`, degeneracy checking is enabled: if a dimensional reduction of the bath tensors is possible, the lower dimensional tensors will be used. We expect this to provide in many cases a significant speed-up without any significant loss of accuracy, although this has not been extensively tested (new in `v0.5.0`).\n", + "\n", + "## Mean-field systems\n", + "For calculating mean-field dynamics, there is an additional requirement on `dt` being small enough so not as to introduce error when integrating the field equation of motion between timesteps (2nd order Runge-Kutta). Common experience is that this is generally satisfied if `dt` is sufficiently small to avoid Trotter error. Still, you will want to at least inspect the field dynamics in addition to the system observables when checking convergence.\n", + "\n", + "Note that, for the purposes of estimating the characteristic frequency of a `SystemWithField` object, `guess_tempo_parameters` uses an arbitrary complex value $\\exp(i \\pi/4)$ for the field variable when evaluating the system Hamiltonian. This may give a poor estimation for situations where the field variable is not of order $1$ in the dynamics." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# PT-TEMPO\n", + "The above considerations for `tcut`, `dt` and `epsrel` all apply to a PT-TEMPO computation, with the following caveats:\n", + "\n", + "1. Convergence for a TEMPO computation does not necessarily imply convergence for a PT-TEMPO computation. This is important as it is often convenient to perform several one-off TEMPO computations to determine a good set of computational parameters to save having to construct many large process tensors. You can still take this approach, but must be sure to check for convergence in the PT-TEMPO computation when you have derived a reasonable set. \n", + "2. Similar to 1., the best possible accuracy of a TEMPO and PT-TEMPO computation may be different. In particular, there may be a trade-off of accuracy for overall reduced computation time when using the PT approach. We note that the error in PT-TEMPO has also been observed ([[FowlerWright2022]](https://doi.org/10.1103/PhysRevLett.129.173001)) to become unstable at very high precisions (small `epsrel`), i.e., there may be a higher floor for how small you can make `epsrel`.\n", + "3. The computational difficultly of constructing the PT may not be monotonic with memory cutoff `dkmax` (or `tcut`). In particular, the computational time may diverge _below_ a certain `dkmax`, a.k.a, the 'dkmax anomaly'. We highlight this counter-intuitive behaviour, which seems to occur at relatively high precisions (small `epsrel`) with short timesteps, because it may lead one to falsely believe the computation of a process tensor is not feasible. See below for a demonstration and the Supplementary Material of [[FowlerWright2022]](https://doi.org/10.1103/PhysRevLett.129.173001) for further discussion." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## The dkmax anomaly \n", + "We consider constructing a process tensor of 250 timesteps for the harmonic environment discussed in the [Mean-Field Dynamics](https://oqupy.readthedocs.io/en/latest/pages/tutorials/mf_tempo.ipynb) tutorial, but with a smaller timestep `dt=1e-3` ps and `epsrel=1e-8` than considered there. Note that the following computations are very demanding." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "alpha = 0.25 # Doesn't affect PT computation\n", + "nu_c = 227.9\n", + "T = 39.3\n", + "start_time = 0.0\n", + "\n", + "dt = 1e-3\n", + "epsrel = 1e-8 \n", + "end_time = 250 * dt # 251 steps starting from t=0.0\n", + "\n", + "correlations = oqupy.PowerLawSD(alpha=alpha,\n", + " zeta=1,\n", + " cutoff=nu_c,\n", + " cutoff_type='gaussian')\n", + "bath = oqupy.Bath(oqupy.operators.sigma(\"z\")/2.0, correlations)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We firstly set `dkmax=250` (or `None`), i.e., make no memory approximation:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--> PT-TEMPO computation:\n", + "100.0% 250 of 250 [########################################] 00:01:37\n", + "Elapsed time: 97.3s\n" + ] + } + ], + "source": [ + "params = oqupy.TempoParameters(dt=dt,\n", + " epsrel=epsrel,\n", + " dkmax=250)\n", + "\n", + "process_tensor = oqupy.pt_tempo_compute(bath=bath,\n", + " start_time=start_time,\n", + " end_time=end_time,\n", + " parameters=params)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Including the full memory didn't take too long, just over one and a half minutes on a modern desktop (AMD 6-Core\n", + "processor @4.7GHz, python3.6).\n", + "\n", + "What about if we now make a memory approximation, say only after `dkmax=225` timesteps:" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--> PT-TEMPO computation:\n", + "100.0% 250 of 250 [########################################] 00:08:04\n", + "Elapsed time: 484.6s\n" + ] + } + ], + "source": [ + "params = oqupy.TempoParameters(dt=dt,\n", + " epsrel=epsrel,\n", + " dkmax=225)\n", + "\n", + "process_tensor = oqupy.pt_tempo_compute(bath=bath,\n", + " start_time=start_time,\n", + " end_time=end_time,\n", + " parameters=params)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That was far slower (8 mins)! You can try `dkmax=200` - on my hardware the computation took half an hour; it may not be possible to complete the calculation `dkmax` much below this.\n", + "\n", + "In general, there may exist some `dkmax` value (here close to 250) below which the computational time grows quickly. On the other hand, for longer computations, e.g. a 500 step process tensor, increases of `dkmax` will eventually lead to increasing compute times again, although the dynamics will surely be converged with respect to this parameter well before then.\n", + "\n", + "The take-home message is to not discount that a stalling PT computation may in fact be possible with an increase in the memory length. In these situations one approach is to start with `dkmax=None` and work backwards to find the `dkmax` offering the minimum compute time (before the rapid increase)." + ] + } + ], + "metadata": { + "interpreter": { + "hash": "3306e98808c0871e8a1685f50cc307ae5b4a4a013844b10634a4efe89132c3fe" + }, + "kernelspec": { + "display_name": "oqupyDev", + "language": "python", + "name": "oqupydev" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.15" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": {}, + "version_major": 1, + "version_minor": 0 + } + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/tutorials/pt_gradient.ipynb b/tutorials/pt_gradient.ipynb index 0acfcce3..16ad658f 100644 --- a/tutorials/pt_gradient.ipynb +++ b/tutorials/pt_gradient.ipynb @@ -6,7 +6,7 @@ "source": [ "# PT Gradient\n", "\n", - "An example of how to compute the derivative of an objective function of the final state with respect to a set of system parameters or 'controls' using the OQuPy package. A more detailed explanation of the method can be found in the supplement [Butler2023] (https://arxiv.org/abs/2303.16002).\n", + "An example of how to compute the derivative of an objective function of the final state with respect to a set of system parameters or 'controls' using the OQuPy package. A more detailed explanation of the method can be found in the supplement [Butler2024] (https://doi.org/10.1103/PhysRevLett.132.060401).\n", "* [launch binder](https://mybinder.org/v2/gh/tempoCollaboration/OQuPy/HEAD?labpath=tutorials%2Fpt_gradient.ipynb) \n", "* [download the jupyter file](https://raw.githubusercontent.com/tempoCollaboration/OQuPy/main/tutorials/pt_gradient.ipynb)\n", "* read through the text below and code along" @@ -64,7 +64,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Contents \n", + "## Contents \n", "\n", "* [0. Introduction](#introduction)\n", "\n", @@ -82,7 +82,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Introduction\n", + "## Introduction\n", "\n", "\n", "\n", @@ -115,7 +115,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Example - Spin Boson Model\n", + "## Example - Spin Boson Model\n", "\n", "### 1. System Definition\n", "\n", @@ -405,7 +405,7 @@ ], "metadata": { "kernelspec": { - "display_name": "venv", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -419,9 +419,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.10.14" } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/tutorials/pt_tebd.ipynb b/tutorials/pt_tebd.ipynb index 4b5adfe6..c683041d 100644 --- a/tutorials/pt_tebd.ipynb +++ b/tutorials/pt_tebd.ipynb @@ -6,7 +6,7 @@ "source": [ "# Chains and PT-TEBD\n", "\n", - "An introduction on how to use the OQuPy package to compute the dynamics of a chain of open quantum systems using the process tensor approach to time evolving block decimation (PT-TEBD). We illustrate this by applying PT-TEBD to a 5-site XYZ Heisenberg spin chain. This method and example is explained in detail in [Fux2022] ([arXiv:2201.05529](https://arxiv.org/abs/2201.05529)).\n", + "An introduction on how to use the OQuPy package to compute the dynamics of a chain of open quantum systems using the process tensor approach to time evolving block decimation (PT-TEBD). We illustrate this by applying PT-TEBD to a 5-site XYZ Heisenberg spin chain. This method and example is explained in detail in [Fux2023] ([arXiv:2201.05529](https://arxiv.org/abs/2201.05529)).\n", "\n", "- [launch binder](https://mybinder.org/v2/gh/tempoCollaboration/OQuPy/HEAD?labpath=tutorials%2Fpt_tebd.ipynb) (runs in browser),\n", "- [download the jupyter file](https://raw.githubusercontent.com/tempoCollaboration/OQuPy/main/tutorials/pt_tebd.ipynb), or\n", @@ -107,7 +107,7 @@ "source": [ "### 1. Closed Heisenberg spin chain\n", "\n", - "Let's calculate the dynamics of a short XYZ Heisenberg spin chain with the same parameters as in [Fux2022]. Before we include any environment coupling we first consider the closed chain with the Hamiltonian\n", + "Let's calculate the dynamics of a short XYZ Heisenberg spin chain with the same parameters as in [Fux2023]. Before we include any environment coupling we first consider the closed chain with the Hamiltonian\n", "\n", "$$ H_\\mathrm{chain} = \\sum_{n=1}^N \\epsilon s_n^z\n", " + \\sum_{n=1}^{N-1} \\sum_{\\gamma \\in \\{x,y,z\\}}\n", @@ -172,7 +172,7 @@ "2. The Trotterization order `order` (currently only `1` and `2` are implemented), and\n", "3. The relative singular value truncation tolerance `epsrel`.\n", "\n", - "We describe details of the computation parameters in the supplemental material of [Fux2022]." + "We describe details of the computation parameters in the supplemental material of [Fux2023]." ] }, {